diff --git a/src/stage0/init/lean/format.cpp b/src/stage0/init/lean/format.cpp index a118807a19..f0e8fadcee 100644 --- a/src/stage0/init/lean/format.cpp +++ b/src/stage0/init/lean/format.cpp @@ -28,13 +28,13 @@ obj* l_Lean_Format_defIndent; obj* l_Lean_Format_group___main(obj*); obj* l_Lean_listHasToFormat___rarg(obj*); obj* l_Lean_Format_prefixJoin___main(obj*); +obj* l_Lean_Format_spaceUptoLine_x_27___boxed(obj*, obj*); obj* l_Lean_Format_joinSep___main___boxed(obj*); -obj* l_Lean_Format_spaceUptoLine___main___lambda__1___boxed(obj*, obj*, obj*); obj* l_Lean_Format_sbracket(obj*); obj* l_Lean_Format_flatten(obj*); obj* l_Function_comp___rarg(obj*, obj*, obj*); +obj* l_Lean_Format_be___main___boxed(obj*, obj*, obj*, obj*); obj* l_Lean_Format_repr___main___closed__2; -obj* l_Lean_Format_spaceUptoLine_x_27___main___lambda__1___boxed(obj*, obj*, obj*); uint8 l_Lean_Format_defUnicode; namespace lean { obj* uint16_to_nat(uint16); @@ -54,7 +54,6 @@ obj* l_Lean_prodHasToFormat(obj*, obj*); obj* l_Lean_Format_repr___main(obj*); obj* l_Lean_Format_prefixJoin___main___boxed(obj*); obj* l_Lean_Format_repr(obj*); -obj* l_Lean_Format_spaceUptoLine_x_27___main___lambda__1(obj*, obj*, obj*); obj* l_Lean_Format_join___closed__1; obj* l_Lean_Format_joinSuffix(obj*); obj* l_Lean_Format_repr___main___closed__3; @@ -69,7 +68,6 @@ obj* l_Lean_toStringToFormat___boxed(obj*); obj* l_Lean_Format_joinSuffix___boxed(obj*); obj* l_Lean_toStringToFormat___rarg___lambda__1(obj*); obj* l_Lean_natHasToFormat(obj*); -obj* l_Lean_Format_spaceUptoLine___main___lambda__1(obj*, obj*, obj*); obj* l_Lean_Format_be___main(obj*, obj*, obj*, obj*); namespace lean { obj* string_append(obj*, obj*); @@ -94,9 +92,11 @@ obj* l_Lean_registerOption(obj*, obj*, obj*); namespace lean { obj* nat_add(obj*, obj*); } +obj* l_Lean_Format_spaceUptoLine___main___boxed(obj*, obj*); obj* l_Lean_Format_paren___closed__3; obj* l_Lean_Format_Inhabited; obj* l_Lean_Format_indentOption(obj*); +obj* l_Lean_Format_spaceUptoLine___boxed(obj*, obj*); obj* l_Lean_Format_getIndent(obj*); obj* l_Nat_repeatCore___main___at_String_pushn___spec__1(uint32, obj*, obj*); obj* l_Lean_Format_flatten___main___closed__1; @@ -126,6 +126,8 @@ obj* l_Lean_Format_paren(obj*); obj* l_Lean_Format_group(obj*); obj* l_Lean_Format_bracket(obj*, obj*, obj*); obj* l___private_init_lean_format_1__merge(obj*, obj*, obj*); +obj* l_Lean_Format_be___boxed(obj*, obj*, obj*, obj*); +obj* l_Lean_Format_spaceUptoLine_x_27___main___boxed(obj*, obj*); obj* l_Lean_Format_defWidth; obj* l_Lean_Format_unicodeOption(obj*); obj* l_Lean_uint16HasToFormat___boxed(obj*); @@ -474,14 +476,6 @@ lean::dec(x_2); return x_3; } } -obj* l_Lean_Format_spaceUptoLine___main___lambda__1(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; -x_3 = l_Lean_Format_spaceUptoLine___main(x_0, x_1); -return x_3; -} -} obj* _init_l_Lean_Format_spaceUptoLine___main___closed__1() { _start: { @@ -519,137 +513,113 @@ _start: switch (lean::obj_tag(x_0)) { case 0: { -obj* x_3; -lean::dec(x_1); -x_3 = l_Lean_Format_spaceUptoLine___main___closed__1; -return x_3; +obj* x_2; +x_2 = l_Lean_Format_spaceUptoLine___main___closed__1; +return x_2; } case 1: { -obj* x_5; -lean::dec(x_1); -x_5 = l_Lean_Format_spaceUptoLine___main___closed__2; -return x_5; +obj* x_3; +x_3 = l_Lean_Format_spaceUptoLine___main___closed__2; +return x_3; } case 2: { -obj* x_6; obj* x_9; uint8 x_11; uint8 x_13; obj* x_14; obj* x_15; obj* x_16; -x_6 = lean::cnstr_get(x_0, 0); -lean::inc(x_6); -lean::dec(x_0); -x_9 = lean::string_length(x_6); -lean::dec(x_6); -x_11 = lean::nat_dec_lt(x_1, x_9); -lean::dec(x_1); -x_13 = 0; -x_14 = lean::alloc_cnstr(0, 1, 2); -lean::cnstr_set(x_14, 0, x_9); -lean::cnstr_set_scalar(x_14, sizeof(void*)*1, x_13); -x_15 = x_14; -lean::cnstr_set_scalar(x_15, sizeof(void*)*1 + 1, x_11); -x_16 = x_15; -return x_16; +obj* x_4; obj* x_5; uint8 x_6; uint8 x_7; obj* x_8; obj* x_9; obj* x_10; +x_4 = lean::cnstr_get(x_0, 0); +x_5 = lean::string_length(x_4); +x_6 = lean::nat_dec_lt(x_1, x_5); +x_7 = 0; +x_8 = lean::alloc_cnstr(0, 1, 2); +lean::cnstr_set(x_8, 0, x_5); +lean::cnstr_set_scalar(x_8, sizeof(void*)*1, x_7); +x_9 = x_8; +lean::cnstr_set_scalar(x_9, sizeof(void*)*1 + 1, x_6); +x_10 = x_9; +return x_10; } case 4: { -obj* x_17; obj* x_19; obj* x_23; uint8 x_24; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -x_19 = lean::cnstr_get(x_0, 1); +obj* x_11; obj* x_12; obj* x_13; uint8 x_14; +x_11 = lean::cnstr_get(x_0, 0); +x_12 = lean::cnstr_get(x_0, 1); +x_13 = l_Lean_Format_spaceUptoLine___main(x_11, x_1); +x_14 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1 + 1); +if (x_14 == 0) +{ +uint8 x_15; +x_15 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); +if (x_15 == 0) +{ +obj* x_16; uint8 x_17; +x_16 = l_Lean_Format_spaceUptoLine___main(x_12, x_1); +x_17 = lean::cnstr_get_scalar(x_16, sizeof(void*)*1 + 1); +if (x_17 == 0) +{ +uint8 x_18; +x_18 = lean::cnstr_get_scalar(x_16, sizeof(void*)*1); +if (x_18 == 0) +{ +obj* x_19; obj* x_22; obj* x_25; uint8 x_28; uint8 x_29; obj* x_30; obj* x_31; obj* x_32; +x_19 = lean::cnstr_get(x_13, 0); lean::inc(x_19); -lean::dec(x_0); -lean::inc(x_1); -x_23 = l_Lean_Format_spaceUptoLine___main(x_17, x_1); -x_24 = lean::cnstr_get_scalar(x_23, sizeof(void*)*1 + 1); -if (x_24 == 0) -{ -uint8 x_25; -x_25 = lean::cnstr_get_scalar(x_23, sizeof(void*)*1); -if (x_25 == 0) -{ -obj* x_27; obj* x_28; obj* x_29; uint8 x_31; -lean::inc(x_1); -x_27 = lean::alloc_closure(reinterpret_cast(l_Lean_Format_spaceUptoLine___main___lambda__1___boxed), 3, 2); -lean::closure_set(x_27, 0, x_19); -lean::closure_set(x_27, 1, x_1); -x_28 = lean::mk_thunk(x_27); -x_29 = lean::thunk_get_own(x_28); -lean::dec(x_28); -x_31 = lean::cnstr_get_scalar(x_29, sizeof(void*)*1 + 1); -if (x_31 == 0) -{ -uint8 x_32; -x_32 = lean::cnstr_get_scalar(x_29, sizeof(void*)*1); -if (x_32 == 0) -{ -obj* x_33; obj* x_36; obj* x_39; uint8 x_42; uint8 x_44; obj* x_45; obj* x_46; obj* x_47; -x_33 = lean::cnstr_get(x_23, 0); -lean::inc(x_33); -lean::dec(x_23); -x_36 = lean::cnstr_get(x_29, 0); -lean::inc(x_36); -lean::dec(x_29); -x_39 = lean::nat_add(x_33, x_36); -lean::dec(x_36); -lean::dec(x_33); -x_42 = lean::nat_dec_lt(x_1, x_39); -lean::dec(x_1); -x_44 = 0; -x_45 = lean::alloc_cnstr(0, 1, 2); -lean::cnstr_set(x_45, 0, x_39); -lean::cnstr_set_scalar(x_45, sizeof(void*)*1, x_44); -x_46 = x_45; -lean::cnstr_set_scalar(x_46, sizeof(void*)*1 + 1, x_42); -x_47 = x_46; -return x_47; -} -else -{ -lean::dec(x_1); -lean::dec(x_23); -return x_29; -} -} -else -{ -lean::dec(x_1); -lean::dec(x_23); -return x_29; -} -} -else -{ -lean::dec(x_1); +lean::dec(x_13); +x_22 = lean::cnstr_get(x_16, 0); +lean::inc(x_22); +lean::dec(x_16); +x_25 = lean::nat_add(x_19, x_22); +lean::dec(x_22); lean::dec(x_19); -return x_23; +x_28 = lean::nat_dec_lt(x_1, x_25); +x_29 = 0; +x_30 = lean::alloc_cnstr(0, 1, 2); +lean::cnstr_set(x_30, 0, x_25); +lean::cnstr_set_scalar(x_30, sizeof(void*)*1, x_29); +x_31 = x_30; +lean::cnstr_set_scalar(x_31, sizeof(void*)*1 + 1, x_28); +x_32 = x_31; +return x_32; +} +else +{ +lean::dec(x_13); +return x_16; } } else { -lean::dec(x_1); -lean::dec(x_19); -return x_23; +lean::dec(x_13); +return x_16; +} +} +else +{ +return x_13; +} +} +else +{ +return x_13; } } default: { -obj* x_56; -x_56 = lean::cnstr_get(x_0, 1); -lean::inc(x_56); -lean::dec(x_0); -x_0 = x_56; +obj* x_35; +x_35 = lean::cnstr_get(x_0, 1); +x_0 = x_35; goto _start; } } } } -obj* l_Lean_Format_spaceUptoLine___main___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2) { +obj* l_Lean_Format_spaceUptoLine___main___boxed(obj* x_0, obj* x_1) { _start: { -obj* x_3; -x_3 = l_Lean_Format_spaceUptoLine___main___lambda__1(x_0, x_1, x_2); -lean::dec(x_2); -return x_3; +obj* x_2; +x_2 = l_Lean_Format_spaceUptoLine___main(x_0, x_1); +lean::dec(x_0); +lean::dec(x_1); +return x_2; } } obj* l_Lean_Format_spaceUptoLine(obj* x_0, obj* x_1) { @@ -660,12 +630,14 @@ x_2 = l_Lean_Format_spaceUptoLine___main(x_0, x_1); return x_2; } } -obj* l_Lean_Format_spaceUptoLine_x_27___main___lambda__1(obj* x_0, obj* x_1, obj* x_2) { +obj* l_Lean_Format_spaceUptoLine___boxed(obj* x_0, obj* x_1) { _start: { -obj* x_3; -x_3 = l_Lean_Format_spaceUptoLine_x_27___main(x_0, x_1); -return x_3; +obj* x_2; +x_2 = l_Lean_Format_spaceUptoLine(x_0, x_1); +lean::dec(x_0); +lean::dec(x_1); +return x_2; } } obj* l_Lean_Format_spaceUptoLine_x_27___main(obj* x_0, obj* x_1) { @@ -673,104 +645,85 @@ _start: { if (lean::obj_tag(x_0) == 0) { -obj* x_3; -lean::dec(x_1); -x_3 = l_Lean_Format_spaceUptoLine___main___closed__1; -return x_3; +obj* x_2; +x_2 = l_Lean_Format_spaceUptoLine___main___closed__1; +return x_2; } else { -obj* x_4; obj* x_6; obj* x_9; obj* x_13; uint8 x_14; -x_4 = lean::cnstr_get(x_0, 0); -lean::inc(x_4); -x_6 = lean::cnstr_get(x_0, 1); -lean::inc(x_6); -lean::dec(x_0); -x_9 = lean::cnstr_get(x_4, 1); -lean::inc(x_9); -lean::dec(x_4); -lean::inc(x_1); -x_13 = l_Lean_Format_spaceUptoLine___main(x_9, x_1); -x_14 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1 + 1); -if (x_14 == 0) +obj* x_3; obj* x_4; obj* x_5; obj* x_6; uint8 x_7; +x_3 = lean::cnstr_get(x_0, 0); +x_4 = lean::cnstr_get(x_0, 1); +x_5 = lean::cnstr_get(x_3, 1); +x_6 = l_Lean_Format_spaceUptoLine___main(x_5, x_1); +x_7 = lean::cnstr_get_scalar(x_6, sizeof(void*)*1 + 1); +if (x_7 == 0) { -uint8 x_15; -x_15 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); -if (x_15 == 0) +uint8 x_8; +x_8 = lean::cnstr_get_scalar(x_6, sizeof(void*)*1); +if (x_8 == 0) { -obj* x_17; obj* x_18; obj* x_19; uint8 x_21; -lean::inc(x_1); -x_17 = lean::alloc_closure(reinterpret_cast(l_Lean_Format_spaceUptoLine_x_27___main___lambda__1___boxed), 3, 2); -lean::closure_set(x_17, 0, x_6); -lean::closure_set(x_17, 1, x_1); -x_18 = lean::mk_thunk(x_17); -x_19 = lean::thunk_get_own(x_18); -lean::dec(x_18); -x_21 = lean::cnstr_get_scalar(x_19, sizeof(void*)*1 + 1); -if (x_21 == 0) +obj* x_9; uint8 x_10; +x_9 = l_Lean_Format_spaceUptoLine_x_27___main(x_4, x_1); +x_10 = lean::cnstr_get_scalar(x_9, sizeof(void*)*1 + 1); +if (x_10 == 0) { -uint8 x_22; -x_22 = lean::cnstr_get_scalar(x_19, sizeof(void*)*1); -if (x_22 == 0) +uint8 x_11; +x_11 = lean::cnstr_get_scalar(x_9, sizeof(void*)*1); +if (x_11 == 0) { -obj* x_23; obj* x_26; obj* x_29; uint8 x_32; uint8 x_34; obj* x_35; obj* x_36; obj* x_37; -x_23 = lean::cnstr_get(x_13, 0); -lean::inc(x_23); -lean::dec(x_13); -x_26 = lean::cnstr_get(x_19, 0); -lean::inc(x_26); -lean::dec(x_19); -x_29 = lean::nat_add(x_23, x_26); -lean::dec(x_26); -lean::dec(x_23); -x_32 = lean::nat_dec_lt(x_1, x_29); -lean::dec(x_1); -x_34 = 0; -x_35 = lean::alloc_cnstr(0, 1, 2); -lean::cnstr_set(x_35, 0, x_29); -lean::cnstr_set_scalar(x_35, sizeof(void*)*1, x_34); -x_36 = x_35; -lean::cnstr_set_scalar(x_36, sizeof(void*)*1 + 1, x_32); -x_37 = x_36; -return x_37; +obj* x_12; obj* x_15; obj* x_18; uint8 x_21; uint8 x_22; obj* x_23; obj* x_24; obj* x_25; +x_12 = lean::cnstr_get(x_6, 0); +lean::inc(x_12); +lean::dec(x_6); +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = lean::nat_add(x_12, x_15); +lean::dec(x_15); +lean::dec(x_12); +x_21 = lean::nat_dec_lt(x_1, x_18); +x_22 = 0; +x_23 = lean::alloc_cnstr(0, 1, 2); +lean::cnstr_set(x_23, 0, x_18); +lean::cnstr_set_scalar(x_23, sizeof(void*)*1, x_22); +x_24 = x_23; +lean::cnstr_set_scalar(x_24, sizeof(void*)*1 + 1, x_21); +x_25 = x_24; +return x_25; } else { -lean::dec(x_13); -lean::dec(x_1); -return x_19; -} -} -else -{ -lean::dec(x_13); -lean::dec(x_1); -return x_19; +lean::dec(x_6); +return x_9; } } else { lean::dec(x_6); -lean::dec(x_1); -return x_13; +return x_9; } } else { -lean::dec(x_6); -lean::dec(x_1); -return x_13; +return x_6; +} +} +else +{ +return x_6; } } } } -obj* l_Lean_Format_spaceUptoLine_x_27___main___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2) { +obj* l_Lean_Format_spaceUptoLine_x_27___main___boxed(obj* x_0, obj* x_1) { _start: { -obj* x_3; -x_3 = l_Lean_Format_spaceUptoLine_x_27___main___lambda__1(x_0, x_1, x_2); -lean::dec(x_2); -return x_3; +obj* x_2; +x_2 = l_Lean_Format_spaceUptoLine_x_27___main(x_0, x_1); +lean::dec(x_0); +lean::dec(x_1); +return x_2; } } obj* l_Lean_Format_spaceUptoLine_x_27(obj* x_0, obj* x_1) { @@ -781,201 +734,217 @@ x_2 = l_Lean_Format_spaceUptoLine_x_27___main(x_0, x_1); return x_2; } } +obj* l_Lean_Format_spaceUptoLine_x_27___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_Lean_Format_spaceUptoLine_x_27(x_0, x_1); +lean::dec(x_0); +lean::dec(x_1); +return x_2; +} +} obj* l_Lean_Format_be___main(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { if (lean::obj_tag(x_3) == 0) { lean::dec(x_1); -lean::dec(x_0); return x_2; } else { -obj* x_6; obj* x_8; -x_6 = lean::cnstr_get(x_3, 0); -lean::inc(x_6); -x_8 = lean::cnstr_get(x_6, 1); -lean::inc(x_8); -switch (lean::obj_tag(x_8)) { +obj* x_5; obj* x_7; +x_5 = lean::cnstr_get(x_3, 0); +lean::inc(x_5); +x_7 = lean::cnstr_get(x_5, 1); +lean::inc(x_7); +switch (lean::obj_tag(x_7)) { case 0: { -obj* x_11; -lean::dec(x_6); -x_11 = lean::cnstr_get(x_3, 1); -lean::inc(x_11); +obj* x_10; +lean::dec(x_5); +x_10 = lean::cnstr_get(x_3, 1); +lean::inc(x_10); lean::dec(x_3); -x_3 = x_11; +x_3 = x_10; goto _start; } case 1: { -obj* x_16; obj* x_19; obj* x_22; obj* x_23; uint32 x_24; obj* x_26; +obj* x_15; obj* x_18; obj* x_21; obj* x_22; uint32 x_23; obj* x_25; lean::dec(x_1); -x_16 = lean::cnstr_get(x_3, 1); -lean::inc(x_16); +x_15 = lean::cnstr_get(x_3, 1); +lean::inc(x_15); lean::dec(x_3); -x_19 = lean::cnstr_get(x_6, 0); -lean::inc(x_19); -lean::dec(x_6); -x_22 = l_IO_println___rarg___closed__1; -x_23 = lean::string_append(x_2, x_22); -x_24 = 32; -lean::inc(x_19); -x_26 = l_Nat_repeatCore___main___at_String_pushn___spec__1(x_24, x_19, x_23); -x_1 = x_19; -x_2 = x_26; -x_3 = x_16; +x_18 = lean::cnstr_get(x_5, 0); +lean::inc(x_18); +lean::dec(x_5); +x_21 = l_IO_println___rarg___closed__1; +x_22 = lean::string_append(x_2, x_21); +x_23 = 32; +lean::inc(x_18); +x_25 = l_Nat_repeatCore___main___at_String_pushn___spec__1(x_23, x_18, x_22); +x_1 = x_18; +x_2 = x_25; +x_3 = x_15; goto _start; } case 2: { -obj* x_29; obj* x_32; obj* x_35; obj* x_36; obj* x_39; -lean::dec(x_6); -x_29 = lean::cnstr_get(x_3, 1); -lean::inc(x_29); +obj* x_28; obj* x_31; obj* x_34; obj* x_35; obj* x_38; +lean::dec(x_5); +x_28 = lean::cnstr_get(x_3, 1); +lean::inc(x_28); lean::dec(x_3); -x_32 = lean::cnstr_get(x_8, 0); -lean::inc(x_32); -lean::dec(x_8); -x_35 = lean::string_length(x_32); -x_36 = lean::nat_add(x_1, x_35); -lean::dec(x_35); +x_31 = lean::cnstr_get(x_7, 0); +lean::inc(x_31); +lean::dec(x_7); +x_34 = lean::string_length(x_31); +x_35 = lean::nat_add(x_1, x_34); +lean::dec(x_34); lean::dec(x_1); -x_39 = lean::string_append(x_2, x_32); -lean::dec(x_32); -x_1 = x_36; -x_2 = x_39; -x_3 = x_29; +x_38 = lean::string_append(x_2, x_31); +lean::dec(x_31); +x_1 = x_35; +x_2 = x_38; +x_3 = x_28; goto _start; } case 3: { -obj* x_42; obj* x_44; obj* x_45; obj* x_47; obj* x_48; obj* x_50; obj* x_53; obj* x_56; obj* x_57; -x_42 = lean::cnstr_get(x_3, 1); +obj* x_41; obj* x_43; obj* x_44; obj* x_46; obj* x_47; obj* x_49; obj* x_52; obj* x_55; obj* x_56; +x_41 = lean::cnstr_get(x_3, 1); if (lean::is_exclusive(x_3)) { lean::cnstr_release(x_3, 0); - x_44 = x_3; + x_43 = x_3; } else { - lean::inc(x_42); + lean::inc(x_41); lean::dec(x_3); - x_44 = lean::box(0); + x_43 = lean::box(0); } -x_45 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_release(x_6, 1); - x_47 = x_6; +x_44 = lean::cnstr_get(x_5, 0); +if (lean::is_exclusive(x_5)) { + lean::cnstr_release(x_5, 1); + x_46 = x_5; } else { - lean::inc(x_45); - lean::dec(x_6); - x_47 = lean::box(0); + lean::inc(x_44); + lean::dec(x_5); + x_46 = lean::box(0); } -x_48 = lean::cnstr_get(x_8, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_8, 1); -lean::inc(x_50); -lean::dec(x_8); -x_53 = lean::nat_add(x_45, x_48); -lean::dec(x_48); -lean::dec(x_45); -if (lean::is_scalar(x_47)) { - x_56 = lean::alloc_cnstr(0, 2, 0); +x_47 = lean::cnstr_get(x_7, 0); +lean::inc(x_47); +x_49 = lean::cnstr_get(x_7, 1); +lean::inc(x_49); +lean::dec(x_7); +x_52 = lean::nat_add(x_44, x_47); +lean::dec(x_47); +lean::dec(x_44); +if (lean::is_scalar(x_46)) { + x_55 = lean::alloc_cnstr(0, 2, 0); } else { - x_56 = x_47; + x_55 = x_46; } -lean::cnstr_set(x_56, 0, x_53); -lean::cnstr_set(x_56, 1, x_50); -if (lean::is_scalar(x_44)) { - x_57 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_55, 0, x_52); +lean::cnstr_set(x_55, 1, x_49); +if (lean::is_scalar(x_43)) { + x_56 = lean::alloc_cnstr(1, 2, 0); } else { - x_57 = x_44; + x_56 = x_43; } -lean::cnstr_set(x_57, 0, x_56); -lean::cnstr_set(x_57, 1, x_42); -x_3 = x_57; +lean::cnstr_set(x_56, 0, x_55); +lean::cnstr_set(x_56, 1, x_41); +x_3 = x_56; goto _start; } case 4: { -obj* x_59; obj* x_61; obj* x_62; obj* x_64; obj* x_65; obj* x_67; obj* x_71; obj* x_72; obj* x_73; obj* x_74; -x_59 = lean::cnstr_get(x_3, 1); +obj* x_58; obj* x_60; obj* x_61; obj* x_63; obj* x_64; obj* x_66; obj* x_70; obj* x_71; obj* x_72; obj* x_73; +x_58 = lean::cnstr_get(x_3, 1); if (lean::is_exclusive(x_3)) { lean::cnstr_release(x_3, 0); - x_61 = x_3; + x_60 = x_3; } else { - lean::inc(x_59); + lean::inc(x_58); lean::dec(x_3); - x_61 = lean::box(0); + x_60 = lean::box(0); } -x_62 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_release(x_6, 1); - x_64 = x_6; +x_61 = lean::cnstr_get(x_5, 0); +if (lean::is_exclusive(x_5)) { + lean::cnstr_release(x_5, 1); + x_63 = x_5; } else { - lean::inc(x_62); - lean::dec(x_6); - x_64 = lean::box(0); + lean::inc(x_61); + lean::dec(x_5); + x_63 = lean::box(0); } -x_65 = lean::cnstr_get(x_8, 0); -lean::inc(x_65); -x_67 = lean::cnstr_get(x_8, 1); -lean::inc(x_67); -lean::dec(x_8); -lean::inc(x_62); -if (lean::is_scalar(x_64)) { - x_71 = lean::alloc_cnstr(0, 2, 0); +x_64 = lean::cnstr_get(x_7, 0); +lean::inc(x_64); +x_66 = lean::cnstr_get(x_7, 1); +lean::inc(x_66); +lean::dec(x_7); +lean::inc(x_61); +if (lean::is_scalar(x_63)) { + x_70 = lean::alloc_cnstr(0, 2, 0); } else { - x_71 = x_64; + x_70 = x_63; } -lean::cnstr_set(x_71, 0, x_62); -lean::cnstr_set(x_71, 1, x_65); -x_72 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_72, 0, x_62); -lean::cnstr_set(x_72, 1, x_67); -if (lean::is_scalar(x_61)) { - x_73 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_70, 0, x_61); +lean::cnstr_set(x_70, 1, x_64); +x_71 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_71, 0, x_61); +lean::cnstr_set(x_71, 1, x_66); +if (lean::is_scalar(x_60)) { + x_72 = lean::alloc_cnstr(1, 2, 0); } else { - x_73 = x_61; + x_72 = x_60; } -lean::cnstr_set(x_73, 0, x_72); -lean::cnstr_set(x_73, 1, x_59); -x_74 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_74, 0, x_71); -lean::cnstr_set(x_74, 1, x_73); -x_3 = x_74; +lean::cnstr_set(x_72, 0, x_71); +lean::cnstr_set(x_72, 1, x_58); +x_73 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_73, 0, x_70); +lean::cnstr_set(x_73, 1, x_72); +x_3 = x_73; goto _start; } default: { -obj* x_76; obj* x_78; obj* x_79; obj* x_81; obj* x_82; obj* x_84; obj* x_87; obj* x_91; uint8 x_92; -x_76 = lean::cnstr_get(x_3, 1); +obj* x_75; obj* x_77; obj* x_78; obj* x_80; obj* x_81; obj* x_83; obj* x_86; obj* x_88; uint8 x_89; +x_75 = lean::cnstr_get(x_3, 1); if (lean::is_exclusive(x_3)) { lean::cnstr_release(x_3, 0); lean::cnstr_set(x_3, 1, lean::box(0)); - x_78 = x_3; + x_77 = x_3; } else { - lean::inc(x_76); + lean::inc(x_75); lean::dec(x_3); - x_78 = lean::box(0); + x_77 = lean::box(0); } -x_79 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - lean::cnstr_release(x_6, 1); - x_81 = x_6; +x_78 = lean::cnstr_get(x_5, 0); +if (lean::is_exclusive(x_5)) { + lean::cnstr_set(x_5, 0, lean::box(0)); + lean::cnstr_release(x_5, 1); + x_80 = x_5; } else { - lean::inc(x_79); - lean::dec(x_6); - x_81 = lean::box(0); + lean::inc(x_78); + lean::dec(x_5); + x_80 = lean::box(0); } -x_82 = lean::cnstr_get(x_8, 0); -lean::inc(x_82); -x_84 = lean::cnstr_get(x_8, 1); -lean::inc(x_84); -lean::dec(x_8); -lean::inc(x_0); -lean::inc(x_82); -x_91 = l_Lean_Format_spaceUptoLine___main(x_82, x_0); +x_81 = lean::cnstr_get(x_7, 0); +lean::inc(x_81); +x_83 = lean::cnstr_get(x_7, 1); +lean::inc(x_83); +lean::dec(x_7); +x_88 = l_Lean_Format_spaceUptoLine___main(x_81, x_0); +x_89 = lean::cnstr_get_scalar(x_88, sizeof(void*)*1 + 1); +if (x_89 == 0) +{ +uint8 x_90; +x_90 = lean::cnstr_get_scalar(x_88, sizeof(void*)*1); +if (x_90 == 0) +{ +obj* x_91; uint8 x_92; +x_91 = l_Lean_Format_spaceUptoLine_x_27___main(x_75, x_0); x_92 = lean::cnstr_get_scalar(x_91, sizeof(void*)*1 + 1); if (x_92 == 0) { @@ -983,113 +952,97 @@ uint8 x_93; x_93 = lean::cnstr_get_scalar(x_91, sizeof(void*)*1); if (x_93 == 0) { -obj* x_96; obj* x_97; obj* x_98; uint8 x_100; -lean::inc(x_0); -lean::inc(x_76); -x_96 = lean::alloc_closure(reinterpret_cast(l_Lean_Format_spaceUptoLine_x_27___main___lambda__1___boxed), 3, 2); -lean::closure_set(x_96, 0, x_76); -lean::closure_set(x_96, 1, x_0); -x_97 = lean::mk_thunk(x_96); -x_98 = lean::thunk_get_own(x_97); +obj* x_94; obj* x_97; obj* x_100; uint8 x_103; uint8 x_104; obj* x_105; obj* x_106; obj* x_107; +x_94 = lean::cnstr_get(x_88, 0); +lean::inc(x_94); +lean::dec(x_88); +x_97 = lean::cnstr_get(x_91, 0); +lean::inc(x_97); +lean::dec(x_91); +x_100 = lean::nat_add(x_94, x_97); lean::dec(x_97); -x_100 = lean::cnstr_get_scalar(x_98, sizeof(void*)*1 + 1); -if (x_100 == 0) -{ -uint8 x_101; -x_101 = lean::cnstr_get_scalar(x_98, sizeof(void*)*1); -if (x_101 == 0) -{ -obj* x_102; obj* x_105; obj* x_108; uint8 x_111; uint8 x_112; obj* x_113; obj* x_114; obj* x_115; -x_102 = lean::cnstr_get(x_91, 0); -lean::inc(x_102); -lean::dec(x_91); -x_105 = lean::cnstr_get(x_98, 0); -lean::inc(x_105); -lean::dec(x_98); -x_108 = lean::nat_add(x_102, x_105); -lean::dec(x_105); -lean::dec(x_102); -x_111 = lean::nat_dec_lt(x_0, x_108); -x_112 = 0; -x_113 = lean::alloc_cnstr(0, 1, 2); -lean::cnstr_set(x_113, 0, x_108); -lean::cnstr_set_scalar(x_113, sizeof(void*)*1, x_112); -x_114 = x_113; -lean::cnstr_set_scalar(x_114, sizeof(void*)*1 + 1, x_111); -x_115 = x_114; -x_87 = x_115; -goto lbl_88; +lean::dec(x_94); +x_103 = lean::nat_dec_lt(x_0, x_100); +x_104 = 0; +x_105 = lean::alloc_cnstr(0, 1, 2); +lean::cnstr_set(x_105, 0, x_100); +lean::cnstr_set_scalar(x_105, sizeof(void*)*1, x_104); +x_106 = x_105; +lean::cnstr_set_scalar(x_106, sizeof(void*)*1 + 1, x_103); +x_107 = x_106; +x_86 = x_107; +goto lbl_87; } else { -lean::dec(x_91); -x_87 = x_98; -goto lbl_88; +lean::dec(x_88); +x_86 = x_91; +goto lbl_87; } } else { -lean::dec(x_91); -x_87 = x_98; -goto lbl_88; +lean::dec(x_88); +x_86 = x_91; +goto lbl_87; } } else { -x_87 = x_91; -goto lbl_88; +x_86 = x_88; +goto lbl_87; } } else { -x_87 = x_91; -goto lbl_88; +x_86 = x_88; +goto lbl_87; } -lbl_88: +lbl_87: { -uint8 x_118; -x_118 = lean::cnstr_get_scalar(x_87, sizeof(void*)*1 + 1); -lean::dec(x_87); -if (x_118 == 0) +uint8 x_110; +x_110 = lean::cnstr_get_scalar(x_86, sizeof(void*)*1 + 1); +lean::dec(x_86); +if (x_110 == 0) { -obj* x_121; obj* x_122; -lean::dec(x_84); -if (lean::is_scalar(x_81)) { - x_121 = lean::alloc_cnstr(0, 2, 0); +obj* x_113; obj* x_114; +lean::dec(x_83); +if (lean::is_scalar(x_80)) { + x_113 = lean::alloc_cnstr(0, 2, 0); } else { - x_121 = x_81; + x_113 = x_80; } -lean::cnstr_set(x_121, 0, x_79); -lean::cnstr_set(x_121, 1, x_82); -if (lean::is_scalar(x_78)) { - x_122 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_113, 0, x_78); +lean::cnstr_set(x_113, 1, x_81); +if (lean::is_scalar(x_77)) { + x_114 = lean::alloc_cnstr(1, 2, 0); } else { - x_122 = x_78; + x_114 = x_77; } -lean::cnstr_set(x_122, 0, x_121); -lean::cnstr_set(x_122, 1, x_76); -x_3 = x_122; +lean::cnstr_set(x_114, 0, x_113); +lean::cnstr_set(x_114, 1, x_75); +x_3 = x_114; goto _start; } else { -obj* x_125; obj* x_126; -lean::dec(x_82); -if (lean::is_scalar(x_81)) { - x_125 = lean::alloc_cnstr(0, 2, 0); +obj* x_117; obj* x_118; +lean::dec(x_81); +if (lean::is_scalar(x_80)) { + x_117 = lean::alloc_cnstr(0, 2, 0); } else { - x_125 = x_81; + x_117 = x_80; } -lean::cnstr_set(x_125, 0, x_79); -lean::cnstr_set(x_125, 1, x_84); -if (lean::is_scalar(x_78)) { - x_126 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_117, 0, x_78); +lean::cnstr_set(x_117, 1, x_83); +if (lean::is_scalar(x_77)) { + x_118 = lean::alloc_cnstr(1, 2, 0); } else { - x_126 = x_78; + x_118 = x_77; } -lean::cnstr_set(x_126, 0, x_125); -lean::cnstr_set(x_126, 1, x_76); -x_3 = x_126; +lean::cnstr_set(x_118, 0, x_117); +lean::cnstr_set(x_118, 1, x_75); +x_3 = x_118; goto _start; } } @@ -1098,6 +1051,15 @@ goto _start; } } } +obj* l_Lean_Format_be___main___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_Lean_Format_be___main(x_0, x_1, x_2, x_3); +lean::dec(x_0); +return x_4; +} +} obj* l_Lean_Format_be(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { @@ -1106,6 +1068,15 @@ x_4 = l_Lean_Format_be___main(x_0, x_1, x_2, x_3); return x_4; } } +obj* l_Lean_Format_be___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_Lean_Format_be(x_0, x_1, x_2, x_3); +lean::dec(x_0); +return x_4; +} +} obj* l_Lean_Format_bracket(obj* x_0, obj* x_1, obj* x_2) { _start: { @@ -1447,6 +1418,7 @@ lean::cnstr_set(x_8, 0, x_6); lean::cnstr_set(x_8, 1, x_7); x_9 = l_String_splitAux___main___closed__1; x_10 = l_Lean_Format_be___main(x_4, x_5, x_9, x_8); +lean::dec(x_4); return x_10; } } diff --git a/src/stage0/init/lean/parser/level.cpp b/src/stage0/init/lean/parser/level.cpp index bcc4d55c86..74b6e910f7 100644 --- a/src/stage0/init/lean/parser/level.cpp +++ b/src/stage0/init/lean/parser/level.cpp @@ -6340,7 +6340,7 @@ return x_32; } else { -obj* x_38; obj* x_39; obj* x_41; obj* x_43; obj* x_44; obj* x_45; +obj* x_38; obj* x_39; lean::dec(x_16); lean::dec(x_23); lean::inc(x_5); @@ -6348,144 +6348,144 @@ lean::inc(x_4); lean::inc(x_0); x_38 = lean::apply_5(x_0, x_3, x_4, x_5, x_19, x_14); x_39 = lean::cnstr_get(x_38, 0); -x_41 = lean::cnstr_get(x_38, 1); -if (lean::is_exclusive(x_38)) { - lean::cnstr_set(x_38, 0, lean::box(0)); - lean::cnstr_set(x_38, 1, lean::box(0)); - x_43 = x_38; -} else { - lean::inc(x_39); - lean::inc(x_41); - lean::dec(x_38); - x_43 = lean::box(0); -} -x_44 = lean::mk_nat_obj(1ul); -x_45 = lean::nat_sub(x_2, x_44); +lean::inc(x_39); if (lean::obj_tag(x_39) == 0) { -obj* x_47; obj* x_49; obj* x_51; obj* x_54; obj* x_56; obj* x_58; obj* x_60; obj* x_61; obj* x_62; obj* x_63; -lean::dec(x_43); -x_47 = lean::cnstr_get(x_39, 0); -lean::inc(x_47); -x_49 = lean::cnstr_get(x_39, 1); -lean::inc(x_49); -x_51 = lean::cnstr_get(x_39, 2); -lean::inc(x_51); +obj* x_41; obj* x_44; obj* x_46; obj* x_48; obj* x_51; obj* x_52; obj* x_53; obj* x_55; obj* x_57; obj* x_59; obj* x_60; obj* x_61; obj* x_62; +x_41 = lean::cnstr_get(x_38, 1); +lean::inc(x_41); +lean::dec(x_38); +x_44 = lean::cnstr_get(x_39, 0); +lean::inc(x_44); +x_46 = lean::cnstr_get(x_39, 1); +lean::inc(x_46); +x_48 = lean::cnstr_get(x_39, 2); +lean::inc(x_48); lean::dec(x_39); -x_54 = l___private_init_lean_parser_pratt_1__trailingLoop___main___at_Lean_Parser_levelParser_run___spec__2(x_0, x_1, x_45, x_47, x_4, x_5, x_49, x_41); -lean::dec(x_45); -x_56 = lean::cnstr_get(x_54, 0); -x_58 = lean::cnstr_get(x_54, 1); -if (lean::is_exclusive(x_54)) { - x_60 = x_54; +x_51 = lean::mk_nat_obj(1ul); +x_52 = lean::nat_sub(x_2, x_51); +x_53 = l___private_init_lean_parser_pratt_1__trailingLoop___main___at_Lean_Parser_levelParser_run___spec__2(x_0, x_1, x_52, x_44, x_4, x_5, x_46, x_41); +lean::dec(x_52); +x_55 = lean::cnstr_get(x_53, 0); +x_57 = lean::cnstr_get(x_53, 1); +if (lean::is_exclusive(x_53)) { + x_59 = x_53; } else { - lean::inc(x_56); - lean::inc(x_58); - lean::dec(x_54); - x_60 = lean::box(0); + lean::inc(x_55); + lean::inc(x_57); + lean::dec(x_53); + x_59 = lean::box(0); } -x_61 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_51, x_56); -x_62 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_21, x_61); -if (lean::is_scalar(x_60)) { - x_63 = lean::alloc_cnstr(0, 2, 0); +x_60 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_48, x_55); +x_61 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_21, x_60); +if (lean::is_scalar(x_59)) { + x_62 = lean::alloc_cnstr(0, 2, 0); } else { - x_63 = x_60; + x_62 = x_59; } -lean::cnstr_set(x_63, 0, x_62); -lean::cnstr_set(x_63, 1, x_58); -return x_63; +lean::cnstr_set(x_62, 0, x_61); +lean::cnstr_set(x_62, 1, x_57); +return x_62; } else { -obj* x_68; uint8 x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; +obj* x_66; obj* x_68; obj* x_69; uint8 x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; obj* x_76; lean::dec(x_5); lean::dec(x_4); lean::dec(x_0); -lean::dec(x_45); -x_68 = lean::cnstr_get(x_39, 0); -x_70 = lean::cnstr_get_scalar(x_39, sizeof(void*)*1); +x_66 = lean::cnstr_get(x_38, 1); +if (lean::is_exclusive(x_38)) { + lean::cnstr_release(x_38, 0); + x_68 = x_38; +} else { + lean::inc(x_66); + lean::dec(x_38); + x_68 = lean::box(0); +} +x_69 = lean::cnstr_get(x_39, 0); +x_71 = lean::cnstr_get_scalar(x_39, sizeof(void*)*1); if (lean::is_exclusive(x_39)) { - x_71 = x_39; + x_72 = x_39; } else { - lean::inc(x_68); + lean::inc(x_69); lean::dec(x_39); - x_71 = lean::box(0); + x_72 = lean::box(0); } -if (lean::is_scalar(x_71)) { - x_72 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_72)) { + x_73 = lean::alloc_cnstr(1, 1, 1); } else { - x_72 = x_71; + x_73 = x_72; } -lean::cnstr_set(x_72, 0, x_68); -lean::cnstr_set_scalar(x_72, sizeof(void*)*1, x_70); -x_73 = x_72; -x_74 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_21, x_73); -if (lean::is_scalar(x_43)) { - x_75 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_73, 0, x_69); +lean::cnstr_set_scalar(x_73, sizeof(void*)*1, x_71); +x_74 = x_73; +x_75 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_21, x_74); +if (lean::is_scalar(x_68)) { + x_76 = lean::alloc_cnstr(0, 2, 0); } else { - x_75 = x_43; + x_76 = x_68; } -lean::cnstr_set(x_75, 0, x_74); -lean::cnstr_set(x_75, 1, x_41); -return x_75; +lean::cnstr_set(x_76, 0, x_75); +lean::cnstr_set(x_76, 1, x_66); +return x_76; } } } else { -obj* x_80; obj* x_82; obj* x_83; uint8 x_85; obj* x_86; obj* x_87; obj* x_88; obj* x_89; +obj* x_81; obj* x_83; obj* x_84; uint8 x_86; obj* x_87; obj* x_88; obj* x_89; obj* x_90; lean::dec(x_5); lean::dec(x_4); lean::dec(x_3); lean::dec(x_0); -x_80 = lean::cnstr_get(x_11, 1); +x_81 = lean::cnstr_get(x_11, 1); if (lean::is_exclusive(x_11)) { lean::cnstr_release(x_11, 0); - x_82 = x_11; + x_83 = x_11; } else { - lean::inc(x_80); + lean::inc(x_81); lean::dec(x_11); - x_82 = lean::box(0); + x_83 = lean::box(0); } -x_83 = lean::cnstr_get(x_12, 0); -x_85 = lean::cnstr_get_scalar(x_12, sizeof(void*)*1); +x_84 = lean::cnstr_get(x_12, 0); +x_86 = lean::cnstr_get_scalar(x_12, sizeof(void*)*1); if (lean::is_exclusive(x_12)) { - x_86 = x_12; + x_87 = x_12; } else { - lean::inc(x_83); + lean::inc(x_84); lean::dec(x_12); - x_86 = lean::box(0); + x_87 = lean::box(0); } -if (lean::is_scalar(x_86)) { - x_87 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_87)) { + x_88 = lean::alloc_cnstr(1, 1, 1); } else { - x_87 = x_86; + x_88 = x_87; } -lean::cnstr_set(x_87, 0, x_83); -lean::cnstr_set_scalar(x_87, sizeof(void*)*1, x_85); -x_88 = x_87; -if (lean::is_scalar(x_82)) { - x_89 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_88, 0, x_84); +lean::cnstr_set_scalar(x_88, sizeof(void*)*1, x_86); +x_89 = x_88; +if (lean::is_scalar(x_83)) { + x_90 = lean::alloc_cnstr(0, 2, 0); } else { - x_89 = x_82; + x_90 = x_83; } -lean::cnstr_set(x_89, 0, x_88); -lean::cnstr_set(x_89, 1, x_80); -return x_89; +lean::cnstr_set(x_90, 0, x_89); +lean::cnstr_set(x_90, 1, x_81); +return x_90; } } else { -obj* x_92; obj* x_93; obj* x_94; obj* x_95; +obj* x_93; obj* x_94; obj* x_95; obj* x_96; lean::dec(x_3); lean::dec(x_0); -x_92 = lean::box(0); -x_93 = l___private_init_lean_parser_combinators_1__many1Aux___main___rarg___closed__1; -x_94 = l_mjoin___rarg___closed__1; -x_95 = l_Lean_Parser_MonadParsec_error___at_Lean_Parser_levelParser_run___spec__3___rarg(x_93, x_94, x_92, x_92, x_4, x_5, x_6, x_7); +x_93 = lean::box(0); +x_94 = l___private_init_lean_parser_combinators_1__many1Aux___main___rarg___closed__1; +x_95 = l_mjoin___rarg___closed__1; +x_96 = l_Lean_Parser_MonadParsec_error___at_Lean_Parser_levelParser_run___spec__3___rarg(x_94, x_95, x_93, x_93, x_4, x_5, x_6, x_7); lean::dec(x_5); lean::dec(x_4); -return x_95; +return x_96; } } } diff --git a/src/stage0/init/lean/parser/module.cpp b/src/stage0/init/lean/parser/module.cpp index ab9b0a4570..832d3c4785 100644 --- a/src/stage0/init/lean/parser/module.cpp +++ b/src/stage0/init/lean/parser/module.cpp @@ -2087,66 +2087,62 @@ return x_2; } else { -obj* x_3; obj* x_5; +obj* x_3; obj* x_5; obj* x_6; x_3 = lean::cnstr_get(x_1, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_3, 1); -lean::inc(x_5); -lean::dec(x_3); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_9; -lean::dec(x_1); -x_9 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__5; -return x_9; +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_5 = x_1; +} else { + lean::inc(x_3); + lean::dec(x_1); + x_5 = lean::box(0); } -else +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +if (lean::obj_tag(x_6) == 0) { obj* x_10; -x_10 = lean::cnstr_get(x_5, 1); -lean::inc(x_10); -if (lean::obj_tag(x_10) == 0) -{ -obj* x_12; obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_12 = lean::cnstr_get(x_5, 0); -lean::inc(x_12); -x_14 = l_Lean_Parser_Module_prelude_HasView; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_12); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -if (lean::obj_tag(x_1) == 0) -{ -obj* x_21; obj* x_22; lean::dec(x_5); -x_21 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__1; -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_19); -lean::cnstr_set(x_22, 1, x_21); -return x_22; +x_10 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__5; +return x_10; } else { -obj* x_24; obj* x_25; obj* x_26; -lean::dec(x_1); -x_24 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__2; -x_25 = l_List_map___main___rarg(x_24, x_5); -x_26 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_26, 0, x_19); -lean::cnstr_set(x_26, 1, x_25); -return x_26; +obj* x_11; +x_11 = lean::cnstr_get(x_6, 1); +lean::inc(x_11); +if (lean::obj_tag(x_11) == 0) +{ +obj* x_13; obj* x_15; obj* x_16; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; +x_13 = lean::cnstr_get(x_6, 0); +lean::inc(x_13); +x_15 = l_Lean_Parser_Module_prelude_HasView; +x_16 = lean::cnstr_get(x_15, 0); +lean::inc(x_16); +lean::dec(x_15); +x_19 = lean::apply_1(x_16, x_13); +if (lean::is_scalar(x_5)) { + x_20 = lean::alloc_cnstr(1, 1, 0); +} else { + x_20 = x_5; } +lean::cnstr_set(x_20, 0, x_19); +x_21 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__2; +x_22 = l_List_map___main___rarg(x_21, x_6); +x_23 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_23, 0, x_20); +lean::cnstr_set(x_23, 1, x_22); +return x_23; } else { -obj* x_30; +obj* x_27; +lean::dec(x_11); +lean::dec(x_6); lean::dec(x_5); -lean::dec(x_1); -lean::dec(x_10); -x_30 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__3; -return x_30; +x_27 = l_Lean_Parser_Module_header_HasView_x_27___lambda__1___closed__3; +return x_27; } } } diff --git a/src/stage0/init/lean/parser/notation.cpp b/src/stage0/init/lean/parser/notation.cpp index c30b905827..533a4c467f 100644 --- a/src/stage0/init/lean/parser/notation.cpp +++ b/src/stage0/init/lean/parser/notation.cpp @@ -14158,87 +14158,83 @@ return x_2; } else { -obj* x_3; obj* x_5; +obj* x_3; obj* x_5; obj* x_6; x_3 = lean::cnstr_get(x_1, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_3, 1); -lean::inc(x_5); -lean::dec(x_3); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_9; -lean::dec(x_1); -x_9 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__5; -return x_9; +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_5 = x_1; +} else { + lean::inc(x_3); + lean::dec(x_1); + x_5 = lean::box(0); } -else +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +if (lean::obj_tag(x_6) == 0) { obj* x_10; -x_10 = lean::cnstr_get(x_5, 1); -lean::inc(x_10); -if (lean::obj_tag(x_10) == 0) -{ -obj* x_12; -x_12 = lean::cnstr_get(x_5, 0); -lean::inc(x_12); -switch (lean::obj_tag(x_12)) { -case 1: -{ -obj* x_14; obj* x_17; -x_14 = lean::cnstr_get(x_12, 0); -lean::inc(x_14); -lean::dec(x_12); -x_17 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -if (lean::obj_tag(x_1) == 0) -{ -obj* x_19; obj* x_20; lean::dec(x_5); -x_19 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__1; -x_20 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_20, 0, x_17); -lean::cnstr_set(x_20, 1, x_19); -return x_20; +x_10 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__5; +return x_10; } else { -obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_1); -x_22 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__2; -x_23 = l_List_map___main___rarg(x_22, x_5); -x_24 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_24, 0, x_17); -lean::cnstr_set(x_24, 1, x_23); -return x_24; +obj* x_11; +x_11 = lean::cnstr_get(x_6, 1); +lean::inc(x_11); +if (lean::obj_tag(x_11) == 0) +{ +obj* x_13; +x_13 = lean::cnstr_get(x_6, 0); +lean::inc(x_13); +switch (lean::obj_tag(x_13)) { +case 1: +{ +obj* x_15; obj* x_18; obj* x_19; obj* x_20; obj* x_21; +x_15 = lean::cnstr_get(x_13, 0); +lean::inc(x_15); +lean::dec(x_13); +if (lean::is_scalar(x_5)) { + x_18 = lean::alloc_cnstr(1, 1, 0); +} else { + x_18 = x_5; } +lean::cnstr_set(x_18, 0, x_15); +x_19 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__2; +x_20 = l_List_map___main___rarg(x_19, x_6); +x_21 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_21, 0, x_18); +lean::cnstr_set(x_21, 1, x_20); +return x_21; } case 3: { -obj* x_27; +obj* x_24; +lean::dec(x_6); lean::dec(x_5); -lean::dec(x_1); -x_27 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; -return x_27; +x_24 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; +return x_24; } default: { -obj* x_31; -lean::dec(x_12); +obj* x_28; +lean::dec(x_6); lean::dec(x_5); -lean::dec(x_1); -x_31 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; -return x_31; +lean::dec(x_13); +x_28 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; +return x_28; } } } else { -obj* x_35; +obj* x_32; +lean::dec(x_11); +lean::dec(x_6); lean::dec(x_5); -lean::dec(x_1); -lean::dec(x_10); -x_35 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; -return x_35; +x_32 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; +return x_32; } } } diff --git a/src/stage0/init/lean/parser/term.cpp b/src/stage0/init/lean/parser/term.cpp index e70e014475..b7ecb291ad 100644 --- a/src/stage0/init/lean/parser/term.cpp +++ b/src/stage0/init/lean/parser/term.cpp @@ -19500,84 +19500,70 @@ return x_2; } else { -obj* x_3; obj* x_5; obj* x_8; obj* x_10; +obj* x_3; obj* x_5; obj* x_6; obj* x_9; obj* x_11; x_3 = lean::cnstr_get(x_1, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_3, 1); -lean::inc(x_5); -lean::dec(x_3); -x_8 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__4; -lean::inc(x_5); -x_10 = l_List_map___main___rarg(x_8, x_5); -if (lean::obj_tag(x_1) == 0) -{ -obj* x_12; obj* x_13; -lean::dec(x_5); -x_12 = l_Lean_Parser_Term_bindersExt_HasView_x_27___lambda__1___closed__4; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_10); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -else -{ -obj* x_14; if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_14 = x_1; + lean::cnstr_set(x_1, 0, lean::box(0)); + x_5 = x_1; } else { + lean::inc(x_3); lean::dec(x_1); - x_14 = lean::box(0); + x_5 = lean::box(0); } -if (lean::obj_tag(x_5) == 0) +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +x_9 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__4; +lean::inc(x_6); +x_11 = l_List_map___main___rarg(x_9, x_6); +if (lean::obj_tag(x_6) == 0) { -obj* x_16; obj* x_17; -lean::dec(x_14); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_10); -lean::cnstr_set(x_17, 1, x_16); -return x_17; +obj* x_13; obj* x_14; +lean::dec(x_5); +x_13 = lean::box(0); +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; } else { -obj* x_18; -x_18 = lean::cnstr_get(x_5, 1); -lean::inc(x_18); -if (lean::obj_tag(x_18) == 0) +obj* x_15; +x_15 = lean::cnstr_get(x_6, 1); +lean::inc(x_15); +if (lean::obj_tag(x_15) == 0) { -obj* x_20; obj* x_23; obj* x_24; obj* x_27; obj* x_28; obj* x_29; -x_20 = lean::cnstr_get(x_5, 0); -lean::inc(x_20); -lean::dec(x_5); -x_23 = l_Lean_Parser_Term_bindersRemainder_HasView; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_20); -if (lean::is_scalar(x_14)) { - x_28 = lean::alloc_cnstr(1, 1, 0); +obj* x_17; obj* x_20; obj* x_21; obj* x_24; obj* x_25; obj* x_26; +x_17 = lean::cnstr_get(x_6, 0); +lean::inc(x_17); +lean::dec(x_6); +x_20 = l_Lean_Parser_Term_bindersRemainder_HasView; +x_21 = lean::cnstr_get(x_20, 0); +lean::inc(x_21); +lean::dec(x_20); +x_24 = lean::apply_1(x_21, x_17); +if (lean::is_scalar(x_5)) { + x_25 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_14; + x_25 = x_5; } -lean::cnstr_set(x_28, 0, x_27); -x_29 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_29, 0, x_10); -lean::cnstr_set(x_29, 1, x_28); -return x_29; +lean::cnstr_set(x_25, 0, x_24); +x_26 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_26, 0, x_11); +lean::cnstr_set(x_26, 1, x_25); +return x_26; } else { -obj* x_33; obj* x_34; -lean::dec(x_14); +obj* x_30; obj* x_31; +lean::dec(x_6); lean::dec(x_5); -lean::dec(x_18); -x_33 = l_Lean_Parser_Term_bindersExt_HasView_x_27___lambda__1___closed__4; -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_10); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} +lean::dec(x_15); +x_30 = l_Lean_Parser_Term_bindersExt_HasView_x_27___lambda__1___closed__4; +x_31 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_31, 0, x_11); +lean::cnstr_set(x_31, 1, x_30); +return x_31; } } } @@ -24336,8 +24322,6 @@ x_0 = lean::box(3); x_1 = l_Lean_Parser_Syntax_asNode___main(x_0); if (lean::obj_tag(x_1) == 0) { -if (lean::obj_tag(x_1) == 0) -{ obj* x_2; obj* x_3; obj* x_4; obj* x_5; x_2 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; x_3 = l_Lean_Parser_Term_letLhsId_HasView_x_27___lambda__1___closed__1; @@ -24350,7 +24334,7 @@ return x_5; } else { -obj* x_6; obj* x_8; obj* x_9; +obj* x_6; obj* x_8; obj* x_9; obj* x_12; obj* x_14; x_6 = lean::cnstr_get(x_1, 0); if (lean::is_exclusive(x_1)) { lean::cnstr_set(x_1, 0, lean::box(0)); @@ -24363,159 +24347,67 @@ if (lean::is_exclusive(x_1)) { x_9 = lean::cnstr_get(x_6, 1); lean::inc(x_9); lean::dec(x_6); +x_12 = l_Lean_Parser_Term_bracketedBinders_HasView_x_27___lambda__1___closed__4; +lean::inc(x_9); +x_14 = l_List_map___main___rarg(x_12, x_9); if (lean::obj_tag(x_9) == 0) { -obj* x_13; obj* x_14; obj* x_15; obj* x_16; +obj* x_16; obj* x_17; obj* x_18; lean::dec(x_8); -x_13 = lean::box(0); -x_14 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_15 = l_Lean_Parser_Term_letLhsId_HasView_x_27___lambda__1___closed__1; -x_16 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_16, 0, x_14); -lean::cnstr_set(x_16, 1, x_15); -lean::cnstr_set(x_16, 2, x_13); -return x_16; +x_16 = lean::box(0); +x_17 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_18 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_18, 0, x_17); +lean::cnstr_set(x_18, 1, x_14); +lean::cnstr_set(x_18, 2, x_16); +return x_18; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_9, 1); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_19; obj* x_22; obj* x_23; obj* x_26; obj* x_27; obj* x_28; obj* x_29; obj* x_30; -x_19 = lean::cnstr_get(x_9, 0); +obj* x_19; +x_19 = lean::cnstr_get(x_9, 1); lean::inc(x_19); +if (lean::obj_tag(x_19) == 0) +{ +obj* x_21; obj* x_24; obj* x_25; obj* x_28; obj* x_29; obj* x_30; obj* x_31; +x_21 = lean::cnstr_get(x_9, 0); +lean::inc(x_21); lean::dec(x_9); -x_22 = l_Lean_Parser_Term_typeSpec_HasView; -x_23 = lean::cnstr_get(x_22, 0); -lean::inc(x_23); -lean::dec(x_22); -x_26 = lean::apply_1(x_23, x_19); +x_24 = l_Lean_Parser_Term_typeSpec_HasView; +x_25 = lean::cnstr_get(x_24, 0); +lean::inc(x_25); +lean::dec(x_24); +x_28 = lean::apply_1(x_25, x_21); if (lean::is_scalar(x_8)) { - x_27 = lean::alloc_cnstr(1, 1, 0); + x_29 = lean::alloc_cnstr(1, 1, 0); } else { - x_27 = x_8; + x_29 = x_8; } -lean::cnstr_set(x_27, 0, x_26); -x_28 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_29 = l_Lean_Parser_Term_letLhsId_HasView_x_27___lambda__1___closed__1; -x_30 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_30, 0, x_28); -lean::cnstr_set(x_30, 1, x_29); -lean::cnstr_set(x_30, 2, x_27); -return x_30; +lean::cnstr_set(x_29, 0, x_28); +x_30 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_31 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_31, 0, x_30); +lean::cnstr_set(x_31, 1, x_14); +lean::cnstr_set(x_31, 2, x_29); +return x_31; } else { -obj* x_34; obj* x_35; obj* x_36; obj* x_37; -lean::dec(x_8); -lean::dec(x_17); +obj* x_35; obj* x_36; obj* x_37; lean::dec(x_9); -x_34 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_35 = l_Lean_Parser_Term_letLhsId_HasView_x_27___lambda__1___closed__1; +lean::dec(x_19); +lean::dec(x_8); +x_35 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; x_36 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; x_37 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_37, 0, x_34); -lean::cnstr_set(x_37, 1, x_35); +lean::cnstr_set(x_37, 0, x_35); +lean::cnstr_set(x_37, 1, x_14); lean::cnstr_set(x_37, 2, x_36); return x_37; } } } } -else -{ -obj* x_38; obj* x_40; obj* x_43; obj* x_45; -x_38 = lean::cnstr_get(x_1, 0); -lean::inc(x_38); -x_40 = lean::cnstr_get(x_38, 1); -lean::inc(x_40); -lean::dec(x_38); -x_43 = l_Lean_Parser_Term_bracketedBinders_HasView_x_27___lambda__1___closed__4; -lean::inc(x_40); -x_45 = l_List_map___main___rarg(x_43, x_40); -if (lean::obj_tag(x_1) == 0) -{ -obj* x_47; obj* x_48; obj* x_49; -lean::dec(x_40); -x_47 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_48 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; -x_49 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_49, 0, x_47); -lean::cnstr_set(x_49, 1, x_45); -lean::cnstr_set(x_49, 2, x_48); -return x_49; -} -else -{ -obj* x_50; -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_50 = x_1; -} else { - lean::dec(x_1); - x_50 = lean::box(0); -} -if (lean::obj_tag(x_40) == 0) -{ -obj* x_52; obj* x_53; obj* x_54; -lean::dec(x_50); -x_52 = lean::box(0); -x_53 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_54 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_54, 0, x_53); -lean::cnstr_set(x_54, 1, x_45); -lean::cnstr_set(x_54, 2, x_52); -return x_54; -} -else -{ -obj* x_55; -x_55 = lean::cnstr_get(x_40, 1); -lean::inc(x_55); -if (lean::obj_tag(x_55) == 0) -{ -obj* x_57; obj* x_60; obj* x_61; obj* x_64; obj* x_65; obj* x_66; obj* x_67; -x_57 = lean::cnstr_get(x_40, 0); -lean::inc(x_57); -lean::dec(x_40); -x_60 = l_Lean_Parser_Term_typeSpec_HasView; -x_61 = lean::cnstr_get(x_60, 0); -lean::inc(x_61); -lean::dec(x_60); -x_64 = lean::apply_1(x_61, x_57); -if (lean::is_scalar(x_50)) { - x_65 = lean::alloc_cnstr(1, 1, 0); -} else { - x_65 = x_50; -} -lean::cnstr_set(x_65, 0, x_64); -x_66 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_66); -lean::cnstr_set(x_67, 1, x_45); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -else -{ -obj* x_71; obj* x_72; obj* x_73; -lean::dec(x_50); -lean::dec(x_40); -lean::dec(x_55); -x_71 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_72 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; -x_73 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_73, 0, x_71); -lean::cnstr_set(x_73, 1, x_45); -lean::cnstr_set(x_73, 2, x_72); -return x_73; -} -} -} -} -} } obj* l_Lean_Parser_Term_letLhsId_HasView_x_27___lambda__1(obj* x_0) { _start: @@ -46030,7 +45922,7 @@ return x_34; } else { -obj* x_41; obj* x_42; obj* x_44; obj* x_46; obj* x_47; obj* x_48; +obj* x_41; obj* x_42; lean::dec(x_17); lean::dec(x_24); lean::inc(x_6); @@ -46039,147 +45931,147 @@ lean::inc(x_4); lean::inc(x_0); x_41 = lean::apply_6(x_0, x_3, x_4, x_5, x_6, x_20, x_15); x_42 = lean::cnstr_get(x_41, 0); -x_44 = lean::cnstr_get(x_41, 1); -if (lean::is_exclusive(x_41)) { - lean::cnstr_set(x_41, 0, lean::box(0)); - lean::cnstr_set(x_41, 1, lean::box(0)); - x_46 = x_41; -} else { - lean::inc(x_42); - lean::inc(x_44); - lean::dec(x_41); - x_46 = lean::box(0); -} -x_47 = lean::mk_nat_obj(1ul); -x_48 = lean::nat_sub(x_2, x_47); +lean::inc(x_42); if (lean::obj_tag(x_42) == 0) { -obj* x_50; obj* x_52; obj* x_54; obj* x_57; obj* x_59; obj* x_61; obj* x_63; obj* x_64; obj* x_65; obj* x_66; -lean::dec(x_46); -x_50 = lean::cnstr_get(x_42, 0); -lean::inc(x_50); -x_52 = lean::cnstr_get(x_42, 1); -lean::inc(x_52); -x_54 = lean::cnstr_get(x_42, 2); -lean::inc(x_54); +obj* x_44; obj* x_47; obj* x_49; obj* x_51; obj* x_54; obj* x_55; obj* x_56; obj* x_58; obj* x_60; obj* x_62; obj* x_63; obj* x_64; obj* x_65; +x_44 = lean::cnstr_get(x_41, 1); +lean::inc(x_44); +lean::dec(x_41); +x_47 = lean::cnstr_get(x_42, 0); +lean::inc(x_47); +x_49 = lean::cnstr_get(x_42, 1); +lean::inc(x_49); +x_51 = lean::cnstr_get(x_42, 2); +lean::inc(x_51); lean::dec(x_42); -x_57 = l___private_init_lean_parser_pratt_1__trailingLoop___main___at_Lean_Parser_termParser_run___spec__3(x_0, x_1, x_48, x_50, x_4, x_5, x_6, x_52, x_44); -lean::dec(x_48); -x_59 = lean::cnstr_get(x_57, 0); -x_61 = lean::cnstr_get(x_57, 1); -if (lean::is_exclusive(x_57)) { - x_63 = x_57; +x_54 = lean::mk_nat_obj(1ul); +x_55 = lean::nat_sub(x_2, x_54); +x_56 = l___private_init_lean_parser_pratt_1__trailingLoop___main___at_Lean_Parser_termParser_run___spec__3(x_0, x_1, x_55, x_47, x_4, x_5, x_6, x_49, x_44); +lean::dec(x_55); +x_58 = lean::cnstr_get(x_56, 0); +x_60 = lean::cnstr_get(x_56, 1); +if (lean::is_exclusive(x_56)) { + x_62 = x_56; } else { - lean::inc(x_59); - lean::inc(x_61); - lean::dec(x_57); - x_63 = lean::box(0); + lean::inc(x_58); + lean::inc(x_60); + lean::dec(x_56); + x_62 = lean::box(0); } -x_64 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_54, x_59); -x_65 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_22, x_64); -if (lean::is_scalar(x_63)) { - x_66 = lean::alloc_cnstr(0, 2, 0); +x_63 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_51, x_58); +x_64 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_22, x_63); +if (lean::is_scalar(x_62)) { + x_65 = lean::alloc_cnstr(0, 2, 0); } else { - x_66 = x_63; + x_65 = x_62; } -lean::cnstr_set(x_66, 0, x_65); -lean::cnstr_set(x_66, 1, x_61); -return x_66; +lean::cnstr_set(x_65, 0, x_64); +lean::cnstr_set(x_65, 1, x_60); +return x_65; } else { -obj* x_72; uint8 x_74; obj* x_75; obj* x_76; obj* x_77; obj* x_78; obj* x_79; +obj* x_70; obj* x_72; obj* x_73; uint8 x_75; obj* x_76; obj* x_77; obj* x_78; obj* x_79; obj* x_80; lean::dec(x_5); lean::dec(x_4); lean::dec(x_6); lean::dec(x_0); -lean::dec(x_48); -x_72 = lean::cnstr_get(x_42, 0); -x_74 = lean::cnstr_get_scalar(x_42, sizeof(void*)*1); +x_70 = lean::cnstr_get(x_41, 1); +if (lean::is_exclusive(x_41)) { + lean::cnstr_release(x_41, 0); + x_72 = x_41; +} else { + lean::inc(x_70); + lean::dec(x_41); + x_72 = lean::box(0); +} +x_73 = lean::cnstr_get(x_42, 0); +x_75 = lean::cnstr_get_scalar(x_42, sizeof(void*)*1); if (lean::is_exclusive(x_42)) { - x_75 = x_42; + x_76 = x_42; } else { - lean::inc(x_72); + lean::inc(x_73); lean::dec(x_42); - x_75 = lean::box(0); + x_76 = lean::box(0); } -if (lean::is_scalar(x_75)) { - x_76 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_76)) { + x_77 = lean::alloc_cnstr(1, 1, 1); } else { - x_76 = x_75; + x_77 = x_76; } -lean::cnstr_set(x_76, 0, x_72); -lean::cnstr_set_scalar(x_76, sizeof(void*)*1, x_74); -x_77 = x_76; -x_78 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_22, x_77); -if (lean::is_scalar(x_46)) { - x_79 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_77, 0, x_73); +lean::cnstr_set_scalar(x_77, sizeof(void*)*1, x_75); +x_78 = x_77; +x_79 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_22, x_78); +if (lean::is_scalar(x_72)) { + x_80 = lean::alloc_cnstr(0, 2, 0); } else { - x_79 = x_46; + x_80 = x_72; } -lean::cnstr_set(x_79, 0, x_78); -lean::cnstr_set(x_79, 1, x_44); -return x_79; +lean::cnstr_set(x_80, 0, x_79); +lean::cnstr_set(x_80, 1, x_70); +return x_80; } } } else { -obj* x_85; obj* x_87; obj* x_88; uint8 x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_94; +obj* x_86; obj* x_88; obj* x_89; uint8 x_91; obj* x_92; obj* x_93; obj* x_94; obj* x_95; lean::dec(x_5); lean::dec(x_4); lean::dec(x_6); lean::dec(x_3); lean::dec(x_0); -x_85 = lean::cnstr_get(x_12, 1); +x_86 = lean::cnstr_get(x_12, 1); if (lean::is_exclusive(x_12)) { lean::cnstr_release(x_12, 0); - x_87 = x_12; + x_88 = x_12; } else { - lean::inc(x_85); + lean::inc(x_86); lean::dec(x_12); - x_87 = lean::box(0); + x_88 = lean::box(0); } -x_88 = lean::cnstr_get(x_13, 0); -x_90 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); +x_89 = lean::cnstr_get(x_13, 0); +x_91 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); if (lean::is_exclusive(x_13)) { - x_91 = x_13; + x_92 = x_13; } else { - lean::inc(x_88); + lean::inc(x_89); lean::dec(x_13); - x_91 = lean::box(0); + x_92 = lean::box(0); } -if (lean::is_scalar(x_91)) { - x_92 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_92)) { + x_93 = lean::alloc_cnstr(1, 1, 1); } else { - x_92 = x_91; + x_93 = x_92; } -lean::cnstr_set(x_92, 0, x_88); -lean::cnstr_set_scalar(x_92, sizeof(void*)*1, x_90); -x_93 = x_92; -if (lean::is_scalar(x_87)) { - x_94 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_93, 0, x_89); +lean::cnstr_set_scalar(x_93, sizeof(void*)*1, x_91); +x_94 = x_93; +if (lean::is_scalar(x_88)) { + x_95 = lean::alloc_cnstr(0, 2, 0); } else { - x_94 = x_87; + x_95 = x_88; } -lean::cnstr_set(x_94, 0, x_93); -lean::cnstr_set(x_94, 1, x_85); -return x_94; +lean::cnstr_set(x_95, 0, x_94); +lean::cnstr_set(x_95, 1, x_86); +return x_95; } } else { -obj* x_97; obj* x_98; obj* x_99; obj* x_100; +obj* x_98; obj* x_99; obj* x_100; obj* x_101; lean::dec(x_3); lean::dec(x_0); -x_97 = lean::box(0); -x_98 = l___private_init_lean_parser_combinators_1__many1Aux___main___rarg___closed__1; -x_99 = l_mjoin___rarg___closed__1; -x_100 = l_Lean_Parser_MonadParsec_error___at_Lean_Parser_termParser_run___spec__4___rarg(x_98, x_99, x_97, x_97, x_4, x_5, x_6, x_7, x_8); +x_98 = lean::box(0); +x_99 = l___private_init_lean_parser_combinators_1__many1Aux___main___rarg___closed__1; +x_100 = l_mjoin___rarg___closed__1; +x_101 = l_Lean_Parser_MonadParsec_error___at_Lean_Parser_termParser_run___spec__4___rarg(x_99, x_100, x_98, x_98, x_4, x_5, x_6, x_7, x_8); lean::dec(x_6); lean::dec(x_5); lean::dec(x_4); -return x_100; +return x_101; } } }