From 9d62e9ef792bf42df35eb096a2be2762c8a62205 Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Tue, 2 Apr 2019 11:18:55 -0700 Subject: [PATCH] chore(stage0): update --- src/stage0/init/data/char/basic.cpp | 23 +- src/stage0/init/lean/elaborator.cpp | 38 +- src/stage0/init/lean/parser/level.cpp | 189 +++++----- src/stage0/init/lean/parser/notation.cpp | 259 +++++++------- src/stage0/init/lean/parser/term.cpp | 419 +++++++++++----------- src/stage0/init/lean/parser/token.cpp | 424 ++++++++++++----------- src/stage0/init/lean/parser/trie.cpp | 59 ++-- 7 files changed, 728 insertions(+), 683 deletions(-) diff --git a/src/stage0/init/data/char/basic.cpp b/src/stage0/init/data/char/basic.cpp index bf133c664d..58d0a20002 100644 --- a/src/stage0/init/data/char/basic.cpp +++ b/src/stage0/init/data/char/basic.cpp @@ -111,17 +111,16 @@ x_17 = x_0 & x_16; x_18 = x_17 == x_13; if (x_18 == 0) { -uint32 x_19; uint32 x_20; uint32 x_21; uint8 x_22; -x_19 = 6; -x_20 = 254; -x_21 = x_0 & x_20; -x_22 = x_21 == x_16; -if (x_22 == 0) +uint32 x_19; uint32 x_20; uint8 x_21; +x_19 = 254; +x_20 = x_0 & x_19; +x_21 = x_20 == x_16; +if (x_21 == 0) { -uint32 x_23; uint8 x_24; -x_23 = 255; -x_24 = x_0 == x_23; -if (x_24 == 0) +uint32 x_22; uint8 x_23; +x_22 = 255; +x_23 = x_0 == x_22; +if (x_23 == 0) { return x_4; } @@ -132,7 +131,9 @@ return x_1; } else { -return x_19; +uint32 x_24; +x_24 = 6; +return x_24; } } else diff --git a/src/stage0/init/lean/elaborator.cpp b/src/stage0/init/lean/elaborator.cpp index 04c2213cdc..c2a0d87684 100644 --- a/src/stage0/init/lean/elaborator.cpp +++ b/src/stage0/init/lean/elaborator.cpp @@ -13339,46 +13339,46 @@ x_2346 = lean_name_dec_eq(x_8, x_2345); lean::dec(x_8); if (x_2346 == 0) { -obj* x_2348; obj* x_2349; -x_2348 = lean::box(0); -x_2349 = l_Lean_Parser_Syntax_getPos(x_0); +obj* x_2348; +x_2348 = l_Lean_Parser_Syntax_getPos(x_0); lean::dec(x_0); -if (lean::obj_tag(x_2349) == 0) +if (lean::obj_tag(x_2348) == 0) { -obj* x_2352; obj* x_2353; +obj* x_2351; obj* x_2352; lean::dec(x_2); if (lean::is_scalar(x_2333)) { - x_2352 = lean::alloc_cnstr(0, 2, 0); + x_2351 = lean::alloc_cnstr(0, 2, 0); } else { - x_2352 = x_2333; + x_2351 = x_2333; } -lean::cnstr_set(x_2352, 0, x_2344); -lean::cnstr_set(x_2352, 1, x_2331); +lean::cnstr_set(x_2351, 0, x_2344); +lean::cnstr_set(x_2351, 1, x_2331); if (lean::is_scalar(x_2328)) { - x_2353 = lean::alloc_cnstr(1, 1, 0); + x_2352 = lean::alloc_cnstr(1, 1, 0); } else { - x_2353 = x_2328; + x_2352 = x_2328; } -lean::cnstr_set(x_2353, 0, x_2352); -return x_2353; +lean::cnstr_set(x_2352, 0, x_2351); +return x_2352; } else { -obj* x_2354; obj* x_2357; obj* x_2360; obj* x_2363; obj* x_2364; obj* x_2366; obj* x_2367; obj* x_2368; obj* x_2371; obj* x_2372; obj* x_2373; obj* x_2374; obj* x_2375; -x_2354 = lean::cnstr_get(x_2349, 0); -lean::inc(x_2354); -lean::dec(x_2349); +obj* x_2353; obj* x_2356; obj* x_2357; obj* x_2360; obj* x_2363; obj* x_2364; obj* x_2366; obj* x_2367; obj* x_2368; obj* x_2371; obj* x_2372; obj* x_2373; obj* x_2374; obj* x_2375; +x_2353 = lean::cnstr_get(x_2348, 0); +lean::inc(x_2353); +lean::dec(x_2348); +x_2356 = lean::box(0); x_2357 = lean::cnstr_get(x_2, 0); lean::inc(x_2357); lean::dec(x_2); x_2360 = lean::cnstr_get(x_2357, 2); lean::inc(x_2360); lean::dec(x_2357); -x_2363 = l_Lean_FileMap_toPosition(x_2360, x_2354); +x_2363 = l_Lean_FileMap_toPosition(x_2360, x_2353); x_2364 = lean::cnstr_get(x_2363, 1); lean::inc(x_2364); x_2366 = l_Lean_Elaborator_toPexpr___main___closed__3; -x_2367 = l_Lean_KVMap_setNat(x_2348, x_2366, x_2364); +x_2367 = l_Lean_KVMap_setNat(x_2356, x_2366, x_2364); x_2368 = lean::cnstr_get(x_2363, 0); lean::inc(x_2368); lean::dec(x_2363); diff --git a/src/stage0/init/lean/parser/level.cpp b/src/stage0/init/lean/parser/level.cpp index eff0812a93..6dcc4fdd4a 100644 --- a/src/stage0/init/lean/parser/level.cpp +++ b/src/stage0/init/lean/parser/level.cpp @@ -6342,153 +6342,152 @@ return x_32; } else { -obj* x_35; obj* x_36; obj* x_40; obj* x_41; +obj* x_38; obj* x_39; obj* x_41; obj* x_43; obj* x_44; obj* x_45; lean::dec(x_16); lean::dec(x_23); -x_35 = lean::mk_nat_obj(1ul); -x_36 = lean::nat_sub(x_2, x_35); lean::inc(x_5); lean::inc(x_4); lean::inc(x_0); -x_40 = lean::apply_5(x_0, x_3, x_4, x_5, x_19, x_14); -x_41 = lean::cnstr_get(x_40, 0); -lean::inc(x_41); -if (lean::obj_tag(x_41) == 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); +if (lean::obj_tag(x_39) == 0) { -obj* x_43; obj* x_46; obj* x_48; obj* x_50; obj* x_53; obj* x_55; obj* x_57; obj* x_59; obj* x_60; obj* x_61; obj* x_62; -x_43 = lean::cnstr_get(x_40, 1); -lean::inc(x_43); -lean::dec(x_40); -x_46 = lean::cnstr_get(x_41, 0); -lean::inc(x_46); -x_48 = lean::cnstr_get(x_41, 1); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_41, 2); -lean::inc(x_50); -lean::dec(x_41); -x_53 = l___private_init_lean_parser_pratt_1__trailingLoop___main___at_Lean_Parser_levelParser_run___spec__2(x_0, x_1, x_36, x_46, x_4, x_5, x_48, x_43); -lean::dec(x_36); -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; +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); +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; } else { - lean::inc(x_55); - lean::inc(x_57); - lean::dec(x_53); - x_59 = lean::box(0); + lean::inc(x_56); + lean::inc(x_58); + lean::dec(x_54); + x_60 = lean::box(0); } -x_60 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_50, 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); +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); } else { - x_62 = x_59; + x_63 = x_60; } -lean::cnstr_set(x_62, 0, x_61); -lean::cnstr_set(x_62, 1, x_57); -return x_62; +lean::cnstr_set(x_63, 0, x_62); +lean::cnstr_set(x_63, 1, x_58); +return x_63; } else { -obj* x_67; obj* x_69; obj* x_70; uint8 x_72; obj* x_73; obj* x_74; obj* x_75; obj* x_76; obj* x_77; +obj* x_68; uint8 x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; lean::dec(x_5); lean::dec(x_4); lean::dec(x_0); -lean::dec(x_36); -x_67 = lean::cnstr_get(x_40, 1); -if (lean::is_exclusive(x_40)) { - lean::cnstr_release(x_40, 0); - x_69 = x_40; +lean::dec(x_45); +x_68 = lean::cnstr_get(x_39, 0); +x_70 = lean::cnstr_get_scalar(x_39, sizeof(void*)*1); +if (lean::is_exclusive(x_39)) { + x_71 = x_39; } else { - lean::inc(x_67); - lean::dec(x_40); - x_69 = lean::box(0); + lean::inc(x_68); + lean::dec(x_39); + x_71 = lean::box(0); } -x_70 = lean::cnstr_get(x_41, 0); -x_72 = lean::cnstr_get_scalar(x_41, sizeof(void*)*1); -if (lean::is_exclusive(x_41)) { - x_73 = x_41; +if (lean::is_scalar(x_71)) { + x_72 = lean::alloc_cnstr(1, 1, 1); } else { - lean::inc(x_70); - lean::dec(x_41); - x_73 = lean::box(0); + x_72 = x_71; } -if (lean::is_scalar(x_73)) { - x_74 = lean::alloc_cnstr(1, 1, 1); +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); } else { - x_74 = x_73; + x_75 = x_43; } -lean::cnstr_set(x_74, 0, x_70); -lean::cnstr_set_scalar(x_74, sizeof(void*)*1, x_72); -x_75 = x_74; -x_76 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_21, x_75); -if (lean::is_scalar(x_69)) { - x_77 = lean::alloc_cnstr(0, 2, 0); -} else { - x_77 = x_69; -} -lean::cnstr_set(x_77, 0, x_76); -lean::cnstr_set(x_77, 1, x_67); -return x_77; +lean::cnstr_set(x_75, 0, x_74); +lean::cnstr_set(x_75, 1, x_41); +return x_75; } } } else { -obj* x_82; obj* x_84; obj* x_85; uint8 x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; +obj* x_80; obj* x_82; obj* x_83; uint8 x_85; obj* x_86; obj* x_87; obj* x_88; obj* x_89; lean::dec(x_5); lean::dec(x_4); lean::dec(x_3); lean::dec(x_0); -x_82 = lean::cnstr_get(x_11, 1); +x_80 = lean::cnstr_get(x_11, 1); if (lean::is_exclusive(x_11)) { lean::cnstr_release(x_11, 0); - x_84 = x_11; + x_82 = x_11; } else { - lean::inc(x_82); + lean::inc(x_80); lean::dec(x_11); - x_84 = lean::box(0); + x_82 = lean::box(0); } -x_85 = lean::cnstr_get(x_12, 0); -x_87 = lean::cnstr_get_scalar(x_12, sizeof(void*)*1); +x_83 = lean::cnstr_get(x_12, 0); +x_85 = lean::cnstr_get_scalar(x_12, sizeof(void*)*1); if (lean::is_exclusive(x_12)) { - x_88 = x_12; + x_86 = x_12; } else { - lean::inc(x_85); + lean::inc(x_83); lean::dec(x_12); - x_88 = lean::box(0); + x_86 = lean::box(0); } -if (lean::is_scalar(x_88)) { - x_89 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_86)) { + x_87 = lean::alloc_cnstr(1, 1, 1); } else { - x_89 = x_88; + x_87 = x_86; } -lean::cnstr_set(x_89, 0, x_85); -lean::cnstr_set_scalar(x_89, sizeof(void*)*1, x_87); -x_90 = x_89; -if (lean::is_scalar(x_84)) { - x_91 = lean::alloc_cnstr(0, 2, 0); +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); } else { - x_91 = x_84; + x_89 = x_82; } -lean::cnstr_set(x_91, 0, x_90); -lean::cnstr_set(x_91, 1, x_82); -return x_91; +lean::cnstr_set(x_89, 0, x_88); +lean::cnstr_set(x_89, 1, x_80); +return x_89; } } else { -obj* x_94; obj* x_95; obj* x_96; obj* x_97; +obj* x_92; obj* x_93; obj* x_94; obj* x_95; lean::dec(x_3); lean::dec(x_0); -x_94 = lean::box(0); -x_95 = l___private_init_lean_parser_combinators_1__many1Aux___main___rarg___closed__1; -x_96 = l_mjoin___rarg___closed__1; -x_97 = l_Lean_Parser_MonadParsec_error___at_Lean_Parser_levelParser_run___spec__3___rarg(x_95, x_96, x_94, x_94, x_4, x_5, x_6, x_7); +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); lean::dec(x_5); lean::dec(x_4); -return x_97; +return x_95; } } } diff --git a/src/stage0/init/lean/parser/notation.cpp b/src/stage0/init/lean/parser/notation.cpp index ddac46a775..c30b905827 100644 --- a/src/stage0/init/lean/parser/notation.cpp +++ b/src/stage0/init/lean/parser/notation.cpp @@ -9658,27 +9658,35 @@ return x_10; obj* _init_l_Lean_Parser_command_NotationSpec_scopedAction_HasView_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; +obj* x_0; obj* x_1; obj* x_2; x_0 = lean::box(0); -x_3 = lean::box(3); -x_4 = l_Lean_Parser_Syntax_asNode___main(x_3); -if (lean::obj_tag(x_4) == 0) +x_1 = lean::box(3); +x_2 = l_Lean_Parser_Syntax_asNode___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -x_5 = l_Lean_Parser_command_NotationSpec_symbolQuote_HasView_x_27___lambda__1___closed__1; -x_1 = x_5; -goto lbl_2; +obj* x_3; obj* x_4; obj* x_5; +x_3 = l_Lean_Parser_command_NotationSpec_symbolQuote_HasView_x_27___lambda__1___closed__1; +x_4 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_5 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_5, 0, x_0); +lean::cnstr_set(x_5, 1, x_1); +lean::cnstr_set(x_5, 2, x_3); +lean::cnstr_set(x_5, 3, x_4); +lean::cnstr_set(x_5, 4, x_0); +lean::cnstr_set(x_5, 5, x_1); +lean::cnstr_set(x_5, 6, x_0); +return x_5; } else { obj* x_6; obj* x_8; obj* x_9; -x_6 = lean::cnstr_get(x_4, 0); -if (lean::is_exclusive(x_4)) { - lean::cnstr_set(x_4, 0, lean::box(0)); - x_8 = x_4; +x_6 = lean::cnstr_get(x_2, 0); +if (lean::is_exclusive(x_2)) { + lean::cnstr_set(x_2, 0, lean::box(0)); + x_8 = x_2; } else { lean::inc(x_6); - lean::dec(x_4); + lean::dec(x_2); x_8 = lean::box(0); } x_9 = lean::cnstr_get(x_6, 1); @@ -9686,62 +9694,72 @@ lean::inc(x_9); lean::dec(x_6); if (lean::obj_tag(x_9) == 0) { +obj* x_13; obj* x_14; lean::dec(x_8); -x_1 = x_0; -goto lbl_2; +x_13 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_14 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_14, 0, x_0); +lean::cnstr_set(x_14, 1, x_1); +lean::cnstr_set(x_14, 2, x_0); +lean::cnstr_set(x_14, 3, x_13); +lean::cnstr_set(x_14, 4, x_0); +lean::cnstr_set(x_14, 5, x_1); +lean::cnstr_set(x_14, 6, x_0); +return x_14; } else { -obj* x_13; -x_13 = lean::cnstr_get(x_9, 1); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) -{ -obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; -x_15 = lean::cnstr_get(x_9, 0); +obj* x_15; +x_15 = lean::cnstr_get(x_9, 1); lean::inc(x_15); +if (lean::obj_tag(x_15) == 0) +{ +obj* x_17; obj* x_20; obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_27; +x_17 = lean::cnstr_get(x_9, 0); +lean::inc(x_17); lean::dec(x_9); -x_18 = l_Lean_Parser_command_NotationSpec_precedence_HasView; -x_19 = lean::cnstr_get(x_18, 0); -lean::inc(x_19); -lean::dec(x_18); -x_22 = lean::apply_1(x_19, x_15); +x_20 = l_Lean_Parser_command_NotationSpec_precedence_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_8)) { - x_23 = lean::alloc_cnstr(1, 1, 0); + x_25 = lean::alloc_cnstr(1, 1, 0); } else { - x_23 = x_8; + x_25 = x_8; } -lean::cnstr_set(x_23, 0, x_22); -x_1 = x_23; -goto lbl_2; +lean::cnstr_set(x_25, 0, x_24); +x_26 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_27 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_27, 0, x_0); +lean::cnstr_set(x_27, 1, x_1); +lean::cnstr_set(x_27, 2, x_25); +lean::cnstr_set(x_27, 3, x_26); +lean::cnstr_set(x_27, 4, x_0); +lean::cnstr_set(x_27, 5, x_1); +lean::cnstr_set(x_27, 6, x_0); +return x_27; } else { -obj* x_27; -lean::dec(x_13); -lean::dec(x_8); +obj* x_31; obj* x_32; obj* x_33; lean::dec(x_9); -x_27 = l_Lean_Parser_command_NotationSpec_symbolQuote_HasView_x_27___lambda__1___closed__1; -x_1 = x_27; -goto lbl_2; +lean::dec(x_8); +lean::dec(x_15); +x_31 = l_Lean_Parser_command_NotationSpec_symbolQuote_HasView_x_27___lambda__1___closed__1; +x_32 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_33 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_33, 0, x_0); +lean::cnstr_set(x_33, 1, x_1); +lean::cnstr_set(x_33, 2, x_31); +lean::cnstr_set(x_33, 3, x_32); +lean::cnstr_set(x_33, 4, x_0); +lean::cnstr_set(x_33, 5, x_1); +lean::cnstr_set(x_33, 6, x_0); +return x_33; } } } -lbl_2: -{ -obj* x_28; obj* x_29; obj* x_30; -x_28 = lean::box(3); -x_29 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_30 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_30, 0, x_0); -lean::cnstr_set(x_30, 1, x_28); -lean::cnstr_set(x_30, 2, x_1); -lean::cnstr_set(x_30, 3, x_29); -lean::cnstr_set(x_30, 4, x_0); -lean::cnstr_set(x_30, 5, x_28); -lean::cnstr_set(x_30, 6, x_0); -return x_30; -} } } obj* l_Lean_Parser_command_NotationSpec_scopedAction_HasView_x_27___lambda__1(obj* x_0) { @@ -14129,110 +14147,101 @@ return x_13; obj* _init_l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__6() { _start: { -obj* x_0; obj* x_2; obj* x_3; -x_2 = lean::box(3); -x_3 = l_Lean_Parser_Syntax_asNode___main(x_2); -if (lean::obj_tag(x_3) == 0) +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_Lean_Parser_Syntax_asNode___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_4; -x_4 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; -return x_4; +obj* x_2; +x_2 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_5; obj* x_7; -x_5 = lean::cnstr_get(x_3, 0); +obj* x_3; obj* x_5; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +x_5 = lean::cnstr_get(x_3, 1); lean::inc(x_5); -x_7 = lean::cnstr_get(x_5, 1); -lean::inc(x_7); -lean::dec(x_5); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_11; lean::dec(x_3); -x_11 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__5; -return x_11; +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; } else { +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_7, 1); +x_12 = lean::cnstr_get(x_5, 0); lean::inc(x_12); -if (lean::obj_tag(x_12) == 0) -{ -obj* x_14; -x_14 = lean::cnstr_get(x_7, 0); -lean::inc(x_14); -switch (lean::obj_tag(x_14)) { +switch (lean::obj_tag(x_12)) { case 1: { -obj* x_16; obj* x_19; -x_16 = lean::cnstr_get(x_14, 0); -lean::inc(x_16); -lean::dec(x_14); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -if (lean::obj_tag(x_3) == 0) +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_21; obj* x_22; -lean::dec(x_7); -x_21 = l_Lean_Parser_command_NotationSpec_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; +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; } else { -obj* x_24; obj* x_25; obj* x_26; -lean::dec(x_3); -x_24 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__2; -x_25 = l_List_map___main___rarg(x_24, x_7); -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_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; } } case 3: { -obj* x_29; -lean::dec(x_7); -lean::dec(x_3); -x_29 = lean::box(0); -x_0 = x_29; -goto lbl_1; +obj* x_27; +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; } default: { -obj* x_33; -lean::dec(x_7); -lean::dec(x_3); -lean::dec(x_14); -x_33 = lean::box(0); -x_0 = x_33; -goto lbl_1; +obj* x_31; +lean::dec(x_12); +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; } } } else { -obj* x_37; -lean::dec(x_12); -lean::dec(x_7); -lean::dec(x_3); -x_37 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; -return x_37; +obj* x_35; +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; } } } -lbl_1: -{ -obj* x_39; -lean::dec(x_0); -x_39 = l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1___closed__3; -return x_39; -} } } obj* l_Lean_Parser_command_NotationSpec_HasView_x_27___lambda__1(obj* x_0) { diff --git a/src/stage0/init/lean/parser/term.cpp b/src/stage0/init/lean/parser/term.cpp index 5195ad85ad..d169850be5 100644 --- a/src/stage0/init/lean/parser/term.cpp +++ b/src/stage0/init/lean/parser/term.cpp @@ -31242,91 +31242,106 @@ return x_8; obj* _init_l_Lean_Parser_Term_if_HasView_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; +obj* x_0; obj* x_1; obj* x_2; x_0 = lean::box(0); -x_3 = lean::box(3); -x_4 = l_Lean_Parser_Syntax_asNode___main(x_3); -if (lean::obj_tag(x_4) == 0) +x_1 = lean::box(3); +x_2 = l_Lean_Parser_Syntax_asNode___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -x_5 = l_Lean_Parser_Term_have_HasView_x_27___lambda__1___closed__1; -x_1 = x_5; -goto lbl_2; +obj* x_3; obj* x_4; +x_3 = l_Lean_Parser_Term_have_HasView_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_1); +lean::cnstr_set(x_4, 3, x_0); +lean::cnstr_set(x_4, 4, x_1); +lean::cnstr_set(x_4, 5, x_0); +lean::cnstr_set(x_4, 6, x_1); +return x_4; } else { -obj* x_6; obj* x_8; obj* x_9; -x_6 = lean::cnstr_get(x_4, 0); -if (lean::is_exclusive(x_4)) { - lean::cnstr_set(x_4, 0, lean::box(0)); - x_8 = x_4; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_2, 0); +if (lean::is_exclusive(x_2)) { + lean::cnstr_set(x_2, 0, lean::box(0)); + x_7 = x_2; } else { - lean::inc(x_6); - lean::dec(x_4); - x_8 = lean::box(0); + lean::inc(x_5); + lean::dec(x_2); + x_7 = lean::box(0); } -x_9 = lean::cnstr_get(x_6, 1); -lean::inc(x_9); -lean::dec(x_6); -if (lean::obj_tag(x_9) == 0) +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -lean::dec(x_8); -x_1 = x_0; -goto lbl_2; +obj* x_12; +lean::dec(x_7); +x_12 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +lean::cnstr_set(x_12, 2, x_1); +lean::cnstr_set(x_12, 3, x_0); +lean::cnstr_set(x_12, 4, x_1); +lean::cnstr_set(x_12, 5, x_0); +lean::cnstr_set(x_12, 6, x_1); +return x_12; } else { obj* x_13; -x_13 = lean::cnstr_get(x_9, 1); +x_13 = lean::cnstr_get(x_8, 1); lean::inc(x_13); if (lean::obj_tag(x_13) == 0) { -obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; -x_15 = lean::cnstr_get(x_9, 0); +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; obj* x_24; +x_15 = lean::cnstr_get(x_8, 0); lean::inc(x_15); -lean::dec(x_9); +lean::dec(x_8); x_18 = l_Lean_Parser_Term_optIdent_HasView; x_19 = lean::cnstr_get(x_18, 0); lean::inc(x_19); lean::dec(x_18); x_22 = lean::apply_1(x_19, x_15); -if (lean::is_scalar(x_8)) { +if (lean::is_scalar(x_7)) { x_23 = lean::alloc_cnstr(1, 1, 0); } else { - x_23 = x_8; + x_23 = x_7; } lean::cnstr_set(x_23, 0, x_22); -x_1 = x_23; -goto lbl_2; +x_24 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_23); +lean::cnstr_set(x_24, 2, x_1); +lean::cnstr_set(x_24, 3, x_0); +lean::cnstr_set(x_24, 4, x_1); +lean::cnstr_set(x_24, 5, x_0); +lean::cnstr_set(x_24, 6, x_1); +return x_24; } else { -obj* x_27; -lean::dec(x_13); -lean::dec(x_8); -lean::dec(x_9); -x_27 = l_Lean_Parser_Term_have_HasView_x_27___lambda__1___closed__1; -x_1 = x_27; -goto lbl_2; -} -} -} -lbl_2: -{ obj* x_28; obj* x_29; -x_28 = lean::box(3); +lean::dec(x_7); +lean::dec(x_8); +lean::dec(x_13); +x_28 = l_Lean_Parser_Term_have_HasView_x_27___lambda__1___closed__1; x_29 = lean::alloc_cnstr(0, 7, 0); lean::cnstr_set(x_29, 0, x_0); -lean::cnstr_set(x_29, 1, x_1); -lean::cnstr_set(x_29, 2, x_28); +lean::cnstr_set(x_29, 1, x_28); +lean::cnstr_set(x_29, 2, x_1); lean::cnstr_set(x_29, 3, x_0); -lean::cnstr_set(x_29, 4, x_28); +lean::cnstr_set(x_29, 4, x_1); lean::cnstr_set(x_29, 5, x_0); -lean::cnstr_set(x_29, 6, x_28); +lean::cnstr_set(x_29, 6, x_1); return x_29; } } } +} +} obj* l_Lean_Parser_Term_if_HasView_x_27___lambda__1(obj* x_0) { _start: { @@ -35944,27 +35959,34 @@ return x_8; obj* _init_l_Lean_Parser_Term_Subtype_HasView_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; +obj* x_0; obj* x_1; obj* x_2; x_0 = lean::box(0); -x_3 = lean::box(3); -x_4 = l_Lean_Parser_Syntax_asNode___main(x_3); -if (lean::obj_tag(x_4) == 0) +x_1 = lean::box(3); +x_2 = l_Lean_Parser_Syntax_asNode___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -x_5 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; -x_1 = x_5; -goto lbl_2; +obj* x_3; obj* x_4; obj* x_5; +x_3 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_4 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; +x_5 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_5, 0, x_0); +lean::cnstr_set(x_5, 1, x_3); +lean::cnstr_set(x_5, 2, x_4); +lean::cnstr_set(x_5, 3, x_0); +lean::cnstr_set(x_5, 4, x_1); +lean::cnstr_set(x_5, 5, x_0); +return x_5; } else { obj* x_6; obj* x_8; obj* x_9; -x_6 = lean::cnstr_get(x_4, 0); -if (lean::is_exclusive(x_4)) { - lean::cnstr_set(x_4, 0, lean::box(0)); - x_8 = x_4; +x_6 = lean::cnstr_get(x_2, 0); +if (lean::is_exclusive(x_2)) { + lean::cnstr_set(x_2, 0, lean::box(0)); + x_8 = x_2; } else { lean::inc(x_6); - lean::dec(x_4); + lean::dec(x_2); x_8 = lean::box(0); } x_9 = lean::cnstr_get(x_6, 1); @@ -35972,61 +35994,69 @@ lean::inc(x_9); lean::dec(x_6); if (lean::obj_tag(x_9) == 0) { +obj* x_13; obj* x_14; lean::dec(x_8); -x_1 = x_0; -goto lbl_2; +x_13 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_14 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_14, 0, x_0); +lean::cnstr_set(x_14, 1, x_13); +lean::cnstr_set(x_14, 2, x_0); +lean::cnstr_set(x_14, 3, x_0); +lean::cnstr_set(x_14, 4, x_1); +lean::cnstr_set(x_14, 5, x_0); +return x_14; } else { -obj* x_13; -x_13 = lean::cnstr_get(x_9, 1); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) -{ -obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; -x_15 = lean::cnstr_get(x_9, 0); +obj* x_15; +x_15 = lean::cnstr_get(x_9, 1); lean::inc(x_15); +if (lean::obj_tag(x_15) == 0) +{ +obj* x_17; obj* x_20; obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_27; +x_17 = lean::cnstr_get(x_9, 0); +lean::inc(x_17); lean::dec(x_9); -x_18 = l_Lean_Parser_Term_typeSpec_HasView; -x_19 = lean::cnstr_get(x_18, 0); -lean::inc(x_19); -lean::dec(x_18); -x_22 = lean::apply_1(x_19, x_15); +x_20 = l_Lean_Parser_Term_typeSpec_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_8)) { - x_23 = lean::alloc_cnstr(1, 1, 0); + x_25 = lean::alloc_cnstr(1, 1, 0); } else { - x_23 = x_8; + x_25 = x_8; } -lean::cnstr_set(x_23, 0, x_22); -x_1 = x_23; -goto lbl_2; +lean::cnstr_set(x_25, 0, x_24); +x_26 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_27 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_27, 0, x_0); +lean::cnstr_set(x_27, 1, x_26); +lean::cnstr_set(x_27, 2, x_25); +lean::cnstr_set(x_27, 3, x_0); +lean::cnstr_set(x_27, 4, x_1); +lean::cnstr_set(x_27, 5, x_0); +return x_27; } else { -obj* x_27; -lean::dec(x_13); -lean::dec(x_8); +obj* x_31; obj* x_32; obj* x_33; lean::dec(x_9); -x_27 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; -x_1 = x_27; -goto lbl_2; +lean::dec(x_8); +lean::dec(x_15); +x_31 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; +x_32 = l_Lean_Parser_Term_binderContent_HasView_x_27___lambda__1___closed__2; +x_33 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_33, 0, x_0); +lean::cnstr_set(x_33, 1, x_31); +lean::cnstr_set(x_33, 2, x_32); +lean::cnstr_set(x_33, 3, x_0); +lean::cnstr_set(x_33, 4, x_1); +lean::cnstr_set(x_33, 5, x_0); +return x_33; } } } -lbl_2: -{ -obj* x_28; obj* x_29; obj* x_30; -x_28 = l_Lean_Parser_ident_Parser_View___rarg___lambda__1___closed__1; -x_29 = lean::box(3); -x_30 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_30, 0, x_0); -lean::cnstr_set(x_30, 1, x_28); -lean::cnstr_set(x_30, 2, x_1); -lean::cnstr_set(x_30, 3, x_0); -lean::cnstr_set(x_30, 4, x_29); -lean::cnstr_set(x_30, 5, x_0); -return x_30; -} } } obj* l_Lean_Parser_Term_Subtype_HasView_x_27___lambda__1(obj* x_0) { @@ -45658,157 +45688,156 @@ return x_34; } else { -obj* x_37; obj* x_38; obj* x_43; obj* x_44; +obj* x_41; obj* x_42; obj* x_44; obj* x_46; obj* x_47; obj* x_48; lean::dec(x_17); lean::dec(x_24); -x_37 = lean::mk_nat_obj(1ul); -x_38 = lean::nat_sub(x_2, x_37); lean::inc(x_6); lean::inc(x_5); lean::inc(x_4); lean::inc(x_0); -x_43 = lean::apply_6(x_0, x_3, x_4, x_5, x_6, x_20, x_15); -x_44 = lean::cnstr_get(x_43, 0); -lean::inc(x_44); -if (lean::obj_tag(x_44) == 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); +if (lean::obj_tag(x_42) == 0) { -obj* x_46; obj* x_49; obj* x_51; obj* x_53; obj* x_56; obj* x_58; obj* x_60; obj* x_62; obj* x_63; obj* x_64; obj* x_65; -x_46 = lean::cnstr_get(x_43, 1); -lean::inc(x_46); -lean::dec(x_43); -x_49 = lean::cnstr_get(x_44, 0); -lean::inc(x_49); -x_51 = lean::cnstr_get(x_44, 1); -lean::inc(x_51); -x_53 = lean::cnstr_get(x_44, 2); -lean::inc(x_53); -lean::dec(x_44); -x_56 = l___private_init_lean_parser_pratt_1__trailingLoop___main___at_Lean_Parser_termParser_run___spec__3(x_0, x_1, x_38, x_49, x_4, x_5, x_6, x_51, x_46); -lean::dec(x_38); -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; +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); +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; } else { - lean::inc(x_58); - lean::inc(x_60); - lean::dec(x_56); - x_62 = lean::box(0); + lean::inc(x_59); + lean::inc(x_61); + lean::dec(x_57); + x_63 = lean::box(0); } -x_63 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_53, 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); +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); } else { - x_65 = x_62; + x_66 = x_63; } -lean::cnstr_set(x_65, 0, x_64); -lean::cnstr_set(x_65, 1, x_60); -return x_65; +lean::cnstr_set(x_66, 0, x_65); +lean::cnstr_set(x_66, 1, x_61); +return x_66; } else { -obj* x_71; obj* x_73; obj* x_74; uint8 x_76; obj* x_77; obj* x_78; obj* x_79; obj* x_80; obj* x_81; +obj* x_72; uint8 x_74; obj* x_75; obj* x_76; obj* x_77; obj* x_78; obj* x_79; lean::dec(x_5); lean::dec(x_4); lean::dec(x_6); lean::dec(x_0); -lean::dec(x_38); -x_71 = lean::cnstr_get(x_43, 1); -if (lean::is_exclusive(x_43)) { - lean::cnstr_release(x_43, 0); - x_73 = x_43; +lean::dec(x_48); +x_72 = lean::cnstr_get(x_42, 0); +x_74 = lean::cnstr_get_scalar(x_42, sizeof(void*)*1); +if (lean::is_exclusive(x_42)) { + x_75 = x_42; } else { - lean::inc(x_71); - lean::dec(x_43); - x_73 = lean::box(0); + lean::inc(x_72); + lean::dec(x_42); + x_75 = lean::box(0); } -x_74 = lean::cnstr_get(x_44, 0); -x_76 = lean::cnstr_get_scalar(x_44, sizeof(void*)*1); -if (lean::is_exclusive(x_44)) { - x_77 = x_44; +if (lean::is_scalar(x_75)) { + x_76 = lean::alloc_cnstr(1, 1, 1); } else { - lean::inc(x_74); - lean::dec(x_44); - x_77 = lean::box(0); + x_76 = x_75; } -if (lean::is_scalar(x_77)) { - x_78 = lean::alloc_cnstr(1, 1, 1); +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); } else { - x_78 = x_77; + x_79 = x_46; } -lean::cnstr_set(x_78, 0, x_74); -lean::cnstr_set_scalar(x_78, sizeof(void*)*1, x_76); -x_79 = x_78; -x_80 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_22, x_79); -if (lean::is_scalar(x_73)) { - x_81 = lean::alloc_cnstr(0, 2, 0); -} else { - x_81 = x_73; -} -lean::cnstr_set(x_81, 0, x_80); -lean::cnstr_set(x_81, 1, x_71); -return x_81; +lean::cnstr_set(x_79, 0, x_78); +lean::cnstr_set(x_79, 1, x_44); +return x_79; } } } else { -obj* x_87; obj* x_89; obj* x_90; uint8 x_92; obj* x_93; obj* x_94; obj* x_95; obj* x_96; +obj* x_85; obj* x_87; obj* x_88; uint8 x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_94; lean::dec(x_5); lean::dec(x_4); lean::dec(x_6); lean::dec(x_3); lean::dec(x_0); -x_87 = lean::cnstr_get(x_12, 1); +x_85 = lean::cnstr_get(x_12, 1); if (lean::is_exclusive(x_12)) { lean::cnstr_release(x_12, 0); - x_89 = x_12; + x_87 = x_12; } else { - lean::inc(x_87); + lean::inc(x_85); lean::dec(x_12); - x_89 = lean::box(0); + x_87 = lean::box(0); } -x_90 = lean::cnstr_get(x_13, 0); -x_92 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); +x_88 = lean::cnstr_get(x_13, 0); +x_90 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); if (lean::is_exclusive(x_13)) { - x_93 = x_13; + x_91 = x_13; } else { - lean::inc(x_90); + lean::inc(x_88); lean::dec(x_13); - x_93 = lean::box(0); + x_91 = lean::box(0); } -if (lean::is_scalar(x_93)) { - x_94 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_91)) { + x_92 = lean::alloc_cnstr(1, 1, 1); } else { - x_94 = x_93; + x_92 = x_91; } -lean::cnstr_set(x_94, 0, x_90); -lean::cnstr_set_scalar(x_94, sizeof(void*)*1, x_92); -x_95 = x_94; -if (lean::is_scalar(x_89)) { - x_96 = lean::alloc_cnstr(0, 2, 0); +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); } else { - x_96 = x_89; + x_94 = x_87; } -lean::cnstr_set(x_96, 0, x_95); -lean::cnstr_set(x_96, 1, x_87); -return x_96; +lean::cnstr_set(x_94, 0, x_93); +lean::cnstr_set(x_94, 1, x_85); +return x_94; } } else { -obj* x_99; obj* x_100; obj* x_101; obj* x_102; +obj* x_97; obj* x_98; obj* x_99; obj* x_100; lean::dec(x_3); lean::dec(x_0); -x_99 = lean::box(0); -x_100 = l___private_init_lean_parser_combinators_1__many1Aux___main___rarg___closed__1; -x_101 = l_mjoin___rarg___closed__1; -x_102 = l_Lean_Parser_MonadParsec_error___at_Lean_Parser_termParser_run___spec__4___rarg(x_100, x_101, x_99, x_99, x_4, x_5, x_6, x_7, x_8); +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); lean::dec(x_6); lean::dec(x_5); lean::dec(x_4); -return x_102; +return x_100; } } } diff --git a/src/stage0/init/lean/parser/token.cpp b/src/stage0/init/lean/parser/token.cpp index dc68195c3b..5a5c5cc8bf 100644 --- a/src/stage0/init/lean/parser/token.cpp +++ b/src/stage0/init/lean/parser/token.cpp @@ -11454,25 +11454,25 @@ goto lbl_6; } else { -obj* x_28; obj* x_31; uint8 x_33; uint32 x_34; -x_28 = lean::cnstr_get(x_20, 1); -lean::inc(x_28); -lean::dec(x_20); -x_31 = lean::cnstr_get(x_21, 0); -lean::inc(x_31); -x_33 = lean::cnstr_get_scalar(x_21, sizeof(void*)*1); -x_34 = 66; -if (x_33 == 0) +uint8 x_28; +x_28 = lean::cnstr_get_scalar(x_21, sizeof(void*)*1); +if (x_28 == 0) { -obj* x_36; obj* x_37; obj* x_39; obj* x_42; obj* x_43; +obj* x_29; obj* x_32; uint32 x_35; obj* x_36; obj* x_37; obj* x_39; obj* x_42; obj* x_43; +x_29 = lean::cnstr_get(x_20, 1); +lean::inc(x_29); +lean::dec(x_20); +x_32 = lean::cnstr_get(x_21, 0); +lean::inc(x_32); lean::dec(x_21); -x_36 = l_Lean_Parser_MonadParsec_ch___at___private_init_lean_parser_token_4__ident_x_27___spec__6(x_34, x_0, x_13, x_28); +x_35 = 66; +x_36 = l_Lean_Parser_MonadParsec_ch___at___private_init_lean_parser_token_4__ident_x_27___spec__6(x_35, x_0, x_13, x_29); x_37 = lean::cnstr_get(x_36, 0); lean::inc(x_37); x_39 = lean::cnstr_get(x_36, 1); lean::inc(x_39); lean::dec(x_36); -x_42 = l_Lean_Parser_ParsecT_orelseMkRes___rarg(x_31, x_37); +x_42 = l_Lean_Parser_ParsecT_orelseMkRes___rarg(x_32, x_37); x_43 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_42); x_4 = x_43; x_5 = x_39; @@ -11480,104 +11480,106 @@ goto lbl_6; } else { -obj* x_46; +obj* x_45; obj* x_48; lean::dec(x_13); -lean::dec(x_31); -x_46 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_21); -x_4 = x_46; -x_5 = x_28; +x_45 = lean::cnstr_get(x_20, 1); +lean::inc(x_45); +lean::dec(x_20); +x_48 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_21); +x_4 = x_48; +x_5 = x_45; goto lbl_6; } } } else { -obj* x_47; obj* x_50; uint8 x_52; obj* x_53; obj* x_54; obj* x_55; -x_47 = lean::cnstr_get(x_7, 1); -lean::inc(x_47); +obj* x_49; obj* x_52; uint8 x_54; obj* x_55; obj* x_56; obj* x_57; +x_49 = lean::cnstr_get(x_7, 1); +lean::inc(x_49); lean::dec(x_7); -x_50 = lean::cnstr_get(x_8, 0); -x_52 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); +x_52 = lean::cnstr_get(x_8, 0); +x_54 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); if (lean::is_exclusive(x_8)) { - x_53 = x_8; + x_55 = x_8; } else { - lean::inc(x_50); + lean::inc(x_52); lean::dec(x_8); - x_53 = lean::box(0); + x_55 = lean::box(0); } -if (lean::is_scalar(x_53)) { - x_54 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_55)) { + x_56 = lean::alloc_cnstr(1, 1, 1); } else { - x_54 = x_53; + x_56 = x_55; } -lean::cnstr_set(x_54, 0, x_50); -lean::cnstr_set_scalar(x_54, sizeof(void*)*1, x_52); -x_55 = x_54; -x_4 = x_55; -x_5 = x_47; +lean::cnstr_set(x_56, 0, x_52); +lean::cnstr_set_scalar(x_56, sizeof(void*)*1, x_54); +x_57 = x_56; +x_4 = x_57; +x_5 = x_49; goto lbl_6; } lbl_6: { if (lean::obj_tag(x_4) == 0) { -obj* x_56; obj* x_58; obj* x_61; obj* x_62; obj* x_63; obj* x_65; obj* x_67; obj* x_69; obj* x_70; obj* x_71; obj* x_72; obj* x_73; -x_56 = lean::cnstr_get(x_4, 1); -lean::inc(x_56); -x_58 = lean::cnstr_get(x_4, 2); +obj* x_58; obj* x_60; obj* x_63; obj* x_64; obj* x_65; obj* x_67; obj* x_69; obj* x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; +x_58 = lean::cnstr_get(x_4, 1); lean::inc(x_58); +x_60 = lean::cnstr_get(x_4, 2); +lean::inc(x_60); lean::dec(x_4); -x_61 = l_String_OldIterator_remaining___main(x_56); -x_62 = l_Lean_Parser_parseBinLit___closed__1; -x_63 = l_Lean_Parser_MonadParsec_many1Aux_x_27___main___at_Lean_Parser_parseBinLit___spec__2(x_62, x_61, x_0, x_56, x_5); -lean::dec(x_61); -x_65 = lean::cnstr_get(x_63, 0); -x_67 = lean::cnstr_get(x_63, 1); -if (lean::is_exclusive(x_63)) { - x_69 = x_63; +x_63 = l_String_OldIterator_remaining___main(x_58); +x_64 = l_Lean_Parser_parseBinLit___closed__1; +x_65 = l_Lean_Parser_MonadParsec_many1Aux_x_27___main___at_Lean_Parser_parseBinLit___spec__2(x_64, x_63, x_0, x_58, x_5); +lean::dec(x_63); +x_67 = lean::cnstr_get(x_65, 0); +x_69 = lean::cnstr_get(x_65, 1); +if (lean::is_exclusive(x_65)) { + x_71 = x_65; } else { - lean::inc(x_65); lean::inc(x_67); - lean::dec(x_63); - x_69 = lean::box(0); + lean::inc(x_69); + lean::dec(x_65); + x_71 = lean::box(0); } -x_70 = l_Lean_Parser_finishCommentBlock___closed__2; -x_71 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_70, x_65); -x_72 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_58, x_71); -if (lean::is_scalar(x_69)) { - x_73 = lean::alloc_cnstr(0, 2, 0); +x_72 = l_Lean_Parser_finishCommentBlock___closed__2; +x_73 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_72, x_67); +x_74 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_60, x_73); +if (lean::is_scalar(x_71)) { + x_75 = lean::alloc_cnstr(0, 2, 0); } else { - x_73 = x_69; + x_75 = x_71; } -lean::cnstr_set(x_73, 0, x_72); -lean::cnstr_set(x_73, 1, x_67); -return x_73; +lean::cnstr_set(x_75, 0, x_74); +lean::cnstr_set(x_75, 1, x_69); +return x_75; } else { -obj* x_75; uint8 x_77; obj* x_78; obj* x_79; obj* x_80; obj* x_81; +obj* x_77; uint8 x_79; obj* x_80; obj* x_81; obj* x_82; obj* x_83; lean::dec(x_0); -x_75 = lean::cnstr_get(x_4, 0); -x_77 = lean::cnstr_get_scalar(x_4, sizeof(void*)*1); +x_77 = lean::cnstr_get(x_4, 0); +x_79 = lean::cnstr_get_scalar(x_4, sizeof(void*)*1); if (lean::is_exclusive(x_4)) { - x_78 = x_4; + x_80 = x_4; } else { - lean::inc(x_75); + lean::inc(x_77); lean::dec(x_4); - x_78 = lean::box(0); + x_80 = lean::box(0); } -if (lean::is_scalar(x_78)) { - x_79 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_80)) { + x_81 = lean::alloc_cnstr(1, 1, 1); } else { - x_79 = x_78; + x_81 = x_80; } -lean::cnstr_set(x_79, 0, x_75); -lean::cnstr_set_scalar(x_79, sizeof(void*)*1, x_77); -x_80 = x_79; -x_81 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_81, 0, x_80); -lean::cnstr_set(x_81, 1, x_5); -return x_81; +lean::cnstr_set(x_81, 0, x_77); +lean::cnstr_set_scalar(x_81, sizeof(void*)*1, x_79); +x_82 = x_81; +x_83 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_83, 0, x_82); +lean::cnstr_set(x_83, 1, x_5); +return x_83; } } } @@ -11873,25 +11875,25 @@ goto lbl_6; } else { -obj* x_28; obj* x_31; uint8 x_33; uint32 x_34; -x_28 = lean::cnstr_get(x_20, 1); -lean::inc(x_28); -lean::dec(x_20); -x_31 = lean::cnstr_get(x_21, 0); -lean::inc(x_31); -x_33 = lean::cnstr_get_scalar(x_21, sizeof(void*)*1); -x_34 = 79; -if (x_33 == 0) +uint8 x_28; +x_28 = lean::cnstr_get_scalar(x_21, sizeof(void*)*1); +if (x_28 == 0) { -obj* x_36; obj* x_37; obj* x_39; obj* x_42; obj* x_43; +obj* x_29; obj* x_32; uint32 x_35; obj* x_36; obj* x_37; obj* x_39; obj* x_42; obj* x_43; +x_29 = lean::cnstr_get(x_20, 1); +lean::inc(x_29); +lean::dec(x_20); +x_32 = lean::cnstr_get(x_21, 0); +lean::inc(x_32); lean::dec(x_21); -x_36 = l_Lean_Parser_MonadParsec_ch___at___private_init_lean_parser_token_4__ident_x_27___spec__6(x_34, x_0, x_13, x_28); +x_35 = 79; +x_36 = l_Lean_Parser_MonadParsec_ch___at___private_init_lean_parser_token_4__ident_x_27___spec__6(x_35, x_0, x_13, x_29); x_37 = lean::cnstr_get(x_36, 0); lean::inc(x_37); x_39 = lean::cnstr_get(x_36, 1); lean::inc(x_39); lean::dec(x_36); -x_42 = l_Lean_Parser_ParsecT_orelseMkRes___rarg(x_31, x_37); +x_42 = l_Lean_Parser_ParsecT_orelseMkRes___rarg(x_32, x_37); x_43 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_42); x_4 = x_43; x_5 = x_39; @@ -11899,98 +11901,100 @@ goto lbl_6; } else { -obj* x_46; +obj* x_45; obj* x_48; lean::dec(x_13); -lean::dec(x_31); -x_46 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_21); -x_4 = x_46; -x_5 = x_28; +x_45 = lean::cnstr_get(x_20, 1); +lean::inc(x_45); +lean::dec(x_20); +x_48 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_21); +x_4 = x_48; +x_5 = x_45; goto lbl_6; } } } else { -obj* x_47; obj* x_50; uint8 x_52; obj* x_53; obj* x_54; obj* x_55; -x_47 = lean::cnstr_get(x_7, 1); -lean::inc(x_47); +obj* x_49; obj* x_52; uint8 x_54; obj* x_55; obj* x_56; obj* x_57; +x_49 = lean::cnstr_get(x_7, 1); +lean::inc(x_49); lean::dec(x_7); -x_50 = lean::cnstr_get(x_8, 0); -x_52 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); +x_52 = lean::cnstr_get(x_8, 0); +x_54 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); if (lean::is_exclusive(x_8)) { - x_53 = x_8; + x_55 = x_8; } else { - lean::inc(x_50); + lean::inc(x_52); lean::dec(x_8); - x_53 = lean::box(0); + x_55 = lean::box(0); } -if (lean::is_scalar(x_53)) { - x_54 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_55)) { + x_56 = lean::alloc_cnstr(1, 1, 1); } else { - x_54 = x_53; + x_56 = x_55; } -lean::cnstr_set(x_54, 0, x_50); -lean::cnstr_set_scalar(x_54, sizeof(void*)*1, x_52); -x_55 = x_54; -x_4 = x_55; -x_5 = x_47; +lean::cnstr_set(x_56, 0, x_52); +lean::cnstr_set_scalar(x_56, sizeof(void*)*1, x_54); +x_57 = x_56; +x_4 = x_57; +x_5 = x_49; goto lbl_6; } lbl_6: { if (lean::obj_tag(x_4) == 0) { -obj* x_56; obj* x_58; obj* x_61; obj* x_62; obj* x_64; obj* x_66; obj* x_67; obj* x_68; -x_56 = lean::cnstr_get(x_4, 1); -lean::inc(x_56); -x_58 = lean::cnstr_get(x_4, 2); +obj* x_58; obj* x_60; obj* x_63; obj* x_64; obj* x_66; obj* x_68; obj* x_69; obj* x_70; +x_58 = lean::cnstr_get(x_4, 1); lean::inc(x_58); +x_60 = lean::cnstr_get(x_4, 2); +lean::inc(x_60); lean::dec(x_4); -x_61 = l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_parseOctLit___spec__1(x_3, x_0, x_56, x_5); -x_62 = lean::cnstr_get(x_61, 0); -x_64 = lean::cnstr_get(x_61, 1); -if (lean::is_exclusive(x_61)) { - x_66 = x_61; +x_63 = l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_parseOctLit___spec__1(x_3, x_0, x_58, x_5); +x_64 = lean::cnstr_get(x_63, 0); +x_66 = lean::cnstr_get(x_63, 1); +if (lean::is_exclusive(x_63)) { + x_68 = x_63; } else { - lean::inc(x_62); lean::inc(x_64); - lean::dec(x_61); - x_66 = lean::box(0); + lean::inc(x_66); + lean::dec(x_63); + x_68 = lean::box(0); } -x_67 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_58, x_62); -if (lean::is_scalar(x_66)) { - x_68 = lean::alloc_cnstr(0, 2, 0); +x_69 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_60, x_64); +if (lean::is_scalar(x_68)) { + x_70 = lean::alloc_cnstr(0, 2, 0); } else { - x_68 = x_66; + x_70 = x_68; } -lean::cnstr_set(x_68, 0, x_67); -lean::cnstr_set(x_68, 1, x_64); -return x_68; +lean::cnstr_set(x_70, 0, x_69); +lean::cnstr_set(x_70, 1, x_66); +return x_70; } else { -obj* x_69; uint8 x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; -x_69 = lean::cnstr_get(x_4, 0); -x_71 = lean::cnstr_get_scalar(x_4, sizeof(void*)*1); +obj* x_71; uint8 x_73; obj* x_74; obj* x_75; obj* x_76; obj* x_77; +x_71 = lean::cnstr_get(x_4, 0); +x_73 = lean::cnstr_get_scalar(x_4, sizeof(void*)*1); if (lean::is_exclusive(x_4)) { - x_72 = x_4; + x_74 = x_4; } else { - lean::inc(x_69); + lean::inc(x_71); lean::dec(x_4); - x_72 = lean::box(0); + x_74 = lean::box(0); } -if (lean::is_scalar(x_72)) { - x_73 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_74)) { + x_75 = lean::alloc_cnstr(1, 1, 1); } else { - x_73 = x_72; + x_75 = x_74; } -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 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_75, 0, x_74); -lean::cnstr_set(x_75, 1, x_5); -return x_75; +lean::cnstr_set(x_75, 0, x_71); +lean::cnstr_set_scalar(x_75, sizeof(void*)*1, x_73); +x_76 = x_75; +x_77 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_77, 0, x_76); +lean::cnstr_set(x_77, 1, x_5); +return x_77; } } } @@ -12299,25 +12303,25 @@ goto lbl_6; } else { -obj* x_28; obj* x_31; uint8 x_33; uint32 x_34; -x_28 = lean::cnstr_get(x_20, 1); -lean::inc(x_28); -lean::dec(x_20); -x_31 = lean::cnstr_get(x_21, 0); -lean::inc(x_31); -x_33 = lean::cnstr_get_scalar(x_21, sizeof(void*)*1); -x_34 = 88; -if (x_33 == 0) +uint8 x_28; +x_28 = lean::cnstr_get_scalar(x_21, sizeof(void*)*1); +if (x_28 == 0) { -obj* x_36; obj* x_37; obj* x_39; obj* x_42; obj* x_43; +obj* x_29; obj* x_32; uint32 x_35; obj* x_36; obj* x_37; obj* x_39; obj* x_42; obj* x_43; +x_29 = lean::cnstr_get(x_20, 1); +lean::inc(x_29); +lean::dec(x_20); +x_32 = lean::cnstr_get(x_21, 0); +lean::inc(x_32); lean::dec(x_21); -x_36 = l_Lean_Parser_MonadParsec_ch___at___private_init_lean_parser_token_4__ident_x_27___spec__6(x_34, x_0, x_13, x_28); +x_35 = 88; +x_36 = l_Lean_Parser_MonadParsec_ch___at___private_init_lean_parser_token_4__ident_x_27___spec__6(x_35, x_0, x_13, x_29); x_37 = lean::cnstr_get(x_36, 0); lean::inc(x_37); x_39 = lean::cnstr_get(x_36, 1); lean::inc(x_39); lean::dec(x_36); -x_42 = l_Lean_Parser_ParsecT_orelseMkRes___rarg(x_31, x_37); +x_42 = l_Lean_Parser_ParsecT_orelseMkRes___rarg(x_32, x_37); x_43 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_42); x_4 = x_43; x_5 = x_39; @@ -12325,98 +12329,100 @@ goto lbl_6; } else { -obj* x_46; +obj* x_45; obj* x_48; lean::dec(x_13); -lean::dec(x_31); -x_46 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_21); -x_4 = x_46; -x_5 = x_28; +x_45 = lean::cnstr_get(x_20, 1); +lean::inc(x_45); +lean::dec(x_20); +x_48 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_15, x_21); +x_4 = x_48; +x_5 = x_45; goto lbl_6; } } } else { -obj* x_47; obj* x_50; uint8 x_52; obj* x_53; obj* x_54; obj* x_55; -x_47 = lean::cnstr_get(x_7, 1); -lean::inc(x_47); +obj* x_49; obj* x_52; uint8 x_54; obj* x_55; obj* x_56; obj* x_57; +x_49 = lean::cnstr_get(x_7, 1); +lean::inc(x_49); lean::dec(x_7); -x_50 = lean::cnstr_get(x_8, 0); -x_52 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); +x_52 = lean::cnstr_get(x_8, 0); +x_54 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); if (lean::is_exclusive(x_8)) { - x_53 = x_8; + x_55 = x_8; } else { - lean::inc(x_50); + lean::inc(x_52); lean::dec(x_8); - x_53 = lean::box(0); + x_55 = lean::box(0); } -if (lean::is_scalar(x_53)) { - x_54 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_55)) { + x_56 = lean::alloc_cnstr(1, 1, 1); } else { - x_54 = x_53; + x_56 = x_55; } -lean::cnstr_set(x_54, 0, x_50); -lean::cnstr_set_scalar(x_54, sizeof(void*)*1, x_52); -x_55 = x_54; -x_4 = x_55; -x_5 = x_47; +lean::cnstr_set(x_56, 0, x_52); +lean::cnstr_set_scalar(x_56, sizeof(void*)*1, x_54); +x_57 = x_56; +x_4 = x_57; +x_5 = x_49; goto lbl_6; } lbl_6: { if (lean::obj_tag(x_4) == 0) { -obj* x_56; obj* x_58; obj* x_61; obj* x_62; obj* x_64; obj* x_66; obj* x_67; obj* x_68; -x_56 = lean::cnstr_get(x_4, 1); -lean::inc(x_56); -x_58 = lean::cnstr_get(x_4, 2); +obj* x_58; obj* x_60; obj* x_63; obj* x_64; obj* x_66; obj* x_68; obj* x_69; obj* x_70; +x_58 = lean::cnstr_get(x_4, 1); lean::inc(x_58); +x_60 = lean::cnstr_get(x_4, 2); +lean::inc(x_60); lean::dec(x_4); -x_61 = l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_parseHexLit___spec__1(x_0, x_56, x_5); -x_62 = lean::cnstr_get(x_61, 0); -x_64 = lean::cnstr_get(x_61, 1); -if (lean::is_exclusive(x_61)) { - x_66 = x_61; +x_63 = l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_parseHexLit___spec__1(x_0, x_58, x_5); +x_64 = lean::cnstr_get(x_63, 0); +x_66 = lean::cnstr_get(x_63, 1); +if (lean::is_exclusive(x_63)) { + x_68 = x_63; } else { - lean::inc(x_62); lean::inc(x_64); - lean::dec(x_61); - x_66 = lean::box(0); + lean::inc(x_66); + lean::dec(x_63); + x_68 = lean::box(0); } -x_67 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_58, x_62); -if (lean::is_scalar(x_66)) { - x_68 = lean::alloc_cnstr(0, 2, 0); +x_69 = l_Lean_Parser_ParsecT_bindMkRes___rarg(x_60, x_64); +if (lean::is_scalar(x_68)) { + x_70 = lean::alloc_cnstr(0, 2, 0); } else { - x_68 = x_66; + x_70 = x_68; } -lean::cnstr_set(x_68, 0, x_67); -lean::cnstr_set(x_68, 1, x_64); -return x_68; +lean::cnstr_set(x_70, 0, x_69); +lean::cnstr_set(x_70, 1, x_66); +return x_70; } else { -obj* x_69; uint8 x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; -x_69 = lean::cnstr_get(x_4, 0); -x_71 = lean::cnstr_get_scalar(x_4, sizeof(void*)*1); +obj* x_71; uint8 x_73; obj* x_74; obj* x_75; obj* x_76; obj* x_77; +x_71 = lean::cnstr_get(x_4, 0); +x_73 = lean::cnstr_get_scalar(x_4, sizeof(void*)*1); if (lean::is_exclusive(x_4)) { - x_72 = x_4; + x_74 = x_4; } else { - lean::inc(x_69); + lean::inc(x_71); lean::dec(x_4); - x_72 = lean::box(0); + x_74 = lean::box(0); } -if (lean::is_scalar(x_72)) { - x_73 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_74)) { + x_75 = lean::alloc_cnstr(1, 1, 1); } else { - x_73 = x_72; + x_75 = x_74; } -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 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_75, 0, x_74); -lean::cnstr_set(x_75, 1, x_5); -return x_75; +lean::cnstr_set(x_75, 0, x_71); +lean::cnstr_set_scalar(x_75, sizeof(void*)*1, x_73); +x_76 = x_75; +x_77 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_77, 0, x_76); +lean::cnstr_set(x_77, 1, x_5); +return x_77; } } } diff --git a/src/stage0/init/lean/parser/trie.cpp b/src/stage0/init/lean/parser/trie.cpp index a7685ace9c..458be7f8f7 100644 --- a/src/stage0/init/lean/parser/trie.cpp +++ b/src/stage0/init/lean/parser/trie.cpp @@ -26,6 +26,7 @@ obj* l_Lean_Format_pretty(obj*, obj*); obj* l___private_init_lean_parser_trie_3__findAux___rarg(obj*, obj*, obj*); obj* l_Lean_Parser_Trie_insert___boxed(obj*); obj* l___private_init_lean_parser_trie_3__findAux___main___boxed(obj*); +obj* l___private_init_lean_parser_trie_4__updtAcc___rarg___boxed(obj*, obj*, obj*); obj* l___private_init_lean_parser_trie_1__insertEmptyAux___main(obj*); obj* l___private_init_lean_parser_trie_5__matchPrefixAux___main___rarg___boxed(obj*, obj*, obj*, obj*); obj* l___private_init_lean_parser_trie_6__oldMatchPrefixAux___main(obj*); @@ -1822,24 +1823,13 @@ _start: if (lean::obj_tag(x_0) == 0) { lean::dec(x_1); +lean::inc(x_2); return x_2; } else { -obj* x_4; obj* x_5; -if (lean::is_exclusive(x_2)) { - lean::cnstr_release(x_2, 0); - lean::cnstr_release(x_2, 1); - x_4 = x_2; -} else { - lean::dec(x_2); - x_4 = lean::box(0); -} -if (lean::is_scalar(x_4)) { - x_5 = lean::alloc_cnstr(0, 2, 0); -} else { - x_5 = x_4; -} +obj* x_5; +x_5 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_5, 0, x_1); lean::cnstr_set(x_5, 1, x_0); return x_5; @@ -1850,10 +1840,19 @@ obj* l___private_init_lean_parser_trie_4__updtAcc(obj* x_0) { _start: { obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_trie_4__updtAcc___rarg), 3, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_trie_4__updtAcc___rarg___boxed), 3, 0); return x_1; } } +obj* l___private_init_lean_parser_trie_4__updtAcc___rarg___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l___private_init_lean_parser_trie_4__updtAcc___rarg(x_0, x_1, x_2); +lean::dec(x_2); +return x_3; +} +} obj* l___private_init_lean_parser_trie_4__updtAcc___boxed(obj* x_0) { _start: { @@ -1875,36 +1874,38 @@ lean::dec(x_1); x_9 = lean::string_utf8_at_end(x_0, x_2); if (x_9 == 0) { -obj* x_11; uint32 x_12; obj* x_13; +obj* x_11; uint32 x_13; obj* x_14; lean::inc(x_2); x_11 = l___private_init_lean_parser_trie_4__updtAcc___rarg(x_4, x_2, x_3); -x_12 = lean::string_utf8_get(x_0, x_2); -x_13 = l_RBNode_find___main___at___private_init_lean_parser_trie_2__insertAux___main___spec__1___rarg(x_6, x_12); -if (lean::obj_tag(x_13) == 0) +lean::dec(x_3); +x_13 = lean::string_utf8_get(x_0, x_2); +x_14 = l_RBNode_find___main___at___private_init_lean_parser_trie_2__insertAux___main___spec__1___rarg(x_6, x_13); +if (lean::obj_tag(x_14) == 0) { lean::dec(x_2); return x_11; } else { -obj* x_15; obj* x_18; -x_15 = lean::cnstr_get(x_13, 0); -lean::inc(x_15); -lean::dec(x_13); -x_18 = lean::string_utf8_next(x_0, x_2); +obj* x_16; obj* x_19; +x_16 = lean::cnstr_get(x_14, 0); +lean::inc(x_16); +lean::dec(x_14); +x_19 = lean::string_utf8_next(x_0, x_2); lean::dec(x_2); -x_1 = x_15; -x_2 = x_18; +x_1 = x_16; +x_2 = x_19; x_3 = x_11; goto _start; } } else { -obj* x_22; +obj* x_23; lean::dec(x_6); -x_22 = l___private_init_lean_parser_trie_4__updtAcc___rarg(x_4, x_2, x_3); -return x_22; +x_23 = l___private_init_lean_parser_trie_4__updtAcc___rarg(x_4, x_2, x_3); +lean::dec(x_3); +return x_23; } } }