diff --git a/stage0/src/Lean/Parser/Do.lean b/stage0/src/Lean/Parser/Do.lean index 89cc36d061..bbb42a9d41 100644 --- a/stage0/src/Lean/Parser/Do.lean +++ b/stage0/src/Lean/Parser/Do.lean @@ -21,7 +21,7 @@ namespace Term def leftArrow : Parser := unicodeSymbol " ← " " <- " @[builtinTermParser] def liftMethod := parser!:0 leftArrow >> termParser -def doSeqIndent := many1Indent $ doElemParser >> optional "; " +def doSeqIndent := parser! many1Indent $ doElemParser >> optional "; " def doSeqBracketed := parser! "{" >> withoutPosition (many1 (doElemParser >> optional "; ")) >> "}" def doSeq := doSeqBracketed <|> doSeqIndent diff --git a/stage0/stdlib/Lean/Elab/Do.c b/stage0/stdlib/Lean/Elab/Do.c index b95aab559d..9c268449cf 100644 --- a/stage0/stdlib/Lean/Elab/Do.c +++ b/stage0/stdlib/Lean/Elab/Do.c @@ -13379,7 +13379,7 @@ lean_object* _init_l___private_Lean_Elab_Do_11__expandLiftMethodAux___main___clo _start: { lean_object* x_1; -x_1 = lean_mk_string("doId"); +x_1 = lean_mk_string("doIdDecl"); return x_1; } } diff --git a/stage0/stdlib/Lean/Parser/Do.c b/stage0/stdlib/Lean/Parser/Do.c index a618e2e1f9..aaf43b2e42 100644 --- a/stage0/stdlib/Lean/Parser/Do.c +++ b/stage0/stdlib/Lean/Parser/Do.c @@ -32,6 +32,7 @@ lean_object* l_Lean_Parser_many1Indent_parenthesizer(lean_object*, lean_object*, lean_object* l_Lean_Parser_Term_binderType_parenthesizer___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doDbgTrace_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__1; +lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; lean_object* l_Lean_Parser_doElemParser(lean_object*); lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__2; lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__1; @@ -186,6 +187,7 @@ extern lean_object* l_Lean_Parser_Term_if___elambda__1___closed__16; lean_object* l_Lean_Parser_ParserState_mkNode(lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doUnless_formatter___closed__7; lean_object* l_Lean_Parser_Term_doFor___closed__1; +lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__5; extern lean_object* l_Lean_Parser_darrow; lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__2; @@ -389,8 +391,10 @@ lean_object* l___regBuiltinParser_Lean_Parser_Term_doReturn(lean_object*); extern lean_object* l_Lean_Parser_Term_listLit_formatter___closed__2; lean_object* l_Lean_Parser_Term_doReturn_parenthesizer___closed__3; lean_object* l_Lean_Parser_Term_doIdDecl_parenthesizer___closed__6; +lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__2; lean_object* l_Lean_Parser_Term_doIdDecl___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_doAssert_parenthesizer___closed__1; +lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4; extern lean_object* l_Lean_Parser_Term_structInst_formatter___closed__2; lean_object* l___private_Lean_Parser_Basic_2__sepByFnAux___main___at_Lean_Parser_Term_doMatchAlts___elambda__1___spec__2___boxed(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_do___closed__2; @@ -439,6 +443,7 @@ lean_object* l_Lean_Parser_Term_doDbgTrace___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_doIf_formatter___closed__9; lean_object* l_Lean_Parser_Term_doHave_formatter___closed__2; lean_object* l_Lean_Parser_Term_doBreak_formatter___closed__3; +lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__1; lean_object* l_Lean_Parser_Term_doLetArrow_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_doMatchAlts___elambda__1___closed__6; lean_object* l_Lean_Parser_Term_doBreak___elambda__1___closed__3; @@ -496,6 +501,7 @@ extern lean_object* l_Lean_Parser_Term_assert___elambda__1___closed__6; lean_object* l_Lean_Parser_Term_doCatchMatch___closed__6; lean_object* l_Lean_PrettyPrinter_Formatter_unicodeSymbol_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doCatch___elambda__1___closed__3; +lean_object* l_Lean_Parser_Term_doSeqIndent___closed__8; lean_object* l___regBuiltin_Lean_Parser_Term_doHave_formatter___closed__1; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__2; extern lean_object* l_Lean_Parser_many1Indent_formatter___closed__1; @@ -519,6 +525,7 @@ lean_object* l_Lean_Parser_Term_doFor___elambda__1___closed__1; lean_object* l_Lean_Parser_Term_doDbgTrace_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_doUnless___elambda__1___closed__8; lean_object* l_Lean_Parser_Term_doReassignArrow_parenthesizer___closed__3; +lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3; lean_object* l_Lean_Parser_doElemParser_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); extern lean_object* l_Char_HasRepr___closed__1; lean_object* l_Lean_Parser_Term_doReassign___closed__3; @@ -548,6 +555,7 @@ lean_object* l_Lean_Parser_Term_doMatch_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doReturn___elambda__1___closed__4; lean_object* lean_name_mk_string(lean_object*, lean_object*); +lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; lean_object* l_Lean_Parser_Term_doContinue___closed__4; extern lean_object* l_Lean_Parser_Term_match___closed__2; lean_object* l_Lean_Parser_Term_doPatDecl_formatter___closed__4; @@ -729,6 +737,7 @@ extern lean_object* l_Lean_Parser_Term_let_formatter___closed__4; lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__23; lean_object* l_Lean_Parser_Term_doCatch_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__9; +lean_object* l_Lean_Parser_Term_doSeqIndent___closed__6; lean_object* l_Lean_Parser_Term_doFor___closed__6; lean_object* l_Lean_Parser_Term_doIf_parenthesizer___closed__16; lean_object* l___regBuiltin_Lean_Parser_Term_doDbgTrace_formatter(lean_object*); @@ -772,6 +781,7 @@ lean_object* l_Lean_Parser_Term_doSeqIndent; lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1(lean_object*, lean_object*); lean_object* l___regBuiltin_Lean_Parser_Term_do_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_liftMethod_parenthesizer___closed__4; +lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2; lean_object* l_Lean_Parser_Term_do___closed__7; lean_object* l_Lean_Parser_Term_leftArrow___elambda__1___closed__3; lean_object* l_Lean_Parser_Term_doSeqBracketed___closed__6; @@ -808,6 +818,7 @@ lean_object* l_Lean_Parser_Term_doMatchAlts___closed__7; lean_object* l_Lean_Parser_Term_do_formatter(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doBreak___closed__6; extern lean_object* l_Lean_Parser_Term_let___elambda__1___closed__1; +lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1; lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doCatch___closed__5; lean_object* l_Lean_Parser_Term_doCatch_parenthesizer___closed__5; @@ -969,6 +980,7 @@ lean_object* l_Lean_Parser_Term_doMatchAlt___closed__2; lean_object* l_Lean_Parser_Term_doTry___closed__12; lean_object* l_Lean_Parser_Term_doIf_formatter___closed__7; lean_object* l_Lean_Parser_Term_doUnless___closed__5; +lean_object* l_Lean_Parser_Term_doSeqIndent___closed__7; lean_object* l_Lean_Parser_Term_doFinally_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_notFollowedByRedefinedTermToken___elambda__1___closed__18; extern lean_object* l_Lean_Parser_Term_tupleTail_formatter___closed__2; @@ -1013,6 +1025,7 @@ extern lean_object* l_Lean_Parser_Term_matchAlt_formatter___closed__1; extern lean_object* l_Lean_Parser_Term_matchAlts___closed__5; lean_object* l___regBuiltinParser_Lean_Parser_Term_doMatch(lean_object*); lean_object* l_Lean_Parser_Term_doTry_formatter___closed__12; +lean_object* l_Lean_Parser_Term_doSeqIndent_formatter___closed__3; lean_object* l_Lean_Parser_Term_doContinue_parenthesizer(lean_object*, lean_object*, lean_object*, lean_object*, lean_object*); lean_object* l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__7; lean_object* l_Lean_Parser_Term_optIdent___elambda__1(lean_object*, lean_object*); @@ -2149,417 +2162,1213 @@ goto block_16; } } } +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1() { +_start: +{ +lean_object* x_1; +x_1 = lean_mk_string("doSeqIndent"); +return x_1; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_mkAppStx___closed__6; +x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; +x_3 = lean_name_mk_string(x_1, x_2); +return x_3; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_2 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; +x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3; +x_3 = 1; +x_4 = l_Lean_Parser_mkAntiquot(x_1, x_2, x_3); +return x_4; +} +} lean_object* l_Lean_Parser_Term_doSeqIndent___elambda__1(lean_object* x_1, lean_object* x_2) { _start: { -uint8_t x_3; -x_3 = !lean_is_exclusive(x_1); -if (x_3 == 0) +lean_object* x_3; lean_object* x_4; uint8_t x_5; +x_3 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4; +x_4 = lean_ctor_get(x_3, 1); +lean_inc(x_4); +lean_inc(x_2); +lean_inc(x_1); +x_5 = l_Lean_Parser_tryAnti(x_1, x_2); +if (x_5 == 0) { -lean_object* x_4; lean_object* x_5; lean_object* x_6; lean_object* x_7; lean_object* x_8; lean_object* x_9; lean_object* x_10; lean_object* x_11; lean_object* x_12; lean_object* x_20; uint8_t x_21; -x_4 = lean_ctor_get(x_1, 0); -x_5 = lean_ctor_get(x_1, 4); -lean_dec(x_5); -x_6 = lean_ctor_get(x_4, 2); -lean_inc(x_6); -x_7 = lean_ctor_get(x_2, 1); -lean_inc(x_7); -x_8 = l_Lean_FileMap_toPosition(x_6, x_7); -lean_dec(x_6); +lean_object* x_6; lean_object* x_7; lean_object* x_8; +lean_dec(x_4); +x_6 = lean_unsigned_to_nat(1024u); +x_7 = l_Lean_Parser_checkPrecFn(x_6, x_1, x_2); +x_8 = lean_ctor_get(x_7, 3); lean_inc(x_8); -x_9 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_9, 0, x_8); -lean_ctor_set(x_1, 4, x_9); -x_10 = lean_ctor_get(x_2, 0); -lean_inc(x_10); -x_11 = lean_array_get_size(x_10); -lean_dec(x_10); -x_20 = lean_ctor_get(x_8, 1); -lean_inc(x_20); -lean_dec(x_8); -x_21 = lean_nat_dec_le(x_20, x_20); -lean_dec(x_20); -if (x_21 == 0) +if (lean_obj_tag(x_8) == 0) { -lean_object* x_22; lean_object* x_23; lean_object* x_24; lean_object* x_25; -lean_dec(x_1); -x_22 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; -x_23 = l_Lean_Parser_ParserState_mkError(x_2, x_22); -x_24 = l_Lean_nullKind; -x_25 = l_Lean_Parser_ParserState_mkNode(x_23, x_24, x_11); -return x_25; -} -else +lean_object* x_9; lean_object* x_10; uint8_t x_11; +x_9 = lean_ctor_get(x_7, 0); +lean_inc(x_9); +x_10 = lean_array_get_size(x_9); +lean_dec(x_9); +x_11 = !lean_is_exclusive(x_1); +if (x_11 == 0) { -lean_object* x_26; -x_26 = lean_ctor_get(x_2, 3); -lean_inc(x_26); -if (lean_obj_tag(x_26) == 0) -{ -lean_object* x_27; lean_object* x_28; lean_object* x_29; lean_object* x_30; -x_27 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; -x_28 = lean_unsigned_to_nat(0u); -lean_inc(x_1); -x_29 = l_Lean_Parser_categoryParser___elambda__1(x_27, x_28, x_1, x_2); -x_30 = lean_ctor_get(x_29, 3); +lean_object* x_12; lean_object* x_13; lean_object* x_14; lean_object* x_15; lean_object* x_16; lean_object* x_17; lean_object* x_18; lean_object* x_30; uint8_t x_31; +x_12 = lean_ctor_get(x_1, 0); +x_13 = lean_ctor_get(x_1, 4); +lean_dec(x_13); +x_14 = lean_ctor_get(x_12, 2); +lean_inc(x_14); +x_15 = lean_ctor_get(x_7, 1); +lean_inc(x_15); +x_16 = l_Lean_FileMap_toPosition(x_14, x_15); +lean_dec(x_14); +lean_inc(x_16); +x_17 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_17, 0, x_16); +lean_ctor_set(x_1, 4, x_17); +x_30 = lean_ctor_get(x_16, 1); lean_inc(x_30); -if (lean_obj_tag(x_30) == 0) -{ -lean_object* x_31; lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_46; lean_object* x_47; -x_31 = lean_ctor_get(x_29, 0); -lean_inc(x_31); -x_32 = lean_array_get_size(x_31); -lean_dec(x_31); -x_33 = lean_ctor_get(x_29, 1); -lean_inc(x_33); -lean_inc(x_1); -x_46 = l_Lean_Parser_tokenFn(x_1, x_29); -x_47 = lean_ctor_get(x_46, 3); -lean_inc(x_47); -if (lean_obj_tag(x_47) == 0) -{ -lean_object* x_48; lean_object* x_49; -x_48 = lean_ctor_get(x_46, 0); -lean_inc(x_48); -x_49 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_48); -lean_dec(x_48); -if (lean_obj_tag(x_49) == 2) -{ -lean_object* x_50; lean_object* x_51; uint8_t x_52; -x_50 = lean_ctor_get(x_49, 1); -lean_inc(x_50); -lean_dec(x_49); -x_51 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; -x_52 = lean_string_dec_eq(x_50, x_51); -lean_dec(x_50); -if (x_52 == 0) -{ -lean_object* x_53; lean_object* x_54; -x_53 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; -lean_inc(x_33); -x_54 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_53, x_33); -x_34 = x_54; -goto block_45; -} -else -{ -x_34 = x_46; -goto block_45; -} -} -else -{ -lean_object* x_55; lean_object* x_56; -lean_dec(x_49); -x_55 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; -lean_inc(x_33); -x_56 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_55, x_33); -x_34 = x_56; -goto block_45; -} -} -else -{ -lean_object* x_57; lean_object* x_58; -lean_dec(x_47); -x_57 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; -lean_inc(x_33); -x_58 = l_Lean_Parser_ParserState_mkErrorsAt(x_46, x_57, x_33); -x_34 = x_58; -goto block_45; -} -block_45: -{ -lean_object* x_35; -x_35 = lean_ctor_get(x_34, 3); -lean_inc(x_35); -if (lean_obj_tag(x_35) == 0) -{ -lean_object* x_36; lean_object* x_37; -lean_dec(x_33); -x_36 = l_Lean_nullKind; -x_37 = l_Lean_Parser_ParserState_mkNode(x_34, x_36, x_32); -x_12 = x_37; -goto block_19; -} -else -{ -lean_object* x_38; uint8_t x_39; -lean_dec(x_35); -x_38 = lean_ctor_get(x_34, 1); -lean_inc(x_38); -x_39 = lean_nat_dec_eq(x_38, x_33); -lean_dec(x_38); -if (x_39 == 0) -{ -lean_object* x_40; lean_object* x_41; -lean_dec(x_33); -x_40 = l_Lean_nullKind; -x_41 = l_Lean_Parser_ParserState_mkNode(x_34, x_40, x_32); -x_12 = x_41; -goto block_19; -} -else -{ -lean_object* x_42; lean_object* x_43; lean_object* x_44; -x_42 = l_Lean_Parser_ParserState_restore(x_34, x_32, x_33); -x_43 = l_Lean_nullKind; -x_44 = l_Lean_Parser_ParserState_mkNode(x_42, x_43, x_32); -x_12 = x_44; -goto block_19; -} -} -} -} -else -{ +lean_dec(x_16); +x_31 = lean_nat_dec_le(x_30, x_30); lean_dec(x_30); -x_12 = x_29; -goto block_19; -} +if (x_31 == 0) +{ +lean_object* x_32; lean_object* x_33; lean_object* x_34; lean_object* x_35; lean_object* x_36; lean_object* x_37; +lean_dec(x_1); +x_32 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; +x_33 = l_Lean_Parser_ParserState_mkError(x_7, x_32); +x_34 = l_Lean_nullKind; +lean_inc(x_10); +x_35 = l_Lean_Parser_ParserState_mkNode(x_33, x_34, x_10); +x_36 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_37 = l_Lean_Parser_ParserState_mkNode(x_35, x_36, x_10); +return x_37; } else { +lean_object* x_38; lean_object* x_39; lean_object* x_40; lean_object* x_41; +x_38 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; +x_39 = lean_unsigned_to_nat(0u); +lean_inc(x_1); +x_40 = l_Lean_Parser_categoryParser___elambda__1(x_38, x_39, x_1, x_7); +x_41 = lean_ctor_get(x_40, 3); +lean_inc(x_41); +if (lean_obj_tag(x_41) == 0) +{ +lean_object* x_42; lean_object* x_43; lean_object* x_44; lean_object* x_45; lean_object* x_57; lean_object* x_58; +x_42 = lean_ctor_get(x_40, 0); +lean_inc(x_42); +x_43 = lean_array_get_size(x_42); +lean_dec(x_42); +x_44 = lean_ctor_get(x_40, 1); +lean_inc(x_44); +lean_inc(x_1); +x_57 = l_Lean_Parser_tokenFn(x_1, x_40); +x_58 = lean_ctor_get(x_57, 3); +lean_inc(x_58); +if (lean_obj_tag(x_58) == 0) +{ lean_object* x_59; lean_object* x_60; -lean_dec(x_26); -lean_dec(x_1); -x_59 = l_Lean_nullKind; -x_60 = l_Lean_Parser_ParserState_mkNode(x_2, x_59, x_11); -return x_60; -} -} -block_19: +x_59 = lean_ctor_get(x_57, 0); +lean_inc(x_59); +x_60 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_59); +lean_dec(x_59); +if (lean_obj_tag(x_60) == 2) { -lean_object* x_13; -x_13 = lean_ctor_get(x_12, 3); -lean_inc(x_13); -if (lean_obj_tag(x_13) == 0) -{ -lean_object* x_14; lean_object* x_15; lean_object* x_16; -x_14 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_1, x_12); -x_15 = l_Lean_nullKind; -x_16 = l_Lean_Parser_ParserState_mkNode(x_14, x_15, x_11); -return x_16; -} -else -{ -lean_object* x_17; lean_object* x_18; -lean_dec(x_13); -lean_dec(x_1); -x_17 = l_Lean_nullKind; -x_18 = l_Lean_Parser_ParserState_mkNode(x_12, x_17, x_11); -return x_18; -} -} -} -else -{ -lean_object* x_61; lean_object* x_62; lean_object* x_63; lean_object* x_64; uint8_t x_65; lean_object* x_66; lean_object* x_67; lean_object* x_68; lean_object* x_69; lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; lean_object* x_81; uint8_t x_82; -x_61 = lean_ctor_get(x_1, 0); -x_62 = lean_ctor_get(x_1, 1); -x_63 = lean_ctor_get(x_1, 2); -x_64 = lean_ctor_get(x_1, 3); -x_65 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); -lean_inc(x_64); -lean_inc(x_63); -lean_inc(x_62); +lean_object* x_61; lean_object* x_62; uint8_t x_63; +x_61 = lean_ctor_get(x_60, 1); lean_inc(x_61); -lean_dec(x_1); -x_66 = lean_ctor_get(x_61, 2); -lean_inc(x_66); -x_67 = lean_ctor_get(x_2, 1); -lean_inc(x_67); -x_68 = l_Lean_FileMap_toPosition(x_66, x_67); -lean_dec(x_66); -lean_inc(x_68); -x_69 = lean_alloc_ctor(1, 1, 0); -lean_ctor_set(x_69, 0, x_68); -x_70 = lean_alloc_ctor(0, 5, 1); -lean_ctor_set(x_70, 0, x_61); -lean_ctor_set(x_70, 1, x_62); -lean_ctor_set(x_70, 2, x_63); -lean_ctor_set(x_70, 3, x_64); -lean_ctor_set(x_70, 4, x_69); -lean_ctor_set_uint8(x_70, sizeof(void*)*5, x_65); -x_71 = lean_ctor_get(x_2, 0); -lean_inc(x_71); -x_72 = lean_array_get_size(x_71); -lean_dec(x_71); -x_81 = lean_ctor_get(x_68, 1); -lean_inc(x_81); -lean_dec(x_68); -x_82 = lean_nat_dec_le(x_81, x_81); -lean_dec(x_81); -if (x_82 == 0) +lean_dec(x_60); +x_62 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; +x_63 = lean_string_dec_eq(x_61, x_62); +lean_dec(x_61); +if (x_63 == 0) { -lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; -lean_dec(x_70); -x_83 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; -x_84 = l_Lean_Parser_ParserState_mkError(x_2, x_83); -x_85 = l_Lean_nullKind; -x_86 = l_Lean_Parser_ParserState_mkNode(x_84, x_85, x_72); -return x_86; +lean_object* x_64; lean_object* x_65; +x_64 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_44); +x_65 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_64, x_44); +x_45 = x_65; +goto block_56; } else { -lean_object* x_87; -x_87 = lean_ctor_get(x_2, 3); -lean_inc(x_87); -if (lean_obj_tag(x_87) == 0) +x_45 = x_57; +goto block_56; +} +} +else { -lean_object* x_88; lean_object* x_89; lean_object* x_90; lean_object* x_91; -x_88 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; -x_89 = lean_unsigned_to_nat(0u); +lean_object* x_66; lean_object* x_67; +lean_dec(x_60); +x_66 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_44); +x_67 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_66, x_44); +x_45 = x_67; +goto block_56; +} +} +else +{ +lean_object* x_68; lean_object* x_69; +lean_dec(x_58); +x_68 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_44); +x_69 = l_Lean_Parser_ParserState_mkErrorsAt(x_57, x_68, x_44); +x_45 = x_69; +goto block_56; +} +block_56: +{ +lean_object* x_46; +x_46 = lean_ctor_get(x_45, 3); +lean_inc(x_46); +if (lean_obj_tag(x_46) == 0) +{ +lean_object* x_47; lean_object* x_48; +lean_dec(x_44); +x_47 = l_Lean_nullKind; +x_48 = l_Lean_Parser_ParserState_mkNode(x_45, x_47, x_43); +x_18 = x_48; +goto block_29; +} +else +{ +lean_object* x_49; uint8_t x_50; +lean_dec(x_46); +x_49 = lean_ctor_get(x_45, 1); +lean_inc(x_49); +x_50 = lean_nat_dec_eq(x_49, x_44); +lean_dec(x_49); +if (x_50 == 0) +{ +lean_object* x_51; lean_object* x_52; +lean_dec(x_44); +x_51 = l_Lean_nullKind; +x_52 = l_Lean_Parser_ParserState_mkNode(x_45, x_51, x_43); +x_18 = x_52; +goto block_29; +} +else +{ +lean_object* x_53; lean_object* x_54; lean_object* x_55; +x_53 = l_Lean_Parser_ParserState_restore(x_45, x_43, x_44); +x_54 = l_Lean_nullKind; +x_55 = l_Lean_Parser_ParserState_mkNode(x_53, x_54, x_43); +x_18 = x_55; +goto block_29; +} +} +} +} +else +{ +lean_dec(x_41); +x_18 = x_40; +goto block_29; +} +} +block_29: +{ +lean_object* x_19; +x_19 = lean_ctor_get(x_18, 3); +lean_inc(x_19); +if (lean_obj_tag(x_19) == 0) +{ +lean_object* x_20; lean_object* x_21; lean_object* x_22; lean_object* x_23; lean_object* x_24; +x_20 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_1, x_18); +x_21 = l_Lean_nullKind; +lean_inc(x_10); +x_22 = l_Lean_Parser_ParserState_mkNode(x_20, x_21, x_10); +x_23 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_24 = l_Lean_Parser_ParserState_mkNode(x_22, x_23, x_10); +return x_24; +} +else +{ +lean_object* x_25; lean_object* x_26; lean_object* x_27; lean_object* x_28; +lean_dec(x_19); +lean_dec(x_1); +x_25 = l_Lean_nullKind; +lean_inc(x_10); +x_26 = l_Lean_Parser_ParserState_mkNode(x_18, x_25, x_10); +x_27 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_28 = l_Lean_Parser_ParserState_mkNode(x_26, x_27, x_10); +return x_28; +} +} +} +else +{ +lean_object* x_70; lean_object* x_71; lean_object* x_72; lean_object* x_73; uint8_t x_74; lean_object* x_75; lean_object* x_76; lean_object* x_77; lean_object* x_78; lean_object* x_79; lean_object* x_80; lean_object* x_92; uint8_t x_93; +x_70 = lean_ctor_get(x_1, 0); +x_71 = lean_ctor_get(x_1, 1); +x_72 = lean_ctor_get(x_1, 2); +x_73 = lean_ctor_get(x_1, 3); +x_74 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +lean_inc(x_73); +lean_inc(x_72); +lean_inc(x_71); lean_inc(x_70); -x_90 = l_Lean_Parser_categoryParser___elambda__1(x_88, x_89, x_70, x_2); -x_91 = lean_ctor_get(x_90, 3); -lean_inc(x_91); -if (lean_obj_tag(x_91) == 0) -{ -lean_object* x_92; lean_object* x_93; lean_object* x_94; lean_object* x_95; lean_object* x_107; lean_object* x_108; -x_92 = lean_ctor_get(x_90, 0); +lean_dec(x_1); +x_75 = lean_ctor_get(x_70, 2); +lean_inc(x_75); +x_76 = lean_ctor_get(x_7, 1); +lean_inc(x_76); +x_77 = l_Lean_FileMap_toPosition(x_75, x_76); +lean_dec(x_75); +lean_inc(x_77); +x_78 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_78, 0, x_77); +x_79 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_79, 0, x_70); +lean_ctor_set(x_79, 1, x_71); +lean_ctor_set(x_79, 2, x_72); +lean_ctor_set(x_79, 3, x_73); +lean_ctor_set(x_79, 4, x_78); +lean_ctor_set_uint8(x_79, sizeof(void*)*5, x_74); +x_92 = lean_ctor_get(x_77, 1); lean_inc(x_92); -x_93 = lean_array_get_size(x_92); +lean_dec(x_77); +x_93 = lean_nat_dec_le(x_92, x_92); lean_dec(x_92); -x_94 = lean_ctor_get(x_90, 1); -lean_inc(x_94); -lean_inc(x_70); -x_107 = l_Lean_Parser_tokenFn(x_70, x_90); +if (x_93 == 0) +{ +lean_object* x_94; lean_object* x_95; lean_object* x_96; lean_object* x_97; lean_object* x_98; lean_object* x_99; +lean_dec(x_79); +x_94 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; +x_95 = l_Lean_Parser_ParserState_mkError(x_7, x_94); +x_96 = l_Lean_nullKind; +lean_inc(x_10); +x_97 = l_Lean_Parser_ParserState_mkNode(x_95, x_96, x_10); +x_98 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_99 = l_Lean_Parser_ParserState_mkNode(x_97, x_98, x_10); +return x_99; +} +else +{ +lean_object* x_100; lean_object* x_101; lean_object* x_102; lean_object* x_103; +x_100 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; +x_101 = lean_unsigned_to_nat(0u); +lean_inc(x_79); +x_102 = l_Lean_Parser_categoryParser___elambda__1(x_100, x_101, x_79, x_7); +x_103 = lean_ctor_get(x_102, 3); +lean_inc(x_103); +if (lean_obj_tag(x_103) == 0) +{ +lean_object* x_104; lean_object* x_105; lean_object* x_106; lean_object* x_107; lean_object* x_119; lean_object* x_120; +x_104 = lean_ctor_get(x_102, 0); +lean_inc(x_104); +x_105 = lean_array_get_size(x_104); +lean_dec(x_104); +x_106 = lean_ctor_get(x_102, 1); +lean_inc(x_106); +lean_inc(x_79); +x_119 = l_Lean_Parser_tokenFn(x_79, x_102); +x_120 = lean_ctor_get(x_119, 3); +lean_inc(x_120); +if (lean_obj_tag(x_120) == 0) +{ +lean_object* x_121; lean_object* x_122; +x_121 = lean_ctor_get(x_119, 0); +lean_inc(x_121); +x_122 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_121); +lean_dec(x_121); +if (lean_obj_tag(x_122) == 2) +{ +lean_object* x_123; lean_object* x_124; uint8_t x_125; +x_123 = lean_ctor_get(x_122, 1); +lean_inc(x_123); +lean_dec(x_122); +x_124 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; +x_125 = lean_string_dec_eq(x_123, x_124); +lean_dec(x_123); +if (x_125 == 0) +{ +lean_object* x_126; lean_object* x_127; +x_126 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_106); +x_127 = l_Lean_Parser_ParserState_mkErrorsAt(x_119, x_126, x_106); +x_107 = x_127; +goto block_118; +} +else +{ +x_107 = x_119; +goto block_118; +} +} +else +{ +lean_object* x_128; lean_object* x_129; +lean_dec(x_122); +x_128 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_106); +x_129 = l_Lean_Parser_ParserState_mkErrorsAt(x_119, x_128, x_106); +x_107 = x_129; +goto block_118; +} +} +else +{ +lean_object* x_130; lean_object* x_131; +lean_dec(x_120); +x_130 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_106); +x_131 = l_Lean_Parser_ParserState_mkErrorsAt(x_119, x_130, x_106); +x_107 = x_131; +goto block_118; +} +block_118: +{ +lean_object* x_108; x_108 = lean_ctor_get(x_107, 3); lean_inc(x_108); if (lean_obj_tag(x_108) == 0) { lean_object* x_109; lean_object* x_110; -x_109 = lean_ctor_get(x_107, 0); -lean_inc(x_109); -x_110 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_109); -lean_dec(x_109); -if (lean_obj_tag(x_110) == 2) -{ -lean_object* x_111; lean_object* x_112; uint8_t x_113; -x_111 = lean_ctor_get(x_110, 1); -lean_inc(x_111); -lean_dec(x_110); -x_112 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; -x_113 = lean_string_dec_eq(x_111, x_112); -lean_dec(x_111); -if (x_113 == 0) -{ -lean_object* x_114; lean_object* x_115; -x_114 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; -lean_inc(x_94); -x_115 = l_Lean_Parser_ParserState_mkErrorsAt(x_107, x_114, x_94); -x_95 = x_115; -goto block_106; +lean_dec(x_106); +x_109 = l_Lean_nullKind; +x_110 = l_Lean_Parser_ParserState_mkNode(x_107, x_109, x_105); +x_80 = x_110; +goto block_91; } else { -x_95 = x_107; -goto block_106; -} -} -else -{ -lean_object* x_116; lean_object* x_117; -lean_dec(x_110); -x_116 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; -lean_inc(x_94); -x_117 = l_Lean_Parser_ParserState_mkErrorsAt(x_107, x_116, x_94); -x_95 = x_117; -goto block_106; -} -} -else -{ -lean_object* x_118; lean_object* x_119; +lean_object* x_111; uint8_t x_112; lean_dec(x_108); -x_118 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; -lean_inc(x_94); -x_119 = l_Lean_Parser_ParserState_mkErrorsAt(x_107, x_118, x_94); -x_95 = x_119; -goto block_106; -} -block_106: +x_111 = lean_ctor_get(x_107, 1); +lean_inc(x_111); +x_112 = lean_nat_dec_eq(x_111, x_106); +lean_dec(x_111); +if (x_112 == 0) { -lean_object* x_96; -x_96 = lean_ctor_get(x_95, 3); -lean_inc(x_96); -if (lean_obj_tag(x_96) == 0) -{ -lean_object* x_97; lean_object* x_98; -lean_dec(x_94); -x_97 = l_Lean_nullKind; -x_98 = l_Lean_Parser_ParserState_mkNode(x_95, x_97, x_93); -x_73 = x_98; -goto block_80; +lean_object* x_113; lean_object* x_114; +lean_dec(x_106); +x_113 = l_Lean_nullKind; +x_114 = l_Lean_Parser_ParserState_mkNode(x_107, x_113, x_105); +x_80 = x_114; +goto block_91; } else { -lean_object* x_99; uint8_t x_100; -lean_dec(x_96); -x_99 = lean_ctor_get(x_95, 1); -lean_inc(x_99); -x_100 = lean_nat_dec_eq(x_99, x_94); -lean_dec(x_99); -if (x_100 == 0) -{ -lean_object* x_101; lean_object* x_102; -lean_dec(x_94); -x_101 = l_Lean_nullKind; -x_102 = l_Lean_Parser_ParserState_mkNode(x_95, x_101, x_93); -x_73 = x_102; -goto block_80; -} -else -{ -lean_object* x_103; lean_object* x_104; lean_object* x_105; -x_103 = l_Lean_Parser_ParserState_restore(x_95, x_93, x_94); -x_104 = l_Lean_nullKind; -x_105 = l_Lean_Parser_ParserState_mkNode(x_103, x_104, x_93); -x_73 = x_105; -goto block_80; +lean_object* x_115; lean_object* x_116; lean_object* x_117; +x_115 = l_Lean_Parser_ParserState_restore(x_107, x_105, x_106); +x_116 = l_Lean_nullKind; +x_117 = l_Lean_Parser_ParserState_mkNode(x_115, x_116, x_105); +x_80 = x_117; +goto block_91; } } } } else { -lean_dec(x_91); -x_73 = x_90; -goto block_80; +lean_dec(x_103); +x_80 = x_102; +goto block_91; +} +} +block_91: +{ +lean_object* x_81; +x_81 = lean_ctor_get(x_80, 3); +lean_inc(x_81); +if (lean_obj_tag(x_81) == 0) +{ +lean_object* x_82; lean_object* x_83; lean_object* x_84; lean_object* x_85; lean_object* x_86; +x_82 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_79, x_80); +x_83 = l_Lean_nullKind; +lean_inc(x_10); +x_84 = l_Lean_Parser_ParserState_mkNode(x_82, x_83, x_10); +x_85 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_86 = l_Lean_Parser_ParserState_mkNode(x_84, x_85, x_10); +return x_86; +} +else +{ +lean_object* x_87; lean_object* x_88; lean_object* x_89; lean_object* x_90; +lean_dec(x_81); +lean_dec(x_79); +x_87 = l_Lean_nullKind; +lean_inc(x_10); +x_88 = l_Lean_Parser_ParserState_mkNode(x_80, x_87, x_10); +x_89 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_90 = l_Lean_Parser_ParserState_mkNode(x_88, x_89, x_10); +return x_90; +} +} } } else { -lean_object* x_120; lean_object* x_121; -lean_dec(x_87); -lean_dec(x_70); -x_120 = l_Lean_nullKind; -x_121 = l_Lean_Parser_ParserState_mkNode(x_2, x_120, x_72); -return x_121; +lean_dec(x_8); +lean_dec(x_1); +return x_7; } } -block_80: -{ -lean_object* x_74; -x_74 = lean_ctor_get(x_73, 3); -lean_inc(x_74); -if (lean_obj_tag(x_74) == 0) -{ -lean_object* x_75; lean_object* x_76; lean_object* x_77; -x_75 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_70, x_73); -x_76 = l_Lean_nullKind; -x_77 = l_Lean_Parser_ParserState_mkNode(x_75, x_76, x_72); -return x_77; -} else { -lean_object* x_78; lean_object* x_79; -lean_dec(x_74); -lean_dec(x_70); -x_78 = l_Lean_nullKind; -x_79 = l_Lean_Parser_ParserState_mkNode(x_73, x_78, x_72); -return x_79; +lean_object* x_132; lean_object* x_133; lean_object* x_134; lean_object* x_135; lean_object* x_136; +x_132 = lean_ctor_get(x_2, 0); +lean_inc(x_132); +x_133 = lean_array_get_size(x_132); +lean_dec(x_132); +x_134 = lean_ctor_get(x_2, 1); +lean_inc(x_134); +lean_inc(x_1); +x_135 = lean_apply_2(x_4, x_1, x_2); +x_136 = lean_ctor_get(x_135, 3); +lean_inc(x_136); +if (lean_obj_tag(x_136) == 0) +{ +lean_dec(x_134); +lean_dec(x_133); +lean_dec(x_1); +return x_135; +} +else +{ +uint8_t x_137; +x_137 = !lean_is_exclusive(x_136); +if (x_137 == 0) +{ +lean_object* x_138; lean_object* x_139; uint8_t x_140; +x_138 = lean_ctor_get(x_136, 0); +x_139 = lean_ctor_get(x_135, 1); +lean_inc(x_139); +x_140 = lean_nat_dec_eq(x_139, x_134); +lean_dec(x_139); +if (x_140 == 0) +{ +lean_free_object(x_136); +lean_dec(x_138); +lean_dec(x_134); +lean_dec(x_133); +lean_dec(x_1); +return x_135; +} +else +{ +lean_object* x_141; lean_object* x_142; lean_object* x_143; lean_object* x_144; +lean_inc(x_134); +x_141 = l_Lean_Parser_ParserState_restore(x_135, x_133, x_134); +lean_dec(x_133); +x_142 = lean_unsigned_to_nat(1024u); +x_143 = l_Lean_Parser_checkPrecFn(x_142, x_1, x_141); +x_144 = lean_ctor_get(x_143, 3); +lean_inc(x_144); +if (lean_obj_tag(x_144) == 0) +{ +lean_object* x_145; lean_object* x_146; uint8_t x_147; +x_145 = lean_ctor_get(x_143, 0); +lean_inc(x_145); +x_146 = lean_array_get_size(x_145); +lean_dec(x_145); +x_147 = !lean_is_exclusive(x_1); +if (x_147 == 0) +{ +lean_object* x_148; lean_object* x_149; lean_object* x_150; lean_object* x_151; lean_object* x_152; lean_object* x_153; lean_object* x_169; uint8_t x_170; +x_148 = lean_ctor_get(x_1, 0); +x_149 = lean_ctor_get(x_1, 4); +lean_dec(x_149); +x_150 = lean_ctor_get(x_148, 2); +lean_inc(x_150); +x_151 = lean_ctor_get(x_143, 1); +lean_inc(x_151); +x_152 = l_Lean_FileMap_toPosition(x_150, x_151); +lean_dec(x_150); +lean_inc(x_152); +lean_ctor_set(x_136, 0, x_152); +lean_ctor_set(x_1, 4, x_136); +x_169 = lean_ctor_get(x_152, 1); +lean_inc(x_169); +lean_dec(x_152); +x_170 = lean_nat_dec_le(x_169, x_169); +lean_dec(x_169); +if (x_170 == 0) +{ +lean_object* x_171; lean_object* x_172; lean_object* x_173; lean_object* x_174; lean_object* x_175; lean_object* x_176; uint8_t x_177; lean_object* x_178; +lean_dec(x_1); +x_171 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; +x_172 = l_Lean_Parser_ParserState_mkError(x_143, x_171); +x_173 = l_Lean_nullKind; +lean_inc(x_146); +x_174 = l_Lean_Parser_ParserState_mkNode(x_172, x_173, x_146); +x_175 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_176 = l_Lean_Parser_ParserState_mkNode(x_174, x_175, x_146); +x_177 = 1; +x_178 = l_Lean_Parser_mergeOrElseErrors(x_176, x_138, x_134, x_177); +lean_dec(x_134); +return x_178; +} +else +{ +lean_object* x_179; lean_object* x_180; lean_object* x_181; lean_object* x_182; +x_179 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; +x_180 = lean_unsigned_to_nat(0u); +lean_inc(x_1); +x_181 = l_Lean_Parser_categoryParser___elambda__1(x_179, x_180, x_1, x_143); +x_182 = lean_ctor_get(x_181, 3); +lean_inc(x_182); +if (lean_obj_tag(x_182) == 0) +{ +lean_object* x_183; lean_object* x_184; lean_object* x_185; lean_object* x_186; lean_object* x_198; lean_object* x_199; +x_183 = lean_ctor_get(x_181, 0); +lean_inc(x_183); +x_184 = lean_array_get_size(x_183); +lean_dec(x_183); +x_185 = lean_ctor_get(x_181, 1); +lean_inc(x_185); +lean_inc(x_1); +x_198 = l_Lean_Parser_tokenFn(x_1, x_181); +x_199 = lean_ctor_get(x_198, 3); +lean_inc(x_199); +if (lean_obj_tag(x_199) == 0) +{ +lean_object* x_200; lean_object* x_201; +x_200 = lean_ctor_get(x_198, 0); +lean_inc(x_200); +x_201 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_200); +lean_dec(x_200); +if (lean_obj_tag(x_201) == 2) +{ +lean_object* x_202; lean_object* x_203; uint8_t x_204; +x_202 = lean_ctor_get(x_201, 1); +lean_inc(x_202); +lean_dec(x_201); +x_203 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; +x_204 = lean_string_dec_eq(x_202, x_203); +lean_dec(x_202); +if (x_204 == 0) +{ +lean_object* x_205; lean_object* x_206; +x_205 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_185); +x_206 = l_Lean_Parser_ParserState_mkErrorsAt(x_198, x_205, x_185); +x_186 = x_206; +goto block_197; +} +else +{ +x_186 = x_198; +goto block_197; +} +} +else +{ +lean_object* x_207; lean_object* x_208; +lean_dec(x_201); +x_207 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_185); +x_208 = l_Lean_Parser_ParserState_mkErrorsAt(x_198, x_207, x_185); +x_186 = x_208; +goto block_197; +} +} +else +{ +lean_object* x_209; lean_object* x_210; +lean_dec(x_199); +x_209 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_185); +x_210 = l_Lean_Parser_ParserState_mkErrorsAt(x_198, x_209, x_185); +x_186 = x_210; +goto block_197; +} +block_197: +{ +lean_object* x_187; +x_187 = lean_ctor_get(x_186, 3); +lean_inc(x_187); +if (lean_obj_tag(x_187) == 0) +{ +lean_object* x_188; lean_object* x_189; +lean_dec(x_185); +x_188 = l_Lean_nullKind; +x_189 = l_Lean_Parser_ParserState_mkNode(x_186, x_188, x_184); +x_153 = x_189; +goto block_168; +} +else +{ +lean_object* x_190; uint8_t x_191; +lean_dec(x_187); +x_190 = lean_ctor_get(x_186, 1); +lean_inc(x_190); +x_191 = lean_nat_dec_eq(x_190, x_185); +lean_dec(x_190); +if (x_191 == 0) +{ +lean_object* x_192; lean_object* x_193; +lean_dec(x_185); +x_192 = l_Lean_nullKind; +x_193 = l_Lean_Parser_ParserState_mkNode(x_186, x_192, x_184); +x_153 = x_193; +goto block_168; +} +else +{ +lean_object* x_194; lean_object* x_195; lean_object* x_196; +x_194 = l_Lean_Parser_ParserState_restore(x_186, x_184, x_185); +x_195 = l_Lean_nullKind; +x_196 = l_Lean_Parser_ParserState_mkNode(x_194, x_195, x_184); +x_153 = x_196; +goto block_168; +} +} +} +} +else +{ +lean_dec(x_182); +x_153 = x_181; +goto block_168; +} +} +block_168: +{ +lean_object* x_154; +x_154 = lean_ctor_get(x_153, 3); +lean_inc(x_154); +if (lean_obj_tag(x_154) == 0) +{ +lean_object* x_155; lean_object* x_156; lean_object* x_157; lean_object* x_158; lean_object* x_159; uint8_t x_160; lean_object* x_161; +x_155 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_1, x_153); +x_156 = l_Lean_nullKind; +lean_inc(x_146); +x_157 = l_Lean_Parser_ParserState_mkNode(x_155, x_156, x_146); +x_158 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_159 = l_Lean_Parser_ParserState_mkNode(x_157, x_158, x_146); +x_160 = 1; +x_161 = l_Lean_Parser_mergeOrElseErrors(x_159, x_138, x_134, x_160); +lean_dec(x_134); +return x_161; +} +else +{ +lean_object* x_162; lean_object* x_163; lean_object* x_164; lean_object* x_165; uint8_t x_166; lean_object* x_167; +lean_dec(x_154); +lean_dec(x_1); +x_162 = l_Lean_nullKind; +lean_inc(x_146); +x_163 = l_Lean_Parser_ParserState_mkNode(x_153, x_162, x_146); +x_164 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_165 = l_Lean_Parser_ParserState_mkNode(x_163, x_164, x_146); +x_166 = 1; +x_167 = l_Lean_Parser_mergeOrElseErrors(x_165, x_138, x_134, x_166); +lean_dec(x_134); +return x_167; +} +} +} +else +{ +lean_object* x_211; lean_object* x_212; lean_object* x_213; lean_object* x_214; uint8_t x_215; lean_object* x_216; lean_object* x_217; lean_object* x_218; lean_object* x_219; lean_object* x_220; lean_object* x_236; uint8_t x_237; +x_211 = lean_ctor_get(x_1, 0); +x_212 = lean_ctor_get(x_1, 1); +x_213 = lean_ctor_get(x_1, 2); +x_214 = lean_ctor_get(x_1, 3); +x_215 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +lean_inc(x_214); +lean_inc(x_213); +lean_inc(x_212); +lean_inc(x_211); +lean_dec(x_1); +x_216 = lean_ctor_get(x_211, 2); +lean_inc(x_216); +x_217 = lean_ctor_get(x_143, 1); +lean_inc(x_217); +x_218 = l_Lean_FileMap_toPosition(x_216, x_217); +lean_dec(x_216); +lean_inc(x_218); +lean_ctor_set(x_136, 0, x_218); +x_219 = lean_alloc_ctor(0, 5, 1); +lean_ctor_set(x_219, 0, x_211); +lean_ctor_set(x_219, 1, x_212); +lean_ctor_set(x_219, 2, x_213); +lean_ctor_set(x_219, 3, x_214); +lean_ctor_set(x_219, 4, x_136); +lean_ctor_set_uint8(x_219, sizeof(void*)*5, x_215); +x_236 = lean_ctor_get(x_218, 1); +lean_inc(x_236); +lean_dec(x_218); +x_237 = lean_nat_dec_le(x_236, x_236); +lean_dec(x_236); +if (x_237 == 0) +{ +lean_object* x_238; lean_object* x_239; lean_object* x_240; lean_object* x_241; lean_object* x_242; lean_object* x_243; uint8_t x_244; lean_object* x_245; +lean_dec(x_219); +x_238 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; +x_239 = l_Lean_Parser_ParserState_mkError(x_143, x_238); +x_240 = l_Lean_nullKind; +lean_inc(x_146); +x_241 = l_Lean_Parser_ParserState_mkNode(x_239, x_240, x_146); +x_242 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_243 = l_Lean_Parser_ParserState_mkNode(x_241, x_242, x_146); +x_244 = 1; +x_245 = l_Lean_Parser_mergeOrElseErrors(x_243, x_138, x_134, x_244); +lean_dec(x_134); +return x_245; +} +else +{ +lean_object* x_246; lean_object* x_247; lean_object* x_248; lean_object* x_249; +x_246 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; +x_247 = lean_unsigned_to_nat(0u); +lean_inc(x_219); +x_248 = l_Lean_Parser_categoryParser___elambda__1(x_246, x_247, x_219, x_143); +x_249 = lean_ctor_get(x_248, 3); +lean_inc(x_249); +if (lean_obj_tag(x_249) == 0) +{ +lean_object* x_250; lean_object* x_251; lean_object* x_252; lean_object* x_253; lean_object* x_265; lean_object* x_266; +x_250 = lean_ctor_get(x_248, 0); +lean_inc(x_250); +x_251 = lean_array_get_size(x_250); +lean_dec(x_250); +x_252 = lean_ctor_get(x_248, 1); +lean_inc(x_252); +lean_inc(x_219); +x_265 = l_Lean_Parser_tokenFn(x_219, x_248); +x_266 = lean_ctor_get(x_265, 3); +lean_inc(x_266); +if (lean_obj_tag(x_266) == 0) +{ +lean_object* x_267; lean_object* x_268; +x_267 = lean_ctor_get(x_265, 0); +lean_inc(x_267); +x_268 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_267); +lean_dec(x_267); +if (lean_obj_tag(x_268) == 2) +{ +lean_object* x_269; lean_object* x_270; uint8_t x_271; +x_269 = lean_ctor_get(x_268, 1); +lean_inc(x_269); +lean_dec(x_268); +x_270 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; +x_271 = lean_string_dec_eq(x_269, x_270); +lean_dec(x_269); +if (x_271 == 0) +{ +lean_object* x_272; lean_object* x_273; +x_272 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_252); +x_273 = l_Lean_Parser_ParserState_mkErrorsAt(x_265, x_272, x_252); +x_253 = x_273; +goto block_264; +} +else +{ +x_253 = x_265; +goto block_264; +} +} +else +{ +lean_object* x_274; lean_object* x_275; +lean_dec(x_268); +x_274 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_252); +x_275 = l_Lean_Parser_ParserState_mkErrorsAt(x_265, x_274, x_252); +x_253 = x_275; +goto block_264; +} +} +else +{ +lean_object* x_276; lean_object* x_277; +lean_dec(x_266); +x_276 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_252); +x_277 = l_Lean_Parser_ParserState_mkErrorsAt(x_265, x_276, x_252); +x_253 = x_277; +goto block_264; +} +block_264: +{ +lean_object* x_254; +x_254 = lean_ctor_get(x_253, 3); +lean_inc(x_254); +if (lean_obj_tag(x_254) == 0) +{ +lean_object* x_255; lean_object* x_256; +lean_dec(x_252); +x_255 = l_Lean_nullKind; +x_256 = l_Lean_Parser_ParserState_mkNode(x_253, x_255, x_251); +x_220 = x_256; +goto block_235; +} +else +{ +lean_object* x_257; uint8_t x_258; +lean_dec(x_254); +x_257 = lean_ctor_get(x_253, 1); +lean_inc(x_257); +x_258 = lean_nat_dec_eq(x_257, x_252); +lean_dec(x_257); +if (x_258 == 0) +{ +lean_object* x_259; lean_object* x_260; +lean_dec(x_252); +x_259 = l_Lean_nullKind; +x_260 = l_Lean_Parser_ParserState_mkNode(x_253, x_259, x_251); +x_220 = x_260; +goto block_235; +} +else +{ +lean_object* x_261; lean_object* x_262; lean_object* x_263; +x_261 = l_Lean_Parser_ParserState_restore(x_253, x_251, x_252); +x_262 = l_Lean_nullKind; +x_263 = l_Lean_Parser_ParserState_mkNode(x_261, x_262, x_251); +x_220 = x_263; +goto block_235; +} +} +} +} +else +{ +lean_dec(x_249); +x_220 = x_248; +goto block_235; +} +} +block_235: +{ +lean_object* x_221; +x_221 = lean_ctor_get(x_220, 3); +lean_inc(x_221); +if (lean_obj_tag(x_221) == 0) +{ +lean_object* x_222; lean_object* x_223; lean_object* x_224; lean_object* x_225; lean_object* x_226; uint8_t x_227; lean_object* x_228; +x_222 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_219, x_220); +x_223 = l_Lean_nullKind; +lean_inc(x_146); +x_224 = l_Lean_Parser_ParserState_mkNode(x_222, x_223, x_146); +x_225 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_226 = l_Lean_Parser_ParserState_mkNode(x_224, x_225, x_146); +x_227 = 1; +x_228 = l_Lean_Parser_mergeOrElseErrors(x_226, x_138, x_134, x_227); +lean_dec(x_134); +return x_228; +} +else +{ +lean_object* x_229; lean_object* x_230; lean_object* x_231; lean_object* x_232; uint8_t x_233; lean_object* x_234; +lean_dec(x_221); +lean_dec(x_219); +x_229 = l_Lean_nullKind; +lean_inc(x_146); +x_230 = l_Lean_Parser_ParserState_mkNode(x_220, x_229, x_146); +x_231 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_232 = l_Lean_Parser_ParserState_mkNode(x_230, x_231, x_146); +x_233 = 1; +x_234 = l_Lean_Parser_mergeOrElseErrors(x_232, x_138, x_134, x_233); +lean_dec(x_134); +return x_234; +} +} +} +} +else +{ +uint8_t x_278; lean_object* x_279; +lean_dec(x_144); +lean_free_object(x_136); +lean_dec(x_1); +x_278 = 1; +x_279 = l_Lean_Parser_mergeOrElseErrors(x_143, x_138, x_134, x_278); +lean_dec(x_134); +return x_279; +} +} +} +else +{ +lean_object* x_280; lean_object* x_281; uint8_t x_282; +x_280 = lean_ctor_get(x_136, 0); +lean_inc(x_280); +lean_dec(x_136); +x_281 = lean_ctor_get(x_135, 1); +lean_inc(x_281); +x_282 = lean_nat_dec_eq(x_281, x_134); +lean_dec(x_281); +if (x_282 == 0) +{ +lean_dec(x_280); +lean_dec(x_134); +lean_dec(x_133); +lean_dec(x_1); +return x_135; +} +else +{ +lean_object* x_283; lean_object* x_284; lean_object* x_285; lean_object* x_286; +lean_inc(x_134); +x_283 = l_Lean_Parser_ParserState_restore(x_135, x_133, x_134); +lean_dec(x_133); +x_284 = lean_unsigned_to_nat(1024u); +x_285 = l_Lean_Parser_checkPrecFn(x_284, x_1, x_283); +x_286 = lean_ctor_get(x_285, 3); +lean_inc(x_286); +if (lean_obj_tag(x_286) == 0) +{ +lean_object* x_287; lean_object* x_288; lean_object* x_289; lean_object* x_290; lean_object* x_291; lean_object* x_292; uint8_t x_293; lean_object* x_294; lean_object* x_295; lean_object* x_296; lean_object* x_297; lean_object* x_298; lean_object* x_299; lean_object* x_300; lean_object* x_316; uint8_t x_317; +x_287 = lean_ctor_get(x_285, 0); +lean_inc(x_287); +x_288 = lean_array_get_size(x_287); +lean_dec(x_287); +x_289 = lean_ctor_get(x_1, 0); +lean_inc(x_289); +x_290 = lean_ctor_get(x_1, 1); +lean_inc(x_290); +x_291 = lean_ctor_get(x_1, 2); +lean_inc(x_291); +x_292 = lean_ctor_get(x_1, 3); +lean_inc(x_292); +x_293 = lean_ctor_get_uint8(x_1, sizeof(void*)*5); +if (lean_is_exclusive(x_1)) { + lean_ctor_release(x_1, 0); + lean_ctor_release(x_1, 1); + lean_ctor_release(x_1, 2); + lean_ctor_release(x_1, 3); + lean_ctor_release(x_1, 4); + x_294 = x_1; +} else { + lean_dec_ref(x_1); + x_294 = lean_box(0); +} +x_295 = lean_ctor_get(x_289, 2); +lean_inc(x_295); +x_296 = lean_ctor_get(x_285, 1); +lean_inc(x_296); +x_297 = l_Lean_FileMap_toPosition(x_295, x_296); +lean_dec(x_295); +lean_inc(x_297); +x_298 = lean_alloc_ctor(1, 1, 0); +lean_ctor_set(x_298, 0, x_297); +if (lean_is_scalar(x_294)) { + x_299 = lean_alloc_ctor(0, 5, 1); +} else { + x_299 = x_294; +} +lean_ctor_set(x_299, 0, x_289); +lean_ctor_set(x_299, 1, x_290); +lean_ctor_set(x_299, 2, x_291); +lean_ctor_set(x_299, 3, x_292); +lean_ctor_set(x_299, 4, x_298); +lean_ctor_set_uint8(x_299, sizeof(void*)*5, x_293); +x_316 = lean_ctor_get(x_297, 1); +lean_inc(x_316); +lean_dec(x_297); +x_317 = lean_nat_dec_le(x_316, x_316); +lean_dec(x_316); +if (x_317 == 0) +{ +lean_object* x_318; lean_object* x_319; lean_object* x_320; lean_object* x_321; lean_object* x_322; lean_object* x_323; uint8_t x_324; lean_object* x_325; +lean_dec(x_299); +x_318 = l_Lean_Parser_manyAux___main___at_Lean_Parser_many1Indent___spec__1___closed__1; +x_319 = l_Lean_Parser_ParserState_mkError(x_285, x_318); +x_320 = l_Lean_nullKind; +lean_inc(x_288); +x_321 = l_Lean_Parser_ParserState_mkNode(x_319, x_320, x_288); +x_322 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_323 = l_Lean_Parser_ParserState_mkNode(x_321, x_322, x_288); +x_324 = 1; +x_325 = l_Lean_Parser_mergeOrElseErrors(x_323, x_280, x_134, x_324); +lean_dec(x_134); +return x_325; +} +else +{ +lean_object* x_326; lean_object* x_327; lean_object* x_328; lean_object* x_329; +x_326 = l_Lean_Parser_regBuiltinDoElemParserAttr___closed__4; +x_327 = lean_unsigned_to_nat(0u); +lean_inc(x_299); +x_328 = l_Lean_Parser_categoryParser___elambda__1(x_326, x_327, x_299, x_285); +x_329 = lean_ctor_get(x_328, 3); +lean_inc(x_329); +if (lean_obj_tag(x_329) == 0) +{ +lean_object* x_330; lean_object* x_331; lean_object* x_332; lean_object* x_333; lean_object* x_345; lean_object* x_346; +x_330 = lean_ctor_get(x_328, 0); +lean_inc(x_330); +x_331 = lean_array_get_size(x_330); +lean_dec(x_330); +x_332 = lean_ctor_get(x_328, 1); +lean_inc(x_332); +lean_inc(x_299); +x_345 = l_Lean_Parser_tokenFn(x_299, x_328); +x_346 = lean_ctor_get(x_345, 3); +lean_inc(x_346); +if (lean_obj_tag(x_346) == 0) +{ +lean_object* x_347; lean_object* x_348; +x_347 = lean_ctor_get(x_345, 0); +lean_inc(x_347); +x_348 = l_Array_back___at_Lean_Syntax_Traverser_up___spec__2(x_347); +lean_dec(x_347); +if (lean_obj_tag(x_348) == 2) +{ +lean_object* x_349; lean_object* x_350; uint8_t x_351; +x_349 = lean_ctor_get(x_348, 1); +lean_inc(x_349); +lean_dec(x_348); +x_350 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__1; +x_351 = lean_string_dec_eq(x_349, x_350); +lean_dec(x_349); +if (x_351 == 0) +{ +lean_object* x_352; lean_object* x_353; +x_352 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_332); +x_353 = l_Lean_Parser_ParserState_mkErrorsAt(x_345, x_352, x_332); +x_333 = x_353; +goto block_344; +} +else +{ +x_333 = x_345; +goto block_344; +} +} +else +{ +lean_object* x_354; lean_object* x_355; +lean_dec(x_348); +x_354 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_332); +x_355 = l_Lean_Parser_ParserState_mkErrorsAt(x_345, x_354, x_332); +x_333 = x_355; +goto block_344; +} +} +else +{ +lean_object* x_356; lean_object* x_357; +lean_dec(x_346); +x_356 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Tactic_tacticSeq1Indented___elambda__1___spec__1___closed__4; +lean_inc(x_332); +x_357 = l_Lean_Parser_ParserState_mkErrorsAt(x_345, x_356, x_332); +x_333 = x_357; +goto block_344; +} +block_344: +{ +lean_object* x_334; +x_334 = lean_ctor_get(x_333, 3); +lean_inc(x_334); +if (lean_obj_tag(x_334) == 0) +{ +lean_object* x_335; lean_object* x_336; +lean_dec(x_332); +x_335 = l_Lean_nullKind; +x_336 = l_Lean_Parser_ParserState_mkNode(x_333, x_335, x_331); +x_300 = x_336; +goto block_315; +} +else +{ +lean_object* x_337; uint8_t x_338; +lean_dec(x_334); +x_337 = lean_ctor_get(x_333, 1); +lean_inc(x_337); +x_338 = lean_nat_dec_eq(x_337, x_332); +lean_dec(x_337); +if (x_338 == 0) +{ +lean_object* x_339; lean_object* x_340; +lean_dec(x_332); +x_339 = l_Lean_nullKind; +x_340 = l_Lean_Parser_ParserState_mkNode(x_333, x_339, x_331); +x_300 = x_340; +goto block_315; +} +else +{ +lean_object* x_341; lean_object* x_342; lean_object* x_343; +x_341 = l_Lean_Parser_ParserState_restore(x_333, x_331, x_332); +x_342 = l_Lean_nullKind; +x_343 = l_Lean_Parser_ParserState_mkNode(x_341, x_342, x_331); +x_300 = x_343; +goto block_315; +} +} +} +} +else +{ +lean_dec(x_329); +x_300 = x_328; +goto block_315; +} +} +block_315: +{ +lean_object* x_301; +x_301 = lean_ctor_get(x_300, 3); +lean_inc(x_301); +if (lean_obj_tag(x_301) == 0) +{ +lean_object* x_302; lean_object* x_303; lean_object* x_304; lean_object* x_305; lean_object* x_306; uint8_t x_307; lean_object* x_308; +x_302 = l_Lean_Parser_manyAux___main___at_Lean_Parser_Term_doSeqIndent___elambda__1___spec__1(x_299, x_300); +x_303 = l_Lean_nullKind; +lean_inc(x_288); +x_304 = l_Lean_Parser_ParserState_mkNode(x_302, x_303, x_288); +x_305 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_306 = l_Lean_Parser_ParserState_mkNode(x_304, x_305, x_288); +x_307 = 1; +x_308 = l_Lean_Parser_mergeOrElseErrors(x_306, x_280, x_134, x_307); +lean_dec(x_134); +return x_308; +} +else +{ +lean_object* x_309; lean_object* x_310; lean_object* x_311; lean_object* x_312; uint8_t x_313; lean_object* x_314; +lean_dec(x_301); +lean_dec(x_299); +x_309 = l_Lean_nullKind; +lean_inc(x_288); +x_310 = l_Lean_Parser_ParserState_mkNode(x_300, x_309, x_288); +x_311 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_312 = l_Lean_Parser_ParserState_mkNode(x_310, x_311, x_288); +x_313 = 1; +x_314 = l_Lean_Parser_mergeOrElseErrors(x_312, x_280, x_134, x_313); +lean_dec(x_134); +return x_314; +} +} +} +else +{ +uint8_t x_358; lean_object* x_359; +lean_dec(x_286); +lean_dec(x_1); +x_358 = 1; +x_359 = l_Lean_Parser_mergeOrElseErrors(x_285, x_280, x_134, x_358); +lean_dec(x_134); +return x_359; +} +} } } } @@ -2600,17 +3409,49 @@ return x_3; lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__4() { _start: { -lean_object* x_1; -x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doSeqIndent___elambda__1), 2, 0); -return x_1; +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_2 = l_Lean_Parser_Term_doSeqIndent___closed__3; +x_3 = l_Lean_Parser_nodeInfo(x_1, x_2); +return x_3; } } lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__5() { _start: { lean_object* x_1; lean_object* x_2; lean_object* x_3; -x_1 = l_Lean_Parser_Term_doSeqIndent___closed__3; +x_1 = l_Lean_Parser_epsilonInfo; x_2 = l_Lean_Parser_Term_doSeqIndent___closed__4; +x_3 = l_Lean_Parser_andthenInfo(x_1, x_2); +return x_3; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__6() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4; +x_2 = lean_ctor_get(x_1, 0); +lean_inc(x_2); +x_3 = l_Lean_Parser_Term_doSeqIndent___closed__5; +x_4 = l_Lean_Parser_orelseInfo(x_2, x_3); +return x_4; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__7() { +_start: +{ +lean_object* x_1; +x_1 = lean_alloc_closure((void*)(l_Lean_Parser_Term_doSeqIndent___elambda__1), 2, 0); +return x_1; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent___closed__8() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; +x_1 = l_Lean_Parser_Term_doSeqIndent___closed__6; +x_2 = l_Lean_Parser_Term_doSeqIndent___closed__7; x_3 = lean_alloc_ctor(0, 2, 0); lean_ctor_set(x_3, 0, x_1); lean_ctor_set(x_3, 1, x_2); @@ -2621,7 +3462,7 @@ lean_object* _init_l_Lean_Parser_Term_doSeqIndent() { _start: { lean_object* x_1; -x_1 = l_Lean_Parser_Term_doSeqIndent___closed__5; +x_1 = l_Lean_Parser_Term_doSeqIndent___closed__8; return x_1; } } @@ -13329,13 +14170,53 @@ x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x return x_8; } } +lean_object* _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__1() { +_start: +{ +lean_object* x_1; lean_object* x_2; uint8_t x_3; lean_object* x_4; lean_object* x_5; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1; +x_2 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3; +x_3 = 1; +x_4 = lean_box(x_3); +x_5 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_formatter___boxed), 8, 3); +lean_closure_set(x_5, 0, x_1); +lean_closure_set(x_5, 1, x_2); +lean_closure_set(x_5, 2, x_4); +return x_5; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_doSeqBracketed_formatter___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent_formatter), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_doSeqIndent_formatter___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_leadingNode_formatter___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} lean_object* l_Lean_Parser_Term_doSeqIndent_formatter(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Term_doSeqBracketed_formatter___closed__3; -x_7 = l_Lean_Parser_many1Indent_formatter(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_doSeqIndent_formatter___closed__1; +x_7 = l_Lean_Parser_Term_doSeqIndent_formatter___closed__3; +x_8 = l_Lean_PrettyPrinter_Formatter_orelse_formatter(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } lean_object* _init_l_Lean_Parser_Term_doSeq_formatter___closed__1() { @@ -13780,13 +14661,51 @@ x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2 return x_8; } } +lean_object* _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1() { +_start: +{ +lean_object* x_1; uint8_t x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3; +x_2 = 1; +x_3 = lean_box(x_2); +x_4 = lean_alloc_closure((void*)(l_Lean_Parser_mkAntiquot_parenthesizer___rarg___boxed), 7, 2); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_3); +return x_4; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2() { +_start: +{ +lean_object* x_1; lean_object* x_2; +x_1 = l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__3; +x_2 = lean_alloc_closure((void*)(l_Lean_Parser_many1Indent_parenthesizer), 6, 1); +lean_closure_set(x_2, 0, x_1); +return x_2; +} +} +lean_object* _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3() { +_start: +{ +lean_object* x_1; lean_object* x_2; lean_object* x_3; lean_object* x_4; +x_1 = l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2; +x_2 = lean_unsigned_to_nat(1024u); +x_3 = l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2; +x_4 = lean_alloc_closure((void*)(l_Lean_PrettyPrinter_Parenthesizer_leadingNode_parenthesizer___boxed), 8, 3); +lean_closure_set(x_4, 0, x_1); +lean_closure_set(x_4, 1, x_2); +lean_closure_set(x_4, 2, x_3); +return x_4; +} +} lean_object* l_Lean_Parser_Term_doSeqIndent_parenthesizer(lean_object* x_1, lean_object* x_2, lean_object* x_3, lean_object* x_4, lean_object* x_5) { _start: { -lean_object* x_6; lean_object* x_7; -x_6 = l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__3; -x_7 = l_Lean_Parser_many1Indent_parenthesizer(x_6, x_1, x_2, x_3, x_4, x_5); -return x_7; +lean_object* x_6; lean_object* x_7; lean_object* x_8; +x_6 = l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1; +x_7 = l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3; +x_8 = l_Lean_PrettyPrinter_Parenthesizer_orelse_parenthesizer(x_6, x_7, x_1, x_2, x_3, x_4, x_5); +return x_8; } } lean_object* _init_l_Lean_Parser_Term_doSeq_parenthesizer___closed__1() { @@ -26339,6 +27258,14 @@ lean_mark_persistent(l___regBuiltin_Lean_Parser_Term_liftMethod_parenthesizer___ res = l___regBuiltin_Lean_Parser_Term_liftMethod_parenthesizer(lean_io_mk_world()); if (lean_io_result_is_error(res)) return res; lean_dec_ref(res); +l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__1); +l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__2); +l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__3); +l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4 = _init_l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___elambda__1___closed__4); l_Lean_Parser_Term_doSeqIndent___closed__1 = _init_l_Lean_Parser_Term_doSeqIndent___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__1); l_Lean_Parser_Term_doSeqIndent___closed__2 = _init_l_Lean_Parser_Term_doSeqIndent___closed__2(); @@ -26349,6 +27276,12 @@ l_Lean_Parser_Term_doSeqIndent___closed__4 = _init_l_Lean_Parser_Term_doSeqInden lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__4); l_Lean_Parser_Term_doSeqIndent___closed__5 = _init_l_Lean_Parser_Term_doSeqIndent___closed__5(); lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__5); +l_Lean_Parser_Term_doSeqIndent___closed__6 = _init_l_Lean_Parser_Term_doSeqIndent___closed__6(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__6); +l_Lean_Parser_Term_doSeqIndent___closed__7 = _init_l_Lean_Parser_Term_doSeqIndent___closed__7(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__7); +l_Lean_Parser_Term_doSeqIndent___closed__8 = _init_l_Lean_Parser_Term_doSeqIndent___closed__8(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent___closed__8); l_Lean_Parser_Term_doSeqIndent = _init_l_Lean_Parser_Term_doSeqIndent(); lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent); l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__1 = _init_l_Lean_Parser_Term_doSeqBracketed___elambda__1___closed__1(); @@ -26952,6 +27885,12 @@ l_Lean_Parser_Term_doSeqBracketed_formatter___closed__7 = _init_l_Lean_Parser_Te lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed_formatter___closed__7); l_Lean_Parser_Term_doSeqBracketed_formatter___closed__8 = _init_l_Lean_Parser_Term_doSeqBracketed_formatter___closed__8(); lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed_formatter___closed__8); +l_Lean_Parser_Term_doSeqIndent_formatter___closed__1 = _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent_formatter___closed__1); +l_Lean_Parser_Term_doSeqIndent_formatter___closed__2 = _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent_formatter___closed__2); +l_Lean_Parser_Term_doSeqIndent_formatter___closed__3 = _init_l_Lean_Parser_Term_doSeqIndent_formatter___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent_formatter___closed__3); l_Lean_Parser_Term_doSeq_formatter___closed__1 = _init_l_Lean_Parser_Term_doSeq_formatter___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_doSeq_formatter___closed__1); l_Lean_Parser_Term_doSeq_formatter___closed__2 = _init_l_Lean_Parser_Term_doSeq_formatter___closed__2(); @@ -27025,6 +27964,12 @@ l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__7 = _init_l_Lean_Parse lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__7); l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__8 = _init_l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__8(); lean_mark_persistent(l_Lean_Parser_Term_doSeqBracketed_parenthesizer___closed__8); +l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__1); +l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__2); +l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3 = _init_l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3(); +lean_mark_persistent(l_Lean_Parser_Term_doSeqIndent_parenthesizer___closed__3); l_Lean_Parser_Term_doSeq_parenthesizer___closed__1 = _init_l_Lean_Parser_Term_doSeq_parenthesizer___closed__1(); lean_mark_persistent(l_Lean_Parser_Term_doSeq_parenthesizer___closed__1); l_Lean_Parser_Term_doSeq_parenthesizer___closed__2 = _init_l_Lean_Parser_Term_doSeq_parenthesizer___closed__2();