diff --git a/src/boot/init/data/repr.cpp b/src/boot/init/data/repr.cpp index 5519fa564e..b53a2f232a 100644 --- a/src/boot/init/data/repr.cpp +++ b/src/boot/init/data/repr.cpp @@ -1237,97 +1237,89 @@ return x_0; obj* l_char_quote__core(uint32 x_0) { _start: { -obj* x_1; uint32 x_3; uint8 x_4; -x_3 = 10; +uint32 x_1; uint8 x_2; +x_1 = 10; +x_2 = x_0 == x_1; +if (x_2 == 0) +{ +uint32 x_3; uint8 x_4; +x_3 = 9; x_4 = x_0 == x_3; if (x_4 == 0) { uint32 x_5; uint8 x_6; -x_5 = 9; +x_5 = 92; x_6 = x_0 == x_5; if (x_6 == 0) { -obj* x_7; -x_7 = lean::box(0); -x_1 = x_7; -goto lbl_2; -} -else +uint32 x_7; uint8 x_8; +x_7 = 34; +x_8 = x_0 == x_7; +if (x_8 == 0) { -obj* x_8; -x_8 = l_char_quote__core___closed__4; -return x_8; -} -} -else -{ -obj* x_9; -x_9 = l_char_quote__core___closed__5; -return x_9; -} -lbl_2: -{ -uint32 x_11; uint8 x_12; -lean::dec(x_1); -x_11 = 92; -x_12 = x_0 == x_11; -if (x_12 == 0) +obj* x_9; obj* x_10; uint8 x_11; +x_9 = lean::uint32_to_nat(x_0); +x_10 = lean::mk_nat_obj(31u); +x_11 = lean::nat_dec_le(x_9, x_10); +lean::dec(x_9); +if (x_11 == 0) { uint32 x_13; uint8 x_14; -x_13 = 34; +x_13 = 127; x_14 = x_0 == x_13; if (x_14 == 0) { -obj* x_15; obj* x_16; uint8 x_17; -x_15 = lean::uint32_to_nat(x_0); -x_16 = lean::mk_nat_obj(31u); -x_17 = lean::nat_dec_le(x_15, x_16); -lean::dec(x_15); -if (x_17 == 0) -{ -uint32 x_19; uint8 x_20; -x_19 = 127; -x_20 = x_0 == x_19; -if (x_20 == 0) -{ -obj* x_21; obj* x_22; -x_21 = l_string_iterator_extract___main___closed__1; -x_22 = lean::string_push(x_21, x_0); -return x_22; +obj* x_15; obj* x_16; +x_15 = l_string_iterator_extract___main___closed__1; +x_16 = lean::string_push(x_15, x_0); +return x_16; } else { -obj* x_23; obj* x_24; obj* x_25; -x_23 = l_char__to__hex(x_0); -x_24 = l_char_quote__core___closed__1; -x_25 = lean::string_append(x_24, x_23); -lean::dec(x_23); +obj* x_17; obj* x_18; obj* x_19; +x_17 = l_char__to__hex(x_0); +x_18 = l_char_quote__core___closed__1; +x_19 = lean::string_append(x_18, x_17); +lean::dec(x_17); +return x_19; +} +} +else +{ +obj* x_21; obj* x_22; obj* x_23; +x_21 = l_char__to__hex(x_0); +x_22 = l_char_quote__core___closed__1; +x_23 = lean::string_append(x_22, x_21); +lean::dec(x_21); +return x_23; +} +} +else +{ +obj* x_25; +x_25 = l_char_quote__core___closed__2; return x_25; } } else { -obj* x_27; obj* x_28; obj* x_29; -x_27 = l_char__to__hex(x_0); -x_28 = l_char_quote__core___closed__1; -x_29 = lean::string_append(x_28, x_27); -lean::dec(x_27); -return x_29; +obj* x_26; +x_26 = l_char_quote__core___closed__3; +return x_26; } } else { -obj* x_31; -x_31 = l_char_quote__core___closed__2; -return x_31; +obj* x_27; +x_27 = l_char_quote__core___closed__4; +return x_27; } } else { -obj* x_32; -x_32 = l_char_quote__core___closed__3; -return x_32; -} +obj* x_28; +x_28 = l_char_quote__core___closed__5; +return x_28; } } } diff --git a/src/boot/init/lean/compiler/const_folding.cpp b/src/boot/init/lean/compiler/const_folding.cpp index 797e650f37..64cccc9b4a 100644 --- a/src/boot/init/lean/compiler/const_folding.cpp +++ b/src/boot/init/lean/compiler/const_folding.cpp @@ -1901,107 +1901,98 @@ return x_3; obj* l_lean_compiler_fold__char__of__nat(uint8 x_0, obj* x_1) { _start: { -obj* x_2; if (x_0 == 0) { -obj* x_4; -x_4 = lean::box(0); -x_2 = x_4; -goto lbl_3; +obj* x_2; +x_2 = l_lean_compiler_get__num__lit___main(x_1); +if (lean::obj_tag(x_2) == 0) +{ +obj* x_3; +x_3 = lean::box(0); +return x_3; } else { -obj* x_6; +obj* x_4; obj* x_6; uint32 x_7; uint32 x_8; uint8 x_9; +x_4 = lean::cnstr_get(x_2, 0); +if (lean::is_exclusive(x_2)) { + lean::cnstr_set(x_2, 0, lean::box(0)); + x_6 = x_2; +} else { + lean::inc(x_4); + lean::dec(x_2); + x_6 = lean::box(0); +} +x_7 = lean::uint32_of_nat(x_4); +x_8 = 55296; +x_9 = x_7 < x_8; +if (x_9 == 0) +{ +uint32 x_10; uint8 x_11; +x_10 = 57343; +x_11 = x_10 < x_7; +if (x_11 == 0) +{ +obj* x_14; +lean::dec(x_6); +lean::dec(x_4); +x_14 = l_lean_compiler_fold__char__of__nat___closed__1; +return x_14; +} +else +{ +uint32 x_15; uint8 x_16; +x_15 = 1114112; +x_16 = x_7 < x_15; +if (x_16 == 0) +{ +obj* x_19; +lean::dec(x_6); +lean::dec(x_4); +x_19 = l_lean_compiler_fold__char__of__nat___closed__1; +return x_19; +} +else +{ +obj* x_20; obj* x_21; obj* x_23; +x_20 = l_lean_compiler_mk__uint32__lit___closed__1; +x_21 = l_lean_compiler_mk__uint__lit(x_20, x_4); +lean::dec(x_4); +if (lean::is_scalar(x_6)) { + x_23 = lean::alloc_cnstr(1, 1, 0); +} else { + x_23 = x_6; +} +lean::cnstr_set(x_23, 0, x_21); +return x_23; +} +} +} +else +{ +obj* x_24; obj* x_25; obj* x_27; +x_24 = l_lean_compiler_mk__uint32__lit___closed__1; +x_25 = l_lean_compiler_mk__uint__lit(x_24, x_4); +lean::dec(x_4); +if (lean::is_scalar(x_6)) { + x_27 = lean::alloc_cnstr(1, 1, 0); +} else { + x_27 = x_6; +} +lean::cnstr_set(x_27, 0, x_25); +return x_27; +} +} +} +else +{ +obj* x_29; lean::dec(x_1); -x_6 = lean::box(0); -return x_6; -} -lbl_3: -{ -obj* x_8; -lean::dec(x_2); -x_8 = l_lean_compiler_get__num__lit___main(x_1); -if (lean::obj_tag(x_8) == 0) -{ -obj* x_9; -x_9 = lean::box(0); -return x_9; -} -else -{ -obj* x_10; obj* x_12; uint32 x_13; uint32 x_14; uint8 x_15; -x_10 = lean::cnstr_get(x_8, 0); -if (lean::is_exclusive(x_8)) { - lean::cnstr_set(x_8, 0, lean::box(0)); - x_12 = x_8; -} else { - lean::inc(x_10); - lean::dec(x_8); - x_12 = lean::box(0); -} -x_13 = lean::uint32_of_nat(x_10); -x_14 = 55296; -x_15 = x_13 < x_14; -if (x_15 == 0) -{ -uint32 x_16; uint8 x_17; -x_16 = 57343; -x_17 = x_16 < x_13; -if (x_17 == 0) -{ -obj* x_20; -lean::dec(x_10); -lean::dec(x_12); -x_20 = l_lean_compiler_fold__char__of__nat___closed__1; -return x_20; -} -else -{ -uint32 x_21; uint8 x_22; -x_21 = 1114112; -x_22 = x_13 < x_21; -if (x_22 == 0) -{ -obj* x_25; -lean::dec(x_10); -lean::dec(x_12); -x_25 = l_lean_compiler_fold__char__of__nat___closed__1; -return x_25; -} -else -{ -obj* x_26; obj* x_27; obj* x_29; -x_26 = l_lean_compiler_mk__uint32__lit___closed__1; -x_27 = l_lean_compiler_mk__uint__lit(x_26, x_10); -lean::dec(x_10); -if (lean::is_scalar(x_12)) { - x_29 = lean::alloc_cnstr(1, 1, 0); -} else { - x_29 = x_12; -} -lean::cnstr_set(x_29, 0, x_27); +x_29 = lean::box(0); return x_29; } } } -else -{ -obj* x_30; obj* x_31; obj* x_33; -x_30 = l_lean_compiler_mk__uint32__lit___closed__1; -x_31 = l_lean_compiler_mk__uint__lit(x_30, x_10); -lean::dec(x_10); -if (lean::is_scalar(x_12)) { - x_33 = lean::alloc_cnstr(1, 1, 0); -} else { - x_33 = x_12; -} -lean::cnstr_set(x_33, 0, x_31); -return x_33; -} -} -} -} -} obj* l_lean_compiler_fold__char__of__nat___boxed(obj* x_0, obj* x_1) { _start: { diff --git a/src/boot/init/lean/elaborator.cpp b/src/boot/init/lean/elaborator.cpp index c752fab446..2f37031710 100644 --- a/src/boot/init/lean/elaborator.cpp +++ b/src/boot/init/lean/elaborator.cpp @@ -159,7 +159,6 @@ obj* l_lean_elaborator_mk__state___closed__6; obj* l_lean_elaborator_variables_elaborate___closed__2; uint8 l_lean_elaborator_match__precedence___main(obj*, obj*); obj* l_lean_elaborator_to__pexpr___main___closed__39; -extern obj* l_lean_expander_expand__bracketed__binder___main___closed__6; obj* l_rbnode_ins___main___at_lean_elaborator_register__notation__macro___spec__3___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_number_view_to__nat___main(obj*); obj* l_list_mmap___main___at_lean_elaborator_to__level___main___spec__1___boxed(obj*, obj*, obj*, obj*); @@ -174,6 +173,7 @@ uint8 l_lean_parser_syntax_is__of__kind___main(obj*, obj*); extern "C" obj* lean_expr_mk_lit(obj*); obj* l_list_foldl___main___at_lean_elaborator_declaration_elaborate___spec__13(obj*, obj*); extern "C" obj* lean_expr_local(obj*, obj*, obj*, uint8); +extern obj* l_lean_expander_expand__bracketed__binder___main___closed__4; obj* l_lean_parser_term_simple__binder_view_to__binder__info___main(obj*); extern obj* l_lean_parser_command_set__option; obj* l_rbnode_find___main___at_lean_elaborator_ordered__rbmap_find___spec__2(obj*, obj*); @@ -729,6 +729,7 @@ obj* l_list_foldr___main___at_lean_elaborator_is__open__namespace___main___spec_ obj* l_lean_elaborator_to__pexpr___main___closed__42; extern "C" uint8 lean_environment_contains(obj*, obj*); extern obj* l_lean_parser_command_notation_has__view; +obj* l_list_mmap___main___at_lean_elaborator_match__spec___spec__2(obj*); obj* l_rbnode_insert___at_lean_elaborator_register__notation__macro___spec__2___boxed(obj*, obj*, obj*, obj*); extern obj* l_lean_parser_command_check; obj* l_list_foldr___main___at_lean_elaborator_to__pexpr___main___spec__11___boxed(obj*, obj*); @@ -9068,16 +9069,6 @@ return x_2; obj* _init_l_lean_elaborator_to__pexpr___main___closed__40() { _start: { -obj* x_0; obj* x_1; obj* x_2; -x_0 = lean::box(0); -x_1 = lean::mk_string("have"); -x_2 = lean_name_mk_string(x_0, x_1); -return x_2; -} -} -obj* _init_l_lean_elaborator_to__pexpr___main___closed__41() { -_start: -{ obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; x_0 = lean::box(0); x_1 = lean::mk_string("this"); @@ -9088,6 +9079,16 @@ lean::dec(x_2); return x_4; } } +obj* _init_l_lean_elaborator_to__pexpr___main___closed__41() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::mk_string("have"); +x_2 = lean_name_mk_string(x_0, x_1); +return x_2; +} +} obj* _init_l_lean_elaborator_to__pexpr___main___closed__42() { _start: { @@ -11127,31 +11128,31 @@ return x_943; } else { -obj* x_945; obj* x_946; obj* x_950; obj* x_951; obj* x_955; +obj* x_946; obj* x_947; obj* x_951; obj* x_952; obj* x_956; +lean::dec(x_8); lean::dec(x_10); -x_945 = l_lean_parser_term_borrowed_has__view; -x_946 = lean::cnstr_get(x_945, 0); -lean::inc(x_946); -lean::dec(x_945); +x_946 = l_lean_parser_term_borrowed_has__view; +x_947 = lean::cnstr_get(x_946, 0); +lean::inc(x_947); +lean::dec(x_946); lean::inc(x_0); -x_950 = lean::apply_1(x_946, x_0); -x_951 = lean::cnstr_get(x_950, 1); -lean::inc(x_951); -lean::dec(x_950); +x_951 = lean::apply_1(x_947, x_0); +x_952 = lean::cnstr_get(x_951, 1); +lean::inc(x_952); +lean::dec(x_951); lean::inc(x_2); -x_955 = l_lean_elaborator_to__pexpr___main(x_951, x_1, x_2, x_3); -if (lean::obj_tag(x_955) == 0) +x_956 = l_lean_elaborator_to__pexpr___main(x_952, x_1, x_2, x_3); +if (lean::obj_tag(x_956) == 0) { obj* x_959; obj* x_961; obj* x_962; -lean::dec(x_8); lean::dec(x_0); lean::dec(x_2); -x_959 = lean::cnstr_get(x_955, 0); -if (lean::is_exclusive(x_955)) { - x_961 = x_955; +x_959 = lean::cnstr_get(x_956, 0); +if (lean::is_exclusive(x_956)) { + x_961 = x_956; } else { lean::inc(x_959); - lean::dec(x_955); + lean::dec(x_956); x_961 = lean::box(0); } if (lean::is_scalar(x_961)) { @@ -11164,13 +11165,21 @@ return x_962; } else { -obj* x_963; obj* x_966; obj* x_968; obj* x_970; obj* x_971; obj* x_972; obj* x_973; -x_963 = lean::cnstr_get(x_955, 0); -lean::inc(x_963); -lean::dec(x_955); +obj* x_963; obj* x_965; obj* x_966; obj* x_968; obj* x_970; obj* x_971; obj* x_972; +x_963 = lean::cnstr_get(x_956, 0); +if (lean::is_exclusive(x_956)) { + lean::cnstr_set(x_956, 0, lean::box(0)); + x_965 = x_956; +} else { + lean::inc(x_963); + lean::dec(x_956); + x_965 = lean::box(0); +} x_966 = lean::cnstr_get(x_963, 0); x_968 = lean::cnstr_get(x_963, 1); if (lean::is_exclusive(x_963)) { + lean::cnstr_set(x_963, 0, lean::box(0)); + lean::cnstr_set(x_963, 1, lean::box(0)); x_970 = x_963; } else { lean::inc(x_966); @@ -11180,2495 +11189,3571 @@ if (lean::is_exclusive(x_963)) { } x_971 = l_lean_elaborator_to__pexpr___main___closed__32; x_972 = l_lean_elaborator_expr_mk__annotation(x_971, x_966); +if (x_20 == 0) +{ +obj* x_973; +x_973 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_973) == 0) +{ +obj* x_976; obj* x_977; +lean::dec(x_2); if (lean::is_scalar(x_970)) { - x_973 = lean::alloc_cnstr(0, 2, 0); + x_976 = lean::alloc_cnstr(0, 2, 0); } else { - x_973 = x_970; + x_976 = x_970; } -lean::cnstr_set(x_973, 0, x_972); -lean::cnstr_set(x_973, 1, x_968); -x_15 = x_973; -goto lbl_16; +lean::cnstr_set(x_976, 0, x_972); +lean::cnstr_set(x_976, 1, x_968); +if (lean::is_scalar(x_965)) { + x_977 = lean::alloc_cnstr(1, 1, 0); +} else { + x_977 = x_965; } +lean::cnstr_set(x_977, 0, x_976); +return x_977; +} +else +{ +obj* x_978; obj* x_981; obj* x_984; obj* x_987; obj* x_988; obj* x_989; obj* x_991; obj* x_992; obj* x_993; obj* x_996; obj* x_997; obj* x_998; obj* x_999; obj* x_1000; +x_978 = lean::cnstr_get(x_973, 0); +lean::inc(x_978); +lean::dec(x_973); +x_981 = lean::cnstr_get(x_2, 0); +lean::inc(x_981); +lean::dec(x_2); +x_984 = lean::cnstr_get(x_981, 2); +lean::inc(x_984); +lean::dec(x_981); +x_987 = l_lean_file__map_to__position(x_984, x_978); +x_988 = lean::box(0); +x_989 = lean::cnstr_get(x_987, 1); +lean::inc(x_989); +x_991 = l_lean_elaborator_to__pexpr___main___closed__3; +x_992 = l_lean_kvmap_set__nat(x_988, x_991, x_989); +x_993 = lean::cnstr_get(x_987, 0); +lean::inc(x_993); +lean::dec(x_987); +x_996 = l_lean_elaborator_to__pexpr___main___closed__4; +x_997 = l_lean_kvmap_set__nat(x_992, x_996, x_993); +x_998 = lean_expr_mk_mdata(x_997, x_972); +if (lean::is_scalar(x_970)) { + x_999 = lean::alloc_cnstr(0, 2, 0); +} else { + x_999 = x_970; +} +lean::cnstr_set(x_999, 0, x_998); +lean::cnstr_set(x_999, 1, x_968); +if (lean::is_scalar(x_965)) { + x_1000 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1000 = x_965; +} +lean::cnstr_set(x_1000, 0, x_999); +return x_1000; } } else { -obj* x_975; obj* x_976; obj* x_980; obj* x_981; obj* x_985; -lean::dec(x_10); -x_975 = l_lean_parser_term_inaccessible_has__view; -x_976 = lean::cnstr_get(x_975, 0); -lean::inc(x_976); -lean::dec(x_975); -lean::inc(x_0); -x_980 = lean::apply_1(x_976, x_0); -x_981 = lean::cnstr_get(x_980, 1); -lean::inc(x_981); -lean::dec(x_980); -lean::inc(x_2); -x_985 = l_lean_elaborator_to__pexpr___main(x_981, x_1, x_2, x_3); -if (lean::obj_tag(x_985) == 0) -{ -obj* x_989; obj* x_991; obj* x_992; -lean::dec(x_8); +obj* x_1003; obj* x_1004; lean::dec(x_0); lean::dec(x_2); -x_989 = lean::cnstr_get(x_985, 0); -if (lean::is_exclusive(x_985)) { - x_991 = x_985; -} else { - lean::inc(x_989); - lean::dec(x_985); - x_991 = lean::box(0); -} -if (lean::is_scalar(x_991)) { - x_992 = lean::alloc_cnstr(0, 1, 0); -} else { - x_992 = x_991; -} -lean::cnstr_set(x_992, 0, x_989); -return x_992; -} -else -{ -obj* x_993; obj* x_996; obj* x_998; obj* x_1000; obj* x_1001; obj* x_1002; obj* x_1003; -x_993 = lean::cnstr_get(x_985, 0); -lean::inc(x_993); -lean::dec(x_985); -x_996 = lean::cnstr_get(x_993, 0); -x_998 = lean::cnstr_get(x_993, 1); -if (lean::is_exclusive(x_993)) { - x_1000 = x_993; -} else { - lean::inc(x_996); - lean::inc(x_998); - lean::dec(x_993); - x_1000 = lean::box(0); -} -x_1001 = l_lean_elaborator_to__pexpr___main___closed__33; -x_1002 = l_lean_elaborator_expr_mk__annotation(x_1001, x_996); -if (lean::is_scalar(x_1000)) { +if (lean::is_scalar(x_970)) { x_1003 = lean::alloc_cnstr(0, 2, 0); } else { - x_1003 = x_1000; + x_1003 = x_970; +} +lean::cnstr_set(x_1003, 0, x_972); +lean::cnstr_set(x_1003, 1, x_968); +if (lean::is_scalar(x_965)) { + x_1004 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1004 = x_965; +} +lean::cnstr_set(x_1004, 0, x_1003); +return x_1004; } -lean::cnstr_set(x_1003, 0, x_1002); -lean::cnstr_set(x_1003, 1, x_998); -x_15 = x_1003; -goto lbl_16; } } } else { -obj* x_1005; obj* x_1006; obj* x_1010; obj* x_1011; obj* x_1013; obj* x_1014; obj* x_1017; obj* x_1020; -lean::dec(x_10); -x_1005 = l_lean_parser_term_explicit_has__view; -x_1006 = lean::cnstr_get(x_1005, 0); -lean::inc(x_1006); -lean::dec(x_1005); -lean::inc(x_0); -x_1010 = lean::apply_1(x_1006, x_0); -x_1011 = lean::cnstr_get(x_1010, 0); -lean::inc(x_1011); -x_1013 = l_lean_parser_ident__univs_has__view; -x_1014 = lean::cnstr_get(x_1013, 1); -lean::inc(x_1014); -lean::dec(x_1013); -x_1017 = lean::cnstr_get(x_1010, 1); -lean::inc(x_1017); -lean::dec(x_1010); -x_1020 = lean::apply_1(x_1014, x_1017); -if (lean::obj_tag(x_1011) == 0) -{ -obj* x_1023; -lean::dec(x_1011); -lean::inc(x_2); -x_1023 = l_lean_elaborator_to__pexpr___main(x_1020, x_1, x_2, x_3); -if (lean::obj_tag(x_1023) == 0) -{ -obj* x_1027; obj* x_1029; obj* x_1030; +obj* x_1007; obj* x_1008; obj* x_1012; obj* x_1013; obj* x_1017; lean::dec(x_8); +lean::dec(x_10); +x_1007 = l_lean_parser_term_inaccessible_has__view; +x_1008 = lean::cnstr_get(x_1007, 0); +lean::inc(x_1008); +lean::dec(x_1007); +lean::inc(x_0); +x_1012 = lean::apply_1(x_1008, x_0); +x_1013 = lean::cnstr_get(x_1012, 1); +lean::inc(x_1013); +lean::dec(x_1012); +lean::inc(x_2); +x_1017 = l_lean_elaborator_to__pexpr___main(x_1013, x_1, x_2, x_3); +if (lean::obj_tag(x_1017) == 0) +{ +obj* x_1020; obj* x_1022; obj* x_1023; lean::dec(x_0); lean::dec(x_2); -x_1027 = lean::cnstr_get(x_1023, 0); -if (lean::is_exclusive(x_1023)) { - x_1029 = x_1023; +x_1020 = lean::cnstr_get(x_1017, 0); +if (lean::is_exclusive(x_1017)) { + x_1022 = x_1017; +} else { + lean::inc(x_1020); + lean::dec(x_1017); + x_1022 = lean::box(0); +} +if (lean::is_scalar(x_1022)) { + x_1023 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1023 = x_1022; +} +lean::cnstr_set(x_1023, 0, x_1020); +return x_1023; +} +else +{ +obj* x_1024; obj* x_1026; obj* x_1027; obj* x_1029; obj* x_1031; obj* x_1032; obj* x_1033; +x_1024 = lean::cnstr_get(x_1017, 0); +if (lean::is_exclusive(x_1017)) { + lean::cnstr_set(x_1017, 0, lean::box(0)); + x_1026 = x_1017; +} else { + lean::inc(x_1024); + lean::dec(x_1017); + x_1026 = lean::box(0); +} +x_1027 = lean::cnstr_get(x_1024, 0); +x_1029 = lean::cnstr_get(x_1024, 1); +if (lean::is_exclusive(x_1024)) { + lean::cnstr_set(x_1024, 0, lean::box(0)); + lean::cnstr_set(x_1024, 1, lean::box(0)); + x_1031 = x_1024; } else { lean::inc(x_1027); - lean::dec(x_1023); - x_1029 = lean::box(0); + lean::inc(x_1029); + lean::dec(x_1024); + x_1031 = lean::box(0); } -if (lean::is_scalar(x_1029)) { - x_1030 = lean::alloc_cnstr(0, 1, 0); +x_1032 = l_lean_elaborator_to__pexpr___main___closed__33; +x_1033 = l_lean_elaborator_expr_mk__annotation(x_1032, x_1027); +if (x_20 == 0) +{ +obj* x_1034; +x_1034 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1034) == 0) +{ +obj* x_1037; obj* x_1038; +lean::dec(x_2); +if (lean::is_scalar(x_1031)) { + x_1037 = lean::alloc_cnstr(0, 2, 0); } else { - x_1030 = x_1029; + x_1037 = x_1031; } -lean::cnstr_set(x_1030, 0, x_1027); -return x_1030; +lean::cnstr_set(x_1037, 0, x_1033); +lean::cnstr_set(x_1037, 1, x_1029); +if (lean::is_scalar(x_1026)) { + x_1038 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1038 = x_1026; +} +lean::cnstr_set(x_1038, 0, x_1037); +return x_1038; } else { -obj* x_1031; obj* x_1034; obj* x_1036; obj* x_1038; obj* x_1039; obj* x_1040; obj* x_1041; -x_1031 = lean::cnstr_get(x_1023, 0); -lean::inc(x_1031); -lean::dec(x_1023); -x_1034 = lean::cnstr_get(x_1031, 0); -x_1036 = lean::cnstr_get(x_1031, 1); -if (lean::is_exclusive(x_1031)) { - x_1038 = x_1031; +obj* x_1039; obj* x_1042; obj* x_1045; obj* x_1048; obj* x_1049; obj* x_1050; obj* x_1052; obj* x_1053; obj* x_1054; obj* x_1057; obj* x_1058; obj* x_1059; obj* x_1060; obj* x_1061; +x_1039 = lean::cnstr_get(x_1034, 0); +lean::inc(x_1039); +lean::dec(x_1034); +x_1042 = lean::cnstr_get(x_2, 0); +lean::inc(x_1042); +lean::dec(x_2); +x_1045 = lean::cnstr_get(x_1042, 2); +lean::inc(x_1045); +lean::dec(x_1042); +x_1048 = l_lean_file__map_to__position(x_1045, x_1039); +x_1049 = lean::box(0); +x_1050 = lean::cnstr_get(x_1048, 1); +lean::inc(x_1050); +x_1052 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1053 = l_lean_kvmap_set__nat(x_1049, x_1052, x_1050); +x_1054 = lean::cnstr_get(x_1048, 0); +lean::inc(x_1054); +lean::dec(x_1048); +x_1057 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1058 = l_lean_kvmap_set__nat(x_1053, x_1057, x_1054); +x_1059 = lean_expr_mk_mdata(x_1058, x_1033); +if (lean::is_scalar(x_1031)) { + x_1060 = lean::alloc_cnstr(0, 2, 0); } else { - lean::inc(x_1034); - lean::inc(x_1036); - lean::dec(x_1031); - x_1038 = lean::box(0); + x_1060 = x_1031; } -x_1039 = l_list_map___main___at_lean_elaborator_mk__eqns___spec__1___closed__1; -x_1040 = l_lean_elaborator_expr_mk__annotation(x_1039, x_1034); -if (lean::is_scalar(x_1038)) { - x_1041 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_1060, 0, x_1059); +lean::cnstr_set(x_1060, 1, x_1029); +if (lean::is_scalar(x_1026)) { + x_1061 = lean::alloc_cnstr(1, 1, 0); } else { - x_1041 = x_1038; + x_1061 = x_1026; } -lean::cnstr_set(x_1041, 0, x_1040); -lean::cnstr_set(x_1041, 1, x_1036); -x_15 = x_1041; -goto lbl_16; +lean::cnstr_set(x_1061, 0, x_1060); +return x_1061; } } else { -obj* x_1044; -lean::dec(x_1011); -lean::inc(x_2); -x_1044 = l_lean_elaborator_to__pexpr___main(x_1020, x_1, x_2, x_3); -if (lean::obj_tag(x_1044) == 0) -{ -obj* x_1048; obj* x_1050; obj* x_1051; -lean::dec(x_8); +obj* x_1064; obj* x_1065; lean::dec(x_0); lean::dec(x_2); -x_1048 = lean::cnstr_get(x_1044, 0); -if (lean::is_exclusive(x_1044)) { - x_1050 = x_1044; +if (lean::is_scalar(x_1031)) { + x_1064 = lean::alloc_cnstr(0, 2, 0); } else { - lean::inc(x_1048); - lean::dec(x_1044); - x_1050 = lean::box(0); + x_1064 = x_1031; } -if (lean::is_scalar(x_1050)) { - x_1051 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_1064, 0, x_1033); +lean::cnstr_set(x_1064, 1, x_1029); +if (lean::is_scalar(x_1026)) { + x_1065 = lean::alloc_cnstr(1, 1, 0); } else { - x_1051 = x_1050; + x_1065 = x_1026; } -lean::cnstr_set(x_1051, 0, x_1048); -return x_1051; -} -else -{ -obj* x_1052; obj* x_1055; obj* x_1057; obj* x_1059; obj* x_1060; obj* x_1061; obj* x_1062; -x_1052 = lean::cnstr_get(x_1044, 0); -lean::inc(x_1052); -lean::dec(x_1044); -x_1055 = lean::cnstr_get(x_1052, 0); -x_1057 = lean::cnstr_get(x_1052, 1); -if (lean::is_exclusive(x_1052)) { - x_1059 = x_1052; -} else { - lean::inc(x_1055); - lean::inc(x_1057); - lean::dec(x_1052); - x_1059 = lean::box(0); -} -x_1060 = l_lean_elaborator_to__pexpr___main___closed__34; -x_1061 = l_lean_elaborator_expr_mk__annotation(x_1060, x_1055); -if (lean::is_scalar(x_1059)) { - x_1062 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1062 = x_1059; -} -lean::cnstr_set(x_1062, 0, x_1061); -lean::cnstr_set(x_1062, 1, x_1057); -x_15 = x_1062; -goto lbl_16; +lean::cnstr_set(x_1065, 0, x_1064); +return x_1065; } } } } else { -obj* x_1064; obj* x_1065; obj* x_1069; obj* x_1070; +obj* x_1068; obj* x_1069; obj* x_1073; obj* x_1074; obj* x_1076; obj* x_1077; obj* x_1080; obj* x_1083; +lean::dec(x_8); lean::dec(x_10); -x_1064 = l_lean_parser_term_projection_has__view; -x_1065 = lean::cnstr_get(x_1064, 0); -lean::inc(x_1065); -lean::dec(x_1064); +x_1068 = l_lean_parser_term_explicit_has__view; +x_1069 = lean::cnstr_get(x_1068, 0); +lean::inc(x_1069); +lean::dec(x_1068); lean::inc(x_0); -x_1069 = lean::apply_1(x_1065, x_0); -x_1070 = lean::cnstr_get(x_1069, 2); -lean::inc(x_1070); -if (lean::obj_tag(x_1070) == 0) +x_1073 = lean::apply_1(x_1069, x_0); +x_1074 = lean::cnstr_get(x_1073, 0); +lean::inc(x_1074); +x_1076 = l_lean_parser_ident__univs_has__view; +x_1077 = lean::cnstr_get(x_1076, 1); +lean::inc(x_1077); +lean::dec(x_1076); +x_1080 = lean::cnstr_get(x_1073, 1); +lean::inc(x_1080); +lean::dec(x_1073); +x_1083 = lean::apply_1(x_1077, x_1080); +if (lean::obj_tag(x_1074) == 0) { -obj* x_1072; obj* x_1075; obj* x_1079; -x_1072 = lean::cnstr_get(x_1069, 0); -lean::inc(x_1072); -lean::dec(x_1069); -x_1075 = lean::cnstr_get(x_1070, 0); -lean::inc(x_1075); -lean::dec(x_1070); +obj* x_1086; +lean::dec(x_1074); lean::inc(x_2); -x_1079 = l_lean_elaborator_to__pexpr___main(x_1072, x_1, x_2, x_3); -if (lean::obj_tag(x_1079) == 0) +x_1086 = l_lean_elaborator_to__pexpr___main(x_1083, x_1, x_2, x_3); +if (lean::obj_tag(x_1086) == 0) { -obj* x_1084; obj* x_1086; obj* x_1087; -lean::dec(x_8); +obj* x_1089; obj* x_1091; obj* x_1092; lean::dec(x_0); lean::dec(x_2); -lean::dec(x_1075); -x_1084 = lean::cnstr_get(x_1079, 0); -if (lean::is_exclusive(x_1079)) { - x_1086 = x_1079; +x_1089 = lean::cnstr_get(x_1086, 0); +if (lean::is_exclusive(x_1086)) { + x_1091 = x_1086; } else { - lean::inc(x_1084); - lean::dec(x_1079); - x_1086 = lean::box(0); + lean::inc(x_1089); + lean::dec(x_1086); + x_1091 = lean::box(0); } -if (lean::is_scalar(x_1086)) { - x_1087 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_1091)) { + x_1092 = lean::alloc_cnstr(0, 1, 0); } else { - x_1087 = x_1086; + x_1092 = x_1091; } -lean::cnstr_set(x_1087, 0, x_1084); -return x_1087; +lean::cnstr_set(x_1092, 0, x_1089); +return x_1092; } else { -obj* x_1088; obj* x_1091; obj* x_1093; obj* x_1095; obj* x_1096; obj* x_1099; obj* x_1100; obj* x_1101; obj* x_1102; obj* x_1103; obj* x_1104; -x_1088 = lean::cnstr_get(x_1079, 0); -lean::inc(x_1088); -lean::dec(x_1079); -x_1091 = lean::cnstr_get(x_1088, 0); -x_1093 = lean::cnstr_get(x_1088, 1); -if (lean::is_exclusive(x_1088)) { - x_1095 = x_1088; +obj* x_1093; obj* x_1095; obj* x_1096; obj* x_1098; obj* x_1100; obj* x_1101; obj* x_1102; +x_1093 = lean::cnstr_get(x_1086, 0); +if (lean::is_exclusive(x_1086)) { + lean::cnstr_set(x_1086, 0, lean::box(0)); + x_1095 = x_1086; } else { - lean::inc(x_1091); lean::inc(x_1093); - lean::dec(x_1088); + lean::dec(x_1086); x_1095 = lean::box(0); } -x_1096 = lean::cnstr_get(x_1075, 2); -lean::inc(x_1096); -lean::dec(x_1075); -x_1099 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_1099, 0, x_1096); -x_1100 = lean::box(0); -x_1101 = l_lean_elaborator_to__pexpr___main___closed__35; -x_1102 = l_lean_kvmap_insert__core___main(x_1100, x_1101, x_1099); -x_1103 = lean_expr_mk_mdata(x_1102, x_1091); -if (lean::is_scalar(x_1095)) { - x_1104 = lean::alloc_cnstr(0, 2, 0); +x_1096 = lean::cnstr_get(x_1093, 0); +x_1098 = lean::cnstr_get(x_1093, 1); +if (lean::is_exclusive(x_1093)) { + lean::cnstr_set(x_1093, 0, lean::box(0)); + lean::cnstr_set(x_1093, 1, lean::box(0)); + x_1100 = x_1093; } else { - x_1104 = x_1095; + lean::inc(x_1096); + lean::inc(x_1098); + lean::dec(x_1093); + x_1100 = lean::box(0); } -lean::cnstr_set(x_1104, 0, x_1103); -lean::cnstr_set(x_1104, 1, x_1093); -x_15 = x_1104; -goto lbl_16; -} -} -else -{ -obj* x_1105; obj* x_1108; obj* x_1112; -x_1105 = lean::cnstr_get(x_1069, 0); -lean::inc(x_1105); -lean::dec(x_1069); -x_1108 = lean::cnstr_get(x_1070, 0); -lean::inc(x_1108); -lean::dec(x_1070); -lean::inc(x_2); -x_1112 = l_lean_elaborator_to__pexpr___main(x_1105, x_1, x_2, x_3); -if (lean::obj_tag(x_1112) == 0) -{ -obj* x_1117; obj* x_1119; obj* x_1120; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1108); -x_1117 = lean::cnstr_get(x_1112, 0); -if (lean::is_exclusive(x_1112)) { - x_1119 = x_1112; -} else { - lean::inc(x_1117); - lean::dec(x_1112); - x_1119 = lean::box(0); -} -if (lean::is_scalar(x_1119)) { - x_1120 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1120 = x_1119; -} -lean::cnstr_set(x_1120, 0, x_1117); -return x_1120; -} -else -{ -obj* x_1121; obj* x_1124; obj* x_1126; obj* x_1128; obj* x_1129; obj* x_1130; obj* x_1131; obj* x_1132; obj* x_1133; obj* x_1134; obj* x_1135; -x_1121 = lean::cnstr_get(x_1112, 0); -lean::inc(x_1121); -lean::dec(x_1112); -x_1124 = lean::cnstr_get(x_1121, 0); -x_1126 = lean::cnstr_get(x_1121, 1); -if (lean::is_exclusive(x_1121)) { - x_1128 = x_1121; -} else { - lean::inc(x_1124); - lean::inc(x_1126); - lean::dec(x_1121); - x_1128 = lean::box(0); -} -x_1129 = l_lean_parser_number_view_to__nat___main(x_1108); -x_1130 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1130, 0, x_1129); -x_1131 = lean::box(0); -x_1132 = l_lean_elaborator_to__pexpr___main___closed__35; -x_1133 = l_lean_kvmap_insert__core___main(x_1131, x_1132, x_1130); -x_1134 = lean_expr_mk_mdata(x_1133, x_1124); -if (lean::is_scalar(x_1128)) { - x_1135 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1135 = x_1128; -} -lean::cnstr_set(x_1135, 0, x_1134); -lean::cnstr_set(x_1135, 1, x_1126); -x_15 = x_1135; -goto lbl_16; -} -} -} -} -else -{ -obj* x_1137; obj* x_1138; obj* x_1142; obj* x_1143; -lean::dec(x_10); -x_1137 = l_lean_parser_term_let_has__view; -x_1138 = lean::cnstr_get(x_1137, 0); -lean::inc(x_1138); -lean::dec(x_1137); -lean::inc(x_0); -x_1142 = lean::apply_1(x_1138, x_0); -x_1143 = lean::cnstr_get(x_1142, 1); -lean::inc(x_1143); -if (lean::obj_tag(x_1143) == 0) -{ -obj* x_1145; obj* x_1148; -x_1145 = lean::cnstr_get(x_1143, 0); -lean::inc(x_1145); -lean::dec(x_1143); -x_1148 = lean::cnstr_get(x_1145, 1); -lean::inc(x_1148); -if (lean::obj_tag(x_1148) == 0) -{ -obj* x_1150; -x_1150 = lean::cnstr_get(x_1145, 2); -lean::inc(x_1150); -if (lean::obj_tag(x_1150) == 0) -{ -obj* x_1155; obj* x_1156; obj* x_1158; -lean::dec(x_1145); -lean::dec(x_1142); -lean::inc(x_0); -x_1155 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1155, 0, x_0); -x_1156 = l_lean_elaborator_to__pexpr___main___closed__36; -lean::inc(x_2); -x_1158 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1155, x_1156, x_1, x_2, x_3); -lean::dec(x_3); -lean::dec(x_1155); -if (lean::obj_tag(x_1158) == 0) -{ -obj* x_1164; obj* x_1166; obj* x_1167; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -x_1164 = lean::cnstr_get(x_1158, 0); -if (lean::is_exclusive(x_1158)) { - x_1166 = x_1158; -} else { - lean::inc(x_1164); - lean::dec(x_1158); - x_1166 = lean::box(0); -} -if (lean::is_scalar(x_1166)) { - x_1167 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1167 = x_1166; -} -lean::cnstr_set(x_1167, 0, x_1164); -return x_1167; -} -else -{ -obj* x_1168; -x_1168 = lean::cnstr_get(x_1158, 0); -lean::inc(x_1168); -lean::dec(x_1158); -x_15 = x_1168; -goto lbl_16; -} -} -else -{ -obj* x_1171; obj* x_1174; obj* x_1177; obj* x_1181; -x_1171 = lean::cnstr_get(x_1145, 0); -lean::inc(x_1171); -lean::dec(x_1145); -x_1174 = lean::cnstr_get(x_1150, 0); -lean::inc(x_1174); -lean::dec(x_1150); -x_1177 = lean::cnstr_get(x_1174, 1); -lean::inc(x_1177); -lean::dec(x_1174); -lean::inc(x_2); -x_1181 = l_lean_elaborator_to__pexpr___main(x_1177, x_1, x_2, x_3); -if (lean::obj_tag(x_1181) == 0) -{ -obj* x_1187; obj* x_1189; obj* x_1190; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1171); -lean::dec(x_1142); -x_1187 = lean::cnstr_get(x_1181, 0); -if (lean::is_exclusive(x_1181)) { - x_1189 = x_1181; -} else { - lean::inc(x_1187); - lean::dec(x_1181); - x_1189 = lean::box(0); -} -if (lean::is_scalar(x_1189)) { - x_1190 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1190 = x_1189; -} -lean::cnstr_set(x_1190, 0, x_1187); -return x_1190; -} -else -{ -obj* x_1191; obj* x_1194; obj* x_1196; obj* x_1199; obj* x_1202; -x_1191 = lean::cnstr_get(x_1181, 0); -lean::inc(x_1191); -lean::dec(x_1181); -x_1194 = lean::cnstr_get(x_1191, 0); -lean::inc(x_1194); -x_1196 = lean::cnstr_get(x_1191, 1); -lean::inc(x_1196); -lean::dec(x_1191); -x_1199 = lean::cnstr_get(x_1142, 3); -lean::inc(x_1199); -lean::inc(x_2); -x_1202 = l_lean_elaborator_to__pexpr___main(x_1199, x_1, x_2, x_1196); -if (lean::obj_tag(x_1202) == 0) -{ -obj* x_1209; obj* x_1211; obj* x_1212; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1171); -lean::dec(x_1142); -lean::dec(x_1194); -x_1209 = lean::cnstr_get(x_1202, 0); -if (lean::is_exclusive(x_1202)) { - x_1211 = x_1202; -} else { - lean::inc(x_1209); - lean::dec(x_1202); - x_1211 = lean::box(0); -} -if (lean::is_scalar(x_1211)) { - x_1212 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1212 = x_1211; -} -lean::cnstr_set(x_1212, 0, x_1209); -return x_1212; -} -else -{ -obj* x_1213; obj* x_1216; obj* x_1218; obj* x_1221; obj* x_1225; -x_1213 = lean::cnstr_get(x_1202, 0); -lean::inc(x_1213); -lean::dec(x_1202); -x_1216 = lean::cnstr_get(x_1213, 0); -lean::inc(x_1216); -x_1218 = lean::cnstr_get(x_1213, 1); -lean::inc(x_1218); -lean::dec(x_1213); -x_1221 = lean::cnstr_get(x_1142, 5); -lean::inc(x_1221); -lean::dec(x_1142); -lean::inc(x_2); -x_1225 = l_lean_elaborator_to__pexpr___main(x_1221, x_1, x_2, x_1218); -if (lean::obj_tag(x_1225) == 0) -{ -obj* x_1232; obj* x_1234; obj* x_1235; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1171); -lean::dec(x_1216); -lean::dec(x_1194); -x_1232 = lean::cnstr_get(x_1225, 0); -if (lean::is_exclusive(x_1225)) { - x_1234 = x_1225; -} else { - lean::inc(x_1232); - lean::dec(x_1225); - x_1234 = lean::box(0); -} -if (lean::is_scalar(x_1234)) { - x_1235 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1235 = x_1234; -} -lean::cnstr_set(x_1235, 0, x_1232); -return x_1235; -} -else -{ -obj* x_1236; obj* x_1239; obj* x_1241; obj* x_1243; obj* x_1244; obj* x_1245; obj* x_1246; -x_1236 = lean::cnstr_get(x_1225, 0); -lean::inc(x_1236); -lean::dec(x_1225); -x_1239 = lean::cnstr_get(x_1236, 0); -x_1241 = lean::cnstr_get(x_1236, 1); -if (lean::is_exclusive(x_1236)) { - x_1243 = x_1236; -} else { - lean::inc(x_1239); - lean::inc(x_1241); - lean::dec(x_1236); - x_1243 = lean::box(0); -} -x_1244 = l_lean_elaborator_mangle__ident(x_1171); -x_1245 = lean_expr_mk_let(x_1244, x_1194, x_1216, x_1239); -if (lean::is_scalar(x_1243)) { - x_1246 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1246 = x_1243; -} -lean::cnstr_set(x_1246, 0, x_1245); -lean::cnstr_set(x_1246, 1, x_1241); -x_15 = x_1246; -goto lbl_16; -} -} -} -} -} -else -{ -obj* x_1251; obj* x_1252; obj* x_1254; -lean::dec(x_1148); -lean::dec(x_1145); -lean::dec(x_1142); -lean::inc(x_0); -x_1251 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1251, 0, x_0); -x_1252 = l_lean_elaborator_to__pexpr___main___closed__36; -lean::inc(x_2); -x_1254 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1251, x_1252, x_1, x_2, x_3); -lean::dec(x_3); -lean::dec(x_1251); -if (lean::obj_tag(x_1254) == 0) -{ -obj* x_1260; obj* x_1262; obj* x_1263; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -x_1260 = lean::cnstr_get(x_1254, 0); -if (lean::is_exclusive(x_1254)) { - x_1262 = x_1254; -} else { - lean::inc(x_1260); - lean::dec(x_1254); - x_1262 = lean::box(0); -} -if (lean::is_scalar(x_1262)) { - x_1263 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1263 = x_1262; -} -lean::cnstr_set(x_1263, 0, x_1260); -return x_1263; -} -else -{ -obj* x_1264; -x_1264 = lean::cnstr_get(x_1254, 0); -lean::inc(x_1264); -lean::dec(x_1254); -x_15 = x_1264; -goto lbl_16; -} -} -} -else -{ -obj* x_1270; obj* x_1271; obj* x_1273; -lean::dec(x_1143); -lean::dec(x_1142); -lean::inc(x_0); -x_1270 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1270, 0, x_0); -x_1271 = l_lean_elaborator_to__pexpr___main___closed__36; -lean::inc(x_2); -x_1273 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1270, x_1271, x_1, x_2, x_3); -lean::dec(x_3); -lean::dec(x_1270); -if (lean::obj_tag(x_1273) == 0) -{ -obj* x_1279; obj* x_1281; obj* x_1282; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -x_1279 = lean::cnstr_get(x_1273, 0); -if (lean::is_exclusive(x_1273)) { - x_1281 = x_1273; -} else { - lean::inc(x_1279); - lean::dec(x_1273); - x_1281 = lean::box(0); -} -if (lean::is_scalar(x_1281)) { - x_1282 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1282 = x_1281; -} -lean::cnstr_set(x_1282, 0, x_1279); -return x_1282; -} -else -{ -obj* x_1283; -x_1283 = lean::cnstr_get(x_1273, 0); -lean::inc(x_1283); -lean::dec(x_1273); -x_15 = x_1283; -goto lbl_16; -} -} -} -} -else -{ -obj* x_1287; obj* x_1288; obj* x_1292; obj* x_1293; obj* x_1296; -lean::dec(x_10); -x_1287 = l_lean_parser_term_show_has__view; -x_1288 = lean::cnstr_get(x_1287, 0); -lean::inc(x_1288); -lean::dec(x_1287); -lean::inc(x_0); -x_1292 = lean::apply_1(x_1288, x_0); -x_1293 = lean::cnstr_get(x_1292, 1); -lean::inc(x_1293); -lean::inc(x_2); -x_1296 = l_lean_elaborator_to__pexpr___main(x_1293, x_1, x_2, x_3); -if (lean::obj_tag(x_1296) == 0) -{ -obj* x_1301; obj* x_1303; obj* x_1304; -lean::dec(x_1292); -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -x_1301 = lean::cnstr_get(x_1296, 0); -if (lean::is_exclusive(x_1296)) { - x_1303 = x_1296; -} else { - lean::inc(x_1301); - lean::dec(x_1296); - x_1303 = lean::box(0); -} -if (lean::is_scalar(x_1303)) { - x_1304 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1304 = x_1303; -} -lean::cnstr_set(x_1304, 0, x_1301); -return x_1304; -} -else -{ -obj* x_1305; obj* x_1308; obj* x_1310; obj* x_1313; obj* x_1316; obj* x_1320; -x_1305 = lean::cnstr_get(x_1296, 0); -lean::inc(x_1305); -lean::dec(x_1296); -x_1308 = lean::cnstr_get(x_1305, 0); -lean::inc(x_1308); -x_1310 = lean::cnstr_get(x_1305, 1); -lean::inc(x_1310); -lean::dec(x_1305); -x_1313 = lean::cnstr_get(x_1292, 3); -lean::inc(x_1313); -lean::dec(x_1292); -x_1316 = lean::cnstr_get(x_1313, 1); -lean::inc(x_1316); -lean::dec(x_1313); -lean::inc(x_2); -x_1320 = l_lean_elaborator_to__pexpr___main(x_1316, x_1, x_2, x_1310); -if (lean::obj_tag(x_1320) == 0) -{ -obj* x_1325; obj* x_1327; obj* x_1328; -lean::dec(x_8); -lean::dec(x_1308); -lean::dec(x_0); -lean::dec(x_2); -x_1325 = lean::cnstr_get(x_1320, 0); -if (lean::is_exclusive(x_1320)) { - x_1327 = x_1320; -} else { - lean::inc(x_1325); - lean::dec(x_1320); - x_1327 = lean::box(0); -} -if (lean::is_scalar(x_1327)) { - x_1328 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1328 = x_1327; -} -lean::cnstr_set(x_1328, 0, x_1325); -return x_1328; -} -else -{ -obj* x_1329; obj* x_1332; obj* x_1334; obj* x_1336; obj* x_1337; uint8 x_1338; obj* x_1339; obj* x_1340; obj* x_1341; obj* x_1342; obj* x_1343; obj* x_1344; -x_1329 = lean::cnstr_get(x_1320, 0); -lean::inc(x_1329); -lean::dec(x_1320); -x_1332 = lean::cnstr_get(x_1329, 0); -x_1334 = lean::cnstr_get(x_1329, 1); -if (lean::is_exclusive(x_1329)) { - x_1336 = x_1329; -} else { - lean::inc(x_1332); - lean::inc(x_1334); - lean::dec(x_1329); - x_1336 = lean::box(0); -} -x_1337 = l_lean_elaborator_to__pexpr___main___closed__37; -x_1338 = 0; -x_1339 = l_lean_elaborator_to__pexpr___main___closed__38; -x_1340 = lean_expr_mk_lambda(x_1337, x_1338, x_1308, x_1339); -x_1341 = lean_expr_mk_app(x_1340, x_1332); -x_1342 = l_lean_elaborator_to__pexpr___main___closed__39; -x_1343 = l_lean_elaborator_expr_mk__annotation(x_1342, x_1341); -if (lean::is_scalar(x_1336)) { - x_1344 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1344 = x_1336; -} -lean::cnstr_set(x_1344, 0, x_1343); -lean::cnstr_set(x_1344, 1, x_1334); -x_15 = x_1344; -goto lbl_16; -} -} -} -} -else -{ -obj* x_1346; obj* x_1347; obj* x_1351; obj* x_1352; obj* x_1354; -lean::dec(x_10); -x_1346 = l_lean_parser_term_have_has__view; -x_1347 = lean::cnstr_get(x_1346, 0); -lean::inc(x_1347); -lean::dec(x_1346); -lean::inc(x_0); -x_1351 = lean::apply_1(x_1347, x_0); -x_1354 = lean::cnstr_get(x_1351, 1); -lean::inc(x_1354); -if (lean::obj_tag(x_1354) == 0) -{ -obj* x_1356; obj* x_1358; obj* x_1361; -x_1356 = lean::cnstr_get(x_1351, 2); -lean::inc(x_1356); -x_1358 = lean::cnstr_get(x_1351, 5); -lean::inc(x_1358); -lean::inc(x_2); -x_1361 = l_lean_elaborator_to__pexpr___main(x_1356, x_1, x_2, x_3); -if (lean::obj_tag(x_1361) == 0) -{ -obj* x_1367; obj* x_1369; obj* x_1370; -lean::dec(x_1351); -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1358); -x_1367 = lean::cnstr_get(x_1361, 0); -if (lean::is_exclusive(x_1361)) { - x_1369 = x_1361; -} else { - lean::inc(x_1367); - lean::dec(x_1361); - x_1369 = lean::box(0); -} -if (lean::is_scalar(x_1369)) { - x_1370 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1370 = x_1369; -} -lean::cnstr_set(x_1370, 0, x_1367); -return x_1370; -} -else -{ -obj* x_1371; obj* x_1374; obj* x_1376; obj* x_1380; -x_1371 = lean::cnstr_get(x_1361, 0); -lean::inc(x_1371); -lean::dec(x_1361); -x_1374 = lean::cnstr_get(x_1371, 0); -lean::inc(x_1374); -x_1376 = lean::cnstr_get(x_1371, 1); -lean::inc(x_1376); -lean::dec(x_1371); -lean::inc(x_2); -x_1380 = l_lean_elaborator_to__pexpr___main(x_1358, x_1, x_2, x_1376); -if (lean::obj_tag(x_1380) == 0) -{ -obj* x_1386; obj* x_1388; obj* x_1389; -lean::dec(x_1351); -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1374); -x_1386 = lean::cnstr_get(x_1380, 0); -if (lean::is_exclusive(x_1380)) { - x_1388 = x_1380; -} else { - lean::inc(x_1386); - lean::dec(x_1380); - x_1388 = lean::box(0); -} -if (lean::is_scalar(x_1388)) { - x_1389 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1389 = x_1388; -} -lean::cnstr_set(x_1389, 0, x_1386); -return x_1389; -} -else -{ -obj* x_1390; obj* x_1393; obj* x_1395; obj* x_1397; obj* x_1398; uint8 x_1399; obj* x_1400; obj* x_1401; -x_1390 = lean::cnstr_get(x_1380, 0); -lean::inc(x_1390); -lean::dec(x_1380); -x_1393 = lean::cnstr_get(x_1390, 0); -x_1395 = lean::cnstr_get(x_1390, 1); -if (lean::is_exclusive(x_1390)) { - x_1397 = x_1390; -} else { - lean::inc(x_1393); - lean::inc(x_1395); - lean::dec(x_1390); - x_1397 = lean::box(0); -} -x_1398 = l_lean_elaborator_to__pexpr___main___closed__41; -x_1399 = 0; -x_1400 = lean_expr_mk_lambda(x_1398, x_1399, x_1374, x_1393); -if (lean::is_scalar(x_1397)) { - x_1401 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1401 = x_1397; -} -lean::cnstr_set(x_1401, 0, x_1400); -lean::cnstr_set(x_1401, 1, x_1395); -x_1352 = x_1401; -goto lbl_1353; -} -} -} -else -{ -obj* x_1402; obj* x_1404; obj* x_1406; obj* x_1408; obj* x_1410; -x_1402 = lean::cnstr_get(x_1351, 2); -lean::inc(x_1402); -x_1404 = lean::cnstr_get(x_1351, 5); -lean::inc(x_1404); -x_1406 = lean::cnstr_get(x_1354, 0); -if (lean::is_exclusive(x_1354)) { - lean::cnstr_set(x_1354, 0, lean::box(0)); - x_1408 = x_1354; -} else { - lean::inc(x_1406); - lean::dec(x_1354); - x_1408 = lean::box(0); -} -lean::inc(x_2); -x_1410 = l_lean_elaborator_to__pexpr___main(x_1402, x_1, x_2, x_3); -if (lean::obj_tag(x_1410) == 0) -{ -obj* x_1418; obj* x_1420; obj* x_1421; -lean::dec(x_1351); -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1408); -lean::dec(x_1404); -lean::dec(x_1406); -x_1418 = lean::cnstr_get(x_1410, 0); -if (lean::is_exclusive(x_1410)) { - x_1420 = x_1410; -} else { - lean::inc(x_1418); - lean::dec(x_1410); - x_1420 = lean::box(0); -} -if (lean::is_scalar(x_1420)) { - x_1421 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1421 = x_1420; -} -lean::cnstr_set(x_1421, 0, x_1418); -return x_1421; -} -else -{ -obj* x_1422; obj* x_1425; obj* x_1427; obj* x_1431; -x_1422 = lean::cnstr_get(x_1410, 0); -lean::inc(x_1422); -lean::dec(x_1410); -x_1425 = lean::cnstr_get(x_1422, 0); -lean::inc(x_1425); -x_1427 = lean::cnstr_get(x_1422, 1); -lean::inc(x_1427); -lean::dec(x_1422); -lean::inc(x_2); -x_1431 = l_lean_elaborator_to__pexpr___main(x_1404, x_1, x_2, x_1427); -if (lean::obj_tag(x_1431) == 0) -{ -obj* x_1439; obj* x_1441; obj* x_1442; -lean::dec(x_1351); -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1408); -lean::dec(x_1406); -lean::dec(x_1425); -x_1439 = lean::cnstr_get(x_1431, 0); -if (lean::is_exclusive(x_1431)) { - x_1441 = x_1431; -} else { - lean::inc(x_1439); - lean::dec(x_1431); - x_1441 = lean::box(0); -} -if (lean::is_scalar(x_1441)) { - x_1442 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1442 = x_1441; -} -lean::cnstr_set(x_1442, 0, x_1439); -return x_1442; -} -else -{ -obj* x_1443; obj* x_1446; obj* x_1448; obj* x_1450; obj* x_1451; obj* x_1454; obj* x_1455; obj* x_1456; obj* x_1457; uint8 x_1459; obj* x_1460; obj* x_1461; -x_1443 = lean::cnstr_get(x_1431, 0); -lean::inc(x_1443); -lean::dec(x_1431); -x_1446 = lean::cnstr_get(x_1443, 0); -x_1448 = lean::cnstr_get(x_1443, 1); -if (lean::is_exclusive(x_1443)) { - x_1450 = x_1443; -} else { - lean::inc(x_1446); - lean::inc(x_1448); - lean::dec(x_1443); - x_1450 = lean::box(0); -} -x_1451 = lean::cnstr_get(x_1406, 0); -lean::inc(x_1451); -lean::dec(x_1406); -x_1454 = l_lean_elaborator_mangle__ident(x_1451); -if (lean::is_scalar(x_1408)) { - x_1455 = lean::alloc_cnstr(1, 1, 0); -} else { - x_1455 = x_1408; -} -lean::cnstr_set(x_1455, 0, x_1454); -x_1456 = l_lean_elaborator_to__pexpr___main___closed__37; -x_1457 = l_option_get__or__else___main___rarg(x_1455, x_1456); -lean::dec(x_1455); -x_1459 = 0; -x_1460 = lean_expr_mk_lambda(x_1457, x_1459, x_1425, x_1446); -if (lean::is_scalar(x_1450)) { - x_1461 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1461 = x_1450; -} -lean::cnstr_set(x_1461, 0, x_1460); -lean::cnstr_set(x_1461, 1, x_1448); -x_1352 = x_1461; -goto lbl_1353; -} -} -} -lbl_1353: -{ -obj* x_1462; -x_1462 = lean::cnstr_get(x_1351, 3); -lean::inc(x_1462); -lean::dec(x_1351); -if (lean::obj_tag(x_1462) == 0) -{ -obj* x_1465; obj* x_1467; obj* x_1470; obj* x_1473; obj* x_1477; -x_1465 = lean::cnstr_get(x_1352, 0); -lean::inc(x_1465); -x_1467 = lean::cnstr_get(x_1352, 1); -lean::inc(x_1467); -lean::dec(x_1352); -x_1470 = lean::cnstr_get(x_1462, 0); -lean::inc(x_1470); -lean::dec(x_1462); -x_1473 = lean::cnstr_get(x_1470, 1); -lean::inc(x_1473); -lean::dec(x_1470); -lean::inc(x_2); -x_1477 = l_lean_elaborator_to__pexpr___main(x_1473, x_1, x_2, x_1467); -if (lean::obj_tag(x_1477) == 0) -{ -obj* x_1482; obj* x_1484; obj* x_1485; -lean::dec(x_1465); -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -x_1482 = lean::cnstr_get(x_1477, 0); -if (lean::is_exclusive(x_1477)) { - x_1484 = x_1477; -} else { - lean::inc(x_1482); - lean::dec(x_1477); - x_1484 = lean::box(0); -} -if (lean::is_scalar(x_1484)) { - x_1485 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1485 = x_1484; -} -lean::cnstr_set(x_1485, 0, x_1482); -return x_1485; -} -else -{ -obj* x_1486; obj* x_1489; obj* x_1491; obj* x_1493; obj* x_1494; obj* x_1495; obj* x_1496; obj* x_1497; -x_1486 = lean::cnstr_get(x_1477, 0); -lean::inc(x_1486); -lean::dec(x_1477); -x_1489 = lean::cnstr_get(x_1486, 0); -x_1491 = lean::cnstr_get(x_1486, 1); -if (lean::is_exclusive(x_1486)) { - x_1493 = x_1486; -} else { - lean::inc(x_1489); - lean::inc(x_1491); - lean::dec(x_1486); - x_1493 = lean::box(0); -} -x_1494 = l_lean_elaborator_to__pexpr___main___closed__40; -x_1495 = l_lean_elaborator_expr_mk__annotation(x_1494, x_1465); -x_1496 = lean_expr_mk_app(x_1495, x_1489); -if (lean::is_scalar(x_1493)) { - x_1497 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1497 = x_1493; -} -lean::cnstr_set(x_1497, 0, x_1496); -lean::cnstr_set(x_1497, 1, x_1491); -x_15 = x_1497; -goto lbl_16; -} -} -else -{ -obj* x_1498; obj* x_1500; obj* x_1503; obj* x_1506; obj* x_1509; obj* x_1513; -x_1498 = lean::cnstr_get(x_1352, 0); -lean::inc(x_1498); -x_1500 = lean::cnstr_get(x_1352, 1); -lean::inc(x_1500); -lean::dec(x_1352); -x_1503 = lean::cnstr_get(x_1462, 0); -lean::inc(x_1503); -lean::dec(x_1462); -x_1506 = lean::cnstr_get(x_1503, 1); -lean::inc(x_1506); -lean::dec(x_1503); -x_1509 = lean::cnstr_get(x_1506, 1); -lean::inc(x_1509); -lean::dec(x_1506); -lean::inc(x_2); -x_1513 = l_lean_elaborator_to__pexpr___main(x_1509, x_1, x_2, x_1500); -if (lean::obj_tag(x_1513) == 0) -{ -obj* x_1518; obj* x_1520; obj* x_1521; -lean::dec(x_8); -lean::dec(x_0); -lean::dec(x_2); -lean::dec(x_1498); -x_1518 = lean::cnstr_get(x_1513, 0); -if (lean::is_exclusive(x_1513)) { - x_1520 = x_1513; -} else { - lean::inc(x_1518); - lean::dec(x_1513); - x_1520 = lean::box(0); -} -if (lean::is_scalar(x_1520)) { - x_1521 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1521 = x_1520; -} -lean::cnstr_set(x_1521, 0, x_1518); -return x_1521; -} -else -{ -obj* x_1522; obj* x_1525; obj* x_1527; obj* x_1529; obj* x_1530; obj* x_1531; obj* x_1532; obj* x_1533; -x_1522 = lean::cnstr_get(x_1513, 0); -lean::inc(x_1522); -lean::dec(x_1513); -x_1525 = lean::cnstr_get(x_1522, 0); -x_1527 = lean::cnstr_get(x_1522, 1); -if (lean::is_exclusive(x_1522)) { - x_1529 = x_1522; -} else { - lean::inc(x_1525); - lean::inc(x_1527); - lean::dec(x_1522); - x_1529 = lean::box(0); -} -x_1530 = l_lean_elaborator_to__pexpr___main___closed__40; -x_1531 = l_lean_elaborator_expr_mk__annotation(x_1530, x_1498); -x_1532 = lean_expr_mk_app(x_1531, x_1525); -if (lean::is_scalar(x_1529)) { - x_1533 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1533 = x_1529; -} -lean::cnstr_set(x_1533, 0, x_1532); -lean::cnstr_set(x_1533, 1, x_1527); -x_15 = x_1533; -goto lbl_16; -} -} -} -} -} -else -{ -lean::dec(x_8); -lean::dec(x_10); +x_1101 = l_list_map___main___at_lean_elaborator_mk__eqns___spec__1___closed__1; +x_1102 = l_lean_elaborator_expr_mk__annotation(x_1101, x_1096); if (x_20 == 0) { -obj* x_1536; -x_1536 = l_lean_parser_syntax_get__pos(x_0); +obj* x_1103; +x_1103 = l_lean_parser_syntax_get__pos(x_0); lean::dec(x_0); -if (lean::obj_tag(x_1536) == 0) +if (lean::obj_tag(x_1103) == 0) { -obj* x_1539; obj* x_1540; obj* x_1541; +obj* x_1106; obj* x_1107; lean::dec(x_2); -x_1539 = l_lean_elaborator_to__pexpr___main___closed__42; -x_1540 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1540, 0, x_1539); -lean::cnstr_set(x_1540, 1, x_3); -x_1541 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1541, 0, x_1540); -return x_1541; +if (lean::is_scalar(x_1100)) { + x_1106 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1106 = x_1100; +} +lean::cnstr_set(x_1106, 0, x_1102); +lean::cnstr_set(x_1106, 1, x_1098); +if (lean::is_scalar(x_1095)) { + x_1107 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1107 = x_1095; +} +lean::cnstr_set(x_1107, 0, x_1106); +return x_1107; } else { -obj* x_1542; obj* x_1545; obj* x_1548; obj* x_1551; obj* x_1552; obj* x_1553; obj* x_1555; obj* x_1556; obj* x_1557; obj* x_1560; obj* x_1561; obj* x_1562; obj* x_1563; obj* x_1564; obj* x_1565; -x_1542 = lean::cnstr_get(x_1536, 0); -lean::inc(x_1542); -lean::dec(x_1536); -x_1545 = lean::cnstr_get(x_2, 0); -lean::inc(x_1545); +obj* x_1108; obj* x_1111; obj* x_1114; obj* x_1117; obj* x_1118; obj* x_1119; obj* x_1121; obj* x_1122; obj* x_1123; obj* x_1126; obj* x_1127; obj* x_1128; obj* x_1129; obj* x_1130; +x_1108 = lean::cnstr_get(x_1103, 0); +lean::inc(x_1108); +lean::dec(x_1103); +x_1111 = lean::cnstr_get(x_2, 0); +lean::inc(x_1111); lean::dec(x_2); -x_1548 = lean::cnstr_get(x_1545, 2); -lean::inc(x_1548); -lean::dec(x_1545); -x_1551 = l_lean_file__map_to__position(x_1548, x_1542); -x_1552 = lean::box(0); -x_1553 = lean::cnstr_get(x_1551, 1); -lean::inc(x_1553); -x_1555 = l_lean_elaborator_to__pexpr___main___closed__3; -x_1556 = l_lean_kvmap_set__nat(x_1552, x_1555, x_1553); -x_1557 = lean::cnstr_get(x_1551, 0); -lean::inc(x_1557); -lean::dec(x_1551); -x_1560 = l_lean_elaborator_to__pexpr___main___closed__4; -x_1561 = l_lean_kvmap_set__nat(x_1556, x_1560, x_1557); -x_1562 = l_lean_elaborator_to__pexpr___main___closed__42; -x_1563 = lean_expr_mk_mdata(x_1561, x_1562); -x_1564 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1564, 0, x_1563); -lean::cnstr_set(x_1564, 1, x_3); -x_1565 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1565, 0, x_1564); -return x_1565; +x_1114 = lean::cnstr_get(x_1111, 2); +lean::inc(x_1114); +lean::dec(x_1111); +x_1117 = l_lean_file__map_to__position(x_1114, x_1108); +x_1118 = lean::box(0); +x_1119 = lean::cnstr_get(x_1117, 1); +lean::inc(x_1119); +x_1121 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1122 = l_lean_kvmap_set__nat(x_1118, x_1121, x_1119); +x_1123 = lean::cnstr_get(x_1117, 0); +lean::inc(x_1123); +lean::dec(x_1117); +x_1126 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1127 = l_lean_kvmap_set__nat(x_1122, x_1126, x_1123); +x_1128 = lean_expr_mk_mdata(x_1127, x_1102); +if (lean::is_scalar(x_1100)) { + x_1129 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1129 = x_1100; +} +lean::cnstr_set(x_1129, 0, x_1128); +lean::cnstr_set(x_1129, 1, x_1098); +if (lean::is_scalar(x_1095)) { + x_1130 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1130 = x_1095; +} +lean::cnstr_set(x_1130, 0, x_1129); +return x_1130; } } else { -obj* x_1568; obj* x_1569; obj* x_1570; +obj* x_1133; obj* x_1134; lean::dec(x_0); lean::dec(x_2); -x_1568 = l_lean_elaborator_to__pexpr___main___closed__42; -x_1569 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1569, 0, x_1568); -lean::cnstr_set(x_1569, 1, x_3); -x_1570 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1570, 0, x_1569); -return x_1570; +if (lean::is_scalar(x_1100)) { + x_1133 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1133 = x_1100; +} +lean::cnstr_set(x_1133, 0, x_1102); +lean::cnstr_set(x_1133, 1, x_1098); +if (lean::is_scalar(x_1095)) { + x_1134 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1134 = x_1095; +} +lean::cnstr_set(x_1134, 0, x_1133); +return x_1134; } } } else { -obj* x_1572; obj* x_1573; obj* x_1577; obj* x_1578; obj* x_1581; obj* x_1582; obj* x_1583; obj* x_1585; -lean::dec(x_10); -x_1572 = l_lean_parser_term_anonymous__constructor_has__view; -x_1573 = lean::cnstr_get(x_1572, 0); -lean::inc(x_1573); -lean::dec(x_1572); -lean::inc(x_0); -x_1577 = lean::apply_1(x_1573, x_0); -x_1578 = lean::cnstr_get(x_1577, 1); -lean::inc(x_1578); -lean::dec(x_1577); -x_1581 = l_list_map___main___at_lean_elaborator_to__pexpr___main___spec__21(x_1578); -x_1582 = l_lean_expander_get__opt__type___main___closed__1; -x_1583 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_1582, x_1581); +obj* x_1137; +lean::dec(x_1074); lean::inc(x_2); -x_1585 = l_lean_elaborator_to__pexpr___main(x_1583, x_1, x_2, x_3); -if (lean::obj_tag(x_1585) == 0) +x_1137 = l_lean_elaborator_to__pexpr___main(x_1083, x_1, x_2, x_3); +if (lean::obj_tag(x_1137) == 0) { -obj* x_1589; obj* x_1591; obj* x_1592; +obj* x_1140; obj* x_1142; obj* x_1143; +lean::dec(x_0); +lean::dec(x_2); +x_1140 = lean::cnstr_get(x_1137, 0); +if (lean::is_exclusive(x_1137)) { + x_1142 = x_1137; +} else { + lean::inc(x_1140); + lean::dec(x_1137); + x_1142 = lean::box(0); +} +if (lean::is_scalar(x_1142)) { + x_1143 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1143 = x_1142; +} +lean::cnstr_set(x_1143, 0, x_1140); +return x_1143; +} +else +{ +obj* x_1144; obj* x_1146; obj* x_1147; obj* x_1149; obj* x_1151; obj* x_1152; obj* x_1153; +x_1144 = lean::cnstr_get(x_1137, 0); +if (lean::is_exclusive(x_1137)) { + lean::cnstr_set(x_1137, 0, lean::box(0)); + x_1146 = x_1137; +} else { + lean::inc(x_1144); + lean::dec(x_1137); + x_1146 = lean::box(0); +} +x_1147 = lean::cnstr_get(x_1144, 0); +x_1149 = lean::cnstr_get(x_1144, 1); +if (lean::is_exclusive(x_1144)) { + lean::cnstr_set(x_1144, 0, lean::box(0)); + lean::cnstr_set(x_1144, 1, lean::box(0)); + x_1151 = x_1144; +} else { + lean::inc(x_1147); + lean::inc(x_1149); + lean::dec(x_1144); + x_1151 = lean::box(0); +} +x_1152 = l_lean_elaborator_to__pexpr___main___closed__34; +x_1153 = l_lean_elaborator_expr_mk__annotation(x_1152, x_1147); +if (x_20 == 0) +{ +obj* x_1154; +x_1154 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1154) == 0) +{ +obj* x_1157; obj* x_1158; +lean::dec(x_2); +if (lean::is_scalar(x_1151)) { + x_1157 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1157 = x_1151; +} +lean::cnstr_set(x_1157, 0, x_1153); +lean::cnstr_set(x_1157, 1, x_1149); +if (lean::is_scalar(x_1146)) { + x_1158 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1158 = x_1146; +} +lean::cnstr_set(x_1158, 0, x_1157); +return x_1158; +} +else +{ +obj* x_1159; obj* x_1162; obj* x_1165; obj* x_1168; obj* x_1169; obj* x_1170; obj* x_1172; obj* x_1173; obj* x_1174; obj* x_1177; obj* x_1178; obj* x_1179; obj* x_1180; obj* x_1181; +x_1159 = lean::cnstr_get(x_1154, 0); +lean::inc(x_1159); +lean::dec(x_1154); +x_1162 = lean::cnstr_get(x_2, 0); +lean::inc(x_1162); +lean::dec(x_2); +x_1165 = lean::cnstr_get(x_1162, 2); +lean::inc(x_1165); +lean::dec(x_1162); +x_1168 = l_lean_file__map_to__position(x_1165, x_1159); +x_1169 = lean::box(0); +x_1170 = lean::cnstr_get(x_1168, 1); +lean::inc(x_1170); +x_1172 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1173 = l_lean_kvmap_set__nat(x_1169, x_1172, x_1170); +x_1174 = lean::cnstr_get(x_1168, 0); +lean::inc(x_1174); +lean::dec(x_1168); +x_1177 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1178 = l_lean_kvmap_set__nat(x_1173, x_1177, x_1174); +x_1179 = lean_expr_mk_mdata(x_1178, x_1153); +if (lean::is_scalar(x_1151)) { + x_1180 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1180 = x_1151; +} +lean::cnstr_set(x_1180, 0, x_1179); +lean::cnstr_set(x_1180, 1, x_1149); +if (lean::is_scalar(x_1146)) { + x_1181 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1181 = x_1146; +} +lean::cnstr_set(x_1181, 0, x_1180); +return x_1181; +} +} +else +{ +obj* x_1184; obj* x_1185; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_1151)) { + x_1184 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1184 = x_1151; +} +lean::cnstr_set(x_1184, 0, x_1153); +lean::cnstr_set(x_1184, 1, x_1149); +if (lean::is_scalar(x_1146)) { + x_1185 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1185 = x_1146; +} +lean::cnstr_set(x_1185, 0, x_1184); +return x_1185; +} +} +} +} +} +else +{ +obj* x_1188; obj* x_1189; obj* x_1193; obj* x_1194; +lean::dec(x_8); +lean::dec(x_10); +x_1188 = l_lean_parser_term_projection_has__view; +x_1189 = lean::cnstr_get(x_1188, 0); +lean::inc(x_1189); +lean::dec(x_1188); +lean::inc(x_0); +x_1193 = lean::apply_1(x_1189, x_0); +x_1194 = lean::cnstr_get(x_1193, 2); +lean::inc(x_1194); +if (lean::obj_tag(x_1194) == 0) +{ +obj* x_1196; obj* x_1199; obj* x_1203; +x_1196 = lean::cnstr_get(x_1193, 0); +lean::inc(x_1196); +lean::dec(x_1193); +x_1199 = lean::cnstr_get(x_1194, 0); +lean::inc(x_1199); +lean::dec(x_1194); +lean::inc(x_2); +x_1203 = l_lean_elaborator_to__pexpr___main(x_1196, x_1, x_2, x_3); +if (lean::obj_tag(x_1203) == 0) +{ +obj* x_1207; obj* x_1209; obj* x_1210; +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1199); +x_1207 = lean::cnstr_get(x_1203, 0); +if (lean::is_exclusive(x_1203)) { + x_1209 = x_1203; +} else { + lean::inc(x_1207); + lean::dec(x_1203); + x_1209 = lean::box(0); +} +if (lean::is_scalar(x_1209)) { + x_1210 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1210 = x_1209; +} +lean::cnstr_set(x_1210, 0, x_1207); +return x_1210; +} +else +{ +obj* x_1211; obj* x_1213; obj* x_1214; obj* x_1216; obj* x_1218; obj* x_1219; obj* x_1222; obj* x_1223; obj* x_1224; obj* x_1225; obj* x_1226; +x_1211 = lean::cnstr_get(x_1203, 0); +if (lean::is_exclusive(x_1203)) { + lean::cnstr_set(x_1203, 0, lean::box(0)); + x_1213 = x_1203; +} else { + lean::inc(x_1211); + lean::dec(x_1203); + x_1213 = lean::box(0); +} +x_1214 = lean::cnstr_get(x_1211, 0); +x_1216 = lean::cnstr_get(x_1211, 1); +if (lean::is_exclusive(x_1211)) { + lean::cnstr_set(x_1211, 0, lean::box(0)); + lean::cnstr_set(x_1211, 1, lean::box(0)); + x_1218 = x_1211; +} else { + lean::inc(x_1214); + lean::inc(x_1216); + lean::dec(x_1211); + x_1218 = lean::box(0); +} +x_1219 = lean::cnstr_get(x_1199, 2); +lean::inc(x_1219); +lean::dec(x_1199); +x_1222 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_1222, 0, x_1219); +x_1223 = lean::box(0); +x_1224 = l_lean_elaborator_to__pexpr___main___closed__35; +x_1225 = l_lean_kvmap_insert__core___main(x_1223, x_1224, x_1222); +x_1226 = lean_expr_mk_mdata(x_1225, x_1214); +if (x_20 == 0) +{ +obj* x_1227; +x_1227 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1227) == 0) +{ +obj* x_1230; obj* x_1231; +lean::dec(x_2); +if (lean::is_scalar(x_1218)) { + x_1230 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1230 = x_1218; +} +lean::cnstr_set(x_1230, 0, x_1226); +lean::cnstr_set(x_1230, 1, x_1216); +if (lean::is_scalar(x_1213)) { + x_1231 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1231 = x_1213; +} +lean::cnstr_set(x_1231, 0, x_1230); +return x_1231; +} +else +{ +obj* x_1232; obj* x_1235; obj* x_1238; obj* x_1241; obj* x_1242; obj* x_1244; obj* x_1245; obj* x_1246; obj* x_1249; obj* x_1250; obj* x_1251; obj* x_1252; obj* x_1253; +x_1232 = lean::cnstr_get(x_1227, 0); +lean::inc(x_1232); +lean::dec(x_1227); +x_1235 = lean::cnstr_get(x_2, 0); +lean::inc(x_1235); +lean::dec(x_2); +x_1238 = lean::cnstr_get(x_1235, 2); +lean::inc(x_1238); +lean::dec(x_1235); +x_1241 = l_lean_file__map_to__position(x_1238, x_1232); +x_1242 = lean::cnstr_get(x_1241, 1); +lean::inc(x_1242); +x_1244 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1245 = l_lean_kvmap_set__nat(x_1223, x_1244, x_1242); +x_1246 = lean::cnstr_get(x_1241, 0); +lean::inc(x_1246); +lean::dec(x_1241); +x_1249 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1250 = l_lean_kvmap_set__nat(x_1245, x_1249, x_1246); +x_1251 = lean_expr_mk_mdata(x_1250, x_1226); +if (lean::is_scalar(x_1218)) { + x_1252 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1252 = x_1218; +} +lean::cnstr_set(x_1252, 0, x_1251); +lean::cnstr_set(x_1252, 1, x_1216); +if (lean::is_scalar(x_1213)) { + x_1253 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1253 = x_1213; +} +lean::cnstr_set(x_1253, 0, x_1252); +return x_1253; +} +} +else +{ +obj* x_1256; obj* x_1257; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_1218)) { + x_1256 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1256 = x_1218; +} +lean::cnstr_set(x_1256, 0, x_1226); +lean::cnstr_set(x_1256, 1, x_1216); +if (lean::is_scalar(x_1213)) { + x_1257 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1257 = x_1213; +} +lean::cnstr_set(x_1257, 0, x_1256); +return x_1257; +} +} +} +else +{ +obj* x_1258; obj* x_1261; obj* x_1265; +x_1258 = lean::cnstr_get(x_1193, 0); +lean::inc(x_1258); +lean::dec(x_1193); +x_1261 = lean::cnstr_get(x_1194, 0); +lean::inc(x_1261); +lean::dec(x_1194); +lean::inc(x_2); +x_1265 = l_lean_elaborator_to__pexpr___main(x_1258, x_1, x_2, x_3); +if (lean::obj_tag(x_1265) == 0) +{ +obj* x_1269; obj* x_1271; obj* x_1272; +lean::dec(x_1261); +lean::dec(x_0); +lean::dec(x_2); +x_1269 = lean::cnstr_get(x_1265, 0); +if (lean::is_exclusive(x_1265)) { + x_1271 = x_1265; +} else { + lean::inc(x_1269); + lean::dec(x_1265); + x_1271 = lean::box(0); +} +if (lean::is_scalar(x_1271)) { + x_1272 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1272 = x_1271; +} +lean::cnstr_set(x_1272, 0, x_1269); +return x_1272; +} +else +{ +obj* x_1273; obj* x_1275; obj* x_1276; obj* x_1278; obj* x_1280; obj* x_1281; obj* x_1282; obj* x_1283; obj* x_1284; obj* x_1285; obj* x_1286; +x_1273 = lean::cnstr_get(x_1265, 0); +if (lean::is_exclusive(x_1265)) { + lean::cnstr_set(x_1265, 0, lean::box(0)); + x_1275 = x_1265; +} else { + lean::inc(x_1273); + lean::dec(x_1265); + x_1275 = lean::box(0); +} +x_1276 = lean::cnstr_get(x_1273, 0); +x_1278 = lean::cnstr_get(x_1273, 1); +if (lean::is_exclusive(x_1273)) { + lean::cnstr_set(x_1273, 0, lean::box(0)); + lean::cnstr_set(x_1273, 1, lean::box(0)); + x_1280 = x_1273; +} else { + lean::inc(x_1276); + lean::inc(x_1278); + lean::dec(x_1273); + x_1280 = lean::box(0); +} +x_1281 = l_lean_parser_number_view_to__nat___main(x_1261); +x_1282 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1282, 0, x_1281); +x_1283 = lean::box(0); +x_1284 = l_lean_elaborator_to__pexpr___main___closed__35; +x_1285 = l_lean_kvmap_insert__core___main(x_1283, x_1284, x_1282); +x_1286 = lean_expr_mk_mdata(x_1285, x_1276); +if (x_20 == 0) +{ +obj* x_1287; +x_1287 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1287) == 0) +{ +obj* x_1290; obj* x_1291; +lean::dec(x_2); +if (lean::is_scalar(x_1280)) { + x_1290 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1290 = x_1280; +} +lean::cnstr_set(x_1290, 0, x_1286); +lean::cnstr_set(x_1290, 1, x_1278); +if (lean::is_scalar(x_1275)) { + x_1291 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1291 = x_1275; +} +lean::cnstr_set(x_1291, 0, x_1290); +return x_1291; +} +else +{ +obj* x_1292; obj* x_1295; obj* x_1298; obj* x_1301; obj* x_1302; obj* x_1304; obj* x_1305; obj* x_1306; obj* x_1309; obj* x_1310; obj* x_1311; obj* x_1312; obj* x_1313; +x_1292 = lean::cnstr_get(x_1287, 0); +lean::inc(x_1292); +lean::dec(x_1287); +x_1295 = lean::cnstr_get(x_2, 0); +lean::inc(x_1295); +lean::dec(x_2); +x_1298 = lean::cnstr_get(x_1295, 2); +lean::inc(x_1298); +lean::dec(x_1295); +x_1301 = l_lean_file__map_to__position(x_1298, x_1292); +x_1302 = lean::cnstr_get(x_1301, 1); +lean::inc(x_1302); +x_1304 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1305 = l_lean_kvmap_set__nat(x_1283, x_1304, x_1302); +x_1306 = lean::cnstr_get(x_1301, 0); +lean::inc(x_1306); +lean::dec(x_1301); +x_1309 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1310 = l_lean_kvmap_set__nat(x_1305, x_1309, x_1306); +x_1311 = lean_expr_mk_mdata(x_1310, x_1286); +if (lean::is_scalar(x_1280)) { + x_1312 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1312 = x_1280; +} +lean::cnstr_set(x_1312, 0, x_1311); +lean::cnstr_set(x_1312, 1, x_1278); +if (lean::is_scalar(x_1275)) { + x_1313 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1313 = x_1275; +} +lean::cnstr_set(x_1313, 0, x_1312); +return x_1313; +} +} +else +{ +obj* x_1316; obj* x_1317; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_1280)) { + x_1316 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1316 = x_1280; +} +lean::cnstr_set(x_1316, 0, x_1286); +lean::cnstr_set(x_1316, 1, x_1278); +if (lean::is_scalar(x_1275)) { + x_1317 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1317 = x_1275; +} +lean::cnstr_set(x_1317, 0, x_1316); +return x_1317; +} +} +} +} +} +else +{ +obj* x_1319; obj* x_1320; obj* x_1324; obj* x_1325; +lean::dec(x_10); +x_1319 = l_lean_parser_term_let_has__view; +x_1320 = lean::cnstr_get(x_1319, 0); +lean::inc(x_1320); +lean::dec(x_1319); +lean::inc(x_0); +x_1324 = lean::apply_1(x_1320, x_0); +x_1325 = lean::cnstr_get(x_1324, 1); +lean::inc(x_1325); +if (lean::obj_tag(x_1325) == 0) +{ +obj* x_1327; obj* x_1330; +x_1327 = lean::cnstr_get(x_1325, 0); +lean::inc(x_1327); +lean::dec(x_1325); +x_1330 = lean::cnstr_get(x_1327, 1); +lean::inc(x_1330); +if (lean::obj_tag(x_1330) == 0) +{ +obj* x_1332; +x_1332 = lean::cnstr_get(x_1327, 2); +lean::inc(x_1332); +if (lean::obj_tag(x_1332) == 0) +{ +obj* x_1337; obj* x_1338; obj* x_1340; +lean::dec(x_1327); +lean::dec(x_1324); +lean::inc(x_0); +x_1337 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1337, 0, x_0); +x_1338 = l_lean_elaborator_to__pexpr___main___closed__36; +lean::inc(x_2); +x_1340 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1337, x_1338, x_1, x_2, x_3); +lean::dec(x_3); +lean::dec(x_1337); +if (lean::obj_tag(x_1340) == 0) +{ +obj* x_1346; obj* x_1348; obj* x_1349; lean::dec(x_8); lean::dec(x_0); lean::dec(x_2); -x_1589 = lean::cnstr_get(x_1585, 0); -if (lean::is_exclusive(x_1585)) { - x_1591 = x_1585; +x_1346 = lean::cnstr_get(x_1340, 0); +if (lean::is_exclusive(x_1340)) { + x_1348 = x_1340; } else { - lean::inc(x_1589); - lean::dec(x_1585); - x_1591 = lean::box(0); + lean::inc(x_1346); + lean::dec(x_1340); + x_1348 = lean::box(0); } -if (lean::is_scalar(x_1591)) { - x_1592 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_1348)) { + x_1349 = lean::alloc_cnstr(0, 1, 0); } else { - x_1592 = x_1591; + x_1349 = x_1348; } -lean::cnstr_set(x_1592, 0, x_1589); -return x_1592; +lean::cnstr_set(x_1349, 0, x_1346); +return x_1349; } else { -obj* x_1593; obj* x_1596; obj* x_1598; obj* x_1600; obj* x_1601; obj* x_1602; obj* x_1603; -x_1593 = lean::cnstr_get(x_1585, 0); -lean::inc(x_1593); -lean::dec(x_1585); -x_1596 = lean::cnstr_get(x_1593, 0); -x_1598 = lean::cnstr_get(x_1593, 1); -if (lean::is_exclusive(x_1593)) { - x_1600 = x_1593; +obj* x_1350; +x_1350 = lean::cnstr_get(x_1340, 0); +lean::inc(x_1350); +lean::dec(x_1340); +x_15 = x_1350; +goto lbl_16; +} +} +else +{ +obj* x_1353; obj* x_1356; obj* x_1359; obj* x_1363; +x_1353 = lean::cnstr_get(x_1327, 0); +lean::inc(x_1353); +lean::dec(x_1327); +x_1356 = lean::cnstr_get(x_1332, 0); +lean::inc(x_1356); +lean::dec(x_1332); +x_1359 = lean::cnstr_get(x_1356, 1); +lean::inc(x_1359); +lean::dec(x_1356); +lean::inc(x_2); +x_1363 = l_lean_elaborator_to__pexpr___main(x_1359, x_1, x_2, x_3); +if (lean::obj_tag(x_1363) == 0) +{ +obj* x_1369; obj* x_1371; obj* x_1372; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1353); +lean::dec(x_1324); +x_1369 = lean::cnstr_get(x_1363, 0); +if (lean::is_exclusive(x_1363)) { + x_1371 = x_1363; +} else { + lean::inc(x_1369); + lean::dec(x_1363); + x_1371 = lean::box(0); +} +if (lean::is_scalar(x_1371)) { + x_1372 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1372 = x_1371; +} +lean::cnstr_set(x_1372, 0, x_1369); +return x_1372; +} +else +{ +obj* x_1373; obj* x_1376; obj* x_1378; obj* x_1381; obj* x_1384; +x_1373 = lean::cnstr_get(x_1363, 0); +lean::inc(x_1373); +lean::dec(x_1363); +x_1376 = lean::cnstr_get(x_1373, 0); +lean::inc(x_1376); +x_1378 = lean::cnstr_get(x_1373, 1); +lean::inc(x_1378); +lean::dec(x_1373); +x_1381 = lean::cnstr_get(x_1324, 3); +lean::inc(x_1381); +lean::inc(x_2); +x_1384 = l_lean_elaborator_to__pexpr___main(x_1381, x_1, x_2, x_1378); +if (lean::obj_tag(x_1384) == 0) +{ +obj* x_1391; obj* x_1393; obj* x_1394; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1376); +lean::dec(x_1353); +lean::dec(x_1324); +x_1391 = lean::cnstr_get(x_1384, 0); +if (lean::is_exclusive(x_1384)) { + x_1393 = x_1384; +} else { + lean::inc(x_1391); + lean::dec(x_1384); + x_1393 = lean::box(0); +} +if (lean::is_scalar(x_1393)) { + x_1394 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1394 = x_1393; +} +lean::cnstr_set(x_1394, 0, x_1391); +return x_1394; +} +else +{ +obj* x_1395; obj* x_1398; obj* x_1400; obj* x_1403; obj* x_1407; +x_1395 = lean::cnstr_get(x_1384, 0); +lean::inc(x_1395); +lean::dec(x_1384); +x_1398 = lean::cnstr_get(x_1395, 0); +lean::inc(x_1398); +x_1400 = lean::cnstr_get(x_1395, 1); +lean::inc(x_1400); +lean::dec(x_1395); +x_1403 = lean::cnstr_get(x_1324, 5); +lean::inc(x_1403); +lean::dec(x_1324); +lean::inc(x_2); +x_1407 = l_lean_elaborator_to__pexpr___main(x_1403, x_1, x_2, x_1400); +if (lean::obj_tag(x_1407) == 0) +{ +obj* x_1414; obj* x_1416; obj* x_1417; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1376); +lean::dec(x_1353); +lean::dec(x_1398); +x_1414 = lean::cnstr_get(x_1407, 0); +if (lean::is_exclusive(x_1407)) { + x_1416 = x_1407; +} else { + lean::inc(x_1414); + lean::dec(x_1407); + x_1416 = lean::box(0); +} +if (lean::is_scalar(x_1416)) { + x_1417 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1417 = x_1416; +} +lean::cnstr_set(x_1417, 0, x_1414); +return x_1417; +} +else +{ +obj* x_1418; obj* x_1421; obj* x_1423; obj* x_1425; obj* x_1426; obj* x_1427; obj* x_1428; +x_1418 = lean::cnstr_get(x_1407, 0); +lean::inc(x_1418); +lean::dec(x_1407); +x_1421 = lean::cnstr_get(x_1418, 0); +x_1423 = lean::cnstr_get(x_1418, 1); +if (lean::is_exclusive(x_1418)) { + x_1425 = x_1418; +} else { + lean::inc(x_1421); + lean::inc(x_1423); + lean::dec(x_1418); + x_1425 = lean::box(0); +} +x_1426 = l_lean_elaborator_mangle__ident(x_1353); +x_1427 = lean_expr_mk_let(x_1426, x_1376, x_1398, x_1421); +if (lean::is_scalar(x_1425)) { + x_1428 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1428 = x_1425; +} +lean::cnstr_set(x_1428, 0, x_1427); +lean::cnstr_set(x_1428, 1, x_1423); +x_15 = x_1428; +goto lbl_16; +} +} +} +} +} +else +{ +obj* x_1433; obj* x_1434; obj* x_1436; +lean::dec(x_1330); +lean::dec(x_1327); +lean::dec(x_1324); +lean::inc(x_0); +x_1433 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1433, 0, x_0); +x_1434 = l_lean_elaborator_to__pexpr___main___closed__36; +lean::inc(x_2); +x_1436 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1433, x_1434, x_1, x_2, x_3); +lean::dec(x_3); +lean::dec(x_1433); +if (lean::obj_tag(x_1436) == 0) +{ +obj* x_1442; obj* x_1444; obj* x_1445; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +x_1442 = lean::cnstr_get(x_1436, 0); +if (lean::is_exclusive(x_1436)) { + x_1444 = x_1436; +} else { + lean::inc(x_1442); + lean::dec(x_1436); + x_1444 = lean::box(0); +} +if (lean::is_scalar(x_1444)) { + x_1445 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1445 = x_1444; +} +lean::cnstr_set(x_1445, 0, x_1442); +return x_1445; +} +else +{ +obj* x_1446; +x_1446 = lean::cnstr_get(x_1436, 0); +lean::inc(x_1446); +lean::dec(x_1436); +x_15 = x_1446; +goto lbl_16; +} +} +} +else +{ +obj* x_1452; obj* x_1453; obj* x_1455; +lean::dec(x_1324); +lean::dec(x_1325); +lean::inc(x_0); +x_1452 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1452, 0, x_0); +x_1453 = l_lean_elaborator_to__pexpr___main___closed__36; +lean::inc(x_2); +x_1455 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1452, x_1453, x_1, x_2, x_3); +lean::dec(x_3); +lean::dec(x_1452); +if (lean::obj_tag(x_1455) == 0) +{ +obj* x_1461; obj* x_1463; obj* x_1464; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +x_1461 = lean::cnstr_get(x_1455, 0); +if (lean::is_exclusive(x_1455)) { + x_1463 = x_1455; +} else { + lean::inc(x_1461); + lean::dec(x_1455); + x_1463 = lean::box(0); +} +if (lean::is_scalar(x_1463)) { + x_1464 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1464 = x_1463; +} +lean::cnstr_set(x_1464, 0, x_1461); +return x_1464; +} +else +{ +obj* x_1465; +x_1465 = lean::cnstr_get(x_1455, 0); +lean::inc(x_1465); +lean::dec(x_1455); +x_15 = x_1465; +goto lbl_16; +} +} +} +} +else +{ +obj* x_1470; obj* x_1471; obj* x_1475; obj* x_1476; obj* x_1479; +lean::dec(x_8); +lean::dec(x_10); +x_1470 = l_lean_parser_term_show_has__view; +x_1471 = lean::cnstr_get(x_1470, 0); +lean::inc(x_1471); +lean::dec(x_1470); +lean::inc(x_0); +x_1475 = lean::apply_1(x_1471, x_0); +x_1476 = lean::cnstr_get(x_1475, 1); +lean::inc(x_1476); +lean::inc(x_2); +x_1479 = l_lean_elaborator_to__pexpr___main(x_1476, x_1, x_2, x_3); +if (lean::obj_tag(x_1479) == 0) +{ +obj* x_1483; obj* x_1485; obj* x_1486; +lean::dec(x_1475); +lean::dec(x_0); +lean::dec(x_2); +x_1483 = lean::cnstr_get(x_1479, 0); +if (lean::is_exclusive(x_1479)) { + x_1485 = x_1479; +} else { + lean::inc(x_1483); + lean::dec(x_1479); + x_1485 = lean::box(0); +} +if (lean::is_scalar(x_1485)) { + x_1486 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1486 = x_1485; +} +lean::cnstr_set(x_1486, 0, x_1483); +return x_1486; +} +else +{ +obj* x_1487; obj* x_1490; obj* x_1492; obj* x_1495; obj* x_1498; obj* x_1502; +x_1487 = lean::cnstr_get(x_1479, 0); +lean::inc(x_1487); +lean::dec(x_1479); +x_1490 = lean::cnstr_get(x_1487, 0); +lean::inc(x_1490); +x_1492 = lean::cnstr_get(x_1487, 1); +lean::inc(x_1492); +lean::dec(x_1487); +x_1495 = lean::cnstr_get(x_1475, 3); +lean::inc(x_1495); +lean::dec(x_1475); +x_1498 = lean::cnstr_get(x_1495, 1); +lean::inc(x_1498); +lean::dec(x_1495); +lean::inc(x_2); +x_1502 = l_lean_elaborator_to__pexpr___main(x_1498, x_1, x_2, x_1492); +if (lean::obj_tag(x_1502) == 0) +{ +obj* x_1506; obj* x_1508; obj* x_1509; +lean::dec(x_1490); +lean::dec(x_0); +lean::dec(x_2); +x_1506 = lean::cnstr_get(x_1502, 0); +if (lean::is_exclusive(x_1502)) { + x_1508 = x_1502; +} else { + lean::inc(x_1506); + lean::dec(x_1502); + x_1508 = lean::box(0); +} +if (lean::is_scalar(x_1508)) { + x_1509 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1509 = x_1508; +} +lean::cnstr_set(x_1509, 0, x_1506); +return x_1509; +} +else +{ +obj* x_1510; obj* x_1512; obj* x_1513; obj* x_1515; obj* x_1517; obj* x_1518; uint8 x_1519; obj* x_1520; obj* x_1521; obj* x_1522; obj* x_1523; obj* x_1524; +x_1510 = lean::cnstr_get(x_1502, 0); +if (lean::is_exclusive(x_1502)) { + lean::cnstr_set(x_1502, 0, lean::box(0)); + x_1512 = x_1502; +} else { + lean::inc(x_1510); + lean::dec(x_1502); + x_1512 = lean::box(0); +} +x_1513 = lean::cnstr_get(x_1510, 0); +x_1515 = lean::cnstr_get(x_1510, 1); +if (lean::is_exclusive(x_1510)) { + lean::cnstr_set(x_1510, 0, lean::box(0)); + lean::cnstr_set(x_1510, 1, lean::box(0)); + x_1517 = x_1510; +} else { + lean::inc(x_1513); + lean::inc(x_1515); + lean::dec(x_1510); + x_1517 = lean::box(0); +} +x_1518 = l_lean_elaborator_to__pexpr___main___closed__37; +x_1519 = 0; +x_1520 = l_lean_elaborator_to__pexpr___main___closed__38; +x_1521 = lean_expr_mk_lambda(x_1518, x_1519, x_1490, x_1520); +x_1522 = lean_expr_mk_app(x_1521, x_1513); +x_1523 = l_lean_elaborator_to__pexpr___main___closed__39; +x_1524 = l_lean_elaborator_expr_mk__annotation(x_1523, x_1522); +if (x_20 == 0) +{ +obj* x_1525; +x_1525 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1525) == 0) +{ +obj* x_1528; obj* x_1529; +lean::dec(x_2); +if (lean::is_scalar(x_1517)) { + x_1528 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1528 = x_1517; +} +lean::cnstr_set(x_1528, 0, x_1524); +lean::cnstr_set(x_1528, 1, x_1515); +if (lean::is_scalar(x_1512)) { + x_1529 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1529 = x_1512; +} +lean::cnstr_set(x_1529, 0, x_1528); +return x_1529; +} +else +{ +obj* x_1530; obj* x_1533; obj* x_1536; obj* x_1539; obj* x_1540; obj* x_1541; obj* x_1543; obj* x_1544; obj* x_1545; obj* x_1548; obj* x_1549; obj* x_1550; obj* x_1551; obj* x_1552; +x_1530 = lean::cnstr_get(x_1525, 0); +lean::inc(x_1530); +lean::dec(x_1525); +x_1533 = lean::cnstr_get(x_2, 0); +lean::inc(x_1533); +lean::dec(x_2); +x_1536 = lean::cnstr_get(x_1533, 2); +lean::inc(x_1536); +lean::dec(x_1533); +x_1539 = l_lean_file__map_to__position(x_1536, x_1530); +x_1540 = lean::box(0); +x_1541 = lean::cnstr_get(x_1539, 1); +lean::inc(x_1541); +x_1543 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1544 = l_lean_kvmap_set__nat(x_1540, x_1543, x_1541); +x_1545 = lean::cnstr_get(x_1539, 0); +lean::inc(x_1545); +lean::dec(x_1539); +x_1548 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1549 = l_lean_kvmap_set__nat(x_1544, x_1548, x_1545); +x_1550 = lean_expr_mk_mdata(x_1549, x_1524); +if (lean::is_scalar(x_1517)) { + x_1551 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1551 = x_1517; +} +lean::cnstr_set(x_1551, 0, x_1550); +lean::cnstr_set(x_1551, 1, x_1515); +if (lean::is_scalar(x_1512)) { + x_1552 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1552 = x_1512; +} +lean::cnstr_set(x_1552, 0, x_1551); +return x_1552; +} +} +else +{ +obj* x_1555; obj* x_1556; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_1517)) { + x_1555 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1555 = x_1517; +} +lean::cnstr_set(x_1555, 0, x_1524); +lean::cnstr_set(x_1555, 1, x_1515); +if (lean::is_scalar(x_1512)) { + x_1556 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1556 = x_1512; +} +lean::cnstr_set(x_1556, 0, x_1555); +return x_1556; +} +} +} +} +} +else +{ +obj* x_1558; obj* x_1559; obj* x_1563; obj* x_1564; +lean::dec(x_10); +x_1558 = l_lean_parser_term_have_has__view; +x_1559 = lean::cnstr_get(x_1558, 0); +lean::inc(x_1559); +lean::dec(x_1558); +lean::inc(x_0); +x_1563 = lean::apply_1(x_1559, x_0); +x_1564 = lean::cnstr_get(x_1563, 1); +lean::inc(x_1564); +if (lean::obj_tag(x_1564) == 0) +{ +obj* x_1566; obj* x_1568; obj* x_1571; +x_1566 = lean::cnstr_get(x_1563, 2); +lean::inc(x_1566); +x_1568 = lean::cnstr_get(x_1563, 5); +lean::inc(x_1568); +lean::inc(x_2); +x_1571 = l_lean_elaborator_to__pexpr___main(x_1566, x_1, x_2, x_3); +if (lean::obj_tag(x_1571) == 0) +{ +obj* x_1577; obj* x_1579; obj* x_1580; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1568); +lean::dec(x_1563); +x_1577 = lean::cnstr_get(x_1571, 0); +if (lean::is_exclusive(x_1571)) { + x_1579 = x_1571; +} else { + lean::inc(x_1577); + lean::dec(x_1571); + x_1579 = lean::box(0); +} +if (lean::is_scalar(x_1579)) { + x_1580 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1580 = x_1579; +} +lean::cnstr_set(x_1580, 0, x_1577); +return x_1580; +} +else +{ +obj* x_1581; obj* x_1584; obj* x_1586; obj* x_1590; +x_1581 = lean::cnstr_get(x_1571, 0); +lean::inc(x_1581); +lean::dec(x_1571); +x_1584 = lean::cnstr_get(x_1581, 0); +lean::inc(x_1584); +x_1586 = lean::cnstr_get(x_1581, 1); +lean::inc(x_1586); +lean::dec(x_1581); +lean::inc(x_2); +x_1590 = l_lean_elaborator_to__pexpr___main(x_1568, x_1, x_2, x_1586); +if (lean::obj_tag(x_1590) == 0) +{ +obj* x_1596; obj* x_1598; obj* x_1599; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1563); +lean::dec(x_1584); +x_1596 = lean::cnstr_get(x_1590, 0); +if (lean::is_exclusive(x_1590)) { + x_1598 = x_1590; } else { lean::inc(x_1596); - lean::inc(x_1598); - lean::dec(x_1593); - x_1600 = lean::box(0); + lean::dec(x_1590); + x_1598 = lean::box(0); } -x_1601 = l_lean_elaborator_to__pexpr___main___closed__43; -x_1602 = l_lean_elaborator_expr_mk__annotation(x_1601, x_1596); -if (lean::is_scalar(x_1600)) { - x_1603 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_1598)) { + x_1599 = lean::alloc_cnstr(0, 1, 0); } else { - x_1603 = x_1600; -} -lean::cnstr_set(x_1603, 0, x_1602); -lean::cnstr_set(x_1603, 1, x_1598); -x_15 = x_1603; -goto lbl_16; -} + x_1599 = x_1598; } +lean::cnstr_set(x_1599, 0, x_1596); +return x_1599; } else { -obj* x_1605; obj* x_1606; obj* x_1610; obj* x_1611; obj* x_1612; obj* x_1615; obj* x_1617; -lean::dec(x_10); -x_1605 = l_lean_parser_term_sort__app_has__view; -x_1606 = lean::cnstr_get(x_1605, 0); -lean::inc(x_1606); -lean::dec(x_1605); -lean::inc(x_0); -x_1610 = lean::apply_1(x_1606, x_0); -x_1611 = l_lean_parser_term_sort_has__view; -x_1612 = lean::cnstr_get(x_1611, 0); -lean::inc(x_1612); +obj* x_1600; obj* x_1603; obj* x_1605; obj* x_1608; uint8 x_1609; obj* x_1610; obj* x_1611; +x_1600 = lean::cnstr_get(x_1590, 0); +lean::inc(x_1600); +lean::dec(x_1590); +x_1603 = lean::cnstr_get(x_1600, 0); +lean::inc(x_1603); +x_1605 = lean::cnstr_get(x_1600, 1); +lean::inc(x_1605); +lean::dec(x_1600); +x_1608 = l_lean_elaborator_to__pexpr___main___closed__40; +x_1609 = 0; +x_1610 = lean_expr_mk_lambda(x_1608, x_1609, x_1584, x_1603); +x_1611 = lean::cnstr_get(x_1563, 3); +lean::inc(x_1611); +lean::dec(x_1563); +if (lean::obj_tag(x_1611) == 0) +{ +obj* x_1614; obj* x_1617; obj* x_1621; +x_1614 = lean::cnstr_get(x_1611, 0); +lean::inc(x_1614); lean::dec(x_1611); -x_1615 = lean::cnstr_get(x_1610, 0); -lean::inc(x_1615); -x_1617 = lean::apply_1(x_1612, x_1615); -if (lean::obj_tag(x_1617) == 0) -{ -obj* x_1619; obj* x_1623; -lean::dec(x_1617); -x_1619 = lean::cnstr_get(x_1610, 1); -lean::inc(x_1619); -lean::dec(x_1610); +x_1617 = lean::cnstr_get(x_1614, 1); +lean::inc(x_1617); +lean::dec(x_1614); lean::inc(x_2); -x_1623 = l_lean_elaborator_to__level___main(x_1619, x_1, x_2, x_3); -if (lean::obj_tag(x_1623) == 0) +x_1621 = l_lean_elaborator_to__pexpr___main(x_1617, x_1, x_2, x_1605); +if (lean::obj_tag(x_1621) == 0) { -obj* x_1627; obj* x_1629; obj* x_1630; +obj* x_1626; obj* x_1628; obj* x_1629; lean::dec(x_8); lean::dec(x_0); lean::dec(x_2); -x_1627 = lean::cnstr_get(x_1623, 0); -if (lean::is_exclusive(x_1623)) { - x_1629 = x_1623; +lean::dec(x_1610); +x_1626 = lean::cnstr_get(x_1621, 0); +if (lean::is_exclusive(x_1621)) { + x_1628 = x_1621; } else { - lean::inc(x_1627); - lean::dec(x_1623); - x_1629 = lean::box(0); + lean::inc(x_1626); + lean::dec(x_1621); + x_1628 = lean::box(0); } -if (lean::is_scalar(x_1629)) { - x_1630 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_1628)) { + x_1629 = lean::alloc_cnstr(0, 1, 0); } else { - x_1630 = x_1629; + x_1629 = x_1628; } -lean::cnstr_set(x_1630, 0, x_1627); -return x_1630; +lean::cnstr_set(x_1629, 0, x_1626); +return x_1629; } else { -obj* x_1631; obj* x_1634; obj* x_1636; obj* x_1638; obj* x_1639; obj* x_1640; -x_1631 = lean::cnstr_get(x_1623, 0); -lean::inc(x_1631); -lean::dec(x_1623); -x_1634 = lean::cnstr_get(x_1631, 0); -x_1636 = lean::cnstr_get(x_1631, 1); -if (lean::is_exclusive(x_1631)) { - x_1638 = x_1631; +obj* x_1630; obj* x_1633; obj* x_1635; obj* x_1637; obj* x_1638; obj* x_1639; obj* x_1640; obj* x_1641; +x_1630 = lean::cnstr_get(x_1621, 0); +lean::inc(x_1630); +lean::dec(x_1621); +x_1633 = lean::cnstr_get(x_1630, 0); +x_1635 = lean::cnstr_get(x_1630, 1); +if (lean::is_exclusive(x_1630)) { + x_1637 = x_1630; } else { - lean::inc(x_1634); - lean::inc(x_1636); - lean::dec(x_1631); - x_1638 = lean::box(0); + lean::inc(x_1633); + lean::inc(x_1635); + lean::dec(x_1630); + x_1637 = lean::box(0); } -x_1639 = lean_expr_mk_sort(x_1634); -if (lean::is_scalar(x_1638)) { - x_1640 = lean::alloc_cnstr(0, 2, 0); +x_1638 = l_lean_elaborator_to__pexpr___main___closed__41; +x_1639 = l_lean_elaborator_expr_mk__annotation(x_1638, x_1610); +x_1640 = lean_expr_mk_app(x_1639, x_1633); +if (lean::is_scalar(x_1637)) { + x_1641 = lean::alloc_cnstr(0, 2, 0); } else { - x_1640 = x_1638; + x_1641 = x_1637; } -lean::cnstr_set(x_1640, 0, x_1639); -lean::cnstr_set(x_1640, 1, x_1636); -x_15 = x_1640; +lean::cnstr_set(x_1641, 0, x_1640); +lean::cnstr_set(x_1641, 1, x_1635); +x_15 = x_1641; goto lbl_16; } } else { -obj* x_1642; obj* x_1646; -lean::dec(x_1617); -x_1642 = lean::cnstr_get(x_1610, 1); +obj* x_1642; obj* x_1645; obj* x_1648; obj* x_1652; +x_1642 = lean::cnstr_get(x_1611, 0); lean::inc(x_1642); -lean::dec(x_1610); +lean::dec(x_1611); +x_1645 = lean::cnstr_get(x_1642, 1); +lean::inc(x_1645); +lean::dec(x_1642); +x_1648 = lean::cnstr_get(x_1645, 1); +lean::inc(x_1648); +lean::dec(x_1645); lean::inc(x_2); -x_1646 = l_lean_elaborator_to__level___main(x_1642, x_1, x_2, x_3); -if (lean::obj_tag(x_1646) == 0) +x_1652 = l_lean_elaborator_to__pexpr___main(x_1648, x_1, x_2, x_1605); +if (lean::obj_tag(x_1652) == 0) { -obj* x_1650; obj* x_1652; obj* x_1653; +obj* x_1657; obj* x_1659; obj* x_1660; lean::dec(x_8); lean::dec(x_0); lean::dec(x_2); -x_1650 = lean::cnstr_get(x_1646, 0); -if (lean::is_exclusive(x_1646)) { - x_1652 = x_1646; -} else { - lean::inc(x_1650); - lean::dec(x_1646); - x_1652 = lean::box(0); -} -if (lean::is_scalar(x_1652)) { - x_1653 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1653 = x_1652; -} -lean::cnstr_set(x_1653, 0, x_1650); -return x_1653; -} -else -{ -obj* x_1654; obj* x_1657; obj* x_1659; obj* x_1661; obj* x_1662; obj* x_1663; obj* x_1664; -x_1654 = lean::cnstr_get(x_1646, 0); -lean::inc(x_1654); -lean::dec(x_1646); -x_1657 = lean::cnstr_get(x_1654, 0); -x_1659 = lean::cnstr_get(x_1654, 1); -if (lean::is_exclusive(x_1654)) { - x_1661 = x_1654; +lean::dec(x_1610); +x_1657 = lean::cnstr_get(x_1652, 0); +if (lean::is_exclusive(x_1652)) { + x_1659 = x_1652; } else { lean::inc(x_1657); - lean::inc(x_1659); - lean::dec(x_1654); - x_1661 = lean::box(0); + lean::dec(x_1652); + x_1659 = lean::box(0); } -x_1662 = level_mk_succ(x_1657); -x_1663 = lean_expr_mk_sort(x_1662); -if (lean::is_scalar(x_1661)) { - x_1664 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_1659)) { + x_1660 = lean::alloc_cnstr(0, 1, 0); } else { - x_1664 = x_1661; + x_1660 = x_1659; } -lean::cnstr_set(x_1664, 0, x_1663); -lean::cnstr_set(x_1664, 1, x_1659); -x_15 = x_1664; +lean::cnstr_set(x_1660, 0, x_1657); +return x_1660; +} +else +{ +obj* x_1661; obj* x_1664; obj* x_1666; obj* x_1668; obj* x_1669; obj* x_1670; obj* x_1671; obj* x_1672; +x_1661 = lean::cnstr_get(x_1652, 0); +lean::inc(x_1661); +lean::dec(x_1652); +x_1664 = lean::cnstr_get(x_1661, 0); +x_1666 = lean::cnstr_get(x_1661, 1); +if (lean::is_exclusive(x_1661)) { + x_1668 = x_1661; +} else { + lean::inc(x_1664); + lean::inc(x_1666); + lean::dec(x_1661); + x_1668 = lean::box(0); +} +x_1669 = l_lean_elaborator_to__pexpr___main___closed__41; +x_1670 = l_lean_elaborator_expr_mk__annotation(x_1669, x_1610); +x_1671 = lean_expr_mk_app(x_1670, x_1664); +if (lean::is_scalar(x_1668)) { + x_1672 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1672 = x_1668; +} +lean::cnstr_set(x_1672, 0, x_1671); +lean::cnstr_set(x_1672, 1, x_1666); +x_15 = x_1672; goto lbl_16; } } } } +} else { -obj* x_1667; obj* x_1668; obj* x_1672; +obj* x_1673; obj* x_1675; obj* x_1677; obj* x_1679; obj* x_1681; +x_1673 = lean::cnstr_get(x_1563, 2); +lean::inc(x_1673); +x_1675 = lean::cnstr_get(x_1563, 5); +lean::inc(x_1675); +x_1677 = lean::cnstr_get(x_1564, 0); +if (lean::is_exclusive(x_1564)) { + lean::cnstr_set(x_1564, 0, lean::box(0)); + x_1679 = x_1564; +} else { + lean::inc(x_1677); + lean::dec(x_1564); + x_1679 = lean::box(0); +} +lean::inc(x_2); +x_1681 = l_lean_elaborator_to__pexpr___main(x_1673, x_1, x_2, x_3); +if (lean::obj_tag(x_1681) == 0) +{ +obj* x_1689; obj* x_1691; obj* x_1692; +lean::dec(x_1677); +lean::dec(x_1679); lean::dec(x_8); -lean::dec(x_10); -x_1667 = l_lean_parser_term_sort_has__view; -x_1668 = lean::cnstr_get(x_1667, 0); -lean::inc(x_1668); -lean::dec(x_1667); -lean::inc(x_0); -x_1672 = lean::apply_1(x_1668, x_0); -if (lean::obj_tag(x_1672) == 0) -{ -lean::dec(x_1672); -if (x_20 == 0) -{ -obj* x_1674; -x_1674 = l_lean_parser_syntax_get__pos(x_0); -lean::dec(x_0); -if (lean::obj_tag(x_1674) == 0) -{ -obj* x_1677; obj* x_1678; obj* x_1679; -lean::dec(x_2); -x_1677 = l_lean_elaborator_to__pexpr___main___closed__25; -x_1678 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1678, 0, x_1677); -lean::cnstr_set(x_1678, 1, x_3); -x_1679 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1679, 0, x_1678); -return x_1679; -} -else -{ -obj* x_1680; obj* x_1683; obj* x_1686; obj* x_1689; obj* x_1690; obj* x_1691; obj* x_1693; obj* x_1694; obj* x_1695; obj* x_1698; obj* x_1699; obj* x_1700; obj* x_1701; obj* x_1702; obj* x_1703; -x_1680 = lean::cnstr_get(x_1674, 0); -lean::inc(x_1680); -lean::dec(x_1674); -x_1683 = lean::cnstr_get(x_2, 0); -lean::inc(x_1683); -lean::dec(x_2); -x_1686 = lean::cnstr_get(x_1683, 2); -lean::inc(x_1686); -lean::dec(x_1683); -x_1689 = l_lean_file__map_to__position(x_1686, x_1680); -x_1690 = lean::box(0); -x_1691 = lean::cnstr_get(x_1689, 1); -lean::inc(x_1691); -x_1693 = l_lean_elaborator_to__pexpr___main___closed__3; -x_1694 = l_lean_kvmap_set__nat(x_1690, x_1693, x_1691); -x_1695 = lean::cnstr_get(x_1689, 0); -lean::inc(x_1695); -lean::dec(x_1689); -x_1698 = l_lean_elaborator_to__pexpr___main___closed__4; -x_1699 = l_lean_kvmap_set__nat(x_1694, x_1698, x_1695); -x_1700 = l_lean_elaborator_to__pexpr___main___closed__25; -x_1701 = lean_expr_mk_mdata(x_1699, x_1700); -x_1702 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1702, 0, x_1701); -lean::cnstr_set(x_1702, 1, x_3); -x_1703 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1703, 0, x_1702); -return x_1703; -} -} -else -{ -obj* x_1706; obj* x_1707; obj* x_1708; lean::dec(x_0); lean::dec(x_2); -x_1706 = l_lean_elaborator_to__pexpr___main___closed__25; -x_1707 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1707, 0, x_1706); -lean::cnstr_set(x_1707, 1, x_3); -x_1708 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1708, 0, x_1707); -return x_1708; +lean::dec(x_1563); +lean::dec(x_1675); +x_1689 = lean::cnstr_get(x_1681, 0); +if (lean::is_exclusive(x_1681)) { + x_1691 = x_1681; +} else { + lean::inc(x_1689); + lean::dec(x_1681); + x_1691 = lean::box(0); } +if (lean::is_scalar(x_1691)) { + x_1692 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1692 = x_1691; +} +lean::cnstr_set(x_1692, 0, x_1689); +return x_1692; } else { -lean::dec(x_1672); -if (x_20 == 0) +obj* x_1693; obj* x_1696; obj* x_1698; obj* x_1702; +x_1693 = lean::cnstr_get(x_1681, 0); +lean::inc(x_1693); +lean::dec(x_1681); +x_1696 = lean::cnstr_get(x_1693, 0); +lean::inc(x_1696); +x_1698 = lean::cnstr_get(x_1693, 1); +lean::inc(x_1698); +lean::dec(x_1693); +lean::inc(x_2); +x_1702 = l_lean_elaborator_to__pexpr___main(x_1675, x_1, x_2, x_1698); +if (lean::obj_tag(x_1702) == 0) { -obj* x_1710; -x_1710 = l_lean_parser_syntax_get__pos(x_0); +obj* x_1710; obj* x_1712; obj* x_1713; +lean::dec(x_1677); +lean::dec(x_1679); +lean::dec(x_8); lean::dec(x_0); -if (lean::obj_tag(x_1710) == 0) -{ -obj* x_1713; obj* x_1714; obj* x_1715; lean::dec(x_2); -x_1713 = l_lean_elaborator_to__pexpr___main___closed__44; -x_1714 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1714, 0, x_1713); -lean::cnstr_set(x_1714, 1, x_3); -x_1715 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1715, 0, x_1714); -return x_1715; +lean::dec(x_1563); +lean::dec(x_1696); +x_1710 = lean::cnstr_get(x_1702, 0); +if (lean::is_exclusive(x_1702)) { + x_1712 = x_1702; +} else { + lean::inc(x_1710); + lean::dec(x_1702); + x_1712 = lean::box(0); +} +if (lean::is_scalar(x_1712)) { + x_1713 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1713 = x_1712; +} +lean::cnstr_set(x_1713, 0, x_1710); +return x_1713; } else { -obj* x_1716; obj* x_1719; obj* x_1722; obj* x_1725; obj* x_1726; obj* x_1727; obj* x_1729; obj* x_1730; obj* x_1731; obj* x_1734; obj* x_1735; obj* x_1736; obj* x_1737; obj* x_1738; obj* x_1739; -x_1716 = lean::cnstr_get(x_1710, 0); -lean::inc(x_1716); -lean::dec(x_1710); -x_1719 = lean::cnstr_get(x_2, 0); +obj* x_1714; obj* x_1717; obj* x_1719; obj* x_1722; obj* x_1725; obj* x_1726; obj* x_1727; obj* x_1728; uint8 x_1730; obj* x_1731; obj* x_1732; +x_1714 = lean::cnstr_get(x_1702, 0); +lean::inc(x_1714); +lean::dec(x_1702); +x_1717 = lean::cnstr_get(x_1714, 0); +lean::inc(x_1717); +x_1719 = lean::cnstr_get(x_1714, 1); lean::inc(x_1719); -lean::dec(x_2); -x_1722 = lean::cnstr_get(x_1719, 2); +lean::dec(x_1714); +x_1722 = lean::cnstr_get(x_1677, 0); lean::inc(x_1722); -lean::dec(x_1719); -x_1725 = l_lean_file__map_to__position(x_1722, x_1716); -x_1726 = lean::box(0); -x_1727 = lean::cnstr_get(x_1725, 1); -lean::inc(x_1727); -x_1729 = l_lean_elaborator_to__pexpr___main___closed__3; -x_1730 = l_lean_kvmap_set__nat(x_1726, x_1729, x_1727); -x_1731 = lean::cnstr_get(x_1725, 0); -lean::inc(x_1731); -lean::dec(x_1725); -x_1734 = l_lean_elaborator_to__pexpr___main___closed__4; -x_1735 = l_lean_kvmap_set__nat(x_1730, x_1734, x_1731); -x_1736 = l_lean_elaborator_to__pexpr___main___closed__44; -x_1737 = lean_expr_mk_mdata(x_1735, x_1736); -x_1738 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1738, 0, x_1737); -lean::cnstr_set(x_1738, 1, x_3); -x_1739 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1739, 0, x_1738); -return x_1739; +lean::dec(x_1677); +x_1725 = l_lean_elaborator_mangle__ident(x_1722); +if (lean::is_scalar(x_1679)) { + x_1726 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1726 = x_1679; } -} -else +lean::cnstr_set(x_1726, 0, x_1725); +x_1727 = l_lean_elaborator_to__pexpr___main___closed__37; +x_1728 = l_option_get__or__else___main___rarg(x_1726, x_1727); +lean::dec(x_1726); +x_1730 = 0; +x_1731 = lean_expr_mk_lambda(x_1728, x_1730, x_1696, x_1717); +x_1732 = lean::cnstr_get(x_1563, 3); +lean::inc(x_1732); +lean::dec(x_1563); +if (lean::obj_tag(x_1732) == 0) { -obj* x_1742; obj* x_1743; obj* x_1744; -lean::dec(x_0); -lean::dec(x_2); -x_1742 = l_lean_elaborator_to__pexpr___main___closed__44; -x_1743 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_1743, 0, x_1742); -lean::cnstr_set(x_1743, 1, x_3); -x_1744 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1744, 0, x_1743); -return x_1744; -} -} -} -} -else -{ -obj* x_1746; obj* x_1747; obj* x_1751; obj* x_1752; -lean::dec(x_10); -x_1746 = l_lean_parser_term_pi_has__view; -x_1747 = lean::cnstr_get(x_1746, 0); -lean::inc(x_1747); -lean::dec(x_1746); -lean::inc(x_0); -x_1751 = lean::apply_1(x_1747, x_0); -x_1752 = lean::cnstr_get(x_1751, 1); -lean::inc(x_1752); -if (lean::obj_tag(x_1752) == 0) -{ -obj* x_1757; obj* x_1758; obj* x_1760; -lean::dec(x_1752); -lean::dec(x_1751); -lean::inc(x_0); -x_1757 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1757, 0, x_0); -x_1758 = l_lean_elaborator_to__pexpr___main___closed__45; +obj* x_1735; obj* x_1738; obj* x_1742; +x_1735 = lean::cnstr_get(x_1732, 0); +lean::inc(x_1735); +lean::dec(x_1732); +x_1738 = lean::cnstr_get(x_1735, 1); +lean::inc(x_1738); +lean::dec(x_1735); lean::inc(x_2); -x_1760 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1757, x_1758, x_1, x_2, x_3); -lean::dec(x_3); -lean::dec(x_1757); -if (lean::obj_tag(x_1760) == 0) +x_1742 = l_lean_elaborator_to__pexpr___main(x_1738, x_1, x_2, x_1719); +if (lean::obj_tag(x_1742) == 0) { -obj* x_1766; obj* x_1768; obj* x_1769; +obj* x_1747; obj* x_1749; obj* x_1750; lean::dec(x_8); lean::dec(x_0); lean::dec(x_2); -x_1766 = lean::cnstr_get(x_1760, 0); -if (lean::is_exclusive(x_1760)) { - x_1768 = x_1760; +lean::dec(x_1731); +x_1747 = lean::cnstr_get(x_1742, 0); +if (lean::is_exclusive(x_1742)) { + x_1749 = x_1742; } else { - lean::inc(x_1766); - lean::dec(x_1760); - x_1768 = lean::box(0); + lean::inc(x_1747); + lean::dec(x_1742); + x_1749 = lean::box(0); } -if (lean::is_scalar(x_1768)) { - x_1769 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_1749)) { + x_1750 = lean::alloc_cnstr(0, 1, 0); } else { - x_1769 = x_1768; + x_1750 = x_1749; } -lean::cnstr_set(x_1769, 0, x_1766); -return x_1769; +lean::cnstr_set(x_1750, 0, x_1747); +return x_1750; } else { -obj* x_1770; -x_1770 = lean::cnstr_get(x_1760, 0); -lean::inc(x_1770); -lean::dec(x_1760); -x_15 = x_1770; +obj* x_1751; obj* x_1754; obj* x_1756; obj* x_1758; obj* x_1759; obj* x_1760; obj* x_1761; obj* x_1762; +x_1751 = lean::cnstr_get(x_1742, 0); +lean::inc(x_1751); +lean::dec(x_1742); +x_1754 = lean::cnstr_get(x_1751, 0); +x_1756 = lean::cnstr_get(x_1751, 1); +if (lean::is_exclusive(x_1751)) { + x_1758 = x_1751; +} else { + lean::inc(x_1754); + lean::inc(x_1756); + lean::dec(x_1751); + x_1758 = lean::box(0); +} +x_1759 = l_lean_elaborator_to__pexpr___main___closed__41; +x_1760 = l_lean_elaborator_expr_mk__annotation(x_1759, x_1731); +x_1761 = lean_expr_mk_app(x_1760, x_1754); +if (lean::is_scalar(x_1758)) { + x_1762 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1762 = x_1758; +} +lean::cnstr_set(x_1762, 0, x_1761); +lean::cnstr_set(x_1762, 1, x_1756); +x_15 = x_1762; goto lbl_16; } } else { -obj* x_1773; obj* x_1776; obj* x_1777; obj* x_1779; obj* x_1782; obj* x_1784; obj* x_1788; -x_1773 = lean::cnstr_get(x_1752, 0); -lean::inc(x_1773); -lean::dec(x_1752); -x_1776 = l_lean_parser_term_simple__binder_view_to__binder__info___main(x_1773); -x_1777 = lean::cnstr_get(x_1776, 1); -lean::inc(x_1777); -x_1779 = lean::cnstr_get(x_1776, 0); -lean::inc(x_1779); -lean::dec(x_1776); -x_1782 = lean::cnstr_get(x_1777, 0); +obj* x_1763; obj* x_1766; obj* x_1769; obj* x_1773; +x_1763 = lean::cnstr_get(x_1732, 0); +lean::inc(x_1763); +lean::dec(x_1732); +x_1766 = lean::cnstr_get(x_1763, 1); +lean::inc(x_1766); +lean::dec(x_1763); +x_1769 = lean::cnstr_get(x_1766, 1); +lean::inc(x_1769); +lean::dec(x_1766); +lean::inc(x_2); +x_1773 = l_lean_elaborator_to__pexpr___main(x_1769, x_1, x_2, x_1719); +if (lean::obj_tag(x_1773) == 0) +{ +obj* x_1778; obj* x_1780; obj* x_1781; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_1731); +x_1778 = lean::cnstr_get(x_1773, 0); +if (lean::is_exclusive(x_1773)) { + x_1780 = x_1773; +} else { + lean::inc(x_1778); + lean::dec(x_1773); + x_1780 = lean::box(0); +} +if (lean::is_scalar(x_1780)) { + x_1781 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1781 = x_1780; +} +lean::cnstr_set(x_1781, 0, x_1778); +return x_1781; +} +else +{ +obj* x_1782; obj* x_1785; obj* x_1787; obj* x_1789; obj* x_1790; obj* x_1791; obj* x_1792; obj* x_1793; +x_1782 = lean::cnstr_get(x_1773, 0); lean::inc(x_1782); -x_1784 = lean::cnstr_get(x_1777, 1); -lean::inc(x_1784); -lean::dec(x_1777); -lean::inc(x_2); -x_1788 = l_lean_elaborator_to__pexpr___main(x_1784, x_1, x_2, x_3); -if (lean::obj_tag(x_1788) == 0) -{ -obj* x_1795; obj* x_1797; obj* x_1798; -lean::dec(x_8); -lean::dec(x_1751); -lean::dec(x_1779); -lean::dec(x_0); -lean::dec(x_1782); -lean::dec(x_2); -x_1795 = lean::cnstr_get(x_1788, 0); -if (lean::is_exclusive(x_1788)) { - x_1797 = x_1788; +lean::dec(x_1773); +x_1785 = lean::cnstr_get(x_1782, 0); +x_1787 = lean::cnstr_get(x_1782, 1); +if (lean::is_exclusive(x_1782)) { + x_1789 = x_1782; } else { - lean::inc(x_1795); - lean::dec(x_1788); - x_1797 = lean::box(0); + lean::inc(x_1785); + lean::inc(x_1787); + lean::dec(x_1782); + x_1789 = lean::box(0); } -if (lean::is_scalar(x_1797)) { - x_1798 = lean::alloc_cnstr(0, 1, 0); +x_1790 = l_lean_elaborator_to__pexpr___main___closed__41; +x_1791 = l_lean_elaborator_expr_mk__annotation(x_1790, x_1731); +x_1792 = lean_expr_mk_app(x_1791, x_1785); +if (lean::is_scalar(x_1789)) { + x_1793 = lean::alloc_cnstr(0, 2, 0); } else { - x_1798 = x_1797; + x_1793 = x_1789; +} +lean::cnstr_set(x_1793, 0, x_1792); +lean::cnstr_set(x_1793, 1, x_1787); +x_15 = x_1793; +goto lbl_16; +} +} +} +} +} } -lean::cnstr_set(x_1798, 0, x_1795); -return x_1798; } else { -obj* x_1799; obj* x_1802; obj* x_1804; obj* x_1807; obj* x_1811; -x_1799 = lean::cnstr_get(x_1788, 0); -lean::inc(x_1799); -lean::dec(x_1788); -x_1802 = lean::cnstr_get(x_1799, 0); +lean::dec(x_8); +lean::dec(x_10); +if (x_20 == 0) +{ +obj* x_1796; +x_1796 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1796) == 0) +{ +obj* x_1799; obj* x_1800; obj* x_1801; +lean::dec(x_2); +x_1799 = l_lean_elaborator_to__pexpr___main___closed__42; +x_1800 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_1800, 0, x_1799); +lean::cnstr_set(x_1800, 1, x_3); +x_1801 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1801, 0, x_1800); +return x_1801; +} +else +{ +obj* x_1802; obj* x_1805; obj* x_1808; obj* x_1811; obj* x_1812; obj* x_1813; obj* x_1815; obj* x_1816; obj* x_1817; obj* x_1820; obj* x_1821; obj* x_1822; obj* x_1823; obj* x_1824; obj* x_1825; +x_1802 = lean::cnstr_get(x_1796, 0); lean::inc(x_1802); -x_1804 = lean::cnstr_get(x_1799, 1); -lean::inc(x_1804); -lean::dec(x_1799); -x_1807 = lean::cnstr_get(x_1751, 3); -lean::inc(x_1807); -lean::dec(x_1751); -lean::inc(x_2); -x_1811 = l_lean_elaborator_to__pexpr___main(x_1807, x_1, x_2, x_1804); -if (lean::obj_tag(x_1811) == 0) -{ -obj* x_1818; obj* x_1820; obj* x_1821; -lean::dec(x_1802); -lean::dec(x_8); -lean::dec(x_1779); -lean::dec(x_0); -lean::dec(x_1782); +lean::dec(x_1796); +x_1805 = lean::cnstr_get(x_2, 0); +lean::inc(x_1805); lean::dec(x_2); -x_1818 = lean::cnstr_get(x_1811, 0); -if (lean::is_exclusive(x_1811)) { - x_1820 = x_1811; -} else { - lean::inc(x_1818); - lean::dec(x_1811); - x_1820 = lean::box(0); -} -if (lean::is_scalar(x_1820)) { - x_1821 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1821 = x_1820; -} -lean::cnstr_set(x_1821, 0, x_1818); -return x_1821; -} -else -{ -obj* x_1822; obj* x_1825; obj* x_1827; obj* x_1829; obj* x_1830; uint8 x_1831; obj* x_1832; obj* x_1833; -x_1822 = lean::cnstr_get(x_1811, 0); -lean::inc(x_1822); +x_1808 = lean::cnstr_get(x_1805, 2); +lean::inc(x_1808); +lean::dec(x_1805); +x_1811 = l_lean_file__map_to__position(x_1808, x_1802); +x_1812 = lean::box(0); +x_1813 = lean::cnstr_get(x_1811, 1); +lean::inc(x_1813); +x_1815 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1816 = l_lean_kvmap_set__nat(x_1812, x_1815, x_1813); +x_1817 = lean::cnstr_get(x_1811, 0); +lean::inc(x_1817); lean::dec(x_1811); -x_1825 = lean::cnstr_get(x_1822, 0); -x_1827 = lean::cnstr_get(x_1822, 1); -if (lean::is_exclusive(x_1822)) { - x_1829 = x_1822; -} else { - lean::inc(x_1825); - lean::inc(x_1827); - lean::dec(x_1822); - x_1829 = lean::box(0); -} -x_1830 = l_lean_elaborator_mangle__ident(x_1782); -x_1831 = lean::unbox(x_1779); -x_1832 = lean_expr_mk_pi(x_1830, x_1831, x_1802, x_1825); -if (lean::is_scalar(x_1829)) { - x_1833 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1833 = x_1829; -} -lean::cnstr_set(x_1833, 0, x_1832); -lean::cnstr_set(x_1833, 1, x_1827); -x_15 = x_1833; -goto lbl_16; -} -} -} +x_1820 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1821 = l_lean_kvmap_set__nat(x_1816, x_1820, x_1817); +x_1822 = l_lean_elaborator_to__pexpr___main___closed__42; +x_1823 = lean_expr_mk_mdata(x_1821, x_1822); +x_1824 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_1824, 0, x_1823); +lean::cnstr_set(x_1824, 1, x_3); +x_1825 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1825, 0, x_1824); +return x_1825; } } else { -obj* x_1835; obj* x_1836; obj* x_1840; obj* x_1841; -lean::dec(x_10); -x_1835 = l_lean_parser_term_lambda_has__view; -x_1836 = lean::cnstr_get(x_1835, 0); -lean::inc(x_1836); -lean::dec(x_1835); -lean::inc(x_0); -x_1840 = lean::apply_1(x_1836, x_0); -x_1841 = lean::cnstr_get(x_1840, 1); -lean::inc(x_1841); -if (lean::obj_tag(x_1841) == 0) -{ -obj* x_1846; obj* x_1847; obj* x_1849; -lean::dec(x_1840); -lean::dec(x_1841); -lean::inc(x_0); -x_1846 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1846, 0, x_0); -x_1847 = l_lean_elaborator_to__pexpr___main___closed__46; -lean::inc(x_2); -x_1849 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_1846, x_1847, x_1, x_2, x_3); -lean::dec(x_3); -lean::dec(x_1846); -if (lean::obj_tag(x_1849) == 0) -{ -obj* x_1855; obj* x_1857; obj* x_1858; -lean::dec(x_8); +obj* x_1828; obj* x_1829; obj* x_1830; lean::dec(x_0); lean::dec(x_2); -x_1855 = lean::cnstr_get(x_1849, 0); -if (lean::is_exclusive(x_1849)) { - x_1857 = x_1849; -} else { - lean::inc(x_1855); - lean::dec(x_1849); - x_1857 = lean::box(0); +x_1828 = l_lean_elaborator_to__pexpr___main___closed__42; +x_1829 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_1829, 0, x_1828); +lean::cnstr_set(x_1829, 1, x_3); +x_1830 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1830, 0, x_1829); +return x_1830; } -if (lean::is_scalar(x_1857)) { - x_1858 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1858 = x_1857; -} -lean::cnstr_set(x_1858, 0, x_1855); -return x_1858; -} -else -{ -obj* x_1859; -x_1859 = lean::cnstr_get(x_1849, 0); -lean::inc(x_1859); -lean::dec(x_1849); -x_15 = x_1859; -goto lbl_16; } } else { -obj* x_1862; obj* x_1865; obj* x_1866; obj* x_1868; obj* x_1871; obj* x_1873; obj* x_1877; -x_1862 = lean::cnstr_get(x_1841, 0); -lean::inc(x_1862); -lean::dec(x_1841); -x_1865 = l_lean_parser_term_simple__binder_view_to__binder__info___main(x_1862); -x_1866 = lean::cnstr_get(x_1865, 1); -lean::inc(x_1866); -x_1868 = lean::cnstr_get(x_1865, 0); +obj* x_1833; obj* x_1834; obj* x_1838; obj* x_1839; obj* x_1842; obj* x_1843; obj* x_1844; obj* x_1846; +lean::dec(x_8); +lean::dec(x_10); +x_1833 = l_lean_parser_term_anonymous__constructor_has__view; +x_1834 = lean::cnstr_get(x_1833, 0); +lean::inc(x_1834); +lean::dec(x_1833); +lean::inc(x_0); +x_1838 = lean::apply_1(x_1834, x_0); +x_1839 = lean::cnstr_get(x_1838, 1); +lean::inc(x_1839); +lean::dec(x_1838); +x_1842 = l_list_map___main___at_lean_elaborator_to__pexpr___main___spec__21(x_1839); +x_1843 = l_lean_expander_get__opt__type___main___closed__1; +x_1844 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_1843, x_1842); +lean::inc(x_2); +x_1846 = l_lean_elaborator_to__pexpr___main(x_1844, x_1, x_2, x_3); +if (lean::obj_tag(x_1846) == 0) +{ +obj* x_1849; obj* x_1851; obj* x_1852; +lean::dec(x_0); +lean::dec(x_2); +x_1849 = lean::cnstr_get(x_1846, 0); +if (lean::is_exclusive(x_1846)) { + x_1851 = x_1846; +} else { + lean::inc(x_1849); + lean::dec(x_1846); + x_1851 = lean::box(0); +} +if (lean::is_scalar(x_1851)) { + x_1852 = lean::alloc_cnstr(0, 1, 0); +} else { + x_1852 = x_1851; +} +lean::cnstr_set(x_1852, 0, x_1849); +return x_1852; +} +else +{ +obj* x_1853; obj* x_1855; obj* x_1856; obj* x_1858; obj* x_1860; obj* x_1861; obj* x_1862; +x_1853 = lean::cnstr_get(x_1846, 0); +if (lean::is_exclusive(x_1846)) { + lean::cnstr_set(x_1846, 0, lean::box(0)); + x_1855 = x_1846; +} else { + lean::inc(x_1853); + lean::dec(x_1846); + x_1855 = lean::box(0); +} +x_1856 = lean::cnstr_get(x_1853, 0); +x_1858 = lean::cnstr_get(x_1853, 1); +if (lean::is_exclusive(x_1853)) { + lean::cnstr_set(x_1853, 0, lean::box(0)); + lean::cnstr_set(x_1853, 1, lean::box(0)); + x_1860 = x_1853; +} else { + lean::inc(x_1856); + lean::inc(x_1858); + lean::dec(x_1853); + x_1860 = lean::box(0); +} +x_1861 = l_lean_elaborator_to__pexpr___main___closed__43; +x_1862 = l_lean_elaborator_expr_mk__annotation(x_1861, x_1856); +if (x_20 == 0) +{ +obj* x_1863; +x_1863 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1863) == 0) +{ +obj* x_1866; obj* x_1867; +lean::dec(x_2); +if (lean::is_scalar(x_1860)) { + x_1866 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1866 = x_1860; +} +lean::cnstr_set(x_1866, 0, x_1862); +lean::cnstr_set(x_1866, 1, x_1858); +if (lean::is_scalar(x_1855)) { + x_1867 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1867 = x_1855; +} +lean::cnstr_set(x_1867, 0, x_1866); +return x_1867; +} +else +{ +obj* x_1868; obj* x_1871; obj* x_1874; obj* x_1877; obj* x_1878; obj* x_1879; obj* x_1881; obj* x_1882; obj* x_1883; obj* x_1886; obj* x_1887; obj* x_1888; obj* x_1889; obj* x_1890; +x_1868 = lean::cnstr_get(x_1863, 0); lean::inc(x_1868); -lean::dec(x_1865); -x_1871 = lean::cnstr_get(x_1866, 0); +lean::dec(x_1863); +x_1871 = lean::cnstr_get(x_2, 0); lean::inc(x_1871); -x_1873 = lean::cnstr_get(x_1866, 1); -lean::inc(x_1873); -lean::dec(x_1866); -lean::inc(x_2); -x_1877 = l_lean_elaborator_to__pexpr___main(x_1873, x_1, x_2, x_3); -if (lean::obj_tag(x_1877) == 0) -{ -obj* x_1884; obj* x_1886; obj* x_1887; -lean::dec(x_8); -lean::dec(x_0); lean::dec(x_2); -lean::dec(x_1840); -lean::dec(x_1868); +x_1874 = lean::cnstr_get(x_1871, 2); +lean::inc(x_1874); lean::dec(x_1871); -x_1884 = lean::cnstr_get(x_1877, 0); -if (lean::is_exclusive(x_1877)) { - x_1886 = x_1877; -} else { - lean::inc(x_1884); - lean::dec(x_1877); - x_1886 = lean::box(0); -} -if (lean::is_scalar(x_1886)) { - x_1887 = lean::alloc_cnstr(0, 1, 0); -} else { - x_1887 = x_1886; -} -lean::cnstr_set(x_1887, 0, x_1884); -return x_1887; -} -else -{ -obj* x_1888; obj* x_1891; obj* x_1893; obj* x_1896; obj* x_1900; -x_1888 = lean::cnstr_get(x_1877, 0); -lean::inc(x_1888); +x_1877 = l_lean_file__map_to__position(x_1874, x_1868); +x_1878 = lean::box(0); +x_1879 = lean::cnstr_get(x_1877, 1); +lean::inc(x_1879); +x_1881 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1882 = l_lean_kvmap_set__nat(x_1878, x_1881, x_1879); +x_1883 = lean::cnstr_get(x_1877, 0); +lean::inc(x_1883); lean::dec(x_1877); -x_1891 = lean::cnstr_get(x_1888, 0); -lean::inc(x_1891); -x_1893 = lean::cnstr_get(x_1888, 1); -lean::inc(x_1893); -lean::dec(x_1888); -x_1896 = lean::cnstr_get(x_1840, 3); -lean::inc(x_1896); -lean::dec(x_1840); -lean::inc(x_2); -x_1900 = l_lean_elaborator_to__pexpr___main(x_1896, x_1, x_2, x_1893); -if (lean::obj_tag(x_1900) == 0) +x_1886 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1887 = l_lean_kvmap_set__nat(x_1882, x_1886, x_1883); +x_1888 = lean_expr_mk_mdata(x_1887, x_1862); +if (lean::is_scalar(x_1860)) { + x_1889 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1889 = x_1860; +} +lean::cnstr_set(x_1889, 0, x_1888); +lean::cnstr_set(x_1889, 1, x_1858); +if (lean::is_scalar(x_1855)) { + x_1890 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1890 = x_1855; +} +lean::cnstr_set(x_1890, 0, x_1889); +return x_1890; +} +} +else { -obj* x_1907; obj* x_1909; obj* x_1910; -lean::dec(x_8); +obj* x_1893; obj* x_1894; lean::dec(x_0); lean::dec(x_2); -lean::dec(x_1868); -lean::dec(x_1871); -lean::dec(x_1891); -x_1907 = lean::cnstr_get(x_1900, 0); -if (lean::is_exclusive(x_1900)) { - x_1909 = x_1900; +if (lean::is_scalar(x_1860)) { + x_1893 = lean::alloc_cnstr(0, 2, 0); } else { - lean::inc(x_1907); - lean::dec(x_1900); - x_1909 = lean::box(0); + x_1893 = x_1860; } -if (lean::is_scalar(x_1909)) { - x_1910 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_1893, 0, x_1862); +lean::cnstr_set(x_1893, 1, x_1858); +if (lean::is_scalar(x_1855)) { + x_1894 = lean::alloc_cnstr(1, 1, 0); } else { - x_1910 = x_1909; -} -lean::cnstr_set(x_1910, 0, x_1907); -return x_1910; -} -else -{ -obj* x_1911; obj* x_1914; obj* x_1916; obj* x_1918; obj* x_1919; uint8 x_1920; obj* x_1921; obj* x_1922; -x_1911 = lean::cnstr_get(x_1900, 0); -lean::inc(x_1911); -lean::dec(x_1900); -x_1914 = lean::cnstr_get(x_1911, 0); -x_1916 = lean::cnstr_get(x_1911, 1); -if (lean::is_exclusive(x_1911)) { - x_1918 = x_1911; -} else { - lean::inc(x_1914); - lean::inc(x_1916); - lean::dec(x_1911); - x_1918 = lean::box(0); -} -x_1919 = l_lean_elaborator_mangle__ident(x_1871); -x_1920 = lean::unbox(x_1868); -x_1921 = lean_expr_mk_lambda(x_1919, x_1920, x_1891, x_1914); -if (lean::is_scalar(x_1918)) { - x_1922 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1922 = x_1918; -} -lean::cnstr_set(x_1922, 0, x_1921); -lean::cnstr_set(x_1922, 1, x_1916); -x_15 = x_1922; -goto lbl_16; + x_1894 = x_1855; } +lean::cnstr_set(x_1894, 0, x_1893); +return x_1894; } } } } else { -obj* x_1924; obj* x_1925; obj* x_1929; obj* x_1930; obj* x_1933; +obj* x_1897; obj* x_1898; obj* x_1902; obj* x_1903; obj* x_1904; obj* x_1907; obj* x_1909; +lean::dec(x_8); lean::dec(x_10); -x_1924 = l_lean_parser_term_app_has__view; -x_1925 = lean::cnstr_get(x_1924, 0); -lean::inc(x_1925); -lean::dec(x_1924); +x_1897 = l_lean_parser_term_sort__app_has__view; +x_1898 = lean::cnstr_get(x_1897, 0); +lean::inc(x_1898); +lean::dec(x_1897); lean::inc(x_0); -x_1929 = lean::apply_1(x_1925, x_0); -x_1930 = lean::cnstr_get(x_1929, 0); -lean::inc(x_1930); -lean::inc(x_2); -x_1933 = l_lean_elaborator_to__pexpr___main(x_1930, x_1, x_2, x_3); -if (lean::obj_tag(x_1933) == 0) +x_1902 = lean::apply_1(x_1898, x_0); +x_1903 = l_lean_parser_term_sort_has__view; +x_1904 = lean::cnstr_get(x_1903, 0); +lean::inc(x_1904); +lean::dec(x_1903); +x_1907 = lean::cnstr_get(x_1902, 0); +lean::inc(x_1907); +x_1909 = lean::apply_1(x_1904, x_1907); +if (lean::obj_tag(x_1909) == 0) { -obj* x_1938; obj* x_1940; obj* x_1941; -lean::dec(x_1929); -lean::dec(x_8); +obj* x_1911; obj* x_1915; +lean::dec(x_1909); +x_1911 = lean::cnstr_get(x_1902, 1); +lean::inc(x_1911); +lean::dec(x_1902); +lean::inc(x_2); +x_1915 = l_lean_elaborator_to__level___main(x_1911, x_1, x_2, x_3); +if (lean::obj_tag(x_1915) == 0) +{ +obj* x_1918; obj* x_1920; obj* x_1921; lean::dec(x_0); lean::dec(x_2); -x_1938 = lean::cnstr_get(x_1933, 0); -if (lean::is_exclusive(x_1933)) { - x_1940 = x_1933; +x_1918 = lean::cnstr_get(x_1915, 0); +if (lean::is_exclusive(x_1915)) { + x_1920 = x_1915; } else { - lean::inc(x_1938); - lean::dec(x_1933); - x_1940 = lean::box(0); + lean::inc(x_1918); + lean::dec(x_1915); + x_1920 = lean::box(0); } -if (lean::is_scalar(x_1940)) { - x_1941 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_1920)) { + x_1921 = lean::alloc_cnstr(0, 1, 0); } else { - x_1941 = x_1940; + x_1921 = x_1920; } -lean::cnstr_set(x_1941, 0, x_1938); -return x_1941; +lean::cnstr_set(x_1921, 0, x_1918); +return x_1921; } else { -obj* x_1942; obj* x_1945; obj* x_1947; obj* x_1950; obj* x_1954; -x_1942 = lean::cnstr_get(x_1933, 0); -lean::inc(x_1942); -lean::dec(x_1933); -x_1945 = lean::cnstr_get(x_1942, 0); -lean::inc(x_1945); -x_1947 = lean::cnstr_get(x_1942, 1); -lean::inc(x_1947); -lean::dec(x_1942); -x_1950 = lean::cnstr_get(x_1929, 1); -lean::inc(x_1950); -lean::dec(x_1929); -lean::inc(x_2); -x_1954 = l_lean_elaborator_to__pexpr___main(x_1950, x_1, x_2, x_1947); -if (lean::obj_tag(x_1954) == 0) +obj* x_1922; obj* x_1924; obj* x_1925; obj* x_1927; obj* x_1929; obj* x_1930; +x_1922 = lean::cnstr_get(x_1915, 0); +if (lean::is_exclusive(x_1915)) { + lean::cnstr_set(x_1915, 0, lean::box(0)); + x_1924 = x_1915; +} else { + lean::inc(x_1922); + lean::dec(x_1915); + x_1924 = lean::box(0); +} +x_1925 = lean::cnstr_get(x_1922, 0); +x_1927 = lean::cnstr_get(x_1922, 1); +if (lean::is_exclusive(x_1922)) { + lean::cnstr_set(x_1922, 0, lean::box(0)); + lean::cnstr_set(x_1922, 1, lean::box(0)); + x_1929 = x_1922; +} else { + lean::inc(x_1925); + lean::inc(x_1927); + lean::dec(x_1922); + x_1929 = lean::box(0); +} +x_1930 = lean_expr_mk_sort(x_1925); +if (x_20 == 0) { -obj* x_1959; obj* x_1961; obj* x_1962; -lean::dec(x_8); +obj* x_1931; +x_1931 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1931) == 0) +{ +obj* x_1934; obj* x_1935; +lean::dec(x_2); +if (lean::is_scalar(x_1929)) { + x_1934 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1934 = x_1929; +} +lean::cnstr_set(x_1934, 0, x_1930); +lean::cnstr_set(x_1934, 1, x_1927); +if (lean::is_scalar(x_1924)) { + x_1935 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1935 = x_1924; +} +lean::cnstr_set(x_1935, 0, x_1934); +return x_1935; +} +else +{ +obj* x_1936; obj* x_1939; obj* x_1942; obj* x_1945; obj* x_1946; obj* x_1947; obj* x_1949; obj* x_1950; obj* x_1951; obj* x_1954; obj* x_1955; obj* x_1956; obj* x_1957; obj* x_1958; +x_1936 = lean::cnstr_get(x_1931, 0); +lean::inc(x_1936); +lean::dec(x_1931); +x_1939 = lean::cnstr_get(x_2, 0); +lean::inc(x_1939); +lean::dec(x_2); +x_1942 = lean::cnstr_get(x_1939, 2); +lean::inc(x_1942); +lean::dec(x_1939); +x_1945 = l_lean_file__map_to__position(x_1942, x_1936); +x_1946 = lean::box(0); +x_1947 = lean::cnstr_get(x_1945, 1); +lean::inc(x_1947); +x_1949 = l_lean_elaborator_to__pexpr___main___closed__3; +x_1950 = l_lean_kvmap_set__nat(x_1946, x_1949, x_1947); +x_1951 = lean::cnstr_get(x_1945, 0); +lean::inc(x_1951); +lean::dec(x_1945); +x_1954 = l_lean_elaborator_to__pexpr___main___closed__4; +x_1955 = l_lean_kvmap_set__nat(x_1950, x_1954, x_1951); +x_1956 = lean_expr_mk_mdata(x_1955, x_1930); +if (lean::is_scalar(x_1929)) { + x_1957 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1957 = x_1929; +} +lean::cnstr_set(x_1957, 0, x_1956); +lean::cnstr_set(x_1957, 1, x_1927); +if (lean::is_scalar(x_1924)) { + x_1958 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1958 = x_1924; +} +lean::cnstr_set(x_1958, 0, x_1957); +return x_1958; +} +} +else +{ +obj* x_1961; obj* x_1962; lean::dec(x_0); lean::dec(x_2); -lean::dec(x_1945); -x_1959 = lean::cnstr_get(x_1954, 0); -if (lean::is_exclusive(x_1954)) { - x_1961 = x_1954; +if (lean::is_scalar(x_1929)) { + x_1961 = lean::alloc_cnstr(0, 2, 0); } else { - lean::inc(x_1959); - lean::dec(x_1954); - x_1961 = lean::box(0); + x_1961 = x_1929; } -if (lean::is_scalar(x_1961)) { - x_1962 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_1961, 0, x_1930); +lean::cnstr_set(x_1961, 1, x_1927); +if (lean::is_scalar(x_1924)) { + x_1962 = lean::alloc_cnstr(1, 1, 0); } else { - x_1962 = x_1961; + x_1962 = x_1924; } -lean::cnstr_set(x_1962, 0, x_1959); +lean::cnstr_set(x_1962, 0, x_1961); return x_1962; } -else -{ -obj* x_1963; obj* x_1966; obj* x_1968; obj* x_1970; obj* x_1971; obj* x_1972; -x_1963 = lean::cnstr_get(x_1954, 0); -lean::inc(x_1963); -lean::dec(x_1954); -x_1966 = lean::cnstr_get(x_1963, 0); -x_1968 = lean::cnstr_get(x_1963, 1); -if (lean::is_exclusive(x_1963)) { - x_1970 = x_1963; -} else { - lean::inc(x_1966); - lean::inc(x_1968); - lean::dec(x_1963); - x_1970 = lean::box(0); -} -x_1971 = lean_expr_mk_app(x_1945, x_1966); -if (lean::is_scalar(x_1970)) { - x_1972 = lean::alloc_cnstr(0, 2, 0); -} else { - x_1972 = x_1970; -} -lean::cnstr_set(x_1972, 0, x_1971); -lean::cnstr_set(x_1972, 1, x_1968); -x_15 = x_1972; -goto lbl_16; -} -} } } else { -obj* x_1974; obj* x_1975; obj* x_1979; obj* x_1980; -lean::dec(x_10); -x_1974 = l_lean_parser_ident__univs_has__view; -x_1975 = lean::cnstr_get(x_1974, 0); -lean::inc(x_1975); -lean::dec(x_1974); -lean::inc(x_0); -x_1979 = lean::apply_1(x_1975, x_0); -x_1980 = lean::cnstr_get(x_1979, 1); -lean::inc(x_1980); -if (lean::obj_tag(x_1980) == 0) -{ -obj* x_1982; obj* x_1986; obj* x_1987; obj* x_1988; obj* x_1989; obj* x_1992; obj* x_1993; obj* x_1994; obj* x_1995; obj* x_1996; obj* x_1997; uint8 x_1998; -x_1982 = lean::cnstr_get(x_1979, 0); -lean::inc(x_1982); -lean::dec(x_1979); -lean::inc(x_1982); -x_1986 = l_lean_elaborator_mangle__ident(x_1982); -x_1987 = lean::box(0); -x_1988 = lean_expr_mk_const(x_1986, x_1987); -x_1989 = lean::cnstr_get(x_1982, 3); -lean::inc(x_1989); -lean::dec(x_1982); -x_1992 = lean::mk_nat_obj(0u); -x_1993 = l_list_enum__from___main___rarg(x_1992, x_1989); -x_1994 = l_lean_elaborator_to__pexpr___main___closed__47; -x_1995 = l_list_foldl___main___at_lean_elaborator_to__pexpr___main___spec__22(x_1994, x_1993); -x_1996 = lean_expr_mk_mdata(x_1995, x_1988); -x_1997 = l_lean_elaborator_to__pexpr___main___closed__2; -x_1998 = lean_name_dec_eq(x_8, x_1997); -lean::dec(x_8); -if (x_1998 == 0) -{ -obj* x_2000; -x_2000 = l_lean_parser_syntax_get__pos(x_0); -lean::dec(x_0); -if (lean::obj_tag(x_2000) == 0) -{ -obj* x_2003; obj* x_2004; -lean::dec(x_2); -x_2003 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_2003, 0, x_1996); -lean::cnstr_set(x_2003, 1, x_3); -x_2004 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2004, 0, x_2003); -return x_2004; -} -else -{ -obj* x_2005; obj* x_2008; obj* x_2011; obj* x_2014; obj* x_2015; obj* x_2017; obj* x_2018; obj* x_2019; obj* x_2022; obj* x_2023; obj* x_2024; obj* x_2025; obj* x_2026; -x_2005 = lean::cnstr_get(x_2000, 0); -lean::inc(x_2005); -lean::dec(x_2000); -x_2008 = lean::cnstr_get(x_2, 0); -lean::inc(x_2008); -lean::dec(x_2); -x_2011 = lean::cnstr_get(x_2008, 2); -lean::inc(x_2011); -lean::dec(x_2008); -x_2014 = l_lean_file__map_to__position(x_2011, x_2005); -x_2015 = lean::cnstr_get(x_2014, 1); -lean::inc(x_2015); -x_2017 = l_lean_elaborator_to__pexpr___main___closed__3; -x_2018 = l_lean_kvmap_set__nat(x_1987, x_2017, x_2015); -x_2019 = lean::cnstr_get(x_2014, 0); -lean::inc(x_2019); -lean::dec(x_2014); -x_2022 = l_lean_elaborator_to__pexpr___main___closed__4; -x_2023 = l_lean_kvmap_set__nat(x_2018, x_2022, x_2019); -x_2024 = lean_expr_mk_mdata(x_2023, x_1996); -x_2025 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_2025, 0, x_2024); -lean::cnstr_set(x_2025, 1, x_3); -x_2026 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2026, 0, x_2025); -return x_2026; -} -} -else -{ -obj* x_2029; obj* x_2030; -lean::dec(x_0); -lean::dec(x_2); -x_2029 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_2029, 0, x_1996); -lean::cnstr_set(x_2029, 1, x_3); -x_2030 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2030, 0, x_2029); -return x_2030; -} -} -else -{ -obj* x_2031; obj* x_2034; obj* x_2037; obj* x_2041; -x_2031 = lean::cnstr_get(x_1979, 0); -lean::inc(x_2031); -lean::dec(x_1979); -x_2034 = lean::cnstr_get(x_1980, 0); -lean::inc(x_2034); -lean::dec(x_1980); -x_2037 = lean::cnstr_get(x_2034, 1); -lean::inc(x_2037); -lean::dec(x_2034); +obj* x_1964; obj* x_1968; +lean::dec(x_1909); +x_1964 = lean::cnstr_get(x_1902, 1); +lean::inc(x_1964); +lean::dec(x_1902); lean::inc(x_2); -x_2041 = l_list_mmap___main___at_lean_elaborator_to__pexpr___main___spec__23(x_2037, x_1, x_2, x_3); -if (lean::obj_tag(x_2041) == 0) +x_1968 = l_lean_elaborator_to__level___main(x_1964, x_1, x_2, x_3); +if (lean::obj_tag(x_1968) == 0) { -obj* x_2046; obj* x_2048; obj* x_2049; -lean::dec(x_8); -lean::dec(x_2031); +obj* x_1971; obj* x_1973; obj* x_1974; lean::dec(x_0); lean::dec(x_2); -x_2046 = lean::cnstr_get(x_2041, 0); -if (lean::is_exclusive(x_2041)) { - x_2048 = x_2041; +x_1971 = lean::cnstr_get(x_1968, 0); +if (lean::is_exclusive(x_1968)) { + x_1973 = x_1968; } else { - lean::inc(x_2046); - lean::dec(x_2041); - x_2048 = lean::box(0); + lean::inc(x_1971); + lean::dec(x_1968); + x_1973 = lean::box(0); } -if (lean::is_scalar(x_2048)) { - x_2049 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_1973)) { + x_1974 = lean::alloc_cnstr(0, 1, 0); } else { - x_2049 = x_2048; + x_1974 = x_1973; } -lean::cnstr_set(x_2049, 0, x_2046); -return x_2049; +lean::cnstr_set(x_1974, 0, x_1971); +return x_1974; } else { -obj* x_2050; obj* x_2053; obj* x_2055; obj* x_2057; obj* x_2059; obj* x_2060; obj* x_2061; obj* x_2064; obj* x_2065; obj* x_2066; obj* x_2067; obj* x_2068; obj* x_2069; -x_2050 = lean::cnstr_get(x_2041, 0); -lean::inc(x_2050); +obj* x_1975; obj* x_1977; obj* x_1978; obj* x_1980; obj* x_1982; obj* x_1983; obj* x_1984; +x_1975 = lean::cnstr_get(x_1968, 0); +if (lean::is_exclusive(x_1968)) { + lean::cnstr_set(x_1968, 0, lean::box(0)); + x_1977 = x_1968; +} else { + lean::inc(x_1975); + lean::dec(x_1968); + x_1977 = lean::box(0); +} +x_1978 = lean::cnstr_get(x_1975, 0); +x_1980 = lean::cnstr_get(x_1975, 1); +if (lean::is_exclusive(x_1975)) { + lean::cnstr_set(x_1975, 0, lean::box(0)); + lean::cnstr_set(x_1975, 1, lean::box(0)); + x_1982 = x_1975; +} else { + lean::inc(x_1978); + lean::inc(x_1980); + lean::dec(x_1975); + x_1982 = lean::box(0); +} +x_1983 = level_mk_succ(x_1978); +x_1984 = lean_expr_mk_sort(x_1983); +if (x_20 == 0) +{ +obj* x_1985; +x_1985 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_1985) == 0) +{ +obj* x_1988; obj* x_1989; +lean::dec(x_2); +if (lean::is_scalar(x_1982)) { + x_1988 = lean::alloc_cnstr(0, 2, 0); +} else { + x_1988 = x_1982; +} +lean::cnstr_set(x_1988, 0, x_1984); +lean::cnstr_set(x_1988, 1, x_1980); +if (lean::is_scalar(x_1977)) { + x_1989 = lean::alloc_cnstr(1, 1, 0); +} else { + x_1989 = x_1977; +} +lean::cnstr_set(x_1989, 0, x_1988); +return x_1989; +} +else +{ +obj* x_1990; obj* x_1993; obj* x_1996; obj* x_1999; obj* x_2000; obj* x_2001; obj* x_2003; obj* x_2004; obj* x_2005; obj* x_2008; obj* x_2009; obj* x_2010; obj* x_2011; obj* x_2012; +x_1990 = lean::cnstr_get(x_1985, 0); +lean::inc(x_1990); +lean::dec(x_1985); +x_1993 = lean::cnstr_get(x_2, 0); +lean::inc(x_1993); +lean::dec(x_2); +x_1996 = lean::cnstr_get(x_1993, 2); +lean::inc(x_1996); +lean::dec(x_1993); +x_1999 = l_lean_file__map_to__position(x_1996, x_1990); +x_2000 = lean::box(0); +x_2001 = lean::cnstr_get(x_1999, 1); +lean::inc(x_2001); +x_2003 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2004 = l_lean_kvmap_set__nat(x_2000, x_2003, x_2001); +x_2005 = lean::cnstr_get(x_1999, 0); +lean::inc(x_2005); +lean::dec(x_1999); +x_2008 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2009 = l_lean_kvmap_set__nat(x_2004, x_2008, x_2005); +x_2010 = lean_expr_mk_mdata(x_2009, x_1984); +if (lean::is_scalar(x_1982)) { + x_2011 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2011 = x_1982; +} +lean::cnstr_set(x_2011, 0, x_2010); +lean::cnstr_set(x_2011, 1, x_1980); +if (lean::is_scalar(x_1977)) { + x_2012 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2012 = x_1977; +} +lean::cnstr_set(x_2012, 0, x_2011); +return x_2012; +} +} +else +{ +obj* x_2015; obj* x_2016; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_1982)) { + x_2015 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2015 = x_1982; +} +lean::cnstr_set(x_2015, 0, x_1984); +lean::cnstr_set(x_2015, 1, x_1980); +if (lean::is_scalar(x_1977)) { + x_2016 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2016 = x_1977; +} +lean::cnstr_set(x_2016, 0, x_2015); +return x_2016; +} +} +} +} +} +else +{ +obj* x_2019; obj* x_2020; obj* x_2024; +lean::dec(x_8); +lean::dec(x_10); +x_2019 = l_lean_parser_term_sort_has__view; +x_2020 = lean::cnstr_get(x_2019, 0); +lean::inc(x_2020); +lean::dec(x_2019); +lean::inc(x_0); +x_2024 = lean::apply_1(x_2020, x_0); +if (lean::obj_tag(x_2024) == 0) +{ +lean::dec(x_2024); +if (x_20 == 0) +{ +obj* x_2026; +x_2026 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_2026) == 0) +{ +obj* x_2029; obj* x_2030; obj* x_2031; +lean::dec(x_2); +x_2029 = l_lean_elaborator_to__pexpr___main___closed__25; +x_2030 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2030, 0, x_2029); +lean::cnstr_set(x_2030, 1, x_3); +x_2031 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2031, 0, x_2030); +return x_2031; +} +else +{ +obj* x_2032; obj* x_2035; obj* x_2038; obj* x_2041; obj* x_2042; obj* x_2043; obj* x_2045; obj* x_2046; obj* x_2047; obj* x_2050; obj* x_2051; obj* x_2052; obj* x_2053; obj* x_2054; obj* x_2055; +x_2032 = lean::cnstr_get(x_2026, 0); +lean::inc(x_2032); +lean::dec(x_2026); +x_2035 = lean::cnstr_get(x_2, 0); +lean::inc(x_2035); +lean::dec(x_2); +x_2038 = lean::cnstr_get(x_2035, 2); +lean::inc(x_2038); +lean::dec(x_2035); +x_2041 = l_lean_file__map_to__position(x_2038, x_2032); +x_2042 = lean::box(0); +x_2043 = lean::cnstr_get(x_2041, 1); +lean::inc(x_2043); +x_2045 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2046 = l_lean_kvmap_set__nat(x_2042, x_2045, x_2043); +x_2047 = lean::cnstr_get(x_2041, 0); +lean::inc(x_2047); lean::dec(x_2041); -x_2053 = lean::cnstr_get(x_2050, 0); -x_2055 = lean::cnstr_get(x_2050, 1); -if (lean::is_exclusive(x_2050)) { - x_2057 = x_2050; -} else { - lean::inc(x_2053); - lean::inc(x_2055); - lean::dec(x_2050); - x_2057 = lean::box(0); +x_2050 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2051 = l_lean_kvmap_set__nat(x_2046, x_2050, x_2047); +x_2052 = l_lean_elaborator_to__pexpr___main___closed__25; +x_2053 = lean_expr_mk_mdata(x_2051, x_2052); +x_2054 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2054, 0, x_2053); +lean::cnstr_set(x_2054, 1, x_3); +x_2055 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2055, 0, x_2054); +return x_2055; } -lean::inc(x_2031); -x_2059 = l_lean_elaborator_mangle__ident(x_2031); -x_2060 = lean_expr_mk_const(x_2059, x_2053); -x_2061 = lean::cnstr_get(x_2031, 3); -lean::inc(x_2061); -lean::dec(x_2031); -x_2064 = lean::mk_nat_obj(0u); -x_2065 = l_list_enum__from___main___rarg(x_2064, x_2061); -x_2066 = l_lean_elaborator_to__pexpr___main___closed__47; -x_2067 = l_list_foldl___main___at_lean_elaborator_to__pexpr___main___spec__24(x_2066, x_2065); -x_2068 = lean_expr_mk_mdata(x_2067, x_2060); -if (lean::is_scalar(x_2057)) { - x_2069 = lean::alloc_cnstr(0, 2, 0); -} else { - x_2069 = x_2057; } -lean::cnstr_set(x_2069, 0, x_2068); -lean::cnstr_set(x_2069, 1, x_2055); -x_15 = x_2069; +else +{ +obj* x_2058; obj* x_2059; obj* x_2060; +lean::dec(x_0); +lean::dec(x_2); +x_2058 = l_lean_elaborator_to__pexpr___main___closed__25; +x_2059 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2059, 0, x_2058); +lean::cnstr_set(x_2059, 1, x_3); +x_2060 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2060, 0, x_2059); +return x_2060; +} +} +else +{ +lean::dec(x_2024); +if (x_20 == 0) +{ +obj* x_2062; +x_2062 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_2062) == 0) +{ +obj* x_2065; obj* x_2066; obj* x_2067; +lean::dec(x_2); +x_2065 = l_lean_elaborator_to__pexpr___main___closed__44; +x_2066 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2066, 0, x_2065); +lean::cnstr_set(x_2066, 1, x_3); +x_2067 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2067, 0, x_2066); +return x_2067; +} +else +{ +obj* x_2068; obj* x_2071; obj* x_2074; obj* x_2077; obj* x_2078; obj* x_2079; obj* x_2081; obj* x_2082; obj* x_2083; obj* x_2086; obj* x_2087; obj* x_2088; obj* x_2089; obj* x_2090; obj* x_2091; +x_2068 = lean::cnstr_get(x_2062, 0); +lean::inc(x_2068); +lean::dec(x_2062); +x_2071 = lean::cnstr_get(x_2, 0); +lean::inc(x_2071); +lean::dec(x_2); +x_2074 = lean::cnstr_get(x_2071, 2); +lean::inc(x_2074); +lean::dec(x_2071); +x_2077 = l_lean_file__map_to__position(x_2074, x_2068); +x_2078 = lean::box(0); +x_2079 = lean::cnstr_get(x_2077, 1); +lean::inc(x_2079); +x_2081 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2082 = l_lean_kvmap_set__nat(x_2078, x_2081, x_2079); +x_2083 = lean::cnstr_get(x_2077, 0); +lean::inc(x_2083); +lean::dec(x_2077); +x_2086 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2087 = l_lean_kvmap_set__nat(x_2082, x_2086, x_2083); +x_2088 = l_lean_elaborator_to__pexpr___main___closed__44; +x_2089 = lean_expr_mk_mdata(x_2087, x_2088); +x_2090 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2090, 0, x_2089); +lean::cnstr_set(x_2090, 1, x_3); +x_2091 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2091, 0, x_2090); +return x_2091; +} +} +else +{ +obj* x_2094; obj* x_2095; obj* x_2096; +lean::dec(x_0); +lean::dec(x_2); +x_2094 = l_lean_elaborator_to__pexpr___main___closed__44; +x_2095 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2095, 0, x_2094); +lean::cnstr_set(x_2095, 1, x_3); +x_2096 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2096, 0, x_2095); +return x_2096; +} +} +} +} +else +{ +obj* x_2098; obj* x_2099; obj* x_2103; obj* x_2104; +lean::dec(x_10); +x_2098 = l_lean_parser_term_pi_has__view; +x_2099 = lean::cnstr_get(x_2098, 0); +lean::inc(x_2099); +lean::dec(x_2098); +lean::inc(x_0); +x_2103 = lean::apply_1(x_2099, x_0); +x_2104 = lean::cnstr_get(x_2103, 1); +lean::inc(x_2104); +if (lean::obj_tag(x_2104) == 0) +{ +obj* x_2109; obj* x_2110; obj* x_2112; +lean::dec(x_2104); +lean::dec(x_2103); +lean::inc(x_0); +x_2109 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2109, 0, x_0); +x_2110 = l_lean_elaborator_to__pexpr___main___closed__45; +lean::inc(x_2); +x_2112 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_2109, x_2110, x_1, x_2, x_3); +lean::dec(x_3); +lean::dec(x_2109); +if (lean::obj_tag(x_2112) == 0) +{ +obj* x_2118; obj* x_2120; obj* x_2121; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +x_2118 = lean::cnstr_get(x_2112, 0); +if (lean::is_exclusive(x_2112)) { + x_2120 = x_2112; +} else { + lean::inc(x_2118); + lean::dec(x_2112); + x_2120 = lean::box(0); +} +if (lean::is_scalar(x_2120)) { + x_2121 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2121 = x_2120; +} +lean::cnstr_set(x_2121, 0, x_2118); +return x_2121; +} +else +{ +obj* x_2122; +x_2122 = lean::cnstr_get(x_2112, 0); +lean::inc(x_2122); +lean::dec(x_2112); +x_15 = x_2122; goto lbl_16; } } +else +{ +obj* x_2125; obj* x_2128; obj* x_2129; obj* x_2131; obj* x_2134; obj* x_2136; obj* x_2140; +x_2125 = lean::cnstr_get(x_2104, 0); +lean::inc(x_2125); +lean::dec(x_2104); +x_2128 = l_lean_parser_term_simple__binder_view_to__binder__info___main(x_2125); +x_2129 = lean::cnstr_get(x_2128, 1); +lean::inc(x_2129); +x_2131 = lean::cnstr_get(x_2128, 0); +lean::inc(x_2131); +lean::dec(x_2128); +x_2134 = lean::cnstr_get(x_2129, 0); +lean::inc(x_2134); +x_2136 = lean::cnstr_get(x_2129, 1); +lean::inc(x_2136); +lean::dec(x_2129); +lean::inc(x_2); +x_2140 = l_lean_elaborator_to__pexpr___main(x_2136, x_1, x_2, x_3); +if (lean::obj_tag(x_2140) == 0) +{ +obj* x_2147; obj* x_2149; obj* x_2150; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_2134); +lean::dec(x_2131); +lean::dec(x_2103); +x_2147 = lean::cnstr_get(x_2140, 0); +if (lean::is_exclusive(x_2140)) { + x_2149 = x_2140; +} else { + lean::inc(x_2147); + lean::dec(x_2140); + x_2149 = lean::box(0); +} +if (lean::is_scalar(x_2149)) { + x_2150 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2150 = x_2149; +} +lean::cnstr_set(x_2150, 0, x_2147); +return x_2150; +} +else +{ +obj* x_2151; obj* x_2154; obj* x_2156; obj* x_2159; obj* x_2163; +x_2151 = lean::cnstr_get(x_2140, 0); +lean::inc(x_2151); +lean::dec(x_2140); +x_2154 = lean::cnstr_get(x_2151, 0); +lean::inc(x_2154); +x_2156 = lean::cnstr_get(x_2151, 1); +lean::inc(x_2156); +lean::dec(x_2151); +x_2159 = lean::cnstr_get(x_2103, 3); +lean::inc(x_2159); +lean::dec(x_2103); +lean::inc(x_2); +x_2163 = l_lean_elaborator_to__pexpr___main(x_2159, x_1, x_2, x_2156); +if (lean::obj_tag(x_2163) == 0) +{ +obj* x_2170; obj* x_2172; obj* x_2173; +lean::dec(x_2154); +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_2134); +lean::dec(x_2131); +x_2170 = lean::cnstr_get(x_2163, 0); +if (lean::is_exclusive(x_2163)) { + x_2172 = x_2163; +} else { + lean::inc(x_2170); + lean::dec(x_2163); + x_2172 = lean::box(0); +} +if (lean::is_scalar(x_2172)) { + x_2173 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2173 = x_2172; +} +lean::cnstr_set(x_2173, 0, x_2170); +return x_2173; +} +else +{ +obj* x_2174; obj* x_2177; obj* x_2179; obj* x_2181; obj* x_2182; uint8 x_2183; obj* x_2184; obj* x_2185; +x_2174 = lean::cnstr_get(x_2163, 0); +lean::inc(x_2174); +lean::dec(x_2163); +x_2177 = lean::cnstr_get(x_2174, 0); +x_2179 = lean::cnstr_get(x_2174, 1); +if (lean::is_exclusive(x_2174)) { + x_2181 = x_2174; +} else { + lean::inc(x_2177); + lean::inc(x_2179); + lean::dec(x_2174); + x_2181 = lean::box(0); +} +x_2182 = l_lean_elaborator_mangle__ident(x_2134); +x_2183 = lean::unbox(x_2131); +x_2184 = lean_expr_mk_pi(x_2182, x_2183, x_2154, x_2177); +if (lean::is_scalar(x_2181)) { + x_2185 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2185 = x_2181; +} +lean::cnstr_set(x_2185, 0, x_2184); +lean::cnstr_set(x_2185, 1, x_2179); +x_15 = x_2185; +goto lbl_16; +} +} +} +} +} +else +{ +obj* x_2187; obj* x_2188; obj* x_2192; obj* x_2193; +lean::dec(x_10); +x_2187 = l_lean_parser_term_lambda_has__view; +x_2188 = lean::cnstr_get(x_2187, 0); +lean::inc(x_2188); +lean::dec(x_2187); +lean::inc(x_0); +x_2192 = lean::apply_1(x_2188, x_0); +x_2193 = lean::cnstr_get(x_2192, 1); +lean::inc(x_2193); +if (lean::obj_tag(x_2193) == 0) +{ +obj* x_2198; obj* x_2199; obj* x_2201; +lean::dec(x_2192); +lean::dec(x_2193); +lean::inc(x_0); +x_2198 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2198, 0, x_0); +x_2199 = l_lean_elaborator_to__pexpr___main___closed__46; +lean::inc(x_2); +x_2201 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_2198, x_2199, x_1, x_2, x_3); +lean::dec(x_3); +lean::dec(x_2198); +if (lean::obj_tag(x_2201) == 0) +{ +obj* x_2207; obj* x_2209; obj* x_2210; +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +x_2207 = lean::cnstr_get(x_2201, 0); +if (lean::is_exclusive(x_2201)) { + x_2209 = x_2201; +} else { + lean::inc(x_2207); + lean::dec(x_2201); + x_2209 = lean::box(0); +} +if (lean::is_scalar(x_2209)) { + x_2210 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2210 = x_2209; +} +lean::cnstr_set(x_2210, 0, x_2207); +return x_2210; +} +else +{ +obj* x_2211; +x_2211 = lean::cnstr_get(x_2201, 0); +lean::inc(x_2211); +lean::dec(x_2201); +x_15 = x_2211; +goto lbl_16; +} +} +else +{ +obj* x_2214; obj* x_2217; obj* x_2218; obj* x_2220; obj* x_2223; obj* x_2225; obj* x_2229; +x_2214 = lean::cnstr_get(x_2193, 0); +lean::inc(x_2214); +lean::dec(x_2193); +x_2217 = l_lean_parser_term_simple__binder_view_to__binder__info___main(x_2214); +x_2218 = lean::cnstr_get(x_2217, 1); +lean::inc(x_2218); +x_2220 = lean::cnstr_get(x_2217, 0); +lean::inc(x_2220); +lean::dec(x_2217); +x_2223 = lean::cnstr_get(x_2218, 0); +lean::inc(x_2223); +x_2225 = lean::cnstr_get(x_2218, 1); +lean::inc(x_2225); +lean::dec(x_2218); +lean::inc(x_2); +x_2229 = l_lean_elaborator_to__pexpr___main(x_2225, x_1, x_2, x_3); +if (lean::obj_tag(x_2229) == 0) +{ +obj* x_2236; obj* x_2238; obj* x_2239; +lean::dec(x_2192); +lean::dec(x_2223); +lean::dec(x_2220); +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +x_2236 = lean::cnstr_get(x_2229, 0); +if (lean::is_exclusive(x_2229)) { + x_2238 = x_2229; +} else { + lean::inc(x_2236); + lean::dec(x_2229); + x_2238 = lean::box(0); +} +if (lean::is_scalar(x_2238)) { + x_2239 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2239 = x_2238; +} +lean::cnstr_set(x_2239, 0, x_2236); +return x_2239; +} +else +{ +obj* x_2240; obj* x_2243; obj* x_2245; obj* x_2248; obj* x_2252; +x_2240 = lean::cnstr_get(x_2229, 0); +lean::inc(x_2240); +lean::dec(x_2229); +x_2243 = lean::cnstr_get(x_2240, 0); +lean::inc(x_2243); +x_2245 = lean::cnstr_get(x_2240, 1); +lean::inc(x_2245); +lean::dec(x_2240); +x_2248 = lean::cnstr_get(x_2192, 3); +lean::inc(x_2248); +lean::dec(x_2192); +lean::inc(x_2); +x_2252 = l_lean_elaborator_to__pexpr___main(x_2248, x_1, x_2, x_2245); +if (lean::obj_tag(x_2252) == 0) +{ +obj* x_2259; obj* x_2261; obj* x_2262; +lean::dec(x_2223); +lean::dec(x_2220); +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_2243); +x_2259 = lean::cnstr_get(x_2252, 0); +if (lean::is_exclusive(x_2252)) { + x_2261 = x_2252; +} else { + lean::inc(x_2259); + lean::dec(x_2252); + x_2261 = lean::box(0); +} +if (lean::is_scalar(x_2261)) { + x_2262 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2262 = x_2261; +} +lean::cnstr_set(x_2262, 0, x_2259); +return x_2262; +} +else +{ +obj* x_2263; obj* x_2266; obj* x_2268; obj* x_2270; obj* x_2271; uint8 x_2272; obj* x_2273; obj* x_2274; +x_2263 = lean::cnstr_get(x_2252, 0); +lean::inc(x_2263); +lean::dec(x_2252); +x_2266 = lean::cnstr_get(x_2263, 0); +x_2268 = lean::cnstr_get(x_2263, 1); +if (lean::is_exclusive(x_2263)) { + x_2270 = x_2263; +} else { + lean::inc(x_2266); + lean::inc(x_2268); + lean::dec(x_2263); + x_2270 = lean::box(0); +} +x_2271 = l_lean_elaborator_mangle__ident(x_2223); +x_2272 = lean::unbox(x_2220); +x_2273 = lean_expr_mk_lambda(x_2271, x_2272, x_2243, x_2266); +if (lean::is_scalar(x_2270)) { + x_2274 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2274 = x_2270; +} +lean::cnstr_set(x_2274, 0, x_2273); +lean::cnstr_set(x_2274, 1, x_2268); +x_15 = x_2274; +goto lbl_16; +} +} +} +} +} +else +{ +obj* x_2277; obj* x_2278; obj* x_2282; obj* x_2283; obj* x_2286; +lean::dec(x_8); +lean::dec(x_10); +x_2277 = l_lean_parser_term_app_has__view; +x_2278 = lean::cnstr_get(x_2277, 0); +lean::inc(x_2278); +lean::dec(x_2277); +lean::inc(x_0); +x_2282 = lean::apply_1(x_2278, x_0); +x_2283 = lean::cnstr_get(x_2282, 0); +lean::inc(x_2283); +lean::inc(x_2); +x_2286 = l_lean_elaborator_to__pexpr___main(x_2283, x_1, x_2, x_3); +if (lean::obj_tag(x_2286) == 0) +{ +obj* x_2290; obj* x_2292; obj* x_2293; +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_2282); +x_2290 = lean::cnstr_get(x_2286, 0); +if (lean::is_exclusive(x_2286)) { + x_2292 = x_2286; +} else { + lean::inc(x_2290); + lean::dec(x_2286); + x_2292 = lean::box(0); +} +if (lean::is_scalar(x_2292)) { + x_2293 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2293 = x_2292; +} +lean::cnstr_set(x_2293, 0, x_2290); +return x_2293; +} +else +{ +obj* x_2294; obj* x_2297; obj* x_2299; obj* x_2302; obj* x_2306; +x_2294 = lean::cnstr_get(x_2286, 0); +lean::inc(x_2294); +lean::dec(x_2286); +x_2297 = lean::cnstr_get(x_2294, 0); +lean::inc(x_2297); +x_2299 = lean::cnstr_get(x_2294, 1); +lean::inc(x_2299); +lean::dec(x_2294); +x_2302 = lean::cnstr_get(x_2282, 1); +lean::inc(x_2302); +lean::dec(x_2282); +lean::inc(x_2); +x_2306 = l_lean_elaborator_to__pexpr___main(x_2302, x_1, x_2, x_2299); +if (lean::obj_tag(x_2306) == 0) +{ +obj* x_2310; obj* x_2312; obj* x_2313; +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_2297); +x_2310 = lean::cnstr_get(x_2306, 0); +if (lean::is_exclusive(x_2306)) { + x_2312 = x_2306; +} else { + lean::inc(x_2310); + lean::dec(x_2306); + x_2312 = lean::box(0); +} +if (lean::is_scalar(x_2312)) { + x_2313 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2313 = x_2312; +} +lean::cnstr_set(x_2313, 0, x_2310); +return x_2313; +} +else +{ +obj* x_2314; obj* x_2316; obj* x_2317; obj* x_2319; obj* x_2321; obj* x_2322; +x_2314 = lean::cnstr_get(x_2306, 0); +if (lean::is_exclusive(x_2306)) { + lean::cnstr_set(x_2306, 0, lean::box(0)); + x_2316 = x_2306; +} else { + lean::inc(x_2314); + lean::dec(x_2306); + x_2316 = lean::box(0); +} +x_2317 = lean::cnstr_get(x_2314, 0); +x_2319 = lean::cnstr_get(x_2314, 1); +if (lean::is_exclusive(x_2314)) { + lean::cnstr_set(x_2314, 0, lean::box(0)); + lean::cnstr_set(x_2314, 1, lean::box(0)); + x_2321 = x_2314; +} else { + lean::inc(x_2317); + lean::inc(x_2319); + lean::dec(x_2314); + x_2321 = lean::box(0); +} +x_2322 = lean_expr_mk_app(x_2297, x_2317); +if (x_20 == 0) +{ +obj* x_2323; +x_2323 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_2323) == 0) +{ +obj* x_2326; obj* x_2327; +lean::dec(x_2); +if (lean::is_scalar(x_2321)) { + x_2326 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2326 = x_2321; +} +lean::cnstr_set(x_2326, 0, x_2322); +lean::cnstr_set(x_2326, 1, x_2319); +if (lean::is_scalar(x_2316)) { + x_2327 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2327 = x_2316; +} +lean::cnstr_set(x_2327, 0, x_2326); +return x_2327; +} +else +{ +obj* x_2328; obj* x_2331; obj* x_2334; obj* x_2337; obj* x_2338; obj* x_2339; obj* x_2341; obj* x_2342; obj* x_2343; obj* x_2346; obj* x_2347; obj* x_2348; obj* x_2349; obj* x_2350; +x_2328 = lean::cnstr_get(x_2323, 0); +lean::inc(x_2328); +lean::dec(x_2323); +x_2331 = lean::cnstr_get(x_2, 0); +lean::inc(x_2331); +lean::dec(x_2); +x_2334 = lean::cnstr_get(x_2331, 2); +lean::inc(x_2334); +lean::dec(x_2331); +x_2337 = l_lean_file__map_to__position(x_2334, x_2328); +x_2338 = lean::box(0); +x_2339 = lean::cnstr_get(x_2337, 1); +lean::inc(x_2339); +x_2341 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2342 = l_lean_kvmap_set__nat(x_2338, x_2341, x_2339); +x_2343 = lean::cnstr_get(x_2337, 0); +lean::inc(x_2343); +lean::dec(x_2337); +x_2346 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2347 = l_lean_kvmap_set__nat(x_2342, x_2346, x_2343); +x_2348 = lean_expr_mk_mdata(x_2347, x_2322); +if (lean::is_scalar(x_2321)) { + x_2349 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2349 = x_2321; +} +lean::cnstr_set(x_2349, 0, x_2348); +lean::cnstr_set(x_2349, 1, x_2319); +if (lean::is_scalar(x_2316)) { + x_2350 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2350 = x_2316; +} +lean::cnstr_set(x_2350, 0, x_2349); +return x_2350; +} +} +else +{ +obj* x_2353; obj* x_2354; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_2321)) { + x_2353 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2353 = x_2321; +} +lean::cnstr_set(x_2353, 0, x_2322); +lean::cnstr_set(x_2353, 1, x_2319); +if (lean::is_scalar(x_2316)) { + x_2354 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2354 = x_2316; +} +lean::cnstr_set(x_2354, 0, x_2353); +return x_2354; +} +} +} +} +} +else +{ +obj* x_2356; obj* x_2357; obj* x_2361; obj* x_2362; +lean::dec(x_10); +x_2356 = l_lean_parser_ident__univs_has__view; +x_2357 = lean::cnstr_get(x_2356, 0); +lean::inc(x_2357); +lean::dec(x_2356); +lean::inc(x_0); +x_2361 = lean::apply_1(x_2357, x_0); +x_2362 = lean::cnstr_get(x_2361, 1); +lean::inc(x_2362); +if (lean::obj_tag(x_2362) == 0) +{ +obj* x_2364; obj* x_2368; obj* x_2369; obj* x_2370; obj* x_2371; obj* x_2374; obj* x_2375; obj* x_2376; obj* x_2377; obj* x_2378; obj* x_2379; uint8 x_2380; +x_2364 = lean::cnstr_get(x_2361, 0); +lean::inc(x_2364); +lean::dec(x_2361); +lean::inc(x_2364); +x_2368 = l_lean_elaborator_mangle__ident(x_2364); +x_2369 = lean::box(0); +x_2370 = lean_expr_mk_const(x_2368, x_2369); +x_2371 = lean::cnstr_get(x_2364, 3); +lean::inc(x_2371); +lean::dec(x_2364); +x_2374 = lean::mk_nat_obj(0u); +x_2375 = l_list_enum__from___main___rarg(x_2374, x_2371); +x_2376 = l_lean_elaborator_to__pexpr___main___closed__47; +x_2377 = l_list_foldl___main___at_lean_elaborator_to__pexpr___main___spec__22(x_2376, x_2375); +x_2378 = lean_expr_mk_mdata(x_2377, x_2370); +x_2379 = l_lean_elaborator_to__pexpr___main___closed__2; +x_2380 = lean_name_dec_eq(x_8, x_2379); +lean::dec(x_8); +if (x_2380 == 0) +{ +obj* x_2382; +x_2382 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_2382) == 0) +{ +obj* x_2385; obj* x_2386; +lean::dec(x_2); +x_2385 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2385, 0, x_2378); +lean::cnstr_set(x_2385, 1, x_3); +x_2386 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2386, 0, x_2385); +return x_2386; +} +else +{ +obj* x_2387; obj* x_2390; obj* x_2393; obj* x_2396; obj* x_2397; obj* x_2399; obj* x_2400; obj* x_2401; obj* x_2404; obj* x_2405; obj* x_2406; obj* x_2407; obj* x_2408; +x_2387 = lean::cnstr_get(x_2382, 0); +lean::inc(x_2387); +lean::dec(x_2382); +x_2390 = lean::cnstr_get(x_2, 0); +lean::inc(x_2390); +lean::dec(x_2); +x_2393 = lean::cnstr_get(x_2390, 2); +lean::inc(x_2393); +lean::dec(x_2390); +x_2396 = l_lean_file__map_to__position(x_2393, x_2387); +x_2397 = lean::cnstr_get(x_2396, 1); +lean::inc(x_2397); +x_2399 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2400 = l_lean_kvmap_set__nat(x_2369, x_2399, x_2397); +x_2401 = lean::cnstr_get(x_2396, 0); +lean::inc(x_2401); +lean::dec(x_2396); +x_2404 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2405 = l_lean_kvmap_set__nat(x_2400, x_2404, x_2401); +x_2406 = lean_expr_mk_mdata(x_2405, x_2378); +x_2407 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2407, 0, x_2406); +lean::cnstr_set(x_2407, 1, x_3); +x_2408 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2408, 0, x_2407); +return x_2408; +} +} +else +{ +obj* x_2411; obj* x_2412; +lean::dec(x_0); +lean::dec(x_2); +x_2411 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2411, 0, x_2378); +lean::cnstr_set(x_2411, 1, x_3); +x_2412 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2412, 0, x_2411); +return x_2412; +} +} +else +{ +obj* x_2413; obj* x_2416; obj* x_2419; obj* x_2423; +x_2413 = lean::cnstr_get(x_2361, 0); +lean::inc(x_2413); +lean::dec(x_2361); +x_2416 = lean::cnstr_get(x_2362, 0); +lean::inc(x_2416); +lean::dec(x_2362); +x_2419 = lean::cnstr_get(x_2416, 1); +lean::inc(x_2419); +lean::dec(x_2416); +lean::inc(x_2); +x_2423 = l_list_mmap___main___at_lean_elaborator_to__pexpr___main___spec__23(x_2419, x_1, x_2, x_3); +if (lean::obj_tag(x_2423) == 0) +{ +obj* x_2428; obj* x_2430; obj* x_2431; +lean::dec(x_2413); +lean::dec(x_8); +lean::dec(x_0); +lean::dec(x_2); +x_2428 = lean::cnstr_get(x_2423, 0); +if (lean::is_exclusive(x_2423)) { + x_2430 = x_2423; +} else { + lean::inc(x_2428); + lean::dec(x_2423); + x_2430 = lean::box(0); +} +if (lean::is_scalar(x_2430)) { + x_2431 = lean::alloc_cnstr(0, 1, 0); +} else { + x_2431 = x_2430; +} +lean::cnstr_set(x_2431, 0, x_2428); +return x_2431; +} +else +{ +obj* x_2432; obj* x_2434; obj* x_2435; obj* x_2437; obj* x_2439; obj* x_2441; obj* x_2442; obj* x_2443; obj* x_2446; obj* x_2447; obj* x_2448; obj* x_2449; obj* x_2450; obj* x_2451; uint8 x_2452; +x_2432 = lean::cnstr_get(x_2423, 0); +if (lean::is_exclusive(x_2423)) { + lean::cnstr_set(x_2423, 0, lean::box(0)); + x_2434 = x_2423; +} else { + lean::inc(x_2432); + lean::dec(x_2423); + x_2434 = lean::box(0); +} +x_2435 = lean::cnstr_get(x_2432, 0); +x_2437 = lean::cnstr_get(x_2432, 1); +if (lean::is_exclusive(x_2432)) { + lean::cnstr_set(x_2432, 0, lean::box(0)); + lean::cnstr_set(x_2432, 1, lean::box(0)); + x_2439 = x_2432; +} else { + lean::inc(x_2435); + lean::inc(x_2437); + lean::dec(x_2432); + x_2439 = lean::box(0); +} +lean::inc(x_2413); +x_2441 = l_lean_elaborator_mangle__ident(x_2413); +x_2442 = lean_expr_mk_const(x_2441, x_2435); +x_2443 = lean::cnstr_get(x_2413, 3); +lean::inc(x_2443); +lean::dec(x_2413); +x_2446 = lean::mk_nat_obj(0u); +x_2447 = l_list_enum__from___main___rarg(x_2446, x_2443); +x_2448 = l_lean_elaborator_to__pexpr___main___closed__47; +x_2449 = l_list_foldl___main___at_lean_elaborator_to__pexpr___main___spec__24(x_2448, x_2447); +x_2450 = lean_expr_mk_mdata(x_2449, x_2442); +x_2451 = l_lean_elaborator_to__pexpr___main___closed__2; +x_2452 = lean_name_dec_eq(x_8, x_2451); +lean::dec(x_8); +if (x_2452 == 0) +{ +obj* x_2454; obj* x_2455; +x_2454 = lean::box(0); +x_2455 = l_lean_parser_syntax_get__pos(x_0); +lean::dec(x_0); +if (lean::obj_tag(x_2455) == 0) +{ +obj* x_2458; obj* x_2459; +lean::dec(x_2); +if (lean::is_scalar(x_2439)) { + x_2458 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2458 = x_2439; +} +lean::cnstr_set(x_2458, 0, x_2450); +lean::cnstr_set(x_2458, 1, x_2437); +if (lean::is_scalar(x_2434)) { + x_2459 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2459 = x_2434; +} +lean::cnstr_set(x_2459, 0, x_2458); +return x_2459; +} +else +{ +obj* x_2460; obj* x_2463; obj* x_2466; obj* x_2469; obj* x_2470; obj* x_2472; obj* x_2473; obj* x_2474; obj* x_2477; obj* x_2478; obj* x_2479; obj* x_2480; obj* x_2481; +x_2460 = lean::cnstr_get(x_2455, 0); +lean::inc(x_2460); +lean::dec(x_2455); +x_2463 = lean::cnstr_get(x_2, 0); +lean::inc(x_2463); +lean::dec(x_2); +x_2466 = lean::cnstr_get(x_2463, 2); +lean::inc(x_2466); +lean::dec(x_2463); +x_2469 = l_lean_file__map_to__position(x_2466, x_2460); +x_2470 = lean::cnstr_get(x_2469, 1); +lean::inc(x_2470); +x_2472 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2473 = l_lean_kvmap_set__nat(x_2454, x_2472, x_2470); +x_2474 = lean::cnstr_get(x_2469, 0); +lean::inc(x_2474); +lean::dec(x_2469); +x_2477 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2478 = l_lean_kvmap_set__nat(x_2473, x_2477, x_2474); +x_2479 = lean_expr_mk_mdata(x_2478, x_2450); +if (lean::is_scalar(x_2439)) { + x_2480 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2480 = x_2439; +} +lean::cnstr_set(x_2480, 0, x_2479); +lean::cnstr_set(x_2480, 1, x_2437); +if (lean::is_scalar(x_2434)) { + x_2481 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2481 = x_2434; +} +lean::cnstr_set(x_2481, 0, x_2480); +return x_2481; +} +} +else +{ +obj* x_2484; obj* x_2485; +lean::dec(x_0); +lean::dec(x_2); +if (lean::is_scalar(x_2439)) { + x_2484 = lean::alloc_cnstr(0, 2, 0); +} else { + x_2484 = x_2439; +} +lean::cnstr_set(x_2484, 0, x_2450); +lean::cnstr_set(x_2484, 1, x_2437); +if (lean::is_scalar(x_2434)) { + x_2485 = lean::alloc_cnstr(1, 1, 0); +} else { + x_2485 = x_2434; +} +lean::cnstr_set(x_2485, 0, x_2484); +return x_2485; +} +} +} } lbl_14: { if (lean::obj_tag(x_13) == 0) { -obj* x_2073; obj* x_2075; obj* x_2076; +obj* x_2489; obj* x_2491; obj* x_2492; lean::dec(x_8); lean::dec(x_0); lean::dec(x_2); -x_2073 = lean::cnstr_get(x_13, 0); +x_2489 = lean::cnstr_get(x_13, 0); if (lean::is_exclusive(x_13)) { - x_2075 = x_13; + x_2491 = x_13; } else { - lean::inc(x_2073); + lean::inc(x_2489); lean::dec(x_13); - x_2075 = lean::box(0); + x_2491 = lean::box(0); } -if (lean::is_scalar(x_2075)) { - x_2076 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_2491)) { + x_2492 = lean::alloc_cnstr(0, 1, 0); } else { - x_2076 = x_2075; + x_2492 = x_2491; } -lean::cnstr_set(x_2076, 0, x_2073); -return x_2076; +lean::cnstr_set(x_2492, 0, x_2489); +return x_2492; } else { -obj* x_2077; obj* x_2079; obj* x_2080; obj* x_2082; obj* x_2084; obj* x_2085; uint8 x_2086; -x_2077 = lean::cnstr_get(x_13, 0); +obj* x_2493; obj* x_2495; obj* x_2496; obj* x_2498; obj* x_2500; obj* x_2501; uint8 x_2502; +x_2493 = lean::cnstr_get(x_13, 0); if (lean::is_exclusive(x_13)) { lean::cnstr_set(x_13, 0, lean::box(0)); - x_2079 = x_13; + x_2495 = x_13; } else { - lean::inc(x_2077); + lean::inc(x_2493); lean::dec(x_13); - x_2079 = lean::box(0); + x_2495 = lean::box(0); } -x_2080 = lean::cnstr_get(x_2077, 0); -x_2082 = lean::cnstr_get(x_2077, 1); -if (lean::is_exclusive(x_2077)) { - lean::cnstr_set(x_2077, 0, lean::box(0)); - lean::cnstr_set(x_2077, 1, lean::box(0)); - x_2084 = x_2077; +x_2496 = lean::cnstr_get(x_2493, 0); +x_2498 = lean::cnstr_get(x_2493, 1); +if (lean::is_exclusive(x_2493)) { + lean::cnstr_set(x_2493, 0, lean::box(0)); + lean::cnstr_set(x_2493, 1, lean::box(0)); + x_2500 = x_2493; } else { - lean::inc(x_2080); - lean::inc(x_2082); - lean::dec(x_2077); - x_2084 = lean::box(0); + lean::inc(x_2496); + lean::inc(x_2498); + lean::dec(x_2493); + x_2500 = lean::box(0); } -x_2085 = l_lean_elaborator_to__pexpr___main___closed__2; -x_2086 = lean_name_dec_eq(x_8, x_2085); +x_2501 = l_lean_elaborator_to__pexpr___main___closed__2; +x_2502 = lean_name_dec_eq(x_8, x_2501); lean::dec(x_8); -if (x_2086 == 0) +if (x_2502 == 0) { -obj* x_2088; -x_2088 = l_lean_parser_syntax_get__pos(x_0); +obj* x_2504; +x_2504 = l_lean_parser_syntax_get__pos(x_0); lean::dec(x_0); -if (lean::obj_tag(x_2088) == 0) +if (lean::obj_tag(x_2504) == 0) { -obj* x_2091; obj* x_2092; +obj* x_2507; obj* x_2508; lean::dec(x_2); -if (lean::is_scalar(x_2084)) { - x_2091 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_2500)) { + x_2507 = lean::alloc_cnstr(0, 2, 0); } else { - x_2091 = x_2084; + x_2507 = x_2500; } -lean::cnstr_set(x_2091, 0, x_2080); -lean::cnstr_set(x_2091, 1, x_2082); -if (lean::is_scalar(x_2079)) { - x_2092 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2507, 0, x_2496); +lean::cnstr_set(x_2507, 1, x_2498); +if (lean::is_scalar(x_2495)) { + x_2508 = lean::alloc_cnstr(1, 1, 0); } else { - x_2092 = x_2079; + x_2508 = x_2495; } -lean::cnstr_set(x_2092, 0, x_2091); -return x_2092; +lean::cnstr_set(x_2508, 0, x_2507); +return x_2508; } else { -obj* x_2093; obj* x_2096; obj* x_2099; obj* x_2102; obj* x_2103; obj* x_2104; obj* x_2106; obj* x_2107; obj* x_2108; obj* x_2111; obj* x_2112; obj* x_2113; obj* x_2114; obj* x_2115; -x_2093 = lean::cnstr_get(x_2088, 0); -lean::inc(x_2093); -lean::dec(x_2088); -x_2096 = lean::cnstr_get(x_2, 0); -lean::inc(x_2096); +obj* x_2509; obj* x_2512; obj* x_2515; obj* x_2518; obj* x_2519; obj* x_2520; obj* x_2522; obj* x_2523; obj* x_2524; obj* x_2527; obj* x_2528; obj* x_2529; obj* x_2530; obj* x_2531; +x_2509 = lean::cnstr_get(x_2504, 0); +lean::inc(x_2509); +lean::dec(x_2504); +x_2512 = lean::cnstr_get(x_2, 0); +lean::inc(x_2512); lean::dec(x_2); -x_2099 = lean::cnstr_get(x_2096, 2); -lean::inc(x_2099); -lean::dec(x_2096); -x_2102 = l_lean_file__map_to__position(x_2099, x_2093); -x_2103 = lean::box(0); -x_2104 = lean::cnstr_get(x_2102, 1); -lean::inc(x_2104); -x_2106 = l_lean_elaborator_to__pexpr___main___closed__3; -x_2107 = l_lean_kvmap_set__nat(x_2103, x_2106, x_2104); -x_2108 = lean::cnstr_get(x_2102, 0); -lean::inc(x_2108); -lean::dec(x_2102); -x_2111 = l_lean_elaborator_to__pexpr___main___closed__4; -x_2112 = l_lean_kvmap_set__nat(x_2107, x_2111, x_2108); -x_2113 = lean_expr_mk_mdata(x_2112, x_2080); -if (lean::is_scalar(x_2084)) { - x_2114 = lean::alloc_cnstr(0, 2, 0); +x_2515 = lean::cnstr_get(x_2512, 2); +lean::inc(x_2515); +lean::dec(x_2512); +x_2518 = l_lean_file__map_to__position(x_2515, x_2509); +x_2519 = lean::box(0); +x_2520 = lean::cnstr_get(x_2518, 1); +lean::inc(x_2520); +x_2522 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2523 = l_lean_kvmap_set__nat(x_2519, x_2522, x_2520); +x_2524 = lean::cnstr_get(x_2518, 0); +lean::inc(x_2524); +lean::dec(x_2518); +x_2527 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2528 = l_lean_kvmap_set__nat(x_2523, x_2527, x_2524); +x_2529 = lean_expr_mk_mdata(x_2528, x_2496); +if (lean::is_scalar(x_2500)) { + x_2530 = lean::alloc_cnstr(0, 2, 0); } else { - x_2114 = x_2084; + x_2530 = x_2500; } -lean::cnstr_set(x_2114, 0, x_2113); -lean::cnstr_set(x_2114, 1, x_2082); -if (lean::is_scalar(x_2079)) { - x_2115 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2530, 0, x_2529); +lean::cnstr_set(x_2530, 1, x_2498); +if (lean::is_scalar(x_2495)) { + x_2531 = lean::alloc_cnstr(1, 1, 0); } else { - x_2115 = x_2079; + x_2531 = x_2495; } -lean::cnstr_set(x_2115, 0, x_2114); -return x_2115; +lean::cnstr_set(x_2531, 0, x_2530); +return x_2531; } } else { -obj* x_2118; obj* x_2119; +obj* x_2534; obj* x_2535; lean::dec(x_0); lean::dec(x_2); -if (lean::is_scalar(x_2084)) { - x_2118 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_2500)) { + x_2534 = lean::alloc_cnstr(0, 2, 0); } else { - x_2118 = x_2084; + x_2534 = x_2500; } -lean::cnstr_set(x_2118, 0, x_2080); -lean::cnstr_set(x_2118, 1, x_2082); -if (lean::is_scalar(x_2079)) { - x_2119 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2534, 0, x_2496); +lean::cnstr_set(x_2534, 1, x_2498); +if (lean::is_scalar(x_2495)) { + x_2535 = lean::alloc_cnstr(1, 1, 0); } else { - x_2119 = x_2079; + x_2535 = x_2495; } -lean::cnstr_set(x_2119, 0, x_2118); -return x_2119; +lean::cnstr_set(x_2535, 0, x_2534); +return x_2535; } } } lbl_16: { -obj* x_2120; obj* x_2122; obj* x_2124; obj* x_2125; uint8 x_2126; -x_2120 = lean::cnstr_get(x_15, 0); -x_2122 = lean::cnstr_get(x_15, 1); +obj* x_2536; obj* x_2538; obj* x_2540; obj* x_2541; uint8 x_2542; +x_2536 = lean::cnstr_get(x_15, 0); +x_2538 = lean::cnstr_get(x_15, 1); if (lean::is_exclusive(x_15)) { lean::cnstr_set(x_15, 0, lean::box(0)); lean::cnstr_set(x_15, 1, lean::box(0)); - x_2124 = x_15; + x_2540 = x_15; } else { - lean::inc(x_2120); - lean::inc(x_2122); + lean::inc(x_2536); + lean::inc(x_2538); lean::dec(x_15); - x_2124 = lean::box(0); + x_2540 = lean::box(0); } -x_2125 = l_lean_elaborator_to__pexpr___main___closed__2; -x_2126 = lean_name_dec_eq(x_8, x_2125); +x_2541 = l_lean_elaborator_to__pexpr___main___closed__2; +x_2542 = lean_name_dec_eq(x_8, x_2541); lean::dec(x_8); -if (x_2126 == 0) +if (x_2542 == 0) { -obj* x_2128; -x_2128 = l_lean_parser_syntax_get__pos(x_0); +obj* x_2544; +x_2544 = l_lean_parser_syntax_get__pos(x_0); lean::dec(x_0); -if (lean::obj_tag(x_2128) == 0) +if (lean::obj_tag(x_2544) == 0) { -obj* x_2131; obj* x_2132; +obj* x_2547; obj* x_2548; lean::dec(x_2); -if (lean::is_scalar(x_2124)) { - x_2131 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_2540)) { + x_2547 = lean::alloc_cnstr(0, 2, 0); } else { - x_2131 = x_2124; + x_2547 = x_2540; } -lean::cnstr_set(x_2131, 0, x_2120); -lean::cnstr_set(x_2131, 1, x_2122); -x_2132 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2132, 0, x_2131); -return x_2132; +lean::cnstr_set(x_2547, 0, x_2536); +lean::cnstr_set(x_2547, 1, x_2538); +x_2548 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2548, 0, x_2547); +return x_2548; } else { -obj* x_2133; obj* x_2136; obj* x_2139; obj* x_2142; obj* x_2143; obj* x_2144; obj* x_2146; obj* x_2147; obj* x_2148; obj* x_2151; obj* x_2152; obj* x_2153; obj* x_2154; obj* x_2155; -x_2133 = lean::cnstr_get(x_2128, 0); -lean::inc(x_2133); -lean::dec(x_2128); -x_2136 = lean::cnstr_get(x_2, 0); -lean::inc(x_2136); +obj* x_2549; obj* x_2552; obj* x_2555; obj* x_2558; obj* x_2559; obj* x_2560; obj* x_2562; obj* x_2563; obj* x_2564; obj* x_2567; obj* x_2568; obj* x_2569; obj* x_2570; obj* x_2571; +x_2549 = lean::cnstr_get(x_2544, 0); +lean::inc(x_2549); +lean::dec(x_2544); +x_2552 = lean::cnstr_get(x_2, 0); +lean::inc(x_2552); lean::dec(x_2); -x_2139 = lean::cnstr_get(x_2136, 2); -lean::inc(x_2139); -lean::dec(x_2136); -x_2142 = l_lean_file__map_to__position(x_2139, x_2133); -x_2143 = lean::box(0); -x_2144 = lean::cnstr_get(x_2142, 1); -lean::inc(x_2144); -x_2146 = l_lean_elaborator_to__pexpr___main___closed__3; -x_2147 = l_lean_kvmap_set__nat(x_2143, x_2146, x_2144); -x_2148 = lean::cnstr_get(x_2142, 0); -lean::inc(x_2148); -lean::dec(x_2142); -x_2151 = l_lean_elaborator_to__pexpr___main___closed__4; -x_2152 = l_lean_kvmap_set__nat(x_2147, x_2151, x_2148); -x_2153 = lean_expr_mk_mdata(x_2152, x_2120); -if (lean::is_scalar(x_2124)) { - x_2154 = lean::alloc_cnstr(0, 2, 0); +x_2555 = lean::cnstr_get(x_2552, 2); +lean::inc(x_2555); +lean::dec(x_2552); +x_2558 = l_lean_file__map_to__position(x_2555, x_2549); +x_2559 = lean::box(0); +x_2560 = lean::cnstr_get(x_2558, 1); +lean::inc(x_2560); +x_2562 = l_lean_elaborator_to__pexpr___main___closed__3; +x_2563 = l_lean_kvmap_set__nat(x_2559, x_2562, x_2560); +x_2564 = lean::cnstr_get(x_2558, 0); +lean::inc(x_2564); +lean::dec(x_2558); +x_2567 = l_lean_elaborator_to__pexpr___main___closed__4; +x_2568 = l_lean_kvmap_set__nat(x_2563, x_2567, x_2564); +x_2569 = lean_expr_mk_mdata(x_2568, x_2536); +if (lean::is_scalar(x_2540)) { + x_2570 = lean::alloc_cnstr(0, 2, 0); } else { - x_2154 = x_2124; + x_2570 = x_2540; } -lean::cnstr_set(x_2154, 0, x_2153); -lean::cnstr_set(x_2154, 1, x_2122); -x_2155 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2155, 0, x_2154); -return x_2155; +lean::cnstr_set(x_2570, 0, x_2569); +lean::cnstr_set(x_2570, 1, x_2538); +x_2571 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2571, 0, x_2570); +return x_2571; } } else { -obj* x_2158; obj* x_2159; +obj* x_2574; obj* x_2575; lean::dec(x_0); lean::dec(x_2); -if (lean::is_scalar(x_2124)) { - x_2158 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_2540)) { + x_2574 = lean::alloc_cnstr(0, 2, 0); } else { - x_2158 = x_2124; + x_2574 = x_2540; } -lean::cnstr_set(x_2158, 0, x_2120); -lean::cnstr_set(x_2158, 1, x_2122); -x_2159 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2159, 0, x_2158); -return x_2159; +lean::cnstr_set(x_2574, 0, x_2536); +lean::cnstr_set(x_2574, 1, x_2538); +x_2575 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2575, 0, x_2574); +return x_2575; } } } default: { -obj* x_2160; -x_2160 = lean::box(0); -x_4 = x_2160; +obj* x_2576; +x_2576 = lean::box(0); +x_4 = x_2576; goto lbl_5; } } lbl_5: { -obj* x_2163; obj* x_2164; obj* x_2165; obj* x_2166; obj* x_2167; obj* x_2168; obj* x_2170; +obj* x_2579; obj* x_2580; obj* x_2581; obj* x_2582; obj* x_2583; obj* x_2584; obj* x_2586; lean::dec(x_4); lean::inc(x_0); -x_2163 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_2163, 0, x_0); -x_2164 = l_lean_parser_syntax_to__format___main(x_0); -x_2165 = lean::mk_nat_obj(80u); -x_2166 = l_lean_format_pretty(x_2164, x_2165); -x_2167 = l_lean_elaborator_to__pexpr___main___closed__1; -x_2168 = lean::string_append(x_2167, x_2166); -lean::dec(x_2166); -x_2170 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_2163, x_2168, x_1, x_2, x_3); +x_2579 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_2579, 0, x_0); +x_2580 = l_lean_parser_syntax_to__format___main(x_0); +x_2581 = lean::mk_nat_obj(80u); +x_2582 = l_lean_format_pretty(x_2580, x_2581); +x_2583 = l_lean_elaborator_to__pexpr___main___closed__1; +x_2584 = lean::string_append(x_2583, x_2582); +lean::dec(x_2582); +x_2586 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_2579, x_2584, x_1, x_2, x_3); lean::dec(x_3); -lean::dec(x_2163); -return x_2170; +lean::dec(x_2579); +return x_2586; } } } @@ -22723,7 +23808,7 @@ return x_6; } else { -obj* x_7; obj* x_9; obj* x_11; obj* x_12; obj* x_15; obj* x_16; obj* x_18; obj* x_21; obj* x_23; obj* x_25; obj* x_26; obj* x_28; uint8 x_29; +obj* x_7; obj* x_9; obj* x_11; obj* x_12; obj* x_15; obj* x_16; obj* x_18; obj* x_21; obj* x_23; obj* x_25; obj* x_26; uint8 x_27; x_7 = lean::cnstr_get(x_0, 0); x_9 = lean::cnstr_get(x_0, 1); if (lean::is_exclusive(x_0)) { @@ -22755,333 +23840,325 @@ if (lean::is_exclusive(x_16)) { lean::dec(x_16); x_25 = lean::box(0); } -x_28 = l_lean_expander_binding__annotation__update; -x_29 = l_lean_parser_syntax_is__of__kind___main(x_28, x_23); +x_26 = l_lean_expander_binding__annotation__update; +x_27 = l_lean_parser_syntax_is__of__kind___main(x_26, x_23); lean::dec(x_23); -if (x_29 == 0) +if (x_27 == 0) { -uint8 x_33; obj* x_34; obj* x_35; +uint8 x_31; obj* x_32; obj* x_33; lean::dec(x_18); lean::dec(x_21); -x_33 = 1; -x_34 = lean::box(x_33); +x_31 = 1; +x_32 = lean::box(x_31); if (lean::is_scalar(x_25)) { - x_35 = lean::alloc_cnstr(0, 2, 0); + x_33 = lean::alloc_cnstr(0, 2, 0); } else { - x_35 = x_25; + x_33 = x_25; } -lean::cnstr_set(x_35, 0, x_34); -lean::cnstr_set(x_35, 1, x_3); -x_12 = x_35; +lean::cnstr_set(x_33, 0, x_32); +lean::cnstr_set(x_33, 1, x_3); +x_12 = x_33; goto lbl_13; } else { -obj* x_37; +obj* x_36; lean::dec(x_25); -x_37 = lean::box(0); -x_26 = x_37; -goto lbl_27; +lean::inc(x_2); +x_36 = l_lean_elaborator_current__scope(x_1, x_2, x_3); +if (lean::obj_tag(x_36) == 0) +{ +obj* x_43; obj* x_45; obj* x_46; +lean::dec(x_9); +lean::dec(x_7); +lean::dec(x_11); +lean::dec(x_2); +lean::dec(x_18); +lean::dec(x_21); +x_43 = lean::cnstr_get(x_36, 0); +if (lean::is_exclusive(x_36)) { + x_45 = x_36; +} else { + lean::inc(x_43); + lean::dec(x_36); + x_45 = lean::box(0); +} +if (lean::is_scalar(x_45)) { + x_46 = lean::alloc_cnstr(0, 1, 0); +} else { + x_46 = x_45; +} +lean::cnstr_set(x_46, 0, x_43); +return x_46; +} +else +{ +obj* x_47; obj* x_50; obj* x_52; obj* x_55; obj* x_56; obj* x_59; +x_47 = lean::cnstr_get(x_36, 0); +lean::inc(x_47); +lean::dec(x_36); +x_50 = lean::cnstr_get(x_47, 0); +lean::inc(x_50); +x_52 = lean::cnstr_get(x_47, 1); +lean::inc(x_52); +lean::dec(x_47); +x_55 = l_lean_elaborator_mangle__ident(x_21); +x_56 = lean::cnstr_get(x_50, 4); +lean::inc(x_56); +lean::dec(x_50); +x_59 = l_lean_elaborator_ordered__rbmap_find___at_lean_elaborator_variables_elaborate___spec__1(x_56, x_55); +if (lean::obj_tag(x_59) == 0) +{ +obj* x_61; obj* x_62; obj* x_64; obj* x_65; obj* x_66; obj* x_67; obj* x_68; obj* x_69; obj* x_70; obj* x_72; +lean::dec(x_18); +x_61 = lean::box(0); +x_62 = l_lean_name_to__string___closed__1; +lean::inc(x_55); +x_64 = l_lean_name_to__string__with__sep___main(x_62, x_55); +x_65 = l_lean_parser_substring_of__string(x_64); +x_66 = lean::box(0); +x_67 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_67, 0, x_61); +lean::cnstr_set(x_67, 1, x_65); +lean::cnstr_set(x_67, 2, x_55); +lean::cnstr_set(x_67, 3, x_66); +lean::cnstr_set(x_67, 4, x_66); +x_68 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_68, 0, x_67); +x_69 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +x_70 = l_string_iterator_extract___main___closed__1; +lean::inc(x_2); +x_72 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_69, x_70, x_1, x_2, x_52); +lean::dec(x_52); +lean::dec(x_69); +if (lean::obj_tag(x_72) == 0) +{ +obj* x_79; obj* x_81; obj* x_82; +lean::dec(x_9); +lean::dec(x_7); +lean::dec(x_11); +lean::dec(x_2); +x_79 = lean::cnstr_get(x_72, 0); +if (lean::is_exclusive(x_72)) { + x_81 = x_72; +} else { + lean::inc(x_79); + lean::dec(x_72); + x_81 = lean::box(0); +} +if (lean::is_scalar(x_81)) { + x_82 = lean::alloc_cnstr(0, 1, 0); +} else { + x_82 = x_81; +} +lean::cnstr_set(x_82, 0, x_79); +return x_82; +} +else +{ +obj* x_83; obj* x_86; obj* x_88; uint8 x_89; obj* x_90; obj* x_91; +x_83 = lean::cnstr_get(x_72, 0); +lean::inc(x_83); +lean::dec(x_72); +x_86 = lean::cnstr_get(x_83, 1); +if (lean::is_exclusive(x_83)) { + lean::cnstr_release(x_83, 0); + x_88 = x_83; +} else { + lean::inc(x_86); + lean::dec(x_83); + x_88 = lean::box(0); +} +x_89 = 0; +x_90 = lean::box(x_89); +if (lean::is_scalar(x_88)) { + x_91 = lean::alloc_cnstr(0, 2, 0); +} else { + x_91 = x_88; +} +lean::cnstr_set(x_91, 0, x_90); +lean::cnstr_set(x_91, 1, x_86); +x_12 = x_91; +goto lbl_13; +} +} +else +{ +obj* x_92; obj* x_95; obj* x_98; obj* x_100; +x_92 = lean::cnstr_get(x_59, 0); +lean::inc(x_92); +lean::dec(x_59); +x_95 = lean::cnstr_get(x_92, 1); +lean::inc(x_95); +lean::dec(x_92); +x_98 = lean::alloc_closure(reinterpret_cast(l_list_mfilter___main___at_lean_elaborator_variables_elaborate___spec__9___lambda__1___boxed), 4, 3); +lean::closure_set(x_98, 0, x_95); +lean::closure_set(x_98, 1, x_18); +lean::closure_set(x_98, 2, x_55); +lean::inc(x_2); +x_100 = l_lean_elaborator_modify__current__scope(x_98, x_1, x_2, x_52); +if (lean::obj_tag(x_100) == 0) +{ +obj* x_105; obj* x_107; obj* x_108; +lean::dec(x_9); +lean::dec(x_7); +lean::dec(x_11); +lean::dec(x_2); +x_105 = lean::cnstr_get(x_100, 0); +if (lean::is_exclusive(x_100)) { + x_107 = x_100; +} else { + lean::inc(x_105); + lean::dec(x_100); + x_107 = lean::box(0); +} +if (lean::is_scalar(x_107)) { + x_108 = lean::alloc_cnstr(0, 1, 0); +} else { + x_108 = x_107; +} +lean::cnstr_set(x_108, 0, x_105); +return x_108; +} +else +{ +obj* x_109; obj* x_112; obj* x_114; uint8 x_115; obj* x_116; obj* x_117; +x_109 = lean::cnstr_get(x_100, 0); +lean::inc(x_109); +lean::dec(x_100); +x_112 = lean::cnstr_get(x_109, 1); +if (lean::is_exclusive(x_109)) { + lean::cnstr_release(x_109, 0); + x_114 = x_109; +} else { + lean::inc(x_112); + lean::dec(x_109); + x_114 = lean::box(0); +} +x_115 = 0; +x_116 = lean::box(x_115); +if (lean::is_scalar(x_114)) { + x_117 = lean::alloc_cnstr(0, 2, 0); +} else { + x_117 = x_114; +} +lean::cnstr_set(x_117, 0, x_116); +lean::cnstr_set(x_117, 1, x_112); +x_12 = x_117; +goto lbl_13; +} +} +} } lbl_13: { -obj* x_38; obj* x_40; obj* x_43; -x_38 = lean::cnstr_get(x_12, 0); -lean::inc(x_38); -x_40 = lean::cnstr_get(x_12, 1); -lean::inc(x_40); +obj* x_118; obj* x_120; obj* x_123; +x_118 = lean::cnstr_get(x_12, 0); +lean::inc(x_118); +x_120 = lean::cnstr_get(x_12, 1); +lean::inc(x_120); lean::dec(x_12); -x_43 = l_list_mfilter___main___at_lean_elaborator_variables_elaborate___spec__9(x_9, x_1, x_2, x_40); -if (lean::obj_tag(x_43) == 0) +x_123 = l_list_mfilter___main___at_lean_elaborator_variables_elaborate___spec__9(x_9, x_1, x_2, x_120); +if (lean::obj_tag(x_123) == 0) { -obj* x_47; obj* x_49; obj* x_50; +obj* x_127; obj* x_129; obj* x_130; lean::dec(x_7); lean::dec(x_11); -lean::dec(x_38); -x_47 = lean::cnstr_get(x_43, 0); -if (lean::is_exclusive(x_43)) { - x_49 = x_43; +lean::dec(x_118); +x_127 = lean::cnstr_get(x_123, 0); +if (lean::is_exclusive(x_123)) { + x_129 = x_123; } else { - lean::inc(x_47); - lean::dec(x_43); - x_49 = lean::box(0); + lean::inc(x_127); + lean::dec(x_123); + x_129 = lean::box(0); } -if (lean::is_scalar(x_49)) { - x_50 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_129)) { + x_130 = lean::alloc_cnstr(0, 1, 0); } else { - x_50 = x_49; + x_130 = x_129; } -lean::cnstr_set(x_50, 0, x_47); -return x_50; +lean::cnstr_set(x_130, 0, x_127); +return x_130; } else { -obj* x_51; obj* x_53; uint8 x_54; -x_51 = lean::cnstr_get(x_43, 0); -if (lean::is_exclusive(x_43)) { - lean::cnstr_set(x_43, 0, lean::box(0)); - x_53 = x_43; +obj* x_131; obj* x_133; uint8 x_134; +x_131 = lean::cnstr_get(x_123, 0); +if (lean::is_exclusive(x_123)) { + lean::cnstr_set(x_123, 0, lean::box(0)); + x_133 = x_123; } else { - lean::inc(x_51); - lean::dec(x_43); - x_53 = lean::box(0); + lean::inc(x_131); + lean::dec(x_123); + x_133 = lean::box(0); } -x_54 = lean::unbox(x_38); -if (x_54 == 0) +x_134 = lean::unbox(x_118); +if (x_134 == 0) { -obj* x_57; obj* x_59; obj* x_61; obj* x_62; obj* x_63; +obj* x_137; obj* x_139; obj* x_141; obj* x_142; obj* x_143; lean::dec(x_7); lean::dec(x_11); -x_57 = lean::cnstr_get(x_51, 0); -x_59 = lean::cnstr_get(x_51, 1); -if (lean::is_exclusive(x_51)) { - x_61 = x_51; +x_137 = lean::cnstr_get(x_131, 0); +x_139 = lean::cnstr_get(x_131, 1); +if (lean::is_exclusive(x_131)) { + x_141 = x_131; } else { - lean::inc(x_57); - lean::inc(x_59); - lean::dec(x_51); - x_61 = lean::box(0); + lean::inc(x_137); + lean::inc(x_139); + lean::dec(x_131); + x_141 = lean::box(0); } -if (lean::is_scalar(x_61)) { - x_62 = lean::alloc_cnstr(0, 2, 0); +if (lean::is_scalar(x_141)) { + x_142 = lean::alloc_cnstr(0, 2, 0); } else { - x_62 = x_61; + x_142 = x_141; } -lean::cnstr_set(x_62, 0, x_57); -lean::cnstr_set(x_62, 1, x_59); -if (lean::is_scalar(x_53)) { - x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_142, 0, x_137); +lean::cnstr_set(x_142, 1, x_139); +if (lean::is_scalar(x_133)) { + x_143 = lean::alloc_cnstr(1, 1, 0); } else { - x_63 = x_53; + x_143 = x_133; } -lean::cnstr_set(x_63, 0, x_62); -return x_63; +lean::cnstr_set(x_143, 0, x_142); +return x_143; } else { -obj* x_64; obj* x_66; obj* x_68; obj* x_69; obj* x_70; obj* x_71; -x_64 = lean::cnstr_get(x_51, 0); -x_66 = lean::cnstr_get(x_51, 1); -if (lean::is_exclusive(x_51)) { - x_68 = x_51; +obj* x_144; obj* x_146; obj* x_148; obj* x_149; obj* x_150; obj* x_151; +x_144 = lean::cnstr_get(x_131, 0); +x_146 = lean::cnstr_get(x_131, 1); +if (lean::is_exclusive(x_131)) { + x_148 = x_131; } else { - lean::inc(x_64); - lean::inc(x_66); - lean::dec(x_51); - x_68 = lean::box(0); + lean::inc(x_144); + lean::inc(x_146); + lean::dec(x_131); + x_148 = lean::box(0); } if (lean::is_scalar(x_11)) { - x_69 = lean::alloc_cnstr(1, 2, 0); + x_149 = lean::alloc_cnstr(1, 2, 0); } else { - x_69 = x_11; + x_149 = x_11; } -lean::cnstr_set(x_69, 0, x_7); -lean::cnstr_set(x_69, 1, x_64); -if (lean::is_scalar(x_68)) { - x_70 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_149, 0, x_7); +lean::cnstr_set(x_149, 1, x_144); +if (lean::is_scalar(x_148)) { + x_150 = lean::alloc_cnstr(0, 2, 0); } else { - x_70 = x_68; + x_150 = x_148; } -lean::cnstr_set(x_70, 0, x_69); -lean::cnstr_set(x_70, 1, x_66); -if (lean::is_scalar(x_53)) { - x_71 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_150, 0, x_149); +lean::cnstr_set(x_150, 1, x_146); +if (lean::is_scalar(x_133)) { + x_151 = lean::alloc_cnstr(1, 1, 0); } else { - x_71 = x_53; -} -lean::cnstr_set(x_71, 0, x_70); -return x_71; -} -} -} -lbl_27: -{ -obj* x_74; -lean::dec(x_26); -lean::inc(x_2); -x_74 = l_lean_elaborator_current__scope(x_1, x_2, x_3); -if (lean::obj_tag(x_74) == 0) -{ -obj* x_81; obj* x_83; obj* x_84; -lean::dec(x_9); -lean::dec(x_7); -lean::dec(x_11); -lean::dec(x_2); -lean::dec(x_18); -lean::dec(x_21); -x_81 = lean::cnstr_get(x_74, 0); -if (lean::is_exclusive(x_74)) { - x_83 = x_74; -} else { - lean::inc(x_81); - lean::dec(x_74); - x_83 = lean::box(0); -} -if (lean::is_scalar(x_83)) { - x_84 = lean::alloc_cnstr(0, 1, 0); -} else { - x_84 = x_83; -} -lean::cnstr_set(x_84, 0, x_81); -return x_84; -} -else -{ -obj* x_85; obj* x_88; obj* x_90; obj* x_93; obj* x_94; obj* x_97; -x_85 = lean::cnstr_get(x_74, 0); -lean::inc(x_85); -lean::dec(x_74); -x_88 = lean::cnstr_get(x_85, 0); -lean::inc(x_88); -x_90 = lean::cnstr_get(x_85, 1); -lean::inc(x_90); -lean::dec(x_85); -x_93 = l_lean_elaborator_mangle__ident(x_21); -x_94 = lean::cnstr_get(x_88, 4); -lean::inc(x_94); -lean::dec(x_88); -x_97 = l_lean_elaborator_ordered__rbmap_find___at_lean_elaborator_variables_elaborate___spec__1(x_94, x_93); -if (lean::obj_tag(x_97) == 0) -{ -obj* x_99; obj* x_100; obj* x_102; obj* x_103; obj* x_104; obj* x_105; obj* x_106; obj* x_107; obj* x_108; obj* x_110; -lean::dec(x_18); -x_99 = lean::box(0); -x_100 = l_lean_name_to__string___closed__1; -lean::inc(x_93); -x_102 = l_lean_name_to__string__with__sep___main(x_100, x_93); -x_103 = l_lean_parser_substring_of__string(x_102); -x_104 = lean::box(0); -x_105 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_105, 0, x_99); -lean::cnstr_set(x_105, 1, x_103); -lean::cnstr_set(x_105, 2, x_93); -lean::cnstr_set(x_105, 3, x_104); -lean::cnstr_set(x_105, 4, x_104); -x_106 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_106, 0, x_105); -x_107 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_107, 0, x_106); -x_108 = l_string_iterator_extract___main___closed__1; -lean::inc(x_2); -x_110 = l_lean_expander_error___at_lean_elaborator_current__scope___spec__1___rarg(x_107, x_108, x_1, x_2, x_90); -lean::dec(x_90); -lean::dec(x_107); -if (lean::obj_tag(x_110) == 0) -{ -obj* x_117; obj* x_119; obj* x_120; -lean::dec(x_9); -lean::dec(x_7); -lean::dec(x_11); -lean::dec(x_2); -x_117 = lean::cnstr_get(x_110, 0); -if (lean::is_exclusive(x_110)) { - x_119 = x_110; -} else { - lean::inc(x_117); - lean::dec(x_110); - x_119 = lean::box(0); -} -if (lean::is_scalar(x_119)) { - x_120 = lean::alloc_cnstr(0, 1, 0); -} else { - x_120 = x_119; -} -lean::cnstr_set(x_120, 0, x_117); -return x_120; -} -else -{ -obj* x_121; obj* x_124; obj* x_126; uint8 x_127; obj* x_128; obj* x_129; -x_121 = lean::cnstr_get(x_110, 0); -lean::inc(x_121); -lean::dec(x_110); -x_124 = lean::cnstr_get(x_121, 1); -if (lean::is_exclusive(x_121)) { - lean::cnstr_release(x_121, 0); - x_126 = x_121; -} else { - lean::inc(x_124); - lean::dec(x_121); - x_126 = lean::box(0); -} -x_127 = 0; -x_128 = lean::box(x_127); -if (lean::is_scalar(x_126)) { - x_129 = lean::alloc_cnstr(0, 2, 0); -} else { - x_129 = x_126; -} -lean::cnstr_set(x_129, 0, x_128); -lean::cnstr_set(x_129, 1, x_124); -x_12 = x_129; -goto lbl_13; -} -} -else -{ -obj* x_130; obj* x_133; obj* x_136; obj* x_138; -x_130 = lean::cnstr_get(x_97, 0); -lean::inc(x_130); -lean::dec(x_97); -x_133 = lean::cnstr_get(x_130, 1); -lean::inc(x_133); -lean::dec(x_130); -x_136 = lean::alloc_closure(reinterpret_cast(l_list_mfilter___main___at_lean_elaborator_variables_elaborate___spec__9___lambda__1___boxed), 4, 3); -lean::closure_set(x_136, 0, x_133); -lean::closure_set(x_136, 1, x_18); -lean::closure_set(x_136, 2, x_93); -lean::inc(x_2); -x_138 = l_lean_elaborator_modify__current__scope(x_136, x_1, x_2, x_90); -if (lean::obj_tag(x_138) == 0) -{ -obj* x_143; obj* x_145; obj* x_146; -lean::dec(x_9); -lean::dec(x_7); -lean::dec(x_11); -lean::dec(x_2); -x_143 = lean::cnstr_get(x_138, 0); -if (lean::is_exclusive(x_138)) { - x_145 = x_138; -} else { - lean::inc(x_143); - lean::dec(x_138); - x_145 = lean::box(0); -} -if (lean::is_scalar(x_145)) { - x_146 = lean::alloc_cnstr(0, 1, 0); -} else { - x_146 = x_145; -} -lean::cnstr_set(x_146, 0, x_143); -return x_146; -} -else -{ -obj* x_147; obj* x_150; obj* x_152; uint8 x_153; obj* x_154; obj* x_155; -x_147 = lean::cnstr_get(x_138, 0); -lean::inc(x_147); -lean::dec(x_138); -x_150 = lean::cnstr_get(x_147, 1); -if (lean::is_exclusive(x_147)) { - lean::cnstr_release(x_147, 0); - x_152 = x_147; -} else { - lean::inc(x_150); - lean::dec(x_147); - x_152 = lean::box(0); -} -x_153 = 0; -x_154 = lean::box(x_153); -if (lean::is_scalar(x_152)) { - x_155 = lean::alloc_cnstr(0, 2, 0); -} else { - x_155 = x_152; -} -lean::cnstr_set(x_155, 0, x_154); -lean::cnstr_set(x_155, 1, x_150); -x_12 = x_155; -goto lbl_13; + x_151 = x_133; } +lean::cnstr_set(x_151, 0, x_150); +return x_151; } } } @@ -23733,6 +24810,16 @@ return x_1; obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__1() { _start: { +obj* x_0; obj* x_1; +x_0 = lean::mk_string("register_notation_parser: unreachable"); +x_1 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_1, 0, x_0); +return x_1; +} +} +obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__2() { +_start: +{ obj* x_0; obj* x_1; obj* x_2; x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_term_binder__ident_parser), 5, 0); x_1 = lean::alloc_cnstr(1, 1, 0); @@ -23742,7 +24829,7 @@ lean::cnstr_set(x_2, 0, x_1); return x_2; } } -obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__2() { +obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__3() { _start: { obj* x_0; obj* x_1; obj* x_2; @@ -23754,7 +24841,7 @@ lean::cnstr_set(x_2, 0, x_1); return x_2; } } -obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__3() { +obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__4() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_3; @@ -23768,21 +24855,11 @@ lean::cnstr_set(x_3, 0, x_2); return x_3; } } -obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__4() { -_start: -{ -obj* x_0; obj* x_1; -x_0 = lean::mk_string("register_notation_parser: unimplemented"); -x_1 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_1, 0, x_0); -return x_1; -} -} obj* _init_l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__5() { _start: { obj* x_0; obj* x_1; -x_0 = lean::mk_string("register_notation_parser: unreachable"); +x_0 = lean::mk_string("register_notation_parser: unimplemented"); x_1 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_1, 0, x_0); return x_1; @@ -23794,12 +24871,12 @@ _start: if (lean::obj_tag(x_0) == 0) { obj* x_1; -x_1 = l_lean_expander_expand__bracketed__binder___main___closed__6; +x_1 = l_lean_expander_expand__bracketed__binder___main___closed__4; return x_1; } else { -obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_9; obj* x_11; obj* x_13; +obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_9; obj* x_11; x_2 = lean::cnstr_get(x_0, 0); x_4 = lean::cnstr_get(x_0, 1); if (lean::is_exclusive(x_0)) { @@ -23812,291 +24889,285 @@ if (lean::is_exclusive(x_0)) { lean::dec(x_0); x_6 = lean::box(0); } -x_11 = lean::cnstr_get(x_2, 0); +x_9 = lean::cnstr_get(x_2, 0); +lean::inc(x_9); +x_11 = lean::cnstr_get(x_9, 1); lean::inc(x_11); -x_13 = lean::cnstr_get(x_11, 1); -lean::inc(x_13); -lean::dec(x_11); -if (lean::obj_tag(x_13) == 0) +lean::dec(x_9); +if (lean::obj_tag(x_11) == 0) { -obj* x_17; +obj* x_15; lean::dec(x_2); -x_17 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__5; -x_7 = x_17; +x_15 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__1; +x_7 = x_15; goto lbl_8; } else { -obj* x_18; obj* x_21; obj* x_24; obj* x_27; obj* x_28; obj* x_29; -x_18 = lean::cnstr_get(x_13, 0); -lean::inc(x_18); -lean::dec(x_13); -x_21 = lean::cnstr_get(x_18, 1); -lean::inc(x_21); -lean::dec(x_18); -x_24 = l_string_trim(x_21); -lean::dec(x_21); -lean::inc(x_24); -x_27 = lean::alloc_closure(reinterpret_cast(l_dlist_singleton___rarg), 2, 1); -lean::closure_set(x_27, 0, x_24); -x_28 = lean::mk_nat_obj(0u); -x_29 = lean::alloc_closure(reinterpret_cast(l_lean_parser_symbol__core___at_lean_parser_command_notation__spec_precedence__term_parser_lean_parser_has__tokens___spec__1___boxed), 8, 3); -lean::closure_set(x_29, 0, x_24); -lean::closure_set(x_29, 1, x_28); -lean::closure_set(x_29, 2, x_27); -x_9 = x_29; -goto lbl_10; +obj* x_16; obj* x_19; obj* x_22; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_30; +x_16 = lean::cnstr_get(x_11, 0); +lean::inc(x_16); +lean::dec(x_11); +x_19 = lean::cnstr_get(x_16, 1); +lean::inc(x_19); +lean::dec(x_16); +x_22 = l_string_trim(x_19); +lean::dec(x_19); +lean::inc(x_22); +x_25 = lean::alloc_closure(reinterpret_cast(l_dlist_singleton___rarg), 2, 1); +lean::closure_set(x_25, 0, x_22); +x_26 = lean::mk_nat_obj(0u); +x_27 = lean::alloc_closure(reinterpret_cast(l_lean_parser_symbol__core___at_lean_parser_command_notation__spec_precedence__term_parser_lean_parser_has__tokens___spec__1___boxed), 8, 3); +lean::closure_set(x_27, 0, x_22); +lean::closure_set(x_27, 1, x_26); +lean::closure_set(x_27, 2, x_25); +x_30 = lean::cnstr_get(x_2, 1); +lean::inc(x_30); +lean::dec(x_2); +if (lean::obj_tag(x_30) == 0) +{ +obj* x_33; +x_33 = l_lean_expander_no__expansion___closed__1; +x_28 = x_33; +goto lbl_29; +} +else +{ +obj* x_34; +x_34 = lean::cnstr_get(x_30, 0); +lean::inc(x_34); +lean::dec(x_30); +switch (lean::obj_tag(x_34)) { +case 0: +{ +obj* x_38; +lean::dec(x_34); +x_38 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__2; +x_28 = x_38; +goto lbl_29; +} +case 1: +{ +obj* x_40; +lean::dec(x_34); +x_40 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__3; +x_28 = x_40; +goto lbl_29; +} +default: +{ +obj* x_41; obj* x_44; +x_41 = lean::cnstr_get(x_34, 0); +lean::inc(x_41); +lean::dec(x_34); +x_44 = lean::cnstr_get(x_41, 1); +lean::inc(x_44); +lean::dec(x_41); +if (lean::obj_tag(x_44) == 0) +{ +obj* x_47; +x_47 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__4; +x_28 = x_47; +goto lbl_29; +} +else +{ +obj* x_48; obj* x_50; obj* x_51; +x_48 = lean::cnstr_get(x_44, 0); +if (lean::is_exclusive(x_44)) { + lean::cnstr_set(x_44, 0, lean::box(0)); + x_50 = x_44; +} else { + lean::inc(x_48); + lean::dec(x_44); + x_50 = lean::box(0); +} +x_51 = lean::cnstr_get(x_48, 1); +lean::inc(x_51); +lean::dec(x_48); +switch (lean::obj_tag(x_51)) { +case 0: +{ +obj* x_54; obj* x_57; obj* x_58; obj* x_59; obj* x_60; +x_54 = lean::cnstr_get(x_51, 0); +lean::inc(x_54); +lean::dec(x_51); +x_57 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_54); +x_58 = lean::alloc_closure(reinterpret_cast(l_lean_parser_term_parser), 6, 1); +lean::closure_set(x_58, 0, x_57); +if (lean::is_scalar(x_50)) { + x_59 = lean::alloc_cnstr(1, 1, 0); +} else { + x_59 = x_50; +} +lean::cnstr_set(x_59, 0, x_58); +x_60 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_60, 0, x_59); +x_28 = x_60; +goto lbl_29; +} +case 2: +{ +obj* x_61; obj* x_64; obj* x_67; obj* x_68; obj* x_69; obj* x_70; +x_61 = lean::cnstr_get(x_51, 0); +lean::inc(x_61); +lean::dec(x_51); +x_64 = lean::cnstr_get(x_61, 2); +lean::inc(x_64); +lean::dec(x_61); +x_67 = l_lean_elaborator_prec__to__nat___main(x_64); +x_68 = lean::alloc_closure(reinterpret_cast(l_lean_parser_term_parser), 6, 1); +lean::closure_set(x_68, 0, x_67); +if (lean::is_scalar(x_50)) { + x_69 = lean::alloc_cnstr(1, 1, 0); +} else { + x_69 = x_50; +} +lean::cnstr_set(x_69, 0, x_68); +x_70 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_70, 0, x_69); +x_28 = x_70; +goto lbl_29; +} +default: +{ +obj* x_73; +lean::dec(x_50); +lean::dec(x_51); +x_73 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__5; +x_28 = x_73; +goto lbl_29; +} +} +} +} +} +} +lbl_29: +{ +if (lean::obj_tag(x_28) == 0) +{ +obj* x_75; obj* x_77; obj* x_78; +lean::dec(x_27); +x_75 = lean::cnstr_get(x_28, 0); +if (lean::is_exclusive(x_28)) { + x_77 = x_28; +} else { + lean::inc(x_75); + lean::dec(x_28); + x_77 = lean::box(0); +} +if (lean::is_scalar(x_77)) { + x_78 = lean::alloc_cnstr(0, 1, 0); +} else { + x_78 = x_77; +} +lean::cnstr_set(x_78, 0, x_75); +x_7 = x_78; +goto lbl_8; +} +else +{ +obj* x_79; obj* x_81; obj* x_82; obj* x_83; obj* x_84; +x_79 = lean::cnstr_get(x_28, 0); +if (lean::is_exclusive(x_28)) { + x_81 = x_28; +} else { + lean::inc(x_79); + lean::dec(x_28); + x_81 = lean::box(0); +} +x_82 = l_option_to__monad___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__1___rarg(x_79); +x_83 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_83, 0, x_27); +lean::cnstr_set(x_83, 1, x_82); +if (lean::is_scalar(x_81)) { + x_84 = lean::alloc_cnstr(1, 1, 0); +} else { + x_84 = x_81; +} +lean::cnstr_set(x_84, 0, x_83); +x_7 = x_84; +goto lbl_8; +} +} } lbl_8: { if (lean::obj_tag(x_7) == 0) { -obj* x_32; obj* x_34; obj* x_35; +obj* x_87; obj* x_89; obj* x_90; lean::dec(x_6); lean::dec(x_4); -x_32 = lean::cnstr_get(x_7, 0); +x_87 = lean::cnstr_get(x_7, 0); if (lean::is_exclusive(x_7)) { - x_34 = x_7; + x_89 = x_7; } else { - lean::inc(x_32); + lean::inc(x_87); lean::dec(x_7); - x_34 = lean::box(0); + x_89 = lean::box(0); } -if (lean::is_scalar(x_34)) { - x_35 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_89)) { + x_90 = lean::alloc_cnstr(0, 1, 0); } else { - x_35 = x_34; + x_90 = x_89; } -lean::cnstr_set(x_35, 0, x_32); -return x_35; +lean::cnstr_set(x_90, 0, x_87); +return x_90; } else { -obj* x_36; obj* x_39; -x_36 = lean::cnstr_get(x_7, 0); -lean::inc(x_36); +obj* x_91; obj* x_94; +x_91 = lean::cnstr_get(x_7, 0); +lean::inc(x_91); lean::dec(x_7); -x_39 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2(x_4); -if (lean::obj_tag(x_39) == 0) +x_94 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2(x_4); +if (lean::obj_tag(x_94) == 0) { -obj* x_42; obj* x_44; obj* x_45; +obj* x_97; obj* x_99; obj* x_100; lean::dec(x_6); -lean::dec(x_36); -x_42 = lean::cnstr_get(x_39, 0); -if (lean::is_exclusive(x_39)) { - x_44 = x_39; +lean::dec(x_91); +x_97 = lean::cnstr_get(x_94, 0); +if (lean::is_exclusive(x_94)) { + x_99 = x_94; } else { - lean::inc(x_42); - lean::dec(x_39); - x_44 = lean::box(0); + lean::inc(x_97); + lean::dec(x_94); + x_99 = lean::box(0); } -if (lean::is_scalar(x_44)) { - x_45 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_99)) { + x_100 = lean::alloc_cnstr(0, 1, 0); } else { - x_45 = x_44; + x_100 = x_99; } -lean::cnstr_set(x_45, 0, x_42); -return x_45; +lean::cnstr_set(x_100, 0, x_97); +return x_100; } else { -obj* x_46; obj* x_48; obj* x_49; obj* x_50; -x_46 = lean::cnstr_get(x_39, 0); -if (lean::is_exclusive(x_39)) { - x_48 = x_39; +obj* x_101; obj* x_103; obj* x_104; obj* x_105; +x_101 = lean::cnstr_get(x_94, 0); +if (lean::is_exclusive(x_94)) { + x_103 = x_94; } else { - lean::inc(x_46); - lean::dec(x_39); - x_48 = lean::box(0); + lean::inc(x_101); + lean::dec(x_94); + x_103 = lean::box(0); } if (lean::is_scalar(x_6)) { - x_49 = lean::alloc_cnstr(1, 2, 0); + x_104 = lean::alloc_cnstr(1, 2, 0); } else { - x_49 = x_6; + x_104 = x_6; } -lean::cnstr_set(x_49, 0, x_36); -lean::cnstr_set(x_49, 1, x_46); -if (lean::is_scalar(x_48)) { - x_50 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_104, 0, x_91); +lean::cnstr_set(x_104, 1, x_101); +if (lean::is_scalar(x_103)) { + x_105 = lean::alloc_cnstr(1, 1, 0); } else { - x_50 = x_48; + x_105 = x_103; } -lean::cnstr_set(x_50, 0, x_49); -return x_50; -} -} -} -lbl_10: -{ -obj* x_51; obj* x_53; -x_53 = lean::cnstr_get(x_2, 1); -lean::inc(x_53); -lean::dec(x_2); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_56; -x_56 = l_lean_expander_no__expansion___closed__1; -x_51 = x_56; -goto lbl_52; -} -else -{ -obj* x_57; -x_57 = lean::cnstr_get(x_53, 0); -lean::inc(x_57); -lean::dec(x_53); -switch (lean::obj_tag(x_57)) { -case 0: -{ -obj* x_61; -lean::dec(x_57); -x_61 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__1; -x_51 = x_61; -goto lbl_52; -} -case 1: -{ -obj* x_63; -lean::dec(x_57); -x_63 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__2; -x_51 = x_63; -goto lbl_52; -} -default: -{ -obj* x_64; obj* x_67; -x_64 = lean::cnstr_get(x_57, 0); -lean::inc(x_64); -lean::dec(x_57); -x_67 = lean::cnstr_get(x_64, 1); -lean::inc(x_67); -lean::dec(x_64); -if (lean::obj_tag(x_67) == 0) -{ -obj* x_70; -x_70 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__3; -x_51 = x_70; -goto lbl_52; -} -else -{ -obj* x_71; obj* x_73; obj* x_74; -x_71 = lean::cnstr_get(x_67, 0); -if (lean::is_exclusive(x_67)) { - lean::cnstr_set(x_67, 0, lean::box(0)); - x_73 = x_67; -} else { - lean::inc(x_71); - lean::dec(x_67); - x_73 = lean::box(0); -} -x_74 = lean::cnstr_get(x_71, 1); -lean::inc(x_74); -lean::dec(x_71); -switch (lean::obj_tag(x_74)) { -case 0: -{ -obj* x_77; obj* x_80; obj* x_81; obj* x_82; obj* x_83; -x_77 = lean::cnstr_get(x_74, 0); -lean::inc(x_77); -lean::dec(x_74); -x_80 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_77); -x_81 = lean::alloc_closure(reinterpret_cast(l_lean_parser_term_parser), 6, 1); -lean::closure_set(x_81, 0, x_80); -if (lean::is_scalar(x_73)) { - x_82 = lean::alloc_cnstr(1, 1, 0); -} else { - x_82 = x_73; -} -lean::cnstr_set(x_82, 0, x_81); -x_83 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_83, 0, x_82); -x_51 = x_83; -goto lbl_52; -} -case 2: -{ -obj* x_84; obj* x_87; obj* x_90; obj* x_91; obj* x_92; obj* x_93; -x_84 = lean::cnstr_get(x_74, 0); -lean::inc(x_84); -lean::dec(x_74); -x_87 = lean::cnstr_get(x_84, 2); -lean::inc(x_87); -lean::dec(x_84); -x_90 = l_lean_elaborator_prec__to__nat___main(x_87); -x_91 = lean::alloc_closure(reinterpret_cast(l_lean_parser_term_parser), 6, 1); -lean::closure_set(x_91, 0, x_90); -if (lean::is_scalar(x_73)) { - x_92 = lean::alloc_cnstr(1, 1, 0); -} else { - x_92 = x_73; -} -lean::cnstr_set(x_92, 0, x_91); -x_93 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_93, 0, x_92); -x_51 = x_93; -goto lbl_52; -} -default: -{ -obj* x_96; -lean::dec(x_73); -lean::dec(x_74); -x_96 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__4; -x_51 = x_96; -goto lbl_52; -} -} -} -} -} -} -lbl_52: -{ -if (lean::obj_tag(x_51) == 0) -{ -obj* x_98; obj* x_100; obj* x_101; -lean::dec(x_9); -x_98 = lean::cnstr_get(x_51, 0); -if (lean::is_exclusive(x_51)) { - x_100 = x_51; -} else { - lean::inc(x_98); - lean::dec(x_51); - x_100 = lean::box(0); -} -if (lean::is_scalar(x_100)) { - x_101 = lean::alloc_cnstr(0, 1, 0); -} else { - x_101 = x_100; -} -lean::cnstr_set(x_101, 0, x_98); -x_7 = x_101; -goto lbl_8; -} -else -{ -obj* x_102; obj* x_104; obj* x_105; obj* x_106; obj* x_107; -x_102 = lean::cnstr_get(x_51, 0); -if (lean::is_exclusive(x_51)) { - x_104 = x_51; -} else { - lean::inc(x_102); - lean::dec(x_51); - x_104 = lean::box(0); -} -x_105 = l_option_to__monad___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__1___rarg(x_102); -x_106 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_106, 0, x_9); -lean::cnstr_set(x_106, 1, x_105); -if (lean::is_scalar(x_104)) { - x_107 = lean::alloc_cnstr(1, 1, 0); -} else { - x_107 = x_104; -} -lean::cnstr_set(x_107, 0, x_106); -x_7 = x_107; -goto lbl_8; +lean::cnstr_set(x_105, 0, x_104); +return x_105; } } } @@ -24261,236 +25332,245 @@ return x_17; } else { -obj* x_18; obj* x_20; obj* x_21; -x_18 = lean::cnstr_get(x_8, 0); -if (lean::is_exclusive(x_8)) { - lean::cnstr_set(x_8, 0, lean::box(0)); - x_20 = x_8; -} else { - lean::inc(x_18); - lean::dec(x_8); - x_20 = lean::box(0); -} if (lean::obj_tag(x_5) == 0) { -obj* x_29; +obj* x_23; +lean::dec(x_8); lean::dec(x_1); lean::dec(x_3); lean::dec(x_0); lean::dec(x_2); -lean::dec(x_18); -lean::dec(x_20); -x_29 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__5; -return x_29; +x_23 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__1; +return x_23; } else { -obj* x_30; obj* x_33; obj* x_36; -x_30 = lean::cnstr_get(x_5, 0); +obj* x_24; obj* x_26; obj* x_27; obj* x_30; +x_24 = 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_26 = x_5; +} else { + lean::inc(x_24); + lean::dec(x_5); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); +lean::inc(x_27); +lean::dec(x_24); +x_30 = lean::cnstr_get(x_27, 1); lean::inc(x_30); -lean::dec(x_5); -x_33 = lean::cnstr_get(x_30, 0); -lean::inc(x_33); -lean::dec(x_30); -x_36 = lean::cnstr_get(x_33, 1); -lean::inc(x_36); -lean::dec(x_33); -if (lean::obj_tag(x_36) == 0) +lean::dec(x_27); +if (lean::obj_tag(x_30) == 0) { -obj* x_45; +obj* x_39; +lean::dec(x_8); lean::dec(x_1); lean::dec(x_3); lean::dec(x_0); lean::dec(x_2); -lean::dec(x_18); -lean::dec(x_20); -x_45 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__5; -return x_45; +lean::dec(x_26); +x_39 = l_list_mmap___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__2___closed__1; +return x_39; } else { -obj* x_46; obj* x_49; obj* x_52; -x_46 = lean::cnstr_get(x_36, 0); +obj* x_40; obj* x_42; obj* x_43; obj* x_46; obj* x_49; obj* x_51; obj* x_52; obj* x_53; +x_40 = lean::cnstr_get(x_8, 0); +if (lean::is_exclusive(x_8)) { + lean::cnstr_set(x_8, 0, lean::box(0)); + x_42 = x_8; +} else { + lean::inc(x_40); + lean::dec(x_8); + x_42 = lean::box(0); +} +x_43 = lean::cnstr_get(x_30, 0); +lean::inc(x_43); +lean::dec(x_30); +x_46 = lean::cnstr_get(x_43, 1); lean::inc(x_46); -lean::dec(x_36); -x_49 = lean::cnstr_get(x_46, 1); -lean::inc(x_49); +lean::dec(x_43); +x_49 = l_string_trim(x_46); lean::dec(x_46); -x_52 = l_string_trim(x_49); -lean::dec(x_49); -x_21 = x_52; -goto lbl_22; -} -} -lbl_22: -{ -obj* x_54; obj* x_55; obj* x_56; -x_54 = l_list_map___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__3(x_18); -x_55 = l_list_join___main___rarg(x_54); -x_56 = lean::cnstr_get(x_1, 0); -lean::inc(x_56); +x_51 = l_list_map___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__3(x_40); +x_52 = l_list_join___main___rarg(x_51); +x_53 = lean::cnstr_get(x_1, 0); +lean::inc(x_53); lean::dec(x_1); +if (lean::obj_tag(x_53) == 0) +{ +obj* x_56; +x_56 = lean::cnstr_get(x_3, 0); +lean::inc(x_56); +lean::dec(x_3); if (lean::obj_tag(x_56) == 0) { -obj* x_59; -x_59 = lean::cnstr_get(x_3, 0); -lean::inc(x_59); -lean::dec(x_3); -if (lean::obj_tag(x_59) == 0) -{ -obj* x_62; obj* x_64; obj* x_66; obj* x_67; obj* x_68; obj* x_69; obj* x_70; obj* x_72; obj* x_74; obj* x_77; obj* x_78; -x_62 = lean::cnstr_get(x_2, 0); +obj* x_60; obj* x_62; obj* x_64; obj* x_65; obj* x_66; obj* x_67; obj* x_68; obj* x_70; obj* x_72; obj* x_75; obj* x_76; +lean::dec(x_26); +x_60 = lean::cnstr_get(x_2, 0); +lean::inc(x_60); +x_62 = lean::cnstr_get(x_2, 1); lean::inc(x_62); -x_64 = lean::cnstr_get(x_2, 1); -lean::inc(x_64); -x_66 = lean::box(0); -x_67 = lean_name_mk_string(x_66, x_21); -x_68 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_command_notation__spec_precedence__lit_parser___spec__1), 7, 2); -lean::closure_set(x_68, 0, x_0); -lean::closure_set(x_68, 1, x_55); -x_69 = l_lean_parser_token__map_insert___rarg(x_64, x_67, x_68); -x_70 = lean::cnstr_get(x_2, 2); +x_64 = lean::box(0); +x_65 = lean_name_mk_string(x_64, x_49); +x_66 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_command_notation__spec_precedence__lit_parser___spec__1), 7, 2); +lean::closure_set(x_66, 0, x_0); +lean::closure_set(x_66, 1, x_52); +x_67 = l_lean_parser_token__map_insert___rarg(x_62, x_65, x_66); +x_68 = lean::cnstr_get(x_2, 2); +lean::inc(x_68); +x_70 = lean::cnstr_get(x_2, 3); lean::inc(x_70); -x_72 = lean::cnstr_get(x_2, 3); +x_72 = lean::cnstr_get(x_2, 4); lean::inc(x_72); -x_74 = lean::cnstr_get(x_2, 4); -lean::inc(x_74); lean::dec(x_2); -x_77 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_77, 0, x_62); -lean::cnstr_set(x_77, 1, x_69); -lean::cnstr_set(x_77, 2, x_70); -lean::cnstr_set(x_77, 3, x_72); -lean::cnstr_set(x_77, 4, x_74); -if (lean::is_scalar(x_20)) { - x_78 = lean::alloc_cnstr(1, 1, 0); +x_75 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_75, 0, x_60); +lean::cnstr_set(x_75, 1, x_67); +lean::cnstr_set(x_75, 2, x_68); +lean::cnstr_set(x_75, 3, x_70); +lean::cnstr_set(x_75, 4, x_72); +if (lean::is_scalar(x_42)) { + x_76 = lean::alloc_cnstr(1, 1, 0); } else { - x_78 = x_20; + x_76 = x_42; } -lean::cnstr_set(x_78, 0, x_77); -return x_78; +lean::cnstr_set(x_76, 0, x_75); +return x_76; } else { -obj* x_80; obj* x_82; obj* x_84; obj* x_86; obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_95; obj* x_98; obj* x_99; -lean::dec(x_59); -x_80 = lean::cnstr_get(x_2, 0); -lean::inc(x_80); -x_82 = lean::cnstr_get(x_2, 1); -lean::inc(x_82); -x_84 = lean::cnstr_get(x_2, 2); -lean::inc(x_84); -x_86 = lean::box(0); -x_87 = lean_name_mk_string(x_86, x_21); -x_88 = l_list_map___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__5(x_55); -x_89 = l_lean_elaborator_command__parser__config_register__notation__parser___closed__1; -x_90 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_90, 0, x_89); -lean::cnstr_set(x_90, 1, x_88); -x_91 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3), 8, 2); -lean::closure_set(x_91, 0, x_0); -lean::closure_set(x_91, 1, x_90); -x_92 = l_lean_parser_token__map_insert___rarg(x_84, x_87, x_91); -x_93 = lean::cnstr_get(x_2, 3); -lean::inc(x_93); -x_95 = lean::cnstr_get(x_2, 4); -lean::inc(x_95); -lean::dec(x_2); -x_98 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_98, 0, x_80); -lean::cnstr_set(x_98, 1, x_82); -lean::cnstr_set(x_98, 2, x_92); -lean::cnstr_set(x_98, 3, x_93); -lean::cnstr_set(x_98, 4, x_95); -if (lean::is_scalar(x_20)) { - x_99 = lean::alloc_cnstr(1, 1, 0); -} else { - x_99 = x_20; -} -lean::cnstr_set(x_99, 0, x_98); -return x_99; -} -} -else -{ -obj* x_101; +obj* x_78; obj* x_80; obj* x_82; obj* x_84; obj* x_85; obj* x_86; obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_93; obj* x_96; obj* x_97; lean::dec(x_56); -x_101 = lean::cnstr_get(x_3, 0); -lean::inc(x_101); -lean::dec(x_3); -if (lean::obj_tag(x_101) == 0) -{ -obj* x_104; obj* x_106; obj* x_108; obj* x_110; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_119; obj* x_120; -x_104 = lean::cnstr_get(x_2, 0); -lean::inc(x_104); -x_106 = lean::cnstr_get(x_2, 1); -lean::inc(x_106); -x_108 = lean::cnstr_get(x_2, 2); -lean::inc(x_108); -x_110 = lean::cnstr_get(x_2, 3); -lean::inc(x_110); -x_112 = lean::box(0); -x_113 = lean_name_mk_string(x_112, x_21); -x_114 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_command_notation__spec_precedence__lit_parser___spec__1), 7, 2); -lean::closure_set(x_114, 0, x_0); -lean::closure_set(x_114, 1, x_55); -x_115 = l_lean_parser_token__map_insert___rarg(x_110, x_113, x_114); -x_116 = lean::cnstr_get(x_2, 4); -lean::inc(x_116); -lean::dec(x_2); -x_119 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_119, 0, x_104); -lean::cnstr_set(x_119, 1, x_106); -lean::cnstr_set(x_119, 2, x_108); -lean::cnstr_set(x_119, 3, x_115); -lean::cnstr_set(x_119, 4, x_116); -if (lean::is_scalar(x_20)) { - x_120 = lean::alloc_cnstr(1, 1, 0); +x_78 = lean::cnstr_get(x_2, 0); +lean::inc(x_78); +x_80 = lean::cnstr_get(x_2, 1); +lean::inc(x_80); +x_82 = lean::cnstr_get(x_2, 2); +lean::inc(x_82); +x_84 = lean::box(0); +x_85 = lean_name_mk_string(x_84, x_49); +x_86 = l_list_map___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__5(x_52); +x_87 = l_lean_elaborator_command__parser__config_register__notation__parser___closed__1; +if (lean::is_scalar(x_26)) { + x_88 = lean::alloc_cnstr(1, 2, 0); } else { - x_120 = x_20; + x_88 = x_26; +} +lean::cnstr_set(x_88, 0, x_87); +lean::cnstr_set(x_88, 1, x_86); +x_89 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3), 8, 2); +lean::closure_set(x_89, 0, x_0); +lean::closure_set(x_89, 1, x_88); +x_90 = l_lean_parser_token__map_insert___rarg(x_82, x_85, x_89); +x_91 = lean::cnstr_get(x_2, 3); +lean::inc(x_91); +x_93 = lean::cnstr_get(x_2, 4); +lean::inc(x_93); +lean::dec(x_2); +x_96 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_96, 0, x_78); +lean::cnstr_set(x_96, 1, x_80); +lean::cnstr_set(x_96, 2, x_90); +lean::cnstr_set(x_96, 3, x_91); +lean::cnstr_set(x_96, 4, x_93); +if (lean::is_scalar(x_42)) { + x_97 = lean::alloc_cnstr(1, 1, 0); +} else { + x_97 = x_42; +} +lean::cnstr_set(x_97, 0, x_96); +return x_97; } -lean::cnstr_set(x_120, 0, x_119); -return x_120; } else { -obj* x_122; obj* x_124; obj* x_126; obj* x_128; obj* x_130; obj* x_133; obj* x_134; obj* x_135; obj* x_136; obj* x_137; obj* x_138; obj* x_139; obj* x_140; obj* x_141; -lean::dec(x_101); -x_122 = lean::cnstr_get(x_2, 0); -lean::inc(x_122); -x_124 = lean::cnstr_get(x_2, 1); -lean::inc(x_124); -x_126 = lean::cnstr_get(x_2, 2); -lean::inc(x_126); -x_128 = lean::cnstr_get(x_2, 3); -lean::inc(x_128); -x_130 = lean::cnstr_get(x_2, 4); -lean::inc(x_130); +obj* x_99; +lean::dec(x_53); +x_99 = lean::cnstr_get(x_3, 0); +lean::inc(x_99); +lean::dec(x_3); +if (lean::obj_tag(x_99) == 0) +{ +obj* x_103; obj* x_105; obj* x_107; obj* x_109; obj* x_111; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_118; obj* x_119; +lean::dec(x_26); +x_103 = lean::cnstr_get(x_2, 0); +lean::inc(x_103); +x_105 = lean::cnstr_get(x_2, 1); +lean::inc(x_105); +x_107 = lean::cnstr_get(x_2, 2); +lean::inc(x_107); +x_109 = lean::cnstr_get(x_2, 3); +lean::inc(x_109); +x_111 = lean::box(0); +x_112 = lean_name_mk_string(x_111, x_49); +x_113 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_command_notation__spec_precedence__lit_parser___spec__1), 7, 2); +lean::closure_set(x_113, 0, x_0); +lean::closure_set(x_113, 1, x_52); +x_114 = l_lean_parser_token__map_insert___rarg(x_109, x_112, x_113); +x_115 = lean::cnstr_get(x_2, 4); +lean::inc(x_115); lean::dec(x_2); -x_133 = lean::box(0); -x_134 = lean_name_mk_string(x_133, x_21); -x_135 = l_list_map___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__6(x_55); -x_136 = l_lean_elaborator_command__parser__config_register__notation__parser___closed__1; -x_137 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_137, 0, x_136); -lean::cnstr_set(x_137, 1, x_135); -x_138 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3), 8, 2); -lean::closure_set(x_138, 0, x_0); -lean::closure_set(x_138, 1, x_137); -x_139 = l_lean_parser_token__map_insert___rarg(x_130, x_134, x_138); -x_140 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_140, 0, x_122); -lean::cnstr_set(x_140, 1, x_124); -lean::cnstr_set(x_140, 2, x_126); -lean::cnstr_set(x_140, 3, x_128); -lean::cnstr_set(x_140, 4, x_139); -if (lean::is_scalar(x_20)) { - x_141 = lean::alloc_cnstr(1, 1, 0); +x_118 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_118, 0, x_103); +lean::cnstr_set(x_118, 1, x_105); +lean::cnstr_set(x_118, 2, x_107); +lean::cnstr_set(x_118, 3, x_114); +lean::cnstr_set(x_118, 4, x_115); +if (lean::is_scalar(x_42)) { + x_119 = lean::alloc_cnstr(1, 1, 0); } else { - x_141 = x_20; + x_119 = x_42; +} +lean::cnstr_set(x_119, 0, x_118); +return x_119; +} +else +{ +obj* x_121; obj* x_123; obj* x_125; obj* x_127; obj* x_129; obj* x_132; obj* x_133; obj* x_134; obj* x_135; obj* x_136; obj* x_137; obj* x_138; obj* x_139; obj* x_140; +lean::dec(x_99); +x_121 = lean::cnstr_get(x_2, 0); +lean::inc(x_121); +x_123 = lean::cnstr_get(x_2, 1); +lean::inc(x_123); +x_125 = lean::cnstr_get(x_2, 2); +lean::inc(x_125); +x_127 = lean::cnstr_get(x_2, 3); +lean::inc(x_127); +x_129 = lean::cnstr_get(x_2, 4); +lean::inc(x_129); +lean::dec(x_2); +x_132 = lean::box(0); +x_133 = lean_name_mk_string(x_132, x_49); +x_134 = l_list_map___main___at_lean_elaborator_command__parser__config_register__notation__parser___spec__6(x_52); +x_135 = l_lean_elaborator_command__parser__config_register__notation__parser___closed__1; +if (lean::is_scalar(x_26)) { + x_136 = lean::alloc_cnstr(1, 2, 0); +} else { + x_136 = x_26; +} +lean::cnstr_set(x_136, 0, x_135); +lean::cnstr_set(x_136, 1, x_134); +x_137 = lean::alloc_closure(reinterpret_cast(l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3), 8, 2); +lean::closure_set(x_137, 0, x_0); +lean::closure_set(x_137, 1, x_136); +x_138 = l_lean_parser_token__map_insert___rarg(x_129, x_133, x_137); +x_139 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_139, 0, x_121); +lean::cnstr_set(x_139, 1, x_123); +lean::cnstr_set(x_139, 2, x_125); +lean::cnstr_set(x_139, 3, x_127); +lean::cnstr_set(x_139, 4, x_138); +if (lean::is_scalar(x_42)) { + x_140 = lean::alloc_cnstr(1, 1, 0); +} else { + x_140 = x_42; +} +lean::cnstr_set(x_140, 0, x_139); +return x_140; } -lean::cnstr_set(x_141, 0, x_140); -return x_141; } } } @@ -25326,641 +26406,1331 @@ x_13 = lean::cnstr_get(x_11, 1); lean::inc(x_13); if (lean::obj_tag(x_13) == 0) { -obj* x_20; +obj* x_18; lean::dec(x_11); -lean::dec(x_6); lean::dec(x_9); -lean::dec(x_4); lean::dec(x_2); -x_20 = lean::box(0); -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_27; obj* x_29; obj* x_30; obj* x_32; obj* x_34; obj* x_36; -x_21 = lean::cnstr_get(x_2, 1); -lean::inc(x_21); -lean::dec(x_2); -x_24 = lean::cnstr_get(x_11, 3); -lean::inc(x_24); -lean::dec(x_11); -x_27 = lean::cnstr_get(x_13, 0); -if (lean::is_exclusive(x_13)) { - lean::cnstr_set(x_13, 0, lean::box(0)); - x_29 = x_13; -} else { - lean::inc(x_27); - lean::dec(x_13); - x_29 = lean::box(0); -} -x_30 = lean::cnstr_get(x_21, 0); -lean::inc(x_30); -x_36 = lean::cnstr_get(x_30, 1); -lean::inc(x_36); -if (lean::obj_tag(x_36) == 0) -{ -obj* x_46; -lean::dec(x_6); -lean::dec(x_29); -lean::dec(x_30); -lean::dec(x_9); -lean::dec(x_4); -lean::dec(x_21); -lean::dec(x_24); -lean::dec(x_27); -x_46 = lean::box(0); -return x_46; -} -else -{ -obj* x_47; obj* x_49; obj* x_52; obj* x_55; obj* x_57; obj* x_60; uint8 x_62; -x_47 = lean::cnstr_get(x_30, 3); -lean::inc(x_47); -x_49 = lean::cnstr_get(x_36, 0); -lean::inc(x_49); -lean::dec(x_36); -x_52 = lean::cnstr_get(x_27, 1); -lean::inc(x_52); -lean::dec(x_27); -x_55 = l_string_trim(x_52); -lean::dec(x_52); -x_57 = lean::cnstr_get(x_49, 1); -lean::inc(x_57); -lean::dec(x_49); -x_60 = l_string_trim(x_57); -lean::dec(x_57); -x_62 = lean::string_dec_eq(x_55, x_60); -lean::dec(x_60); -lean::dec(x_55); -if (x_62 == 0) -{ -obj* x_73; -lean::dec(x_6); -lean::dec(x_29); -lean::dec(x_30); -lean::dec(x_9); -lean::dec(x_4); -lean::dec(x_21); -lean::dec(x_24); -lean::dec(x_47); -x_73 = lean::box(0); -return x_73; -} -else -{ -uint8 x_74; -x_74 = l_lean_elaborator_match__precedence___main(x_24, x_47); -if (x_74 == 0) -{ -obj* x_81; -lean::dec(x_6); -lean::dec(x_29); -lean::dec(x_30); -lean::dec(x_9); -lean::dec(x_4); -lean::dec(x_21); -x_81 = lean::box(0); -return x_81; -} -else -{ -obj* x_82; -x_82 = lean::box(0); -x_34 = x_82; -goto lbl_35; -} -} -} -lbl_33: -{ -if (lean::obj_tag(x_32) == 0) -{ -obj* x_86; -lean::dec(x_6); -lean::dec(x_30); -lean::dec(x_4); -x_86 = lean::box(0); -return x_86; -} -else -{ -obj* x_87; obj* x_90; -x_87 = lean::cnstr_get(x_32, 0); -lean::inc(x_87); -lean::dec(x_32); -x_90 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_90, 0, x_30); -lean::cnstr_set(x_90, 1, x_87); -x_7 = x_90; +x_18 = lean::box(0); +x_7 = x_18; goto lbl_8; } -} -lbl_35: +else { -obj* x_92; -lean::dec(x_34); -x_92 = lean::cnstr_get(x_9, 1); -lean::inc(x_92); +obj* x_19; obj* x_22; obj* x_25; obj* x_28; obj* x_30; obj* x_32; +x_19 = lean::cnstr_get(x_2, 1); +lean::inc(x_19); +lean::dec(x_2); +x_22 = lean::cnstr_get(x_11, 3); +lean::inc(x_22); +lean::dec(x_11); +x_25 = lean::cnstr_get(x_13, 0); +lean::inc(x_25); +lean::dec(x_13); +x_28 = lean::cnstr_get(x_19, 0); +lean::inc(x_28); +x_32 = lean::cnstr_get(x_28, 1); +lean::inc(x_32); +if (lean::obj_tag(x_32) == 0) +{ +obj* x_39; +lean::dec(x_28); lean::dec(x_9); -if (lean::obj_tag(x_92) == 0) -{ -obj* x_95; -x_95 = lean::cnstr_get(x_21, 1); -lean::inc(x_95); -lean::dec(x_21); -if (lean::obj_tag(x_95) == 0) -{ -obj* x_98; -if (lean::is_scalar(x_29)) { - x_98 = lean::alloc_cnstr(1, 1, 0); -} else { - x_98 = x_29; -} -lean::cnstr_set(x_98, 0, x_95); -x_32 = x_98; -goto lbl_33; +lean::dec(x_19); +lean::dec(x_22); +lean::dec(x_25); +x_39 = lean::box(0); +x_7 = x_39; +goto lbl_8; } else { -obj* x_101; -lean::dec(x_29); -lean::dec(x_95); -x_101 = lean::box(0); -x_32 = x_101; -goto lbl_33; +obj* x_40; obj* x_42; obj* x_44; obj* x_45; obj* x_48; obj* x_50; obj* x_53; uint8 x_55; +x_40 = lean::cnstr_get(x_28, 3); +lean::inc(x_40); +x_42 = lean::cnstr_get(x_32, 0); +if (lean::is_exclusive(x_32)) { + lean::cnstr_set(x_32, 0, lean::box(0)); + x_44 = x_32; +} else { + lean::inc(x_42); + lean::dec(x_32); + x_44 = lean::box(0); +} +x_45 = lean::cnstr_get(x_25, 1); +lean::inc(x_45); +lean::dec(x_25); +x_48 = l_string_trim(x_45); +lean::dec(x_45); +x_50 = lean::cnstr_get(x_42, 1); +lean::inc(x_50); +lean::dec(x_42); +x_53 = l_string_trim(x_50); +lean::dec(x_50); +x_55 = lean::string_dec_eq(x_48, x_53); +lean::dec(x_53); +lean::dec(x_48); +if (x_55 == 0) +{ +obj* x_64; +lean::dec(x_28); +lean::dec(x_9); +lean::dec(x_40); +lean::dec(x_19); +lean::dec(x_22); +lean::dec(x_44); +x_64 = lean::box(0); +x_7 = x_64; +goto lbl_8; +} +else +{ +uint8 x_65; +x_65 = l_lean_elaborator_match__precedence___main(x_22, x_40); +if (x_65 == 0) +{ +obj* x_70; +lean::dec(x_28); +lean::dec(x_9); +lean::dec(x_19); +lean::dec(x_44); +x_70 = lean::box(0); +x_7 = x_70; +goto lbl_8; +} +else +{ +obj* x_71; +x_71 = lean::cnstr_get(x_9, 1); +lean::inc(x_71); +lean::dec(x_9); +if (lean::obj_tag(x_71) == 0) +{ +obj* x_74; +x_74 = lean::cnstr_get(x_19, 1); +lean::inc(x_74); +lean::dec(x_19); +if (lean::obj_tag(x_74) == 0) +{ +obj* x_77; +if (lean::is_scalar(x_44)) { + x_77 = lean::alloc_cnstr(1, 1, 0); +} else { + x_77 = x_44; +} +lean::cnstr_set(x_77, 0, x_74); +x_30 = x_77; +goto lbl_31; +} +else +{ +obj* x_80; +lean::dec(x_44); +lean::dec(x_74); +x_80 = lean::box(0); +x_30 = x_80; +goto lbl_31; } } else { -obj* x_103; obj* x_105; -lean::dec(x_29); -x_103 = lean::cnstr_get(x_92, 0); -if (lean::is_exclusive(x_92)) { - lean::cnstr_set(x_92, 0, lean::box(0)); - x_105 = x_92; +obj* x_82; obj* x_84; +lean::dec(x_44); +x_82 = lean::cnstr_get(x_71, 0); +if (lean::is_exclusive(x_71)) { + lean::cnstr_set(x_71, 0, lean::box(0)); + x_84 = x_71; } else { - lean::inc(x_103); - lean::dec(x_92); - x_105 = lean::box(0); + lean::inc(x_82); + lean::dec(x_71); + x_84 = lean::box(0); } -switch (lean::obj_tag(x_103)) { +switch (lean::obj_tag(x_82)) { case 0: { -obj* x_106; -x_106 = lean::cnstr_get(x_21, 1); -lean::inc(x_106); -lean::dec(x_21); -if (lean::obj_tag(x_106) == 0) +obj* x_85; +x_85 = lean::cnstr_get(x_19, 1); +lean::inc(x_85); +lean::dec(x_19); +if (lean::obj_tag(x_85) == 0) { -obj* x_111; -lean::dec(x_105); -lean::dec(x_103); -x_111 = lean::box(0); -x_32 = x_111; -goto lbl_33; +obj* x_90; +lean::dec(x_84); +lean::dec(x_82); +x_90 = lean::box(0); +x_30 = x_90; +goto lbl_31; } else { -obj* x_112; -x_112 = lean::cnstr_get(x_106, 0); -lean::inc(x_112); -switch (lean::obj_tag(x_112)) { +obj* x_91; +x_91 = lean::cnstr_get(x_85, 0); +lean::inc(x_91); +switch (lean::obj_tag(x_91)) { case 0: { -obj* x_114; obj* x_117; obj* x_120; obj* x_123; uint8 x_126; -x_114 = lean::cnstr_get(x_103, 0); -lean::inc(x_114); -lean::dec(x_103); -x_117 = lean::cnstr_get(x_112, 0); -lean::inc(x_117); -lean::dec(x_112); -x_120 = lean::cnstr_get(x_114, 1); -lean::inc(x_120); -lean::dec(x_114); -x_123 = lean::cnstr_get(x_117, 1); +obj* x_93; obj* x_96; obj* x_99; obj* x_102; uint8 x_105; +x_93 = lean::cnstr_get(x_82, 0); +lean::inc(x_93); +lean::dec(x_82); +x_96 = lean::cnstr_get(x_91, 0); +lean::inc(x_96); +lean::dec(x_91); +x_99 = lean::cnstr_get(x_93, 1); +lean::inc(x_99); +lean::dec(x_93); +x_102 = lean::cnstr_get(x_96, 1); +lean::inc(x_102); +lean::dec(x_96); +x_105 = l_lean_elaborator_match__precedence___main(x_99, x_102); +if (x_105 == 0) +{ +obj* x_108; +lean::dec(x_85); +lean::dec(x_84); +x_108 = lean::box(0); +x_30 = x_108; +goto lbl_31; +} +else +{ +obj* x_109; +if (lean::is_scalar(x_84)) { + x_109 = lean::alloc_cnstr(1, 1, 0); +} else { + x_109 = x_84; +} +lean::cnstr_set(x_109, 0, x_85); +x_30 = x_109; +goto lbl_31; +} +} +default: +{ +obj* x_114; +lean::dec(x_85); +lean::dec(x_84); +lean::dec(x_91); +lean::dec(x_82); +x_114 = lean::box(0); +x_30 = x_114; +goto lbl_31; +} +} +} +} +case 1: +{ +obj* x_115; +x_115 = lean::cnstr_get(x_19, 1); +lean::inc(x_115); +lean::dec(x_19); +if (lean::obj_tag(x_115) == 0) +{ +obj* x_120; +lean::dec(x_84); +lean::dec(x_82); +x_120 = lean::box(0); +x_30 = x_120; +goto lbl_31; +} +else +{ +obj* x_121; +x_121 = lean::cnstr_get(x_115, 0); +lean::inc(x_121); +switch (lean::obj_tag(x_121)) { +case 1: +{ +obj* x_123; obj* x_126; obj* x_129; obj* x_132; uint8 x_135; +x_123 = lean::cnstr_get(x_82, 0); lean::inc(x_123); -lean::dec(x_117); -x_126 = l_lean_elaborator_match__precedence___main(x_120, x_123); -if (x_126 == 0) +lean::dec(x_82); +x_126 = lean::cnstr_get(x_121, 0); +lean::inc(x_126); +lean::dec(x_121); +x_129 = lean::cnstr_get(x_123, 1); +lean::inc(x_129); +lean::dec(x_123); +x_132 = lean::cnstr_get(x_126, 1); +lean::inc(x_132); +lean::dec(x_126); +x_135 = l_lean_elaborator_match__precedence___main(x_129, x_132); +if (x_135 == 0) { -obj* x_129; -lean::dec(x_105); -lean::dec(x_106); -x_129 = lean::box(0); -x_32 = x_129; -goto lbl_33; +obj* x_138; +lean::dec(x_84); +lean::dec(x_115); +x_138 = lean::box(0); +x_30 = x_138; +goto lbl_31; } else { -obj* x_130; -if (lean::is_scalar(x_105)) { - x_130 = lean::alloc_cnstr(1, 1, 0); +obj* x_139; +if (lean::is_scalar(x_84)) { + x_139 = lean::alloc_cnstr(1, 1, 0); } else { - x_130 = x_105; + x_139 = x_84; } -lean::cnstr_set(x_130, 0, x_106); -x_32 = x_130; -goto lbl_33; +lean::cnstr_set(x_139, 0, x_115); +x_30 = x_139; +goto lbl_31; } } default: { -obj* x_135; -lean::dec(x_105); -lean::dec(x_103); -lean::dec(x_106); -lean::dec(x_112); -x_135 = lean::box(0); -x_32 = x_135; -goto lbl_33; +obj* x_144; +lean::dec(x_84); +lean::dec(x_82); +lean::dec(x_121); +lean::dec(x_115); +x_144 = lean::box(0); +x_30 = x_144; +goto lbl_31; } } } } -case 1: +default: { -obj* x_136; -x_136 = lean::cnstr_get(x_21, 1); -lean::inc(x_136); -lean::dec(x_21); -if (lean::obj_tag(x_136) == 0) -{ -obj* x_141; -lean::dec(x_105); -lean::dec(x_103); -x_141 = lean::box(0); -x_32 = x_141; -goto lbl_33; +obj* x_145; obj* x_147; obj* x_148; obj* x_150; +x_145 = lean::cnstr_get(x_82, 0); +if (lean::is_exclusive(x_82)) { + lean::cnstr_set(x_82, 0, lean::box(0)); + x_147 = x_82; +} else { + lean::inc(x_145); + lean::dec(x_82); + x_147 = lean::box(0); } -else -{ -obj* x_142; -x_142 = lean::cnstr_get(x_136, 0); -lean::inc(x_142); -switch (lean::obj_tag(x_142)) { -case 1: -{ -obj* x_144; obj* x_147; obj* x_150; obj* x_153; uint8 x_156; -x_144 = lean::cnstr_get(x_103, 0); -lean::inc(x_144); -lean::dec(x_103); -x_147 = lean::cnstr_get(x_142, 0); -lean::inc(x_147); -lean::dec(x_142); -x_150 = lean::cnstr_get(x_144, 1); +x_150 = lean::cnstr_get(x_19, 1); lean::inc(x_150); -lean::dec(x_144); -x_153 = lean::cnstr_get(x_147, 1); -lean::inc(x_153); +lean::dec(x_19); +if (lean::obj_tag(x_150) == 0) +{ +obj* x_156; +lean::dec(x_84); lean::dec(x_147); -x_156 = l_lean_elaborator_match__precedence___main(x_150, x_153); -if (x_156 == 0) -{ -obj* x_159; -lean::dec(x_105); -lean::dec(x_136); -x_159 = lean::box(0); -x_32 = x_159; -goto lbl_33; +lean::dec(x_145); +x_156 = lean::box(0); +x_30 = x_156; +goto lbl_31; } else { -obj* x_160; -if (lean::is_scalar(x_105)) { - x_160 = lean::alloc_cnstr(1, 1, 0); +obj* x_157; obj* x_159; +x_157 = lean::cnstr_get(x_150, 0); +if (lean::is_exclusive(x_150)) { + lean::cnstr_set(x_150, 0, lean::box(0)); + x_159 = x_150; } else { - x_160 = x_105; + lean::inc(x_157); + lean::dec(x_150); + x_159 = lean::box(0); } -lean::cnstr_set(x_160, 0, x_136); -x_32 = x_160; -goto lbl_33; -} -} -default: -{ -obj* x_165; -lean::dec(x_105); -lean::dec(x_103); -lean::dec(x_136); -lean::dec(x_142); -x_165 = lean::box(0); -x_32 = x_165; -goto lbl_33; -} -} -} -} -default: -{ -obj* x_166; obj* x_168; obj* x_169; obj* x_171; -x_166 = lean::cnstr_get(x_103, 0); -if (lean::is_exclusive(x_103)) { - lean::cnstr_set(x_103, 0, lean::box(0)); - x_168 = x_103; -} else { - lean::inc(x_166); - lean::dec(x_103); - x_168 = lean::box(0); -} -x_171 = lean::cnstr_get(x_21, 1); -lean::inc(x_171); -lean::dec(x_21); -if (lean::obj_tag(x_171) == 0) -{ -obj* x_177; -lean::dec(x_105); -lean::dec(x_168); -lean::dec(x_166); -x_177 = lean::box(0); -x_32 = x_177; -goto lbl_33; -} -else -{ -obj* x_178; obj* x_180; -x_178 = lean::cnstr_get(x_171, 0); -if (lean::is_exclusive(x_171)) { - lean::cnstr_set(x_171, 0, lean::box(0)); - x_180 = x_171; -} else { - lean::inc(x_178); - lean::dec(x_171); - x_180 = lean::box(0); -} -switch (lean::obj_tag(x_178)) { +switch (lean::obj_tag(x_157)) { case 2: { -obj* x_181; obj* x_184; obj* x_186; -x_181 = lean::cnstr_get(x_178, 0); -lean::inc(x_181); -lean::dec(x_178); -x_184 = lean::cnstr_get(x_166, 1); -lean::inc(x_184); -if (lean::obj_tag(x_184) == 0) +obj* x_160; +x_160 = lean::cnstr_get(x_145, 1); +lean::inc(x_160); +if (lean::obj_tag(x_160) == 0) { -obj* x_188; -x_188 = lean::cnstr_get(x_181, 1); -lean::inc(x_188); -lean::dec(x_181); -if (lean::obj_tag(x_188) == 0) +obj* x_162; obj* x_165; +x_162 = lean::cnstr_get(x_157, 0); +lean::inc(x_162); +lean::dec(x_157); +x_165 = lean::cnstr_get(x_162, 1); +lean::inc(x_165); +lean::dec(x_162); +if (lean::obj_tag(x_165) == 0) { -obj* x_192; -lean::dec(x_180); -x_192 = lean::box(0); -x_169 = x_192; -goto lbl_170; +obj* x_169; +lean::dec(x_159); +x_169 = lean::box(0); +x_148 = x_169; +goto lbl_149; } else { -obj* x_193; obj* x_195; -x_193 = lean::cnstr_get(x_188, 0); -lean::inc(x_193); -x_195 = lean::cnstr_get(x_193, 1); -lean::inc(x_195); -lean::dec(x_193); -switch (lean::obj_tag(x_195)) { +obj* x_170; obj* x_172; +x_170 = lean::cnstr_get(x_165, 0); +lean::inc(x_170); +x_172 = lean::cnstr_get(x_170, 1); +lean::inc(x_172); +lean::dec(x_170); +switch (lean::obj_tag(x_172)) { case 0: { -obj* x_199; -lean::dec(x_195); -if (lean::is_scalar(x_180)) { - x_199 = lean::alloc_cnstr(1, 1, 0); +obj* x_176; +lean::dec(x_172); +if (lean::is_scalar(x_159)) { + x_176 = lean::alloc_cnstr(1, 1, 0); } else { - x_199 = x_180; + x_176 = x_159; } -lean::cnstr_set(x_199, 0, x_188); -x_169 = x_199; -goto lbl_170; +lean::cnstr_set(x_176, 0, x_165); +x_148 = x_176; +goto lbl_149; } default: { -obj* x_203; -lean::dec(x_195); -lean::dec(x_188); -lean::dec(x_180); -x_203 = lean::box(0); -x_169 = x_203; -goto lbl_170; +obj* x_180; +lean::dec(x_159); +lean::dec(x_172); +lean::dec(x_165); +x_180 = lean::box(0); +x_148 = x_180; +goto lbl_149; } } } } else { -obj* x_205; obj* x_207; -lean::dec(x_180); -x_205 = lean::cnstr_get(x_184, 0); -lean::inc(x_205); -x_207 = lean::cnstr_get(x_205, 1); -lean::inc(x_207); -lean::dec(x_205); -x_186 = x_207; -goto lbl_187; -} -lbl_187: -{ -switch (lean::obj_tag(x_186)) { +obj* x_182; obj* x_184; +lean::dec(x_159); +x_182 = lean::cnstr_get(x_160, 0); +lean::inc(x_182); +x_184 = lean::cnstr_get(x_182, 1); +lean::inc(x_184); +lean::dec(x_182); +switch (lean::obj_tag(x_184)) { case 0: { -obj* x_210; -x_210 = lean::cnstr_get(x_181, 1); -lean::inc(x_210); -lean::dec(x_181); -if (lean::obj_tag(x_210) == 0) +obj* x_187; obj* x_190; +x_187 = lean::cnstr_get(x_157, 0); +lean::inc(x_187); +lean::dec(x_157); +x_190 = lean::cnstr_get(x_187, 1); +lean::inc(x_190); +lean::dec(x_187); +if (lean::obj_tag(x_190) == 0) +{ +obj* x_195; +lean::dec(x_184); +lean::dec(x_160); +x_195 = lean::box(0); +x_148 = x_195; +goto lbl_149; +} +else +{ +obj* x_196; obj* x_198; obj* x_199; +x_196 = lean::cnstr_get(x_190, 0); +if (lean::is_exclusive(x_190)) { + lean::cnstr_set(x_190, 0, lean::box(0)); + x_198 = x_190; +} else { + lean::inc(x_196); + lean::dec(x_190); + x_198 = lean::box(0); +} +x_199 = lean::cnstr_get(x_196, 1); +lean::inc(x_199); +lean::dec(x_196); +switch (lean::obj_tag(x_199)) { +case 0: +{ +obj* x_202; obj* x_205; obj* x_208; obj* x_209; uint8 x_210; +x_202 = lean::cnstr_get(x_184, 0); +lean::inc(x_202); +lean::dec(x_184); +x_205 = lean::cnstr_get(x_199, 0); +lean::inc(x_205); +lean::dec(x_199); +x_208 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_202); +x_209 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_205); +x_210 = lean::nat_dec_eq(x_208, x_209); +lean::dec(x_209); +lean::dec(x_208); +if (x_210 == 0) { obj* x_215; -lean::dec(x_184); -lean::dec(x_186); +lean::dec(x_198); +lean::dec(x_160); x_215 = lean::box(0); -x_169 = x_215; -goto lbl_170; +x_148 = x_215; +goto lbl_149; } else { -obj* x_216; obj* x_218; obj* x_219; -x_216 = lean::cnstr_get(x_210, 0); -if (lean::is_exclusive(x_210)) { - lean::cnstr_set(x_210, 0, lean::box(0)); - x_218 = x_210; +obj* x_216; +if (lean::is_scalar(x_198)) { + x_216 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_216); - lean::dec(x_210); - x_218 = lean::box(0); + x_216 = x_198; } -x_219 = lean::cnstr_get(x_216, 1); -lean::inc(x_219); -lean::dec(x_216); -switch (lean::obj_tag(x_219)) { -case 0: +lean::cnstr_set(x_216, 0, x_160); +x_148 = x_216; +goto lbl_149; +} +} +default: { -obj* x_222; obj* x_225; obj* x_228; obj* x_229; uint8 x_230; -x_222 = lean::cnstr_get(x_186, 0); -lean::inc(x_222); -lean::dec(x_186); -x_225 = lean::cnstr_get(x_219, 0); -lean::inc(x_225); -lean::dec(x_219); -x_228 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_222); -x_229 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_225); -x_230 = lean::nat_dec_eq(x_228, x_229); -lean::dec(x_229); -lean::dec(x_228); -if (x_230 == 0) +obj* x_221; +lean::dec(x_198); +lean::dec(x_184); +lean::dec(x_199); +lean::dec(x_160); +x_221 = lean::box(0); +x_148 = x_221; +goto lbl_149; +} +} +} +} +default: +{ +obj* x_225; +lean::dec(x_184); +lean::dec(x_157); +lean::dec(x_160); +x_225 = lean::box(0); +x_148 = x_225; +goto lbl_149; +} +} +} +} +default: +{ +obj* x_231; +lean::dec(x_84); +lean::dec(x_159); +lean::dec(x_157); +lean::dec(x_147); +lean::dec(x_145); +x_231 = lean::box(0); +x_30 = x_231; +goto lbl_31; +} +} +} +lbl_149: +{ +if (lean::obj_tag(x_148) == 0) { obj* x_235; -lean::dec(x_218); -lean::dec(x_184); +lean::dec(x_84); +lean::dec(x_147); +lean::dec(x_145); x_235 = lean::box(0); -x_169 = x_235; -goto lbl_170; +x_30 = x_235; +goto lbl_31; } else { -obj* x_236; -if (lean::is_scalar(x_218)) { - x_236 = lean::alloc_cnstr(1, 1, 0); +obj* x_236; obj* x_238; obj* x_239; obj* x_242; obj* x_243; obj* x_244; obj* x_245; +x_236 = lean::cnstr_get(x_148, 0); +if (lean::is_exclusive(x_148)) { + x_238 = x_148; } else { - x_236 = x_218; + lean::inc(x_236); + lean::dec(x_148); + x_238 = lean::box(0); } -lean::cnstr_set(x_236, 0, x_184); -x_169 = x_236; -goto lbl_170; +x_239 = lean::cnstr_get(x_145, 0); +lean::inc(x_239); +lean::dec(x_145); +x_242 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_242, 0, x_239); +lean::cnstr_set(x_242, 1, x_236); +if (lean::is_scalar(x_147)) { + x_243 = lean::alloc_cnstr(2, 1, 0); +} else { + x_243 = x_147; +} +lean::cnstr_set(x_243, 0, x_242); +if (lean::is_scalar(x_238)) { + x_244 = lean::alloc_cnstr(1, 1, 0); +} else { + x_244 = x_238; +} +lean::cnstr_set(x_244, 0, x_243); +if (lean::is_scalar(x_84)) { + x_245 = lean::alloc_cnstr(1, 1, 0); +} else { + x_245 = x_84; +} +lean::cnstr_set(x_245, 0, x_244); +x_30 = x_245; +goto lbl_31; } } -default: +} +} +} +} +} +} +lbl_31: { -obj* x_241; -lean::dec(x_218); -lean::dec(x_219); -lean::dec(x_184); -lean::dec(x_186); -x_241 = lean::box(0); -x_169 = x_241; -goto lbl_170; -} -} -} -} -default: +if (lean::obj_tag(x_30) == 0) { -obj* x_245; -lean::dec(x_184); -lean::dec(x_186); -lean::dec(x_181); -x_245 = lean::box(0); -x_169 = x_245; -goto lbl_170; -} -} -} -} -default: -{ -obj* x_251; -lean::dec(x_105); -lean::dec(x_180); -lean::dec(x_178); -lean::dec(x_168); -lean::dec(x_166); -x_251 = lean::box(0); -x_32 = x_251; -goto lbl_33; -} -} -} -lbl_170: -{ -if (lean::obj_tag(x_169) == 0) -{ -obj* x_255; -lean::dec(x_105); -lean::dec(x_168); -lean::dec(x_166); -x_255 = lean::box(0); -x_32 = x_255; -goto lbl_33; +obj* x_247; +lean::dec(x_28); +x_247 = lean::box(0); +x_7 = x_247; +goto lbl_8; } else { -obj* x_256; obj* x_258; obj* x_259; obj* x_262; obj* x_263; obj* x_264; obj* x_265; -x_256 = lean::cnstr_get(x_169, 0); -if (lean::is_exclusive(x_169)) { - x_258 = x_169; +obj* x_248; obj* x_250; obj* x_251; obj* x_252; +x_248 = lean::cnstr_get(x_30, 0); +if (lean::is_exclusive(x_30)) { + x_250 = x_30; } else { - lean::inc(x_256); - lean::dec(x_169); - x_258 = lean::box(0); + lean::inc(x_248); + lean::dec(x_30); + x_250 = lean::box(0); } -x_259 = lean::cnstr_get(x_166, 0); -lean::inc(x_259); -lean::dec(x_166); -x_262 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_262, 0, x_259); -lean::cnstr_set(x_262, 1, x_256); -if (lean::is_scalar(x_168)) { - x_263 = lean::alloc_cnstr(2, 1, 0); +x_251 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_251, 0, x_28); +lean::cnstr_set(x_251, 1, x_248); +if (lean::is_scalar(x_250)) { + x_252 = lean::alloc_cnstr(1, 1, 0); } else { - x_263 = x_168; -} -lean::cnstr_set(x_263, 0, x_262); -if (lean::is_scalar(x_258)) { - x_264 = lean::alloc_cnstr(1, 1, 0); -} else { - x_264 = x_258; -} -lean::cnstr_set(x_264, 0, x_263); -if (lean::is_scalar(x_105)) { - x_265 = lean::alloc_cnstr(1, 1, 0); -} else { - x_265 = x_105; -} -lean::cnstr_set(x_265, 0, x_264); -x_32 = x_265; -goto lbl_33; -} -} -} + x_252 = x_250; } +lean::cnstr_set(x_252, 0, x_251); +x_7 = x_252; +goto lbl_8; } } } lbl_8: { -obj* x_266; -x_266 = l_list_mmap___main___at_lean_elaborator_match__spec___spec__1(x_4); -if (lean::obj_tag(x_266) == 0) +if (lean::obj_tag(x_7) == 0) { -obj* x_269; +obj* x_255; lean::dec(x_6); -lean::dec(x_7); -x_269 = lean::box(0); -return x_269; +lean::dec(x_4); +x_255 = lean::box(0); +return x_255; } else { -obj* x_270; obj* x_272; obj* x_273; obj* x_274; -x_270 = lean::cnstr_get(x_266, 0); -if (lean::is_exclusive(x_266)) { - x_272 = x_266; +obj* x_256; obj* x_259; +x_256 = lean::cnstr_get(x_7, 0); +lean::inc(x_256); +lean::dec(x_7); +x_259 = l_list_mmap___main___at_lean_elaborator_match__spec___spec__1(x_4); +if (lean::obj_tag(x_259) == 0) +{ +obj* x_262; +lean::dec(x_6); +lean::dec(x_256); +x_262 = lean::box(0); +return x_262; +} +else +{ +obj* x_263; obj* x_265; obj* x_266; obj* x_267; +x_263 = lean::cnstr_get(x_259, 0); +if (lean::is_exclusive(x_259)) { + x_265 = x_259; } else { - lean::inc(x_270); - lean::dec(x_266); - x_272 = lean::box(0); + lean::inc(x_263); + lean::dec(x_259); + x_265 = lean::box(0); } if (lean::is_scalar(x_6)) { - x_273 = lean::alloc_cnstr(1, 2, 0); + x_266 = lean::alloc_cnstr(1, 2, 0); } else { - x_273 = x_6; + x_266 = x_6; } -lean::cnstr_set(x_273, 0, x_7); -lean::cnstr_set(x_273, 1, x_270); -if (lean::is_scalar(x_272)) { - x_274 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_266, 0, x_256); +lean::cnstr_set(x_266, 1, x_263); +if (lean::is_scalar(x_265)) { + x_267 = lean::alloc_cnstr(1, 1, 0); } else { - x_274 = x_272; + x_267 = x_265; +} +lean::cnstr_set(x_267, 0, x_266); +return x_267; +} +} +} +} +} +} +obj* l_list_mmap___main___at_lean_elaborator_match__spec___spec__2(obj* x_0) { +_start: +{ +if (lean::obj_tag(x_0) == 0) +{ +obj* x_1; +x_1 = l_lean_parser_syntax_reprint__lst___main___closed__1; +return x_1; +} +else +{ +obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_9; obj* x_11; obj* x_13; +x_2 = lean::cnstr_get(x_0, 0); +x_4 = lean::cnstr_get(x_0, 1); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + x_6 = x_0; +} else { + lean::inc(x_2); + lean::inc(x_4); + lean::dec(x_0); + x_6 = lean::box(0); +} +x_9 = lean::cnstr_get(x_2, 0); +lean::inc(x_9); +x_11 = lean::cnstr_get(x_9, 0); +lean::inc(x_11); +x_13 = lean::cnstr_get(x_11, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_18; +lean::dec(x_11); +lean::dec(x_9); +lean::dec(x_2); +x_18 = lean::box(0); +x_7 = x_18; +goto lbl_8; +} +else +{ +obj* x_19; obj* x_22; obj* x_25; obj* x_28; obj* x_30; obj* x_32; +x_19 = lean::cnstr_get(x_2, 1); +lean::inc(x_19); +lean::dec(x_2); +x_22 = lean::cnstr_get(x_11, 3); +lean::inc(x_22); +lean::dec(x_11); +x_25 = lean::cnstr_get(x_13, 0); +lean::inc(x_25); +lean::dec(x_13); +x_28 = lean::cnstr_get(x_19, 0); +lean::inc(x_28); +x_32 = lean::cnstr_get(x_28, 1); +lean::inc(x_32); +if (lean::obj_tag(x_32) == 0) +{ +obj* x_39; +lean::dec(x_28); +lean::dec(x_9); +lean::dec(x_19); +lean::dec(x_22); +lean::dec(x_25); +x_39 = lean::box(0); +x_7 = x_39; +goto lbl_8; +} +else +{ +obj* x_40; obj* x_42; obj* x_44; obj* x_45; obj* x_48; obj* x_50; obj* x_53; uint8 x_55; +x_40 = lean::cnstr_get(x_28, 3); +lean::inc(x_40); +x_42 = lean::cnstr_get(x_32, 0); +if (lean::is_exclusive(x_32)) { + lean::cnstr_set(x_32, 0, lean::box(0)); + x_44 = x_32; +} else { + lean::inc(x_42); + lean::dec(x_32); + x_44 = lean::box(0); +} +x_45 = lean::cnstr_get(x_25, 1); +lean::inc(x_45); +lean::dec(x_25); +x_48 = l_string_trim(x_45); +lean::dec(x_45); +x_50 = lean::cnstr_get(x_42, 1); +lean::inc(x_50); +lean::dec(x_42); +x_53 = l_string_trim(x_50); +lean::dec(x_50); +x_55 = lean::string_dec_eq(x_48, x_53); +lean::dec(x_53); +lean::dec(x_48); +if (x_55 == 0) +{ +obj* x_64; +lean::dec(x_28); +lean::dec(x_9); +lean::dec(x_40); +lean::dec(x_19); +lean::dec(x_22); +lean::dec(x_44); +x_64 = lean::box(0); +x_7 = x_64; +goto lbl_8; +} +else +{ +uint8 x_65; +x_65 = l_lean_elaborator_match__precedence___main(x_22, x_40); +if (x_65 == 0) +{ +obj* x_70; +lean::dec(x_28); +lean::dec(x_9); +lean::dec(x_19); +lean::dec(x_44); +x_70 = lean::box(0); +x_7 = x_70; +goto lbl_8; +} +else +{ +obj* x_71; +x_71 = lean::cnstr_get(x_9, 1); +lean::inc(x_71); +lean::dec(x_9); +if (lean::obj_tag(x_71) == 0) +{ +obj* x_74; +x_74 = lean::cnstr_get(x_19, 1); +lean::inc(x_74); +lean::dec(x_19); +if (lean::obj_tag(x_74) == 0) +{ +obj* x_77; +if (lean::is_scalar(x_44)) { + x_77 = lean::alloc_cnstr(1, 1, 0); +} else { + x_77 = x_44; +} +lean::cnstr_set(x_77, 0, x_74); +x_30 = x_77; +goto lbl_31; +} +else +{ +obj* x_80; +lean::dec(x_44); +lean::dec(x_74); +x_80 = lean::box(0); +x_30 = x_80; +goto lbl_31; +} +} +else +{ +obj* x_82; obj* x_84; +lean::dec(x_44); +x_82 = lean::cnstr_get(x_71, 0); +if (lean::is_exclusive(x_71)) { + lean::cnstr_set(x_71, 0, lean::box(0)); + x_84 = x_71; +} else { + lean::inc(x_82); + lean::dec(x_71); + x_84 = lean::box(0); +} +switch (lean::obj_tag(x_82)) { +case 0: +{ +obj* x_85; +x_85 = lean::cnstr_get(x_19, 1); +lean::inc(x_85); +lean::dec(x_19); +if (lean::obj_tag(x_85) == 0) +{ +obj* x_90; +lean::dec(x_84); +lean::dec(x_82); +x_90 = lean::box(0); +x_30 = x_90; +goto lbl_31; +} +else +{ +obj* x_91; +x_91 = lean::cnstr_get(x_85, 0); +lean::inc(x_91); +switch (lean::obj_tag(x_91)) { +case 0: +{ +obj* x_93; obj* x_96; obj* x_99; obj* x_102; uint8 x_105; +x_93 = lean::cnstr_get(x_82, 0); +lean::inc(x_93); +lean::dec(x_82); +x_96 = lean::cnstr_get(x_91, 0); +lean::inc(x_96); +lean::dec(x_91); +x_99 = lean::cnstr_get(x_93, 1); +lean::inc(x_99); +lean::dec(x_93); +x_102 = lean::cnstr_get(x_96, 1); +lean::inc(x_102); +lean::dec(x_96); +x_105 = l_lean_elaborator_match__precedence___main(x_99, x_102); +if (x_105 == 0) +{ +obj* x_108; +lean::dec(x_85); +lean::dec(x_84); +x_108 = lean::box(0); +x_30 = x_108; +goto lbl_31; +} +else +{ +obj* x_109; +if (lean::is_scalar(x_84)) { + x_109 = lean::alloc_cnstr(1, 1, 0); +} else { + x_109 = x_84; +} +lean::cnstr_set(x_109, 0, x_85); +x_30 = x_109; +goto lbl_31; +} +} +default: +{ +obj* x_114; +lean::dec(x_85); +lean::dec(x_84); +lean::dec(x_91); +lean::dec(x_82); +x_114 = lean::box(0); +x_30 = x_114; +goto lbl_31; +} +} +} +} +case 1: +{ +obj* x_115; +x_115 = lean::cnstr_get(x_19, 1); +lean::inc(x_115); +lean::dec(x_19); +if (lean::obj_tag(x_115) == 0) +{ +obj* x_120; +lean::dec(x_84); +lean::dec(x_82); +x_120 = lean::box(0); +x_30 = x_120; +goto lbl_31; +} +else +{ +obj* x_121; +x_121 = lean::cnstr_get(x_115, 0); +lean::inc(x_121); +switch (lean::obj_tag(x_121)) { +case 1: +{ +obj* x_123; obj* x_126; obj* x_129; obj* x_132; uint8 x_135; +x_123 = lean::cnstr_get(x_82, 0); +lean::inc(x_123); +lean::dec(x_82); +x_126 = lean::cnstr_get(x_121, 0); +lean::inc(x_126); +lean::dec(x_121); +x_129 = lean::cnstr_get(x_123, 1); +lean::inc(x_129); +lean::dec(x_123); +x_132 = lean::cnstr_get(x_126, 1); +lean::inc(x_132); +lean::dec(x_126); +x_135 = l_lean_elaborator_match__precedence___main(x_129, x_132); +if (x_135 == 0) +{ +obj* x_138; +lean::dec(x_84); +lean::dec(x_115); +x_138 = lean::box(0); +x_30 = x_138; +goto lbl_31; +} +else +{ +obj* x_139; +if (lean::is_scalar(x_84)) { + x_139 = lean::alloc_cnstr(1, 1, 0); +} else { + x_139 = x_84; +} +lean::cnstr_set(x_139, 0, x_115); +x_30 = x_139; +goto lbl_31; +} +} +default: +{ +obj* x_144; +lean::dec(x_84); +lean::dec(x_82); +lean::dec(x_121); +lean::dec(x_115); +x_144 = lean::box(0); +x_30 = x_144; +goto lbl_31; +} +} +} +} +default: +{ +obj* x_145; obj* x_147; obj* x_148; obj* x_150; +x_145 = lean::cnstr_get(x_82, 0); +if (lean::is_exclusive(x_82)) { + lean::cnstr_set(x_82, 0, lean::box(0)); + x_147 = x_82; +} else { + lean::inc(x_145); + lean::dec(x_82); + x_147 = lean::box(0); +} +x_150 = lean::cnstr_get(x_19, 1); +lean::inc(x_150); +lean::dec(x_19); +if (lean::obj_tag(x_150) == 0) +{ +obj* x_156; +lean::dec(x_84); +lean::dec(x_147); +lean::dec(x_145); +x_156 = lean::box(0); +x_30 = x_156; +goto lbl_31; +} +else +{ +obj* x_157; obj* x_159; +x_157 = lean::cnstr_get(x_150, 0); +if (lean::is_exclusive(x_150)) { + lean::cnstr_set(x_150, 0, lean::box(0)); + x_159 = x_150; +} else { + lean::inc(x_157); + lean::dec(x_150); + x_159 = lean::box(0); +} +switch (lean::obj_tag(x_157)) { +case 2: +{ +obj* x_160; +x_160 = lean::cnstr_get(x_145, 1); +lean::inc(x_160); +if (lean::obj_tag(x_160) == 0) +{ +obj* x_162; obj* x_165; +x_162 = lean::cnstr_get(x_157, 0); +lean::inc(x_162); +lean::dec(x_157); +x_165 = lean::cnstr_get(x_162, 1); +lean::inc(x_165); +lean::dec(x_162); +if (lean::obj_tag(x_165) == 0) +{ +obj* x_169; +lean::dec(x_159); +x_169 = lean::box(0); +x_148 = x_169; +goto lbl_149; +} +else +{ +obj* x_170; obj* x_172; +x_170 = lean::cnstr_get(x_165, 0); +lean::inc(x_170); +x_172 = lean::cnstr_get(x_170, 1); +lean::inc(x_172); +lean::dec(x_170); +switch (lean::obj_tag(x_172)) { +case 0: +{ +obj* x_176; +lean::dec(x_172); +if (lean::is_scalar(x_159)) { + x_176 = lean::alloc_cnstr(1, 1, 0); +} else { + x_176 = x_159; +} +lean::cnstr_set(x_176, 0, x_165); +x_148 = x_176; +goto lbl_149; +} +default: +{ +obj* x_180; +lean::dec(x_159); +lean::dec(x_172); +lean::dec(x_165); +x_180 = lean::box(0); +x_148 = x_180; +goto lbl_149; +} +} +} +} +else +{ +obj* x_182; obj* x_184; +lean::dec(x_159); +x_182 = lean::cnstr_get(x_160, 0); +lean::inc(x_182); +x_184 = lean::cnstr_get(x_182, 1); +lean::inc(x_184); +lean::dec(x_182); +switch (lean::obj_tag(x_184)) { +case 0: +{ +obj* x_187; obj* x_190; +x_187 = lean::cnstr_get(x_157, 0); +lean::inc(x_187); +lean::dec(x_157); +x_190 = lean::cnstr_get(x_187, 1); +lean::inc(x_190); +lean::dec(x_187); +if (lean::obj_tag(x_190) == 0) +{ +obj* x_195; +lean::dec(x_184); +lean::dec(x_160); +x_195 = lean::box(0); +x_148 = x_195; +goto lbl_149; +} +else +{ +obj* x_196; obj* x_198; obj* x_199; +x_196 = lean::cnstr_get(x_190, 0); +if (lean::is_exclusive(x_190)) { + lean::cnstr_set(x_190, 0, lean::box(0)); + x_198 = x_190; +} else { + lean::inc(x_196); + lean::dec(x_190); + x_198 = lean::box(0); +} +x_199 = lean::cnstr_get(x_196, 1); +lean::inc(x_199); +lean::dec(x_196); +switch (lean::obj_tag(x_199)) { +case 0: +{ +obj* x_202; obj* x_205; obj* x_208; obj* x_209; uint8 x_210; +x_202 = lean::cnstr_get(x_184, 0); +lean::inc(x_202); +lean::dec(x_184); +x_205 = lean::cnstr_get(x_199, 0); +lean::inc(x_205); +lean::dec(x_199); +x_208 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_202); +x_209 = l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(x_205); +x_210 = lean::nat_dec_eq(x_208, x_209); +lean::dec(x_209); +lean::dec(x_208); +if (x_210 == 0) +{ +obj* x_215; +lean::dec(x_198); +lean::dec(x_160); +x_215 = lean::box(0); +x_148 = x_215; +goto lbl_149; +} +else +{ +obj* x_216; +if (lean::is_scalar(x_198)) { + x_216 = lean::alloc_cnstr(1, 1, 0); +} else { + x_216 = x_198; +} +lean::cnstr_set(x_216, 0, x_160); +x_148 = x_216; +goto lbl_149; +} +} +default: +{ +obj* x_221; +lean::dec(x_198); +lean::dec(x_184); +lean::dec(x_199); +lean::dec(x_160); +x_221 = lean::box(0); +x_148 = x_221; +goto lbl_149; +} +} +} +} +default: +{ +obj* x_225; +lean::dec(x_184); +lean::dec(x_157); +lean::dec(x_160); +x_225 = lean::box(0); +x_148 = x_225; +goto lbl_149; +} +} +} +} +default: +{ +obj* x_231; +lean::dec(x_84); +lean::dec(x_159); +lean::dec(x_157); +lean::dec(x_147); +lean::dec(x_145); +x_231 = lean::box(0); +x_30 = x_231; +goto lbl_31; +} +} +} +lbl_149: +{ +if (lean::obj_tag(x_148) == 0) +{ +obj* x_235; +lean::dec(x_84); +lean::dec(x_147); +lean::dec(x_145); +x_235 = lean::box(0); +x_30 = x_235; +goto lbl_31; +} +else +{ +obj* x_236; obj* x_238; obj* x_239; obj* x_242; obj* x_243; obj* x_244; obj* x_245; +x_236 = lean::cnstr_get(x_148, 0); +if (lean::is_exclusive(x_148)) { + x_238 = x_148; +} else { + lean::inc(x_236); + lean::dec(x_148); + x_238 = lean::box(0); +} +x_239 = lean::cnstr_get(x_145, 0); +lean::inc(x_239); +lean::dec(x_145); +x_242 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_242, 0, x_239); +lean::cnstr_set(x_242, 1, x_236); +if (lean::is_scalar(x_147)) { + x_243 = lean::alloc_cnstr(2, 1, 0); +} else { + x_243 = x_147; +} +lean::cnstr_set(x_243, 0, x_242); +if (lean::is_scalar(x_238)) { + x_244 = lean::alloc_cnstr(1, 1, 0); +} else { + x_244 = x_238; +} +lean::cnstr_set(x_244, 0, x_243); +if (lean::is_scalar(x_84)) { + x_245 = lean::alloc_cnstr(1, 1, 0); +} else { + x_245 = x_84; +} +lean::cnstr_set(x_245, 0, x_244); +x_30 = x_245; +goto lbl_31; +} +} +} +} +} +} +} +} +lbl_31: +{ +if (lean::obj_tag(x_30) == 0) +{ +obj* x_247; +lean::dec(x_28); +x_247 = lean::box(0); +x_7 = x_247; +goto lbl_8; +} +else +{ +obj* x_248; obj* x_250; obj* x_251; obj* x_252; +x_248 = lean::cnstr_get(x_30, 0); +if (lean::is_exclusive(x_30)) { + x_250 = x_30; +} else { + lean::inc(x_248); + lean::dec(x_30); + x_250 = lean::box(0); +} +x_251 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_251, 0, x_28); +lean::cnstr_set(x_251, 1, x_248); +if (lean::is_scalar(x_250)) { + x_252 = lean::alloc_cnstr(1, 1, 0); +} else { + x_252 = x_250; +} +lean::cnstr_set(x_252, 0, x_251); +x_7 = x_252; +goto lbl_8; +} +} +} +lbl_8: +{ +if (lean::obj_tag(x_7) == 0) +{ +obj* x_255; +lean::dec(x_6); +lean::dec(x_4); +x_255 = lean::box(0); +return x_255; +} +else +{ +obj* x_256; obj* x_259; +x_256 = lean::cnstr_get(x_7, 0); +lean::inc(x_256); +lean::dec(x_7); +x_259 = l_list_mmap___main___at_lean_elaborator_match__spec___spec__2(x_4); +if (lean::obj_tag(x_259) == 0) +{ +obj* x_262; +lean::dec(x_6); +lean::dec(x_256); +x_262 = lean::box(0); +return x_262; +} +else +{ +obj* x_263; obj* x_265; obj* x_266; obj* x_267; +x_263 = lean::cnstr_get(x_259, 0); +if (lean::is_exclusive(x_259)) { + x_265 = x_259; +} else { + lean::inc(x_263); + lean::dec(x_259); + x_265 = lean::box(0); +} +if (lean::is_scalar(x_6)) { + x_266 = lean::alloc_cnstr(1, 2, 0); +} else { + x_266 = x_6; +} +lean::cnstr_set(x_266, 0, x_256); +lean::cnstr_set(x_266, 1, x_263); +if (lean::is_scalar(x_265)) { + x_267 = lean::alloc_cnstr(1, 1, 0); +} else { + x_267 = x_265; +} +lean::cnstr_set(x_267, 0, x_266); +return x_267; } -lean::cnstr_set(x_274, 0, x_273); -return x_274; } } } @@ -25977,93 +27747,120 @@ return x_0; obj* l_lean_elaborator_match__spec(obj* x_0, obj* x_1) { _start: { -obj* x_2; obj* x_4; uint8 x_6; obj* x_7; uint8 x_9; +obj* x_2; uint8 x_4; obj* x_5; uint8 x_7; x_2 = lean::cnstr_get(x_0, 0); lean::inc(x_2); -x_6 = l_option_is__some___main___rarg(x_2); -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -x_9 = l_option_is__some___main___rarg(x_7); -lean::dec(x_7); -if (x_6 == 0) +x_4 = l_option_is__some___main___rarg(x_2); +x_5 = lean::cnstr_get(x_1, 0); +lean::inc(x_5); +x_7 = l_option_is__some___main___rarg(x_5); +lean::dec(x_5); +if (x_4 == 0) { -if (x_9 == 0) +if (x_7 == 0) { -obj* x_11; -x_11 = lean::box(0); -x_4 = x_11; -goto lbl_5; -} -else -{ -obj* x_15; -lean::dec(x_1); +obj* x_9; obj* x_12; obj* x_15; obj* x_16; obj* x_17; +x_9 = lean::cnstr_get(x_0, 1); +lean::inc(x_9); lean::dec(x_0); -lean::dec(x_2); -x_15 = lean::box(0); -return x_15; -} -} -else -{ -if (x_9 == 0) +x_12 = lean::cnstr_get(x_1, 1); +lean::inc(x_12); +lean::dec(x_1); +x_15 = l_lean_elaborator_match__spec___closed__1; +x_16 = l_list_zip__with___main___rarg(x_15, x_9, x_12); +x_17 = l_list_mmap___main___at_lean_elaborator_match__spec___spec__1(x_16); +if (lean::obj_tag(x_17) == 0) { obj* x_19; -lean::dec(x_1); -lean::dec(x_0); lean::dec(x_2); x_19 = lean::box(0); return x_19; } else { -obj* x_20; -x_20 = lean::box(0); -x_4 = x_20; -goto lbl_5; +obj* x_20; obj* x_22; obj* x_23; obj* x_24; +x_20 = lean::cnstr_get(x_17, 0); +if (lean::is_exclusive(x_17)) { + x_22 = x_17; +} else { + lean::inc(x_20); + lean::dec(x_17); + x_22 = lean::box(0); +} +x_23 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_23, 0, x_2); +lean::cnstr_set(x_23, 1, x_20); +if (lean::is_scalar(x_22)) { + x_24 = lean::alloc_cnstr(1, 1, 0); +} else { + x_24 = x_22; +} +lean::cnstr_set(x_24, 0, x_23); +return x_24; } } -lbl_5: +else { -obj* x_22; obj* x_25; obj* x_28; obj* x_29; obj* x_30; -lean::dec(x_4); -x_22 = lean::cnstr_get(x_0, 1); -lean::inc(x_22); -lean::dec(x_0); -x_25 = lean::cnstr_get(x_1, 1); -lean::inc(x_25); +obj* x_28; lean::dec(x_1); -x_28 = l_lean_elaborator_match__spec___closed__1; -x_29 = l_list_zip__with___main___rarg(x_28, x_22, x_25); -x_30 = l_list_mmap___main___at_lean_elaborator_match__spec___spec__1(x_29); -if (lean::obj_tag(x_30) == 0) +lean::dec(x_0); +lean::dec(x_2); +x_28 = lean::box(0); +return x_28; +} +} +else +{ +if (x_7 == 0) { obj* x_32; +lean::dec(x_1); +lean::dec(x_0); lean::dec(x_2); x_32 = lean::box(0); return x_32; } else { -obj* x_33; obj* x_35; obj* x_36; obj* x_37; -x_33 = lean::cnstr_get(x_30, 0); -if (lean::is_exclusive(x_30)) { - x_35 = x_30; -} else { - lean::inc(x_33); - lean::dec(x_30); - x_35 = lean::box(0); +obj* x_33; obj* x_36; obj* x_39; obj* x_40; obj* x_41; +x_33 = lean::cnstr_get(x_0, 1); +lean::inc(x_33); +lean::dec(x_0); +x_36 = lean::cnstr_get(x_1, 1); +lean::inc(x_36); +lean::dec(x_1); +x_39 = l_lean_elaborator_match__spec___closed__1; +x_40 = l_list_zip__with___main___rarg(x_39, x_33, x_36); +x_41 = l_list_mmap___main___at_lean_elaborator_match__spec___spec__2(x_40); +if (lean::obj_tag(x_41) == 0) +{ +obj* x_43; +lean::dec(x_2); +x_43 = lean::box(0); +return x_43; } -x_36 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_36, 0, x_2); -lean::cnstr_set(x_36, 1, x_33); -if (lean::is_scalar(x_35)) { - x_37 = lean::alloc_cnstr(1, 1, 0); +else +{ +obj* x_44; obj* x_46; obj* x_47; obj* x_48; +x_44 = lean::cnstr_get(x_41, 0); +if (lean::is_exclusive(x_41)) { + x_46 = x_41; } else { - x_37 = x_35; + lean::inc(x_44); + lean::dec(x_41); + x_46 = lean::box(0); +} +x_47 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_47, 0, x_2); +lean::cnstr_set(x_47, 1, x_44); +if (lean::is_scalar(x_46)) { + x_48 = lean::alloc_cnstr(1, 1, 0); +} else { + x_48 = x_46; +} +lean::cnstr_set(x_48, 0, x_47); +return x_48; } -lean::cnstr_set(x_37, 0, x_36); -return x_37; } } } @@ -27109,263 +28906,255 @@ return x_0; obj* l_lean_elaborator_notation_elaborate(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { -obj* x_4; obj* x_5; obj* x_8; obj* x_9; obj* x_11; obj* x_13; uint8 x_16; uint8 x_17; +obj* x_4; obj* x_5; obj* x_8; obj* x_9; obj* x_11; uint8 x_14; uint8 x_15; x_4 = l_lean_parser_command_notation_has__view; x_5 = lean::cnstr_get(x_4, 0); lean::inc(x_5); lean::dec(x_4); x_8 = lean::apply_1(x_5, x_0); -x_11 = lean::cnstr_get(x_8, 2); +x_9 = lean::cnstr_get(x_8, 2); +lean::inc(x_9); +x_11 = lean::cnstr_get(x_9, 1); lean::inc(x_11); -x_13 = lean::cnstr_get(x_11, 1); -lean::inc(x_13); -lean::dec(x_11); -x_16 = 0; -x_17 = l_list_foldr___main___at_lean_elaborator_notation_elaborate___spec__1(x_16, x_13); -lean::dec(x_13); -if (x_17 == 0) -{ -obj* x_19; -x_19 = lean::box(0); -x_9 = x_19; -goto lbl_10; -} -else -{ -obj* x_21; obj* x_23; obj* x_25; obj* x_27; obj* x_29; obj* x_31; obj* x_34; obj* x_37; obj* x_38; uint8 x_39; obj* x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_44; obj* x_46; obj* x_47; obj* x_49; obj* x_51; obj* x_53; obj* x_55; obj* x_58; obj* x_59; obj* x_60; obj* x_61; -lean::dec(x_8); -x_21 = lean::cnstr_get(x_3, 0); -lean::inc(x_21); -x_23 = lean::cnstr_get(x_3, 1); -lean::inc(x_23); -x_25 = lean::cnstr_get(x_3, 2); -lean::inc(x_25); -x_27 = lean::cnstr_get(x_3, 3); -lean::inc(x_27); -x_29 = lean::cnstr_get(x_3, 4); -lean::inc(x_29); -x_31 = lean::cnstr_get(x_2, 0); -lean::inc(x_31); -lean::dec(x_2); -x_34 = lean::cnstr_get(x_31, 0); -lean::inc(x_34); -lean::dec(x_31); -x_37 = lean::box(0); -x_38 = l_lean_elaborator_notation_elaborate___closed__1; -x_39 = 1; -x_40 = l_string_iterator_extract___main___closed__1; -x_41 = l_lean_elaborator_notation_elaborate___closed__2; -x_42 = lean::alloc_cnstr(0, 5, 1); -lean::cnstr_set(x_42, 0, x_34); -lean::cnstr_set(x_42, 1, x_38); -lean::cnstr_set(x_42, 2, x_37); -lean::cnstr_set(x_42, 3, x_40); -lean::cnstr_set(x_42, 4, x_41); -lean::cnstr_set_scalar(x_42, sizeof(void*)*5, x_39); -x_43 = x_42; -x_44 = lean::cnstr_get(x_3, 5); -lean::inc(x_44); -x_46 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_46, 0, x_43); -lean::cnstr_set(x_46, 1, x_44); -x_47 = lean::cnstr_get(x_3, 6); -lean::inc(x_47); -x_49 = lean::cnstr_get(x_3, 7); -lean::inc(x_49); -x_51 = lean::cnstr_get(x_3, 8); -lean::inc(x_51); -x_53 = lean::cnstr_get(x_3, 9); -lean::inc(x_53); -x_55 = lean::cnstr_get(x_3, 10); -lean::inc(x_55); -lean::dec(x_3); -x_58 = lean::alloc_cnstr(0, 11, 0); -lean::cnstr_set(x_58, 0, x_21); -lean::cnstr_set(x_58, 1, x_23); -lean::cnstr_set(x_58, 2, x_25); -lean::cnstr_set(x_58, 3, x_27); -lean::cnstr_set(x_58, 4, x_29); -lean::cnstr_set(x_58, 5, x_46); -lean::cnstr_set(x_58, 6, x_47); -lean::cnstr_set(x_58, 7, x_49); -lean::cnstr_set(x_58, 8, x_51); -lean::cnstr_set(x_58, 9, x_53); -lean::cnstr_set(x_58, 10, x_55); -x_59 = lean::box(0); -x_60 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_60, 0, x_59); -lean::cnstr_set(x_60, 1, x_58); -x_61 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_61, 0, x_60); -return x_61; -} -lbl_10: -{ -obj* x_64; lean::dec(x_9); -lean::inc(x_2); -x_64 = l_lean_elaborator_notation_elaborate__aux(x_8, x_1, x_2, x_3); -if (lean::obj_tag(x_64) == 0) +x_14 = 0; +x_15 = l_list_foldr___main___at_lean_elaborator_notation_elaborate___spec__1(x_14, x_11); +lean::dec(x_11); +if (x_15 == 0) { -obj* x_66; obj* x_68; obj* x_69; +obj* x_18; +lean::inc(x_2); +x_18 = l_lean_elaborator_notation_elaborate__aux(x_8, x_1, x_2, x_3); +if (lean::obj_tag(x_18) == 0) +{ +obj* x_20; obj* x_22; obj* x_23; lean::dec(x_2); -x_66 = lean::cnstr_get(x_64, 0); -if (lean::is_exclusive(x_64)) { - x_68 = x_64; +x_20 = lean::cnstr_get(x_18, 0); +if (lean::is_exclusive(x_18)) { + x_22 = x_18; } else { - lean::inc(x_66); - lean::dec(x_64); - x_68 = lean::box(0); + lean::inc(x_20); + lean::dec(x_18); + x_22 = lean::box(0); } -if (lean::is_scalar(x_68)) { - x_69 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_22)) { + x_23 = lean::alloc_cnstr(0, 1, 0); } else { - x_69 = x_68; + x_23 = x_22; } -lean::cnstr_set(x_69, 0, x_66); -return x_69; +lean::cnstr_set(x_23, 0, x_20); +return x_23; } else { -obj* x_70; obj* x_73; obj* x_75; obj* x_79; -x_70 = lean::cnstr_get(x_64, 0); +obj* x_24; obj* x_27; obj* x_29; obj* x_33; +x_24 = lean::cnstr_get(x_18, 0); +lean::inc(x_24); +lean::dec(x_18); +x_27 = lean::cnstr_get(x_24, 0); +lean::inc(x_27); +x_29 = lean::cnstr_get(x_24, 1); +lean::inc(x_29); +lean::dec(x_24); +lean::inc(x_27); +x_33 = l_lean_elaborator_register__notation__macro(x_27, x_1, x_2, x_29); +if (lean::obj_tag(x_33) == 0) +{ +obj* x_36; obj* x_38; obj* x_39; +lean::dec(x_2); +lean::dec(x_27); +x_36 = lean::cnstr_get(x_33, 0); +if (lean::is_exclusive(x_33)) { + x_38 = x_33; +} else { + lean::inc(x_36); + lean::dec(x_33); + x_38 = lean::box(0); +} +if (lean::is_scalar(x_38)) { + x_39 = lean::alloc_cnstr(0, 1, 0); +} else { + x_39 = x_38; +} +lean::cnstr_set(x_39, 0, x_36); +return x_39; +} +else +{ +obj* x_40; obj* x_43; +x_40 = lean::cnstr_get(x_33, 0); +lean::inc(x_40); +lean::dec(x_33); +x_43 = lean::cnstr_get(x_27, 0); +lean::inc(x_43); +lean::dec(x_27); +if (lean::obj_tag(x_43) == 0) +{ +obj* x_46; obj* x_48; obj* x_51; obj* x_53; obj* x_55; obj* x_56; obj* x_58; obj* x_60; obj* x_62; obj* x_64; obj* x_66; obj* x_68; obj* x_70; obj* x_72; obj* x_75; obj* x_76; +x_46 = lean::cnstr_get(x_40, 0); +lean::inc(x_46); +x_48 = lean::cnstr_get(x_40, 1); +lean::inc(x_48); +lean::dec(x_40); +x_51 = lean::cnstr_get(x_48, 0); +lean::inc(x_51); +x_53 = lean::cnstr_get(x_48, 1); +lean::inc(x_53); +x_55 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_55, 0, x_46); +lean::cnstr_set(x_55, 1, x_53); +x_56 = lean::cnstr_get(x_48, 2); +lean::inc(x_56); +x_58 = lean::cnstr_get(x_48, 3); +lean::inc(x_58); +x_60 = lean::cnstr_get(x_48, 4); +lean::inc(x_60); +x_62 = lean::cnstr_get(x_48, 5); +lean::inc(x_62); +x_64 = lean::cnstr_get(x_48, 6); +lean::inc(x_64); +x_66 = lean::cnstr_get(x_48, 7); +lean::inc(x_66); +x_68 = lean::cnstr_get(x_48, 8); +lean::inc(x_68); +x_70 = lean::cnstr_get(x_48, 9); lean::inc(x_70); -lean::dec(x_64); -x_73 = lean::cnstr_get(x_70, 0); -lean::inc(x_73); -x_75 = lean::cnstr_get(x_70, 1); -lean::inc(x_75); -lean::dec(x_70); -lean::inc(x_73); -x_79 = l_lean_elaborator_register__notation__macro(x_73, x_1, x_2, x_75); -if (lean::obj_tag(x_79) == 0) -{ -obj* x_82; obj* x_84; obj* x_85; -lean::dec(x_2); -lean::dec(x_73); -x_82 = lean::cnstr_get(x_79, 0); -if (lean::is_exclusive(x_79)) { - x_84 = x_79; -} else { - lean::inc(x_82); - lean::dec(x_79); - x_84 = lean::box(0); -} -if (lean::is_scalar(x_84)) { - x_85 = lean::alloc_cnstr(0, 1, 0); -} else { - x_85 = x_84; -} -lean::cnstr_set(x_85, 0, x_82); -return x_85; +x_72 = lean::cnstr_get(x_48, 10); +lean::inc(x_72); +lean::dec(x_48); +x_75 = lean::alloc_cnstr(0, 11, 0); +lean::cnstr_set(x_75, 0, x_51); +lean::cnstr_set(x_75, 1, x_55); +lean::cnstr_set(x_75, 2, x_56); +lean::cnstr_set(x_75, 3, x_58); +lean::cnstr_set(x_75, 4, x_60); +lean::cnstr_set(x_75, 5, x_62); +lean::cnstr_set(x_75, 6, x_64); +lean::cnstr_set(x_75, 7, x_66); +lean::cnstr_set(x_75, 8, x_68); +lean::cnstr_set(x_75, 9, x_70); +lean::cnstr_set(x_75, 10, x_72); +x_76 = l_lean_elaborator_update__parser__config(x_1, x_2, x_75); +return x_76; } else { -obj* x_86; obj* x_89; -x_86 = lean::cnstr_get(x_79, 0); -lean::inc(x_86); -lean::dec(x_79); -x_89 = lean::cnstr_get(x_73, 0); -lean::inc(x_89); -lean::dec(x_73); -if (lean::obj_tag(x_89) == 0) -{ -obj* x_92; obj* x_94; obj* x_97; obj* x_99; obj* x_101; obj* x_102; obj* x_104; obj* x_106; obj* x_108; obj* x_110; obj* x_112; obj* x_114; obj* x_116; obj* x_118; obj* x_121; obj* x_122; -x_92 = lean::cnstr_get(x_86, 0); -lean::inc(x_92); -x_94 = lean::cnstr_get(x_86, 1); -lean::inc(x_94); -lean::dec(x_86); -x_97 = lean::cnstr_get(x_94, 0); -lean::inc(x_97); -x_99 = lean::cnstr_get(x_94, 1); -lean::inc(x_99); -x_101 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_101, 0, x_92); -lean::cnstr_set(x_101, 1, x_99); -x_102 = lean::cnstr_get(x_94, 2); -lean::inc(x_102); -x_104 = lean::cnstr_get(x_94, 3); -lean::inc(x_104); -x_106 = lean::cnstr_get(x_94, 4); -lean::inc(x_106); -x_108 = lean::cnstr_get(x_94, 5); -lean::inc(x_108); -x_110 = lean::cnstr_get(x_94, 6); -lean::inc(x_110); -x_112 = lean::cnstr_get(x_94, 7); -lean::inc(x_112); -x_114 = lean::cnstr_get(x_94, 8); -lean::inc(x_114); -x_116 = lean::cnstr_get(x_94, 9); -lean::inc(x_116); -x_118 = lean::cnstr_get(x_94, 10); -lean::inc(x_118); -lean::dec(x_94); -x_121 = lean::alloc_cnstr(0, 11, 0); -lean::cnstr_set(x_121, 0, x_97); -lean::cnstr_set(x_121, 1, x_101); -lean::cnstr_set(x_121, 2, x_102); -lean::cnstr_set(x_121, 3, x_104); -lean::cnstr_set(x_121, 4, x_106); -lean::cnstr_set(x_121, 5, x_108); -lean::cnstr_set(x_121, 6, x_110); -lean::cnstr_set(x_121, 7, x_112); -lean::cnstr_set(x_121, 8, x_114); -lean::cnstr_set(x_121, 9, x_116); -lean::cnstr_set(x_121, 10, x_118); -x_122 = l_lean_elaborator_update__parser__config(x_1, x_2, x_121); -return x_122; -} -else -{ -obj* x_124; obj* x_126; obj* x_129; obj* x_131; -lean::dec(x_89); -x_124 = lean::cnstr_get(x_86, 0); -lean::inc(x_124); -x_126 = lean::cnstr_get(x_86, 1); -lean::inc(x_126); -lean::dec(x_86); -x_129 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_notation_elaborate___lambda__1), 2, 1); -lean::closure_set(x_129, 0, x_124); +obj* x_78; obj* x_80; obj* x_83; obj* x_85; +lean::dec(x_43); +x_78 = lean::cnstr_get(x_40, 0); +lean::inc(x_78); +x_80 = lean::cnstr_get(x_40, 1); +lean::inc(x_80); +lean::dec(x_40); +x_83 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_notation_elaborate___lambda__1), 2, 1); +lean::closure_set(x_83, 0, x_78); lean::inc(x_2); -x_131 = l_lean_elaborator_modify__current__scope(x_129, x_1, x_2, x_126); -if (lean::obj_tag(x_131) == 0) +x_85 = l_lean_elaborator_modify__current__scope(x_83, x_1, x_2, x_80); +if (lean::obj_tag(x_85) == 0) { -obj* x_133; obj* x_135; obj* x_136; +obj* x_87; obj* x_89; obj* x_90; lean::dec(x_2); -x_133 = lean::cnstr_get(x_131, 0); -if (lean::is_exclusive(x_131)) { - x_135 = x_131; +x_87 = lean::cnstr_get(x_85, 0); +if (lean::is_exclusive(x_85)) { + x_89 = x_85; } else { - lean::inc(x_133); - lean::dec(x_131); - x_135 = lean::box(0); + lean::inc(x_87); + lean::dec(x_85); + x_89 = lean::box(0); } -if (lean::is_scalar(x_135)) { - x_136 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_89)) { + x_90 = lean::alloc_cnstr(0, 1, 0); } else { - x_136 = x_135; + x_90 = x_89; } -lean::cnstr_set(x_136, 0, x_133); -return x_136; +lean::cnstr_set(x_90, 0, x_87); +return x_90; } else { -obj* x_137; obj* x_140; obj* x_143; -x_137 = lean::cnstr_get(x_131, 0); -lean::inc(x_137); -lean::dec(x_131); -x_140 = lean::cnstr_get(x_137, 1); -lean::inc(x_140); -lean::dec(x_137); -x_143 = l_lean_elaborator_update__parser__config(x_1, x_2, x_140); -return x_143; +obj* x_91; obj* x_94; obj* x_97; +x_91 = lean::cnstr_get(x_85, 0); +lean::inc(x_91); +lean::dec(x_85); +x_94 = lean::cnstr_get(x_91, 1); +lean::inc(x_94); +lean::dec(x_91); +x_97 = l_lean_elaborator_update__parser__config(x_1, x_2, x_94); +return x_97; } } } } } +else +{ +obj* x_99; obj* x_101; obj* x_103; obj* x_105; obj* x_107; obj* x_109; obj* x_112; obj* x_115; obj* x_116; uint8 x_117; obj* x_118; obj* x_119; obj* x_120; obj* x_121; obj* x_122; obj* x_124; obj* x_125; obj* x_127; obj* x_129; obj* x_131; obj* x_133; obj* x_136; obj* x_137; obj* x_138; obj* x_139; +lean::dec(x_8); +x_99 = lean::cnstr_get(x_3, 0); +lean::inc(x_99); +x_101 = lean::cnstr_get(x_3, 1); +lean::inc(x_101); +x_103 = lean::cnstr_get(x_3, 2); +lean::inc(x_103); +x_105 = lean::cnstr_get(x_3, 3); +lean::inc(x_105); +x_107 = lean::cnstr_get(x_3, 4); +lean::inc(x_107); +x_109 = lean::cnstr_get(x_2, 0); +lean::inc(x_109); +lean::dec(x_2); +x_112 = lean::cnstr_get(x_109, 0); +lean::inc(x_112); +lean::dec(x_109); +x_115 = lean::box(0); +x_116 = l_lean_elaborator_notation_elaborate___closed__1; +x_117 = 1; +x_118 = l_string_iterator_extract___main___closed__1; +x_119 = l_lean_elaborator_notation_elaborate___closed__2; +x_120 = lean::alloc_cnstr(0, 5, 1); +lean::cnstr_set(x_120, 0, x_112); +lean::cnstr_set(x_120, 1, x_116); +lean::cnstr_set(x_120, 2, x_115); +lean::cnstr_set(x_120, 3, x_118); +lean::cnstr_set(x_120, 4, x_119); +lean::cnstr_set_scalar(x_120, sizeof(void*)*5, x_117); +x_121 = x_120; +x_122 = lean::cnstr_get(x_3, 5); +lean::inc(x_122); +x_124 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_124, 0, x_121); +lean::cnstr_set(x_124, 1, x_122); +x_125 = lean::cnstr_get(x_3, 6); +lean::inc(x_125); +x_127 = lean::cnstr_get(x_3, 7); +lean::inc(x_127); +x_129 = lean::cnstr_get(x_3, 8); +lean::inc(x_129); +x_131 = lean::cnstr_get(x_3, 9); +lean::inc(x_131); +x_133 = lean::cnstr_get(x_3, 10); +lean::inc(x_133); +lean::dec(x_3); +x_136 = lean::alloc_cnstr(0, 11, 0); +lean::cnstr_set(x_136, 0, x_99); +lean::cnstr_set(x_136, 1, x_101); +lean::cnstr_set(x_136, 2, x_103); +lean::cnstr_set(x_136, 3, x_105); +lean::cnstr_set(x_136, 4, x_107); +lean::cnstr_set(x_136, 5, x_124); +lean::cnstr_set(x_136, 6, x_125); +lean::cnstr_set(x_136, 7, x_127); +lean::cnstr_set(x_136, 8, x_129); +lean::cnstr_set(x_136, 9, x_131); +lean::cnstr_set(x_136, 10, x_133); +x_137 = lean::box(0); +x_138 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_138, 0, x_137); +lean::cnstr_set(x_138, 1, x_136); +x_139 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_139, 0, x_138); +return x_139; +} } } obj* l_list_foldr___main___at_lean_elaborator_notation_elaborate___spec__1___boxed(obj* x_0, obj* x_1) { diff --git a/src/boot/init/lean/expander.cpp b/src/boot/init/lean/expander.cpp index 5b1caa3187..1e08d0bc23 100644 --- a/src/boot/init/lean/expander.cpp +++ b/src/boot/init/lean/expander.cpp @@ -19,6 +19,8 @@ obj* l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec extern obj* l_lean_parser_term_subtype; obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2(obj*, obj*, obj*, obj*); obj* l_rbnode_insert___at_lean_expander_builtin__transformers___spec__3(obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__10___boxed(obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__11___boxed(obj*, obj*, obj*, obj*); obj* l_lean_expander_mk__simple__binder___boxed(obj*, obj*, obj*); obj* l_lean_expander_intro__rule_transform___boxed(obj*, obj*); extern obj* l_lean_parser_command_variables; @@ -51,6 +53,7 @@ extern obj* l_lean_parser_command_reserve__notation_has__view; obj* l_list_foldl___main___at_lean_expander_builtin__transformers___spec__6(obj*, obj*, obj*); obj* l_lean_expander_if_transform(obj*, obj*); obj* l_rbmap_find___main___at___private_init_lean_expander_2__expand__core___main___spec__2___boxed(obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__10(obj*, obj*, obj*, obj*); obj* l_lean_expander_no__expansion___boxed(obj*); extern obj* l_lean_parser_command_declaration; obj* l_list_map___main___at_lean_expander_intro__rule_transform___spec__1(obj*); @@ -62,7 +65,7 @@ obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spe obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__20(uint8, obj*, obj*); extern obj* l_string_iterator_extract___main___closed__1; obj* l_lean_expander_error___rarg___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7___boxed(obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7___boxed(obj*, obj*, obj*); obj* l_lean_expander_variables_transform(obj*, obj*); obj* l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__2; obj* l_lean_expander_mixfix_transform___closed__2; @@ -89,7 +92,7 @@ obj* l_lean_expander_error___rarg___lambda__1___closed__1; obj* l_lean_expander_constant_transform___boxed(obj*, obj*); obj* l_list_map___main___at_lean_expander_coe__binders__ext___spec__2___boxed(obj*); obj* l_lean_expander_assume_transform___closed__1; -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7(obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7(obj*, obj*, obj*); extern "C" obj* lean_name_mk_string(obj*, obj*); obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__6(obj*, obj*); obj* l_lean_expander_binding__annotation__update_has__view; @@ -99,15 +102,15 @@ obj* l_lean_expander_intro__rule_transform(obj*, obj*); extern obj* l_lean_parser_command_universes_has__view; obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__1___boxed(obj*, obj*, obj*, obj*); obj* l_lean_expander_expand__bracketed__binder___main___closed__6; +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__11(obj*, obj*, obj*, obj*); obj* l_list_map___main___at_lean_expander_universes_transform___spec__1___closed__1; obj* l_lean_expander_declaration_transform___boxed(obj*, obj*); obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__3(uint8, obj*, obj*); obj* l_lean_expander_subtype_transform___closed__1; uint8 l_lean_parser_syntax_is__of__kind___main(obj*, obj*); -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8___boxed(obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8___boxed(obj*, obj*, obj*); obj* l_lean_expander_transform__m_monad; obj* l_lean_expander_expand__bracketed__binder___main___closed__4; -obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3; obj* l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg___boxed(obj*, obj*, obj*, obj*); extern obj* l_lean_parser_command_variable_has__view; obj* l_lean_expander_arrow_transform___closed__1; @@ -144,7 +147,9 @@ obj* l_lean_expander_sorry_transform___boxed(obj*, obj*); extern obj* l_lean_parser_command_variables_has__view; obj* l_lean_expander_mk__simple__binder___closed__7; obj* l_lean_expander_binding__annotation__update_parser___closed__1; +obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__4; obj* l_lean_parser_number_view_of__nat(obj*); +obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1; obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__12(obj*, obj*); obj* l_lean_expander_error___at___private_init_lean_expander_2__expand__core___main___spec__1(obj*); extern obj* l_lean_parser_term_binders_has__view; @@ -180,7 +185,6 @@ obj* l_lean_expander_mixfix__to__notation__spec___closed__5; obj* l_lean_expander_error___at___private_init_lean_expander_2__expand__core___main___spec__1___rarg___boxed(obj*, obj*, obj*, obj*); obj* l_lean_expander_mk__scope(obj*, obj*); obj* l_lean_expander_mixfix_transform___closed__6; -obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1; obj* l_list_assoc___main___at_lean_expander_mk__notation__transformer___spec__7___boxed(obj*, obj*); obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__23(uint8, obj*, obj*); extern obj* l_lean_parser_term_bracketed__binders_has__view; @@ -203,8 +207,8 @@ obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__3___boxed(ob obj* l_lean_expander_mk__simple__binder___closed__2; obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__21___boxed(obj*, obj*, obj*); obj* l_lean_expander_pi_transform(obj*, obj*); -obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__2; obj* l_lean_parser_combinators_node_view___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__6(obj*, obj*, obj*); obj* l___private_init_lean_expander_2__expand__core(obj*, obj*, obj*, obj*); obj* l_lean_expander_mixfix__to__notation__spec___closed__1; obj* l_lean_expander_subtype_transform(obj*, obj*); @@ -230,7 +234,7 @@ obj* l_lean_expander_declaration_transform___closed__2; obj* l_rbnode_balance2___main___rarg(obj*, obj*); obj* l_lean_expander_get__opt__type___main(obj*); obj* l_lean_expander_binder__ident__to__ident(obj*); -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8(obj*, obj*, obj*, obj*); +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8(obj*, obj*, obj*); obj* l_lean_expander_binder__ident__to__ident___main(obj*); extern obj* l_lean_parser_term_lambda_has__view; obj* l_lean_expander_declaration_transform___closed__3; @@ -252,7 +256,7 @@ obj* l_lean_parser_try__view___at_lean_expander_mk__notation__transformer___spec extern obj* l_lean_parser_term_assume_has__view; extern obj* l_lean_parser_command_intro__rule; obj* l_id_monad___lambda__1___boxed(obj*, obj*, obj*, obj*); -obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(obj*, obj*); +obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(uint8, obj*, obj*); obj* l_lean_expander_binder__ident__to__ident___main___closed__1; obj* l_lean_expander_transform__m_monad__except; obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__22(uint8, obj*, obj*); @@ -265,6 +269,7 @@ extern obj* l_lean_parser_term_hole_has__view; obj* l_lean_expander_error(obj*, obj*); obj* l_lean_expander_mixfix__to__notation__spec(obj*, obj*, obj*); obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__1(obj*, obj*, obj*, obj*); +obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__2; obj* l_lean_expander_coe__binder__bracketed__binder___closed__1; extern "C" uint8 lean_name_dec_eq(obj*, obj*); obj* l_lean_expander_error___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); @@ -291,7 +296,6 @@ obj* l_lean_expander_binding__annotation__update_has__view_x_27___lambda__1(obj* obj* l_string_trim(obj*); obj* l_lean_expander_variable_transform___closed__1; obj* l_list_map___main___at_lean_expander_mk__notation__transformer___spec__5(obj*); -obj* l_lean_expander_expand__bracketed__binder___main___closed__9; obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__13(obj*, obj*); obj* l_lean_expander_error___rarg___lambda__1(obj*, obj*, obj*, obj*, obj*); extern obj* l_lean_parser_command_constant; @@ -300,7 +304,7 @@ extern obj* l_lean_parser_term_if; extern obj* l_lean_parser_term_assume; obj* l_lean_expander_mk__notation__transformer(obj*, obj*, obj*); obj* l_lean_expander_mixfix__to__notation__spec___closed__6; -obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(uint8, obj*, obj*); +obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(obj*, obj*); obj* l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__3; obj* l_lean_expander_mixfix_transform___closed__5; obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__22___boxed(obj*, obj*, obj*); @@ -322,7 +326,6 @@ obj* l_lean_expander_mk__scope___boxed(obj*, obj*); obj* l_lean_expander_mk__simple__binder___closed__5; obj* l_lean_expander_expander__state_new; extern obj* l_lean_parser_term_anonymous__constructor_has__view; -obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5___boxed(obj*, obj*, obj*); extern obj* l_lean_parser_term_subtype_has__view; extern obj* l_lean_parser_term_binder__default_has__view; extern obj* l_lean_parser_command_mixfix; @@ -333,6 +336,7 @@ obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spe obj* l_lean_expander_get__opt__type(obj*); obj* l_lean_expander_reserve__mixfix_transform(obj*, obj*); obj* l_list_foldr1___main___at_lean_expander_paren_transform___spec__3___closed__1; +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__6___boxed(obj*, obj*, obj*); obj* l_lean_expander_level_leading_transform(obj*, obj*); obj* l_lean_expander_coe__binders__ext___boxed(obj*); namespace lean { @@ -344,15 +348,15 @@ uint8 l_rbnode_is__red___main___rarg(obj*); obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__5(obj*, obj*, obj*); obj* l_dlist_singleton___rarg(obj*, obj*); obj* l_lean_expander_get__opt__type___main___closed__1; +obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3; obj* l_lean_expander_constant_transform___closed__1; obj* l_lean_expander_mixfix__to__notation__spec___closed__4; obj* l_lean_parser_combinators_node___at_lean_parser_command_notation__spec_precedence__lit_parser___spec__1(obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1___boxed(obj*, obj*, obj*); obj* l_lean_expander_coe__binder__bracketed__binder(obj*); obj* l_rbnode_insert___at_lean_expander_builtin__transformers___spec__3___boxed(obj*, obj*, obj*, obj*); obj* l_lean_expander_no__expansion___closed__1; -obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6(obj*, obj*, obj*, obj*); obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__21(uint8, obj*, obj*); -obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__4; extern obj* l_lean_parser_term__parser__m_monad__except; obj* l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(obj*, obj*); obj* l_lean_parser_substring_of__string(obj*); @@ -363,6 +367,7 @@ extern obj* l_lean_parser_term_let; obj* l_lean_expander_expand__bracketed__binder___main___closed__7; obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__14(obj*, obj*); obj* l_list_mmap___main___at___private_init_lean_expander_2__expand__core___main___spec__3(obj*, obj*, obj*, obj*); +obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9(obj*, obj*, obj*, obj*); extern obj* l_lean_parser_command_notation_has__view; obj* l_list_map___main___at___private_init_lean_expander_2__expand__core___main___spec__4(obj*, obj*); obj* l_list_mmap___main___at_lean_expander_variables_transform___spec__1(obj*, obj*); @@ -1179,751 +1184,687 @@ return x_8; } else { -obj* x_9; obj* x_11; obj* x_13; obj* x_14; obj* x_16; obj* x_18; obj* x_20; +obj* x_9; obj* x_11; obj* x_13; x_9 = lean::cnstr_get(x_1, 0); -x_11 = lean::cnstr_get(x_1, 1); +lean::inc(x_9); +x_11 = lean::cnstr_get(x_9, 0); +lean::inc(x_11); +x_13 = lean::cnstr_get(x_11, 1); +lean::inc(x_13); +lean::dec(x_11); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_16; obj* x_18; obj* x_20; obj* x_21; obj* x_23; +x_16 = lean::cnstr_get(x_1, 1); if (lean::is_exclusive(x_1)) { - lean::cnstr_set(x_1, 0, lean::box(0)); + lean::cnstr_release(x_1, 0); lean::cnstr_set(x_1, 1, lean::box(0)); - x_13 = x_1; + x_18 = x_1; } else { - lean::inc(x_9); - lean::inc(x_11); + lean::inc(x_16); lean::dec(x_1); - x_13 = lean::box(0); + x_18 = lean::box(0); } -x_18 = lean::cnstr_get(x_9, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_18, 1); -lean::inc(x_20); -lean::dec(x_18); -if (lean::obj_tag(x_20) == 0) -{ -obj* x_24; obj* x_25; obj* x_27; lean::inc(x_0); -x_24 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_24, 0, x_0); -x_25 = l___private_init_lean_expander_1__pop__stx__arg___closed__1; +x_20 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_20, 0, x_0); +x_21 = l___private_init_lean_expander_1__pop__stx__arg___closed__1; lean::inc(x_3); -x_27 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_24, x_25, x_2, x_3); +x_23 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_20, x_21, x_2, x_3); lean::dec(x_2); -lean::dec(x_24); -if (lean::obj_tag(x_27) == 0) +if (lean::obj_tag(x_23) == 0) { -obj* x_35; obj* x_37; obj* x_38; +obj* x_31; obj* x_33; obj* x_34; +lean::dec(x_16); lean::dec(x_9); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_13); -x_35 = lean::cnstr_get(x_27, 0); -if (lean::is_exclusive(x_27)) { - x_37 = x_27; -} else { - lean::inc(x_35); - lean::dec(x_27); - x_37 = lean::box(0); -} -if (lean::is_scalar(x_37)) { - x_38 = lean::alloc_cnstr(0, 1, 0); -} else { - x_38 = x_37; -} -lean::cnstr_set(x_38, 0, x_35); -return x_38; -} -else -{ -obj* x_39; -x_39 = lean::cnstr_get(x_27, 0); -lean::inc(x_39); -lean::dec(x_27); -x_14 = x_39; -goto lbl_15; -} -} -else -{ -obj* x_45; -lean::dec(x_13); +lean::dec(x_18); lean::dec(x_20); -lean::inc(x_3); -x_45 = l___private_init_lean_expander_1__pop__stx__arg(x_2, x_3); -if (lean::obj_tag(x_45) == 0) -{ -obj* x_50; obj* x_52; obj* x_53; -lean::dec(x_9); -lean::dec(x_3); -lean::dec(x_0); -lean::dec(x_11); -x_50 = lean::cnstr_get(x_45, 0); -if (lean::is_exclusive(x_45)) { - x_52 = x_45; +x_31 = lean::cnstr_get(x_23, 0); +if (lean::is_exclusive(x_23)) { + x_33 = x_23; } else { - lean::inc(x_50); - lean::dec(x_45); - x_52 = lean::box(0); + lean::inc(x_31); + lean::dec(x_23); + x_33 = lean::box(0); } -if (lean::is_scalar(x_52)) { - x_53 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_33)) { + x_34 = lean::alloc_cnstr(0, 1, 0); } else { - x_53 = x_52; + x_34 = x_33; } -lean::cnstr_set(x_53, 0, x_50); -return x_53; +lean::cnstr_set(x_34, 0, x_31); +return x_34; } else { -obj* x_54; -x_54 = lean::cnstr_get(x_45, 0); -lean::inc(x_54); -lean::dec(x_45); -x_16 = x_54; -goto lbl_17; -} -} -lbl_15: -{ -obj* x_57; -x_57 = lean::cnstr_get(x_9, 1); -lean::inc(x_57); +obj* x_35; obj* x_38; +x_35 = lean::cnstr_get(x_23, 0); +lean::inc(x_35); +lean::dec(x_23); +x_38 = lean::cnstr_get(x_9, 1); +lean::inc(x_38); lean::dec(x_9); -if (lean::obj_tag(x_57) == 0) +if (lean::obj_tag(x_38) == 0) { -obj* x_61; -lean::dec(x_13); -x_61 = lean::cnstr_get(x_14, 1); -lean::inc(x_61); -lean::dec(x_14); -x_1 = x_11; -x_2 = x_61; +obj* x_43; +lean::dec(x_18); +lean::dec(x_20); +x_43 = lean::cnstr_get(x_35, 1); +lean::inc(x_43); +lean::dec(x_35); +x_1 = x_16; +x_2 = x_43; goto _start; } else { -obj* x_65; obj* x_67; -x_65 = lean::cnstr_get(x_57, 0); -if (lean::is_exclusive(x_57)) { - lean::cnstr_set(x_57, 0, lean::box(0)); - x_67 = x_57; +obj* x_47; obj* x_49; +x_47 = lean::cnstr_get(x_38, 0); +if (lean::is_exclusive(x_38)) { + lean::cnstr_set(x_38, 0, lean::box(0)); + x_49 = x_38; } else { - lean::inc(x_65); - lean::dec(x_57); - x_67 = lean::box(0); + lean::inc(x_47); + lean::dec(x_38); + x_49 = lean::box(0); } -switch (lean::obj_tag(x_65)) { +switch (lean::obj_tag(x_47)) { case 0: { -obj* x_69; obj* x_73; -lean::dec(x_65); -x_69 = lean::cnstr_get(x_14, 1); -lean::inc(x_69); -lean::dec(x_14); +obj* x_52; obj* x_56; +lean::dec(x_20); +lean::dec(x_47); +x_52 = lean::cnstr_get(x_35, 1); +lean::inc(x_52); +lean::dec(x_35); lean::inc(x_3); -x_73 = l___private_init_lean_expander_1__pop__stx__arg(x_69, x_3); -if (lean::obj_tag(x_73) == 0) +x_56 = l___private_init_lean_expander_1__pop__stx__arg(x_52, x_3); +if (lean::obj_tag(x_56) == 0) { -obj* x_79; obj* x_81; obj* x_82; -lean::dec(x_67); +obj* x_62; obj* x_64; obj* x_65; +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_13); -x_79 = lean::cnstr_get(x_73, 0); -if (lean::is_exclusive(x_73)) { - x_81 = x_73; +lean::dec(x_18); +lean::dec(x_49); +x_62 = lean::cnstr_get(x_56, 0); +if (lean::is_exclusive(x_56)) { + x_64 = x_56; } else { - lean::inc(x_79); - lean::dec(x_73); - x_81 = lean::box(0); + lean::inc(x_62); + lean::dec(x_56); + x_64 = lean::box(0); } -if (lean::is_scalar(x_81)) { - x_82 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_64)) { + x_65 = lean::alloc_cnstr(0, 1, 0); } else { - x_82 = x_81; + x_65 = x_64; } -lean::cnstr_set(x_82, 0, x_79); -return x_82; +lean::cnstr_set(x_65, 0, x_62); +return x_65; } else { -obj* x_83; obj* x_86; obj* x_88; obj* x_91; obj* x_93; obj* x_95; obj* x_98; obj* x_99; obj* x_102; obj* x_103; obj* x_104; obj* x_105; obj* x_106; obj* x_107; obj* x_108; obj* x_109; -x_83 = lean::cnstr_get(x_73, 0); -lean::inc(x_83); -lean::dec(x_73); -x_86 = lean::cnstr_get(x_83, 0); -lean::inc(x_86); -x_88 = lean::cnstr_get(x_83, 1); -lean::inc(x_88); -lean::dec(x_83); -x_91 = lean::cnstr_get(x_88, 0); -lean::inc(x_91); -x_93 = lean::cnstr_get(x_88, 1); -lean::inc(x_93); -x_95 = lean::cnstr_get(x_88, 2); -lean::inc(x_95); -lean::dec(x_88); -x_98 = l_lean_parser_term_binder__ident_has__view; -x_99 = lean::cnstr_get(x_98, 0); -lean::inc(x_99); -lean::dec(x_98); -x_102 = lean::apply_1(x_99, x_86); -x_103 = lean::box(0); -if (lean::is_scalar(x_13)) { - x_104 = lean::alloc_cnstr(1, 2, 0); +obj* x_66; obj* x_69; obj* x_71; obj* x_74; obj* x_76; obj* x_78; obj* x_81; obj* x_82; obj* x_85; obj* x_86; obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_92; +x_66 = lean::cnstr_get(x_56, 0); +lean::inc(x_66); +lean::dec(x_56); +x_69 = lean::cnstr_get(x_66, 0); +lean::inc(x_69); +x_71 = lean::cnstr_get(x_66, 1); +lean::inc(x_71); +lean::dec(x_66); +x_74 = lean::cnstr_get(x_71, 0); +lean::inc(x_74); +x_76 = lean::cnstr_get(x_71, 1); +lean::inc(x_76); +x_78 = lean::cnstr_get(x_71, 2); +lean::inc(x_78); +lean::dec(x_71); +x_81 = l_lean_parser_term_binder__ident_has__view; +x_82 = lean::cnstr_get(x_81, 0); +lean::inc(x_82); +lean::dec(x_81); +x_85 = lean::apply_1(x_82, x_69); +x_86 = lean::box(0); +if (lean::is_scalar(x_18)) { + x_87 = lean::alloc_cnstr(1, 2, 0); } else { - x_104 = x_13; + x_87 = x_18; } -lean::cnstr_set(x_104, 0, x_102); -lean::cnstr_set(x_104, 1, x_103); -x_105 = lean::box(0); -x_106 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_106, 0, x_104); -lean::cnstr_set(x_106, 1, x_105); -x_107 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_107, 0, x_106); -if (lean::is_scalar(x_67)) { - x_108 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_87, 0, x_85); +lean::cnstr_set(x_87, 1, x_86); +x_88 = lean::box(0); +x_89 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_89, 0, x_87); +lean::cnstr_set(x_89, 1, x_88); +x_90 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_90, 0, x_89); +if (lean::is_scalar(x_49)) { + x_91 = lean::alloc_cnstr(1, 1, 0); } else { - x_108 = x_67; + x_91 = x_49; } -lean::cnstr_set(x_108, 0, x_107); -x_109 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_109, 0, x_91); -lean::cnstr_set(x_109, 1, x_93); -lean::cnstr_set(x_109, 2, x_95); -lean::cnstr_set(x_109, 3, x_108); -x_1 = x_11; -x_2 = x_109; +lean::cnstr_set(x_91, 0, x_90); +x_92 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_92, 0, x_74); +lean::cnstr_set(x_92, 1, x_76); +lean::cnstr_set(x_92, 2, x_78); +lean::cnstr_set(x_92, 3, x_91); +x_1 = x_16; +x_2 = x_92; goto _start; } } case 1: { -obj* x_113; obj* x_117; -lean::dec(x_65); -lean::dec(x_13); -x_113 = lean::cnstr_get(x_14, 1); -lean::inc(x_113); -lean::dec(x_14); +obj* x_97; obj* x_101; +lean::dec(x_18); +lean::dec(x_20); +lean::dec(x_47); +x_97 = lean::cnstr_get(x_35, 1); +lean::inc(x_97); +lean::dec(x_35); lean::inc(x_3); -x_117 = l___private_init_lean_expander_1__pop__stx__arg(x_113, x_3); -if (lean::obj_tag(x_117) == 0) +x_101 = l___private_init_lean_expander_1__pop__stx__arg(x_97, x_3); +if (lean::obj_tag(x_101) == 0) { -obj* x_122; obj* x_124; obj* x_125; -lean::dec(x_67); +obj* x_106; obj* x_108; obj* x_109; +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_122 = lean::cnstr_get(x_117, 0); -if (lean::is_exclusive(x_117)) { - x_124 = x_117; +lean::dec(x_49); +x_106 = lean::cnstr_get(x_101, 0); +if (lean::is_exclusive(x_101)) { + x_108 = x_101; } else { - lean::inc(x_122); - lean::dec(x_117); - x_124 = lean::box(0); + lean::inc(x_106); + lean::dec(x_101); + x_108 = lean::box(0); } -if (lean::is_scalar(x_124)) { - x_125 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_108)) { + x_109 = lean::alloc_cnstr(0, 1, 0); } else { - x_125 = x_124; + x_109 = x_108; } -lean::cnstr_set(x_125, 0, x_122); -return x_125; +lean::cnstr_set(x_109, 0, x_106); +return x_109; } else { -obj* x_126; obj* x_129; obj* x_131; obj* x_134; obj* x_136; obj* x_138; obj* x_141; obj* x_142; obj* x_145; obj* x_146; obj* x_147; -x_126 = lean::cnstr_get(x_117, 0); +obj* x_110; obj* x_113; obj* x_115; obj* x_118; obj* x_120; obj* x_122; obj* x_125; obj* x_126; obj* x_129; obj* x_130; obj* x_131; +x_110 = lean::cnstr_get(x_101, 0); +lean::inc(x_110); +lean::dec(x_101); +x_113 = lean::cnstr_get(x_110, 0); +lean::inc(x_113); +x_115 = lean::cnstr_get(x_110, 1); +lean::inc(x_115); +lean::dec(x_110); +x_118 = lean::cnstr_get(x_115, 0); +lean::inc(x_118); +x_120 = lean::cnstr_get(x_115, 1); +lean::inc(x_120); +x_122 = lean::cnstr_get(x_115, 2); +lean::inc(x_122); +lean::dec(x_115); +x_125 = l_lean_parser_term_binders_has__view; +x_126 = lean::cnstr_get(x_125, 0); lean::inc(x_126); -lean::dec(x_117); -x_129 = lean::cnstr_get(x_126, 0); -lean::inc(x_129); -x_131 = lean::cnstr_get(x_126, 1); -lean::inc(x_131); -lean::dec(x_126); -x_134 = lean::cnstr_get(x_131, 0); -lean::inc(x_134); -x_136 = lean::cnstr_get(x_131, 1); -lean::inc(x_136); -x_138 = lean::cnstr_get(x_131, 2); -lean::inc(x_138); -lean::dec(x_131); -x_141 = l_lean_parser_term_binders_has__view; -x_142 = lean::cnstr_get(x_141, 0); -lean::inc(x_142); -lean::dec(x_141); -x_145 = lean::apply_1(x_142, x_129); -if (lean::is_scalar(x_67)) { - x_146 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_125); +x_129 = lean::apply_1(x_126, x_113); +if (lean::is_scalar(x_49)) { + x_130 = lean::alloc_cnstr(1, 1, 0); } else { - x_146 = x_67; + x_130 = x_49; } -lean::cnstr_set(x_146, 0, x_145); -x_147 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_147, 0, x_134); -lean::cnstr_set(x_147, 1, x_136); -lean::cnstr_set(x_147, 2, x_138); -lean::cnstr_set(x_147, 3, x_146); -x_1 = x_11; -x_2 = x_147; +lean::cnstr_set(x_130, 0, x_129); +x_131 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_131, 0, x_118); +lean::cnstr_set(x_131, 1, x_120); +lean::cnstr_set(x_131, 2, x_122); +lean::cnstr_set(x_131, 3, x_130); +x_1 = x_16; +x_2 = x_131; goto _start; } } default: { -obj* x_150; obj* x_153; -lean::dec(x_67); -x_150 = lean::cnstr_get(x_65, 0); -lean::inc(x_150); -lean::dec(x_65); -x_153 = lean::cnstr_get(x_150, 1); -lean::inc(x_153); -if (lean::obj_tag(x_153) == 0) +obj* x_134; obj* x_137; +lean::dec(x_49); +x_134 = lean::cnstr_get(x_47, 0); +lean::inc(x_134); +lean::dec(x_47); +x_137 = lean::cnstr_get(x_134, 1); +lean::inc(x_137); +if (lean::obj_tag(x_137) == 0) { -obj* x_155; obj* x_158; obj* x_162; -x_155 = lean::cnstr_get(x_14, 1); -lean::inc(x_155); -lean::dec(x_14); -x_158 = lean::cnstr_get(x_150, 0); -lean::inc(x_158); -lean::dec(x_150); +obj* x_140; obj* x_143; obj* x_147; +lean::dec(x_20); +x_140 = lean::cnstr_get(x_35, 1); +lean::inc(x_140); +lean::dec(x_35); +x_143 = lean::cnstr_get(x_134, 0); +lean::inc(x_143); +lean::dec(x_134); lean::inc(x_3); -x_162 = l___private_init_lean_expander_1__pop__stx__arg(x_155, x_3); -if (lean::obj_tag(x_162) == 0) +x_147 = l___private_init_lean_expander_1__pop__stx__arg(x_140, x_3); +if (lean::obj_tag(x_147) == 0) { -obj* x_168; obj* x_170; obj* x_171; -lean::dec(x_158); +obj* x_153; obj* x_155; obj* x_156; +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_13); -x_168 = lean::cnstr_get(x_162, 0); -if (lean::is_exclusive(x_162)) { - x_170 = x_162; +lean::dec(x_18); +lean::dec(x_143); +x_153 = lean::cnstr_get(x_147, 0); +if (lean::is_exclusive(x_147)) { + x_155 = x_147; } else { - lean::inc(x_168); - lean::dec(x_162); - x_170 = lean::box(0); + lean::inc(x_153); + lean::dec(x_147); + x_155 = lean::box(0); } -if (lean::is_scalar(x_170)) { - x_171 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_155)) { + x_156 = lean::alloc_cnstr(0, 1, 0); } else { - x_171 = x_170; + x_156 = x_155; } -lean::cnstr_set(x_171, 0, x_168); -return x_171; +lean::cnstr_set(x_156, 0, x_153); +return x_156; } else { -obj* x_172; obj* x_175; obj* x_177; obj* x_179; obj* x_180; obj* x_182; obj* x_184; obj* x_185; obj* x_187; obj* x_188; obj* x_191; -x_172 = lean::cnstr_get(x_162, 0); -lean::inc(x_172); +obj* x_157; obj* x_160; obj* x_162; obj* x_164; obj* x_165; obj* x_167; obj* x_169; obj* x_170; obj* x_172; obj* x_173; obj* x_176; +x_157 = lean::cnstr_get(x_147, 0); +lean::inc(x_157); +lean::dec(x_147); +x_160 = lean::cnstr_get(x_157, 0); +x_162 = lean::cnstr_get(x_157, 1); +if (lean::is_exclusive(x_157)) { + x_164 = x_157; +} else { + lean::inc(x_160); + lean::inc(x_162); + lean::dec(x_157); + x_164 = lean::box(0); +} +x_165 = lean::cnstr_get(x_162, 0); +lean::inc(x_165); +x_167 = lean::cnstr_get(x_162, 1); +lean::inc(x_167); +if (lean::is_scalar(x_164)) { + x_169 = lean::alloc_cnstr(0, 2, 0); +} else { + x_169 = x_164; +} +lean::cnstr_set(x_169, 0, x_143); +lean::cnstr_set(x_169, 1, x_160); +x_170 = lean::cnstr_get(x_162, 2); +lean::inc(x_170); +if (lean::is_scalar(x_18)) { + x_172 = lean::alloc_cnstr(1, 2, 0); +} else { + x_172 = x_18; +} +lean::cnstr_set(x_172, 0, x_169); +lean::cnstr_set(x_172, 1, x_170); +x_173 = lean::cnstr_get(x_162, 3); +lean::inc(x_173); lean::dec(x_162); -x_175 = lean::cnstr_get(x_172, 0); -x_177 = lean::cnstr_get(x_172, 1); -if (lean::is_exclusive(x_172)) { - x_179 = x_172; -} else { - lean::inc(x_175); - lean::inc(x_177); - lean::dec(x_172); - x_179 = lean::box(0); -} -x_180 = lean::cnstr_get(x_177, 0); -lean::inc(x_180); -x_182 = lean::cnstr_get(x_177, 1); -lean::inc(x_182); -if (lean::is_scalar(x_179)) { - x_184 = lean::alloc_cnstr(0, 2, 0); -} else { - x_184 = x_179; -} -lean::cnstr_set(x_184, 0, x_158); -lean::cnstr_set(x_184, 1, x_175); -x_185 = lean::cnstr_get(x_177, 2); -lean::inc(x_185); -if (lean::is_scalar(x_13)) { - x_187 = lean::alloc_cnstr(1, 2, 0); -} else { - x_187 = x_13; -} -lean::cnstr_set(x_187, 0, x_184); -lean::cnstr_set(x_187, 1, x_185); -x_188 = lean::cnstr_get(x_177, 3); -lean::inc(x_188); -lean::dec(x_177); -x_191 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_191, 0, x_180); -lean::cnstr_set(x_191, 1, x_182); -lean::cnstr_set(x_191, 2, x_187); -lean::cnstr_set(x_191, 3, x_188); -x_1 = x_11; -x_2 = x_191; +x_176 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_176, 0, x_165); +lean::cnstr_set(x_176, 1, x_167); +lean::cnstr_set(x_176, 2, x_172); +lean::cnstr_set(x_176, 3, x_173); +x_1 = x_16; +x_2 = x_176; goto _start; } } else { -obj* x_193; obj* x_195; obj* x_196; -x_193 = lean::cnstr_get(x_153, 0); -if (lean::is_exclusive(x_153)) { - lean::cnstr_set(x_153, 0, lean::box(0)); - x_195 = x_153; -} else { - lean::inc(x_193); - lean::dec(x_153); - x_195 = lean::box(0); -} -x_196 = lean::cnstr_get(x_193, 1); -lean::inc(x_196); -lean::dec(x_193); -switch (lean::obj_tag(x_196)) { +obj* x_178; obj* x_181; +x_178 = lean::cnstr_get(x_137, 0); +lean::inc(x_178); +lean::dec(x_137); +x_181 = lean::cnstr_get(x_178, 1); +lean::inc(x_181); +lean::dec(x_178); +switch (lean::obj_tag(x_181)) { case 0: { -obj* x_201; obj* x_204; obj* x_208; -lean::dec(x_195); -lean::dec(x_196); -x_201 = lean::cnstr_get(x_14, 1); -lean::inc(x_201); -lean::dec(x_14); -x_204 = lean::cnstr_get(x_150, 0); -lean::inc(x_204); -lean::dec(x_150); +obj* x_186; obj* x_189; obj* x_193; +lean::dec(x_181); +lean::dec(x_20); +x_186 = lean::cnstr_get(x_35, 1); +lean::inc(x_186); +lean::dec(x_35); +x_189 = lean::cnstr_get(x_134, 0); +lean::inc(x_189); +lean::dec(x_134); lean::inc(x_3); -x_208 = l___private_init_lean_expander_1__pop__stx__arg(x_201, x_3); -if (lean::obj_tag(x_208) == 0) +x_193 = l___private_init_lean_expander_1__pop__stx__arg(x_186, x_3); +if (lean::obj_tag(x_193) == 0) { -obj* x_214; obj* x_216; obj* x_217; +obj* x_199; obj* x_201; obj* x_202; +lean::dec(x_189); +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_13); -lean::dec(x_204); -x_214 = lean::cnstr_get(x_208, 0); -if (lean::is_exclusive(x_208)) { - x_216 = x_208; +lean::dec(x_18); +x_199 = lean::cnstr_get(x_193, 0); +if (lean::is_exclusive(x_193)) { + x_201 = x_193; } else { - lean::inc(x_214); - lean::dec(x_208); - x_216 = lean::box(0); + lean::inc(x_199); + lean::dec(x_193); + x_201 = lean::box(0); } -if (lean::is_scalar(x_216)) { - x_217 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_201)) { + x_202 = lean::alloc_cnstr(0, 1, 0); } else { - x_217 = x_216; + x_202 = x_201; } -lean::cnstr_set(x_217, 0, x_214); -return x_217; +lean::cnstr_set(x_202, 0, x_199); +return x_202; } else { -obj* x_218; obj* x_221; obj* x_223; obj* x_225; obj* x_226; obj* x_228; obj* x_230; obj* x_231; obj* x_233; obj* x_234; obj* x_237; -x_218 = lean::cnstr_get(x_208, 0); -lean::inc(x_218); +obj* x_203; obj* x_206; obj* x_208; obj* x_210; obj* x_211; obj* x_213; obj* x_215; obj* x_216; obj* x_218; obj* x_219; obj* x_222; +x_203 = lean::cnstr_get(x_193, 0); +lean::inc(x_203); +lean::dec(x_193); +x_206 = lean::cnstr_get(x_203, 0); +x_208 = lean::cnstr_get(x_203, 1); +if (lean::is_exclusive(x_203)) { + x_210 = x_203; +} else { + lean::inc(x_206); + lean::inc(x_208); + lean::dec(x_203); + x_210 = lean::box(0); +} +x_211 = lean::cnstr_get(x_208, 0); +lean::inc(x_211); +x_213 = lean::cnstr_get(x_208, 1); +lean::inc(x_213); +if (lean::is_scalar(x_210)) { + x_215 = lean::alloc_cnstr(0, 2, 0); +} else { + x_215 = x_210; +} +lean::cnstr_set(x_215, 0, x_189); +lean::cnstr_set(x_215, 1, x_206); +x_216 = lean::cnstr_get(x_208, 2); +lean::inc(x_216); +if (lean::is_scalar(x_18)) { + x_218 = lean::alloc_cnstr(1, 2, 0); +} else { + x_218 = x_18; +} +lean::cnstr_set(x_218, 0, x_215); +lean::cnstr_set(x_218, 1, x_216); +x_219 = lean::cnstr_get(x_208, 3); +lean::inc(x_219); lean::dec(x_208); -x_221 = lean::cnstr_get(x_218, 0); -x_223 = lean::cnstr_get(x_218, 1); -if (lean::is_exclusive(x_218)) { - x_225 = x_218; -} else { - lean::inc(x_221); - lean::inc(x_223); - lean::dec(x_218); - x_225 = lean::box(0); -} -x_226 = lean::cnstr_get(x_223, 0); -lean::inc(x_226); -x_228 = lean::cnstr_get(x_223, 1); -lean::inc(x_228); -if (lean::is_scalar(x_225)) { - x_230 = lean::alloc_cnstr(0, 2, 0); -} else { - x_230 = x_225; -} -lean::cnstr_set(x_230, 0, x_204); -lean::cnstr_set(x_230, 1, x_221); -x_231 = lean::cnstr_get(x_223, 2); -lean::inc(x_231); -if (lean::is_scalar(x_13)) { - x_233 = lean::alloc_cnstr(1, 2, 0); -} else { - x_233 = x_13; -} -lean::cnstr_set(x_233, 0, x_230); -lean::cnstr_set(x_233, 1, x_231); -x_234 = lean::cnstr_get(x_223, 3); -lean::inc(x_234); -lean::dec(x_223); -x_237 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_237, 0, x_226); -lean::cnstr_set(x_237, 1, x_228); -lean::cnstr_set(x_237, 2, x_233); -lean::cnstr_set(x_237, 3, x_234); -x_1 = x_11; -x_2 = x_237; +x_222 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_222, 0, x_211); +lean::cnstr_set(x_222, 1, x_213); +lean::cnstr_set(x_222, 2, x_218); +lean::cnstr_set(x_222, 3, x_219); +x_1 = x_16; +x_2 = x_222; goto _start; } } case 2: { -obj* x_239; obj* x_242; obj* x_245; obj* x_249; -x_239 = lean::cnstr_get(x_14, 1); -lean::inc(x_239); -lean::dec(x_14); -x_242 = lean::cnstr_get(x_150, 0); -lean::inc(x_242); -lean::dec(x_150); -x_245 = lean::cnstr_get(x_196, 0); -lean::inc(x_245); -lean::dec(x_196); +obj* x_224; obj* x_227; obj* x_230; obj* x_234; +x_224 = lean::cnstr_get(x_35, 1); +lean::inc(x_224); +lean::dec(x_35); +x_227 = lean::cnstr_get(x_134, 0); +lean::inc(x_227); +lean::dec(x_134); +x_230 = lean::cnstr_get(x_181, 0); +lean::inc(x_230); +lean::dec(x_181); lean::inc(x_3); -x_249 = l___private_init_lean_expander_1__pop__stx__arg(x_239, x_3); -if (lean::obj_tag(x_249) == 0) +x_234 = l___private_init_lean_expander_1__pop__stx__arg(x_224, x_3); +if (lean::obj_tag(x_234) == 0) { -obj* x_257; obj* x_259; obj* x_260; +obj* x_242; obj* x_244; obj* x_245; +lean::dec(x_230); +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_13); -lean::dec(x_195); -lean::dec(x_242); -lean::dec(x_245); -x_257 = lean::cnstr_get(x_249, 0); -if (lean::is_exclusive(x_249)) { - x_259 = x_249; +lean::dec(x_227); +lean::dec(x_18); +lean::dec(x_20); +x_242 = lean::cnstr_get(x_234, 0); +if (lean::is_exclusive(x_234)) { + x_244 = x_234; } else { - lean::inc(x_257); - lean::dec(x_249); - x_259 = lean::box(0); + lean::inc(x_242); + lean::dec(x_234); + x_244 = lean::box(0); } -if (lean::is_scalar(x_259)) { - x_260 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_244)) { + x_245 = lean::alloc_cnstr(0, 1, 0); } else { - x_260 = x_259; + x_245 = x_244; } -lean::cnstr_set(x_260, 0, x_257); -return x_260; +lean::cnstr_set(x_245, 0, x_242); +return x_245; } else { -obj* x_261; obj* x_264; obj* x_266; -x_261 = lean::cnstr_get(x_249, 0); -lean::inc(x_261); +obj* x_246; obj* x_249; obj* x_251; +x_246 = lean::cnstr_get(x_234, 0); +lean::inc(x_246); +lean::dec(x_234); +x_249 = lean::cnstr_get(x_246, 1); +lean::inc(x_249); +x_251 = lean::cnstr_get(x_249, 3); +lean::inc(x_251); +if (lean::obj_tag(x_251) == 0) +{ +obj* x_258; +lean::dec(x_246); +lean::dec(x_230); +lean::dec(x_227); +lean::dec(x_18); +lean::inc(x_3); +x_258 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_20, x_21, x_249, x_3); lean::dec(x_249); -x_264 = lean::cnstr_get(x_261, 1); -lean::inc(x_264); -x_266 = lean::cnstr_get(x_264, 3); -lean::inc(x_266); -if (lean::obj_tag(x_266) == 0) +lean::dec(x_20); +if (lean::obj_tag(x_258) == 0) { -obj* x_273; obj* x_274; obj* x_276; -lean::dec(x_13); -lean::dec(x_261); -lean::dec(x_242); -lean::dec(x_245); -lean::inc(x_0); -if (lean::is_scalar(x_195)) { - x_273 = lean::alloc_cnstr(1, 1, 0); -} else { - x_273 = x_195; -} -lean::cnstr_set(x_273, 0, x_0); -x_274 = l___private_init_lean_expander_1__pop__stx__arg___closed__1; -lean::inc(x_3); -x_276 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_273, x_274, x_264, x_3); -lean::dec(x_264); -lean::dec(x_273); -if (lean::obj_tag(x_276) == 0) -{ -obj* x_282; obj* x_284; obj* x_285; +obj* x_264; obj* x_266; obj* x_267; +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_282 = lean::cnstr_get(x_276, 0); -if (lean::is_exclusive(x_276)) { - x_284 = x_276; +x_264 = lean::cnstr_get(x_258, 0); +if (lean::is_exclusive(x_258)) { + x_266 = x_258; } else { - lean::inc(x_282); - lean::dec(x_276); - x_284 = lean::box(0); + lean::inc(x_264); + lean::dec(x_258); + x_266 = lean::box(0); } -if (lean::is_scalar(x_284)) { - x_285 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_266)) { + x_267 = lean::alloc_cnstr(0, 1, 0); } else { - x_285 = x_284; + x_267 = x_266; } -lean::cnstr_set(x_285, 0, x_282); -return x_285; +lean::cnstr_set(x_267, 0, x_264); +return x_267; } else { -obj* x_286; obj* x_289; -x_286 = lean::cnstr_get(x_276, 0); -lean::inc(x_286); -lean::dec(x_276); -x_289 = lean::cnstr_get(x_286, 1); -lean::inc(x_289); -lean::dec(x_286); -x_1 = x_11; -x_2 = x_289; +obj* x_268; obj* x_271; +x_268 = lean::cnstr_get(x_258, 0); +lean::inc(x_268); +lean::dec(x_258); +x_271 = lean::cnstr_get(x_268, 1); +lean::inc(x_271); +lean::dec(x_268); +x_1 = x_16; +x_2 = x_271; goto _start; } } else { -obj* x_294; obj* x_296; obj* x_297; obj* x_299; obj* x_301; obj* x_303; obj* x_304; obj* x_306; obj* x_307; obj* x_310; obj* x_311; obj* x_313; obj* x_314; obj* x_315; obj* x_316; obj* x_317; obj* x_318; obj* x_321; obj* x_322; obj* x_323; obj* x_325; obj* x_326; obj* x_327; obj* x_328; obj* x_329; obj* x_332; obj* x_333; obj* x_334; obj* x_335; obj* x_336; -lean::dec(x_195); -x_294 = lean::cnstr_get(x_261, 0); -if (lean::is_exclusive(x_261)) { - lean::cnstr_release(x_261, 1); - x_296 = x_261; +obj* x_276; obj* x_278; obj* x_279; obj* x_281; obj* x_283; obj* x_285; obj* x_286; obj* x_288; obj* x_289; obj* x_292; obj* x_293; obj* x_295; obj* x_296; obj* x_297; obj* x_298; obj* x_299; obj* x_300; obj* x_303; obj* x_304; obj* x_305; obj* x_307; obj* x_308; obj* x_309; obj* x_310; obj* x_311; obj* x_314; obj* x_315; obj* x_316; obj* x_317; obj* x_318; +lean::dec(x_20); +x_276 = lean::cnstr_get(x_246, 0); +if (lean::is_exclusive(x_246)) { + lean::cnstr_release(x_246, 1); + x_278 = x_246; } else { - lean::inc(x_294); - lean::dec(x_261); - x_296 = lean::box(0); + lean::inc(x_276); + lean::dec(x_246); + x_278 = lean::box(0); } -x_297 = lean::cnstr_get(x_264, 0); -x_299 = lean::cnstr_get(x_264, 1); -x_301 = lean::cnstr_get(x_264, 2); -if (lean::is_exclusive(x_264)) { - lean::cnstr_release(x_264, 3); - x_303 = x_264; +x_279 = lean::cnstr_get(x_249, 0); +x_281 = lean::cnstr_get(x_249, 1); +x_283 = lean::cnstr_get(x_249, 2); +if (lean::is_exclusive(x_249)) { + lean::cnstr_release(x_249, 3); + x_285 = x_249; } else { - lean::inc(x_297); - lean::inc(x_299); - lean::inc(x_301); - lean::dec(x_264); - x_303 = lean::box(0); + lean::inc(x_279); + lean::inc(x_281); + lean::inc(x_283); + lean::dec(x_249); + x_285 = lean::box(0); } -x_304 = lean::cnstr_get(x_266, 0); -lean::inc(x_304); -x_306 = l_lean_parser_term_lambda_has__view; -x_307 = lean::cnstr_get(x_306, 1); -lean::inc(x_307); -lean::dec(x_306); -x_310 = lean::box(0); -x_311 = lean::cnstr_get(x_245, 3); +x_286 = lean::cnstr_get(x_251, 0); +lean::inc(x_286); +x_288 = l_lean_parser_term_lambda_has__view; +x_289 = lean::cnstr_get(x_288, 1); +lean::inc(x_289); +lean::dec(x_288); +x_292 = lean::box(0); +x_293 = lean::cnstr_get(x_230, 3); +lean::inc(x_293); +x_295 = lean::box(0); +if (lean::is_scalar(x_18)) { + x_296 = lean::alloc_cnstr(1, 2, 0); +} else { + x_296 = x_18; +} +lean::cnstr_set(x_296, 0, x_293); +lean::cnstr_set(x_296, 1, x_295); +x_297 = l_list_map___main___at_lean_expander_mk__notation__transformer___spec__3(x_296); +x_298 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_298, 0, x_297); +lean::cnstr_set(x_298, 1, x_292); +x_299 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_299, 0, x_298); +x_300 = lean::cnstr_get(x_230, 5); +lean::inc(x_300); +lean::dec(x_230); +x_303 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__2; +x_304 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__3; +x_305 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_305, 0, x_303); +lean::cnstr_set(x_305, 1, x_299); +lean::cnstr_set(x_305, 2, x_304); +lean::cnstr_set(x_305, 3, x_300); +lean::inc(x_289); +x_307 = lean::apply_1(x_289, x_305); +x_308 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_308, 0, x_303); +lean::cnstr_set(x_308, 1, x_286); +lean::cnstr_set(x_308, 2, x_304); +lean::cnstr_set(x_308, 3, x_276); +x_309 = lean::apply_1(x_289, x_308); +x_310 = l_lean_parser_term_app_has__view; +x_311 = lean::cnstr_get(x_310, 1); lean::inc(x_311); -x_313 = lean::box(0); -if (lean::is_scalar(x_13)) { - x_314 = lean::alloc_cnstr(1, 2, 0); +lean::dec(x_310); +x_314 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_314, 0, x_307); +lean::cnstr_set(x_314, 1, x_309); +x_315 = lean::apply_1(x_311, x_314); +if (lean::is_scalar(x_278)) { + x_316 = lean::alloc_cnstr(0, 2, 0); } else { - x_314 = x_13; + x_316 = x_278; } -lean::cnstr_set(x_314, 0, x_311); -lean::cnstr_set(x_314, 1, x_313); -x_315 = l_list_map___main___at_lean_expander_mk__notation__transformer___spec__3(x_314); -x_316 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_316, 0, x_315); -lean::cnstr_set(x_316, 1, x_310); -x_317 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_316, 0, x_227); +lean::cnstr_set(x_316, 1, x_315); +x_317 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_317, 0, x_316); -x_318 = lean::cnstr_get(x_245, 5); -lean::inc(x_318); -lean::dec(x_245); -x_321 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__2; -x_322 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__3; -x_323 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_323, 0, x_321); -lean::cnstr_set(x_323, 1, x_317); -lean::cnstr_set(x_323, 2, x_322); -lean::cnstr_set(x_323, 3, x_318); -lean::inc(x_307); -x_325 = lean::apply_1(x_307, x_323); -x_326 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_326, 0, x_321); -lean::cnstr_set(x_326, 1, x_304); -lean::cnstr_set(x_326, 2, x_322); -lean::cnstr_set(x_326, 3, x_294); -x_327 = lean::apply_1(x_307, x_326); -x_328 = l_lean_parser_term_app_has__view; -x_329 = lean::cnstr_get(x_328, 1); -lean::inc(x_329); -lean::dec(x_328); -x_332 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_332, 0, x_325); -lean::cnstr_set(x_332, 1, x_327); -x_333 = lean::apply_1(x_329, x_332); -if (lean::is_scalar(x_296)) { - x_334 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_317, 1, x_283); +if (lean::is_scalar(x_285)) { + x_318 = lean::alloc_cnstr(0, 4, 0); } else { - x_334 = x_296; + x_318 = x_285; } -lean::cnstr_set(x_334, 0, x_242); -lean::cnstr_set(x_334, 1, x_333); -x_335 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_335, 0, x_334); -lean::cnstr_set(x_335, 1, x_301); -if (lean::is_scalar(x_303)) { - x_336 = lean::alloc_cnstr(0, 4, 0); -} else { - x_336 = x_303; -} -lean::cnstr_set(x_336, 0, x_297); -lean::cnstr_set(x_336, 1, x_299); -lean::cnstr_set(x_336, 2, x_335); -lean::cnstr_set(x_336, 3, x_266); -x_1 = x_11; -x_2 = x_336; +lean::cnstr_set(x_318, 0, x_279); +lean::cnstr_set(x_318, 1, x_281); +lean::cnstr_set(x_318, 2, x_317); +lean::cnstr_set(x_318, 3, x_251); +x_1 = x_16; +x_2 = x_318; goto _start; } } } default: { -obj* x_341; obj* x_345; obj* x_346; obj* x_348; -lean::dec(x_150); -lean::dec(x_13); -lean::dec(x_196); -x_341 = lean::cnstr_get(x_14, 1); -lean::inc(x_341); -lean::dec(x_14); -lean::inc(x_0); -if (lean::is_scalar(x_195)) { - x_345 = lean::alloc_cnstr(1, 1, 0); -} else { - x_345 = x_195; -} -lean::cnstr_set(x_345, 0, x_0); -x_346 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__1; +obj* x_323; obj* x_326; obj* x_328; +lean::dec(x_181); +lean::dec(x_18); +lean::dec(x_134); +x_323 = lean::cnstr_get(x_35, 1); +lean::inc(x_323); +lean::dec(x_35); +x_326 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__1; lean::inc(x_3); -x_348 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_345, x_346, x_341, x_3); -lean::dec(x_341); -lean::dec(x_345); -if (lean::obj_tag(x_348) == 0) +x_328 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_20, x_326, x_323, x_3); +lean::dec(x_323); +lean::dec(x_20); +if (lean::obj_tag(x_328) == 0) { -obj* x_354; obj* x_356; obj* x_357; +obj* x_334; obj* x_336; obj* x_337; +lean::dec(x_16); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_354 = lean::cnstr_get(x_348, 0); -if (lean::is_exclusive(x_348)) { - x_356 = x_348; +x_334 = lean::cnstr_get(x_328, 0); +if (lean::is_exclusive(x_328)) { + x_336 = x_328; } else { - lean::inc(x_354); - lean::dec(x_348); - x_356 = lean::box(0); + lean::inc(x_334); + lean::dec(x_328); + x_336 = lean::box(0); } -if (lean::is_scalar(x_356)) { - x_357 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_336)) { + x_337 = lean::alloc_cnstr(0, 1, 0); } else { - x_357 = x_356; + x_337 = x_336; } -lean::cnstr_set(x_357, 0, x_354); -return x_357; +lean::cnstr_set(x_337, 0, x_334); +return x_337; } else { -obj* x_358; obj* x_361; -x_358 = lean::cnstr_get(x_348, 0); -lean::inc(x_358); -lean::dec(x_348); -x_361 = lean::cnstr_get(x_358, 1); -lean::inc(x_361); -lean::dec(x_358); -x_1 = x_11; -x_2 = x_361; +obj* x_338; obj* x_341; +x_338 = lean::cnstr_get(x_328, 0); +lean::inc(x_338); +lean::dec(x_328); +x_341 = lean::cnstr_get(x_338, 1); +lean::inc(x_341); +lean::dec(x_338); +x_1 = x_16; +x_2 = x_341; goto _start; } } @@ -1933,57 +1874,103 @@ goto _start; } } } -lbl_17: +} +else { -obj* x_365; -x_365 = lean::cnstr_get(x_9, 1); -lean::inc(x_365); +obj* x_346; obj* x_348; obj* x_350; +lean::dec(x_13); +x_346 = lean::cnstr_get(x_1, 1); +if (lean::is_exclusive(x_1)) { + lean::cnstr_release(x_1, 0); + lean::cnstr_set(x_1, 1, lean::box(0)); + x_348 = x_1; +} else { + lean::inc(x_346); + lean::dec(x_1); + x_348 = lean::box(0); +} +lean::inc(x_3); +x_350 = l___private_init_lean_expander_1__pop__stx__arg(x_2, x_3); +if (lean::obj_tag(x_350) == 0) +{ +obj* x_356; obj* x_358; obj* x_359; lean::dec(x_9); -if (lean::obj_tag(x_365) == 0) +lean::dec(x_3); +lean::dec(x_0); +lean::dec(x_348); +lean::dec(x_346); +x_356 = lean::cnstr_get(x_350, 0); +if (lean::is_exclusive(x_350)) { + x_358 = x_350; +} else { + lean::inc(x_356); + lean::dec(x_350); + x_358 = lean::box(0); +} +if (lean::is_scalar(x_358)) { + x_359 = lean::alloc_cnstr(0, 1, 0); +} else { + x_359 = x_358; +} +lean::cnstr_set(x_359, 0, x_356); +return x_359; +} +else { -obj* x_368; -x_368 = lean::cnstr_get(x_16, 1); -lean::inc(x_368); -lean::dec(x_16); -x_1 = x_11; -x_2 = x_368; +obj* x_360; obj* x_363; +x_360 = lean::cnstr_get(x_350, 0); +lean::inc(x_360); +lean::dec(x_350); +x_363 = lean::cnstr_get(x_9, 1); +lean::inc(x_363); +lean::dec(x_9); +if (lean::obj_tag(x_363) == 0) +{ +obj* x_367; +lean::dec(x_348); +x_367 = lean::cnstr_get(x_360, 1); +lean::inc(x_367); +lean::dec(x_360); +x_1 = x_346; +x_2 = x_367; goto _start; } else { -obj* x_372; obj* x_374; -x_372 = lean::cnstr_get(x_365, 0); -if (lean::is_exclusive(x_365)) { - lean::cnstr_set(x_365, 0, lean::box(0)); - x_374 = x_365; +obj* x_371; obj* x_373; +x_371 = lean::cnstr_get(x_363, 0); +if (lean::is_exclusive(x_363)) { + lean::cnstr_set(x_363, 0, lean::box(0)); + x_373 = x_363; } else { - lean::inc(x_372); - lean::dec(x_365); - x_374 = lean::box(0); + lean::inc(x_371); + lean::dec(x_363); + x_373 = lean::box(0); } -switch (lean::obj_tag(x_372)) { +switch (lean::obj_tag(x_371)) { case 0: { -obj* x_376; obj* x_380; -lean::dec(x_372); -x_376 = lean::cnstr_get(x_16, 1); -lean::inc(x_376); -lean::dec(x_16); +obj* x_375; obj* x_379; +lean::dec(x_371); +x_375 = lean::cnstr_get(x_360, 1); +lean::inc(x_375); +lean::dec(x_360); lean::inc(x_3); -x_380 = l___private_init_lean_expander_1__pop__stx__arg(x_376, x_3); -if (lean::obj_tag(x_380) == 0) +x_379 = l___private_init_lean_expander_1__pop__stx__arg(x_375, x_3); +if (lean::obj_tag(x_379) == 0) { obj* x_385; obj* x_387; obj* x_388; +lean::dec(x_373); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_374); -x_385 = lean::cnstr_get(x_380, 0); -if (lean::is_exclusive(x_380)) { - x_387 = x_380; +lean::dec(x_348); +lean::dec(x_346); +x_385 = lean::cnstr_get(x_379, 0); +if (lean::is_exclusive(x_379)) { + x_387 = x_379; } else { lean::inc(x_385); - lean::dec(x_380); + lean::dec(x_379); x_387 = lean::box(0); } if (lean::is_scalar(x_387)) { @@ -1997,9 +1984,9 @@ return x_388; else { obj* x_389; obj* x_392; obj* x_394; obj* x_397; obj* x_399; obj* x_401; obj* x_404; obj* x_405; obj* x_408; obj* x_409; obj* x_410; obj* x_411; obj* x_412; obj* x_413; obj* x_414; obj* x_415; -x_389 = lean::cnstr_get(x_380, 0); +x_389 = lean::cnstr_get(x_379, 0); lean::inc(x_389); -lean::dec(x_380); +lean::dec(x_379); x_392 = lean::cnstr_get(x_389, 0); lean::inc(x_392); x_394 = lean::cnstr_get(x_389, 1); @@ -2018,7 +2005,11 @@ lean::inc(x_405); lean::dec(x_404); x_408 = lean::apply_1(x_405, x_392); x_409 = lean::box(0); -x_410 = lean::alloc_cnstr(1, 2, 0); +if (lean::is_scalar(x_348)) { + x_410 = lean::alloc_cnstr(1, 2, 0); +} else { + x_410 = x_348; +} lean::cnstr_set(x_410, 0, x_408); lean::cnstr_set(x_410, 1, x_409); x_411 = lean::box(0); @@ -2027,10 +2018,10 @@ lean::cnstr_set(x_412, 0, x_410); lean::cnstr_set(x_412, 1, x_411); x_413 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_413, 0, x_412); -if (lean::is_scalar(x_374)) { +if (lean::is_scalar(x_373)) { x_414 = lean::alloc_cnstr(1, 1, 0); } else { - x_414 = x_374; + x_414 = x_373; } lean::cnstr_set(x_414, 0, x_413); x_415 = lean::alloc_cnstr(0, 4, 0); @@ -2038,519 +2029,537 @@ lean::cnstr_set(x_415, 0, x_397); lean::cnstr_set(x_415, 1, x_399); lean::cnstr_set(x_415, 2, x_401); lean::cnstr_set(x_415, 3, x_414); -x_1 = x_11; +x_1 = x_346; x_2 = x_415; goto _start; } } case 1: { -obj* x_418; obj* x_422; -lean::dec(x_372); -x_418 = lean::cnstr_get(x_16, 1); -lean::inc(x_418); -lean::dec(x_16); +obj* x_419; obj* x_423; +lean::dec(x_348); +lean::dec(x_371); +x_419 = lean::cnstr_get(x_360, 1); +lean::inc(x_419); +lean::dec(x_360); lean::inc(x_3); -x_422 = l___private_init_lean_expander_1__pop__stx__arg(x_418, x_3); -if (lean::obj_tag(x_422) == 0) +x_423 = l___private_init_lean_expander_1__pop__stx__arg(x_419, x_3); +if (lean::obj_tag(x_423) == 0) { -obj* x_427; obj* x_429; obj* x_430; +obj* x_428; obj* x_430; obj* x_431; +lean::dec(x_373); lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -lean::dec(x_374); -x_427 = lean::cnstr_get(x_422, 0); -if (lean::is_exclusive(x_422)) { - x_429 = x_422; +lean::dec(x_346); +x_428 = lean::cnstr_get(x_423, 0); +if (lean::is_exclusive(x_423)) { + x_430 = x_423; } else { - lean::inc(x_427); - lean::dec(x_422); - x_429 = lean::box(0); + lean::inc(x_428); + lean::dec(x_423); + x_430 = lean::box(0); } -if (lean::is_scalar(x_429)) { - x_430 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_430)) { + x_431 = lean::alloc_cnstr(0, 1, 0); } else { - x_430 = x_429; + x_431 = x_430; } -lean::cnstr_set(x_430, 0, x_427); -return x_430; +lean::cnstr_set(x_431, 0, x_428); +return x_431; } else { -obj* x_431; obj* x_434; obj* x_436; obj* x_439; obj* x_441; obj* x_443; obj* x_446; obj* x_447; obj* x_450; obj* x_451; obj* x_452; -x_431 = lean::cnstr_get(x_422, 0); -lean::inc(x_431); -lean::dec(x_422); -x_434 = lean::cnstr_get(x_431, 0); -lean::inc(x_434); -x_436 = lean::cnstr_get(x_431, 1); -lean::inc(x_436); -lean::dec(x_431); -x_439 = lean::cnstr_get(x_436, 0); -lean::inc(x_439); -x_441 = lean::cnstr_get(x_436, 1); -lean::inc(x_441); -x_443 = lean::cnstr_get(x_436, 2); -lean::inc(x_443); -lean::dec(x_436); -x_446 = l_lean_parser_term_binders_has__view; -x_447 = lean::cnstr_get(x_446, 0); -lean::inc(x_447); -lean::dec(x_446); -x_450 = lean::apply_1(x_447, x_434); -if (lean::is_scalar(x_374)) { - x_451 = lean::alloc_cnstr(1, 1, 0); +obj* x_432; obj* x_435; obj* x_437; obj* x_440; obj* x_442; obj* x_444; obj* x_447; obj* x_448; obj* x_451; obj* x_452; obj* x_453; +x_432 = lean::cnstr_get(x_423, 0); +lean::inc(x_432); +lean::dec(x_423); +x_435 = lean::cnstr_get(x_432, 0); +lean::inc(x_435); +x_437 = lean::cnstr_get(x_432, 1); +lean::inc(x_437); +lean::dec(x_432); +x_440 = lean::cnstr_get(x_437, 0); +lean::inc(x_440); +x_442 = lean::cnstr_get(x_437, 1); +lean::inc(x_442); +x_444 = lean::cnstr_get(x_437, 2); +lean::inc(x_444); +lean::dec(x_437); +x_447 = l_lean_parser_term_binders_has__view; +x_448 = lean::cnstr_get(x_447, 0); +lean::inc(x_448); +lean::dec(x_447); +x_451 = lean::apply_1(x_448, x_435); +if (lean::is_scalar(x_373)) { + x_452 = lean::alloc_cnstr(1, 1, 0); } else { - x_451 = x_374; + x_452 = x_373; } -lean::cnstr_set(x_451, 0, x_450); -x_452 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_452, 0, x_439); -lean::cnstr_set(x_452, 1, x_441); -lean::cnstr_set(x_452, 2, x_443); -lean::cnstr_set(x_452, 3, x_451); -x_1 = x_11; -x_2 = x_452; +lean::cnstr_set(x_452, 0, x_451); +x_453 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_453, 0, x_440); +lean::cnstr_set(x_453, 1, x_442); +lean::cnstr_set(x_453, 2, x_444); +lean::cnstr_set(x_453, 3, x_452); +x_1 = x_346; +x_2 = x_453; goto _start; } } default: { -obj* x_455; obj* x_458; -lean::dec(x_374); -x_455 = lean::cnstr_get(x_372, 0); -lean::inc(x_455); -lean::dec(x_372); -x_458 = lean::cnstr_get(x_455, 1); -lean::inc(x_458); -if (lean::obj_tag(x_458) == 0) +obj* x_456; obj* x_459; +lean::dec(x_373); +x_456 = lean::cnstr_get(x_371, 0); +lean::inc(x_456); +lean::dec(x_371); +x_459 = lean::cnstr_get(x_456, 1); +lean::inc(x_459); +if (lean::obj_tag(x_459) == 0) { -obj* x_460; obj* x_463; obj* x_467; -x_460 = lean::cnstr_get(x_16, 1); -lean::inc(x_460); -lean::dec(x_16); -x_463 = lean::cnstr_get(x_455, 0); -lean::inc(x_463); -lean::dec(x_455); +obj* x_461; obj* x_464; obj* x_468; +x_461 = lean::cnstr_get(x_360, 1); +lean::inc(x_461); +lean::dec(x_360); +x_464 = lean::cnstr_get(x_456, 0); +lean::inc(x_464); +lean::dec(x_456); lean::inc(x_3); -x_467 = l___private_init_lean_expander_1__pop__stx__arg(x_460, x_3); -if (lean::obj_tag(x_467) == 0) +x_468 = l___private_init_lean_expander_1__pop__stx__arg(x_461, x_3); +if (lean::obj_tag(x_468) == 0) { -obj* x_472; obj* x_474; obj* x_475; -lean::dec(x_463); +obj* x_474; obj* x_476; obj* x_477; lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_472 = lean::cnstr_get(x_467, 0); -if (lean::is_exclusive(x_467)) { - x_474 = x_467; +lean::dec(x_464); +lean::dec(x_348); +lean::dec(x_346); +x_474 = lean::cnstr_get(x_468, 0); +if (lean::is_exclusive(x_468)) { + x_476 = x_468; } else { - lean::inc(x_472); - lean::dec(x_467); - x_474 = lean::box(0); + lean::inc(x_474); + lean::dec(x_468); + x_476 = lean::box(0); } -if (lean::is_scalar(x_474)) { - x_475 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_476)) { + x_477 = lean::alloc_cnstr(0, 1, 0); } else { - x_475 = x_474; + x_477 = x_476; } -lean::cnstr_set(x_475, 0, x_472); -return x_475; +lean::cnstr_set(x_477, 0, x_474); +return x_477; } else { -obj* x_476; obj* x_479; obj* x_481; obj* x_483; obj* x_484; obj* x_486; obj* x_488; obj* x_489; obj* x_491; obj* x_492; obj* x_495; -x_476 = lean::cnstr_get(x_467, 0); -lean::inc(x_476); -lean::dec(x_467); -x_479 = lean::cnstr_get(x_476, 0); -x_481 = lean::cnstr_get(x_476, 1); -if (lean::is_exclusive(x_476)) { - x_483 = x_476; +obj* x_478; obj* x_481; obj* x_483; obj* x_485; obj* x_486; obj* x_488; obj* x_490; obj* x_491; obj* x_493; obj* x_494; obj* x_497; +x_478 = lean::cnstr_get(x_468, 0); +lean::inc(x_478); +lean::dec(x_468); +x_481 = lean::cnstr_get(x_478, 0); +x_483 = lean::cnstr_get(x_478, 1); +if (lean::is_exclusive(x_478)) { + x_485 = x_478; } else { - lean::inc(x_479); lean::inc(x_481); - lean::dec(x_476); - x_483 = lean::box(0); + lean::inc(x_483); + lean::dec(x_478); + x_485 = lean::box(0); } -x_484 = lean::cnstr_get(x_481, 0); -lean::inc(x_484); -x_486 = lean::cnstr_get(x_481, 1); +x_486 = lean::cnstr_get(x_483, 0); lean::inc(x_486); -if (lean::is_scalar(x_483)) { - x_488 = lean::alloc_cnstr(0, 2, 0); +x_488 = lean::cnstr_get(x_483, 1); +lean::inc(x_488); +if (lean::is_scalar(x_485)) { + x_490 = lean::alloc_cnstr(0, 2, 0); } else { - x_488 = x_483; + x_490 = x_485; } -lean::cnstr_set(x_488, 0, x_463); -lean::cnstr_set(x_488, 1, x_479); -x_489 = lean::cnstr_get(x_481, 2); -lean::inc(x_489); -x_491 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_491, 0, x_488); -lean::cnstr_set(x_491, 1, x_489); -x_492 = lean::cnstr_get(x_481, 3); -lean::inc(x_492); -lean::dec(x_481); -x_495 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_495, 0, x_484); -lean::cnstr_set(x_495, 1, x_486); -lean::cnstr_set(x_495, 2, x_491); -lean::cnstr_set(x_495, 3, x_492); -x_1 = x_11; -x_2 = x_495; +lean::cnstr_set(x_490, 0, x_464); +lean::cnstr_set(x_490, 1, x_481); +x_491 = lean::cnstr_get(x_483, 2); +lean::inc(x_491); +if (lean::is_scalar(x_348)) { + x_493 = lean::alloc_cnstr(1, 2, 0); +} else { + x_493 = x_348; +} +lean::cnstr_set(x_493, 0, x_490); +lean::cnstr_set(x_493, 1, x_491); +x_494 = lean::cnstr_get(x_483, 3); +lean::inc(x_494); +lean::dec(x_483); +x_497 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_497, 0, x_486); +lean::cnstr_set(x_497, 1, x_488); +lean::cnstr_set(x_497, 2, x_493); +lean::cnstr_set(x_497, 3, x_494); +x_1 = x_346; +x_2 = x_497; goto _start; } } else { -obj* x_497; obj* x_499; obj* x_500; -x_497 = lean::cnstr_get(x_458, 0); -if (lean::is_exclusive(x_458)) { - lean::cnstr_set(x_458, 0, lean::box(0)); - x_499 = x_458; +obj* x_499; obj* x_501; obj* x_502; +x_499 = lean::cnstr_get(x_459, 0); +if (lean::is_exclusive(x_459)) { + lean::cnstr_set(x_459, 0, lean::box(0)); + x_501 = x_459; } else { - lean::inc(x_497); - lean::dec(x_458); - x_499 = lean::box(0); + lean::inc(x_499); + lean::dec(x_459); + x_501 = lean::box(0); } -x_500 = lean::cnstr_get(x_497, 1); -lean::inc(x_500); -lean::dec(x_497); -switch (lean::obj_tag(x_500)) { +x_502 = lean::cnstr_get(x_499, 1); +lean::inc(x_502); +lean::dec(x_499); +switch (lean::obj_tag(x_502)) { case 0: { -obj* x_505; obj* x_508; obj* x_512; -lean::dec(x_500); -lean::dec(x_499); -x_505 = lean::cnstr_get(x_16, 1); -lean::inc(x_505); -lean::dec(x_16); -x_508 = lean::cnstr_get(x_455, 0); -lean::inc(x_508); -lean::dec(x_455); +obj* x_507; obj* x_510; obj* x_514; +lean::dec(x_501); +lean::dec(x_502); +x_507 = lean::cnstr_get(x_360, 1); +lean::inc(x_507); +lean::dec(x_360); +x_510 = lean::cnstr_get(x_456, 0); +lean::inc(x_510); +lean::dec(x_456); lean::inc(x_3); -x_512 = l___private_init_lean_expander_1__pop__stx__arg(x_505, x_3); -if (lean::obj_tag(x_512) == 0) +x_514 = l___private_init_lean_expander_1__pop__stx__arg(x_507, x_3); +if (lean::obj_tag(x_514) == 0) { -obj* x_517; obj* x_519; obj* x_520; -lean::dec(x_508); +obj* x_520; obj* x_522; obj* x_523; lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_517 = lean::cnstr_get(x_512, 0); -if (lean::is_exclusive(x_512)) { - x_519 = x_512; +lean::dec(x_510); +lean::dec(x_348); +lean::dec(x_346); +x_520 = lean::cnstr_get(x_514, 0); +if (lean::is_exclusive(x_514)) { + x_522 = x_514; } else { - lean::inc(x_517); - lean::dec(x_512); - x_519 = lean::box(0); + lean::inc(x_520); + lean::dec(x_514); + x_522 = lean::box(0); } -if (lean::is_scalar(x_519)) { - x_520 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_522)) { + x_523 = lean::alloc_cnstr(0, 1, 0); } else { - x_520 = x_519; + x_523 = x_522; } -lean::cnstr_set(x_520, 0, x_517); -return x_520; +lean::cnstr_set(x_523, 0, x_520); +return x_523; } else { -obj* x_521; obj* x_524; obj* x_526; obj* x_528; obj* x_529; obj* x_531; obj* x_533; obj* x_534; obj* x_536; obj* x_537; obj* x_540; -x_521 = lean::cnstr_get(x_512, 0); -lean::inc(x_521); -lean::dec(x_512); -x_524 = lean::cnstr_get(x_521, 0); -x_526 = lean::cnstr_get(x_521, 1); -if (lean::is_exclusive(x_521)) { - x_528 = x_521; +obj* x_524; obj* x_527; obj* x_529; obj* x_531; obj* x_532; obj* x_534; obj* x_536; obj* x_537; obj* x_539; obj* x_540; obj* x_543; +x_524 = lean::cnstr_get(x_514, 0); +lean::inc(x_524); +lean::dec(x_514); +x_527 = lean::cnstr_get(x_524, 0); +x_529 = lean::cnstr_get(x_524, 1); +if (lean::is_exclusive(x_524)) { + x_531 = x_524; } else { - lean::inc(x_524); - lean::inc(x_526); - lean::dec(x_521); - x_528 = lean::box(0); + lean::inc(x_527); + lean::inc(x_529); + lean::dec(x_524); + x_531 = lean::box(0); } -x_529 = lean::cnstr_get(x_526, 0); -lean::inc(x_529); -x_531 = lean::cnstr_get(x_526, 1); -lean::inc(x_531); -if (lean::is_scalar(x_528)) { - x_533 = lean::alloc_cnstr(0, 2, 0); -} else { - x_533 = x_528; -} -lean::cnstr_set(x_533, 0, x_508); -lean::cnstr_set(x_533, 1, x_524); -x_534 = lean::cnstr_get(x_526, 2); +x_532 = lean::cnstr_get(x_529, 0); +lean::inc(x_532); +x_534 = lean::cnstr_get(x_529, 1); lean::inc(x_534); -x_536 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_536, 0, x_533); -lean::cnstr_set(x_536, 1, x_534); -x_537 = lean::cnstr_get(x_526, 3); +if (lean::is_scalar(x_531)) { + x_536 = lean::alloc_cnstr(0, 2, 0); +} else { + x_536 = x_531; +} +lean::cnstr_set(x_536, 0, x_510); +lean::cnstr_set(x_536, 1, x_527); +x_537 = lean::cnstr_get(x_529, 2); lean::inc(x_537); -lean::dec(x_526); -x_540 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_540, 0, x_529); -lean::cnstr_set(x_540, 1, x_531); -lean::cnstr_set(x_540, 2, x_536); -lean::cnstr_set(x_540, 3, x_537); -x_1 = x_11; -x_2 = x_540; +if (lean::is_scalar(x_348)) { + x_539 = lean::alloc_cnstr(1, 2, 0); +} else { + x_539 = x_348; +} +lean::cnstr_set(x_539, 0, x_536); +lean::cnstr_set(x_539, 1, x_537); +x_540 = lean::cnstr_get(x_529, 3); +lean::inc(x_540); +lean::dec(x_529); +x_543 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_543, 0, x_532); +lean::cnstr_set(x_543, 1, x_534); +lean::cnstr_set(x_543, 2, x_539); +lean::cnstr_set(x_543, 3, x_540); +x_1 = x_346; +x_2 = x_543; goto _start; } } case 2: { -obj* x_542; obj* x_545; obj* x_548; obj* x_552; -x_542 = lean::cnstr_get(x_16, 1); -lean::inc(x_542); -lean::dec(x_16); -x_545 = lean::cnstr_get(x_455, 0); +obj* x_545; obj* x_548; obj* x_551; obj* x_555; +x_545 = lean::cnstr_get(x_360, 1); lean::inc(x_545); -lean::dec(x_455); -x_548 = lean::cnstr_get(x_500, 0); +lean::dec(x_360); +x_548 = lean::cnstr_get(x_456, 0); lean::inc(x_548); -lean::dec(x_500); +lean::dec(x_456); +x_551 = lean::cnstr_get(x_502, 0); +lean::inc(x_551); +lean::dec(x_502); lean::inc(x_3); -x_552 = l___private_init_lean_expander_1__pop__stx__arg(x_542, x_3); -if (lean::obj_tag(x_552) == 0) +x_555 = l___private_init_lean_expander_1__pop__stx__arg(x_545, x_3); +if (lean::obj_tag(x_555) == 0) { -obj* x_559; obj* x_561; obj* x_562; -lean::dec(x_499); -lean::dec(x_545); +obj* x_563; obj* x_565; obj* x_566; lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); +lean::dec(x_501); +lean::dec(x_348); +lean::dec(x_346); lean::dec(x_548); -x_559 = lean::cnstr_get(x_552, 0); -if (lean::is_exclusive(x_552)) { - x_561 = x_552; +lean::dec(x_551); +x_563 = lean::cnstr_get(x_555, 0); +if (lean::is_exclusive(x_555)) { + x_565 = x_555; } else { - lean::inc(x_559); - lean::dec(x_552); - x_561 = lean::box(0); + lean::inc(x_563); + lean::dec(x_555); + x_565 = lean::box(0); } -if (lean::is_scalar(x_561)) { - x_562 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_565)) { + x_566 = lean::alloc_cnstr(0, 1, 0); } else { - x_562 = x_561; + x_566 = x_565; } -lean::cnstr_set(x_562, 0, x_559); -return x_562; +lean::cnstr_set(x_566, 0, x_563); +return x_566; } else { -obj* x_563; obj* x_566; obj* x_568; -x_563 = lean::cnstr_get(x_552, 0); -lean::inc(x_563); -lean::dec(x_552); -x_566 = lean::cnstr_get(x_563, 1); -lean::inc(x_566); -x_568 = lean::cnstr_get(x_566, 3); -lean::inc(x_568); -if (lean::obj_tag(x_568) == 0) +obj* x_567; obj* x_570; obj* x_572; +x_567 = lean::cnstr_get(x_555, 0); +lean::inc(x_567); +lean::dec(x_555); +x_570 = lean::cnstr_get(x_567, 1); +lean::inc(x_570); +x_572 = lean::cnstr_get(x_570, 3); +lean::inc(x_572); +if (lean::obj_tag(x_572) == 0) { -obj* x_574; obj* x_575; obj* x_577; -lean::dec(x_545); -lean::dec(x_563); +obj* x_579; obj* x_580; obj* x_582; +lean::dec(x_348); lean::dec(x_548); +lean::dec(x_551); +lean::dec(x_567); lean::inc(x_0); -if (lean::is_scalar(x_499)) { - x_574 = lean::alloc_cnstr(1, 1, 0); +if (lean::is_scalar(x_501)) { + x_579 = lean::alloc_cnstr(1, 1, 0); } else { - x_574 = x_499; + x_579 = x_501; } -lean::cnstr_set(x_574, 0, x_0); -x_575 = l___private_init_lean_expander_1__pop__stx__arg___closed__1; +lean::cnstr_set(x_579, 0, x_0); +x_580 = l___private_init_lean_expander_1__pop__stx__arg___closed__1; lean::inc(x_3); -x_577 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_574, x_575, x_566, x_3); -lean::dec(x_566); -lean::dec(x_574); -if (lean::obj_tag(x_577) == 0) +x_582 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_579, x_580, x_570, x_3); +lean::dec(x_570); +lean::dec(x_579); +if (lean::obj_tag(x_582) == 0) { -obj* x_583; obj* x_585; obj* x_586; +obj* x_588; obj* x_590; obj* x_591; lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_583 = lean::cnstr_get(x_577, 0); -if (lean::is_exclusive(x_577)) { - x_585 = x_577; +lean::dec(x_346); +x_588 = lean::cnstr_get(x_582, 0); +if (lean::is_exclusive(x_582)) { + x_590 = x_582; } else { - lean::inc(x_583); - lean::dec(x_577); - x_585 = lean::box(0); + lean::inc(x_588); + lean::dec(x_582); + x_590 = lean::box(0); } -if (lean::is_scalar(x_585)) { - x_586 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_590)) { + x_591 = lean::alloc_cnstr(0, 1, 0); } else { - x_586 = x_585; + x_591 = x_590; } -lean::cnstr_set(x_586, 0, x_583); -return x_586; +lean::cnstr_set(x_591, 0, x_588); +return x_591; } else { -obj* x_587; obj* x_590; -x_587 = lean::cnstr_get(x_577, 0); -lean::inc(x_587); -lean::dec(x_577); -x_590 = lean::cnstr_get(x_587, 1); -lean::inc(x_590); -lean::dec(x_587); -x_1 = x_11; -x_2 = x_590; +obj* x_592; obj* x_595; +x_592 = lean::cnstr_get(x_582, 0); +lean::inc(x_592); +lean::dec(x_582); +x_595 = lean::cnstr_get(x_592, 1); +lean::inc(x_595); +lean::dec(x_592); +x_1 = x_346; +x_2 = x_595; goto _start; } } else { -obj* x_595; obj* x_597; obj* x_598; obj* x_600; obj* x_602; obj* x_604; obj* x_605; obj* x_607; obj* x_608; obj* x_611; obj* x_612; obj* x_614; obj* x_615; obj* x_616; obj* x_617; obj* x_618; obj* x_619; obj* x_622; obj* x_623; obj* x_624; obj* x_626; obj* x_627; obj* x_628; obj* x_629; obj* x_630; obj* x_633; obj* x_634; obj* x_635; obj* x_636; obj* x_637; -lean::dec(x_499); -x_595 = lean::cnstr_get(x_563, 0); -if (lean::is_exclusive(x_563)) { - lean::cnstr_release(x_563, 1); - x_597 = x_563; +obj* x_600; obj* x_602; obj* x_603; obj* x_605; obj* x_607; obj* x_609; obj* x_610; obj* x_612; obj* x_613; obj* x_616; obj* x_617; obj* x_619; obj* x_620; obj* x_621; obj* x_622; obj* x_623; obj* x_624; obj* x_627; obj* x_628; obj* x_629; obj* x_631; obj* x_632; obj* x_633; obj* x_634; obj* x_635; obj* x_638; obj* x_639; obj* x_640; obj* x_641; obj* x_642; +lean::dec(x_501); +x_600 = lean::cnstr_get(x_567, 0); +if (lean::is_exclusive(x_567)) { + lean::cnstr_release(x_567, 1); + x_602 = x_567; } else { - lean::inc(x_595); - lean::dec(x_563); - x_597 = lean::box(0); -} -x_598 = lean::cnstr_get(x_566, 0); -x_600 = lean::cnstr_get(x_566, 1); -x_602 = lean::cnstr_get(x_566, 2); -if (lean::is_exclusive(x_566)) { - lean::cnstr_release(x_566, 3); - x_604 = x_566; -} else { - lean::inc(x_598); lean::inc(x_600); - lean::inc(x_602); - lean::dec(x_566); - x_604 = lean::box(0); + lean::dec(x_567); + x_602 = lean::box(0); } -x_605 = lean::cnstr_get(x_568, 0); -lean::inc(x_605); -x_607 = l_lean_parser_term_lambda_has__view; -x_608 = lean::cnstr_get(x_607, 1); -lean::inc(x_608); -lean::dec(x_607); -x_611 = lean::box(0); -x_612 = lean::cnstr_get(x_548, 3); -lean::inc(x_612); -x_614 = lean::box(0); -x_615 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_615, 0, x_612); -lean::cnstr_set(x_615, 1, x_614); -x_616 = l_list_map___main___at_lean_expander_mk__notation__transformer___spec__3(x_615); -x_617 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_617, 0, x_616); -lean::cnstr_set(x_617, 1, x_611); -x_618 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_618, 0, x_617); -x_619 = lean::cnstr_get(x_548, 5); -lean::inc(x_619); -lean::dec(x_548); -x_622 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__2; -x_623 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__3; -x_624 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_624, 0, x_622); -lean::cnstr_set(x_624, 1, x_618); -lean::cnstr_set(x_624, 2, x_623); -lean::cnstr_set(x_624, 3, x_619); -lean::inc(x_608); -x_626 = lean::apply_1(x_608, x_624); -x_627 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_627, 0, x_622); -lean::cnstr_set(x_627, 1, x_605); -lean::cnstr_set(x_627, 2, x_623); -lean::cnstr_set(x_627, 3, x_595); -x_628 = lean::apply_1(x_608, x_627); -x_629 = l_lean_parser_term_app_has__view; -x_630 = lean::cnstr_get(x_629, 1); -lean::inc(x_630); -lean::dec(x_629); -x_633 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_633, 0, x_626); -lean::cnstr_set(x_633, 1, x_628); -x_634 = lean::apply_1(x_630, x_633); -if (lean::is_scalar(x_597)) { - x_635 = lean::alloc_cnstr(0, 2, 0); +x_603 = lean::cnstr_get(x_570, 0); +x_605 = lean::cnstr_get(x_570, 1); +x_607 = lean::cnstr_get(x_570, 2); +if (lean::is_exclusive(x_570)) { + lean::cnstr_release(x_570, 3); + x_609 = x_570; } else { - x_635 = x_597; + lean::inc(x_603); + lean::inc(x_605); + lean::inc(x_607); + lean::dec(x_570); + x_609 = lean::box(0); } -lean::cnstr_set(x_635, 0, x_545); -lean::cnstr_set(x_635, 1, x_634); -x_636 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_636, 0, x_635); -lean::cnstr_set(x_636, 1, x_602); -if (lean::is_scalar(x_604)) { - x_637 = lean::alloc_cnstr(0, 4, 0); +x_610 = lean::cnstr_get(x_572, 0); +lean::inc(x_610); +x_612 = l_lean_parser_term_lambda_has__view; +x_613 = lean::cnstr_get(x_612, 1); +lean::inc(x_613); +lean::dec(x_612); +x_616 = lean::box(0); +x_617 = lean::cnstr_get(x_551, 3); +lean::inc(x_617); +x_619 = lean::box(0); +if (lean::is_scalar(x_348)) { + x_620 = lean::alloc_cnstr(1, 2, 0); } else { - x_637 = x_604; + x_620 = x_348; } -lean::cnstr_set(x_637, 0, x_598); -lean::cnstr_set(x_637, 1, x_600); -lean::cnstr_set(x_637, 2, x_636); -lean::cnstr_set(x_637, 3, x_568); -x_1 = x_11; -x_2 = x_637; +lean::cnstr_set(x_620, 0, x_617); +lean::cnstr_set(x_620, 1, x_619); +x_621 = l_list_map___main___at_lean_expander_mk__notation__transformer___spec__3(x_620); +x_622 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_622, 0, x_621); +lean::cnstr_set(x_622, 1, x_616); +x_623 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_623, 0, x_622); +x_624 = lean::cnstr_get(x_551, 5); +lean::inc(x_624); +lean::dec(x_551); +x_627 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__2; +x_628 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__3; +x_629 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_629, 0, x_627); +lean::cnstr_set(x_629, 1, x_623); +lean::cnstr_set(x_629, 2, x_628); +lean::cnstr_set(x_629, 3, x_624); +lean::inc(x_613); +x_631 = lean::apply_1(x_613, x_629); +x_632 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_632, 0, x_627); +lean::cnstr_set(x_632, 1, x_610); +lean::cnstr_set(x_632, 2, x_628); +lean::cnstr_set(x_632, 3, x_600); +x_633 = lean::apply_1(x_613, x_632); +x_634 = l_lean_parser_term_app_has__view; +x_635 = lean::cnstr_get(x_634, 1); +lean::inc(x_635); +lean::dec(x_634); +x_638 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_638, 0, x_631); +lean::cnstr_set(x_638, 1, x_633); +x_639 = lean::apply_1(x_635, x_638); +if (lean::is_scalar(x_602)) { + x_640 = lean::alloc_cnstr(0, 2, 0); +} else { + x_640 = x_602; +} +lean::cnstr_set(x_640, 0, x_548); +lean::cnstr_set(x_640, 1, x_639); +x_641 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_641, 0, x_640); +lean::cnstr_set(x_641, 1, x_607); +if (lean::is_scalar(x_609)) { + x_642 = lean::alloc_cnstr(0, 4, 0); +} else { + x_642 = x_609; +} +lean::cnstr_set(x_642, 0, x_603); +lean::cnstr_set(x_642, 1, x_605); +lean::cnstr_set(x_642, 2, x_641); +lean::cnstr_set(x_642, 3, x_572); +x_1 = x_346; +x_2 = x_642; goto _start; } } } default: { -obj* x_641; obj* x_645; obj* x_646; obj* x_648; -lean::dec(x_500); -lean::dec(x_455); -x_641 = lean::cnstr_get(x_16, 1); -lean::inc(x_641); -lean::dec(x_16); +obj* x_647; obj* x_651; obj* x_652; obj* x_654; +lean::dec(x_456); +lean::dec(x_502); +lean::dec(x_348); +x_647 = lean::cnstr_get(x_360, 1); +lean::inc(x_647); +lean::dec(x_360); lean::inc(x_0); -if (lean::is_scalar(x_499)) { - x_645 = lean::alloc_cnstr(1, 1, 0); +if (lean::is_scalar(x_501)) { + x_651 = lean::alloc_cnstr(1, 1, 0); } else { - x_645 = x_499; + x_651 = x_501; } -lean::cnstr_set(x_645, 0, x_0); -x_646 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__1; +lean::cnstr_set(x_651, 0, x_0); +x_652 = l_list_mmap_x_27___main___at_lean_expander_mk__notation__transformer___spec__4___closed__1; lean::inc(x_3); -x_648 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_645, x_646, x_641, x_3); -lean::dec(x_641); -lean::dec(x_645); -if (lean::obj_tag(x_648) == 0) +x_654 = l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1___rarg(x_651, x_652, x_647, x_3); +lean::dec(x_647); +lean::dec(x_651); +if (lean::obj_tag(x_654) == 0) { -obj* x_654; obj* x_656; obj* x_657; +obj* x_660; obj* x_662; obj* x_663; lean::dec(x_3); lean::dec(x_0); -lean::dec(x_11); -x_654 = lean::cnstr_get(x_648, 0); -if (lean::is_exclusive(x_648)) { - x_656 = x_648; +lean::dec(x_346); +x_660 = lean::cnstr_get(x_654, 0); +if (lean::is_exclusive(x_654)) { + x_662 = x_654; } else { - lean::inc(x_654); - lean::dec(x_648); - x_656 = lean::box(0); + lean::inc(x_660); + lean::dec(x_654); + x_662 = lean::box(0); } -if (lean::is_scalar(x_656)) { - x_657 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_662)) { + x_663 = lean::alloc_cnstr(0, 1, 0); } else { - x_657 = x_656; + x_663 = x_662; } -lean::cnstr_set(x_657, 0, x_654); -return x_657; +lean::cnstr_set(x_663, 0, x_660); +return x_663; } else { -obj* x_658; obj* x_661; -x_658 = lean::cnstr_get(x_648, 0); -lean::inc(x_658); -lean::dec(x_648); -x_661 = lean::cnstr_get(x_658, 1); -lean::inc(x_661); -lean::dec(x_658); -x_1 = x_11; -x_2 = x_661; +obj* x_664; obj* x_667; +x_664 = lean::cnstr_get(x_654, 0); +lean::inc(x_664); +lean::dec(x_654); +x_667 = lean::cnstr_get(x_664, 1); +lean::inc(x_667); +lean::dec(x_664); +x_1 = x_346; +x_2 = x_667; goto _start; } } @@ -2563,6 +2572,7 @@ goto _start; } } } +} obj* l_list_map___main___at_lean_expander_mk__notation__transformer___spec__5(obj* x_0) { _start: { @@ -3028,23 +3038,23 @@ return x_11; obj* _init_l_lean_expander_mixfix__to__notation__spec___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_7; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; +obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; x_0 = lean::box(0); x_1 = lean::box(0); -x_2 = lean::box(0); -x_3 = lean::mk_string("b"); -x_4 = lean_name_mk_string(x_2, x_3); -x_5 = lean::mk_string("."); -lean::inc(x_4); -x_7 = l_lean_name_to__string__with__sep___main(x_5, x_4); -lean::dec(x_5); -x_9 = l_lean_parser_substring_of__string(x_7); +x_2 = lean::mk_string("b"); +x_3 = lean_name_mk_string(x_1, x_2); +x_4 = lean::mk_string("."); +lean::inc(x_3); +x_6 = l_lean_name_to__string__with__sep___main(x_4, x_3); +lean::dec(x_4); +x_8 = l_lean_parser_substring_of__string(x_6); +x_9 = lean::box(0); x_10 = lean::alloc_cnstr(0, 5, 0); lean::cnstr_set(x_10, 0, x_0); -lean::cnstr_set(x_10, 1, x_9); -lean::cnstr_set(x_10, 2, x_4); -lean::cnstr_set(x_10, 3, x_1); -lean::cnstr_set(x_10, 4, x_1); +lean::cnstr_set(x_10, 1, x_8); +lean::cnstr_set(x_10, 2, x_3); +lean::cnstr_set(x_10, 3, x_9); +lean::cnstr_set(x_10, 4, x_9); x_11 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_11, 0, x_10); lean::cnstr_set(x_11, 1, x_0); @@ -3074,36 +3084,6 @@ return x_5; obj* _init_l_lean_expander_mixfix__to__notation__spec___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_0 = lean::box(0); -x_1 = lean::box(0); -x_2 = lean::mk_string("b"); -x_3 = lean_name_mk_string(x_1, x_2); -x_4 = lean::mk_string("."); -lean::inc(x_3); -x_6 = l_lean_name_to__string__with__sep___main(x_4, x_3); -lean::dec(x_4); -x_8 = l_lean_parser_substring_of__string(x_6); -x_9 = lean::box(0); -x_10 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_10, 0, x_0); -lean::cnstr_set(x_10, 1, x_8); -lean::cnstr_set(x_10, 2, x_3); -lean::cnstr_set(x_10, 3, x_9); -lean::cnstr_set(x_10, 4, x_9); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_10); -lean::cnstr_set(x_11, 1, x_0); -x_12 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -} -obj* _init_l_lean_expander_mixfix__to__notation__spec___closed__6() { -_start: -{ obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; x_0 = lean::box(0); x_1 = lean::box(0); @@ -3124,6 +3104,36 @@ lean::cnstr_set(x_10, 4, x_9); return x_10; } } +obj* _init_l_lean_expander_mixfix__to__notation__spec___closed__6() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_7; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; +x_0 = lean::box(0); +x_1 = lean::box(0); +x_2 = lean::box(0); +x_3 = lean::mk_string("b"); +x_4 = lean_name_mk_string(x_2, x_3); +x_5 = lean::mk_string("."); +lean::inc(x_4); +x_7 = l_lean_name_to__string__with__sep___main(x_5, x_4); +lean::dec(x_5); +x_9 = l_lean_parser_substring_of__string(x_7); +x_10 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_10, 0, x_0); +lean::cnstr_set(x_10, 1, x_9); +lean::cnstr_set(x_10, 2, x_4); +lean::cnstr_set(x_10, 3, x_1); +lean::cnstr_set(x_10, 4, x_1); +x_11 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_11, 0, x_10); +lean::cnstr_set(x_11, 1, x_0); +x_12 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_12, 0, x_11); +x_13 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_13, 0, x_12); +return x_13; +} +} obj* _init_l_lean_expander_mixfix__to__notation__spec___closed__7() { _start: { @@ -3135,84 +3145,87 @@ return x_0; obj* l_lean_expander_mixfix__to__notation__spec(obj* x_0, obj* x_1, obj* x_2) { _start: { -obj* x_3; obj* x_5; obj* x_7; -x_5 = lean::cnstr_get(x_1, 3); -lean::inc(x_5); +obj* x_3; switch (lean::obj_tag(x_0)) { case 0: { -obj* x_10; obj* x_11; +obj* x_6; obj* x_8; obj* x_9; lean::dec(x_2); -x_10 = lean::box(0); -x_11 = lean::box(0); -if (lean::obj_tag(x_5) == 0) +x_6 = lean::cnstr_get(x_1, 3); +lean::inc(x_6); +x_8 = lean::box(0); +x_9 = lean::box(0); +if (lean::obj_tag(x_6) == 0) { -obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; -x_12 = l_lean_expander_mixfix__to__notation__spec___closed__5; +obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; +x_10 = l_lean_expander_mixfix__to__notation__spec___closed__3; +x_11 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_11, 0, x_1); +lean::cnstr_set(x_11, 1, x_10); +x_12 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_12, 0, x_11); +lean::cnstr_set(x_12, 1, x_9); x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_1); +lean::cnstr_set(x_13, 0, x_8); lean::cnstr_set(x_13, 1, x_12); -x_14 = lean::alloc_cnstr(1, 2, 0); +x_14 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_14, 0, x_13); -lean::cnstr_set(x_14, 1, x_11); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_10); -lean::cnstr_set(x_15, 1, x_14); -x_16 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_16, 0, x_15); -return x_16; +return x_14; } else { -obj* x_17; obj* x_19; obj* x_20; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; obj* x_30; obj* x_31; obj* x_32; obj* x_33; obj* x_34; -x_17 = lean::cnstr_get(x_5, 0); -if (lean::is_exclusive(x_5)) { - x_19 = x_5; +obj* x_15; obj* x_17; obj* x_18; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; obj* x_30; obj* x_31; obj* x_32; +x_15 = lean::cnstr_get(x_6, 0); +if (lean::is_exclusive(x_6)) { + x_17 = x_6; } else { - lean::inc(x_17); - lean::dec(x_5); - x_19 = lean::box(0); + lean::inc(x_15); + lean::dec(x_6); + x_17 = lean::box(0); } -x_20 = lean::cnstr_get(x_17, 1); -lean::inc(x_20); -lean::dec(x_17); -x_23 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_23, 0, x_20); -x_24 = l_lean_expander_mixfix__to__notation__spec___closed__4; -x_25 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_25, 0, x_24); -lean::cnstr_set(x_25, 1, x_23); -if (lean::is_scalar(x_19)) { - x_26 = lean::alloc_cnstr(1, 1, 0); +x_18 = lean::cnstr_get(x_15, 1); +lean::inc(x_18); +lean::dec(x_15); +x_21 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_21, 0, x_18); +x_22 = l_lean_expander_mixfix__to__notation__spec___closed__4; +x_23 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_23, 0, x_22); +lean::cnstr_set(x_23, 1, x_21); +if (lean::is_scalar(x_17)) { + x_24 = lean::alloc_cnstr(1, 1, 0); } else { - x_26 = x_19; + x_24 = x_17; } +lean::cnstr_set(x_24, 0, x_23); +x_25 = l_lean_expander_mixfix__to__notation__spec___closed__5; +x_26 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_26, 0, x_25); -x_27 = l_lean_expander_mixfix__to__notation__spec___closed__6; -x_28 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_26, 1, x_24); +x_27 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_27, 0, x_26); +x_28 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_28, 0, x_27); -lean::cnstr_set(x_28, 1, x_26); -x_29 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_29, 0, x_28); -x_30 = lean::alloc_cnstr(1, 1, 0); +x_29 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_29, 0, x_1); +lean::cnstr_set(x_29, 1, x_28); +x_30 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_30, 0, x_29); +lean::cnstr_set(x_30, 1, x_9); x_31 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_31, 0, x_1); +lean::cnstr_set(x_31, 0, x_8); lean::cnstr_set(x_31, 1, x_30); -x_32 = lean::alloc_cnstr(1, 2, 0); +x_32 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_32, 0, x_31); -lean::cnstr_set(x_32, 1, x_11); -x_33 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_33, 0, x_10); -lean::cnstr_set(x_33, 1, x_32); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_33); -return x_34; +return x_32; } } case 3: { -if (lean::obj_tag(x_5) == 0) +obj* x_33; +x_33 = lean::cnstr_get(x_1, 3); +lean::inc(x_33); +if (lean::obj_tag(x_33) == 0) { obj* x_36; lean::dec(x_2); @@ -3223,13 +3236,13 @@ goto lbl_4; else { obj* x_37; obj* x_39; obj* x_40; obj* x_42; obj* x_43; uint8 x_44; -x_37 = lean::cnstr_get(x_5, 0); -if (lean::is_exclusive(x_5)) { - lean::cnstr_set(x_5, 0, lean::box(0)); - x_39 = x_5; +x_37 = lean::cnstr_get(x_33, 0); +if (lean::is_exclusive(x_33)) { + lean::cnstr_set(x_33, 0, lean::box(0)); + x_39 = x_33; } else { lean::inc(x_37); - lean::dec(x_5); + lean::dec(x_33); x_39 = lean::box(0); } x_40 = lean::cnstr_get(x_37, 1); @@ -3317,131 +3330,124 @@ goto lbl_4; } case 4: { -obj* x_77; obj* x_78; obj* x_79; obj* x_80; obj* x_81; obj* x_82; obj* x_83; -lean::dec(x_5); +obj* x_76; obj* x_77; obj* x_78; obj* x_79; obj* x_80; obj* x_81; obj* x_82; lean::dec(x_2); +x_76 = lean::box(0); x_77 = lean::box(0); -x_78 = lean::box(0); -x_79 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_79, 0, x_1); +x_78 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_78, 0, x_1); +lean::cnstr_set(x_78, 1, x_76); +x_79 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_79, 0, x_78); lean::cnstr_set(x_79, 1, x_77); -x_80 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_80, 0, x_79); -lean::cnstr_set(x_80, 1, x_78); -x_81 = l_lean_expander_mixfix__to__notation__spec___closed__2; -x_82 = lean::alloc_cnstr(0, 2, 0); +x_80 = l_lean_expander_mixfix__to__notation__spec___closed__2; +x_81 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_81, 0, x_80); +lean::cnstr_set(x_81, 1, x_79); +x_82 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_82, 0, x_81); -lean::cnstr_set(x_82, 1, x_80); -x_83 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_83, 0, x_82); -return x_83; +return x_82; } default: { -obj* x_85; +obj* x_84; obj* x_86; lean::dec(x_2); -x_85 = lean::box(0); -x_7 = x_85; -goto lbl_8; +x_84 = lean::cnstr_get(x_1, 3); +lean::inc(x_84); +x_86 = lean::box(0); +if (lean::obj_tag(x_84) == 0) +{ +obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_92; +x_87 = l_lean_expander_mixfix__to__notation__spec___closed__6; +x_88 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_88, 0, x_1); +lean::cnstr_set(x_88, 1, x_87); +x_89 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_89, 0, x_88); +lean::cnstr_set(x_89, 1, x_86); +x_90 = l_lean_expander_mixfix__to__notation__spec___closed__2; +x_91 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_91, 0, x_90); +lean::cnstr_set(x_91, 1, x_89); +x_92 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_92, 0, x_91); +return x_92; +} +else +{ +obj* x_93; obj* x_95; obj* x_96; obj* x_99; obj* x_100; obj* x_101; obj* x_102; obj* x_103; obj* x_104; obj* x_105; obj* x_106; obj* x_107; obj* x_108; obj* x_109; obj* x_110; obj* x_111; +x_93 = lean::cnstr_get(x_84, 0); +if (lean::is_exclusive(x_84)) { + x_95 = x_84; +} else { + lean::inc(x_93); + lean::dec(x_84); + x_95 = lean::box(0); +} +x_96 = lean::cnstr_get(x_93, 1); +lean::inc(x_96); +lean::dec(x_93); +x_99 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_99, 0, x_96); +x_100 = l_lean_expander_mixfix__to__notation__spec___closed__4; +x_101 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_101, 0, x_100); +lean::cnstr_set(x_101, 1, x_99); +if (lean::is_scalar(x_95)) { + x_102 = lean::alloc_cnstr(1, 1, 0); +} else { + x_102 = x_95; +} +lean::cnstr_set(x_102, 0, x_101); +x_103 = l_lean_expander_mixfix__to__notation__spec___closed__1; +x_104 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_104, 0, x_103); +lean::cnstr_set(x_104, 1, x_102); +x_105 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_105, 0, x_104); +x_106 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_106, 0, x_105); +x_107 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_107, 0, x_1); +lean::cnstr_set(x_107, 1, x_106); +x_108 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_108, 0, x_107); +lean::cnstr_set(x_108, 1, x_86); +x_109 = l_lean_expander_mixfix__to__notation__spec___closed__2; +x_110 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_110, 0, x_109); +lean::cnstr_set(x_110, 1, x_108); +x_111 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_111, 0, x_110); +return x_111; +} } } lbl_4: { -obj* x_86; obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_94; obj* x_95; -x_86 = lean::box(0); -x_87 = l_lean_expander_mixfix__to__notation__spec___closed__1; -x_88 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_88, 0, x_87); -lean::cnstr_set(x_88, 1, x_3); -x_89 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_89, 0, x_88); -x_90 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_90, 0, x_89); -x_91 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_91, 0, x_1); -lean::cnstr_set(x_91, 1, x_90); -x_92 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_92, 0, x_91); -lean::cnstr_set(x_92, 1, x_86); -x_93 = l_lean_expander_mixfix__to__notation__spec___closed__2; -x_94 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_94, 0, x_93); -lean::cnstr_set(x_94, 1, x_92); -x_95 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_95, 0, x_94); -return x_95; -} -lbl_8: -{ -obj* x_97; -lean::dec(x_7); -x_97 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_98; obj* x_99; obj* x_100; obj* x_101; obj* x_102; obj* x_103; -x_98 = l_lean_expander_mixfix__to__notation__spec___closed__3; -x_99 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_99, 0, x_1); -lean::cnstr_set(x_99, 1, x_98); -x_100 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_100, 0, x_99); -lean::cnstr_set(x_100, 1, x_97); -x_101 = l_lean_expander_mixfix__to__notation__spec___closed__2; -x_102 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_102, 0, x_101); -lean::cnstr_set(x_102, 1, x_100); -x_103 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_103, 0, x_102); -return x_103; -} -else -{ -obj* x_104; obj* x_106; obj* x_107; obj* x_110; obj* x_111; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_117; obj* x_118; obj* x_119; obj* x_120; obj* x_121; obj* x_122; -x_104 = lean::cnstr_get(x_5, 0); -if (lean::is_exclusive(x_5)) { - x_106 = x_5; -} else { - lean::inc(x_104); - lean::dec(x_5); - x_106 = lean::box(0); -} -x_107 = lean::cnstr_get(x_104, 1); -lean::inc(x_107); -lean::dec(x_104); -x_110 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_110, 0, x_107); -x_111 = l_lean_expander_mixfix__to__notation__spec___closed__4; -x_112 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_112, 0, x_111); -lean::cnstr_set(x_112, 1, x_110); -if (lean::is_scalar(x_106)) { - x_113 = lean::alloc_cnstr(1, 1, 0); -} else { - x_113 = x_106; -} -lean::cnstr_set(x_113, 0, x_112); -x_114 = l_lean_expander_mixfix__to__notation__spec___closed__1; -x_115 = lean::alloc_cnstr(0, 2, 0); +obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_117; obj* x_118; obj* x_119; obj* x_120; obj* x_121; +x_112 = lean::box(0); +x_113 = l_lean_expander_mixfix__to__notation__spec___closed__1; +x_114 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_114, 0, x_113); +lean::cnstr_set(x_114, 1, x_3); +x_115 = lean::alloc_cnstr(2, 1, 0); lean::cnstr_set(x_115, 0, x_114); -lean::cnstr_set(x_115, 1, x_113); -x_116 = lean::alloc_cnstr(2, 1, 0); +x_116 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_116, 0, x_115); -x_117 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_117, 0, x_116); -x_118 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_118, 0, x_1); -lean::cnstr_set(x_118, 1, x_117); -x_119 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_119, 0, x_118); -lean::cnstr_set(x_119, 1, x_97); -x_120 = l_lean_expander_mixfix__to__notation__spec___closed__2; -x_121 = lean::alloc_cnstr(0, 2, 0); +x_117 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_117, 0, x_1); +lean::cnstr_set(x_117, 1, x_116); +x_118 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_118, 0, x_117); +lean::cnstr_set(x_118, 1, x_112); +x_119 = l_lean_expander_mixfix__to__notation__spec___closed__2; +x_120 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_120, 0, x_119); +lean::cnstr_set(x_120, 1, x_118); +x_121 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_121, 0, x_120); -lean::cnstr_set(x_121, 1, x_119); -x_122 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_122, 0, x_121); -return x_122; -} +return x_121; } } } @@ -3464,6 +3470,69 @@ x_2 = lean::cnstr_get(x_1, 1); lean::inc(x_2); lean::dec(x_1); x_5 = lean::box(0); +x_6 = lean::mk_string("b"); +x_7 = lean_name_mk_string(x_5, x_6); +x_8 = lean::mk_string("."); +lean::inc(x_7); +x_10 = l_lean_name_to__string__with__sep___main(x_8, x_7); +lean::dec(x_8); +x_12 = l_lean_parser_substring_of__string(x_10); +x_13 = lean::box(0); +x_14 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_14, 0, x_0); +lean::cnstr_set(x_14, 1, x_12); +lean::cnstr_set(x_14, 2, x_7); +lean::cnstr_set(x_14, 3, x_13); +lean::cnstr_set(x_14, 4, x_13); +x_15 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_15, 0, x_14); +lean::cnstr_set(x_15, 1, x_0); +x_16 = lean::apply_1(x_2, x_15); +return x_16; +} +} +obj* _init_l_lean_expander_mixfix_transform___closed__2() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; +x_0 = lean::box(0); +x_1 = lean::mk_string("notation"); +x_2 = l_string_trim(x_1); +lean::dec(x_1); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_2); +x_5 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_5, 0, x_4); +return x_5; +} +} +obj* _init_l_lean_expander_mixfix_transform___closed__3() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; +x_0 = lean::box(0); +x_1 = lean::mk_string(":="); +x_2 = l_string_trim(x_1); +lean::dec(x_1); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_2); +x_5 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_5, 0, x_4); +return x_5; +} +} +obj* _init_l_lean_expander_mixfix_transform___closed__4() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_10; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident__univs_has__view; +x_2 = lean::cnstr_get(x_1, 1); +lean::inc(x_2); +lean::dec(x_1); +x_5 = lean::box(0); x_6 = lean::mk_string("a"); x_7 = lean_name_mk_string(x_5, x_6); x_8 = lean::mk_string("."); @@ -3485,7 +3554,7 @@ x_16 = lean::apply_1(x_2, x_15); return x_16; } } -obj* _init_l_lean_expander_mixfix_transform___closed__2() { +obj* _init_l_lean_expander_mixfix_transform___closed__5() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_11; obj* x_13; obj* x_14; obj* x_15; obj* x_16; @@ -3516,69 +3585,6 @@ x_16 = lean::apply_1(x_2, x_15); return x_16; } } -obj* _init_l_lean_expander_mixfix_transform___closed__3() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; -x_0 = lean::box(0); -x_1 = lean::mk_string("notation"); -x_2 = l_string_trim(x_1); -lean::dec(x_1); -x_4 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_4, 0, x_0); -lean::cnstr_set(x_4, 1, x_2); -x_5 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_5, 0, x_4); -return x_5; -} -} -obj* _init_l_lean_expander_mixfix_transform___closed__4() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; -x_0 = lean::box(0); -x_1 = lean::mk_string(":="); -x_2 = l_string_trim(x_1); -lean::dec(x_1); -x_4 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_4, 0, x_0); -lean::cnstr_set(x_4, 1, x_2); -x_5 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_5, 0, x_4); -return x_5; -} -} -obj* _init_l_lean_expander_mixfix_transform___closed__5() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_10; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; -x_0 = lean::box(0); -x_1 = l_lean_parser_ident__univs_has__view; -x_2 = lean::cnstr_get(x_1, 1); -lean::inc(x_2); -lean::dec(x_1); -x_5 = lean::box(0); -x_6 = lean::mk_string("b"); -x_7 = lean_name_mk_string(x_5, x_6); -x_8 = lean::mk_string("."); -lean::inc(x_7); -x_10 = l_lean_name_to__string__with__sep___main(x_8, x_7); -lean::dec(x_8); -x_12 = l_lean_parser_substring_of__string(x_10); -x_13 = lean::box(0); -x_14 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_14, 0, x_0); -lean::cnstr_set(x_14, 1, x_12); -lean::cnstr_set(x_14, 2, x_7); -lean::cnstr_set(x_14, 3, x_13); -lean::cnstr_set(x_14, 4, x_13); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_14); -lean::cnstr_set(x_15, 1, x_0); -x_16 = lean::apply_1(x_2, x_15); -return x_16; -} -} obj* _init_l_lean_expander_mixfix_transform___closed__6() { _start: { @@ -3658,7 +3664,7 @@ return x_28; } else { -obj* x_29; obj* x_31; obj* x_32; obj* x_33; obj* x_36; obj* x_38; +obj* x_29; obj* x_31; obj* x_32; x_29 = lean::cnstr_get(x_22, 0); if (lean::is_exclusive(x_22)) { lean::cnstr_set(x_22, 0, lean::box(0)); @@ -3669,125 +3675,133 @@ if (lean::is_exclusive(x_22)) { x_31 = lean::box(0); } x_32 = l_lean_parser_command_notation_has__view; -x_33 = lean::cnstr_get(x_32, 1); -lean::inc(x_33); -lean::dec(x_32); -x_36 = lean::cnstr_get(x_6, 0); -lean::inc(x_36); switch (lean::obj_tag(x_9)) { case 0: { -obj* x_42; obj* x_43; obj* x_46; obj* x_49; obj* x_50; obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; obj* x_56; obj* x_57; +obj* x_34; obj* x_37; obj* x_39; obj* x_40; obj* x_43; obj* x_46; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51; obj* x_52; obj* x_53; obj* x_54; lean::dec(x_9); -lean::dec(x_31); -x_42 = l_lean_parser_term_app_has__view; -x_43 = lean::cnstr_get(x_42, 1); +x_34 = lean::cnstr_get(x_32, 1); +lean::inc(x_34); +lean::dec(x_32); +x_37 = lean::cnstr_get(x_6, 0); +lean::inc(x_37); +x_39 = l_lean_parser_term_app_has__view; +x_40 = lean::cnstr_get(x_39, 1); +lean::inc(x_40); +lean::dec(x_39); +x_43 = lean::cnstr_get(x_6, 4); lean::inc(x_43); -lean::dec(x_42); -x_46 = lean::cnstr_get(x_6, 4); -lean::inc(x_46); lean::dec(x_6); -x_49 = l_lean_expander_mixfix_transform___closed__5; -x_50 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_50, 0, x_46); -lean::cnstr_set(x_50, 1, x_49); -x_51 = lean::apply_1(x_43, x_50); -x_52 = l_lean_expander_mixfix_transform___closed__3; -x_53 = l_lean_expander_mixfix_transform___closed__4; -x_54 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_54, 0, x_36); -lean::cnstr_set(x_54, 1, x_52); -lean::cnstr_set(x_54, 2, x_29); -lean::cnstr_set(x_54, 3, x_53); -lean::cnstr_set(x_54, 4, x_51); -x_55 = lean::apply_1(x_33, x_54); -x_56 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_56, 0, x_55); -x_57 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_57, 0, x_56); -return x_57; +x_46 = l_lean_expander_mixfix_transform___closed__1; +x_47 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_47, 0, x_43); +lean::cnstr_set(x_47, 1, x_46); +x_48 = lean::apply_1(x_40, x_47); +x_49 = l_lean_expander_mixfix_transform___closed__2; +x_50 = l_lean_expander_mixfix_transform___closed__3; +x_51 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_51, 0, x_37); +lean::cnstr_set(x_51, 1, x_49); +lean::cnstr_set(x_51, 2, x_29); +lean::cnstr_set(x_51, 3, x_50); +lean::cnstr_set(x_51, 4, x_48); +x_52 = lean::apply_1(x_34, x_51); +x_53 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_53, 0, x_52); +if (lean::is_scalar(x_31)) { + x_54 = lean::alloc_cnstr(1, 1, 0); +} else { + x_54 = x_31; +} +lean::cnstr_set(x_54, 0, x_53); +return x_54; } case 4: { -obj* x_60; obj* x_61; obj* x_64; obj* x_67; obj* x_68; obj* x_69; obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; +obj* x_56; obj* x_59; obj* x_61; obj* x_62; obj* x_65; obj* x_68; obj* x_69; obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_75; obj* x_76; lean::dec(x_9); -lean::dec(x_31); -x_60 = l_lean_parser_term_app_has__view; -x_61 = lean::cnstr_get(x_60, 1); -lean::inc(x_61); -lean::dec(x_60); -x_64 = lean::cnstr_get(x_6, 4); -lean::inc(x_64); +x_56 = lean::cnstr_get(x_32, 1); +lean::inc(x_56); +lean::dec(x_32); +x_59 = lean::cnstr_get(x_6, 0); +lean::inc(x_59); +x_61 = l_lean_parser_term_app_has__view; +x_62 = lean::cnstr_get(x_61, 1); +lean::inc(x_62); +lean::dec(x_61); +x_65 = lean::cnstr_get(x_6, 4); +lean::inc(x_65); lean::dec(x_6); -x_67 = l_lean_expander_mixfix_transform___closed__1; -x_68 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_68, 0, x_64); -lean::cnstr_set(x_68, 1, x_67); -x_69 = lean::apply_1(x_61, x_68); -x_70 = l_lean_expander_mixfix_transform___closed__3; -x_71 = l_lean_expander_mixfix_transform___closed__4; -x_72 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_72, 0, x_36); -lean::cnstr_set(x_72, 1, x_70); -lean::cnstr_set(x_72, 2, x_29); -lean::cnstr_set(x_72, 3, x_71); -lean::cnstr_set(x_72, 4, x_69); -x_73 = lean::apply_1(x_33, x_72); -x_74 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_74, 0, x_73); +x_68 = l_lean_expander_mixfix_transform___closed__4; +x_69 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_69, 0, x_65); +lean::cnstr_set(x_69, 1, x_68); +x_70 = lean::apply_1(x_62, x_69); +x_71 = l_lean_expander_mixfix_transform___closed__2; +x_72 = l_lean_expander_mixfix_transform___closed__3; +x_73 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_73, 0, x_59); +lean::cnstr_set(x_73, 1, x_71); +lean::cnstr_set(x_73, 2, x_29); +lean::cnstr_set(x_73, 3, x_72); +lean::cnstr_set(x_73, 4, x_70); +x_74 = lean::apply_1(x_56, x_73); x_75 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_75, 0, x_74); -return x_75; +if (lean::is_scalar(x_31)) { + x_76 = lean::alloc_cnstr(1, 1, 0); +} else { + x_76 = x_31; +} +lean::cnstr_set(x_76, 0, x_75); +return x_76; } default: { -obj* x_77; +obj* x_78; obj* x_81; obj* x_83; obj* x_84; obj* x_87; obj* x_90; obj* x_91; obj* x_93; obj* x_94; obj* x_95; obj* x_96; obj* x_97; obj* x_98; obj* x_99; obj* x_100; obj* x_101; obj* x_102; lean::dec(x_9); -x_77 = lean::box(0); -x_38 = x_77; -goto lbl_39; -} -} -lbl_39: -{ -obj* x_79; obj* x_80; obj* x_83; obj* x_86; obj* x_87; obj* x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_94; obj* x_95; obj* x_96; obj* x_97; obj* x_98; -lean::dec(x_38); -x_79 = l_lean_parser_term_app_has__view; -x_80 = lean::cnstr_get(x_79, 1); -lean::inc(x_80); -lean::dec(x_79); -x_83 = lean::cnstr_get(x_6, 4); -lean::inc(x_83); +x_78 = lean::cnstr_get(x_32, 1); +lean::inc(x_78); +lean::dec(x_32); +x_81 = lean::cnstr_get(x_6, 0); +lean::inc(x_81); +x_83 = l_lean_parser_term_app_has__view; +x_84 = lean::cnstr_get(x_83, 1); +lean::inc(x_84); +lean::dec(x_83); +x_87 = lean::cnstr_get(x_6, 4); +lean::inc(x_87); lean::dec(x_6); -x_86 = l_lean_expander_mixfix_transform___closed__1; -x_87 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_87, 0, x_83); -lean::cnstr_set(x_87, 1, x_86); -lean::inc(x_80); -x_89 = lean::apply_1(x_80, x_87); -x_90 = l_lean_expander_mixfix_transform___closed__2; +x_90 = l_lean_expander_mixfix_transform___closed__4; x_91 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_91, 0, x_89); +lean::cnstr_set(x_91, 0, x_87); lean::cnstr_set(x_91, 1, x_90); -x_92 = lean::apply_1(x_80, x_91); -x_93 = l_lean_expander_mixfix_transform___closed__3; -x_94 = l_lean_expander_mixfix_transform___closed__4; -x_95 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_95, 0, x_36); -lean::cnstr_set(x_95, 1, x_93); -lean::cnstr_set(x_95, 2, x_29); -lean::cnstr_set(x_95, 3, x_94); -lean::cnstr_set(x_95, 4, x_92); -x_96 = lean::apply_1(x_33, x_95); -x_97 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_97, 0, x_96); +lean::inc(x_84); +x_93 = lean::apply_1(x_84, x_91); +x_94 = l_lean_expander_mixfix_transform___closed__5; +x_95 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_95, 0, x_93); +lean::cnstr_set(x_95, 1, x_94); +x_96 = lean::apply_1(x_84, x_95); +x_97 = l_lean_expander_mixfix_transform___closed__2; +x_98 = l_lean_expander_mixfix_transform___closed__3; +x_99 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_99, 0, x_81); +lean::cnstr_set(x_99, 1, x_97); +lean::cnstr_set(x_99, 2, x_29); +lean::cnstr_set(x_99, 3, x_98); +lean::cnstr_set(x_99, 4, x_96); +x_100 = lean::apply_1(x_78, x_99); +x_101 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_101, 0, x_100); if (lean::is_scalar(x_31)) { - x_98 = lean::alloc_cnstr(1, 1, 0); + x_102 = lean::alloc_cnstr(1, 1, 0); } else { - x_98 = x_31; + x_102 = x_31; +} +lean::cnstr_set(x_102, 0, x_101); +return x_102; } -lean::cnstr_set(x_98, 0, x_97); -return x_98; } } } @@ -3860,7 +3874,7 @@ x_22 = lean::cnstr_get(x_21, 1); lean::inc(x_22); lean::dec(x_21); x_25 = l_lean_expander_reserve__mixfix_transform___closed__1; -x_26 = l_lean_expander_mixfix_transform___closed__3; +x_26 = l_lean_expander_mixfix_transform___closed__2; x_27 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_27, 0, x_25); lean::cnstr_set(x_27, 1, x_26); @@ -4203,39 +4217,38 @@ lean::dec(x_0); return x_1; } } -obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(obj* x_0, obj* x_1) { +obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(uint8 x_0, obj* x_1, obj* x_2) { _start: { -if (lean::obj_tag(x_1) == 0) +if (lean::obj_tag(x_2) == 0) { -obj* x_3; -lean::dec(x_0); -x_3 = lean::box(0); -return x_3; +obj* x_4; +lean::dec(x_1); +x_4 = lean::box(0); +return x_4; } else { -obj* x_4; obj* x_6; obj* x_8; obj* x_9; uint8 x_11; obj* x_13; obj* x_14; obj* x_15; -x_4 = lean::cnstr_get(x_1, 0); -x_6 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - x_8 = x_1; +obj* x_5; obj* x_7; obj* x_9; obj* x_10; obj* x_13; obj* x_14; obj* x_15; +x_5 = lean::cnstr_get(x_2, 0); +x_7 = lean::cnstr_get(x_2, 1); +if (lean::is_exclusive(x_2)) { + x_9 = x_2; } else { - lean::inc(x_4); - lean::inc(x_6); - lean::dec(x_1); - x_8 = lean::box(0); + lean::inc(x_5); + lean::inc(x_7); + lean::dec(x_2); + x_9 = lean::box(0); } -x_9 = l_lean_expander_binder__ident__to__ident___main(x_4); -lean::dec(x_4); -x_11 = 0; -lean::inc(x_0); -x_13 = l_lean_expander_mk__simple__binder(x_9, x_11, x_0); -x_14 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(x_0, x_6); -if (lean::is_scalar(x_8)) { +x_10 = l_lean_expander_binder__ident__to__ident___main(x_5); +lean::dec(x_5); +lean::inc(x_1); +x_13 = l_lean_expander_mk__simple__binder(x_10, x_0, x_1); +x_14 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(x_0, x_1, x_7); +if (lean::is_scalar(x_9)) { x_15 = lean::alloc_cnstr(1, 2, 0); } else { - x_15 = x_8; + x_15 = x_9; } lean::cnstr_set(x_15, 0, x_13); lean::cnstr_set(x_15, 1, x_14); @@ -4360,38 +4373,39 @@ return x_15; } } } -obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(uint8 x_0, obj* x_1, obj* x_2) { +obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(obj* x_0, obj* x_1) { _start: { -if (lean::obj_tag(x_2) == 0) +if (lean::obj_tag(x_1) == 0) { -obj* x_4; -lean::dec(x_1); -x_4 = lean::box(0); -return x_4; +obj* x_3; +lean::dec(x_0); +x_3 = lean::box(0); +return x_3; } else { -obj* x_5; obj* x_7; obj* x_9; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_5 = lean::cnstr_get(x_2, 0); -x_7 = lean::cnstr_get(x_2, 1); -if (lean::is_exclusive(x_2)) { - x_9 = x_2; +obj* x_4; obj* x_6; obj* x_8; obj* x_9; uint8 x_11; obj* x_13; obj* x_14; obj* x_15; +x_4 = lean::cnstr_get(x_1, 0); +x_6 = lean::cnstr_get(x_1, 1); +if (lean::is_exclusive(x_1)) { + x_8 = x_1; } else { - lean::inc(x_5); - lean::inc(x_7); - lean::dec(x_2); - x_9 = lean::box(0); + lean::inc(x_4); + lean::inc(x_6); + lean::dec(x_1); + x_8 = lean::box(0); } -x_10 = l_lean_expander_binder__ident__to__ident___main(x_5); -lean::dec(x_5); -lean::inc(x_1); -x_13 = l_lean_expander_mk__simple__binder(x_10, x_0, x_1); -x_14 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(x_0, x_1, x_7); -if (lean::is_scalar(x_9)) { +x_9 = l_lean_expander_binder__ident__to__ident___main(x_4); +lean::dec(x_4); +x_11 = 0; +lean::inc(x_0); +x_13 = l_lean_expander_mk__simple__binder(x_9, x_11, x_0); +x_14 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(x_0, x_6); +if (lean::is_scalar(x_8)) { x_15 = lean::alloc_cnstr(1, 2, 0); } else { - x_15 = x_9; + x_15 = x_8; } lean::cnstr_set(x_15, 0, x_13); lean::cnstr_set(x_15, 1, x_14); @@ -5118,19 +5132,6 @@ return x_15; obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; -x_0 = lean::box(0); -x_1 = lean::box(0); -x_2 = l_lean_expander_get__opt__type___main(x_1); -x_3 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(x_2, x_0); -x_4 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_4, 0, x_3); -return x_4; -} -} -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__2() { -_start: -{ obj* x_0; obj* x_1; obj* x_2; obj* x_3; x_0 = lean::box(0); x_1 = lean::mk_string("opt_param"); @@ -5139,7 +5140,7 @@ x_3 = l_lean_expander_glob__id(x_2); return x_3; } } -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__3() { +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__2() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_3; @@ -5150,7 +5151,7 @@ x_3 = l_lean_expander_glob__id(x_2); return x_3; } } -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__4() { +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__3() { _start: { obj* x_0; @@ -5158,25 +5159,7 @@ x_0 = lean::mk_string("unexpected auto param after type annotation"); return x_0; } } -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__5() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; uint8 x_3; obj* x_4; obj* x_5; -x_0 = lean::box(0); -x_1 = lean::box(0); -x_2 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_2, 0, x_0); -lean::cnstr_set(x_2, 1, x_1); -lean::cnstr_set(x_2, 2, x_1); -x_3 = 0; -x_4 = lean::box(x_3); -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_4); -lean::cnstr_set(x_5, 1, x_2); -return x_5; -} -} -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__6() { +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__4() { _start: { obj* x_0; obj* x_1; @@ -5186,15 +5169,20 @@ lean::cnstr_set(x_1, 0, x_0); return x_1; } } -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__7() { +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__5() { _start: { -obj* x_0; -x_0 = l_lean_expander_expand__bracketed__binder___main___closed__1; -return x_0; +obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; +x_0 = lean::box(0); +x_1 = lean::box(0); +x_2 = l_lean_expander_get__opt__type___main(x_1); +x_3 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(x_2, x_0); +x_4 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_4, 0, x_3); +return x_4; } } -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__8() { +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__6() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; @@ -5222,7 +5210,7 @@ lean::cnstr_set(x_12, 1, x_9); return x_12; } } -obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__9() { +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__7() { _start: { obj* x_0; @@ -5230,6 +5218,24 @@ x_0 = lean::mk_string("unexpected anonymous constructor"); return x_0; } } +obj* _init_l_lean_expander_expand__bracketed__binder___main___closed__8() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; uint8 x_3; obj* x_4; obj* x_5; +x_0 = lean::box(0); +x_1 = lean::box(0); +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_1); +x_3 = 0; +x_4 = lean::box(x_3); +x_5 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_5, 0, x_4); +lean::cnstr_set(x_5, 1, x_2); +return x_5; +} +} obj* l_lean_expander_expand__bracketed__binder___main(obj* x_0, obj* x_1) { _start: { @@ -5249,7 +5255,7 @@ lean::dec(x_6); lean::dec(x_4); lean::dec(x_1); lean::dec(x_0); -x_12 = l_lean_expander_expand__bracketed__binder___main___closed__6; +x_12 = l_lean_expander_expand__bracketed__binder___main___closed__4; return x_12; } else @@ -5264,7 +5270,7 @@ if (lean::obj_tag(x_6) == 0) obj* x_17; lean::dec(x_6); lean::dec(x_1); -x_17 = l_lean_expander_expand__bracketed__binder___main___closed__7; +x_17 = l_lean_expander_expand__bracketed__binder___main___closed__5; return x_17; } else @@ -5315,7 +5321,7 @@ lean::cnstr_set(x_45, 1, x_44); x_46 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_46, 0, x_23); lean::cnstr_set(x_46, 1, x_45); -x_47 = l_lean_expander_expand__bracketed__binder___main___closed__2; +x_47 = l_lean_expander_expand__bracketed__binder___main___closed__1; x_48 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_47, x_46); x_49 = lean::cnstr_get(x_18, 0); lean::inc(x_49); @@ -5342,7 +5348,7 @@ x_62 = lean::box(0); x_63 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_63, 0, x_59); lean::cnstr_set(x_63, 1, x_62); -x_64 = l_lean_expander_expand__bracketed__binder___main___closed__3; +x_64 = l_lean_expander_expand__bracketed__binder___main___closed__2; x_65 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_64, x_63); x_66 = lean::cnstr_get(x_18, 0); lean::inc(x_66); @@ -5373,7 +5379,7 @@ if (lean::is_scalar(x_71)) { x_77 = x_71; } lean::cnstr_set(x_77, 0, x_76); -x_78 = l_lean_expander_expand__bracketed__binder___main___closed__4; +x_78 = l_lean_expander_expand__bracketed__binder___main___closed__3; x_79 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_77, x_78, x_1); lean::dec(x_77); if (lean::obj_tag(x_79) == 0) @@ -5471,7 +5477,7 @@ lean::cnstr_set(x_120, 1, x_119); x_121 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_121, 0, x_98); lean::cnstr_set(x_121, 1, x_120); -x_122 = l_lean_expander_expand__bracketed__binder___main___closed__2; +x_122 = l_lean_expander_expand__bracketed__binder___main___closed__1; x_123 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_122, x_121); x_124 = lean::cnstr_get(x_6, 0); lean::inc(x_124); @@ -5498,7 +5504,7 @@ x_137 = lean::box(0); x_138 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_138, 0, x_134); lean::cnstr_set(x_138, 1, x_137); -x_139 = l_lean_expander_expand__bracketed__binder___main___closed__3; +x_139 = l_lean_expander_expand__bracketed__binder___main___closed__2; x_140 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_139, x_138); x_141 = lean::cnstr_get(x_6, 0); lean::inc(x_141); @@ -5529,7 +5535,7 @@ if (lean::is_scalar(x_146)) { x_152 = x_146; } lean::cnstr_set(x_152, 0, x_151); -x_153 = l_lean_expander_expand__bracketed__binder___main___closed__4; +x_153 = l_lean_expander_expand__bracketed__binder___main___closed__3; x_154 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_152, x_153, x_1); lean::dec(x_152); if (lean::obj_tag(x_154) == 0) @@ -5626,7 +5632,7 @@ lean::cnstr_set(x_195, 1, x_194); x_196 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_196, 0, x_173); lean::cnstr_set(x_196, 1, x_195); -x_197 = l_lean_expander_expand__bracketed__binder___main___closed__2; +x_197 = l_lean_expander_expand__bracketed__binder___main___closed__1; x_198 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_197, x_196); x_199 = lean::cnstr_get(x_6, 0); lean::inc(x_199); @@ -5653,7 +5659,7 @@ x_212 = lean::box(0); x_213 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_213, 0, x_209); lean::cnstr_set(x_213, 1, x_212); -x_214 = l_lean_expander_expand__bracketed__binder___main___closed__3; +x_214 = l_lean_expander_expand__bracketed__binder___main___closed__2; x_215 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_214, x_213); x_216 = lean::cnstr_get(x_6, 0); lean::inc(x_216); @@ -5684,7 +5690,7 @@ if (lean::is_scalar(x_221)) { x_227 = x_221; } lean::cnstr_set(x_227, 0, x_226); -x_228 = l_lean_expander_expand__bracketed__binder___main___closed__4; +x_228 = l_lean_expander_expand__bracketed__binder___main___closed__3; x_229 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_227, x_228, x_1); lean::dec(x_227); if (lean::obj_tag(x_229) == 0) @@ -5783,7 +5789,7 @@ x_270 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_270, 0, x_269); x_271 = l_lean_expander_get__opt__type___main(x_270); lean::dec(x_270); -x_273 = l_lean_expander_expand__bracketed__binder___main___closed__8; +x_273 = l_lean_expander_expand__bracketed__binder___main___closed__6; x_274 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__19(x_271, x_273); x_275 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_275, 0, x_274); @@ -5802,7 +5808,7 @@ lean::dec(x_278); x_282 = lean::apply_1(x_279, x_4); x_283 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_283, 0, x_282); -x_284 = l_lean_expander_expand__bracketed__binder___main___closed__9; +x_284 = l_lean_expander_expand__bracketed__binder___main___closed__7; lean::inc(x_1); x_286 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_283, x_284, x_1); lean::dec(x_283); @@ -5890,7 +5896,7 @@ lean::cnstr_set(x_326, 1, x_325); x_327 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_327, 0, x_303); lean::cnstr_set(x_327, 1, x_326); -x_328 = l_lean_expander_expand__bracketed__binder___main___closed__2; +x_328 = l_lean_expander_expand__bracketed__binder___main___closed__1; x_329 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_328, x_327); x_330 = lean::cnstr_get(x_298, 0); lean::inc(x_330); @@ -5922,7 +5928,7 @@ x_344 = lean::box(0); x_345 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_345, 0, x_341); lean::cnstr_set(x_345, 1, x_344); -x_346 = l_lean_expander_expand__bracketed__binder___main___closed__3; +x_346 = l_lean_expander_expand__bracketed__binder___main___closed__2; x_347 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_346, x_345); x_348 = lean::cnstr_get(x_298, 0); lean::inc(x_348); @@ -5959,7 +5965,7 @@ if (lean::is_scalar(x_355)) { x_361 = x_355; } lean::cnstr_set(x_361, 0, x_360); -x_362 = l_lean_expander_expand__bracketed__binder___main___closed__4; +x_362 = l_lean_expander_expand__bracketed__binder___main___closed__3; x_363 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_361, x_362, x_1); lean::dec(x_361); if (lean::obj_tag(x_363) == 0) @@ -6031,7 +6037,7 @@ if (lean::obj_tag(x_383) == 0) { obj* x_387; lean::dec(x_383); -x_387 = l_lean_expander_expand__bracketed__binder___main___closed__5; +x_387 = l_lean_expander_expand__bracketed__binder___main___closed__8; x_2 = x_387; goto lbl_3; } @@ -6142,7 +6148,7 @@ lean::cnstr_set(x_442, 0, x_441); lean::cnstr_set(x_442, 1, x_437); x_443 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_443, 0, x_442); -x_444 = l_lean_expander_expand__bracketed__binder___main___closed__8; +x_444 = l_lean_expander_expand__bracketed__binder___main___closed__6; x_445 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_445, 0, x_444); lean::cnstr_set(x_445, 1, x_443); @@ -6169,7 +6175,7 @@ lean::dec(x_452); x_456 = lean::apply_1(x_453, x_449); x_457 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_457, 0, x_456); -x_458 = l_lean_expander_expand__bracketed__binder___main___closed__9; +x_458 = l_lean_expander_expand__bracketed__binder___main___closed__7; lean::inc(x_1); x_460 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_457, x_458, x_1); lean::dec(x_457); @@ -6228,7 +6234,7 @@ x_482 = lean::cnstr_get(x_472, 0); lean::inc(x_482); lean::dec(x_472); x_485 = lean::unbox(x_470); -x_486 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__2(x_485, x_477, x_482); +x_486 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(x_485, x_477, x_482); x_487 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_487, 0, x_486); return x_487; @@ -6257,13 +6263,13 @@ lean::cnstr_set(x_500, 1, x_499); x_501 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_501, 0, x_477); lean::cnstr_set(x_501, 1, x_500); -x_502 = l_lean_expander_expand__bracketed__binder___main___closed__2; +x_502 = l_lean_expander_expand__bracketed__binder___main___closed__1; x_503 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_502, x_501); x_504 = lean::cnstr_get(x_472, 0); lean::inc(x_504); lean::dec(x_472); x_507 = lean::unbox(x_470); -x_508 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__3(x_507, x_503, x_504); +x_508 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__2(x_507, x_503, x_504); x_509 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_509, 0, x_508); return x_509; @@ -6285,13 +6291,13 @@ x_518 = lean::box(0); x_519 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_519, 0, x_515); lean::cnstr_set(x_519, 1, x_518); -x_520 = l_lean_expander_expand__bracketed__binder___main___closed__3; +x_520 = l_lean_expander_expand__bracketed__binder___main___closed__2; x_521 = l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(x_520, x_519); x_522 = lean::cnstr_get(x_472, 0); lean::inc(x_522); lean::dec(x_472); x_525 = lean::unbox(x_470); -x_526 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__4(x_525, x_521, x_522); +x_526 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__3(x_525, x_521, x_522); x_527 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_527, 0, x_526); return x_527; @@ -6317,7 +6323,7 @@ if (lean::is_scalar(x_528)) { x_534 = x_528; } lean::cnstr_set(x_534, 0, x_533); -x_535 = l_lean_expander_expand__bracketed__binder___main___closed__4; +x_535 = l_lean_expander_expand__bracketed__binder___main___closed__3; x_536 = l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(x_534, x_535, x_1); lean::dec(x_534); if (lean::obj_tag(x_536) == 0) @@ -6356,7 +6362,7 @@ x_547 = lean::cnstr_get(x_472, 0); lean::inc(x_547); lean::dec(x_472); x_550 = lean::unbox(x_470); -x_551 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(x_550, x_544, x_547); +x_551 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__4(x_550, x_544, x_547); if (lean::is_scalar(x_546)) { x_552 = lean::alloc_cnstr(1, 1, 0); } else { @@ -6371,6 +6377,15 @@ return x_552; } } } +obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; obj* x_4; +x_3 = lean::unbox(x_0); +x_4 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__1(x_3, x_1, x_2); +return x_4; +} +} obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__2___boxed(obj* x_0, obj* x_1, obj* x_2) { _start: { @@ -6398,15 +6413,6 @@ x_4 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___sp return x_4; } } -obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5___boxed(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -uint8 x_3; obj* x_4; -x_3 = lean::unbox(x_0); -x_4 = l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__5(x_3, x_1, x_2); -return x_4; -} -} obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__20___boxed(obj* x_0, obj* x_1, obj* x_2) { _start: { @@ -6589,7 +6595,85 @@ return x_13; } } } -obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1() { +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__6(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_2) == 0) +{ +lean::dec(x_0); +lean::inc(x_1); +return x_1; +} +else +{ +obj* x_5; obj* x_7; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +x_7 = lean::cnstr_get(x_2, 1); +lean::inc(x_7); +lean::dec(x_2); +lean::inc(x_0); +x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__6(x_0, x_1, x_7); +x_12 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_12, 0, x_5); +x_13 = lean::apply_2(x_0, x_12, x_11); +return x_13; +} +} +} +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_2) == 0) +{ +lean::dec(x_0); +lean::inc(x_1); +return x_1; +} +else +{ +obj* x_5; obj* x_7; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +x_7 = lean::cnstr_get(x_2, 1); +lean::inc(x_7); +lean::dec(x_2); +lean::inc(x_0); +x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__7(x_0, x_1, x_7); +x_12 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_12, 0, x_5); +x_13 = lean::apply_2(x_0, x_12, x_11); +return x_13; +} +} +} +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_2) == 0) +{ +lean::dec(x_0); +lean::inc(x_1); +return x_1; +} +else +{ +obj* x_5; obj* x_7; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +x_7 = lean::cnstr_get(x_2, 1); +lean::inc(x_7); +lean::dec(x_2); +lean::inc(x_0); +x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__8(x_0, x_1, x_7); +x_12 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_12, 0, x_5); +x_13 = lean::apply_2(x_0, x_12, x_11); +return x_13; +} +} +} +obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; @@ -6605,7 +6689,7 @@ lean::cnstr_set(x_5, 0, x_4); return x_5; } } -obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__2() { +obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__2() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_15; obj* x_16; obj* x_17; obj* x_18; @@ -6642,7 +6726,7 @@ lean::cnstr_set(x_18, 1, x_9); return x_18; } } -obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3() { +obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; @@ -6658,7 +6742,7 @@ lean::cnstr_set(x_5, 0, x_4); return x_5; } } -obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__4() { +obj* _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__4() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_15; obj* x_16; obj* x_18; obj* x_19; obj* x_20; uint8 x_21; obj* x_22; obj* x_23; @@ -6698,7 +6782,7 @@ lean::cnstr_set(x_23, 0, x_22); return x_23; } } -obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { if (lean::obj_tag(x_2) == 0) @@ -6727,7 +6811,7 @@ if (lean::is_exclusive(x_2)) { } lean::inc(x_3); lean::inc(x_0); -x_14 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6(x_0, x_1, x_9, x_3); +x_14 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9(x_0, x_1, x_9, x_3); if (lean::obj_tag(x_14) == 0) { obj* x_19; obj* x_21; obj* x_22; @@ -6755,100 +6839,126 @@ else { if (lean::obj_tag(x_7) == 0) { -obj* x_23; obj* x_25; obj* x_26; obj* x_29; -x_23 = lean::cnstr_get(x_14, 0); -if (lean::is_exclusive(x_14)) { - lean::cnstr_set(x_14, 0, lean::box(0)); - x_25 = x_14; -} else { - lean::inc(x_23); - lean::dec(x_14); - x_25 = lean::box(0); -} -x_26 = lean::cnstr_get(x_7, 0); -lean::inc(x_26); +obj* x_23; +x_23 = lean::cnstr_get(x_7, 0); +lean::inc(x_23); lean::dec(x_7); -switch (lean::obj_tag(x_26)) { -case 4: +switch (lean::obj_tag(x_23)) { +case 0: { -obj* x_32; obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_41; obj* x_42; obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; obj* x_56; obj* x_57; obj* x_58; obj* x_59; -lean::dec(x_3); -x_32 = lean::cnstr_get(x_26, 0); -lean::inc(x_32); -lean::dec(x_26); -x_35 = lean::box(0); -x_36 = lean::box(0); -x_37 = l_lean_parser_term_match_has__view; -x_38 = lean::cnstr_get(x_37, 1); -lean::inc(x_38); -lean::dec(x_37); -x_41 = l_lean_parser_term_anonymous__constructor_has__view; -x_42 = lean::cnstr_get(x_41, 1); -lean::inc(x_42); -lean::dec(x_41); -x_45 = lean::apply_1(x_42, x_32); -x_46 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_46, 0, x_45); -lean::cnstr_set(x_46, 1, x_35); -if (lean::is_scalar(x_11)) { - x_47 = lean::alloc_cnstr(1, 2, 0); +obj* x_27; obj* x_30; +lean::dec(x_11); +x_27 = lean::cnstr_get(x_14, 0); +lean::inc(x_27); +lean::dec(x_14); +x_30 = l_lean_expander_expand__bracketed__binder___main(x_23, x_3); +if (lean::obj_tag(x_30) == 0) +{ +obj* x_33; obj* x_35; obj* x_36; +lean::dec(x_0); +lean::dec(x_27); +x_33 = lean::cnstr_get(x_30, 0); +if (lean::is_exclusive(x_30)) { + x_35 = x_30; } else { - x_47 = x_11; + lean::inc(x_33); + lean::dec(x_30); + x_35 = lean::box(0); } -lean::cnstr_set(x_47, 0, x_46); -lean::cnstr_set(x_47, 1, x_36); -x_48 = l_lean_expander_mixfix_transform___closed__4; -x_49 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_49, 0, x_47); -lean::cnstr_set(x_49, 1, x_48); -lean::cnstr_set(x_49, 2, x_23); -x_50 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_50, 0, x_49); -lean::cnstr_set(x_50, 1, x_35); -x_51 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_51, 0, x_50); -lean::cnstr_set(x_51, 1, x_36); -x_52 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1; -x_53 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__2; -x_54 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3; -x_55 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_55, 0, x_52); -lean::cnstr_set(x_55, 1, x_53); -lean::cnstr_set(x_55, 2, x_35); -lean::cnstr_set(x_55, 3, x_54); -lean::cnstr_set(x_55, 4, x_35); -lean::cnstr_set(x_55, 5, x_51); -x_56 = lean::apply_1(x_38, x_55); -x_57 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__4; -x_58 = lean::apply_2(x_0, x_57, x_56); -if (lean::is_scalar(x_25)) { +if (lean::is_scalar(x_35)) { + x_36 = lean::alloc_cnstr(0, 1, 0); +} else { + x_36 = x_35; +} +lean::cnstr_set(x_36, 0, x_33); +return x_36; +} +else +{ +obj* x_37; obj* x_39; obj* x_40; obj* x_42; +x_37 = lean::cnstr_get(x_30, 0); +if (lean::is_exclusive(x_30)) { + x_39 = x_30; +} else { + lean::inc(x_37); + lean::dec(x_30); + x_39 = lean::box(0); +} +x_40 = l_list_foldr___main___at_lean_expander_expand__binders___spec__5(x_0, x_27, x_37); +lean::dec(x_27); +if (lean::is_scalar(x_39)) { + x_42 = lean::alloc_cnstr(1, 1, 0); +} else { + x_42 = x_39; +} +lean::cnstr_set(x_42, 0, x_40); +return x_42; +} +} +case 1: +{ +obj* x_44; obj* x_47; +lean::dec(x_11); +x_44 = lean::cnstr_get(x_14, 0); +lean::inc(x_44); +lean::dec(x_14); +x_47 = l_lean_expander_expand__bracketed__binder___main(x_23, x_3); +if (lean::obj_tag(x_47) == 0) +{ +obj* x_50; obj* x_52; obj* x_53; +lean::dec(x_0); +lean::dec(x_44); +x_50 = lean::cnstr_get(x_47, 0); +if (lean::is_exclusive(x_47)) { + x_52 = x_47; +} else { + lean::inc(x_50); + lean::dec(x_47); + x_52 = lean::box(0); +} +if (lean::is_scalar(x_52)) { + x_53 = lean::alloc_cnstr(0, 1, 0); +} else { + x_53 = x_52; +} +lean::cnstr_set(x_53, 0, x_50); +return x_53; +} +else +{ +obj* x_54; obj* x_56; obj* x_57; obj* x_59; +x_54 = lean::cnstr_get(x_47, 0); +if (lean::is_exclusive(x_47)) { + x_56 = x_47; +} else { + lean::inc(x_54); + lean::dec(x_47); + x_56 = lean::box(0); +} +x_57 = l_list_foldr___main___at_lean_expander_expand__binders___spec__6(x_0, x_44, x_54); +lean::dec(x_44); +if (lean::is_scalar(x_56)) { x_59 = lean::alloc_cnstr(1, 1, 0); } else { - x_59 = x_25; + x_59 = x_56; } -lean::cnstr_set(x_59, 0, x_58); +lean::cnstr_set(x_59, 0, x_57); return x_59; } -default: +} +case 2: { -obj* x_62; +obj* x_61; obj* x_64; lean::dec(x_11); -lean::dec(x_25); -x_62 = lean::box(0); -x_29 = x_62; -goto lbl_30; -} -} -lbl_30: -{ -obj* x_64; -lean::dec(x_29); -x_64 = l_lean_expander_expand__bracketed__binder___main(x_26, x_3); +x_61 = lean::cnstr_get(x_14, 0); +lean::inc(x_61); +lean::dec(x_14); +x_64 = l_lean_expander_expand__bracketed__binder___main(x_23, x_3); if (lean::obj_tag(x_64) == 0) { obj* x_67; obj* x_69; obj* x_70; lean::dec(x_0); -lean::dec(x_23); +lean::dec(x_61); x_67 = lean::cnstr_get(x_64, 0); if (lean::is_exclusive(x_64)) { x_69 = x_64; @@ -6876,8 +6986,8 @@ if (lean::is_exclusive(x_64)) { lean::dec(x_64); x_73 = lean::box(0); } -x_74 = l_list_foldr___main___at_lean_expander_expand__binders___spec__5(x_0, x_23, x_71); -lean::dec(x_23); +x_74 = l_list_foldr___main___at_lean_expander_expand__binders___spec__7(x_0, x_61, x_71); +lean::dec(x_61); if (lean::is_scalar(x_73)) { x_76 = lean::alloc_cnstr(1, 1, 0); } else { @@ -6887,44 +6997,164 @@ lean::cnstr_set(x_76, 0, x_74); return x_76; } } +case 3: +{ +obj* x_78; obj* x_81; +lean::dec(x_11); +x_78 = lean::cnstr_get(x_14, 0); +lean::inc(x_78); +lean::dec(x_14); +x_81 = l_lean_expander_expand__bracketed__binder___main(x_23, x_3); +if (lean::obj_tag(x_81) == 0) +{ +obj* x_84; obj* x_86; obj* x_87; +lean::dec(x_0); +lean::dec(x_78); +x_84 = lean::cnstr_get(x_81, 0); +if (lean::is_exclusive(x_81)) { + x_86 = x_81; +} else { + lean::inc(x_84); + lean::dec(x_81); + x_86 = lean::box(0); +} +if (lean::is_scalar(x_86)) { + x_87 = lean::alloc_cnstr(0, 1, 0); +} else { + x_87 = x_86; +} +lean::cnstr_set(x_87, 0, x_84); +return x_87; } else { -obj* x_79; obj* x_81; obj* x_82; obj* x_85; uint8 x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_92; +obj* x_88; obj* x_90; obj* x_91; obj* x_93; +x_88 = lean::cnstr_get(x_81, 0); +if (lean::is_exclusive(x_81)) { + x_90 = x_81; +} else { + lean::inc(x_88); + lean::dec(x_81); + x_90 = lean::box(0); +} +x_91 = l_list_foldr___main___at_lean_expander_expand__binders___spec__8(x_0, x_78, x_88); +lean::dec(x_78); +if (lean::is_scalar(x_90)) { + x_93 = lean::alloc_cnstr(1, 1, 0); +} else { + x_93 = x_90; +} +lean::cnstr_set(x_93, 0, x_91); +return x_93; +} +} +default: +{ +obj* x_95; obj* x_97; obj* x_98; obj* x_101; obj* x_102; obj* x_103; obj* x_104; obj* x_107; obj* x_108; obj* x_111; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_117; obj* x_118; obj* x_119; obj* x_120; obj* x_121; obj* x_122; obj* x_123; obj* x_124; obj* x_125; +lean::dec(x_3); +x_95 = lean::cnstr_get(x_14, 0); +if (lean::is_exclusive(x_14)) { + x_97 = x_14; +} else { + lean::inc(x_95); + lean::dec(x_14); + x_97 = lean::box(0); +} +x_98 = lean::cnstr_get(x_23, 0); +lean::inc(x_98); +lean::dec(x_23); +x_101 = lean::box(0); +x_102 = lean::box(0); +x_103 = l_lean_parser_term_match_has__view; +x_104 = lean::cnstr_get(x_103, 1); +lean::inc(x_104); +lean::dec(x_103); +x_107 = l_lean_parser_term_anonymous__constructor_has__view; +x_108 = lean::cnstr_get(x_107, 1); +lean::inc(x_108); +lean::dec(x_107); +x_111 = lean::apply_1(x_108, x_98); +x_112 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_112, 0, x_111); +lean::cnstr_set(x_112, 1, x_101); +if (lean::is_scalar(x_11)) { + x_113 = lean::alloc_cnstr(1, 2, 0); +} else { + x_113 = x_11; +} +lean::cnstr_set(x_113, 0, x_112); +lean::cnstr_set(x_113, 1, x_102); +x_114 = l_lean_expander_mixfix_transform___closed__3; +x_115 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_115, 0, x_113); +lean::cnstr_set(x_115, 1, x_114); +lean::cnstr_set(x_115, 2, x_95); +x_116 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_116, 0, x_115); +lean::cnstr_set(x_116, 1, x_101); +x_117 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_117, 0, x_116); +lean::cnstr_set(x_117, 1, x_102); +x_118 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1; +x_119 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__2; +x_120 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3; +x_121 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_121, 0, x_118); +lean::cnstr_set(x_121, 1, x_119); +lean::cnstr_set(x_121, 2, x_101); +lean::cnstr_set(x_121, 3, x_120); +lean::cnstr_set(x_121, 4, x_101); +lean::cnstr_set(x_121, 5, x_117); +x_122 = lean::apply_1(x_104, x_121); +x_123 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__4; +x_124 = lean::apply_2(x_0, x_123, x_122); +if (lean::is_scalar(x_97)) { + x_125 = lean::alloc_cnstr(1, 1, 0); +} else { + x_125 = x_97; +} +lean::cnstr_set(x_125, 0, x_124); +return x_125; +} +} +} +else +{ +obj* x_128; obj* x_130; obj* x_131; obj* x_134; uint8 x_136; obj* x_137; obj* x_138; obj* x_139; obj* x_140; obj* x_141; lean::dec(x_11); lean::dec(x_3); -x_79 = lean::cnstr_get(x_14, 0); +x_128 = lean::cnstr_get(x_14, 0); if (lean::is_exclusive(x_14)) { - x_81 = x_14; + x_130 = x_14; } else { - lean::inc(x_79); + lean::inc(x_128); lean::dec(x_14); - x_81 = lean::box(0); + x_130 = lean::box(0); } -x_82 = lean::cnstr_get(x_7, 0); -lean::inc(x_82); +x_131 = lean::cnstr_get(x_7, 0); +lean::inc(x_131); lean::dec(x_7); -x_85 = l_lean_expander_binder__ident__to__ident___main(x_82); -lean::dec(x_82); -x_87 = 0; -x_88 = l_lean_expander_get__opt__type___main___closed__1; -x_89 = l_lean_expander_mk__simple__binder(x_85, x_87, x_88); -x_90 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_90, 0, x_89); -x_91 = lean::apply_2(x_0, x_90, x_79); -if (lean::is_scalar(x_81)) { - x_92 = lean::alloc_cnstr(1, 1, 0); +x_134 = l_lean_expander_binder__ident__to__ident___main(x_131); +lean::dec(x_131); +x_136 = 0; +x_137 = l_lean_expander_get__opt__type___main___closed__1; +x_138 = l_lean_expander_mk__simple__binder(x_134, x_136, x_137); +x_139 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_139, 0, x_138); +x_140 = lean::apply_2(x_0, x_139, x_128); +if (lean::is_scalar(x_130)) { + x_141 = lean::alloc_cnstr(1, 1, 0); } else { - x_92 = x_81; + x_141 = x_130; } -lean::cnstr_set(x_92, 0, x_91); -return x_92; +lean::cnstr_set(x_141, 0, x_140); +return x_141; } } } } } -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__10(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { if (lean::obj_tag(x_3) == 0) @@ -6941,7 +7171,7 @@ x_7 = lean::cnstr_get(x_3, 0); x_8 = lean::cnstr_get(x_3, 1); lean::inc(x_1); lean::inc(x_0); -x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__7(x_0, x_1, x_2, x_8); +x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__10(x_0, x_1, x_2, x_8); x_12 = l_lean_expander_binder__ident__to__ident___main(x_7); x_13 = 0; x_14 = l_lean_expander_mk__simple__binder(x_12, x_13, x_1); @@ -6952,7 +7182,7 @@ return x_16; } } } -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__11(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { if (lean::obj_tag(x_3) == 0) @@ -6969,7 +7199,7 @@ x_7 = lean::cnstr_get(x_3, 0); x_8 = lean::cnstr_get(x_3, 1); lean::inc(x_1); lean::inc(x_0); -x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__8(x_0, x_1, x_2, x_8); +x_11 = l_list_foldr___main___at_lean_expander_expand__binders___spec__11(x_0, x_1, x_2, x_8); x_12 = l_lean_expander_binder__ident__to__ident___main(x_7); x_13 = 0; x_14 = l_lean_expander_mk__simple__binder(x_12, x_13, x_1); @@ -7148,7 +7378,7 @@ x_72 = lean::cnstr_get(x_40, 0); lean::inc(x_72); lean::inc(x_72); lean::inc(x_0); -x_76 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6(x_0, x_2, x_72, x_3); +x_76 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9(x_0, x_2, x_72, x_3); if (lean::obj_tag(x_76) == 0) { obj* x_82; obj* x_84; obj* x_85; @@ -7215,7 +7445,7 @@ lean::dec(x_88); x_100 = lean::cnstr_get(x_72, 1); lean::inc(x_100); lean::dec(x_72); -x_103 = l_list_foldr___main___at_lean_expander_expand__binders___spec__8(x_0, x_100, x_86, x_89); +x_103 = l_list_foldr___main___at_lean_expander_expand__binders___spec__11(x_0, x_100, x_86, x_89); lean::dec(x_89); lean::dec(x_86); if (lean::is_scalar(x_97)) { @@ -7244,7 +7474,7 @@ lbl_93: obj* x_113; obj* x_114; obj* x_117; obj* x_118; lean::dec(x_92); x_113 = l_lean_expander_get__opt__type___main___closed__1; -x_114 = l_list_foldr___main___at_lean_expander_expand__binders___spec__7(x_0, x_113, x_86, x_89); +x_114 = l_list_foldr___main___at_lean_expander_expand__binders___spec__10(x_0, x_113, x_86, x_89); lean::dec(x_89); lean::dec(x_86); x_117 = lean::alloc_cnstr(1, 1, 0); @@ -7322,21 +7552,48 @@ lean::dec(x_1); return x_3; } } -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__6___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_list_foldr___main___at_lean_expander_expand__binders___spec__6(x_0, x_1, x_2); +lean::dec(x_1); +return x_3; +} +} +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__7___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_list_foldr___main___at_lean_expander_expand__binders___spec__7(x_0, x_1, x_2); +lean::dec(x_1); +return x_3; +} +} +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_list_foldr___main___at_lean_expander_expand__binders___spec__8(x_0, x_1, x_2); +lean::dec(x_1); +return x_3; +} +} +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__10___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { obj* x_4; -x_4 = l_list_foldr___main___at_lean_expander_expand__binders___spec__7(x_0, x_1, x_2, x_3); +x_4 = l_list_foldr___main___at_lean_expander_expand__binders___spec__10(x_0, x_1, x_2, x_3); lean::dec(x_2); lean::dec(x_3); return x_4; } } -obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__8___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_list_foldr___main___at_lean_expander_expand__binders___spec__11___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { obj* x_4; -x_4 = l_list_foldr___main___at_lean_expander_expand__binders___spec__8(x_0, x_1, x_2, x_3); +x_4 = l_list_foldr___main___at_lean_expander_expand__binders___spec__11(x_0, x_1, x_2, x_3); lean::dec(x_2); lean::dec(x_3); return x_4; @@ -7349,7 +7606,7 @@ if (lean::obj_tag(x_0) == 0) { obj* x_3; lean::dec(x_1); -x_3 = l_lean_expander_expand__bracketed__binder___main___closed__6; +x_3 = l_lean_expander_expand__bracketed__binder___main___closed__4; return x_3; } else @@ -8591,7 +8848,7 @@ lean::cnstr_set(x_110, 1, x_107); x_111 = lean::cnstr_get(x_5, 5); lean::inc(x_111); lean::dec(x_5); -x_114 = l_lean_expander_mixfix_transform___closed__4; +x_114 = l_lean_expander_mixfix_transform___closed__3; x_115 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_115, 0, x_110); lean::cnstr_set(x_115, 1, x_114); @@ -8602,8 +8859,8 @@ lean::cnstr_set(x_116, 1, x_103); x_117 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_117, 0, x_116); lean::cnstr_set(x_117, 1, x_107); -x_118 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1; -x_119 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3; +x_118 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1; +x_119 = l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3; x_120 = lean::alloc_cnstr(0, 6, 0); lean::cnstr_set(x_120, 0, x_118); lean::cnstr_set(x_120, 1, x_108); @@ -9611,7 +9868,7 @@ if (lean::obj_tag(x_0) == 0) { obj* x_3; lean::dec(x_1); -x_3 = l_lean_expander_expand__bracketed__binder___main___closed__6; +x_3 = l_lean_expander_expand__bracketed__binder___main___closed__4; return x_3; } else @@ -11847,16 +12104,14 @@ lean::mark_persistent(l_lean_expander_expand__bracketed__binder___main___closed_ lean::mark_persistent(l_lean_expander_expand__bracketed__binder___main___closed__7); l_lean_expander_expand__bracketed__binder___main___closed__8 = _init_l_lean_expander_expand__bracketed__binder___main___closed__8(); lean::mark_persistent(l_lean_expander_expand__bracketed__binder___main___closed__8); - l_lean_expander_expand__bracketed__binder___main___closed__9 = _init_l_lean_expander_expand__bracketed__binder___main___closed__9(); -lean::mark_persistent(l_lean_expander_expand__bracketed__binder___main___closed__9); - l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1(); -lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__1); - l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__2 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__2(); -lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__2); - l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3(); -lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__3); - l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__4 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__4(); -lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__6___closed__4); + l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1(); +lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__1); + l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__2 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__2(); +lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__2); + l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3(); +lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__3); + l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__4 = _init_l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__4(); +lean::mark_persistent(l_list_mfoldr___main___at_lean_expander_expand__binders___spec__9___closed__4); l_lean_expander_lambda_transform___closed__1 = _init_l_lean_expander_lambda_transform___closed__1(); lean::mark_persistent(l_lean_expander_lambda_transform___closed__1); l_lean_expander_arrow_transform___closed__1 = _init_l_lean_expander_arrow_transform___closed__1(); diff --git a/src/boot/init/lean/frontend.cpp b/src/boot/init/lean/frontend.cpp index 1fea0c963c..ae737d9d47 100644 --- a/src/boot/init/lean/frontend.cpp +++ b/src/boot/init/lean/frontend.cpp @@ -30,9 +30,9 @@ obj* l_lean_process__file___lambda__1___closed__3; obj* l_list_reverse___rarg(obj*); extern "C" obj* lean_name_mk_string(obj*, obj*); obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__4(obj*, obj*, obj*); -extern obj* l_lean_expander_expand__bracketed__binder___main___closed__6; uint8 l_lean_parser_syntax_is__of__kind___main(obj*, obj*); obj* l_lean_parser_parse__command(obj*, obj*); +extern obj* l_lean_expander_expand__bracketed__binder___main___closed__4; obj* l_string_quote(obj*); extern obj* l_lean_expander_builtin__transformers; obj* l_lean_mk__config(obj*, obj*); @@ -799,14 +799,8 @@ goto lbl_9; } else { -obj* x_157; obj* x_158; obj* x_160; obj* x_163; obj* x_164; obj* x_165; obj* x_166; -if (lean::is_exclusive(x_137)) { - lean::cnstr_release(x_137, 0); - x_157 = x_137; -} else { - lean::dec(x_137); - x_157 = lean::box(0); -} +obj* x_158; obj* x_160; obj* x_163; obj* x_164; obj* x_165; obj* x_166; +lean::dec(x_137); x_158 = lean::cnstr_get(x_136, 1); if (lean::is_exclusive(x_136)) { lean::cnstr_release(x_136, 0); @@ -830,144 +824,143 @@ if (lean::obj_tag(x_166) == 0) { lean::dec(x_4); lean::dec(x_46); -lean::dec(x_157); if (x_2 == 0) { -obj* x_173; obj* x_175; obj* x_176; obj* x_179; obj* x_180; +obj* x_172; obj* x_174; obj* x_175; obj* x_178; obj* x_179; lean::dec(x_27); lean::dec(x_126); -x_173 = lean::cnstr_get(x_165, 1); +x_172 = lean::cnstr_get(x_165, 1); if (lean::is_exclusive(x_165)) { lean::cnstr_release(x_165, 0); lean::cnstr_set(x_165, 1, lean::box(0)); - x_175 = x_165; + x_174 = x_165; } else { - lean::inc(x_173); + lean::inc(x_172); lean::dec(x_165); - x_175 = lean::box(0); + x_174 = lean::box(0); } -x_176 = lean::cnstr_get(x_166, 0); -lean::inc(x_176); +x_175 = lean::cnstr_get(x_166, 0); +lean::inc(x_175); lean::dec(x_166); -x_179 = lean::apply_2(x_0, x_176, x_173); -x_180 = lean::cnstr_get(x_179, 0); -lean::inc(x_180); -if (lean::obj_tag(x_180) == 0) +x_178 = lean::apply_2(x_0, x_175, x_172); +x_179 = lean::cnstr_get(x_178, 0); +lean::inc(x_179); +if (lean::obj_tag(x_179) == 0) { -obj* x_190; obj* x_193; obj* x_195; obj* x_196; +obj* x_189; obj* x_192; obj* x_194; obj* x_195; lean::dec(x_25); lean::dec(x_3); lean::dec(x_19); lean::dec(x_22); -lean::dec(x_175); +lean::dec(x_174); lean::dec(x_160); lean::dec(x_133); lean::dec(x_129); -x_190 = lean::cnstr_get(x_179, 1); -lean::inc(x_190); -lean::dec(x_179); -x_193 = lean::cnstr_get(x_180, 0); -if (lean::is_exclusive(x_180)) { - x_195 = x_180; +x_189 = lean::cnstr_get(x_178, 1); +lean::inc(x_189); +lean::dec(x_178); +x_192 = lean::cnstr_get(x_179, 0); +if (lean::is_exclusive(x_179)) { + x_194 = x_179; } else { - lean::inc(x_193); - lean::dec(x_180); - x_195 = lean::box(0); + lean::inc(x_192); + lean::dec(x_179); + x_194 = lean::box(0); } -if (lean::is_scalar(x_195)) { - x_196 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_194)) { + x_195 = lean::alloc_cnstr(0, 1, 0); } else { - x_196 = x_195; + x_195 = x_194; } -lean::cnstr_set(x_196, 0, x_193); -x_7 = x_196; -x_8 = x_190; +lean::cnstr_set(x_195, 0, x_192); +x_7 = x_195; +x_8 = x_189; goto lbl_9; } else { -obj* x_197; obj* x_198; obj* x_200; obj* x_201; obj* x_202; obj* x_203; obj* x_204; obj* x_205; obj* x_206; -if (lean::is_exclusive(x_180)) { - lean::cnstr_release(x_180, 0); - x_197 = x_180; -} else { - lean::dec(x_180); - x_197 = lean::box(0); -} -x_198 = lean::cnstr_get(x_179, 1); +obj* x_196; obj* x_197; obj* x_199; obj* x_200; obj* x_201; obj* x_202; obj* x_203; obj* x_204; obj* x_205; if (lean::is_exclusive(x_179)) { lean::cnstr_release(x_179, 0); - x_200 = x_179; + x_196 = x_179; } else { - lean::inc(x_198); lean::dec(x_179); - x_200 = lean::box(0); + x_196 = lean::box(0); } -if (lean::is_scalar(x_200)) { +x_197 = lean::cnstr_get(x_178, 1); +if (lean::is_exclusive(x_178)) { + lean::cnstr_release(x_178, 0); + x_199 = x_178; +} else { + lean::inc(x_197); + lean::dec(x_178); + x_199 = lean::box(0); +} +if (lean::is_scalar(x_199)) { + x_200 = lean::alloc_cnstr(0, 2, 0); +} else { + x_200 = x_199; +} +lean::cnstr_set(x_200, 0, x_25); +lean::cnstr_set(x_200, 1, x_3); +if (lean::is_scalar(x_174)) { x_201 = lean::alloc_cnstr(0, 2, 0); } else { - x_201 = x_200; + x_201 = x_174; } -lean::cnstr_set(x_201, 0, x_25); -lean::cnstr_set(x_201, 1, x_3); -if (lean::is_scalar(x_175)) { +lean::cnstr_set(x_201, 0, x_22); +lean::cnstr_set(x_201, 1, x_200); +if (lean::is_scalar(x_160)) { x_202 = lean::alloc_cnstr(0, 2, 0); } else { - x_202 = x_175; + x_202 = x_160; } -lean::cnstr_set(x_202, 0, x_22); +lean::cnstr_set(x_202, 0, x_19); lean::cnstr_set(x_202, 1, x_201); -if (lean::is_scalar(x_160)) { +if (lean::is_scalar(x_133)) { x_203 = lean::alloc_cnstr(0, 2, 0); } else { - x_203 = x_160; + x_203 = x_133; } -lean::cnstr_set(x_203, 0, x_19); +lean::cnstr_set(x_203, 0, x_129); lean::cnstr_set(x_203, 1, x_202); -if (lean::is_scalar(x_133)) { - x_204 = lean::alloc_cnstr(0, 2, 0); +x_204 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_204, 0, x_203); +if (lean::is_scalar(x_196)) { + x_205 = lean::alloc_cnstr(1, 1, 0); } else { - x_204 = x_133; + x_205 = x_196; } -lean::cnstr_set(x_204, 0, x_129); -lean::cnstr_set(x_204, 1, x_203); -x_205 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_205, 0, x_204); -if (lean::is_scalar(x_197)) { - x_206 = lean::alloc_cnstr(1, 1, 0); -} else { - x_206 = x_197; -} -lean::cnstr_set(x_206, 0, x_205); -x_7 = x_206; -x_8 = x_198; +x_7 = x_205; +x_8 = x_197; goto lbl_9; } } else { -obj* x_208; obj* x_210; obj* x_211; obj* x_214; obj* x_215; +obj* x_207; obj* x_209; obj* x_210; obj* x_213; obj* x_214; lean::dec(x_3); -x_208 = lean::cnstr_get(x_165, 1); +x_207 = lean::cnstr_get(x_165, 1); if (lean::is_exclusive(x_165)) { lean::cnstr_release(x_165, 0); lean::cnstr_set(x_165, 1, lean::box(0)); - x_210 = x_165; + x_209 = x_165; } else { - lean::inc(x_208); + lean::inc(x_207); lean::dec(x_165); - x_210 = lean::box(0); + x_209 = lean::box(0); } -x_211 = lean::cnstr_get(x_166, 0); -lean::inc(x_211); +x_210 = lean::cnstr_get(x_166, 0); +lean::inc(x_210); lean::dec(x_166); -x_214 = lean::apply_2(x_0, x_211, x_208); -x_215 = lean::cnstr_get(x_214, 0); -lean::inc(x_215); -if (lean::obj_tag(x_215) == 0) +x_213 = lean::apply_2(x_0, x_210, x_207); +x_214 = lean::cnstr_get(x_213, 0); +lean::inc(x_214); +if (lean::obj_tag(x_214) == 0) { -obj* x_226; obj* x_229; obj* x_231; obj* x_232; -lean::dec(x_210); +obj* x_225; obj* x_228; obj* x_230; obj* x_231; +lean::dec(x_209); lean::dec(x_25); lean::dec(x_27); lean::dec(x_19); @@ -976,360 +969,342 @@ lean::dec(x_160); lean::dec(x_126); lean::dec(x_133); lean::dec(x_129); -x_226 = lean::cnstr_get(x_214, 1); -lean::inc(x_226); -lean::dec(x_214); -x_229 = lean::cnstr_get(x_215, 0); -if (lean::is_exclusive(x_215)) { - x_231 = x_215; +x_225 = lean::cnstr_get(x_213, 1); +lean::inc(x_225); +lean::dec(x_213); +x_228 = lean::cnstr_get(x_214, 0); +if (lean::is_exclusive(x_214)) { + x_230 = x_214; } else { - lean::inc(x_229); - lean::dec(x_215); - x_231 = lean::box(0); + lean::inc(x_228); + lean::dec(x_214); + x_230 = lean::box(0); } -if (lean::is_scalar(x_231)) { - x_232 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_230)) { + x_231 = lean::alloc_cnstr(0, 1, 0); } else { - x_232 = x_231; + x_231 = x_230; } -lean::cnstr_set(x_232, 0, x_229); -x_7 = x_232; -x_8 = x_226; +lean::cnstr_set(x_231, 0, x_228); +x_7 = x_231; +x_8 = x_225; goto lbl_9; } else { -obj* x_233; obj* x_234; obj* x_236; obj* x_237; obj* x_238; obj* x_239; obj* x_240; obj* x_241; obj* x_242; obj* x_243; -if (lean::is_exclusive(x_215)) { - lean::cnstr_release(x_215, 0); - x_233 = x_215; -} else { - lean::dec(x_215); - x_233 = lean::box(0); -} -x_234 = lean::cnstr_get(x_214, 1); +obj* x_232; obj* x_233; obj* x_235; obj* x_236; obj* x_237; obj* x_238; obj* x_239; obj* x_240; obj* x_241; obj* x_242; if (lean::is_exclusive(x_214)) { lean::cnstr_release(x_214, 0); - x_236 = x_214; + x_232 = x_214; } else { - lean::inc(x_234); lean::dec(x_214); - x_236 = lean::box(0); + x_232 = lean::box(0); } -x_237 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_237, 0, x_126); -lean::cnstr_set(x_237, 1, x_27); -if (lean::is_scalar(x_236)) { +x_233 = lean::cnstr_get(x_213, 1); +if (lean::is_exclusive(x_213)) { + lean::cnstr_release(x_213, 0); + x_235 = x_213; +} else { + lean::inc(x_233); + lean::dec(x_213); + x_235 = lean::box(0); +} +x_236 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_236, 0, x_126); +lean::cnstr_set(x_236, 1, x_27); +if (lean::is_scalar(x_235)) { + x_237 = lean::alloc_cnstr(0, 2, 0); +} else { + x_237 = x_235; +} +lean::cnstr_set(x_237, 0, x_25); +lean::cnstr_set(x_237, 1, x_236); +if (lean::is_scalar(x_209)) { x_238 = lean::alloc_cnstr(0, 2, 0); } else { - x_238 = x_236; + x_238 = x_209; } -lean::cnstr_set(x_238, 0, x_25); +lean::cnstr_set(x_238, 0, x_22); lean::cnstr_set(x_238, 1, x_237); -if (lean::is_scalar(x_210)) { +if (lean::is_scalar(x_160)) { x_239 = lean::alloc_cnstr(0, 2, 0); } else { - x_239 = x_210; + x_239 = x_160; } -lean::cnstr_set(x_239, 0, x_22); +lean::cnstr_set(x_239, 0, x_19); lean::cnstr_set(x_239, 1, x_238); -if (lean::is_scalar(x_160)) { +if (lean::is_scalar(x_133)) { x_240 = lean::alloc_cnstr(0, 2, 0); } else { - x_240 = x_160; + x_240 = x_133; } -lean::cnstr_set(x_240, 0, x_19); +lean::cnstr_set(x_240, 0, x_129); lean::cnstr_set(x_240, 1, x_239); -if (lean::is_scalar(x_133)) { - x_241 = lean::alloc_cnstr(0, 2, 0); +x_241 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_241, 0, x_240); +if (lean::is_scalar(x_232)) { + x_242 = lean::alloc_cnstr(1, 1, 0); } else { - x_241 = x_133; + x_242 = x_232; } -lean::cnstr_set(x_241, 0, x_129); -lean::cnstr_set(x_241, 1, x_240); -x_242 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_242, 0, x_241); -if (lean::is_scalar(x_233)) { - x_243 = lean::alloc_cnstr(1, 1, 0); -} else { - x_243 = x_233; -} -lean::cnstr_set(x_243, 0, x_242); -x_7 = x_243; -x_8 = x_234; +x_7 = x_242; +x_8 = x_233; goto lbl_9; } } } else { -obj* x_247; obj* x_249; obj* x_250; obj* x_252; obj* x_254; obj* x_255; obj* x_256; obj* x_258; obj* x_260; obj* x_262; obj* x_263; obj* x_265; obj* x_266; obj* x_267; obj* x_269; obj* x_271; obj* x_272; obj* x_274; +obj* x_246; obj* x_248; obj* x_249; obj* x_253; obj* x_254; obj* x_255; obj* x_257; obj* x_259; obj* x_261; obj* x_262; obj* x_264; obj* x_265; obj* x_266; lean::dec(x_25); lean::dec(x_22); lean::dec(x_133); -x_247 = lean::cnstr_get(x_165, 1); +x_246 = lean::cnstr_get(x_165, 1); if (lean::is_exclusive(x_165)) { lean::cnstr_release(x_165, 0); lean::cnstr_set(x_165, 1, lean::box(0)); - x_249 = x_165; + x_248 = x_165; } else { - lean::inc(x_247); + lean::inc(x_246); lean::dec(x_165); - x_249 = lean::box(0); + x_248 = lean::box(0); } -x_250 = lean::cnstr_get(x_166, 0); -if (lean::is_exclusive(x_166)) { - lean::cnstr_set(x_166, 0, lean::box(0)); - x_252 = x_166; -} else { - lean::inc(x_250); - lean::dec(x_166); - x_252 = lean::box(0); -} -lean::inc(x_250); -x_254 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate___at_lean_run__frontend___spec__6___lambda__3___boxed), 4, 3); -lean::closure_set(x_254, 0, x_4); -lean::closure_set(x_254, 1, x_19); -lean::closure_set(x_254, 2, x_250); -x_255 = l_io_prim_iterate___at_lean_run__frontend___spec__6___lambda__4___closed__3; -x_256 = l_lean_profileit__pure___rarg(x_255, x_46, x_254, x_247); +x_249 = lean::cnstr_get(x_166, 0); +lean::inc(x_249); +lean::dec(x_166); +lean::inc(x_249); +x_253 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate___at_lean_run__frontend___spec__6___lambda__3___boxed), 4, 3); +lean::closure_set(x_253, 0, x_4); +lean::closure_set(x_253, 1, x_19); +lean::closure_set(x_253, 2, x_249); +x_254 = l_io_prim_iterate___at_lean_run__frontend___spec__6___lambda__4___closed__3; +x_255 = l_lean_profileit__pure___rarg(x_254, x_46, x_253, x_246); lean::dec(x_46); -x_258 = lean::cnstr_get(x_256, 0); -x_260 = lean::cnstr_get(x_256, 1); -if (lean::is_exclusive(x_256)) { - lean::cnstr_set(x_256, 0, lean::box(0)); - lean::cnstr_set(x_256, 1, lean::box(0)); - x_262 = x_256; +x_257 = lean::cnstr_get(x_255, 0); +x_259 = lean::cnstr_get(x_255, 1); +if (lean::is_exclusive(x_255)) { + lean::cnstr_set(x_255, 0, lean::box(0)); + lean::cnstr_set(x_255, 1, lean::box(0)); + x_261 = x_255; } else { - lean::inc(x_258); - lean::inc(x_260); - lean::dec(x_256); - x_262 = lean::box(0); + lean::inc(x_257); + lean::inc(x_259); + lean::dec(x_255); + x_261 = lean::box(0); } -x_263 = lean::cnstr_get(x_258, 5); -lean::inc(x_263); -x_265 = l_list_reverse___rarg(x_263); -x_266 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__4(x_0, x_265, x_260); -x_267 = lean::cnstr_get(x_266, 0); -x_269 = lean::cnstr_get(x_266, 1); -if (lean::is_exclusive(x_266)) { - lean::cnstr_set(x_266, 0, lean::box(0)); - lean::cnstr_set(x_266, 1, lean::box(0)); - x_271 = x_266; -} else { - lean::inc(x_267); - lean::inc(x_269); - lean::dec(x_266); - x_271 = lean::box(0); -} -if (lean::obj_tag(x_267) == 0) +x_262 = lean::cnstr_get(x_257, 5); +lean::inc(x_262); +x_264 = l_list_reverse___rarg(x_262); +x_265 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__4(x_0, x_264, x_259); +x_266 = lean::cnstr_get(x_265, 0); +lean::inc(x_266); +if (lean::obj_tag(x_266) == 0) { -obj* x_288; obj* x_290; obj* x_291; +obj* x_277; obj* x_280; obj* x_282; obj* x_283; +lean::dec(x_248); lean::dec(x_249); -lean::dec(x_258); -lean::dec(x_262); -lean::dec(x_252); +lean::dec(x_261); +lean::dec(x_257); lean::dec(x_27); lean::dec(x_3); -lean::dec(x_250); -lean::dec(x_271); -lean::dec(x_157); lean::dec(x_160); lean::dec(x_126); lean::dec(x_129); -x_288 = lean::cnstr_get(x_267, 0); -if (lean::is_exclusive(x_267)) { - x_290 = x_267; +x_277 = lean::cnstr_get(x_265, 1); +lean::inc(x_277); +lean::dec(x_265); +x_280 = lean::cnstr_get(x_266, 0); +if (lean::is_exclusive(x_266)) { + x_282 = x_266; } else { - lean::inc(x_288); - lean::dec(x_267); - x_290 = lean::box(0); + lean::inc(x_280); + lean::dec(x_266); + x_282 = lean::box(0); } -if (lean::is_scalar(x_290)) { - x_291 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_282)) { + x_283 = lean::alloc_cnstr(0, 1, 0); } else { - x_291 = x_290; + x_283 = x_282; } -lean::cnstr_set(x_291, 0, x_288); -x_7 = x_291; -x_8 = x_269; +lean::cnstr_set(x_283, 0, x_280); +x_7 = x_283; +x_8 = x_277; goto lbl_9; } else { -obj* x_293; uint8 x_294; -lean::dec(x_267); -x_293 = l_lean_parser_module_eoi; -x_294 = l_lean_parser_syntax_is__of__kind___main(x_293, x_250); -lean::dec(x_250); -if (x_294 == 0) -{ -obj* x_297; -lean::dec(x_157); -x_297 = lean::box(0); -x_272 = x_297; -goto lbl_273; +obj* x_284; obj* x_285; obj* x_287; obj* x_288; uint8 x_289; +if (lean::is_exclusive(x_266)) { + lean::cnstr_release(x_266, 0); + x_284 = x_266; +} else { + lean::dec(x_266); + x_284 = lean::box(0); } -else -{ -obj* x_305; +x_285 = lean::cnstr_get(x_265, 1); +if (lean::is_exclusive(x_265)) { + lean::cnstr_release(x_265, 0); + lean::cnstr_set(x_265, 1, lean::box(0)); + x_287 = x_265; +} else { + lean::inc(x_285); + lean::dec(x_265); + x_287 = lean::box(0); +} +x_288 = l_lean_parser_module_eoi; +x_289 = l_lean_parser_syntax_is__of__kind___main(x_288, x_249); lean::dec(x_249); -lean::dec(x_258); -lean::dec(x_262); -lean::dec(x_252); -lean::dec(x_271); -lean::dec(x_160); -lean::dec(x_129); -x_305 = lean::box(0); -x_274 = x_305; -goto lbl_275; -} -} -lbl_273: +if (x_289 == 0) { -lean::dec(x_272); if (x_2 == 0) { -obj* x_309; obj* x_311; obj* x_313; obj* x_314; obj* x_315; obj* x_316; obj* x_317; obj* x_318; +obj* x_293; obj* x_295; obj* x_297; obj* x_298; obj* x_299; obj* x_300; obj* x_301; obj* x_302; lean::dec(x_27); lean::dec(x_126); -x_309 = lean::cnstr_get(x_258, 6); -lean::inc(x_309); -x_311 = lean::cnstr_get(x_258, 7); -lean::inc(x_311); -if (lean::is_scalar(x_271)) { - x_313 = lean::alloc_cnstr(0, 2, 0); +x_293 = lean::cnstr_get(x_257, 6); +lean::inc(x_293); +x_295 = lean::cnstr_get(x_257, 7); +lean::inc(x_295); +if (lean::is_scalar(x_287)) { + x_297 = lean::alloc_cnstr(0, 2, 0); } else { - x_313 = x_271; + x_297 = x_287; } -lean::cnstr_set(x_313, 0, x_311); -lean::cnstr_set(x_313, 1, x_3); -if (lean::is_scalar(x_262)) { - x_314 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_297, 0, x_295); +lean::cnstr_set(x_297, 1, x_3); +if (lean::is_scalar(x_261)) { + x_298 = lean::alloc_cnstr(0, 2, 0); } else { - x_314 = x_262; + x_298 = x_261; } -lean::cnstr_set(x_314, 0, x_309); -lean::cnstr_set(x_314, 1, x_313); -if (lean::is_scalar(x_249)) { - x_315 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_298, 0, x_293); +lean::cnstr_set(x_298, 1, x_297); +if (lean::is_scalar(x_248)) { + x_299 = lean::alloc_cnstr(0, 2, 0); } else { - x_315 = x_249; + x_299 = x_248; } -lean::cnstr_set(x_315, 0, x_258); -lean::cnstr_set(x_315, 1, x_314); +lean::cnstr_set(x_299, 0, x_257); +lean::cnstr_set(x_299, 1, x_298); if (lean::is_scalar(x_160)) { - x_316 = lean::alloc_cnstr(0, 2, 0); + x_300 = lean::alloc_cnstr(0, 2, 0); } else { - x_316 = x_160; + x_300 = x_160; } -lean::cnstr_set(x_316, 0, x_129); -lean::cnstr_set(x_316, 1, x_315); -x_317 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_317, 0, x_316); -if (lean::is_scalar(x_252)) { - x_318 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_300, 0, x_129); +lean::cnstr_set(x_300, 1, x_299); +x_301 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_301, 0, x_300); +if (lean::is_scalar(x_284)) { + x_302 = lean::alloc_cnstr(1, 1, 0); } else { - x_318 = x_252; + x_302 = x_284; } -lean::cnstr_set(x_318, 0, x_317); -x_7 = x_318; -x_8 = x_269; +lean::cnstr_set(x_302, 0, x_301); +x_7 = x_302; +x_8 = x_285; goto lbl_9; } else { -obj* x_320; obj* x_322; obj* x_324; obj* x_325; obj* x_326; obj* x_327; obj* x_328; obj* x_329; obj* x_330; +obj* x_304; obj* x_306; obj* x_308; obj* x_309; obj* x_310; obj* x_311; obj* x_312; obj* x_313; obj* x_314; lean::dec(x_3); -x_320 = lean::cnstr_get(x_258, 6); -lean::inc(x_320); -x_322 = lean::cnstr_get(x_258, 7); -lean::inc(x_322); -x_324 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_324, 0, x_126); -lean::cnstr_set(x_324, 1, x_27); -if (lean::is_scalar(x_271)) { - x_325 = lean::alloc_cnstr(0, 2, 0); +x_304 = lean::cnstr_get(x_257, 6); +lean::inc(x_304); +x_306 = lean::cnstr_get(x_257, 7); +lean::inc(x_306); +x_308 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_308, 0, x_126); +lean::cnstr_set(x_308, 1, x_27); +if (lean::is_scalar(x_287)) { + x_309 = lean::alloc_cnstr(0, 2, 0); } else { - x_325 = x_271; + x_309 = x_287; } -lean::cnstr_set(x_325, 0, x_322); -lean::cnstr_set(x_325, 1, x_324); -if (lean::is_scalar(x_262)) { - x_326 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_309, 0, x_306); +lean::cnstr_set(x_309, 1, x_308); +if (lean::is_scalar(x_261)) { + x_310 = lean::alloc_cnstr(0, 2, 0); } else { - x_326 = x_262; + x_310 = x_261; } -lean::cnstr_set(x_326, 0, x_320); -lean::cnstr_set(x_326, 1, x_325); -if (lean::is_scalar(x_249)) { - x_327 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_310, 0, x_304); +lean::cnstr_set(x_310, 1, x_309); +if (lean::is_scalar(x_248)) { + x_311 = lean::alloc_cnstr(0, 2, 0); } else { - x_327 = x_249; + x_311 = x_248; } -lean::cnstr_set(x_327, 0, x_258); -lean::cnstr_set(x_327, 1, x_326); +lean::cnstr_set(x_311, 0, x_257); +lean::cnstr_set(x_311, 1, x_310); if (lean::is_scalar(x_160)) { - x_328 = lean::alloc_cnstr(0, 2, 0); + x_312 = lean::alloc_cnstr(0, 2, 0); } else { - x_328 = x_160; + x_312 = x_160; } -lean::cnstr_set(x_328, 0, x_129); -lean::cnstr_set(x_328, 1, x_327); -x_329 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_312, 0, x_129); +lean::cnstr_set(x_312, 1, x_311); +x_313 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_313, 0, x_312); +if (lean::is_scalar(x_284)) { + x_314 = lean::alloc_cnstr(1, 1, 0); +} else { + x_314 = x_284; +} +lean::cnstr_set(x_314, 0, x_313); +x_7 = x_314; +x_8 = x_285; +goto lbl_9; +} +} +else +{ +lean::dec(x_248); +lean::dec(x_261); +lean::dec(x_257); +lean::dec(x_287); +lean::dec(x_160); +lean::dec(x_129); +if (x_2 == 0) +{ +obj* x_323; obj* x_324; obj* x_325; +lean::dec(x_27); +lean::dec(x_126); +x_323 = l_list_reverse___rarg(x_3); +x_324 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_324, 0, x_323); +if (lean::is_scalar(x_284)) { + x_325 = lean::alloc_cnstr(1, 1, 0); +} else { + x_325 = x_284; +} +lean::cnstr_set(x_325, 0, x_324); +x_7 = x_325; +x_8 = x_285; +goto lbl_9; +} +else +{ +obj* x_327; obj* x_328; obj* x_329; obj* x_330; +lean::dec(x_3); +x_327 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_327, 0, x_126); +lean::cnstr_set(x_327, 1, x_27); +x_328 = l_list_reverse___rarg(x_327); +x_329 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_329, 0, x_328); -if (lean::is_scalar(x_252)) { +if (lean::is_scalar(x_284)) { x_330 = lean::alloc_cnstr(1, 1, 0); } else { - x_330 = x_252; + x_330 = x_284; } lean::cnstr_set(x_330, 0, x_329); x_7 = x_330; -x_8 = x_269; +x_8 = x_285; goto lbl_9; } } -lbl_275: -{ -lean::dec(x_274); -if (x_2 == 0) -{ -obj* x_334; obj* x_335; obj* x_336; -lean::dec(x_27); -lean::dec(x_126); -x_334 = l_list_reverse___rarg(x_3); -x_335 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_335, 0, x_334); -if (lean::is_scalar(x_157)) { - x_336 = lean::alloc_cnstr(1, 1, 0); -} else { - x_336 = x_157; -} -lean::cnstr_set(x_336, 0, x_335); -x_7 = x_336; -x_8 = x_269; -goto lbl_9; -} -else -{ -obj* x_338; obj* x_339; obj* x_340; obj* x_341; -lean::dec(x_3); -x_338 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_338, 0, x_126); -lean::cnstr_set(x_338, 1, x_27); -x_339 = l_list_reverse___rarg(x_338); -x_340 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_340, 0, x_339); -if (lean::is_scalar(x_157)) { - x_341 = lean::alloc_cnstr(1, 1, 0); -} else { - x_341 = x_157; -} -lean::cnstr_set(x_341, 0, x_340); -x_7 = x_341; -x_8 = x_269; -goto lbl_9; -} } } } @@ -1338,90 +1313,90 @@ lbl_9: { if (lean::obj_tag(x_7) == 0) { -obj* x_342; obj* x_344; obj* x_345; obj* x_346; obj* x_347; -x_342 = lean::cnstr_get(x_7, 0); +obj* x_331; obj* x_333; obj* x_334; obj* x_335; obj* x_336; +x_331 = lean::cnstr_get(x_7, 0); if (lean::is_exclusive(x_7)) { - x_344 = x_7; + x_333 = x_7; } else { - lean::inc(x_342); + lean::inc(x_331); lean::dec(x_7); - x_344 = lean::box(0); + x_333 = lean::box(0); } -if (lean::is_scalar(x_344)) { - x_345 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_333)) { + x_334 = lean::alloc_cnstr(0, 1, 0); } else { - x_345 = x_344; + x_334 = x_333; } -lean::cnstr_set(x_345, 0, x_342); -x_346 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_346, 0, x_345); -x_347 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_347, 0, x_346); -lean::cnstr_set(x_347, 1, x_8); -return x_347; +lean::cnstr_set(x_334, 0, x_331); +x_335 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_335, 0, x_334); +x_336 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_336, 0, x_335); +lean::cnstr_set(x_336, 1, x_8); +return x_336; } else { -obj* x_348; obj* x_350; -x_348 = lean::cnstr_get(x_7, 0); +obj* x_337; obj* x_339; +x_337 = lean::cnstr_get(x_7, 0); if (lean::is_exclusive(x_7)) { lean::cnstr_set(x_7, 0, lean::box(0)); - x_350 = x_7; + x_339 = x_7; } else { - lean::inc(x_348); + lean::inc(x_337); lean::dec(x_7); - x_350 = lean::box(0); + x_339 = lean::box(0); } -if (lean::obj_tag(x_348) == 0) +if (lean::obj_tag(x_337) == 0) { -obj* x_352; obj* x_354; obj* x_355; obj* x_356; -lean::dec(x_350); -x_352 = lean::cnstr_get(x_348, 0); -if (lean::is_exclusive(x_348)) { - x_354 = x_348; +obj* x_341; obj* x_343; obj* x_344; obj* x_345; +lean::dec(x_339); +x_341 = lean::cnstr_get(x_337, 0); +if (lean::is_exclusive(x_337)) { + x_343 = x_337; } else { - lean::inc(x_352); - lean::dec(x_348); - x_354 = lean::box(0); + lean::inc(x_341); + lean::dec(x_337); + x_343 = lean::box(0); } -if (lean::is_scalar(x_354)) { - x_355 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_343)) { + x_344 = lean::alloc_cnstr(0, 1, 0); } else { - x_355 = x_354; + x_344 = x_343; } -lean::cnstr_set(x_355, 0, x_352); -x_356 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_356, 0, x_355); -lean::cnstr_set(x_356, 1, x_8); -return x_356; +lean::cnstr_set(x_344, 0, x_341); +x_345 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_345, 0, x_344); +lean::cnstr_set(x_345, 1, x_8); +return x_345; } else { -obj* x_357; obj* x_359; obj* x_360; obj* x_361; obj* x_362; -x_357 = lean::cnstr_get(x_348, 0); -if (lean::is_exclusive(x_348)) { - x_359 = x_348; +obj* x_346; obj* x_348; obj* x_349; obj* x_350; obj* x_351; +x_346 = lean::cnstr_get(x_337, 0); +if (lean::is_exclusive(x_337)) { + x_348 = x_337; } else { - lean::inc(x_357); - lean::dec(x_348); - x_359 = lean::box(0); + lean::inc(x_346); + lean::dec(x_337); + x_348 = lean::box(0); } -if (lean::is_scalar(x_350)) { - x_360 = lean::alloc_cnstr(1, 1, 0); +if (lean::is_scalar(x_339)) { + x_349 = lean::alloc_cnstr(1, 1, 0); } else { - x_360 = x_350; + x_349 = x_339; } -lean::cnstr_set(x_360, 0, x_357); -if (lean::is_scalar(x_359)) { - x_361 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_349, 0, x_346); +if (lean::is_scalar(x_348)) { + x_350 = lean::alloc_cnstr(1, 1, 0); } else { - x_361 = x_359; + x_350 = x_348; } -lean::cnstr_set(x_361, 0, x_360); -x_362 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_362, 0, x_361); -lean::cnstr_set(x_362, 1, x_8); -return x_362; +lean::cnstr_set(x_350, 0, x_349); +x_351 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_351, 0, x_350); +lean::cnstr_set(x_351, 1, x_8); +return x_351; } } } @@ -1470,19 +1445,22 @@ return x_7; obj* l_lean_run__frontend(obj* x_0, obj* x_1, obj* x_2, uint8 x_3, obj* x_4) { _start: { -obj* x_5; obj* x_6; obj* x_10; +obj* x_7; lean::inc(x_1); lean::inc(x_0); -x_10 = l_lean_mk__config(x_0, x_1); -if (lean::obj_tag(x_10) == 0) +x_7 = l_lean_mk__config(x_0, x_1); +if (lean::obj_tag(x_7) == 0) { -obj* x_11; obj* x_13; obj* x_14; -x_11 = lean::cnstr_get(x_10, 0); -if (lean::is_exclusive(x_10)) { - x_13 = x_10; +obj* x_11; obj* x_13; obj* x_14; obj* x_15; +lean::dec(x_1); +lean::dec(x_0); +lean::dec(x_2); +x_11 = lean::cnstr_get(x_7, 0); +if (lean::is_exclusive(x_7)) { + x_13 = x_7; } else { lean::inc(x_11); - lean::dec(x_10); + lean::dec(x_7); x_13 = lean::box(0); } if (lean::is_scalar(x_13)) { @@ -1491,285 +1469,235 @@ if (lean::is_scalar(x_13)) { x_14 = x_13; } lean::cnstr_set(x_14, 0, x_11); -lean::inc(x_4); -x_5 = x_14; -x_6 = x_4; -goto lbl_7; +x_15 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_15, 0, x_14); +lean::cnstr_set(x_15, 1, x_4); +return x_15; } else { -obj* x_16; obj* x_18; obj* x_19; -x_16 = lean::cnstr_get(x_10, 0); -if (lean::is_exclusive(x_10)) { - x_18 = x_10; +obj* x_16; obj* x_20; obj* x_21; obj* x_23; +x_16 = lean::cnstr_get(x_7, 0); +lean::inc(x_16); +lean::dec(x_7); +lean::inc(x_16); +x_20 = l_lean_parser_parse__header(x_16); +x_21 = lean::cnstr_get(x_20, 1); +if (lean::is_exclusive(x_20)) { + lean::cnstr_release(x_20, 0); + lean::cnstr_set(x_20, 1, lean::box(0)); + x_23 = x_20; } else { - lean::inc(x_16); - lean::dec(x_10); - x_18 = lean::box(0); + lean::inc(x_21); + lean::dec(x_20); + x_23 = lean::box(0); } -if (lean::is_scalar(x_18)) { - x_19 = lean::alloc_cnstr(1, 1, 0); -} else { - x_19 = x_18; -} -lean::cnstr_set(x_19, 0, x_16); -lean::inc(x_4); -x_5 = x_19; -x_6 = x_4; -goto lbl_7; -} -lbl_7: +if (lean::obj_tag(x_21) == 0) { -if (lean::obj_tag(x_5) == 0) -{ -obj* x_24; obj* x_26; obj* x_27; obj* x_28; +obj* x_28; obj* x_31; obj* x_32; +lean::dec(x_23); lean::dec(x_1); lean::dec(x_0); -lean::dec(x_2); -x_24 = lean::cnstr_get(x_5, 0); -if (lean::is_exclusive(x_5)) { - x_26 = x_5; -} else { - lean::inc(x_24); - lean::dec(x_5); - x_26 = lean::box(0); -} -if (lean::is_scalar(x_26)) { - x_27 = lean::alloc_cnstr(0, 1, 0); -} else { - x_27 = x_26; -} -lean::cnstr_set(x_27, 0, x_24); -x_28 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_28, 0, x_27); -lean::cnstr_set(x_28, 1, x_6); -return x_28; -} -else +lean::dec(x_16); +x_28 = lean::cnstr_get(x_21, 0); +lean::inc(x_28); +lean::dec(x_21); +x_31 = lean::apply_2(x_2, x_28, x_4); +x_32 = lean::cnstr_get(x_31, 0); +lean::inc(x_32); +if (lean::obj_tag(x_32) == 0) { -obj* x_29; obj* x_33; obj* x_34; obj* x_36; -x_29 = lean::cnstr_get(x_5, 0); -lean::inc(x_29); -lean::dec(x_5); -lean::inc(x_29); -x_33 = l_lean_parser_parse__header(x_29); -x_34 = lean::cnstr_get(x_33, 1); -if (lean::is_exclusive(x_33)) { - lean::cnstr_release(x_33, 0); - lean::cnstr_set(x_33, 1, lean::box(0)); - x_36 = x_33; +obj* x_34; obj* x_36; obj* x_37; obj* x_39; obj* x_40; obj* x_41; +x_34 = lean::cnstr_get(x_31, 1); +if (lean::is_exclusive(x_31)) { + lean::cnstr_release(x_31, 0); + x_36 = x_31; } else { lean::inc(x_34); - lean::dec(x_33); + lean::dec(x_31); x_36 = lean::box(0); } -if (lean::obj_tag(x_34) == 0) -{ -obj* x_41; obj* x_44; obj* x_45; -lean::dec(x_1); -lean::dec(x_0); -lean::dec(x_36); -lean::dec(x_29); -x_41 = lean::cnstr_get(x_34, 0); -lean::inc(x_41); -lean::dec(x_34); -x_44 = lean::apply_2(x_2, x_41, x_6); -x_45 = lean::cnstr_get(x_44, 0); -lean::inc(x_45); -if (lean::obj_tag(x_45) == 0) -{ -obj* x_47; obj* x_49; obj* x_50; obj* x_52; obj* x_53; obj* x_54; -x_47 = lean::cnstr_get(x_44, 1); -if (lean::is_exclusive(x_44)) { - lean::cnstr_release(x_44, 0); - x_49 = x_44; +x_37 = lean::cnstr_get(x_32, 0); +if (lean::is_exclusive(x_32)) { + x_39 = x_32; } else { - lean::inc(x_47); - lean::dec(x_44); - x_49 = lean::box(0); + lean::inc(x_37); + lean::dec(x_32); + x_39 = lean::box(0); } -x_50 = lean::cnstr_get(x_45, 0); -if (lean::is_exclusive(x_45)) { - x_52 = x_45; +if (lean::is_scalar(x_39)) { + x_40 = lean::alloc_cnstr(0, 1, 0); } else { - lean::inc(x_50); - lean::dec(x_45); - x_52 = lean::box(0); + x_40 = x_39; } -if (lean::is_scalar(x_52)) { - x_53 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_40, 0, x_37); +if (lean::is_scalar(x_36)) { + x_41 = lean::alloc_cnstr(0, 2, 0); } else { - x_53 = x_52; + x_41 = x_36; } -lean::cnstr_set(x_53, 0, x_50); -if (lean::is_scalar(x_49)) { - x_54 = lean::alloc_cnstr(0, 2, 0); -} else { - x_54 = x_49; -} -lean::cnstr_set(x_54, 0, x_53); -lean::cnstr_set(x_54, 1, x_47); -return x_54; +lean::cnstr_set(x_41, 0, x_40); +lean::cnstr_set(x_41, 1, x_34); +return x_41; } else { -obj* x_56; obj* x_58; obj* x_59; obj* x_60; -lean::dec(x_45); -x_56 = lean::cnstr_get(x_44, 1); -if (lean::is_exclusive(x_44)) { - lean::cnstr_release(x_44, 0); - x_58 = x_44; +obj* x_43; obj* x_45; obj* x_46; obj* x_47; +lean::dec(x_32); +x_43 = lean::cnstr_get(x_31, 1); +if (lean::is_exclusive(x_31)) { + lean::cnstr_release(x_31, 0); + x_45 = x_31; } else { - lean::inc(x_56); - lean::dec(x_44); - x_58 = lean::box(0); + lean::inc(x_43); + lean::dec(x_31); + x_45 = lean::box(0); } -x_59 = l_lean_expander_expand__bracketed__binder___main___closed__6; -if (lean::is_scalar(x_58)) { - x_60 = lean::alloc_cnstr(0, 2, 0); +x_46 = l_lean_expander_expand__bracketed__binder___main___closed__4; +if (lean::is_scalar(x_45)) { + x_47 = lean::alloc_cnstr(0, 2, 0); } else { - x_60 = x_58; + x_47 = x_45; } -lean::cnstr_set(x_60, 0, x_59); -lean::cnstr_set(x_60, 1, x_56); -return x_60; +lean::cnstr_set(x_47, 0, x_46); +lean::cnstr_set(x_47, 1, x_43); +return x_47; } } else { -obj* x_61; obj* x_64; obj* x_66; obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_61 = lean::cnstr_get(x_34, 0); -lean::inc(x_61); -lean::dec(x_34); -x_64 = lean::cnstr_get(x_61, 0); -x_66 = lean::cnstr_get(x_61, 1); -if (lean::is_exclusive(x_61)) { - lean::cnstr_set(x_61, 0, lean::box(0)); - lean::cnstr_set(x_61, 1, lean::box(0)); - x_68 = x_61; +obj* x_48; obj* x_51; obj* x_53; obj* x_55; obj* x_56; obj* x_59; obj* x_60; +x_48 = lean::cnstr_get(x_21, 0); +lean::inc(x_48); +lean::dec(x_21); +x_51 = lean::cnstr_get(x_48, 0); +x_53 = lean::cnstr_get(x_48, 1); +if (lean::is_exclusive(x_48)) { + lean::cnstr_set(x_48, 0, lean::box(0)); + lean::cnstr_set(x_48, 1, lean::box(0)); + x_55 = x_48; } else { - lean::inc(x_64); - lean::inc(x_66); - lean::dec(x_61); - x_68 = lean::box(0); + lean::inc(x_51); + lean::inc(x_53); + lean::dec(x_48); + x_55 = lean::box(0); } -x_69 = l_list_reverse___rarg(x_66); -lean::inc(x_69); +x_56 = l_list_reverse___rarg(x_53); +lean::inc(x_56); lean::inc(x_2); -x_72 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1(x_2, x_69, x_6); -x_73 = lean::cnstr_get(x_72, 0); -lean::inc(x_73); -if (lean::obj_tag(x_73) == 0) +x_59 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1(x_2, x_56, x_4); +x_60 = lean::cnstr_get(x_59, 0); +lean::inc(x_60); +if (lean::obj_tag(x_60) == 0) { -obj* x_83; obj* x_85; obj* x_86; obj* x_88; obj* x_89; obj* x_90; +obj* x_70; obj* x_72; obj* x_73; obj* x_75; obj* x_76; obj* x_77; +lean::dec(x_23); lean::dec(x_1); lean::dec(x_0); lean::dec(x_2); -lean::dec(x_64); -lean::dec(x_68); -lean::dec(x_69); -lean::dec(x_36); -lean::dec(x_29); -x_83 = lean::cnstr_get(x_72, 1); -if (lean::is_exclusive(x_72)) { - lean::cnstr_release(x_72, 0); - x_85 = x_72; +lean::dec(x_56); +lean::dec(x_55); +lean::dec(x_16); +lean::dec(x_51); +x_70 = lean::cnstr_get(x_59, 1); +if (lean::is_exclusive(x_59)) { + lean::cnstr_release(x_59, 0); + x_72 = x_59; } else { - lean::inc(x_83); - lean::dec(x_72); - x_85 = lean::box(0); + lean::inc(x_70); + lean::dec(x_59); + x_72 = lean::box(0); } -x_86 = lean::cnstr_get(x_73, 0); -if (lean::is_exclusive(x_73)) { - x_88 = x_73; +x_73 = lean::cnstr_get(x_60, 0); +if (lean::is_exclusive(x_60)) { + x_75 = x_60; } else { - lean::inc(x_86); - lean::dec(x_73); - x_88 = lean::box(0); + lean::inc(x_73); + lean::dec(x_60); + x_75 = lean::box(0); } -if (lean::is_scalar(x_88)) { - x_89 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_75)) { + x_76 = lean::alloc_cnstr(0, 1, 0); } else { - x_89 = x_88; + x_76 = x_75; } -lean::cnstr_set(x_89, 0, x_86); -if (lean::is_scalar(x_85)) { - x_90 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_76, 0, x_73); +if (lean::is_scalar(x_72)) { + x_77 = lean::alloc_cnstr(0, 2, 0); } else { - x_90 = x_85; + x_77 = x_72; } -lean::cnstr_set(x_90, 0, x_89); -lean::cnstr_set(x_90, 1, x_83); -return x_90; +lean::cnstr_set(x_77, 0, x_76); +lean::cnstr_set(x_77, 1, x_70); +return x_77; } else { -obj* x_92; obj* x_94; obj* x_95; obj* x_97; obj* x_100; obj* x_103; obj* x_105; obj* x_106; obj* x_109; obj* x_111; obj* x_112; obj* x_114; obj* x_115; obj* x_116; obj* x_117; obj* x_118; obj* x_119; obj* x_120; -lean::dec(x_73); -x_92 = lean::cnstr_get(x_72, 1); -if (lean::is_exclusive(x_72)) { - lean::cnstr_release(x_72, 0); - x_94 = x_72; +obj* x_79; obj* x_81; obj* x_82; obj* x_84; obj* x_87; obj* x_90; obj* x_92; obj* x_93; obj* x_96; obj* x_98; obj* x_99; obj* x_101; obj* x_102; obj* x_103; obj* x_104; obj* x_105; obj* x_106; obj* x_107; +lean::dec(x_60); +x_79 = lean::cnstr_get(x_59, 1); +if (lean::is_exclusive(x_59)) { + lean::cnstr_release(x_59, 0); + x_81 = x_59; } else { - lean::inc(x_92); - lean::dec(x_72); - x_94 = lean::box(0); + lean::inc(x_79); + lean::dec(x_59); + x_81 = lean::box(0); } -x_95 = lean::cnstr_get(x_29, 0); -lean::inc(x_95); -x_97 = lean::cnstr_get(x_95, 0); -lean::inc(x_97); -lean::dec(x_95); -x_100 = lean::cnstr_get(x_97, 0); -lean::inc(x_100); -lean::dec(x_97); -x_103 = l_lean_expander_builtin__transformers; -lean::inc(x_100); -x_105 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_105, 0, x_100); -lean::cnstr_set(x_105, 1, x_103); -x_106 = lean::cnstr_get(x_100, 2); -lean::inc(x_106); -lean::dec(x_100); -x_109 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_109, 0, x_0); -lean::cnstr_set(x_109, 1, x_1); -lean::cnstr_set(x_109, 2, x_106); -lean::inc(x_29); -x_111 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_111, 0, x_109); -lean::cnstr_set(x_111, 1, x_29); -x_112 = l_lean_run__frontend___closed__1; -lean::inc(x_111); -x_114 = l_lean_elaborator_mk__state(x_111, x_112); -x_115 = lean::box(0); -if (lean::is_scalar(x_94)) { - x_116 = lean::alloc_cnstr(0, 2, 0); +x_82 = lean::cnstr_get(x_16, 0); +lean::inc(x_82); +x_84 = lean::cnstr_get(x_82, 0); +lean::inc(x_84); +lean::dec(x_82); +x_87 = lean::cnstr_get(x_84, 0); +lean::inc(x_87); +lean::dec(x_84); +x_90 = l_lean_expander_builtin__transformers; +lean::inc(x_87); +x_92 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_92, 0, x_87); +lean::cnstr_set(x_92, 1, x_90); +x_93 = lean::cnstr_get(x_87, 2); +lean::inc(x_93); +lean::dec(x_87); +x_96 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_96, 0, x_0); +lean::cnstr_set(x_96, 1, x_1); +lean::cnstr_set(x_96, 2, x_93); +lean::inc(x_16); +x_98 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_98, 0, x_96); +lean::cnstr_set(x_98, 1, x_16); +x_99 = l_lean_run__frontend___closed__1; +lean::inc(x_98); +x_101 = l_lean_elaborator_mk__state(x_98, x_99); +x_102 = lean::box(0); +if (lean::is_scalar(x_81)) { + x_103 = lean::alloc_cnstr(0, 2, 0); } else { - x_116 = x_94; + x_103 = x_81; } -lean::cnstr_set(x_116, 0, x_105); -lean::cnstr_set(x_116, 1, x_115); -if (lean::is_scalar(x_68)) { - x_117 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_103, 0, x_92); +lean::cnstr_set(x_103, 1, x_102); +if (lean::is_scalar(x_55)) { + x_104 = lean::alloc_cnstr(0, 2, 0); } else { - x_117 = x_68; + x_104 = x_55; } -lean::cnstr_set(x_117, 0, x_29); -lean::cnstr_set(x_117, 1, x_116); -if (lean::is_scalar(x_36)) { - x_118 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_104, 0, x_16); +lean::cnstr_set(x_104, 1, x_103); +if (lean::is_scalar(x_23)) { + x_105 = lean::alloc_cnstr(0, 2, 0); } else { - x_118 = x_36; -} -lean::cnstr_set(x_118, 0, x_114); -lean::cnstr_set(x_118, 1, x_117); -x_119 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_119, 0, x_64); -lean::cnstr_set(x_119, 1, x_118); -x_120 = l_io_prim_iterate___at_lean_run__frontend___spec__6(x_2, x_3, x_69, x_111, x_115, x_119, x_92); -return x_120; + x_105 = x_23; } +lean::cnstr_set(x_105, 0, x_101); +lean::cnstr_set(x_105, 1, x_104); +x_106 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_106, 0, x_51); +lean::cnstr_set(x_106, 1, x_105); +x_107 = l_io_prim_iterate___at_lean_run__frontend___spec__6(x_2, x_3, x_56, x_98, x_102, x_106, x_79); +return x_107; } } } @@ -1835,7 +1763,6 @@ _start: uint8 x_5; obj* x_6; x_5 = lean::unbox(x_3); x_6 = l_lean_run__frontend(x_0, x_1, x_2, x_5, x_4); -lean::dec(x_4); return x_6; } } @@ -2059,109 +1986,100 @@ return x_1; obj* l_lean_process__file___lambda__1(uint8 x_0, obj* x_1, obj* x_2) { _start: { -obj* x_3; if (x_0 == 0) { -obj* x_5; obj* x_6; -x_5 = l_lean_message_to__string(x_1); -x_6 = l_io_println___at_lean_process__file___spec__1(x_5, x_2); -lean::dec(x_5); -return x_6; +obj* x_3; obj* x_4; +x_3 = l_lean_message_to__string(x_1); +x_4 = l_io_println___at_lean_process__file___spec__1(x_3, x_2); +lean::dec(x_3); +return x_4; } else { -obj* x_8; -x_8 = lean::box(0); -x_3 = x_8; -goto lbl_4; -} -lbl_4: -{ -obj* x_10; obj* x_12; obj* x_14; obj* x_15; obj* x_16; obj* x_18; obj* x_19; obj* x_20; obj* x_23; obj* x_24; obj* x_26; obj* x_27; uint8 x_28; obj* x_29; obj* x_31; obj* x_32; obj* x_35; -lean::dec(x_3); -x_10 = lean::cnstr_get(x_1, 1); -lean::inc(x_10); -x_12 = lean::cnstr_get(x_10, 0); -lean::inc(x_12); -x_14 = l_nat_repr(x_12); -x_15 = l_lean_process__file___lambda__1___closed__1; -x_16 = lean::string_append(x_15, x_14); -lean::dec(x_14); -x_18 = l_lean_process__file___lambda__1___closed__2; -x_19 = lean::string_append(x_16, x_18); -x_20 = lean::cnstr_get(x_10, 1); -lean::inc(x_20); +obj* x_6; obj* x_8; obj* x_10; obj* x_11; obj* x_12; obj* x_14; obj* x_15; obj* x_16; obj* x_19; obj* x_20; obj* x_22; obj* x_23; uint8 x_24; obj* x_25; obj* x_27; obj* x_28; obj* x_31; +x_6 = lean::cnstr_get(x_1, 1); +lean::inc(x_6); +x_8 = lean::cnstr_get(x_6, 0); +lean::inc(x_8); +x_10 = l_nat_repr(x_8); +x_11 = l_lean_process__file___lambda__1___closed__1; +x_12 = lean::string_append(x_11, x_10); lean::dec(x_10); -x_23 = l_nat_repr(x_20); -x_24 = lean::string_append(x_19, x_23); -lean::dec(x_23); -x_26 = l_lean_process__file___lambda__1___closed__3; -x_27 = lean::string_append(x_24, x_26); -x_28 = lean::cnstr_get_scalar(x_1, sizeof(void*)*5); -x_29 = lean::cnstr_get(x_1, 3); -lean::inc(x_29); -x_31 = l_string_quote(x_29); -x_32 = lean::cnstr_get(x_1, 4); -lean::inc(x_32); +x_14 = l_lean_process__file___lambda__1___closed__2; +x_15 = lean::string_append(x_12, x_14); +x_16 = lean::cnstr_get(x_6, 1); +lean::inc(x_16); +lean::dec(x_6); +x_19 = l_nat_repr(x_16); +x_20 = lean::string_append(x_15, x_19); +lean::dec(x_19); +x_22 = l_lean_process__file___lambda__1___closed__3; +x_23 = lean::string_append(x_20, x_22); +x_24 = lean::cnstr_get_scalar(x_1, sizeof(void*)*5); +x_25 = lean::cnstr_get(x_1, 3); +lean::inc(x_25); +x_27 = l_string_quote(x_25); +x_28 = lean::cnstr_get(x_1, 4); +lean::inc(x_28); lean::dec(x_1); -x_35 = l_string_quote(x_32); -switch (x_28) { +x_31 = l_string_quote(x_28); +switch (x_24) { case 0: { -obj* x_36; obj* x_37; obj* x_38; obj* x_39; obj* x_40; obj* x_42; obj* x_43; obj* x_44; obj* x_46; obj* x_47; obj* x_48; -x_36 = l_lean_process__file___lambda__1___closed__4; -x_37 = lean::string_append(x_27, x_36); -x_38 = l_lean_process__file___lambda__1___closed__5; -x_39 = lean::string_append(x_37, x_38); +obj* x_32; obj* x_33; obj* x_34; obj* x_35; obj* x_36; obj* x_38; obj* x_39; obj* x_40; obj* x_42; obj* x_43; obj* x_44; +x_32 = l_lean_process__file___lambda__1___closed__4; +x_33 = lean::string_append(x_23, x_32); +x_34 = l_lean_process__file___lambda__1___closed__5; +x_35 = lean::string_append(x_33, x_34); +x_36 = lean::string_append(x_35, x_27); +lean::dec(x_27); +x_38 = l_lean_process__file___lambda__1___closed__6; +x_39 = lean::string_append(x_36, x_38); x_40 = lean::string_append(x_39, x_31); lean::dec(x_31); -x_42 = l_lean_process__file___lambda__1___closed__6; +x_42 = l_lean_process__file___lambda__1___closed__7; x_43 = lean::string_append(x_40, x_42); -x_44 = lean::string_append(x_43, x_35); -lean::dec(x_35); -x_46 = l_lean_process__file___lambda__1___closed__7; -x_47 = lean::string_append(x_44, x_46); -x_48 = l_io_println___at_lean_process__file___spec__1(x_47, x_2); -lean::dec(x_47); -return x_48; +x_44 = l_io_println___at_lean_process__file___spec__1(x_43, x_2); +lean::dec(x_43); +return x_44; } case 1: { -obj* x_50; obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_56; obj* x_57; obj* x_58; obj* x_60; obj* x_61; obj* x_62; -x_50 = l_lean_process__file___lambda__1___closed__8; -x_51 = lean::string_append(x_27, x_50); -x_52 = l_lean_process__file___lambda__1___closed__5; -x_53 = lean::string_append(x_51, x_52); +obj* x_46; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_52; obj* x_53; obj* x_54; obj* x_56; obj* x_57; obj* x_58; +x_46 = l_lean_process__file___lambda__1___closed__8; +x_47 = lean::string_append(x_23, x_46); +x_48 = l_lean_process__file___lambda__1___closed__5; +x_49 = lean::string_append(x_47, x_48); +x_50 = lean::string_append(x_49, x_27); +lean::dec(x_27); +x_52 = l_lean_process__file___lambda__1___closed__6; +x_53 = lean::string_append(x_50, x_52); x_54 = lean::string_append(x_53, x_31); lean::dec(x_31); -x_56 = l_lean_process__file___lambda__1___closed__6; +x_56 = l_lean_process__file___lambda__1___closed__7; x_57 = lean::string_append(x_54, x_56); -x_58 = lean::string_append(x_57, x_35); -lean::dec(x_35); -x_60 = l_lean_process__file___lambda__1___closed__7; -x_61 = lean::string_append(x_58, x_60); -x_62 = l_io_println___at_lean_process__file___spec__1(x_61, x_2); -lean::dec(x_61); -return x_62; +x_58 = l_io_println___at_lean_process__file___spec__1(x_57, x_2); +lean::dec(x_57); +return x_58; } default: { -obj* x_64; obj* x_65; obj* x_66; obj* x_67; obj* x_68; obj* x_70; obj* x_71; obj* x_72; obj* x_74; obj* x_75; obj* x_76; -x_64 = l_lean_process__file___lambda__1___closed__9; -x_65 = lean::string_append(x_27, x_64); -x_66 = l_lean_process__file___lambda__1___closed__5; -x_67 = lean::string_append(x_65, x_66); +obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; obj* x_66; obj* x_67; obj* x_68; obj* x_70; obj* x_71; obj* x_72; +x_60 = l_lean_process__file___lambda__1___closed__9; +x_61 = lean::string_append(x_23, x_60); +x_62 = l_lean_process__file___lambda__1___closed__5; +x_63 = lean::string_append(x_61, x_62); +x_64 = lean::string_append(x_63, x_27); +lean::dec(x_27); +x_66 = l_lean_process__file___lambda__1___closed__6; +x_67 = lean::string_append(x_64, x_66); x_68 = lean::string_append(x_67, x_31); lean::dec(x_31); -x_70 = l_lean_process__file___lambda__1___closed__6; +x_70 = l_lean_process__file___lambda__1___closed__7; x_71 = lean::string_append(x_68, x_70); -x_72 = lean::string_append(x_71, x_35); -lean::dec(x_35); -x_74 = l_lean_process__file___lambda__1___closed__7; -x_75 = lean::string_append(x_72, x_74); -x_76 = l_io_println___at_lean_process__file___spec__1(x_75, x_2); -lean::dec(x_75); -return x_76; +x_72 = l_io_println___at_lean_process__file___spec__1(x_71, x_2); +lean::dec(x_71); +return x_72; } } } @@ -2206,126 +2124,122 @@ return x_27; obj* lean_process_file(obj* x_0, obj* x_1, uint8 x_2, obj* x_3) { _start: { -obj* x_4; obj* x_5; uint8 x_6; obj* x_8; obj* x_10; +obj* x_4; obj* x_5; uint8 x_6; obj* x_8; obj* x_9; x_4 = lean::box(x_2); x_5 = lean::alloc_closure(reinterpret_cast(l_lean_process__file___lambda__1___boxed), 3, 1); lean::closure_set(x_5, 0, x_4); x_6 = 0; lean::inc(x_0); x_8 = l_lean_run__frontend(x_0, x_1, x_5, x_6, x_3); -lean::dec(x_3); -x_10 = lean::cnstr_get(x_8, 0); -lean::inc(x_10); -if (lean::obj_tag(x_10) == 0) +x_9 = lean::cnstr_get(x_8, 0); +lean::inc(x_9); +if (lean::obj_tag(x_9) == 0) { -obj* x_12; obj* x_15; obj* x_18; -x_12 = lean::cnstr_get(x_8, 1); -lean::inc(x_12); -lean::dec(x_8); -x_15 = lean::cnstr_get(x_10, 0); -lean::inc(x_15); -lean::dec(x_10); if (x_2 == 0) { -obj* x_20; obj* x_21; uint8 x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_29; obj* x_31; obj* x_32; obj* x_33; -x_20 = lean::box(0); -x_21 = l_lean_elaborator_notation_elaborate___closed__1; -x_22 = 2; -x_23 = l_string_iterator_extract___main___closed__1; -x_24 = lean::alloc_cnstr(0, 5, 1); -lean::cnstr_set(x_24, 0, x_0); -lean::cnstr_set(x_24, 1, x_21); -lean::cnstr_set(x_24, 2, x_20); -lean::cnstr_set(x_24, 3, x_23); -lean::cnstr_set(x_24, 4, x_15); -lean::cnstr_set_scalar(x_24, sizeof(void*)*5, x_22); -x_25 = x_24; -x_26 = l_lean_message_to__string(x_25); -x_27 = l_io_println___at_lean_process__file___spec__1(x_26, x_12); -lean::dec(x_26); -x_29 = lean::cnstr_get(x_27, 1); -if (lean::is_exclusive(x_27)) { - lean::cnstr_release(x_27, 0); - x_31 = x_27; +obj* x_11; obj* x_14; obj* x_17; obj* x_18; uint8 x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_26; obj* x_28; obj* x_29; obj* x_30; +x_11 = lean::cnstr_get(x_8, 1); +lean::inc(x_11); +lean::dec(x_8); +x_14 = lean::cnstr_get(x_9, 0); +lean::inc(x_14); +lean::dec(x_9); +x_17 = lean::box(0); +x_18 = l_lean_elaborator_notation_elaborate___closed__1; +x_19 = 2; +x_20 = l_string_iterator_extract___main___closed__1; +x_21 = lean::alloc_cnstr(0, 5, 1); +lean::cnstr_set(x_21, 0, x_0); +lean::cnstr_set(x_21, 1, x_18); +lean::cnstr_set(x_21, 2, x_17); +lean::cnstr_set(x_21, 3, x_20); +lean::cnstr_set(x_21, 4, x_14); +lean::cnstr_set_scalar(x_21, sizeof(void*)*5, x_19); +x_22 = x_21; +x_23 = l_lean_message_to__string(x_22); +x_24 = l_io_println___at_lean_process__file___spec__1(x_23, x_11); +lean::dec(x_23); +x_26 = lean::cnstr_get(x_24, 1); +if (lean::is_exclusive(x_24)) { + lean::cnstr_release(x_24, 0); + x_28 = x_24; } else { - lean::inc(x_29); - lean::dec(x_27); - x_31 = lean::box(0); + lean::inc(x_26); + lean::dec(x_24); + x_28 = lean::box(0); } -x_32 = lean::box(x_6); -if (lean::is_scalar(x_31)) { - x_33 = lean::alloc_cnstr(0, 2, 0); +x_29 = lean::box(x_6); +if (lean::is_scalar(x_28)) { + x_30 = lean::alloc_cnstr(0, 2, 0); } else { - x_33 = x_31; + x_30 = x_28; } -lean::cnstr_set(x_33, 0, x_32); -lean::cnstr_set(x_33, 1, x_29); -return x_33; +lean::cnstr_set(x_30, 0, x_29); +lean::cnstr_set(x_30, 1, x_26); +return x_30; } else { -obj* x_35; +obj* x_32; obj* x_35; obj* x_38; obj* x_39; obj* x_40; obj* x_42; obj* x_43; obj* x_44; obj* x_46; obj* x_48; obj* x_49; obj* x_50; lean::dec(x_0); -x_35 = lean::box(0); -x_18 = x_35; -goto lbl_19; -} -lbl_19: -{ -obj* x_37; obj* x_38; obj* x_39; obj* x_41; obj* x_42; obj* x_43; obj* x_45; obj* x_47; obj* x_48; obj* x_49; -lean::dec(x_18); -x_37 = l_string_quote(x_15); -x_38 = l_lean_process__file___closed__1; -x_39 = lean::string_append(x_38, x_37); -lean::dec(x_37); -x_41 = l_lean_process__file___lambda__1___closed__7; -x_42 = lean::string_append(x_39, x_41); -x_43 = l_io_println___at_lean_process__file___spec__1(x_42, x_12); -lean::dec(x_42); -x_45 = lean::cnstr_get(x_43, 1); -if (lean::is_exclusive(x_43)) { - lean::cnstr_release(x_43, 0); - x_47 = x_43; +x_32 = lean::cnstr_get(x_8, 1); +lean::inc(x_32); +lean::dec(x_8); +x_35 = lean::cnstr_get(x_9, 0); +lean::inc(x_35); +lean::dec(x_9); +x_38 = l_string_quote(x_35); +x_39 = l_lean_process__file___closed__1; +x_40 = lean::string_append(x_39, x_38); +lean::dec(x_38); +x_42 = l_lean_process__file___lambda__1___closed__7; +x_43 = lean::string_append(x_40, x_42); +x_44 = l_io_println___at_lean_process__file___spec__1(x_43, x_32); +lean::dec(x_43); +x_46 = lean::cnstr_get(x_44, 1); +if (lean::is_exclusive(x_44)) { + lean::cnstr_release(x_44, 0); + x_48 = x_44; } else { - lean::inc(x_45); - lean::dec(x_43); - x_47 = lean::box(0); + lean::inc(x_46); + lean::dec(x_44); + x_48 = lean::box(0); } -x_48 = lean::box(x_6); -if (lean::is_scalar(x_47)) { - x_49 = lean::alloc_cnstr(0, 2, 0); +x_49 = lean::box(x_6); +if (lean::is_scalar(x_48)) { + x_50 = lean::alloc_cnstr(0, 2, 0); } else { - x_49 = x_47; + x_50 = x_48; } -lean::cnstr_set(x_49, 0, x_48); -lean::cnstr_set(x_49, 1, x_45); -return x_49; +lean::cnstr_set(x_50, 0, x_49); +lean::cnstr_set(x_50, 1, x_46); +return x_50; } } else { -obj* x_52; obj* x_54; uint8 x_55; obj* x_56; obj* x_57; -lean::dec(x_10); +obj* x_53; obj* x_55; uint8 x_56; obj* x_57; obj* x_58; +lean::dec(x_9); lean::dec(x_0); -x_52 = lean::cnstr_get(x_8, 1); +x_53 = lean::cnstr_get(x_8, 1); if (lean::is_exclusive(x_8)) { lean::cnstr_release(x_8, 0); - x_54 = x_8; + x_55 = x_8; } else { - lean::inc(x_52); + lean::inc(x_53); lean::dec(x_8); - x_54 = lean::box(0); + x_55 = lean::box(0); } -x_55 = 1; -x_56 = lean::box(x_55); -if (lean::is_scalar(x_54)) { - x_57 = lean::alloc_cnstr(0, 2, 0); +x_56 = 1; +x_57 = lean::box(x_56); +if (lean::is_scalar(x_55)) { + x_58 = lean::alloc_cnstr(0, 2, 0); } else { - x_57 = x_54; + x_58 = x_55; } -lean::cnstr_set(x_57, 0, x_56); -lean::cnstr_set(x_57, 1, x_52); -return x_57; +lean::cnstr_set(x_58, 0, x_57); +lean::cnstr_set(x_58, 1, x_53); +return x_58; } } } diff --git a/src/boot/init/lean/name_mangling.cpp b/src/boot/init/lean/name_mangling.cpp index 67e08077ea..5114b47809 100644 --- a/src/boot/init/lean/name_mangling.cpp +++ b/src/boot/init/lean/name_mangling.cpp @@ -601,357 +601,308 @@ goto lbl_41; } else { -uint32 x_47; uint32 x_48; uint8 x_49; uint8 x_51; +uint32 x_47; uint32 x_48; uint8 x_49; x_47 = l_string_iterator_curr___main(x_0); x_48 = 97; -x_51 = x_48 <= x_47; -if (x_51 == 0) -{ -obj* x_52; obj* x_53; obj* x_54; obj* x_56; obj* x_57; obj* x_58; obj* x_59; -x_52 = l_char_quote__core(x_47); -x_53 = l_char_has__repr___closed__1; -x_54 = lean::string_append(x_53, x_52); -lean::dec(x_52); -x_56 = lean::string_append(x_54, x_53); -x_57 = lean::box(0); -x_58 = l_mjoin___rarg___closed__1; -x_59 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_56, x_58, x_57, x_57, x_0); -x_40 = x_59; -goto lbl_41; -} -else -{ -uint8 x_60; -x_60 = 1; -x_49 = x_60; -goto lbl_50; -} -lbl_50: -{ -uint32 x_61; uint8 x_62; -x_61 = 102; -x_62 = x_47 <= x_61; -if (x_62 == 0) -{ -obj* x_63; obj* x_64; obj* x_65; obj* x_67; obj* x_68; obj* x_69; obj* x_70; -x_63 = l_char_quote__core(x_47); -x_64 = l_char_has__repr___closed__1; -x_65 = lean::string_append(x_64, x_63); -lean::dec(x_63); -x_67 = lean::string_append(x_65, x_64); -x_68 = lean::box(0); -x_69 = l_mjoin___rarg___closed__1; -x_70 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_67, x_69, x_68, x_68, x_0); -x_40 = x_70; -goto lbl_41; -} -else -{ +x_49 = x_48 <= x_47; if (x_49 == 0) { -obj* x_71; obj* x_72; obj* x_73; obj* x_75; obj* x_76; obj* x_77; obj* x_78; -x_71 = l_char_quote__core(x_47); -x_72 = l_char_has__repr___closed__1; -x_73 = lean::string_append(x_72, x_71); -lean::dec(x_71); -x_75 = lean::string_append(x_73, x_72); -x_76 = lean::box(0); -x_77 = l_mjoin___rarg___closed__1; -x_78 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_75, x_77, x_76, x_76, x_0); -x_40 = x_78; +obj* x_50; obj* x_51; obj* x_52; obj* x_54; obj* x_55; obj* x_56; obj* x_57; +x_50 = l_char_quote__core(x_47); +x_51 = l_char_has__repr___closed__1; +x_52 = lean::string_append(x_51, x_50); +lean::dec(x_50); +x_54 = lean::string_append(x_52, x_51); +x_55 = lean::box(0); +x_56 = l_mjoin___rarg___closed__1; +x_57 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_54, x_56, x_55, x_55, x_0); +x_40 = x_57; goto lbl_41; } else { -obj* x_80; obj* x_81; obj* x_82; obj* x_83; -lean::inc(x_0); -x_80 = l_string_iterator_next___main(x_0); -x_81 = lean::box(0); -x_82 = lean::box_uint32(x_47); -x_83 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_83, 0, x_82); -lean::cnstr_set(x_83, 1, x_80); -lean::cnstr_set(x_83, 2, x_81); -x_40 = x_83; +uint32 x_58; uint8 x_59; +x_58 = 102; +x_59 = x_47 <= x_58; +if (x_59 == 0) +{ +obj* x_60; obj* x_61; obj* x_62; obj* x_64; obj* x_65; obj* x_66; obj* x_67; +x_60 = l_char_quote__core(x_47); +x_61 = l_char_has__repr___closed__1; +x_62 = lean::string_append(x_61, x_60); +lean::dec(x_60); +x_64 = lean::string_append(x_62, x_61); +x_65 = lean::box(0); +x_66 = l_mjoin___rarg___closed__1; +x_67 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_64, x_66, x_65, x_65, x_0); +x_40 = x_67; goto lbl_41; } +else +{ +obj* x_69; obj* x_70; obj* x_71; obj* x_72; +lean::inc(x_0); +x_69 = l_string_iterator_next___main(x_0); +x_70 = lean::box(0); +x_71 = lean::box_uint32(x_47); +x_72 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_72, 0, x_71); +lean::cnstr_set(x_72, 1, x_69); +lean::cnstr_set(x_72, 2, x_70); +x_40 = x_72; +goto lbl_41; } } } lbl_41: { -obj* x_84; obj* x_85; -x_84 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_85 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_84, x_40); -if (lean::obj_tag(x_85) == 0) +obj* x_73; obj* x_74; +x_73 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_74 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_73, x_40); +if (lean::obj_tag(x_74) == 0) { -obj* x_86; obj* x_88; obj* x_90; obj* x_92; uint32 x_93; obj* x_94; obj* x_95; obj* x_96; obj* x_98; obj* x_99; obj* x_101; obj* x_102; -x_86 = lean::cnstr_get(x_85, 0); -x_88 = lean::cnstr_get(x_85, 1); -x_90 = lean::cnstr_get(x_85, 2); -if (lean::is_exclusive(x_85)) { - x_92 = x_85; +obj* x_75; obj* x_77; obj* x_79; obj* x_81; uint32 x_82; obj* x_83; obj* x_84; obj* x_85; obj* x_87; obj* x_88; obj* x_90; obj* x_91; +x_75 = lean::cnstr_get(x_74, 0); +x_77 = lean::cnstr_get(x_74, 1); +x_79 = lean::cnstr_get(x_74, 2); +if (lean::is_exclusive(x_74)) { + x_81 = x_74; } else { - lean::inc(x_86); - lean::inc(x_88); - lean::inc(x_90); - lean::dec(x_85); - x_92 = lean::box(0); + lean::inc(x_75); + lean::inc(x_77); + lean::inc(x_79); + lean::dec(x_74); + x_81 = lean::box(0); } -x_93 = lean::unbox_uint32(x_86); -x_94 = lean::uint32_to_nat(x_93); -x_95 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; -x_96 = lean::nat_sub(x_94, x_95); -lean::dec(x_94); -x_98 = lean::mk_nat_obj(10u); -x_99 = lean::nat_add(x_98, x_96); -lean::dec(x_96); -if (lean::is_scalar(x_92)) { - x_101 = lean::alloc_cnstr(0, 3, 0); +x_82 = lean::unbox_uint32(x_75); +x_83 = lean::uint32_to_nat(x_82); +x_84 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; +x_85 = lean::nat_sub(x_83, x_84); +lean::dec(x_83); +x_87 = lean::mk_nat_obj(10u); +x_88 = lean::nat_add(x_87, x_85); +lean::dec(x_85); +if (lean::is_scalar(x_81)) { + x_90 = lean::alloc_cnstr(0, 3, 0); } else { - x_101 = x_92; + x_90 = x_81; } -lean::cnstr_set(x_101, 0, x_99); -lean::cnstr_set(x_101, 1, x_88); -lean::cnstr_set(x_101, 2, x_84); -x_102 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_90, x_101); -if (lean::obj_tag(x_102) == 0) +lean::cnstr_set(x_90, 0, x_88); +lean::cnstr_set(x_90, 1, x_77); +lean::cnstr_set(x_90, 2, x_73); +x_91 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_79, x_90); +if (lean::obj_tag(x_91) == 0) { -obj* x_104; obj* x_105; obj* x_106; +obj* x_93; obj* x_94; obj* x_95; lean::dec(x_0); -x_104 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_102); -x_105 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; -x_106 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_104, x_105); -return x_106; +x_93 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_91); +x_94 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; +x_95 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_93, x_94); +return x_95; } else { -obj* x_107; uint8 x_109; -x_107 = lean::cnstr_get(x_102, 0); -lean::inc(x_107); -x_109 = lean::cnstr_get_scalar(x_102, sizeof(void*)*1); -x_35 = x_102; -x_36 = x_107; -x_37 = x_109; +obj* x_96; uint8 x_98; +x_96 = lean::cnstr_get(x_91, 0); +lean::inc(x_96); +x_98 = lean::cnstr_get_scalar(x_91, sizeof(void*)*1); +x_35 = x_91; +x_36 = x_96; +x_37 = x_98; goto lbl_38; } } else { -obj* x_110; uint8 x_112; obj* x_113; obj* x_115; obj* x_116; -x_110 = lean::cnstr_get(x_85, 0); -x_112 = lean::cnstr_get_scalar(x_85, sizeof(void*)*1); -if (lean::is_exclusive(x_85)) { - x_113 = x_85; +obj* x_99; uint8 x_101; obj* x_102; obj* x_104; obj* x_105; +x_99 = lean::cnstr_get(x_74, 0); +x_101 = lean::cnstr_get_scalar(x_74, sizeof(void*)*1); +if (lean::is_exclusive(x_74)) { + x_102 = x_74; } else { - lean::inc(x_110); - lean::dec(x_85); - x_113 = lean::box(0); + lean::inc(x_99); + lean::dec(x_74); + x_102 = lean::box(0); } -lean::inc(x_110); -if (lean::is_scalar(x_113)) { - x_115 = lean::alloc_cnstr(1, 1, 1); +lean::inc(x_99); +if (lean::is_scalar(x_102)) { + x_104 = lean::alloc_cnstr(1, 1, 1); } else { - x_115 = x_113; + x_104 = x_102; } -lean::cnstr_set(x_115, 0, x_110); -lean::cnstr_set_scalar(x_115, sizeof(void*)*1, x_112); -x_116 = x_115; -x_35 = x_116; -x_36 = x_110; -x_37 = x_112; +lean::cnstr_set(x_104, 0, x_99); +lean::cnstr_set_scalar(x_104, sizeof(void*)*1, x_101); +x_105 = x_104; +x_35 = x_105; +x_36 = x_99; +x_37 = x_101; goto lbl_38; } } } else { -obj* x_119; obj* x_120; +obj* x_108; obj* x_109; lean::dec(x_0); lean::dec(x_2); -x_119 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; -x_120 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_1, x_119); -return x_120; +x_108 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; +x_109 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_1, x_108); +return x_109; } lbl_38: { if (x_37 == 0) { -obj* x_122; uint8 x_124; +obj* x_111; uint8 x_113; lean::dec(x_35); -x_124 = l_string_iterator_has__next___main(x_0); -if (x_124 == 0) +x_113 = l_string_iterator_has__next___main(x_0); +if (x_113 == 0) { -obj* x_125; obj* x_126; obj* x_127; obj* x_128; -x_125 = lean::box(0); -x_126 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; -x_127 = l_mjoin___rarg___closed__1; -x_128 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_126, x_127, x_125, x_125, x_0); +obj* x_114; obj* x_115; obj* x_116; obj* x_117; +x_114 = lean::box(0); +x_115 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; +x_116 = l_mjoin___rarg___closed__1; +x_117 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_115, x_116, x_114, x_114, x_0); lean::dec(x_0); -x_122 = x_128; -goto lbl_123; +x_111 = x_117; +goto lbl_112; } else { -uint32 x_130; uint32 x_131; uint8 x_132; uint8 x_134; -x_130 = l_string_iterator_curr___main(x_0); -x_131 = 65; -x_134 = x_131 <= x_130; -if (x_134 == 0) +uint32 x_119; uint32 x_120; uint8 x_121; +x_119 = l_string_iterator_curr___main(x_0); +x_120 = 65; +x_121 = x_120 <= x_119; +if (x_121 == 0) { -obj* x_135; obj* x_136; obj* x_137; obj* x_139; obj* x_140; obj* x_141; obj* x_142; -x_135 = l_char_quote__core(x_130); -x_136 = l_char_has__repr___closed__1; -x_137 = lean::string_append(x_136, x_135); -lean::dec(x_135); -x_139 = lean::string_append(x_137, x_136); -x_140 = lean::box(0); -x_141 = l_mjoin___rarg___closed__1; -x_142 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_139, x_141, x_140, x_140, x_0); +obj* x_122; obj* x_123; obj* x_124; obj* x_126; obj* x_127; obj* x_128; obj* x_129; +x_122 = l_char_quote__core(x_119); +x_123 = l_char_has__repr___closed__1; +x_124 = lean::string_append(x_123, x_122); +lean::dec(x_122); +x_126 = lean::string_append(x_124, x_123); +x_127 = lean::box(0); +x_128 = l_mjoin___rarg___closed__1; +x_129 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_126, x_128, x_127, x_127, x_0); lean::dec(x_0); -x_122 = x_142; -goto lbl_123; -} -else -{ -uint8 x_144; -x_144 = 1; -x_132 = x_144; -goto lbl_133; -} -lbl_133: -{ -uint32 x_145; uint8 x_146; -x_145 = 70; -x_146 = x_130 <= x_145; -if (x_146 == 0) -{ -obj* x_147; obj* x_148; obj* x_149; obj* x_151; obj* x_152; obj* x_153; obj* x_154; -x_147 = l_char_quote__core(x_130); -x_148 = l_char_has__repr___closed__1; -x_149 = lean::string_append(x_148, x_147); -lean::dec(x_147); -x_151 = lean::string_append(x_149, x_148); -x_152 = lean::box(0); -x_153 = l_mjoin___rarg___closed__1; -x_154 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_151, x_153, x_152, x_152, x_0); -lean::dec(x_0); -x_122 = x_154; -goto lbl_123; +x_111 = x_129; +goto lbl_112; } else { +uint32 x_131; uint8 x_132; +x_131 = 70; +x_132 = x_119 <= x_131; if (x_132 == 0) { -obj* x_156; obj* x_157; obj* x_158; obj* x_160; obj* x_161; obj* x_162; obj* x_163; -x_156 = l_char_quote__core(x_130); -x_157 = l_char_has__repr___closed__1; -x_158 = lean::string_append(x_157, x_156); +obj* x_133; obj* x_134; obj* x_135; obj* x_137; obj* x_138; obj* x_139; obj* x_140; +x_133 = l_char_quote__core(x_119); +x_134 = l_char_has__repr___closed__1; +x_135 = lean::string_append(x_134, x_133); +lean::dec(x_133); +x_137 = lean::string_append(x_135, x_134); +x_138 = lean::box(0); +x_139 = l_mjoin___rarg___closed__1; +x_140 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_137, x_139, x_138, x_138, x_0); +lean::dec(x_0); +x_111 = x_140; +goto lbl_112; +} +else +{ +obj* x_142; obj* x_143; obj* x_144; obj* x_145; +x_142 = l_string_iterator_next___main(x_0); +x_143 = lean::box(0); +x_144 = lean::box_uint32(x_119); +x_145 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_145, 0, x_144); +lean::cnstr_set(x_145, 1, x_142); +lean::cnstr_set(x_145, 2, x_143); +x_111 = x_145; +goto lbl_112; +} +} +} +lbl_112: +{ +obj* x_146; obj* x_147; +x_146 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_147 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_146, x_111); +if (lean::obj_tag(x_147) == 0) +{ +obj* x_148; obj* x_150; obj* x_152; obj* x_154; uint32 x_155; obj* x_156; obj* x_157; obj* x_158; obj* x_160; obj* x_161; obj* x_163; obj* x_164; obj* x_165; obj* x_166; obj* x_167; obj* x_168; +x_148 = lean::cnstr_get(x_147, 0); +x_150 = lean::cnstr_get(x_147, 1); +x_152 = lean::cnstr_get(x_147, 2); +if (lean::is_exclusive(x_147)) { + x_154 = x_147; +} else { + lean::inc(x_148); + lean::inc(x_150); + lean::inc(x_152); + lean::dec(x_147); + x_154 = lean::box(0); +} +x_155 = lean::unbox_uint32(x_148); +x_156 = lean::uint32_to_nat(x_155); +x_157 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; +x_158 = lean::nat_sub(x_156, x_157); lean::dec(x_156); -x_160 = lean::string_append(x_158, x_157); -x_161 = lean::box(0); -x_162 = l_mjoin___rarg___closed__1; -x_163 = l_lean_parser_monad__parsec_error___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__3___rarg(x_160, x_162, x_161, x_161, x_0); +x_160 = lean::mk_nat_obj(10u); +x_161 = lean::nat_add(x_160, x_158); +lean::dec(x_158); +if (lean::is_scalar(x_154)) { + x_163 = lean::alloc_cnstr(0, 3, 0); +} else { + x_163 = x_154; +} +lean::cnstr_set(x_163, 0, x_161); +lean::cnstr_set(x_163, 1, x_150); +lean::cnstr_set(x_163, 2, x_146); +x_164 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_152, x_163); +x_165 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_164); +x_166 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_165); +x_167 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; +x_168 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_166, x_167); +return x_168; +} +else +{ +obj* x_169; uint8 x_171; obj* x_172; obj* x_173; obj* x_174; obj* x_175; obj* x_176; obj* x_177; obj* x_178; +x_169 = lean::cnstr_get(x_147, 0); +x_171 = lean::cnstr_get_scalar(x_147, sizeof(void*)*1); +if (lean::is_exclusive(x_147)) { + x_172 = x_147; +} else { + lean::inc(x_169); + lean::dec(x_147); + x_172 = lean::box(0); +} +if (lean::is_scalar(x_172)) { + x_173 = lean::alloc_cnstr(1, 1, 1); +} else { + x_173 = x_172; +} +lean::cnstr_set(x_173, 0, x_169); +lean::cnstr_set_scalar(x_173, sizeof(void*)*1, x_171); +x_174 = x_173; +x_175 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_174); +x_176 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_175); +x_177 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; +x_178 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_176, x_177); +return x_178; +} +} +} +else +{ +obj* x_181; obj* x_182; obj* x_183; lean::dec(x_0); -x_122 = x_163; -goto lbl_123; -} -else -{ -obj* x_165; obj* x_166; obj* x_167; obj* x_168; -x_165 = l_string_iterator_next___main(x_0); -x_166 = lean::box(0); -x_167 = lean::box_uint32(x_130); -x_168 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_168, 0, x_167); -lean::cnstr_set(x_168, 1, x_165); -lean::cnstr_set(x_168, 2, x_166); -x_122 = x_168; -goto lbl_123; -} -} -} -} -lbl_123: -{ -obj* x_169; obj* x_170; -x_169 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_170 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_169, x_122); -if (lean::obj_tag(x_170) == 0) -{ -obj* x_171; obj* x_173; obj* x_175; obj* x_177; uint32 x_178; obj* x_179; obj* x_180; obj* x_181; obj* x_183; obj* x_184; obj* x_186; obj* x_187; obj* x_188; obj* x_189; obj* x_190; obj* x_191; -x_171 = lean::cnstr_get(x_170, 0); -x_173 = lean::cnstr_get(x_170, 1); -x_175 = lean::cnstr_get(x_170, 2); -if (lean::is_exclusive(x_170)) { - x_177 = x_170; -} else { - lean::inc(x_171); - lean::inc(x_173); - lean::inc(x_175); - lean::dec(x_170); - x_177 = lean::box(0); -} -x_178 = lean::unbox_uint32(x_171); -x_179 = lean::uint32_to_nat(x_178); -x_180 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; -x_181 = lean::nat_sub(x_179, x_180); -lean::dec(x_179); -x_183 = lean::mk_nat_obj(10u); -x_184 = lean::nat_add(x_183, x_181); -lean::dec(x_181); -if (lean::is_scalar(x_177)) { - x_186 = lean::alloc_cnstr(0, 3, 0); -} else { - x_186 = x_177; -} -lean::cnstr_set(x_186, 0, x_184); -lean::cnstr_set(x_186, 1, x_173); -lean::cnstr_set(x_186, 2, x_169); -x_187 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_175, x_186); -x_188 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_187); -x_189 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_188); -x_190 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; -x_191 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_189, x_190); -return x_191; -} -else -{ -obj* x_192; uint8 x_194; obj* x_195; obj* x_196; obj* x_197; obj* x_198; obj* x_199; obj* x_200; obj* x_201; -x_192 = lean::cnstr_get(x_170, 0); -x_194 = lean::cnstr_get_scalar(x_170, sizeof(void*)*1); -if (lean::is_exclusive(x_170)) { - x_195 = x_170; -} else { - lean::inc(x_192); - lean::dec(x_170); - x_195 = lean::box(0); -} -if (lean::is_scalar(x_195)) { - x_196 = lean::alloc_cnstr(1, 1, 1); -} else { - x_196 = x_195; -} -lean::cnstr_set(x_196, 0, x_192); -lean::cnstr_set_scalar(x_196, sizeof(void*)*1, x_194); -x_197 = x_196; -x_198 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_197); -x_199 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_198); -x_200 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; -x_201 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_199, x_200); -return x_201; -} -} -} -else -{ -obj* x_204; obj* x_205; obj* x_206; lean::dec(x_36); -lean::dec(x_0); -x_204 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_35); -x_205 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; -x_206 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_204, x_205); -return x_206; +x_181 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_35); +x_182 = l_lean_parser_parse__hex__digit___at___private_init_lean_name__mangling_2__parse__mangled__string__aux___main___spec__2___closed__1; +x_183 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_181, x_182); +return x_183; } } } diff --git a/src/boot/init/lean/parser/command.cpp b/src/boot/init/lean/parser/command.cpp index df2096041b..c549e8f3cb 100644 --- a/src/boot/init/lean/parser/command.cpp +++ b/src/boot/init/lean/parser/command.cpp @@ -225,6 +225,7 @@ obj* l_lean_parser_command_attribute; obj* l_reader__t_orelse___at_lean_parser_command_universe_parser___spec__2___boxed(obj*); obj* l_lean_parser_term_binder_parser(obj*, obj*, obj*, obj*, obj*); obj* l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__3(obj*, obj*); +obj* l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__3; obj* l_lean_parser_command__parser_run(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_combinators_node_view___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_command_universe_parser_lean_parser_has__tokens; @@ -286,7 +287,6 @@ obj* l_lean_parser_command_namespace_has__view; obj* l_lean_parser_number_parser___at_lean_parser_command_set__option_parser_lean_parser_has__tokens___spec__3___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_indexed___at_lean_parser_command__parser_run___spec__2___boxed(obj*); extern obj* l_lean_parser_indexed___rarg___lambda__1___closed__1; -extern obj* l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; obj* l_list_map___main___at_lean_parser_command_open__spec_only_has__view_x_27___spec__1(obj*); obj* l_lean_parser_substring_to__string(obj*); obj* l_lean_parser_try__view___at_lean_parser_string__lit_parser___spec__1(obj*, obj*); @@ -382,6 +382,7 @@ obj* l_lean_parser_command_section_has__view_x_27___lambda__1(obj*); obj* l_lean_parser_command_open_has__view_x_27___lambda__2(obj*); obj* l_list_foldl___main___at_lean_parser_command_universe_parser___spec__3(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_rbmap_find___main___at_lean_parser_command__parser_run___spec__6(obj*); +obj* l_lean_parser_substring_of__string(obj*); obj* l_rbmap_find___main___at_lean_parser_command__parser_run___spec__6___boxed(obj*); obj* l_list_map___main___at_lean_parser_command_include_has__view_x_27___spec__1(obj*); obj* l_lean_parser_command_end_parser(obj*, obj*, obj*, obj*); @@ -510,95 +511,13 @@ return x_10; obj* _init_l_lean_parser_command_open__spec_as_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_14; obj* x_15; -x_14 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_5); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -switch (lean::obj_tag(x_16)) { -case 1: -{ -obj* x_19; obj* x_22; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); -lean::cnstr_set(x_22, 1, x_19); -return x_22; -} -case 3: -{ -obj* x_23; obj* x_24; -x_23 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_24 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_24, 0, x_5); -lean::cnstr_set(x_24, 1, x_23); -return x_24; -} -default: -{ -obj* x_26; obj* x_27; -lean::dec(x_16); -x_26 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_5); -lean::cnstr_set(x_27, 1, x_26); -return x_27; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +return x_2; } } obj* l_lean_parser_command_open__spec_as_has__view_x_27___lambda__1(obj* x_0) { @@ -933,273 +852,39 @@ return x_9; obj* _init_l_lean_parser_command_open__spec_only_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +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_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_5 = lean::alloc_cnstr(0, 4, 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); +return x_5; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; -x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_34; -x_34 = lean::box(3); -x_31 = x_14; -x_32 = x_34; -goto lbl_33; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_14, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_14, 1); -lean::inc(x_37); -lean::dec(x_14); -x_31 = x_37; -x_32 = x_35; -goto lbl_33; -} -lbl_33: -{ -obj* x_40; -x_40 = l_lean_parser_syntax_as__node___main(x_32); -if (lean::obj_tag(x_40) == 0) -{ -if (lean::obj_tag(x_31) == 0) -{ -obj* x_41; obj* x_42; obj* x_43; -x_41 = lean::box(0); -x_42 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_43 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_43, 0, x_5); -lean::cnstr_set(x_43, 1, x_23); -lean::cnstr_set(x_43, 2, x_42); -lean::cnstr_set(x_43, 3, x_41); -return x_43; -} -else -{ -obj* x_44; -x_44 = lean::cnstr_get(x_31, 0); -lean::inc(x_44); -lean::dec(x_31); -switch (lean::obj_tag(x_44)) { -case 0: -{ -obj* x_47; obj* x_50; obj* x_51; obj* x_52; -x_47 = lean::cnstr_get(x_44, 0); -lean::inc(x_47); -lean::dec(x_44); -x_50 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_50, 0, x_47); -x_51 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_52 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_23); -lean::cnstr_set(x_52, 2, x_51); -lean::cnstr_set(x_52, 3, x_50); -return x_52; -} -case 3: -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_23); -lean::cnstr_set(x_55, 2, x_54); -lean::cnstr_set(x_55, 3, x_53); -return x_55; -} -default: -{ -obj* x_57; obj* x_58; obj* x_59; -lean::dec(x_44); -x_57 = lean::box(0); -x_58 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_59 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_59, 0, x_5); -lean::cnstr_set(x_59, 1, x_23); -lean::cnstr_set(x_59, 2, x_58); -lean::cnstr_set(x_59, 3, x_57); -return x_59; -} -} -} -} -else -{ -obj* x_60; obj* x_62; obj* x_63; obj* x_66; -x_60 = lean::cnstr_get(x_40, 0); -if (lean::is_exclusive(x_40)) { - lean::cnstr_set(x_40, 0, lean::box(0)); - x_62 = x_40; -} else { - lean::inc(x_60); - lean::dec(x_40); - x_62 = lean::box(0); -} -x_63 = lean::cnstr_get(x_60, 1); -lean::inc(x_63); -lean::dec(x_60); -x_66 = l_list_map___main___at_lean_parser_command_open__spec_only_has__view_x_27___spec__1(x_63); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_68; obj* x_69; -lean::dec(x_62); -x_68 = lean::box(0); -x_69 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_69, 0, x_5); -lean::cnstr_set(x_69, 1, x_23); -lean::cnstr_set(x_69, 2, x_66); -lean::cnstr_set(x_69, 3, x_68); -return x_69; -} -else -{ -obj* x_70; -x_70 = lean::cnstr_get(x_31, 0); -lean::inc(x_70); -lean::dec(x_31); -switch (lean::obj_tag(x_70)) { -case 0: -{ -obj* x_73; obj* x_76; obj* x_77; -x_73 = lean::cnstr_get(x_70, 0); -lean::inc(x_73); -lean::dec(x_70); -if (lean::is_scalar(x_62)) { - x_76 = lean::alloc_cnstr(1, 1, 0); -} else { - x_76 = x_62; -} -lean::cnstr_set(x_76, 0, x_73); -x_77 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_77, 0, x_5); -lean::cnstr_set(x_77, 1, x_23); -lean::cnstr_set(x_77, 2, x_66); -lean::cnstr_set(x_77, 3, x_76); -return x_77; -} -case 3: -{ -obj* x_79; obj* x_80; -lean::dec(x_62); -x_79 = lean::box(0); -x_80 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_80, 0, x_5); -lean::cnstr_set(x_80, 1, x_23); -lean::cnstr_set(x_80, 2, x_66); -lean::cnstr_set(x_80, 3, x_79); -return x_80; -} -default: -{ -obj* x_83; obj* x_84; -lean::dec(x_62); -lean::dec(x_70); -x_83 = lean::box(0); -x_84 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_84, 0, x_5); -lean::cnstr_set(x_84, 1, x_23); -lean::cnstr_set(x_84, 2, x_66); -lean::cnstr_set(x_84, 3, x_83); -return x_84; -} -} -} -} -} -} -} -} +obj* x_6; obj* x_9; obj* x_12; obj* x_13; obj* x_14; +x_6 = lean::cnstr_get(x_2, 0); +lean::inc(x_6); +lean::dec(x_2); +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +x_12 = l_list_map___main___at_lean_parser_command_open__spec_only_has__view_x_27___spec__1(x_9); +x_13 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_14 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_14, 0, x_0); +lean::cnstr_set(x_14, 1, x_13); +lean::cnstr_set(x_14, 2, x_12); +lean::cnstr_set(x_14, 3, x_0); +return x_14; } } } @@ -1423,10 +1108,11 @@ obj* x_78; x_78 = l_lean_parser_syntax_as__node___main(x_70); if (lean::obj_tag(x_78) == 0) { +obj* x_79; +x_79 = lean::box(0); if (lean::obj_tag(x_69) == 0) { -obj* x_79; obj* x_80; obj* x_81; -x_79 = lean::box(0); +obj* x_80; obj* x_81; x_80 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; x_81 = lean::alloc_cnstr(0, 4, 0); lean::cnstr_set(x_81, 0, x_43); @@ -1460,110 +1146,108 @@ return x_90; } case 3: { -obj* x_91; obj* x_92; obj* x_93; -x_91 = lean::box(0); -x_92 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_93 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_93, 0, x_43); -lean::cnstr_set(x_93, 1, x_61); -lean::cnstr_set(x_93, 2, x_92); -lean::cnstr_set(x_93, 3, x_91); -return x_93; +obj* x_91; obj* x_92; +x_91 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_92 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_92, 0, x_43); +lean::cnstr_set(x_92, 1, x_61); +lean::cnstr_set(x_92, 2, x_91); +lean::cnstr_set(x_92, 3, x_79); +return x_92; } default: { -obj* x_95; obj* x_96; obj* x_97; +obj* x_94; obj* x_95; lean::dec(x_82); -x_95 = lean::box(0); -x_96 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_97 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_97, 0, x_43); -lean::cnstr_set(x_97, 1, x_61); -lean::cnstr_set(x_97, 2, x_96); -lean::cnstr_set(x_97, 3, x_95); -return x_97; +x_94 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_95 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_95, 0, x_43); +lean::cnstr_set(x_95, 1, x_61); +lean::cnstr_set(x_95, 2, x_94); +lean::cnstr_set(x_95, 3, x_79); +return x_95; } } } } else { -obj* x_98; obj* x_100; obj* x_101; obj* x_104; -x_98 = lean::cnstr_get(x_78, 0); +obj* x_96; obj* x_98; obj* x_99; obj* x_102; +x_96 = lean::cnstr_get(x_78, 0); if (lean::is_exclusive(x_78)) { lean::cnstr_set(x_78, 0, lean::box(0)); - x_100 = x_78; + x_98 = x_78; } else { - lean::inc(x_98); + lean::inc(x_96); lean::dec(x_78); - x_100 = lean::box(0); + x_98 = lean::box(0); } -x_101 = lean::cnstr_get(x_98, 1); -lean::inc(x_101); -lean::dec(x_98); -x_104 = l_list_map___main___at_lean_parser_command_open__spec_only_has__view_x_27___spec__1(x_101); +x_99 = lean::cnstr_get(x_96, 1); +lean::inc(x_99); +lean::dec(x_96); +x_102 = l_list_map___main___at_lean_parser_command_open__spec_only_has__view_x_27___spec__1(x_99); if (lean::obj_tag(x_69) == 0) { -obj* x_106; obj* x_107; -lean::dec(x_100); -x_106 = lean::box(0); -x_107 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_107, 0, x_43); -lean::cnstr_set(x_107, 1, x_61); -lean::cnstr_set(x_107, 2, x_104); -lean::cnstr_set(x_107, 3, x_106); -return x_107; +obj* x_104; obj* x_105; +lean::dec(x_98); +x_104 = lean::box(0); +x_105 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_105, 0, x_43); +lean::cnstr_set(x_105, 1, x_61); +lean::cnstr_set(x_105, 2, x_102); +lean::cnstr_set(x_105, 3, x_104); +return x_105; } else { -obj* x_108; -x_108 = lean::cnstr_get(x_69, 0); -lean::inc(x_108); +obj* x_106; +x_106 = lean::cnstr_get(x_69, 0); +lean::inc(x_106); lean::dec(x_69); -switch (lean::obj_tag(x_108)) { +switch (lean::obj_tag(x_106)) { case 0: { -obj* x_111; obj* x_114; obj* x_115; -x_111 = lean::cnstr_get(x_108, 0); -lean::inc(x_111); -lean::dec(x_108); -if (lean::is_scalar(x_100)) { - x_114 = lean::alloc_cnstr(1, 1, 0); +obj* x_109; obj* x_112; obj* x_113; +x_109 = lean::cnstr_get(x_106, 0); +lean::inc(x_109); +lean::dec(x_106); +if (lean::is_scalar(x_98)) { + x_112 = lean::alloc_cnstr(1, 1, 0); } else { - x_114 = x_100; + x_112 = x_98; } -lean::cnstr_set(x_114, 0, x_111); -x_115 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_115, 0, x_43); -lean::cnstr_set(x_115, 1, x_61); -lean::cnstr_set(x_115, 2, x_104); -lean::cnstr_set(x_115, 3, x_114); -return x_115; +lean::cnstr_set(x_112, 0, x_109); +x_113 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_113, 0, x_43); +lean::cnstr_set(x_113, 1, x_61); +lean::cnstr_set(x_113, 2, x_102); +lean::cnstr_set(x_113, 3, x_112); +return x_113; } case 3: { -obj* x_117; obj* x_118; -lean::dec(x_100); -x_117 = lean::box(0); -x_118 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_118, 0, x_43); -lean::cnstr_set(x_118, 1, x_61); -lean::cnstr_set(x_118, 2, x_104); -lean::cnstr_set(x_118, 3, x_117); -return x_118; +obj* x_115; obj* x_116; +lean::dec(x_98); +x_115 = lean::box(0); +x_116 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_116, 0, x_43); +lean::cnstr_set(x_116, 1, x_61); +lean::cnstr_set(x_116, 2, x_102); +lean::cnstr_set(x_116, 3, x_115); +return x_116; } default: { -obj* x_121; obj* x_122; -lean::dec(x_108); -lean::dec(x_100); -x_121 = lean::box(0); -x_122 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_122, 0, x_43); -lean::cnstr_set(x_122, 1, x_61); -lean::cnstr_set(x_122, 2, x_104); -lean::cnstr_set(x_122, 3, x_121); -return x_122; +obj* x_119; obj* x_120; +lean::dec(x_106); +lean::dec(x_98); +x_119 = lean::box(0); +x_120 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_120, 0, x_43); +lean::cnstr_set(x_120, 1, x_61); +lean::cnstr_set(x_120, 2, x_102); +lean::cnstr_set(x_120, 3, x_119); +return x_120; } } } @@ -1775,153 +1459,14 @@ return x_12; obj* _init_l_lean_parser_command_open__spec_renaming_item_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -obj* x_7; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_5 = x_7; -goto lbl_6; -} -case 3: -{ -obj* x_10; -x_10 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_10; -goto lbl_6; -} -default: -{ -obj* x_12; -lean::dec(x_1); -x_12 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_12; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_13; obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_13 = x_0; -x_14 = x_16; -goto lbl_15; -} -else -{ -obj* x_17; obj* x_19; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -x_19 = lean::cnstr_get(x_0, 1); -lean::inc(x_19); -lean::dec(x_0); -x_13 = x_19; -x_14 = x_17; -goto lbl_15; -} -lbl_15: -{ -obj* x_22; -switch (lean::obj_tag(x_14)) { -case 0: -{ -obj* x_24; obj* x_27; -x_24 = lean::cnstr_get(x_14, 0); -lean::inc(x_24); -lean::dec(x_14); -x_27 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_27, 0, x_24); -x_22 = x_27; -goto lbl_23; -} -case 3: -{ -obj* x_28; -x_28 = lean::box(0); -x_22 = x_28; -goto lbl_23; -} -default: -{ -obj* x_30; -lean::dec(x_14); -x_30 = lean::box(0); -x_22 = x_30; -goto lbl_23; -} -} -lbl_23: -{ -if (lean::obj_tag(x_13) == 0) -{ -obj* x_31; obj* x_32; -x_31 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_32 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_32, 0, x_5); -lean::cnstr_set(x_32, 1, x_22); -lean::cnstr_set(x_32, 2, x_31); -return x_32; -} -else -{ -obj* x_33; -x_33 = lean::cnstr_get(x_13, 0); -lean::inc(x_33); -lean::dec(x_13); -switch (lean::obj_tag(x_33)) { -case 1: -{ -obj* x_36; obj* x_39; -x_36 = lean::cnstr_get(x_33, 0); -lean::inc(x_36); -lean::dec(x_33); -x_39 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_39, 0, x_5); -lean::cnstr_set(x_39, 1, x_22); -lean::cnstr_set(x_39, 2, x_36); -return x_39; -} -case 3: -{ -obj* x_40; obj* x_41; -x_40 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_41 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_22); -lean::cnstr_set(x_41, 2, x_40); -return x_41; -} -default: -{ -obj* x_43; obj* x_44; -lean::dec(x_33); -x_43 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_22); -lean::cnstr_set(x_44, 2, x_43); -return x_44; -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_1); +lean::cnstr_set(x_2, 1, x_0); +lean::cnstr_set(x_2, 2, x_1); +return x_2; } } obj* l_lean_parser_command_open__spec_renaming_item_has__view_x_27___lambda__1(obj* x_0) { @@ -2244,276 +1789,38 @@ return x_1; obj* _init_l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_0); +lean::cnstr_set(x_4, 2, x_3); +lean::cnstr_set(x_4, 3, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_25; obj* x_28; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_28 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_28, 0, x_25); -x_23 = x_28; -goto lbl_24; -} -case 3: -{ -obj* x_29; -x_29 = lean::box(0); -x_23 = x_29; -goto lbl_24; -} -default: -{ -obj* x_31; -lean::dec(x_15); -x_31 = lean::box(0); -x_23 = x_31; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_32; obj* x_33; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_35; -x_35 = lean::box(3); -x_32 = x_14; -x_33 = x_35; -goto lbl_34; -} -else -{ -obj* x_36; obj* x_38; -x_36 = lean::cnstr_get(x_14, 0); -lean::inc(x_36); -x_38 = lean::cnstr_get(x_14, 1); -lean::inc(x_38); -lean::dec(x_14); -x_32 = x_38; -x_33 = x_36; -goto lbl_34; -} -lbl_34: -{ -obj* x_41; -x_41 = l_lean_parser_syntax_as__node___main(x_33); -if (lean::obj_tag(x_41) == 0) -{ -if (lean::obj_tag(x_32) == 0) -{ -obj* x_42; obj* x_43; obj* x_44; -x_42 = lean::box(0); -x_43 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_23); -lean::cnstr_set(x_44, 2, x_43); -lean::cnstr_set(x_44, 3, x_42); -return x_44; -} -else -{ -obj* x_45; -x_45 = lean::cnstr_get(x_32, 0); -lean::inc(x_45); -lean::dec(x_32); -switch (lean::obj_tag(x_45)) { -case 0: -{ -obj* x_48; obj* x_51; obj* x_52; obj* x_53; -x_48 = lean::cnstr_get(x_45, 0); -lean::inc(x_48); -lean::dec(x_45); -x_51 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_51, 0, x_48); -x_52 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__1; -x_53 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_52); -lean::cnstr_set(x_53, 3, x_51); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; obj* x_56; -x_54 = lean::box(0); -x_55 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__1; -x_56 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_56, 0, x_5); -lean::cnstr_set(x_56, 1, x_23); -lean::cnstr_set(x_56, 2, x_55); -lean::cnstr_set(x_56, 3, x_54); -return x_56; -} -default: -{ -obj* x_58; obj* x_59; obj* x_60; -lean::dec(x_45); -x_58 = lean::box(0); -x_59 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__1; -x_60 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_23); -lean::cnstr_set(x_60, 2, x_59); -lean::cnstr_set(x_60, 3, x_58); -return x_60; -} -} -} -} -else -{ -obj* x_61; obj* x_63; obj* x_64; obj* x_67; obj* x_68; -x_61 = lean::cnstr_get(x_41, 0); -if (lean::is_exclusive(x_41)) { - lean::cnstr_set(x_41, 0, lean::box(0)); - x_63 = x_41; -} else { - lean::inc(x_61); - lean::dec(x_41); - x_63 = lean::box(0); -} -x_64 = lean::cnstr_get(x_61, 1); -lean::inc(x_64); -lean::dec(x_61); -x_67 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__2; -x_68 = l_list_map___main___rarg(x_67, x_64); -if (lean::obj_tag(x_32) == 0) -{ -obj* x_70; obj* x_71; -lean::dec(x_63); -x_70 = lean::box(0); -x_71 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_71, 0, x_5); -lean::cnstr_set(x_71, 1, x_23); -lean::cnstr_set(x_71, 2, x_68); -lean::cnstr_set(x_71, 3, x_70); -return x_71; -} -else -{ -obj* x_72; -x_72 = lean::cnstr_get(x_32, 0); -lean::inc(x_72); -lean::dec(x_32); -switch (lean::obj_tag(x_72)) { -case 0: -{ -obj* x_75; obj* x_78; obj* x_79; -x_75 = lean::cnstr_get(x_72, 0); -lean::inc(x_75); -lean::dec(x_72); -if (lean::is_scalar(x_63)) { - x_78 = lean::alloc_cnstr(1, 1, 0); -} else { - x_78 = x_63; -} -lean::cnstr_set(x_78, 0, x_75); -x_79 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_79, 0, x_5); -lean::cnstr_set(x_79, 1, x_23); -lean::cnstr_set(x_79, 2, x_68); -lean::cnstr_set(x_79, 3, x_78); -return x_79; -} -case 3: -{ -obj* x_81; obj* x_82; -lean::dec(x_63); -x_81 = lean::box(0); -x_82 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_82, 0, x_5); -lean::cnstr_set(x_82, 1, x_23); -lean::cnstr_set(x_82, 2, x_68); -lean::cnstr_set(x_82, 3, x_81); -return x_82; -} -default: -{ -obj* x_85; obj* x_86; -lean::dec(x_63); -lean::dec(x_72); -x_85 = lean::box(0); -x_86 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_86, 0, x_5); -lean::cnstr_set(x_86, 1, x_23); -lean::cnstr_set(x_86, 2, x_68); -lean::cnstr_set(x_86, 3, x_85); -return x_86; -} -} -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_command_open__spec_renaming_has__view_x_27___lambda__1___closed__2; +x_12 = l_list_map___main___rarg(x_11, x_8); +x_13 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_0); +lean::cnstr_set(x_13, 2, x_12); +lean::cnstr_set(x_13, 3, x_0); +return x_13; } } } @@ -3364,275 +2671,37 @@ return x_9; obj* _init_l_lean_parser_command_open__spec_hiding_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_0); +lean::cnstr_set(x_4, 2, x_3); +lean::cnstr_set(x_4, 3, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_25; obj* x_28; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_28 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_28, 0, x_25); -x_23 = x_28; -goto lbl_24; -} -case 3: -{ -obj* x_29; -x_29 = lean::box(0); -x_23 = x_29; -goto lbl_24; -} -default: -{ -obj* x_31; -lean::dec(x_15); -x_31 = lean::box(0); -x_23 = x_31; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_32; obj* x_33; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_35; -x_35 = lean::box(3); -x_32 = x_14; -x_33 = x_35; -goto lbl_34; -} -else -{ -obj* x_36; obj* x_38; -x_36 = lean::cnstr_get(x_14, 0); -lean::inc(x_36); -x_38 = lean::cnstr_get(x_14, 1); -lean::inc(x_38); -lean::dec(x_14); -x_32 = x_38; -x_33 = x_36; -goto lbl_34; -} -lbl_34: -{ -obj* x_41; -x_41 = l_lean_parser_syntax_as__node___main(x_33); -if (lean::obj_tag(x_41) == 0) -{ -if (lean::obj_tag(x_32) == 0) -{ -obj* x_42; obj* x_43; obj* x_44; -x_42 = lean::box(0); -x_43 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_23); -lean::cnstr_set(x_44, 2, x_43); -lean::cnstr_set(x_44, 3, x_42); -return x_44; -} -else -{ -obj* x_45; -x_45 = lean::cnstr_get(x_32, 0); -lean::inc(x_45); -lean::dec(x_32); -switch (lean::obj_tag(x_45)) { -case 0: -{ -obj* x_48; obj* x_51; obj* x_52; obj* x_53; -x_48 = lean::cnstr_get(x_45, 0); -lean::inc(x_48); -lean::dec(x_45); -x_51 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_51, 0, x_48); -x_52 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_53 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_52); -lean::cnstr_set(x_53, 3, x_51); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; obj* x_56; -x_54 = lean::box(0); -x_55 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_56 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_56, 0, x_5); -lean::cnstr_set(x_56, 1, x_23); -lean::cnstr_set(x_56, 2, x_55); -lean::cnstr_set(x_56, 3, x_54); -return x_56; -} -default: -{ -obj* x_58; obj* x_59; obj* x_60; -lean::dec(x_45); -x_58 = lean::box(0); -x_59 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_60 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_23); -lean::cnstr_set(x_60, 2, x_59); -lean::cnstr_set(x_60, 3, x_58); -return x_60; -} -} -} -} -else -{ -obj* x_61; obj* x_63; obj* x_64; obj* x_67; -x_61 = lean::cnstr_get(x_41, 0); -if (lean::is_exclusive(x_41)) { - lean::cnstr_set(x_41, 0, lean::box(0)); - x_63 = x_41; -} else { - lean::inc(x_61); - lean::dec(x_41); - x_63 = lean::box(0); -} -x_64 = lean::cnstr_get(x_61, 1); -lean::inc(x_64); -lean::dec(x_61); -x_67 = l_list_map___main___at_lean_parser_command_open__spec_hiding_has__view_x_27___spec__1(x_64); -if (lean::obj_tag(x_32) == 0) -{ -obj* x_69; obj* x_70; -lean::dec(x_63); -x_69 = lean::box(0); -x_70 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_70, 0, x_5); -lean::cnstr_set(x_70, 1, x_23); -lean::cnstr_set(x_70, 2, x_67); -lean::cnstr_set(x_70, 3, x_69); -return x_70; -} -else -{ -obj* x_71; -x_71 = lean::cnstr_get(x_32, 0); -lean::inc(x_71); -lean::dec(x_32); -switch (lean::obj_tag(x_71)) { -case 0: -{ -obj* x_74; obj* x_77; obj* x_78; -x_74 = lean::cnstr_get(x_71, 0); -lean::inc(x_74); -lean::dec(x_71); -if (lean::is_scalar(x_63)) { - x_77 = lean::alloc_cnstr(1, 1, 0); -} else { - x_77 = x_63; -} -lean::cnstr_set(x_77, 0, x_74); -x_78 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_78, 0, x_5); -lean::cnstr_set(x_78, 1, x_23); -lean::cnstr_set(x_78, 2, x_67); -lean::cnstr_set(x_78, 3, x_77); -return x_78; -} -case 3: -{ -obj* x_80; obj* x_81; -lean::dec(x_63); -x_80 = lean::box(0); -x_81 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_81, 0, x_5); -lean::cnstr_set(x_81, 1, x_23); -lean::cnstr_set(x_81, 2, x_67); -lean::cnstr_set(x_81, 3, x_80); -return x_81; -} -default: -{ -obj* x_84; obj* x_85; -lean::dec(x_63); -lean::dec(x_71); -x_84 = lean::box(0); -x_85 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_23); -lean::cnstr_set(x_85, 2, x_67); -lean::cnstr_set(x_85, 3, x_84); -return x_85; -} -} -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_open__spec_hiding_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +lean::cnstr_set(x_12, 2, x_11); +lean::cnstr_set(x_12, 3, x_0); +return x_12; } } } @@ -3791,10 +2860,11 @@ obj* x_54; x_54 = l_lean_parser_syntax_as__node___main(x_46); if (lean::obj_tag(x_54) == 0) { +obj* x_55; +x_55 = lean::box(0); if (lean::obj_tag(x_45) == 0) { -obj* x_55; obj* x_56; obj* x_57; -x_55 = lean::box(0); +obj* x_56; obj* x_57; x_56 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; x_57 = lean::alloc_cnstr(0, 4, 0); lean::cnstr_set(x_57, 0, x_18); @@ -3828,110 +2898,108 @@ return x_66; } case 3: { -obj* x_67; obj* x_68; obj* x_69; -x_67 = lean::box(0); -x_68 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_69 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_69, 0, x_18); -lean::cnstr_set(x_69, 1, x_36); -lean::cnstr_set(x_69, 2, x_68); -lean::cnstr_set(x_69, 3, x_67); -return x_69; +obj* x_67; obj* x_68; +x_67 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_68 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_68, 0, x_18); +lean::cnstr_set(x_68, 1, x_36); +lean::cnstr_set(x_68, 2, x_67); +lean::cnstr_set(x_68, 3, x_55); +return x_68; } default: { -obj* x_71; obj* x_72; obj* x_73; +obj* x_70; obj* x_71; lean::dec(x_58); -x_71 = lean::box(0); -x_72 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_73 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_73, 0, x_18); -lean::cnstr_set(x_73, 1, x_36); -lean::cnstr_set(x_73, 2, x_72); -lean::cnstr_set(x_73, 3, x_71); -return x_73; +x_70 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_71 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_71, 0, x_18); +lean::cnstr_set(x_71, 1, x_36); +lean::cnstr_set(x_71, 2, x_70); +lean::cnstr_set(x_71, 3, x_55); +return x_71; } } } } else { -obj* x_74; obj* x_76; obj* x_77; obj* x_80; -x_74 = lean::cnstr_get(x_54, 0); +obj* x_72; obj* x_74; obj* x_75; obj* x_78; +x_72 = lean::cnstr_get(x_54, 0); if (lean::is_exclusive(x_54)) { lean::cnstr_set(x_54, 0, lean::box(0)); - x_76 = x_54; + x_74 = x_54; } else { - lean::inc(x_74); + lean::inc(x_72); lean::dec(x_54); - x_76 = lean::box(0); + x_74 = lean::box(0); } -x_77 = lean::cnstr_get(x_74, 1); -lean::inc(x_77); -lean::dec(x_74); -x_80 = l_list_map___main___at_lean_parser_command_open__spec_hiding_has__view_x_27___spec__1(x_77); +x_75 = lean::cnstr_get(x_72, 1); +lean::inc(x_75); +lean::dec(x_72); +x_78 = l_list_map___main___at_lean_parser_command_open__spec_hiding_has__view_x_27___spec__1(x_75); if (lean::obj_tag(x_45) == 0) { -obj* x_82; obj* x_83; -lean::dec(x_76); -x_82 = lean::box(0); -x_83 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_83, 0, x_18); -lean::cnstr_set(x_83, 1, x_36); -lean::cnstr_set(x_83, 2, x_80); -lean::cnstr_set(x_83, 3, x_82); -return x_83; +obj* x_80; obj* x_81; +lean::dec(x_74); +x_80 = lean::box(0); +x_81 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_81, 0, x_18); +lean::cnstr_set(x_81, 1, x_36); +lean::cnstr_set(x_81, 2, x_78); +lean::cnstr_set(x_81, 3, x_80); +return x_81; } else { -obj* x_84; -x_84 = lean::cnstr_get(x_45, 0); -lean::inc(x_84); +obj* x_82; +x_82 = lean::cnstr_get(x_45, 0); +lean::inc(x_82); lean::dec(x_45); -switch (lean::obj_tag(x_84)) { +switch (lean::obj_tag(x_82)) { case 0: { -obj* x_87; obj* x_90; obj* x_91; -x_87 = lean::cnstr_get(x_84, 0); -lean::inc(x_87); -lean::dec(x_84); -if (lean::is_scalar(x_76)) { - x_90 = lean::alloc_cnstr(1, 1, 0); +obj* x_85; obj* x_88; obj* x_89; +x_85 = lean::cnstr_get(x_82, 0); +lean::inc(x_85); +lean::dec(x_82); +if (lean::is_scalar(x_74)) { + x_88 = lean::alloc_cnstr(1, 1, 0); } else { - x_90 = x_76; + x_88 = x_74; } -lean::cnstr_set(x_90, 0, x_87); -x_91 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_91, 0, x_18); -lean::cnstr_set(x_91, 1, x_36); -lean::cnstr_set(x_91, 2, x_80); -lean::cnstr_set(x_91, 3, x_90); -return x_91; +lean::cnstr_set(x_88, 0, x_85); +x_89 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_89, 0, x_18); +lean::cnstr_set(x_89, 1, x_36); +lean::cnstr_set(x_89, 2, x_78); +lean::cnstr_set(x_89, 3, x_88); +return x_89; } case 3: { -obj* x_93; obj* x_94; -lean::dec(x_76); -x_93 = lean::box(0); -x_94 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_94, 0, x_18); -lean::cnstr_set(x_94, 1, x_36); -lean::cnstr_set(x_94, 2, x_80); -lean::cnstr_set(x_94, 3, x_93); -return x_94; +obj* x_91; obj* x_92; +lean::dec(x_74); +x_91 = lean::box(0); +x_92 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_92, 0, x_18); +lean::cnstr_set(x_92, 1, x_36); +lean::cnstr_set(x_92, 2, x_78); +lean::cnstr_set(x_92, 3, x_91); +return x_92; } default: { -obj* x_97; obj* x_98; -lean::dec(x_84); -lean::dec(x_76); -x_97 = lean::box(0); -x_98 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_98, 0, x_18); -lean::cnstr_set(x_98, 1, x_36); -lean::cnstr_set(x_98, 2, x_80); -lean::cnstr_set(x_98, 3, x_97); -return x_98; +obj* x_95; obj* x_96; +lean::dec(x_74); +lean::dec(x_82); +x_95 = lean::box(0); +x_96 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_96, 0, x_18); +lean::cnstr_set(x_96, 1, x_36); +lean::cnstr_set(x_96, 2, x_78); +lean::cnstr_set(x_96, 3, x_95); +return x_96; } } } @@ -4361,563 +3429,313 @@ return x_6; obj* _init_l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -obj* x_7; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_5 = x_7; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__4; +x_0 = x_4; +goto lbl_1; } -case 3: +else { -obj* x_10; -x_10 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_10; -goto lbl_6; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_3, 0); +if (lean::is_exclusive(x_3)) { + lean::cnstr_set(x_3, 0, lean::box(0)); + x_7 = x_3; +} else { + lean::inc(x_5); + lean::dec(x_3); + x_7 = lean::box(0); } -default: +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { obj* x_12; -lean::dec(x_1); -x_12 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_12; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_13; obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_13 = x_0; -x_14 = x_16; -goto lbl_15; +lean::dec(x_7); +x_12 = lean::box(0); +x_0 = x_12; +goto lbl_1; } else { -obj* x_17; obj* x_19; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -x_19 = lean::cnstr_get(x_0, 1); -lean::inc(x_19); -lean::dec(x_0); -x_13 = x_19; -x_14 = x_17; -goto lbl_15; -} -lbl_15: -{ -obj* x_22; obj* x_24; -x_24 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_24) == 0) -{ -obj* x_25; -x_25 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__4; -x_22 = x_25; -goto lbl_23; -} -else -{ -obj* x_26; obj* x_28; obj* x_29; -x_26 = lean::cnstr_get(x_24, 0); -if (lean::is_exclusive(x_24)) { - lean::cnstr_set(x_24, 0, lean::box(0)); - x_28 = x_24; -} else { - lean::inc(x_26); - lean::dec(x_24); - x_28 = lean::box(0); -} -x_29 = lean::cnstr_get(x_26, 1); -lean::inc(x_29); -lean::dec(x_26); -if (lean::obj_tag(x_29) == 0) -{ -obj* x_33; -lean::dec(x_28); -x_33 = lean::box(0); -x_22 = x_33; -goto lbl_23; -} -else -{ -obj* x_34; -x_34 = lean::cnstr_get(x_29, 1); -lean::inc(x_34); -if (lean::obj_tag(x_34) == 0) -{ -obj* x_36; obj* x_39; obj* x_40; obj* x_43; obj* x_44; -x_36 = lean::cnstr_get(x_29, 0); -lean::inc(x_36); -lean::dec(x_29); -x_39 = l_lean_parser_command_open__spec_as_has__view; -x_40 = lean::cnstr_get(x_39, 0); -lean::inc(x_40); -lean::dec(x_39); -x_43 = lean::apply_1(x_40, x_36); -if (lean::is_scalar(x_28)) { - x_44 = lean::alloc_cnstr(1, 1, 0); -} else { - x_44 = x_28; -} -lean::cnstr_set(x_44, 0, x_43); -x_22 = x_44; -goto lbl_23; -} -else -{ -obj* x_48; -lean::dec(x_29); -lean::dec(x_34); -lean::dec(x_28); -x_48 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__4; -x_22 = x_48; -goto lbl_23; -} -} -} -lbl_23: -{ -obj* x_49; obj* x_50; +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); if (lean::obj_tag(x_13) == 0) { -obj* x_52; -x_52 = lean::box(3); -x_49 = x_13; -x_50 = x_52; -goto lbl_51; -} -else -{ -obj* x_53; obj* x_55; -x_53 = lean::cnstr_get(x_13, 0); -lean::inc(x_53); -x_55 = lean::cnstr_get(x_13, 1); -lean::inc(x_55); -lean::dec(x_13); -x_49 = x_55; -x_50 = x_53; -goto lbl_51; -} -lbl_51: -{ -obj* x_58; obj* x_60; -x_60 = l_lean_parser_syntax_as__node___main(x_50); -if (lean::obj_tag(x_60) == 0) -{ -obj* x_61; -x_61 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__3; -x_58 = x_61; -goto lbl_59; -} -else -{ -obj* x_62; obj* x_64; obj* x_65; -x_62 = lean::cnstr_get(x_60, 0); -if (lean::is_exclusive(x_60)) { - lean::cnstr_set(x_60, 0, lean::box(0)); - x_64 = x_60; +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +x_18 = l_lean_parser_command_open__spec_as_has__view; +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_7)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_62); - lean::dec(x_60); - x_64 = lean::box(0); + x_23 = x_7; } -x_65 = lean::cnstr_get(x_62, 1); -lean::inc(x_65); -lean::dec(x_62); -if (lean::obj_tag(x_65) == 0) +lean::cnstr_set(x_23, 0, x_22); +x_0 = x_23; +goto lbl_1; +} +else +{ +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_7); +x_27 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__4; +x_0 = x_27; +goto lbl_1; +} +} +} +lbl_1: +{ +obj* x_28; obj* x_30; obj* x_31; +x_30 = lean::box(3); +x_31 = l_lean_parser_syntax_as__node___main(x_30); +if (lean::obj_tag(x_31) == 0) +{ +obj* x_32; +x_32 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__3; +x_28 = x_32; +goto lbl_29; +} +else +{ +obj* x_33; obj* x_35; obj* x_36; +x_33 = lean::cnstr_get(x_31, 0); +if (lean::is_exclusive(x_31)) { + lean::cnstr_set(x_31, 0, lean::box(0)); + x_35 = x_31; +} else { + lean::inc(x_33); + lean::dec(x_31); + x_35 = lean::box(0); +} +x_36 = lean::cnstr_get(x_33, 1); +lean::inc(x_36); +lean::dec(x_33); +if (lean::obj_tag(x_36) == 0) +{ +obj* x_40; +lean::dec(x_35); +x_40 = lean::box(0); +x_28 = x_40; +goto lbl_29; +} +else +{ +obj* x_41; +x_41 = lean::cnstr_get(x_36, 1); +lean::inc(x_41); +if (lean::obj_tag(x_41) == 0) +{ +obj* x_43; obj* x_46; obj* x_47; obj* x_50; obj* x_51; +x_43 = lean::cnstr_get(x_36, 0); +lean::inc(x_43); +lean::dec(x_36); +x_46 = l_lean_parser_command_open__spec_only_has__view; +x_47 = lean::cnstr_get(x_46, 0); +lean::inc(x_47); +lean::dec(x_46); +x_50 = lean::apply_1(x_47, x_43); +if (lean::is_scalar(x_35)) { + x_51 = lean::alloc_cnstr(1, 1, 0); +} else { + x_51 = x_35; +} +lean::cnstr_set(x_51, 0, x_50); +x_28 = x_51; +goto lbl_29; +} +else +{ +obj* x_55; +lean::dec(x_41); +lean::dec(x_35); +lean::dec(x_36); +x_55 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__3; +x_28 = x_55; +goto lbl_29; +} +} +} +lbl_29: +{ +obj* x_56; obj* x_58; obj* x_59; +x_58 = lean::box(3); +x_59 = l_lean_parser_syntax_as__node___main(x_58); +if (lean::obj_tag(x_59) == 0) +{ +obj* x_60; +x_60 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__2; +x_56 = x_60; +goto lbl_57; +} +else +{ +obj* x_61; obj* x_63; obj* x_64; +x_61 = lean::cnstr_get(x_59, 0); +if (lean::is_exclusive(x_59)) { + lean::cnstr_set(x_59, 0, lean::box(0)); + x_63 = x_59; +} else { + lean::inc(x_61); + lean::dec(x_59); + x_63 = lean::box(0); +} +x_64 = lean::cnstr_get(x_61, 1); +lean::inc(x_64); +lean::dec(x_61); +if (lean::obj_tag(x_64) == 0) +{ +obj* x_68; +lean::dec(x_63); +x_68 = lean::box(0); +x_56 = x_68; +goto lbl_57; +} +else { obj* x_69; +x_69 = lean::cnstr_get(x_64, 1); +lean::inc(x_69); +if (lean::obj_tag(x_69) == 0) +{ +obj* x_71; obj* x_74; obj* x_75; obj* x_78; obj* x_79; +x_71 = lean::cnstr_get(x_64, 0); +lean::inc(x_71); lean::dec(x_64); -x_69 = lean::box(0); -x_58 = x_69; -goto lbl_59; -} -else -{ -obj* x_70; -x_70 = lean::cnstr_get(x_65, 1); -lean::inc(x_70); -if (lean::obj_tag(x_70) == 0) -{ -obj* x_72; obj* x_75; obj* x_76; obj* x_79; obj* x_80; -x_72 = lean::cnstr_get(x_65, 0); -lean::inc(x_72); -lean::dec(x_65); -x_75 = l_lean_parser_command_open__spec_only_has__view; -x_76 = lean::cnstr_get(x_75, 0); -lean::inc(x_76); -lean::dec(x_75); -x_79 = lean::apply_1(x_76, x_72); -if (lean::is_scalar(x_64)) { - x_80 = lean::alloc_cnstr(1, 1, 0); +x_74 = l_lean_parser_command_open__spec_renaming_has__view; +x_75 = lean::cnstr_get(x_74, 0); +lean::inc(x_75); +lean::dec(x_74); +x_78 = lean::apply_1(x_75, x_71); +if (lean::is_scalar(x_63)) { + x_79 = lean::alloc_cnstr(1, 1, 0); } else { - x_80 = x_64; + x_79 = x_63; } -lean::cnstr_set(x_80, 0, x_79); -x_58 = x_80; -goto lbl_59; +lean::cnstr_set(x_79, 0, x_78); +x_56 = x_79; +goto lbl_57; } else { -obj* x_84; -lean::dec(x_65); +obj* x_83; lean::dec(x_64); -lean::dec(x_70); -x_84 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__3; -x_58 = x_84; -goto lbl_59; +lean::dec(x_69); +lean::dec(x_63); +x_83 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__2; +x_56 = x_83; +goto lbl_57; } } } -lbl_59: +lbl_57: { -obj* x_85; obj* x_87; obj* x_88; obj* x_90; obj* x_91; -if (lean::obj_tag(x_49) == 0) +obj* x_84; obj* x_85; +x_84 = lean::box(3); +x_85 = l_lean_parser_syntax_as__node___main(x_84); +if (lean::obj_tag(x_85) == 0) { -obj* x_93; -x_93 = lean::box(3); -x_90 = x_49; -x_91 = x_93; -goto lbl_92; +obj* x_86; obj* x_87; obj* x_88; +x_86 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_87 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__1; +x_88 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_88, 0, x_86); +lean::cnstr_set(x_88, 1, x_0); +lean::cnstr_set(x_88, 2, x_28); +lean::cnstr_set(x_88, 3, x_56); +lean::cnstr_set(x_88, 4, x_87); +return x_88; } else { -obj* x_94; obj* x_96; -x_94 = lean::cnstr_get(x_49, 0); -lean::inc(x_94); -x_96 = lean::cnstr_get(x_49, 1); -lean::inc(x_96); -lean::dec(x_49); -x_90 = x_96; -x_91 = x_94; -goto lbl_92; -} -lbl_86: -{ -obj* x_99; obj* x_100; -x_99 = lean::box(3); -x_100 = l_lean_parser_syntax_as__node___main(x_99); -if (lean::obj_tag(x_100) == 0) -{ -obj* x_101; obj* x_102; -x_101 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__1; -x_102 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_102, 0, x_5); -lean::cnstr_set(x_102, 1, x_22); -lean::cnstr_set(x_102, 2, x_58); -lean::cnstr_set(x_102, 3, x_85); -lean::cnstr_set(x_102, 4, x_101); -return x_102; -} -else -{ -obj* x_103; obj* x_105; obj* x_106; -x_103 = lean::cnstr_get(x_100, 0); -if (lean::is_exclusive(x_100)) { - lean::cnstr_set(x_100, 0, lean::box(0)); - x_105 = x_100; +obj* x_89; obj* x_91; obj* x_92; +x_89 = lean::cnstr_get(x_85, 0); +if (lean::is_exclusive(x_85)) { + lean::cnstr_set(x_85, 0, lean::box(0)); + x_91 = x_85; } else { - lean::inc(x_103); - lean::dec(x_100); - x_105 = lean::box(0); + lean::inc(x_89); + lean::dec(x_85); + x_91 = lean::box(0); } -x_106 = lean::cnstr_get(x_103, 1); -lean::inc(x_106); -lean::dec(x_103); -if (lean::obj_tag(x_106) == 0) +x_92 = lean::cnstr_get(x_89, 1); +lean::inc(x_92); +lean::dec(x_89); +if (lean::obj_tag(x_92) == 0) { -obj* x_110; obj* x_111; -lean::dec(x_105); -x_110 = lean::box(0); +obj* x_96; obj* x_97; obj* x_98; +lean::dec(x_91); +x_96 = lean::box(0); +x_97 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_98 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_98, 0, x_97); +lean::cnstr_set(x_98, 1, x_0); +lean::cnstr_set(x_98, 2, x_28); +lean::cnstr_set(x_98, 3, x_56); +lean::cnstr_set(x_98, 4, x_96); +return x_98; +} +else +{ +obj* x_99; +x_99 = lean::cnstr_get(x_92, 1); +lean::inc(x_99); +if (lean::obj_tag(x_99) == 0) +{ +obj* x_101; obj* x_104; obj* x_105; obj* x_108; obj* x_109; obj* x_110; obj* x_111; +x_101 = lean::cnstr_get(x_92, 0); +lean::inc(x_101); +lean::dec(x_92); +x_104 = l_lean_parser_command_open__spec_hiding_has__view; +x_105 = lean::cnstr_get(x_104, 0); +lean::inc(x_105); +lean::dec(x_104); +x_108 = lean::apply_1(x_105, x_101); +if (lean::is_scalar(x_91)) { + x_109 = lean::alloc_cnstr(1, 1, 0); +} else { + x_109 = x_91; +} +lean::cnstr_set(x_109, 0, x_108); +x_110 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; x_111 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_111, 0, x_5); -lean::cnstr_set(x_111, 1, x_22); -lean::cnstr_set(x_111, 2, x_58); -lean::cnstr_set(x_111, 3, x_85); -lean::cnstr_set(x_111, 4, x_110); +lean::cnstr_set(x_111, 0, x_110); +lean::cnstr_set(x_111, 1, x_0); +lean::cnstr_set(x_111, 2, x_28); +lean::cnstr_set(x_111, 3, x_56); +lean::cnstr_set(x_111, 4, x_109); return x_111; } else { -obj* x_112; -x_112 = lean::cnstr_get(x_106, 1); -lean::inc(x_112); -if (lean::obj_tag(x_112) == 0) -{ -obj* x_114; obj* x_117; obj* x_118; obj* x_121; obj* x_122; obj* x_123; -x_114 = lean::cnstr_get(x_106, 0); -lean::inc(x_114); -lean::dec(x_106); -x_117 = l_lean_parser_command_open__spec_hiding_has__view; -x_118 = lean::cnstr_get(x_117, 0); -lean::inc(x_118); -lean::dec(x_117); -x_121 = lean::apply_1(x_118, x_114); -if (lean::is_scalar(x_105)) { - x_122 = lean::alloc_cnstr(1, 1, 0); -} else { - x_122 = x_105; -} -lean::cnstr_set(x_122, 0, x_121); -x_123 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_123, 0, x_5); -lean::cnstr_set(x_123, 1, x_22); -lean::cnstr_set(x_123, 2, x_58); -lean::cnstr_set(x_123, 3, x_85); -lean::cnstr_set(x_123, 4, x_122); -return x_123; -} -else -{ -obj* x_127; obj* x_128; -lean::dec(x_112); -lean::dec(x_105); -lean::dec(x_106); -x_127 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__1; -x_128 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_128, 0, x_5); -lean::cnstr_set(x_128, 1, x_22); -lean::cnstr_set(x_128, 2, x_58); -lean::cnstr_set(x_128, 3, x_85); -lean::cnstr_set(x_128, 4, x_127); -return x_128; -} -} -} -} -lbl_89: -{ -obj* x_129; -x_129 = l_lean_parser_syntax_as__node___main(x_88); -if (lean::obj_tag(x_129) == 0) -{ -obj* x_130; obj* x_131; -x_130 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__1; -x_131 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_131, 0, x_5); -lean::cnstr_set(x_131, 1, x_22); -lean::cnstr_set(x_131, 2, x_58); -lean::cnstr_set(x_131, 3, x_87); -lean::cnstr_set(x_131, 4, x_130); -return x_131; -} -else -{ -obj* x_132; obj* x_134; obj* x_135; -x_132 = lean::cnstr_get(x_129, 0); -if (lean::is_exclusive(x_129)) { - lean::cnstr_set(x_129, 0, lean::box(0)); - x_134 = x_129; -} else { - lean::inc(x_132); - lean::dec(x_129); - x_134 = lean::box(0); -} -x_135 = lean::cnstr_get(x_132, 1); -lean::inc(x_135); -lean::dec(x_132); -if (lean::obj_tag(x_135) == 0) -{ -obj* x_139; obj* x_140; -lean::dec(x_134); -x_139 = lean::box(0); -x_140 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_140, 0, x_5); -lean::cnstr_set(x_140, 1, x_22); -lean::cnstr_set(x_140, 2, x_58); -lean::cnstr_set(x_140, 3, x_87); -lean::cnstr_set(x_140, 4, x_139); -return x_140; -} -else -{ -obj* x_141; -x_141 = lean::cnstr_get(x_135, 1); -lean::inc(x_141); -if (lean::obj_tag(x_141) == 0) -{ -obj* x_143; obj* x_146; obj* x_147; obj* x_150; obj* x_151; obj* x_152; -x_143 = lean::cnstr_get(x_135, 0); -lean::inc(x_143); -lean::dec(x_135); -x_146 = l_lean_parser_command_open__spec_hiding_has__view; -x_147 = lean::cnstr_get(x_146, 0); -lean::inc(x_147); -lean::dec(x_146); -x_150 = lean::apply_1(x_147, x_143); -if (lean::is_scalar(x_134)) { - x_151 = lean::alloc_cnstr(1, 1, 0); -} else { - x_151 = x_134; -} -lean::cnstr_set(x_151, 0, x_150); -x_152 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_152, 0, x_5); -lean::cnstr_set(x_152, 1, x_22); -lean::cnstr_set(x_152, 2, x_58); -lean::cnstr_set(x_152, 3, x_87); -lean::cnstr_set(x_152, 4, x_151); -return x_152; -} -else -{ -obj* x_156; obj* x_157; -lean::dec(x_141); -lean::dec(x_135); -lean::dec(x_134); -x_156 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__1; -x_157 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_157, 0, x_5); -lean::cnstr_set(x_157, 1, x_22); -lean::cnstr_set(x_157, 2, x_58); -lean::cnstr_set(x_157, 3, x_87); -lean::cnstr_set(x_157, 4, x_156); -return x_157; -} -} -} -} -lbl_92: -{ -obj* x_158; -x_158 = l_lean_parser_syntax_as__node___main(x_91); -if (lean::obj_tag(x_158) == 0) -{ -if (lean::obj_tag(x_90) == 0) -{ -obj* x_159; -x_159 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__2; -x_85 = x_159; -goto lbl_86; -} -else -{ -obj* x_160; obj* x_163; -x_160 = lean::cnstr_get(x_90, 0); -lean::inc(x_160); -lean::dec(x_90); -x_163 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__2; -x_87 = x_163; -x_88 = x_160; -goto lbl_89; -} -} -else -{ -obj* x_164; obj* x_166; obj* x_167; -x_164 = lean::cnstr_get(x_158, 0); -if (lean::is_exclusive(x_158)) { - lean::cnstr_set(x_158, 0, lean::box(0)); - x_166 = x_158; -} else { - lean::inc(x_164); - lean::dec(x_158); - x_166 = lean::box(0); -} -x_167 = lean::cnstr_get(x_164, 1); -lean::inc(x_167); -lean::dec(x_164); -if (lean::obj_tag(x_167) == 0) -{ -obj* x_171; -lean::dec(x_166); -x_171 = lean::box(0); -if (lean::obj_tag(x_90) == 0) -{ -x_85 = x_171; -goto lbl_86; -} -else -{ -obj* x_172; -x_172 = lean::cnstr_get(x_90, 0); -lean::inc(x_172); -lean::dec(x_90); -x_87 = x_171; -x_88 = x_172; -goto lbl_89; -} -} -else -{ -obj* x_175; -x_175 = lean::cnstr_get(x_167, 1); -lean::inc(x_175); -if (lean::obj_tag(x_175) == 0) -{ -obj* x_177; obj* x_180; obj* x_181; obj* x_184; obj* x_185; -x_177 = lean::cnstr_get(x_167, 0); -lean::inc(x_177); -lean::dec(x_167); -x_180 = l_lean_parser_command_open__spec_renaming_has__view; -x_181 = lean::cnstr_get(x_180, 0); -lean::inc(x_181); -lean::dec(x_180); -x_184 = lean::apply_1(x_181, x_177); -if (lean::is_scalar(x_166)) { - x_185 = lean::alloc_cnstr(1, 1, 0); -} else { - x_185 = x_166; -} -lean::cnstr_set(x_185, 0, x_184); -if (lean::obj_tag(x_90) == 0) -{ -x_85 = x_185; -goto lbl_86; -} -else -{ -obj* x_186; -x_186 = lean::cnstr_get(x_90, 0); -lean::inc(x_186); -lean::dec(x_90); -x_87 = x_185; -x_88 = x_186; -goto lbl_89; -} -} -else -{ -lean::dec(x_175); -lean::dec(x_166); -lean::dec(x_167); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_192; -x_192 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__2; -x_85 = x_192; -goto lbl_86; -} -else -{ -obj* x_193; obj* x_196; -x_193 = lean::cnstr_get(x_90, 0); -lean::inc(x_193); -lean::dec(x_90); -x_196 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__2; -x_87 = x_196; -x_88 = x_193; -goto lbl_89; -} -} -} -} -} +obj* x_115; obj* x_116; obj* x_117; +lean::dec(x_99); +lean::dec(x_92); +lean::dec(x_91); +x_115 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_116 = l_lean_parser_command_open__spec_has__view_x_27___lambda__1___closed__1; +x_117 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_117, 0, x_115); +lean::cnstr_set(x_117, 1, x_0); +lean::cnstr_set(x_117, 2, x_28); +lean::cnstr_set(x_117, 3, x_56); +lean::cnstr_set(x_117, 4, x_116); +return x_117; } } } @@ -6307,240 +5125,229 @@ return x_1; obj* _init_l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; -x_14 = l_list_map___main___rarg(x_13, x_10); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; +x_12 = l_list_map___main___rarg(x_11, x_8); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } } obj* l_lean_parser_command_open_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_3; obj* x_4; obj* x_6; -x_6 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_6) == 0) +obj* x_1; obj* x_2; obj* x_4; +x_4 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_4) == 0) { -obj* x_7; -x_7 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; -return x_7; +obj* x_5; +x_5 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; +return x_5; } else { -obj* x_8; obj* x_10; obj* x_11; -x_8 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_10 = x_6; +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; } else { - lean::inc(x_8); - lean::dec(x_6); - x_10 = lean::box(0); + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ lean::dec(x_8); -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_9) == 0) { -lean::dec(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_15; -x_15 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; -return x_15; +obj* x_13; +x_13 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; +return x_13; } else { -obj* x_16; obj* x_19; -x_16 = lean::cnstr_get(x_11, 0); -lean::inc(x_16); -lean::dec(x_11); -x_19 = lean::box(0); -x_3 = x_19; -x_4 = x_16; -goto lbl_5; +obj* x_14; obj* x_17; +x_14 = lean::cnstr_get(x_9, 0); +lean::inc(x_14); +lean::dec(x_9); +x_17 = lean::box(0); +x_1 = x_17; +x_2 = x_14; +goto lbl_3; } } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 0); -lean::inc(x_20); -switch (lean::obj_tag(x_20)) { +obj* x_18; +x_18 = lean::cnstr_get(x_9, 0); +lean::inc(x_18); +switch (lean::obj_tag(x_18)) { case 0: { -obj* x_22; obj* x_25; obj* x_28; -x_22 = lean::cnstr_get(x_11, 1); -lean::inc(x_22); -lean::dec(x_11); -x_25 = lean::cnstr_get(x_20, 0); -lean::inc(x_25); -lean::dec(x_20); -if (lean::is_scalar(x_10)) { - x_28 = lean::alloc_cnstr(1, 1, 0); +obj* x_20; obj* x_23; obj* x_26; +x_20 = lean::cnstr_get(x_9, 1); +lean::inc(x_20); +lean::dec(x_9); +x_23 = lean::cnstr_get(x_18, 0); +lean::inc(x_23); +lean::dec(x_18); +if (lean::is_scalar(x_8)) { + x_26 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_10; + x_26 = x_8; } -lean::cnstr_set(x_28, 0, x_25); -if (lean::obj_tag(x_22) == 0) +lean::cnstr_set(x_26, 0, x_23); +if (lean::obj_tag(x_20) == 0) { -x_1 = x_28; -goto lbl_2; +obj* x_27; obj* x_28; +x_27 = lean::box(3); +x_28 = l_lean_parser_syntax_as__node___main(x_27); +if (lean::obj_tag(x_28) == 0) +{ +obj* x_29; obj* x_30; +x_29 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; +x_30 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_30, 0, x_26); +lean::cnstr_set(x_30, 1, x_29); +return x_30; } else { -obj* x_29; -x_29 = lean::cnstr_get(x_22, 0); -lean::inc(x_29); -lean::dec(x_22); -x_3 = x_28; -x_4 = x_29; -goto lbl_5; +obj* x_31; obj* x_34; obj* x_37; obj* x_38; obj* x_39; +x_31 = lean::cnstr_get(x_28, 0); +lean::inc(x_31); +lean::dec(x_28); +x_34 = lean::cnstr_get(x_31, 1); +lean::inc(x_34); +lean::dec(x_31); +x_37 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; +x_38 = l_list_map___main___rarg(x_37, x_34); +x_39 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_39, 0, x_26); +lean::cnstr_set(x_39, 1, x_38); +return x_39; +} +} +else +{ +obj* x_40; +x_40 = lean::cnstr_get(x_20, 0); +lean::inc(x_40); +lean::dec(x_20); +x_1 = x_26; +x_2 = x_40; +goto lbl_3; } } case 3: { -obj* x_33; -lean::dec(x_10); -x_33 = lean::cnstr_get(x_11, 1); -lean::inc(x_33); -lean::dec(x_11); -if (lean::obj_tag(x_33) == 0) +obj* x_44; +lean::dec(x_8); +x_44 = lean::cnstr_get(x_9, 1); +lean::inc(x_44); +lean::dec(x_9); +if (lean::obj_tag(x_44) == 0) { -obj* x_36; -x_36 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; -return x_36; +obj* x_47; +x_47 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; +return x_47; } else { -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_33, 0); -lean::inc(x_37); -lean::dec(x_33); -x_40 = lean::box(0); -x_3 = x_40; -x_4 = x_37; -goto lbl_5; +obj* x_48; obj* x_51; +x_48 = lean::cnstr_get(x_44, 0); +lean::inc(x_48); +lean::dec(x_44); +x_51 = lean::box(0); +x_1 = x_51; +x_2 = x_48; +goto lbl_3; } } default: { -obj* x_43; -lean::dec(x_10); -lean::dec(x_20); -x_43 = lean::cnstr_get(x_11, 1); -lean::inc(x_43); -lean::dec(x_11); -if (lean::obj_tag(x_43) == 0) +obj* x_54; +lean::dec(x_8); +lean::dec(x_18); +x_54 = lean::cnstr_get(x_9, 1); +lean::inc(x_54); +lean::dec(x_9); +if (lean::obj_tag(x_54) == 0) { -obj* x_46; -x_46 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; -return x_46; +obj* x_57; +x_57 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__3; +return x_57; } else { -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_43, 0); -lean::inc(x_47); -lean::dec(x_43); -x_50 = lean::box(0); -x_3 = x_50; -x_4 = x_47; -goto lbl_5; -} -} -} -} -} -lbl_2: -{ -obj* x_51; obj* x_52; -x_51 = lean::box(3); -x_52 = l_lean_parser_syntax_as__node___main(x_51); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_53; obj* x_54; -x_53 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_1); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -else -{ -obj* x_55; obj* x_58; obj* x_61; obj* x_62; obj* x_63; -x_55 = lean::cnstr_get(x_52, 0); -lean::inc(x_55); -lean::dec(x_52); -x_58 = lean::cnstr_get(x_55, 1); +obj* x_58; obj* x_61; +x_58 = lean::cnstr_get(x_54, 0); lean::inc(x_58); -lean::dec(x_55); -x_61 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; -x_62 = l_list_map___main___rarg(x_61, x_58); -x_63 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_63, 0, x_1); -lean::cnstr_set(x_63, 1, x_62); -return x_63; +lean::dec(x_54); +x_61 = lean::box(0); +x_1 = x_61; +x_2 = x_58; +goto lbl_3; } } -lbl_5: +} +} +} +lbl_3: { -obj* x_64; -x_64 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_64) == 0) +obj* x_62; +x_62 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_62) == 0) { -obj* x_65; obj* x_66; -x_65 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_3); -lean::cnstr_set(x_66, 1, x_65); -return x_66; +obj* x_63; obj* x_64; +x_63 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; +x_64 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_64, 0, x_1); +lean::cnstr_set(x_64, 1, x_63); +return x_64; } else { -obj* x_67; obj* x_70; obj* x_73; obj* x_74; obj* x_75; -x_67 = lean::cnstr_get(x_64, 0); -lean::inc(x_67); -lean::dec(x_64); -x_70 = lean::cnstr_get(x_67, 1); -lean::inc(x_70); -lean::dec(x_67); -x_73 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; -x_74 = l_list_map___main___rarg(x_73, x_70); -x_75 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_75, 0, x_3); -lean::cnstr_set(x_75, 1, x_74); -return x_75; +obj* x_65; obj* x_68; obj* x_71; obj* x_72; obj* x_73; +x_65 = lean::cnstr_get(x_62, 0); +lean::inc(x_65); +lean::dec(x_62); +x_68 = lean::cnstr_get(x_65, 1); +lean::inc(x_68); +lean::dec(x_65); +x_71 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; +x_72 = l_list_map___main___rarg(x_71, x_68); +x_73 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_73, 0, x_1); +lean::cnstr_set(x_73, 1, x_72); +return x_73; } } } @@ -6709,240 +5516,229 @@ return x_8; obj* _init_l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; -x_14 = l_list_map___main___rarg(x_13, x_10); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; +x_12 = l_list_map___main___rarg(x_11, x_8); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } } obj* l_lean_parser_command_export_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_3; obj* x_4; obj* x_6; -x_6 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_6) == 0) +obj* x_1; obj* x_2; obj* x_4; +x_4 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_4) == 0) { -obj* x_7; -x_7 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; -return x_7; +obj* x_5; +x_5 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; +return x_5; } else { -obj* x_8; obj* x_10; obj* x_11; -x_8 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_10 = x_6; +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; } else { - lean::inc(x_8); - lean::dec(x_6); - x_10 = lean::box(0); + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ lean::dec(x_8); -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_9) == 0) { -lean::dec(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_15; -x_15 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; -return x_15; +obj* x_13; +x_13 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; +return x_13; } else { -obj* x_16; obj* x_19; -x_16 = lean::cnstr_get(x_11, 0); -lean::inc(x_16); -lean::dec(x_11); -x_19 = lean::box(0); -x_3 = x_19; -x_4 = x_16; -goto lbl_5; +obj* x_14; obj* x_17; +x_14 = lean::cnstr_get(x_9, 0); +lean::inc(x_14); +lean::dec(x_9); +x_17 = lean::box(0); +x_1 = x_17; +x_2 = x_14; +goto lbl_3; } } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 0); -lean::inc(x_20); -switch (lean::obj_tag(x_20)) { +obj* x_18; +x_18 = lean::cnstr_get(x_9, 0); +lean::inc(x_18); +switch (lean::obj_tag(x_18)) { case 0: { -obj* x_22; obj* x_25; obj* x_28; -x_22 = lean::cnstr_get(x_11, 1); -lean::inc(x_22); -lean::dec(x_11); -x_25 = lean::cnstr_get(x_20, 0); -lean::inc(x_25); -lean::dec(x_20); -if (lean::is_scalar(x_10)) { - x_28 = lean::alloc_cnstr(1, 1, 0); +obj* x_20; obj* x_23; obj* x_26; +x_20 = lean::cnstr_get(x_9, 1); +lean::inc(x_20); +lean::dec(x_9); +x_23 = lean::cnstr_get(x_18, 0); +lean::inc(x_23); +lean::dec(x_18); +if (lean::is_scalar(x_8)) { + x_26 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_10; + x_26 = x_8; } -lean::cnstr_set(x_28, 0, x_25); -if (lean::obj_tag(x_22) == 0) +lean::cnstr_set(x_26, 0, x_23); +if (lean::obj_tag(x_20) == 0) { -x_1 = x_28; -goto lbl_2; +obj* x_27; obj* x_28; +x_27 = lean::box(3); +x_28 = l_lean_parser_syntax_as__node___main(x_27); +if (lean::obj_tag(x_28) == 0) +{ +obj* x_29; obj* x_30; +x_29 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; +x_30 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_30, 0, x_26); +lean::cnstr_set(x_30, 1, x_29); +return x_30; } else { -obj* x_29; -x_29 = lean::cnstr_get(x_22, 0); -lean::inc(x_29); -lean::dec(x_22); -x_3 = x_28; -x_4 = x_29; -goto lbl_5; +obj* x_31; obj* x_34; obj* x_37; obj* x_38; obj* x_39; +x_31 = lean::cnstr_get(x_28, 0); +lean::inc(x_31); +lean::dec(x_28); +x_34 = lean::cnstr_get(x_31, 1); +lean::inc(x_34); +lean::dec(x_31); +x_37 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; +x_38 = l_list_map___main___rarg(x_37, x_34); +x_39 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_39, 0, x_26); +lean::cnstr_set(x_39, 1, x_38); +return x_39; +} +} +else +{ +obj* x_40; +x_40 = lean::cnstr_get(x_20, 0); +lean::inc(x_40); +lean::dec(x_20); +x_1 = x_26; +x_2 = x_40; +goto lbl_3; } } case 3: { -obj* x_33; -lean::dec(x_10); -x_33 = lean::cnstr_get(x_11, 1); -lean::inc(x_33); -lean::dec(x_11); -if (lean::obj_tag(x_33) == 0) +obj* x_44; +lean::dec(x_8); +x_44 = lean::cnstr_get(x_9, 1); +lean::inc(x_44); +lean::dec(x_9); +if (lean::obj_tag(x_44) == 0) { -obj* x_36; -x_36 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; -return x_36; +obj* x_47; +x_47 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; +return x_47; } else { -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_33, 0); -lean::inc(x_37); -lean::dec(x_33); -x_40 = lean::box(0); -x_3 = x_40; -x_4 = x_37; -goto lbl_5; +obj* x_48; obj* x_51; +x_48 = lean::cnstr_get(x_44, 0); +lean::inc(x_48); +lean::dec(x_44); +x_51 = lean::box(0); +x_1 = x_51; +x_2 = x_48; +goto lbl_3; } } default: { -obj* x_43; -lean::dec(x_10); -lean::dec(x_20); -x_43 = lean::cnstr_get(x_11, 1); -lean::inc(x_43); -lean::dec(x_11); -if (lean::obj_tag(x_43) == 0) +obj* x_54; +lean::dec(x_8); +lean::dec(x_18); +x_54 = lean::cnstr_get(x_9, 1); +lean::inc(x_54); +lean::dec(x_9); +if (lean::obj_tag(x_54) == 0) { -obj* x_46; -x_46 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; -return x_46; +obj* x_57; +x_57 = l_lean_parser_command_export_has__view_x_27___lambda__1___closed__1; +return x_57; } else { -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_43, 0); -lean::inc(x_47); -lean::dec(x_43); -x_50 = lean::box(0); -x_3 = x_50; -x_4 = x_47; -goto lbl_5; -} -} -} -} -} -lbl_2: -{ -obj* x_51; obj* x_52; -x_51 = lean::box(3); -x_52 = l_lean_parser_syntax_as__node___main(x_51); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_53; obj* x_54; -x_53 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_1); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -else -{ -obj* x_55; obj* x_58; obj* x_61; obj* x_62; obj* x_63; -x_55 = lean::cnstr_get(x_52, 0); -lean::inc(x_55); -lean::dec(x_52); -x_58 = lean::cnstr_get(x_55, 1); +obj* x_58; obj* x_61; +x_58 = lean::cnstr_get(x_54, 0); lean::inc(x_58); -lean::dec(x_55); -x_61 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; -x_62 = l_list_map___main___rarg(x_61, x_58); -x_63 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_63, 0, x_1); -lean::cnstr_set(x_63, 1, x_62); -return x_63; +lean::dec(x_54); +x_61 = lean::box(0); +x_1 = x_61; +x_2 = x_58; +goto lbl_3; } } -lbl_5: +} +} +} +lbl_3: { -obj* x_64; -x_64 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_64) == 0) +obj* x_62; +x_62 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_62) == 0) { -obj* x_65; obj* x_66; -x_65 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_3); -lean::cnstr_set(x_66, 1, x_65); -return x_66; +obj* x_63; obj* x_64; +x_63 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__1; +x_64 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_64, 0, x_1); +lean::cnstr_set(x_64, 1, x_63); +return x_64; } else { -obj* x_67; obj* x_70; obj* x_73; obj* x_74; obj* x_75; -x_67 = lean::cnstr_get(x_64, 0); -lean::inc(x_67); -lean::dec(x_64); -x_70 = lean::cnstr_get(x_67, 1); -lean::inc(x_70); -lean::dec(x_67); -x_73 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; -x_74 = l_list_map___main___rarg(x_73, x_70); -x_75 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_75, 0, x_3); -lean::cnstr_set(x_75, 1, x_74); -return x_75; +obj* x_65; obj* x_68; obj* x_71; obj* x_72; obj* x_73; +x_65 = lean::cnstr_get(x_62, 0); +lean::inc(x_65); +lean::dec(x_62); +x_68 = lean::cnstr_get(x_65, 1); +lean::inc(x_68); +lean::dec(x_65); +x_71 = l_lean_parser_command_open_has__view_x_27___lambda__1___closed__2; +x_72 = l_list_map___main___rarg(x_71, x_68); +x_73 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_73, 0, x_1); +lean::cnstr_set(x_73, 1, x_72); +return x_73; } } } @@ -7100,166 +5896,106 @@ return x_8; obj* _init_l_lean_parser_command_section_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_14 = x_16; -goto lbl_15; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -lean::dec(x_0); -x_14 = x_17; -goto lbl_15; +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_5); + lean::dec(x_2); + x_7 = lean::box(0); } -lbl_15: +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_20; -x_20 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_20) == 0) +obj* x_12; +lean::dec(x_7); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +return x_12; +} +else { -obj* x_21; obj* x_22; -x_21 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_15; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +switch (lean::obj_tag(x_15)) { +case 1: +{ +obj* x_18; obj* x_21; obj* x_22; +x_18 = lean::cnstr_get(x_15, 0); +lean::inc(x_18); +lean::dec(x_15); +if (lean::is_scalar(x_7)) { + x_21 = lean::alloc_cnstr(1, 1, 0); +} else { + x_21 = x_7; +} +lean::cnstr_set(x_21, 0, x_18); x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); +lean::cnstr_set(x_22, 0, x_0); lean::cnstr_set(x_22, 1, x_21); return x_22; } -else -{ -obj* x_23; obj* x_25; obj* x_26; -x_23 = lean::cnstr_get(x_20, 0); -if (lean::is_exclusive(x_20)) { - lean::cnstr_set(x_20, 0, lean::box(0)); - x_25 = x_20; -} else { - lean::inc(x_23); - lean::dec(x_20); - x_25 = lean::box(0); -} -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -if (lean::obj_tag(x_26) == 0) -{ -obj* x_30; obj* x_31; -lean::dec(x_25); -x_30 = lean::box(0); -x_31 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_31, 0, x_5); -lean::cnstr_set(x_31, 1, x_30); -return x_31; -} -else -{ -obj* x_32; -x_32 = lean::cnstr_get(x_26, 1); -lean::inc(x_32); -if (lean::obj_tag(x_32) == 0) -{ -obj* x_34; -x_34 = lean::cnstr_get(x_26, 0); -lean::inc(x_34); -lean::dec(x_26); -switch (lean::obj_tag(x_34)) { -case 1: -{ -obj* x_37; obj* x_40; obj* x_41; -x_37 = lean::cnstr_get(x_34, 0); -lean::inc(x_37); -lean::dec(x_34); -if (lean::is_scalar(x_25)) { - x_40 = lean::alloc_cnstr(1, 1, 0); -} else { - x_40 = x_25; -} -lean::cnstr_set(x_40, 0, x_37); -x_41 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_40); -return x_41; -} case 3: { -obj* x_43; obj* x_44; -lean::dec(x_25); -x_43 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; -x_44 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_43); -return x_44; +obj* x_24; obj* x_25; +lean::dec(x_7); +x_24 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_25 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_25, 0, x_0); +lean::cnstr_set(x_25, 1, x_24); +return x_25; } default: { -obj* x_47; obj* x_48; -lean::dec(x_25); -lean::dec(x_34); -x_47 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; -x_48 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_48, 0, x_5); -lean::cnstr_set(x_48, 1, x_47); -return x_48; +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_15); +x_28 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_29 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_29, 0, x_0); +lean::cnstr_set(x_29, 1, x_28); +return x_29; } } } else { -obj* x_52; obj* x_53; -lean::dec(x_32); -lean::dec(x_25); -lean::dec(x_26); -x_52 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; -x_53 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_52); -return x_53; -} -} -} +obj* x_33; obj* x_34; +lean::dec(x_7); +lean::dec(x_8); +lean::dec(x_13); +x_33 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_34 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_34, 0, x_0); +lean::cnstr_set(x_34, 1, x_33); +return x_34; } } } @@ -7363,7 +6099,7 @@ x_33 = l_lean_parser_syntax_as__node___main(x_27); if (lean::obj_tag(x_33) == 0) { obj* x_34; obj* x_35; -x_34 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +x_34 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; x_35 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_35, 0, x_18); lean::cnstr_set(x_35, 1, x_34); @@ -7452,7 +6188,7 @@ obj* x_65; obj* x_66; lean::dec(x_39); lean::dec(x_45); lean::dec(x_38); -x_65 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +x_65 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; x_66 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_66, 0, x_18); lean::cnstr_set(x_66, 1, x_65); @@ -7685,95 +6421,13 @@ return x_8; obj* _init_l_lean_parser_command_namespace_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_14; obj* x_15; -x_14 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_5); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -switch (lean::obj_tag(x_16)) { -case 1: -{ -obj* x_19; obj* x_22; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); -lean::cnstr_set(x_22, 1, x_19); -return x_22; -} -case 3: -{ -obj* x_23; obj* x_24; -x_23 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_24 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_24, 0, x_5); -lean::cnstr_set(x_24, 1, x_23); -return x_24; -} -default: -{ -obj* x_26; obj* x_27; -lean::dec(x_16); -x_26 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_5); -lean::cnstr_set(x_27, 1, x_26); -return x_27; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +return x_2; } } obj* l_lean_parser_command_namespace_has__view_x_27___lambda__1(obj* x_0) { @@ -8082,104 +6736,9 @@ return x_7; obj* _init_l_lean_parser_command_variable_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_5; obj* x_8; -x_5 = lean::cnstr_get(x_1, 0); -lean::inc(x_5); -lean::dec(x_1); -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_9; obj* x_10; -x_9 = l_lean_parser_command_variable_has__view_x_27___lambda__1___closed__1; -x_10 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_9); -return x_10; -} -else -{ -obj* x_11; obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = l_lean_parser_term_binder_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_11); -x_19 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_19, 0, x_8); -lean::cnstr_set(x_19, 1, x_18); -return x_19; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = l_lean_parser_command_variable_has__view_x_27___lambda__1___closed__2; -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_29; obj* x_30; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -lean::dec(x_0); -x_24 = lean::box(0); -x_25 = l_lean_parser_term_binder_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_21); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_24); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_32; -x_32 = l_lean_parser_command_variable_has__view_x_27___lambda__1___closed__2; -return x_32; -} -else -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_41; obj* x_42; -x_33 = lean::cnstr_get(x_0, 0); -lean::inc(x_33); -lean::dec(x_0); -x_36 = lean::box(0); -x_37 = l_lean_parser_term_binder_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_33); -x_42 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_42, 0, x_36); -lean::cnstr_set(x_42, 1, x_41); -return x_42; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_variable_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* l_lean_parser_command_variable_has__view_x_27___lambda__1(obj* x_0) { @@ -8492,104 +7051,9 @@ return x_7; obj* _init_l_lean_parser_command_variables_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_5; obj* x_8; -x_5 = lean::cnstr_get(x_1, 0); -lean::inc(x_5); -lean::dec(x_1); -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_9; obj* x_10; -x_9 = l_lean_parser_command_decl__sig_has__view_x_27___lambda__1___closed__2; -x_10 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_9); -return x_10; -} -else -{ -obj* x_11; obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = l_lean_parser_term_bracketed__binders_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_11); -x_19 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_19, 0, x_8); -lean::cnstr_set(x_19, 1, x_18); -return x_19; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = l_lean_parser_command_variables_has__view_x_27___lambda__1___closed__1; -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_29; obj* x_30; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -lean::dec(x_0); -x_24 = lean::box(0); -x_25 = l_lean_parser_term_bracketed__binders_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_21); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_24); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_32; -x_32 = l_lean_parser_command_variables_has__view_x_27___lambda__1___closed__1; -return x_32; -} -else -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_41; obj* x_42; -x_33 = lean::cnstr_get(x_0, 0); -lean::inc(x_33); -lean::dec(x_0); -x_36 = lean::box(0); -x_37 = l_lean_parser_term_bracketed__binders_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_33); -x_42 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_42, 0, x_36); -lean::cnstr_set(x_42, 1, x_41); -return x_42; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_variables_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_command_variables_has__view_x_27___lambda__1(obj* x_0) { @@ -8993,92 +7457,33 @@ return x_9; obj* _init_l_lean_parser_command_include_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_14 = x_16; -goto lbl_15; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -lean::dec(x_0); -x_14 = x_17; -goto lbl_15; -} -lbl_15: -{ -obj* x_20; -x_20 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_20) == 0) -{ -obj* x_21; obj* x_22; -x_21 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -else -{ -obj* x_23; obj* x_26; obj* x_29; obj* x_30; -x_23 = lean::cnstr_get(x_20, 0); -lean::inc(x_23); -lean::dec(x_20); -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -x_29 = l_list_map___main___at_lean_parser_command_include_has__view_x_27___spec__1(x_26); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_include_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } } } @@ -9469,92 +7874,33 @@ return x_9; obj* _init_l_lean_parser_command_omit_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_14 = x_16; -goto lbl_15; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -lean::dec(x_0); -x_14 = x_17; -goto lbl_15; -} -lbl_15: -{ -obj* x_20; -x_20 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_20) == 0) -{ -obj* x_21; obj* x_22; -x_21 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -else -{ -obj* x_23; obj* x_26; obj* x_29; obj* x_30; -x_23 = lean::cnstr_get(x_20, 0); -lean::inc(x_23); -lean::dec(x_20); -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -x_29 = l_list_map___main___at_lean_parser_command_omit_has__view_x_27___spec__1(x_26); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_omit_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } } } @@ -9837,166 +8183,106 @@ return x_8; obj* _init_l_lean_parser_command_end_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_14 = x_16; -goto lbl_15; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -lean::dec(x_0); -x_14 = x_17; -goto lbl_15; +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_5); + lean::dec(x_2); + x_7 = lean::box(0); } -lbl_15: +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_20; -x_20 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_20) == 0) +obj* x_12; +lean::dec(x_7); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +return x_12; +} +else { -obj* x_21; obj* x_22; -x_21 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_15; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +switch (lean::obj_tag(x_15)) { +case 1: +{ +obj* x_18; obj* x_21; obj* x_22; +x_18 = lean::cnstr_get(x_15, 0); +lean::inc(x_18); +lean::dec(x_15); +if (lean::is_scalar(x_7)) { + x_21 = lean::alloc_cnstr(1, 1, 0); +} else { + x_21 = x_7; +} +lean::cnstr_set(x_21, 0, x_18); x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); +lean::cnstr_set(x_22, 0, x_0); lean::cnstr_set(x_22, 1, x_21); return x_22; } -else -{ -obj* x_23; obj* x_25; obj* x_26; -x_23 = lean::cnstr_get(x_20, 0); -if (lean::is_exclusive(x_20)) { - lean::cnstr_set(x_20, 0, lean::box(0)); - x_25 = x_20; -} else { - lean::inc(x_23); - lean::dec(x_20); - x_25 = lean::box(0); -} -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -if (lean::obj_tag(x_26) == 0) -{ -obj* x_30; obj* x_31; -lean::dec(x_25); -x_30 = lean::box(0); -x_31 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_31, 0, x_5); -lean::cnstr_set(x_31, 1, x_30); -return x_31; -} -else -{ -obj* x_32; -x_32 = lean::cnstr_get(x_26, 1); -lean::inc(x_32); -if (lean::obj_tag(x_32) == 0) -{ -obj* x_34; -x_34 = lean::cnstr_get(x_26, 0); -lean::inc(x_34); -lean::dec(x_26); -switch (lean::obj_tag(x_34)) { -case 1: -{ -obj* x_37; obj* x_40; obj* x_41; -x_37 = lean::cnstr_get(x_34, 0); -lean::inc(x_37); -lean::dec(x_34); -if (lean::is_scalar(x_25)) { - x_40 = lean::alloc_cnstr(1, 1, 0); -} else { - x_40 = x_25; -} -lean::cnstr_set(x_40, 0, x_37); -x_41 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_40); -return x_41; -} case 3: { -obj* x_43; obj* x_44; -lean::dec(x_25); -x_43 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; -x_44 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_43); -return x_44; +obj* x_24; obj* x_25; +lean::dec(x_7); +x_24 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_25 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_25, 0, x_0); +lean::cnstr_set(x_25, 1, x_24); +return x_25; } default: { -obj* x_47; obj* x_48; -lean::dec(x_25); -lean::dec(x_34); -x_47 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; -x_48 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_48, 0, x_5); -lean::cnstr_set(x_48, 1, x_47); -return x_48; +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_15); +x_28 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_29 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_29, 0, x_0); +lean::cnstr_set(x_29, 1, x_28); +return x_29; } } } else { -obj* x_52; obj* x_53; -lean::dec(x_32); -lean::dec(x_25); -lean::dec(x_26); -x_52 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; -x_53 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_52); -return x_53; -} -} -} +obj* x_33; obj* x_34; +lean::dec(x_7); +lean::dec(x_8); +lean::dec(x_13); +x_33 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_34 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_34, 0, x_0); +lean::cnstr_set(x_34, 1, x_33); +return x_34; } } } @@ -10100,7 +8386,7 @@ x_33 = l_lean_parser_syntax_as__node___main(x_27); if (lean::obj_tag(x_33) == 0) { obj* x_34; obj* x_35; -x_34 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +x_34 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; x_35 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_35, 0, x_18); lean::cnstr_set(x_35, 1, x_34); @@ -10189,7 +8475,7 @@ obj* x_65; obj* x_66; lean::dec(x_39); lean::dec(x_45); lean::dec(x_38); -x_65 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +x_65 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; x_66 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_66, 0, x_18); lean::cnstr_set(x_66, 1, x_65); @@ -10530,92 +8816,33 @@ return x_9; obj* _init_l_lean_parser_command_universes_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_14 = x_16; -goto lbl_15; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -lean::dec(x_0); -x_14 = x_17; -goto lbl_15; -} -lbl_15: -{ -obj* x_20; -x_20 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_20) == 0) -{ -obj* x_21; obj* x_22; -x_21 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -else -{ -obj* x_23; obj* x_26; obj* x_29; obj* x_30; -x_23 = lean::cnstr_get(x_20, 0); -lean::inc(x_23); -lean::dec(x_20); -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -x_29 = l_list_map___main___at_lean_parser_command_universes_has__view_x_27___spec__1(x_26); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_universes_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } } } @@ -10840,95 +9067,13 @@ return x_8; obj* _init_l_lean_parser_command_universe_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_14; obj* x_15; -x_14 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_5); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -switch (lean::obj_tag(x_16)) { -case 1: -{ -obj* x_19; obj* x_22; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_5); -lean::cnstr_set(x_22, 1, x_19); -return x_22; -} -case 3: -{ -obj* x_23; obj* x_24; -x_23 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_24 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_24, 0, x_5); -lean::cnstr_set(x_24, 1, x_23); -return x_24; -} -default: -{ -obj* x_26; obj* x_27; -lean::dec(x_16); -x_26 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_5); -lean::cnstr_set(x_27, 1, x_26); -return x_27; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +return x_2; } } obj* l_lean_parser_command_universe_has__view_x_27___lambda__1(obj* x_0) { @@ -12134,6 +10279,29 @@ return x_9; obj* _init_l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__1() { _start: { +obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; +x_0 = lean::box(0); +x_1 = lean::box(0); +x_2 = lean::mk_string("NOT_AN_IDENT"); +lean::inc(x_2); +x_4 = l_lean_parser_substring_of__string(x_2); +x_5 = lean::box(0); +x_6 = lean_name_mk_string(x_5, x_2); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_0); +lean::cnstr_set(x_7, 1, x_4); +lean::cnstr_set(x_7, 2, x_6); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_1); +x_8 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_8, 0, x_7); +lean::cnstr_set(x_8, 1, x_1); +return x_8; +} +} +obj* _init_l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2() { +_start: +{ obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; x_0 = lean::mk_string(", "); x_1 = l_string_trim(x_0); @@ -12149,383 +10317,184 @@ lean::closure_set(x_6, 2, x_4); return x_6; } } -obj* _init_l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2() { +obj* _init_l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; -x_8 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_8; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_4; +goto lbl_1; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_7, 0); -if (lean::is_exclusive(x_7)) { - lean::cnstr_set(x_7, 0, lean::box(0)); - x_11 = x_7; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_3, 0); +if (lean::is_exclusive(x_3)) { + lean::cnstr_set(x_3, 0, lean::box(0)); + x_7 = x_3; } else { - lean::inc(x_9); - lean::dec(x_7); - x_11 = lean::box(0); + lean::inc(x_5); + lean::dec(x_3); + x_7 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_16; -lean::dec(x_11); -x_16 = lean::box(0); -x_5 = x_16; -goto lbl_6; +obj* x_12; +lean::dec(x_7); +x_12 = lean::box(0); +x_0 = x_12; +goto lbl_1; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_12, 1); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_19; -x_19 = lean::cnstr_get(x_12, 0); -lean::inc(x_19); -lean::dec(x_12); -switch (lean::obj_tag(x_19)) { +obj* x_15; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +switch (lean::obj_tag(x_15)) { case 0: { -obj* x_22; obj* x_25; obj* x_26; -x_22 = lean::cnstr_get(x_19, 0); -lean::inc(x_22); -lean::dec(x_19); -if (lean::is_scalar(x_11)) { - x_25 = lean::alloc_cnstr(1, 1, 0); +obj* x_18; obj* x_21; obj* x_22; +x_18 = lean::cnstr_get(x_15, 0); +lean::inc(x_18); +lean::dec(x_15); +if (lean::is_scalar(x_7)) { + x_21 = lean::alloc_cnstr(1, 1, 0); } else { - x_25 = x_11; + x_21 = x_7; } -lean::cnstr_set(x_25, 0, x_22); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_25); -x_5 = x_26; -goto lbl_6; +lean::cnstr_set(x_21, 0, x_18); +x_22 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_22, 0, x_21); +x_0 = x_22; +goto lbl_1; } case 3: { -obj* x_28; -lean::dec(x_11); -x_28 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_28; -goto lbl_6; +obj* x_24; +lean::dec(x_7); +x_24 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_24; +goto lbl_1; } default: { +obj* x_27; +lean::dec(x_7); +lean::dec(x_15); +x_27 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_27; +goto lbl_1; +} +} +} +else +{ obj* x_31; -lean::dec(x_19); -lean::dec(x_11); +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_7); x_31 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_31; -goto lbl_6; +x_0 = x_31; +goto lbl_1; } } } +lbl_1: +{ +obj* x_32; obj* x_33; obj* x_34; +x_32 = lean::box(0); +x_33 = lean::box(3); +x_34 = l_lean_parser_syntax_as__node___main(x_33); +if (lean::obj_tag(x_34) == 0) +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_35; obj* x_36; obj* x_37; +x_35 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; +x_36 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__1; +x_37 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_37, 0, x_0); +lean::cnstr_set(x_37, 1, x_32); +lean::cnstr_set(x_37, 2, x_32); +lean::cnstr_set(x_37, 3, x_35); +lean::cnstr_set(x_37, 4, x_32); +lean::cnstr_set(x_37, 5, x_36); +return x_37; +} +else +{ +obj* x_38; obj* x_41; obj* x_44; obj* x_45; obj* x_46; +x_38 = lean::cnstr_get(x_34, 0); +lean::inc(x_38); +lean::dec(x_34); +x_41 = lean::cnstr_get(x_38, 1); +lean::inc(x_41); +lean::dec(x_38); +x_44 = l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__1(x_41); +x_45 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; +x_46 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_46, 0, x_0); +lean::cnstr_set(x_46, 1, x_32); +lean::cnstr_set(x_46, 2, x_32); +lean::cnstr_set(x_46, 3, x_45); +lean::cnstr_set(x_46, 4, x_32); +lean::cnstr_set(x_46, 5, x_44); +return x_46; +} +} else { -obj* x_35; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_17); -x_35 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_35; -goto lbl_6; -} -} -} -lbl_6: -{ -obj* x_36; obj* x_37; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_39; -x_39 = lean::box(3); -x_36 = x_0; -x_37 = x_39; -goto lbl_38; -} -else -{ -obj* x_40; obj* x_42; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_0, 1); -lean::inc(x_42); -lean::dec(x_0); -x_36 = x_42; -x_37 = x_40; -goto lbl_38; -} -lbl_38: -{ -obj* x_45; -switch (lean::obj_tag(x_37)) { -case 0: -{ -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_37, 0); +obj* x_47; obj* x_49; obj* x_52; obj* x_53; obj* x_55; +x_47 = lean::cnstr_get(x_34, 0); lean::inc(x_47); -lean::dec(x_37); -x_50 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_50, 0, x_47); -x_45 = x_50; -goto lbl_46; -} -case 3: +x_49 = lean::cnstr_get(x_47, 1); +lean::inc(x_49); +lean::dec(x_47); +x_52 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__2; +x_53 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2; +lean::inc(x_49); +x_55 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_attribute_has__view_x_27___spec__2(x_52, x_53, x_49); +if (lean::obj_tag(x_34) == 0) { -obj* x_51; -x_51 = lean::box(0); -x_45 = x_51; -goto lbl_46; -} -default: -{ -obj* x_53; -lean::dec(x_37); -x_53 = lean::box(0); -x_45 = x_53; -goto lbl_46; -} -} -lbl_46: -{ -obj* x_54; obj* x_55; -if (lean::obj_tag(x_36) == 0) -{ -obj* x_57; -x_57 = lean::box(3); -x_54 = x_36; -x_55 = x_57; -goto lbl_56; +obj* x_57; obj* x_58; +lean::dec(x_49); +x_57 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_58 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_58, 0, x_0); +lean::cnstr_set(x_58, 1, x_32); +lean::cnstr_set(x_58, 2, x_32); +lean::cnstr_set(x_58, 3, x_55); +lean::cnstr_set(x_58, 4, x_32); +lean::cnstr_set(x_58, 5, x_57); +return x_58; } else { -obj* x_58; obj* x_60; -x_58 = lean::cnstr_get(x_36, 0); -lean::inc(x_58); -x_60 = lean::cnstr_get(x_36, 1); -lean::inc(x_60); -lean::dec(x_36); -x_54 = x_60; -x_55 = x_58; -goto lbl_56; -} -lbl_56: -{ -obj* x_63; -switch (lean::obj_tag(x_55)) { -case 0: -{ -obj* x_65; obj* x_68; -x_65 = lean::cnstr_get(x_55, 0); -lean::inc(x_65); -lean::dec(x_55); -x_68 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_68, 0, x_65); -x_63 = x_68; -goto lbl_64; -} -case 3: -{ -obj* x_69; -x_69 = lean::box(0); -x_63 = x_69; -goto lbl_64; -} -default: -{ -obj* x_71; -lean::dec(x_55); -x_71 = lean::box(0); -x_63 = x_71; -goto lbl_64; -} -} -lbl_64: -{ -obj* x_72; obj* x_73; -if (lean::obj_tag(x_54) == 0) -{ -obj* x_75; -x_75 = lean::box(3); -x_72 = x_54; -x_73 = x_75; -goto lbl_74; -} -else -{ -obj* x_76; obj* x_78; -x_76 = lean::cnstr_get(x_54, 0); -lean::inc(x_76); -x_78 = lean::cnstr_get(x_54, 1); -lean::inc(x_78); -lean::dec(x_54); -x_72 = x_78; -x_73 = x_76; -goto lbl_74; -} -lbl_74: -{ -obj* x_81; obj* x_83; -x_83 = l_lean_parser_syntax_as__node___main(x_73); -if (lean::obj_tag(x_83) == 0) -{ -obj* x_84; -x_84 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; -x_81 = x_84; -goto lbl_82; -} -else -{ -obj* x_85; obj* x_88; obj* x_91; obj* x_92; obj* x_93; -x_85 = lean::cnstr_get(x_83, 0); -lean::inc(x_85); -lean::dec(x_83); -x_88 = lean::cnstr_get(x_85, 1); -lean::inc(x_88); -lean::dec(x_85); -x_91 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__2; -x_92 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__1; -x_93 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_attribute_has__view_x_27___spec__2(x_91, x_92, x_88); -x_81 = x_93; -goto lbl_82; -} -lbl_82: -{ -obj* x_94; obj* x_95; -if (lean::obj_tag(x_72) == 0) -{ -obj* x_97; -x_97 = lean::box(3); -x_94 = x_72; -x_95 = x_97; -goto lbl_96; -} -else -{ -obj* x_98; obj* x_100; -x_98 = lean::cnstr_get(x_72, 0); -lean::inc(x_98); -x_100 = lean::cnstr_get(x_72, 1); -lean::inc(x_100); -lean::dec(x_72); -x_94 = x_100; -x_95 = x_98; -goto lbl_96; -} -lbl_96: -{ -obj* x_103; -switch (lean::obj_tag(x_95)) { -case 0: -{ -obj* x_105; obj* x_108; -x_105 = lean::cnstr_get(x_95, 0); -lean::inc(x_105); -lean::dec(x_95); -x_108 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_108, 0, x_105); -x_103 = x_108; -goto lbl_104; -} -case 3: -{ -obj* x_109; -x_109 = lean::box(0); -x_103 = x_109; -goto lbl_104; -} -default: -{ -obj* x_111; -lean::dec(x_95); -x_111 = lean::box(0); -x_103 = x_111; -goto lbl_104; -} -} -lbl_104: -{ -obj* x_112; -if (lean::obj_tag(x_94) == 0) -{ -obj* x_114; -x_114 = lean::box(3); -x_112 = x_114; -goto lbl_113; -} -else -{ -obj* x_115; -x_115 = lean::cnstr_get(x_94, 0); -lean::inc(x_115); -lean::dec(x_94); -x_112 = x_115; -goto lbl_113; -} -lbl_113: -{ -obj* x_118; -x_118 = l_lean_parser_syntax_as__node___main(x_112); -if (lean::obj_tag(x_118) == 0) -{ -obj* x_119; obj* x_120; -x_119 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_120 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_120, 0, x_5); -lean::cnstr_set(x_120, 1, x_45); -lean::cnstr_set(x_120, 2, x_63); -lean::cnstr_set(x_120, 3, x_81); -lean::cnstr_set(x_120, 4, x_103); -lean::cnstr_set(x_120, 5, x_119); -return x_120; -} -else -{ -obj* x_121; obj* x_124; obj* x_127; obj* x_128; -x_121 = lean::cnstr_get(x_118, 0); -lean::inc(x_121); -lean::dec(x_118); -x_124 = lean::cnstr_get(x_121, 1); -lean::inc(x_124); -lean::dec(x_121); -x_127 = l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__1(x_124); -x_128 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_128, 0, x_5); -lean::cnstr_set(x_128, 1, x_45); -lean::cnstr_set(x_128, 2, x_63); -lean::cnstr_set(x_128, 3, x_81); -lean::cnstr_set(x_128, 4, x_103); -lean::cnstr_set(x_128, 5, x_127); -return x_128; -} -} -} -} -} -} -} -} -} +obj* x_60; obj* x_61; +lean::dec(x_34); +x_60 = l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__1(x_49); +x_61 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_61, 0, x_0); +lean::cnstr_set(x_61, 1, x_32); +lean::cnstr_set(x_61, 2, x_32); +lean::cnstr_set(x_61, 3, x_55); +lean::cnstr_set(x_61, 4, x_32); +lean::cnstr_set(x_61, 5, x_60); +return x_61; } } } @@ -12539,7 +10508,7 @@ x_4 = l_lean_parser_syntax_as__node___main(x_0); if (lean::obj_tag(x_4) == 0) { obj* x_5; -x_5 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2; +x_5 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__3; return x_5; } else @@ -12866,138 +10835,249 @@ goto lbl_112; } lbl_112: { -obj* x_119; obj* x_121; -x_121 = l_lean_parser_syntax_as__node___main(x_111); -if (lean::obj_tag(x_121) == 0) +obj* x_119; +x_119 = l_lean_parser_syntax_as__node___main(x_111); +if (lean::obj_tag(x_119) == 0) { -obj* x_122; -x_122 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; -x_119 = x_122; -goto lbl_120; -} -else -{ -obj* x_123; obj* x_126; obj* x_129; obj* x_130; obj* x_131; -x_123 = lean::cnstr_get(x_121, 0); -lean::inc(x_123); -lean::dec(x_121); -x_126 = lean::cnstr_get(x_123, 1); -lean::inc(x_126); -lean::dec(x_123); -x_129 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__2; -x_130 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__1; -x_131 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_attribute_has__view_x_27___spec__2(x_129, x_130, x_126); -x_119 = x_131; -goto lbl_120; -} -lbl_120: -{ -obj* x_132; obj* x_133; +obj* x_120; obj* x_121; obj* x_122; +x_120 = lean::box(0); if (lean::obj_tag(x_110) == 0) { -obj* x_135; -x_135 = lean::box(3); -x_132 = x_110; -x_133 = x_135; -goto lbl_134; +obj* x_124; +x_124 = lean::box(3); +x_121 = x_110; +x_122 = x_124; +goto lbl_123; } else { -obj* x_136; obj* x_138; -x_136 = lean::cnstr_get(x_110, 0); -lean::inc(x_136); -x_138 = lean::cnstr_get(x_110, 1); -lean::inc(x_138); +obj* x_125; obj* x_127; +x_125 = lean::cnstr_get(x_110, 0); +lean::inc(x_125); +x_127 = lean::cnstr_get(x_110, 1); +lean::inc(x_127); lean::dec(x_110); -x_132 = x_138; -x_133 = x_136; -goto lbl_134; +x_121 = x_127; +x_122 = x_125; +goto lbl_123; } -lbl_134: +lbl_123: { -obj* x_141; -switch (lean::obj_tag(x_133)) { +obj* x_130; +switch (lean::obj_tag(x_122)) { case 0: { -obj* x_143; obj* x_146; -x_143 = lean::cnstr_get(x_133, 0); -lean::inc(x_143); -lean::dec(x_133); -x_146 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_146, 0, x_143); -x_141 = x_146; -goto lbl_142; +obj* x_132; obj* x_135; +x_132 = lean::cnstr_get(x_122, 0); +lean::inc(x_132); +lean::dec(x_122); +x_135 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_135, 0, x_132); +x_130 = x_135; +goto lbl_131; } case 3: { -obj* x_147; -x_147 = lean::box(0); -x_141 = x_147; -goto lbl_142; +x_130 = x_120; +goto lbl_131; } default: { -obj* x_149; -lean::dec(x_133); -x_149 = lean::box(0); -x_141 = x_149; -goto lbl_142; +lean::dec(x_122); +x_130 = x_120; +goto lbl_131; } } -lbl_142: +lbl_131: { -obj* x_150; -if (lean::obj_tag(x_132) == 0) +obj* x_137; +if (lean::obj_tag(x_121) == 0) { -obj* x_152; -x_152 = lean::box(3); -x_150 = x_152; -goto lbl_151; +obj* x_139; +x_139 = lean::box(3); +x_137 = x_139; +goto lbl_138; } else { -obj* x_153; -x_153 = lean::cnstr_get(x_132, 0); -lean::inc(x_153); -lean::dec(x_132); -x_150 = x_153; -goto lbl_151; +obj* x_140; +x_140 = lean::cnstr_get(x_121, 0); +lean::inc(x_140); +lean::dec(x_121); +x_137 = x_140; +goto lbl_138; } -lbl_151: +lbl_138: { -obj* x_156; -x_156 = l_lean_parser_syntax_as__node___main(x_150); -if (lean::obj_tag(x_156) == 0) +obj* x_143; +x_143 = l_lean_parser_syntax_as__node___main(x_137); +if (lean::obj_tag(x_143) == 0) { -obj* x_157; obj* x_158; -x_157 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_158 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_158, 0, x_43); -lean::cnstr_set(x_158, 1, x_83); -lean::cnstr_set(x_158, 2, x_101); -lean::cnstr_set(x_158, 3, x_119); -lean::cnstr_set(x_158, 4, x_141); -lean::cnstr_set(x_158, 5, x_157); -return x_158; +obj* x_144; obj* x_145; obj* x_146; +x_144 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; +x_145 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__1; +x_146 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_146, 0, x_43); +lean::cnstr_set(x_146, 1, x_83); +lean::cnstr_set(x_146, 2, x_101); +lean::cnstr_set(x_146, 3, x_144); +lean::cnstr_set(x_146, 4, x_130); +lean::cnstr_set(x_146, 5, x_145); +return x_146; } else { -obj* x_159; obj* x_162; obj* x_165; obj* x_166; -x_159 = lean::cnstr_get(x_156, 0); +obj* x_147; obj* x_150; obj* x_153; obj* x_154; obj* x_155; +x_147 = lean::cnstr_get(x_143, 0); +lean::inc(x_147); +lean::dec(x_143); +x_150 = lean::cnstr_get(x_147, 1); +lean::inc(x_150); +lean::dec(x_147); +x_153 = l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__1(x_150); +x_154 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; +x_155 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_155, 0, x_43); +lean::cnstr_set(x_155, 1, x_83); +lean::cnstr_set(x_155, 2, x_101); +lean::cnstr_set(x_155, 3, x_154); +lean::cnstr_set(x_155, 4, x_130); +lean::cnstr_set(x_155, 5, x_153); +return x_155; +} +} +} +} +} +else +{ +obj* x_156; obj* x_158; obj* x_159; obj* x_162; obj* x_163; obj* x_164; obj* x_165; obj* x_166; +x_156 = lean::cnstr_get(x_119, 0); +if (lean::is_exclusive(x_119)) { + lean::cnstr_set(x_119, 0, lean::box(0)); + x_158 = x_119; +} else { + lean::inc(x_156); + lean::dec(x_119); + x_158 = lean::box(0); +} +x_159 = lean::cnstr_get(x_156, 1); lean::inc(x_159); lean::dec(x_156); -x_162 = lean::cnstr_get(x_159, 1); -lean::inc(x_162); -lean::dec(x_159); -x_165 = l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__1(x_162); -x_166 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_166, 0, x_43); -lean::cnstr_set(x_166, 1, x_83); -lean::cnstr_set(x_166, 2, x_101); -lean::cnstr_set(x_166, 3, x_119); -lean::cnstr_set(x_166, 4, x_141); -lean::cnstr_set(x_166, 5, x_165); -return x_166; +x_162 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__2; +x_163 = l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2; +x_164 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_attribute_has__view_x_27___spec__2(x_162, x_163, x_159); +if (lean::obj_tag(x_110) == 0) +{ +obj* x_168; +x_168 = lean::box(3); +x_165 = x_110; +x_166 = x_168; +goto lbl_167; +} +else +{ +obj* x_169; obj* x_171; +x_169 = lean::cnstr_get(x_110, 0); +lean::inc(x_169); +x_171 = lean::cnstr_get(x_110, 1); +lean::inc(x_171); +lean::dec(x_110); +x_165 = x_171; +x_166 = x_169; +goto lbl_167; +} +lbl_167: +{ +obj* x_174; +switch (lean::obj_tag(x_166)) { +case 0: +{ +obj* x_176; obj* x_179; +x_176 = lean::cnstr_get(x_166, 0); +lean::inc(x_176); +lean::dec(x_166); +if (lean::is_scalar(x_158)) { + x_179 = lean::alloc_cnstr(1, 1, 0); +} else { + x_179 = x_158; +} +lean::cnstr_set(x_179, 0, x_176); +x_174 = x_179; +goto lbl_175; +} +case 3: +{ +obj* x_181; +lean::dec(x_158); +x_181 = lean::box(0); +x_174 = x_181; +goto lbl_175; +} +default: +{ +obj* x_184; +lean::dec(x_158); +lean::dec(x_166); +x_184 = lean::box(0); +x_174 = x_184; +goto lbl_175; +} +} +lbl_175: +{ +obj* x_185; +if (lean::obj_tag(x_165) == 0) +{ +obj* x_187; +x_187 = lean::box(3); +x_185 = x_187; +goto lbl_186; +} +else +{ +obj* x_188; +x_188 = lean::cnstr_get(x_165, 0); +lean::inc(x_188); +lean::dec(x_165); +x_185 = x_188; +goto lbl_186; +} +lbl_186: +{ +obj* x_191; +x_191 = l_lean_parser_syntax_as__node___main(x_185); +if (lean::obj_tag(x_191) == 0) +{ +obj* x_192; obj* x_193; +x_192 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_193 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_193, 0, x_43); +lean::cnstr_set(x_193, 1, x_83); +lean::cnstr_set(x_193, 2, x_101); +lean::cnstr_set(x_193, 3, x_164); +lean::cnstr_set(x_193, 4, x_174); +lean::cnstr_set(x_193, 5, x_192); +return x_193; +} +else +{ +obj* x_194; obj* x_197; obj* x_200; obj* x_201; +x_194 = lean::cnstr_get(x_191, 0); +lean::inc(x_194); +lean::dec(x_191); +x_197 = lean::cnstr_get(x_194, 1); +lean::inc(x_197); +lean::dec(x_194); +x_200 = l_list_map___main___at_lean_parser_command_attribute_has__view_x_27___spec__1(x_197); +x_201 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_201, 0, x_43); +lean::cnstr_set(x_201, 1, x_83); +lean::cnstr_set(x_201, 2, x_101); +lean::cnstr_set(x_201, 3, x_164); +lean::cnstr_set(x_201, 4, x_174); +lean::cnstr_set(x_201, 5, x_200); +return x_201; } } } @@ -13761,33 +11841,11 @@ return x_8; obj* _init_l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_0); -return x_8; -} -else -{ -obj* x_9; -x_9 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_9, 0, x_0); -return x_9; -} -} +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_1, 0, x_0); +return x_1; } } obj* _init_l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__2() { @@ -13809,139 +11867,153 @@ return x_8; obj* l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; +x_58 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_58, 0, x_52); +return x_58; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_59; +x_59 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_59, 0, x_52); +return x_59; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_63; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_63 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_63; } } } @@ -13951,36 +12023,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_66; +lean::dec(x_8); +lean::dec(x_17); +x_66 = l_lean_parser_command_bool__option__value_has__view_x_27___lambda__1___closed__1; +return x_66; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; -x_68 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_68, 0, x_1); -return x_68; -} -else -{ -obj* x_69; -x_69 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_69, 0, x_1); -return x_69; -} -} } } obj* l_lean_parser_command_bool__option__value_has__view_x_27___lambda__2(obj* x_0) { @@ -14065,62 +12116,16 @@ return x_8; obj* _init_l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -lean::dec(x_1); -if (x_8 == 0) -{ -obj* x_10; obj* x_11; obj* x_14; obj* x_15; -x_10 = l_lean_parser_number_has__view; -x_11 = lean::cnstr_get(x_10, 0); -lean::inc(x_11); -lean::dec(x_10); -x_14 = lean::apply_1(x_11, x_0); -x_15 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_15, 0, x_14); -return x_15; -} -else -{ -obj* x_16; obj* x_17; obj* x_20; obj* x_21; -x_16 = l_lean_parser_string__lit_has__view; -x_17 = lean::cnstr_get(x_16, 0); -lean::inc(x_17); -lean::dec(x_16); -x_20 = lean::apply_1(x_17, x_0); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_20); -return x_21; -} -} -else -{ -obj* x_23; obj* x_24; obj* x_27; obj* x_28; -lean::dec(x_1); -x_23 = l_lean_parser_command_bool__option__value_has__view; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_0); -x_28 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_28, 0, x_27); -return x_28; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_bool__option__value_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__2() { @@ -14142,139 +12147,182 @@ return x_8; obj* l_lean_parser_command_option__value_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +lean::dec(x_39); +if (x_58 == 0) +{ +obj* x_60; obj* x_61; obj* x_64; obj* x_65; +x_60 = l_lean_parser_number_has__view; +x_61 = lean::cnstr_get(x_60, 0); +lean::inc(x_61); +lean::dec(x_60); +x_64 = lean::apply_1(x_61, x_52); +x_65 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_65, 0, x_64); +return x_65; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_66; obj* x_67; obj* x_70; obj* x_71; +x_66 = l_lean_parser_string__lit_has__view; +x_67 = lean::cnstr_get(x_66, 0); +lean::inc(x_67); +lean::dec(x_66); +x_70 = lean::apply_1(x_67, x_52); +x_71 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_71, 0, x_70); +return x_71; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_73; obj* x_74; obj* x_77; obj* x_78; +lean::dec(x_39); +x_73 = l_lean_parser_command_bool__option__value_has__view; +x_74 = lean::cnstr_get(x_73, 0); +lean::inc(x_74); +lean::dec(x_73); +x_77 = lean::apply_1(x_74, x_52); +x_78 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_78, 0, x_77); +return x_78; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_82; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_82 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_82; } } } @@ -14284,65 +12332,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_85; +lean::dec(x_8); +lean::dec(x_17); +x_85 = l_lean_parser_command_option__value_has__view_x_27___lambda__1___closed__1; +return x_85; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -lean::dec(x_2); -if (x_68 == 0) -{ -obj* x_70; obj* x_71; obj* x_74; obj* x_75; -x_70 = l_lean_parser_number_has__view; -x_71 = lean::cnstr_get(x_70, 0); -lean::inc(x_71); -lean::dec(x_70); -x_74 = lean::apply_1(x_71, x_1); -x_75 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_75, 0, x_74); -return x_75; -} -else -{ -obj* x_76; obj* x_77; obj* x_80; obj* x_81; -x_76 = l_lean_parser_string__lit_has__view; -x_77 = lean::cnstr_get(x_76, 0); -lean::inc(x_77); -lean::dec(x_76); -x_80 = lean::apply_1(x_77, x_1); -x_81 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_81, 0, x_80); -return x_81; -} -} -else -{ -obj* x_83; obj* x_84; obj* x_87; obj* x_88; -lean::dec(x_2); -x_83 = l_lean_parser_command_bool__option__value_has__view; -x_84 = lean::cnstr_get(x_83, 0); -lean::inc(x_84); -lean::dec(x_83); -x_87 = lean::apply_1(x_84, x_1); -x_88 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_88, 0, x_87); -return x_88; -} -} } } obj* l_lean_parser_command_option__value_has__view_x_27___lambda__2(obj* x_0) { @@ -14475,158 +12473,15 @@ return x_5; obj* _init_l_lean_parser_command_set__option_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -if (lean::obj_tag(x_14) == 0) -{ -obj* x_25; obj* x_28; obj* x_29; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_28 = l_lean_parser_command_set__option_has__view_x_27___lambda__1___closed__1; -x_29 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_29, 0, x_5); -lean::cnstr_set(x_29, 1, x_25); -lean::cnstr_set(x_29, 2, x_28); -return x_29; -} -else -{ -obj* x_30; obj* x_33; obj* x_36; obj* x_37; obj* x_40; obj* x_41; -x_30 = lean::cnstr_get(x_15, 0); -lean::inc(x_30); -lean::dec(x_15); -x_33 = lean::cnstr_get(x_14, 0); -lean::inc(x_33); -lean::dec(x_14); -x_36 = l_lean_parser_command_option__value_has__view; -x_37 = lean::cnstr_get(x_36, 0); -lean::inc(x_37); -lean::dec(x_36); -x_40 = lean::apply_1(x_37, x_33); -x_41 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_30); -lean::cnstr_set(x_41, 2, x_40); -return x_41; -} -} -case 3: -{ -obj* x_42; -x_42 = lean::box(0); -x_23 = x_42; -goto lbl_24; -} -default: -{ -obj* x_44; -lean::dec(x_15); -x_44 = lean::box(0); -x_23 = x_44; -goto lbl_24; -} -} -lbl_24: -{ -lean::dec(x_23); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_46; obj* x_47; obj* x_48; -x_46 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_47 = l_lean_parser_command_set__option_has__view_x_27___lambda__1___closed__1; -x_48 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_48, 0, x_5); -lean::cnstr_set(x_48, 1, x_46); -lean::cnstr_set(x_48, 2, x_47); -return x_48; -} -else -{ -obj* x_49; obj* x_52; obj* x_53; obj* x_56; obj* x_57; obj* x_58; -x_49 = lean::cnstr_get(x_14, 0); -lean::inc(x_49); -lean::dec(x_14); -x_52 = l_lean_parser_command_option__value_has__view; -x_53 = lean::cnstr_get(x_52, 0); -lean::inc(x_53); -lean::dec(x_52); -x_56 = lean::apply_1(x_53, x_49); -x_57 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_58 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_58, 0, x_5); -lean::cnstr_set(x_58, 1, x_57); -lean::cnstr_set(x_58, 2, x_56); -return x_58; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = l_lean_parser_command_set__option_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_2); +return x_3; } } obj* l_lean_parser_command_set__option_has__view_x_27___lambda__1(obj* x_0) { @@ -17174,6 +15029,8 @@ lean::mark_persistent(l_lean_parser_command_attribute); lean::mark_persistent(l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__1); l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2 = _init_l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2(); lean::mark_persistent(l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__2); + l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__3 = _init_l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__3(); +lean::mark_persistent(l_lean_parser_command_attribute_has__view_x_27___lambda__1___closed__3); l_lean_parser_command_attribute_has__view_x_27 = _init_l_lean_parser_command_attribute_has__view_x_27(); lean::mark_persistent(l_lean_parser_command_attribute_has__view_x_27); l_lean_parser_command_attribute_has__view = _init_l_lean_parser_command_attribute_has__view(); diff --git a/src/boot/init/lean/parser/declaration.cpp b/src/boot/init/lean/parser/declaration.cpp index 34856b91a8..0a777da584 100644 --- a/src/boot/init/lean/parser/declaration.cpp +++ b/src/boot/init/lean/parser/declaration.cpp @@ -297,6 +297,7 @@ obj* l_lean_parser_command_declaration_has__view_x_27___lambda__1(obj*); namespace lean { uint8 nat_dec_eq(obj*, obj*); } +extern obj* l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; obj* l_lean_parser_command_decl__attributes_parser(obj*, obj*, obj*, obj*); obj* l_lean_parser_command_inductive_has__view_x_27___lambda__2___closed__1; obj* l_lean_parser_command_instance_has__view; @@ -392,7 +393,6 @@ obj* l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__2(ob obj* l_list_map___main___at_lean_parser_command_old__univ__params_has__view_x_27___spec__1(obj*); obj* l_lean_parser_command_structure; obj* l_lean_parser_command_structure__field__block_has__view; -extern obj* l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; obj* l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__2(obj*); extern "C" uint8 lean_name_dec_eq(obj*, obj*); extern obj* l_lean_parser_term_binder__default_parser_lean_parser_has__tokens; @@ -596,191 +596,13 @@ return x_8; obj* _init_l_lean_parser_command_doc__comment_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; obj* x_17; obj* x_18; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = lean::box(3); -x_17 = x_0; -x_18 = x_20; -goto lbl_19; -} -else -{ -obj* x_21; obj* x_23; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -x_23 = lean::cnstr_get(x_0, 1); -lean::inc(x_23); -lean::dec(x_0); -x_17 = x_23; -x_18 = x_21; -goto lbl_19; -} -lbl_16: -{ -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_26; obj* x_29; obj* x_30; -x_26 = lean::cnstr_get(x_15, 0); -lean::inc(x_26); -lean::dec(x_15); -x_29 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_29, 0, x_26); -x_30 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_14); -lean::cnstr_set(x_30, 2, x_29); -return x_30; -} -case 3: -{ -obj* x_31; obj* x_32; -x_31 = lean::box(0); -x_32 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_32, 0, x_5); -lean::cnstr_set(x_32, 1, x_14); -lean::cnstr_set(x_32, 2, x_31); -return x_32; -} -default: -{ -obj* x_34; obj* x_35; -lean::dec(x_15); -x_34 = lean::box(0); -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_14); -lean::cnstr_set(x_35, 2, x_34); -return x_35; -} -} -} -lbl_19: -{ -switch (lean::obj_tag(x_18)) { -case 0: -{ -obj* x_36; obj* x_39; -x_36 = lean::cnstr_get(x_18, 0); -lean::inc(x_36); -lean::dec(x_18); -x_39 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_39, 0, x_36); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_40; obj* x_41; -x_40 = lean::box(0); -x_41 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_39); -lean::cnstr_set(x_41, 2, x_40); -return x_41; -} -else -{ -obj* x_42; -x_42 = lean::cnstr_get(x_17, 0); -lean::inc(x_42); -lean::dec(x_17); -x_14 = x_39; -x_15 = x_42; -goto lbl_16; -} -} -case 3: -{ -obj* x_45; -x_45 = lean::box(0); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_46; -x_46 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_46, 0, x_5); -lean::cnstr_set(x_46, 1, x_45); -lean::cnstr_set(x_46, 2, x_45); -return x_46; -} -else -{ -obj* x_47; -x_47 = lean::cnstr_get(x_17, 0); -lean::inc(x_47); -lean::dec(x_17); -x_14 = x_45; -x_15 = x_47; -goto lbl_16; -} -} -default: -{ -obj* x_51; -lean::dec(x_18); -x_51 = lean::box(0); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_52; -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_51); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_17, 0); -lean::inc(x_53); -lean::dec(x_17); -x_14 = x_51; -x_15 = x_53; -goto lbl_16; -} -} -} -} -} -} +obj* x_0; obj* x_1; +x_0 = lean::box(0); +x_1 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_1, 0, x_0); +lean::cnstr_set(x_1, 1, x_0); +lean::cnstr_set(x_1, 2, x_0); +return x_1; } } obj* l_lean_parser_command_doc__comment_has__view_x_27___lambda__1(obj* x_0) { @@ -5510,144 +5332,9 @@ return x_11; obj* _init_l_lean_parser_command_attr__instance_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; obj* x_11; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_7); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_17; obj* x_20; obj* x_21; -x_14 = lean::cnstr_get(x_11, 0); -lean::inc(x_14); -lean::dec(x_11); -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -x_20 = l_list_map___main___at_lean_parser_command_attr__instance_has__view_x_27___spec__3(x_17); -x_21 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_21, 0, x_7); -lean::cnstr_set(x_21, 1, x_20); -return x_21; -} -} -else -{ -obj* x_22; obj* x_25; obj* x_28; -x_22 = lean::cnstr_get(x_1, 0); -lean::inc(x_22); -lean::dec(x_1); -x_25 = lean::cnstr_get(x_0, 0); -lean::inc(x_25); -lean::dec(x_0); -x_28 = l_lean_parser_syntax_as__node___main(x_25); -if (lean::obj_tag(x_28) == 0) -{ -obj* x_29; obj* x_30; -x_29 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_22); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -else -{ -obj* x_31; obj* x_34; obj* x_37; obj* x_38; -x_31 = lean::cnstr_get(x_28, 0); -lean::inc(x_31); -lean::dec(x_28); -x_34 = lean::cnstr_get(x_31, 1); -lean::inc(x_34); -lean::dec(x_31); -x_37 = l_list_map___main___at_lean_parser_command_attr__instance_has__view_x_27___spec__4(x_34); -x_38 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_38, 0, x_22); -lean::cnstr_set(x_38, 1, x_37); -return x_38; -} -} -} -case 3: -{ -obj* x_39; -x_39 = lean::box(0); -x_5 = x_39; -goto lbl_6; -} -default: -{ -obj* x_41; -lean::dec(x_1); -x_41 = lean::box(0); -x_5 = x_41; -goto lbl_6; -} -} -lbl_6: -{ -lean::dec(x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_43; -x_43 = l_lean_parser_command_attr__instance_has__view_x_27___lambda__1___closed__2; -return x_43; -} -else -{ -obj* x_44; obj* x_47; -x_44 = lean::cnstr_get(x_0, 0); -lean::inc(x_44); -lean::dec(x_0); -x_47 = l_lean_parser_syntax_as__node___main(x_44); -if (lean::obj_tag(x_47) == 0) -{ -obj* x_48; -x_48 = l_lean_parser_command_attr__instance_has__view_x_27___lambda__1___closed__1; -return x_48; -} -else -{ -obj* x_49; obj* x_52; obj* x_55; obj* x_56; obj* x_57; -x_49 = lean::cnstr_get(x_47, 0); -lean::inc(x_49); -lean::dec(x_47); -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); -lean::dec(x_49); -x_55 = l_list_map___main___at_lean_parser_command_attr__instance_has__view_x_27___spec__2(x_52); -x_56 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_56); -lean::cnstr_set(x_57, 1, x_55); -return x_57; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_attr__instance_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* l_lean_parser_command_attr__instance_has__view_x_27___lambda__1(obj* x_0) { @@ -6784,212 +6471,37 @@ return x_6; obj* _init_l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_24; -x_24 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_25; obj* x_26; -x_25 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_26, 0, x_5); -lean::cnstr_set(x_26, 1, x_25); -lean::cnstr_set(x_26, 2, x_24); -return x_26; -} -else -{ -obj* x_27; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -lean::dec(x_14); -switch (lean::obj_tag(x_27)) { -case 0: -{ -obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -lean::dec(x_27); -x_33 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_33, 0, x_30); -x_34 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_34); -lean::cnstr_set(x_35, 2, x_33); -return x_35; -} -case 3: -{ -obj* x_36; obj* x_37; -x_36 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; -x_37 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_37, 0, x_5); -lean::cnstr_set(x_37, 1, x_36); -lean::cnstr_set(x_37, 2, x_24); -return x_37; -} -default: -{ -obj* x_39; obj* x_40; -lean::dec(x_27); -x_39 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__1; -x_40 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_40, 0, x_5); -lean::cnstr_set(x_40, 1, x_39); -lean::cnstr_set(x_40, 2, x_24); -return x_40; -} -} -} -} -else -{ -obj* x_41; obj* x_43; obj* x_44; obj* x_47; obj* x_48; obj* x_49; -x_41 = lean::cnstr_get(x_23, 0); -if (lean::is_exclusive(x_23)) { - lean::cnstr_set(x_23, 0, lean::box(0)); - x_43 = x_23; -} else { - lean::inc(x_41); - lean::dec(x_23); - x_43 = lean::box(0); -} -x_44 = lean::cnstr_get(x_41, 1); -lean::inc(x_44); -lean::dec(x_41); -x_47 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__2; -x_48 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; -x_49 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_decl__attributes_has__view_x_27___spec__1(x_47, x_48, x_44); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_51; obj* x_52; -lean::dec(x_43); -x_51 = lean::box(0); -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_49); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_14, 0); -lean::inc(x_53); -lean::dec(x_14); -switch (lean::obj_tag(x_53)) { -case 0: -{ -obj* x_56; obj* x_59; obj* x_60; -x_56 = lean::cnstr_get(x_53, 0); -lean::inc(x_56); -lean::dec(x_53); -if (lean::is_scalar(x_43)) { - x_59 = lean::alloc_cnstr(1, 1, 0); -} else { - x_59 = x_43; -} -lean::cnstr_set(x_59, 0, x_56); -x_60 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_49); -lean::cnstr_set(x_60, 2, x_59); -return x_60; -} -case 3: -{ -obj* x_62; obj* x_63; -lean::dec(x_43); -x_62 = lean::box(0); -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_49); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -default: -{ -obj* x_66; obj* x_67; -lean::dec(x_43); -lean::dec(x_53); -x_66 = lean::box(0); -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_5); -lean::cnstr_set(x_67, 1, x_49); -lean::cnstr_set(x_67, 2, x_66); -return x_67; -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; obj* x_14; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__2; +x_12 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; +x_13 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_decl__attributes_has__view_x_27___spec__1(x_11, x_12, x_8); +x_14 = lean::alloc_cnstr(0, 3, 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); +return x_14; } } } @@ -8489,79 +8001,9 @@ return x_1; obj* _init_l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_16; obj* x_19; obj* x_20; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -x_20 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -case 3: -{ -obj* x_21; -x_21 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__2; -return x_21; -} -default: -{ -obj* x_23; -lean::dec(x_0); -x_23 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__2; -return x_23; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__4() { @@ -8583,220 +8025,236 @@ return x_8; obj* l_lean_parser_command_visibility_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_80, 0, x_79); -return x_80; +obj* x_72; obj* x_75; obj* x_76; +x_72 = lean::cnstr_get(x_56, 0); +lean::inc(x_72); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_75 = lean::alloc_cnstr(1, 1, 0); +} else { + x_75 = x_26; +} +lean::cnstr_set(x_75, 0, x_72); +x_76 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_76, 0, x_75); +return x_76; } case 3: { +obj* x_78; +lean::dec(x_26); +x_78 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__2; +return x_78; +} +default: +{ obj* x_81; +lean::dec(x_56); +lean::dec(x_26); x_81 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__2; return x_81; } -default: +} +} +} +else { -obj* x_83; -lean::dec(x_1); -x_83 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__2; -return x_83; +obj* x_86; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_86 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_86; +} +} +} +} +} +} +} +else +{ +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_command_visibility_has__view_x_27___lambda__1___closed__3; +return x_89; } } } @@ -9034,533 +8492,437 @@ return x_6; obj* _init_l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; -x_8 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__3; -x_5 = x_8; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__3; +x_0 = x_4; +goto lbl_1; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_7, 0); -if (lean::is_exclusive(x_7)) { - lean::cnstr_set(x_7, 0, lean::box(0)); - x_11 = x_7; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_3, 0); +if (lean::is_exclusive(x_3)) { + lean::cnstr_set(x_3, 0, lean::box(0)); + x_7 = x_3; } else { - lean::inc(x_9); - lean::dec(x_7); - x_11 = lean::box(0); + lean::inc(x_5); + lean::dec(x_3); + x_7 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_16; -lean::dec(x_11); -x_16 = lean::box(0); -x_5 = x_16; -goto lbl_6; +obj* x_12; +lean::dec(x_7); +x_12 = lean::box(0); +x_0 = x_12; +goto lbl_1; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_12, 1); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_19; obj* x_22; obj* x_23; obj* x_26; obj* x_27; -x_19 = lean::cnstr_get(x_12, 0); +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +x_18 = l_lean_parser_command_doc__comment_has__view; +x_19 = lean::cnstr_get(x_18, 0); lean::inc(x_19); -lean::dec(x_12); -x_22 = l_lean_parser_command_doc__comment_has__view; -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); -if (lean::is_scalar(x_11)) { - x_27 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_18); +x_22 = lean::apply_1(x_19, x_15); +if (lean::is_scalar(x_7)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - x_27 = x_11; + x_23 = x_7; } -lean::cnstr_set(x_27, 0, x_26); -x_5 = x_27; -goto lbl_6; +lean::cnstr_set(x_23, 0, x_22); +x_0 = x_23; +goto lbl_1; } else { -obj* x_31; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_17); -x_31 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__3; -x_5 = x_31; -goto lbl_6; +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_7); +x_27 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__3; +x_0 = x_27; +goto lbl_1; } } } -lbl_6: +lbl_1: { -obj* x_32; obj* x_33; -if (lean::obj_tag(x_0) == 0) +obj* x_28; obj* x_30; obj* x_31; +x_30 = lean::box(3); +x_31 = l_lean_parser_syntax_as__node___main(x_30); +if (lean::obj_tag(x_31) == 0) { -obj* x_35; -x_35 = lean::box(3); -x_32 = x_0; -x_33 = x_35; -goto lbl_34; +obj* x_32; +x_32 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__2; +x_28 = x_32; +goto lbl_29; } else { -obj* x_36; obj* x_38; -x_36 = lean::cnstr_get(x_0, 0); +obj* x_33; obj* x_35; obj* x_36; +x_33 = lean::cnstr_get(x_31, 0); +if (lean::is_exclusive(x_31)) { + lean::cnstr_set(x_31, 0, lean::box(0)); + x_35 = x_31; +} else { + lean::inc(x_33); + lean::dec(x_31); + x_35 = lean::box(0); +} +x_36 = lean::cnstr_get(x_33, 1); lean::inc(x_36); -x_38 = lean::cnstr_get(x_0, 1); -lean::inc(x_38); -lean::dec(x_0); -x_32 = x_38; -x_33 = x_36; -goto lbl_34; -} -lbl_34: +lean::dec(x_33); +if (lean::obj_tag(x_36) == 0) { -obj* x_41; obj* x_43; -x_43 = l_lean_parser_syntax_as__node___main(x_33); -if (lean::obj_tag(x_43) == 0) -{ -obj* x_44; -x_44 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__2; -x_41 = x_44; -goto lbl_42; +obj* x_40; +lean::dec(x_35); +x_40 = lean::box(0); +x_28 = x_40; +goto lbl_29; } else { -obj* x_45; obj* x_47; obj* x_48; -x_45 = lean::cnstr_get(x_43, 0); -if (lean::is_exclusive(x_43)) { - lean::cnstr_set(x_43, 0, lean::box(0)); - x_47 = x_43; +obj* x_41; +x_41 = lean::cnstr_get(x_36, 1); +lean::inc(x_41); +if (lean::obj_tag(x_41) == 0) +{ +obj* x_43; obj* x_46; obj* x_47; obj* x_50; obj* x_51; +x_43 = lean::cnstr_get(x_36, 0); +lean::inc(x_43); +lean::dec(x_36); +x_46 = l_lean_parser_command_decl__attributes_has__view; +x_47 = lean::cnstr_get(x_46, 0); +lean::inc(x_47); +lean::dec(x_46); +x_50 = lean::apply_1(x_47, x_43); +if (lean::is_scalar(x_35)) { + x_51 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_45); - lean::dec(x_43); - x_47 = lean::box(0); + x_51 = x_35; } -x_48 = lean::cnstr_get(x_45, 1); -lean::inc(x_48); -lean::dec(x_45); -if (lean::obj_tag(x_48) == 0) -{ -obj* x_52; -lean::dec(x_47); -x_52 = lean::box(0); -x_41 = x_52; -goto lbl_42; +lean::cnstr_set(x_51, 0, x_50); +x_28 = x_51; +goto lbl_29; } else { -obj* x_53; -x_53 = lean::cnstr_get(x_48, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) +obj* x_55; +lean::dec(x_41); +lean::dec(x_35); +lean::dec(x_36); +x_55 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__2; +x_28 = x_55; +goto lbl_29; +} +} +} +lbl_29: { -obj* x_55; obj* x_58; obj* x_59; obj* x_62; obj* x_63; -x_55 = lean::cnstr_get(x_48, 0); -lean::inc(x_55); -lean::dec(x_48); -x_58 = l_lean_parser_command_decl__attributes_has__view; -x_59 = lean::cnstr_get(x_58, 0); -lean::inc(x_59); -lean::dec(x_58); -x_62 = lean::apply_1(x_59, x_55); -if (lean::is_scalar(x_47)) { - x_63 = lean::alloc_cnstr(1, 1, 0); +obj* x_56; obj* x_58; obj* x_59; +x_58 = lean::box(3); +x_59 = l_lean_parser_syntax_as__node___main(x_58); +if (lean::obj_tag(x_59) == 0) +{ +obj* x_60; +x_60 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__1; +x_56 = x_60; +goto lbl_57; +} +else +{ +obj* x_61; obj* x_63; obj* x_64; +x_61 = lean::cnstr_get(x_59, 0); +if (lean::is_exclusive(x_59)) { + lean::cnstr_set(x_59, 0, lean::box(0)); + x_63 = x_59; } else { - x_63 = x_47; + lean::inc(x_61); + lean::dec(x_59); + x_63 = lean::box(0); } -lean::cnstr_set(x_63, 0, x_62); -x_41 = x_63; -goto lbl_42; +x_64 = lean::cnstr_get(x_61, 1); +lean::inc(x_64); +lean::dec(x_61); +if (lean::obj_tag(x_64) == 0) +{ +obj* x_68; +lean::dec(x_63); +x_68 = lean::box(0); +x_56 = x_68; +goto lbl_57; } else { -obj* x_67; -lean::dec(x_47); -lean::dec(x_48); -lean::dec(x_53); -x_67 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__2; -x_41 = x_67; -goto lbl_42; -} -} -} -lbl_42: +obj* x_69; +x_69 = lean::cnstr_get(x_64, 1); +lean::inc(x_69); +if (lean::obj_tag(x_69) == 0) { -obj* x_68; obj* x_69; -if (lean::obj_tag(x_32) == 0) -{ -obj* x_71; -x_71 = lean::box(3); -x_68 = x_32; -x_69 = x_71; -goto lbl_70; -} -else -{ -obj* x_72; obj* x_74; -x_72 = lean::cnstr_get(x_32, 0); -lean::inc(x_72); -x_74 = lean::cnstr_get(x_32, 1); -lean::inc(x_74); -lean::dec(x_32); -x_68 = x_74; -x_69 = x_72; -goto lbl_70; -} -lbl_70: -{ -obj* x_77; obj* x_79; -x_79 = l_lean_parser_syntax_as__node___main(x_69); -if (lean::obj_tag(x_79) == 0) -{ -obj* x_80; -x_80 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__1; -x_77 = x_80; -goto lbl_78; -} -else -{ -obj* x_81; obj* x_83; obj* x_84; -x_81 = lean::cnstr_get(x_79, 0); -if (lean::is_exclusive(x_79)) { - lean::cnstr_set(x_79, 0, lean::box(0)); - x_83 = x_79; +obj* x_71; obj* x_74; obj* x_75; obj* x_78; obj* x_79; +x_71 = lean::cnstr_get(x_64, 0); +lean::inc(x_71); +lean::dec(x_64); +x_74 = l_lean_parser_command_visibility_has__view; +x_75 = lean::cnstr_get(x_74, 0); +lean::inc(x_75); +lean::dec(x_74); +x_78 = lean::apply_1(x_75, x_71); +if (lean::is_scalar(x_63)) { + x_79 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_81); - lean::dec(x_79); - x_83 = lean::box(0); + x_79 = x_63; } -x_84 = lean::cnstr_get(x_81, 1); -lean::inc(x_84); -lean::dec(x_81); -if (lean::obj_tag(x_84) == 0) +lean::cnstr_set(x_79, 0, x_78); +x_56 = x_79; +goto lbl_57; +} +else +{ +obj* x_83; +lean::dec(x_64); +lean::dec(x_69); +lean::dec(x_63); +x_83 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__1; +x_56 = x_83; +goto lbl_57; +} +} +} +lbl_57: +{ +obj* x_84; obj* x_86; obj* x_87; +x_86 = lean::box(3); +x_87 = l_lean_parser_syntax_as__node___main(x_86); +if (lean::obj_tag(x_87) == 0) { obj* x_88; -lean::dec(x_83); -x_88 = lean::box(0); -x_77 = x_88; -goto lbl_78; +x_88 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_84 = x_88; +goto lbl_85; } else { -obj* x_89; -x_89 = lean::cnstr_get(x_84, 1); -lean::inc(x_89); -if (lean::obj_tag(x_89) == 0) -{ -obj* x_91; obj* x_94; obj* x_95; obj* x_98; obj* x_99; -x_91 = lean::cnstr_get(x_84, 0); -lean::inc(x_91); -lean::dec(x_84); -x_94 = l_lean_parser_command_visibility_has__view; -x_95 = lean::cnstr_get(x_94, 0); -lean::inc(x_95); -lean::dec(x_94); -x_98 = lean::apply_1(x_95, x_91); -if (lean::is_scalar(x_83)) { - x_99 = lean::alloc_cnstr(1, 1, 0); +obj* x_89; obj* x_91; obj* x_92; +x_89 = lean::cnstr_get(x_87, 0); +if (lean::is_exclusive(x_87)) { + lean::cnstr_set(x_87, 0, lean::box(0)); + x_91 = x_87; } else { - x_99 = x_83; + lean::inc(x_89); + lean::dec(x_87); + x_91 = lean::box(0); } -lean::cnstr_set(x_99, 0, x_98); -x_77 = x_99; -goto lbl_78; -} -else -{ -obj* x_103; +x_92 = lean::cnstr_get(x_89, 1); +lean::inc(x_92); lean::dec(x_89); -lean::dec(x_83); -lean::dec(x_84); -x_103 = l_lean_parser_command_decl__modifiers_has__view_x_27___lambda__1___closed__1; -x_77 = x_103; -goto lbl_78; -} -} -} -lbl_78: +if (lean::obj_tag(x_92) == 0) { -obj* x_104; obj* x_105; -if (lean::obj_tag(x_68) == 0) -{ -obj* x_107; -x_107 = lean::box(3); -x_104 = x_68; -x_105 = x_107; -goto lbl_106; +obj* x_96; +lean::dec(x_91); +x_96 = lean::box(0); +x_84 = x_96; +goto lbl_85; } else { -obj* x_108; obj* x_110; -x_108 = lean::cnstr_get(x_68, 0); -lean::inc(x_108); -x_110 = lean::cnstr_get(x_68, 1); -lean::inc(x_110); -lean::dec(x_68); -x_104 = x_110; -x_105 = x_108; -goto lbl_106; -} -lbl_106: +obj* x_97; +x_97 = lean::cnstr_get(x_92, 1); +lean::inc(x_97); +if (lean::obj_tag(x_97) == 0) { -obj* x_113; obj* x_115; -x_115 = l_lean_parser_syntax_as__node___main(x_105); -if (lean::obj_tag(x_115) == 0) -{ -obj* x_116; -x_116 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_113 = x_116; -goto lbl_114; -} -else -{ -obj* x_117; obj* x_119; obj* x_120; -x_117 = lean::cnstr_get(x_115, 0); -if (lean::is_exclusive(x_115)) { - lean::cnstr_set(x_115, 0, lean::box(0)); - x_119 = x_115; -} else { - lean::inc(x_117); - lean::dec(x_115); - x_119 = lean::box(0); -} -x_120 = lean::cnstr_get(x_117, 1); -lean::inc(x_120); -lean::dec(x_117); -if (lean::obj_tag(x_120) == 0) -{ -obj* x_124; -lean::dec(x_119); -x_124 = lean::box(0); -x_113 = x_124; -goto lbl_114; -} -else -{ -obj* x_125; -x_125 = lean::cnstr_get(x_120, 1); -lean::inc(x_125); -if (lean::obj_tag(x_125) == 0) -{ -obj* x_127; -x_127 = lean::cnstr_get(x_120, 0); -lean::inc(x_127); -lean::dec(x_120); -switch (lean::obj_tag(x_127)) { +obj* x_99; +x_99 = lean::cnstr_get(x_92, 0); +lean::inc(x_99); +lean::dec(x_92); +switch (lean::obj_tag(x_99)) { case 0: { -obj* x_130; obj* x_133; obj* x_134; -x_130 = lean::cnstr_get(x_127, 0); -lean::inc(x_130); -lean::dec(x_127); -if (lean::is_scalar(x_119)) { - x_133 = lean::alloc_cnstr(1, 1, 0); +obj* x_102; obj* x_105; obj* x_106; +x_102 = lean::cnstr_get(x_99, 0); +lean::inc(x_102); +lean::dec(x_99); +if (lean::is_scalar(x_91)) { + x_105 = lean::alloc_cnstr(1, 1, 0); } else { - x_133 = x_119; + x_105 = x_91; } -lean::cnstr_set(x_133, 0, x_130); -x_134 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_134, 0, x_133); -x_113 = x_134; -goto lbl_114; +lean::cnstr_set(x_105, 0, x_102); +x_106 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_106, 0, x_105); +x_84 = x_106; +goto lbl_85; } case 3: { -obj* x_136; -lean::dec(x_119); -x_136 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_113 = x_136; -goto lbl_114; +obj* x_108; +lean::dec(x_91); +x_108 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_84 = x_108; +goto lbl_85; } default: { -obj* x_139; -lean::dec(x_119); -lean::dec(x_127); -x_139 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_113 = x_139; -goto lbl_114; +obj* x_111; +lean::dec(x_91); +lean::dec(x_99); +x_111 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_84 = x_111; +goto lbl_85; } } } else { -obj* x_143; -lean::dec(x_119); -lean::dec(x_120); -lean::dec(x_125); -x_143 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_113 = x_143; -goto lbl_114; +obj* x_115; +lean::dec(x_97); +lean::dec(x_91); +lean::dec(x_92); +x_115 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_84 = x_115; +goto lbl_85; } } } -lbl_114: +lbl_85: { -obj* x_144; -if (lean::obj_tag(x_104) == 0) +obj* x_116; obj* x_117; +x_116 = lean::box(3); +x_117 = l_lean_parser_syntax_as__node___main(x_116); +if (lean::obj_tag(x_117) == 0) { -obj* x_146; -x_146 = lean::box(3); -x_144 = x_146; -goto lbl_145; +obj* x_118; obj* x_119; +x_118 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_119 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_119, 0, x_0); +lean::cnstr_set(x_119, 1, x_28); +lean::cnstr_set(x_119, 2, x_56); +lean::cnstr_set(x_119, 3, x_84); +lean::cnstr_set(x_119, 4, x_118); +return x_119; } else { -obj* x_147; -x_147 = lean::cnstr_get(x_104, 0); -lean::inc(x_147); -lean::dec(x_104); -x_144 = x_147; -goto lbl_145; -} -lbl_145: -{ -obj* x_150; -x_150 = l_lean_parser_syntax_as__node___main(x_144); -if (lean::obj_tag(x_150) == 0) -{ -obj* x_151; obj* x_152; -x_151 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_152 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_152, 0, x_5); -lean::cnstr_set(x_152, 1, x_41); -lean::cnstr_set(x_152, 2, x_77); -lean::cnstr_set(x_152, 3, x_113); -lean::cnstr_set(x_152, 4, x_151); -return x_152; -} -else -{ -obj* x_153; obj* x_155; obj* x_156; -x_153 = lean::cnstr_get(x_150, 0); -if (lean::is_exclusive(x_150)) { - lean::cnstr_set(x_150, 0, lean::box(0)); - x_155 = x_150; +obj* x_120; obj* x_122; obj* x_123; +x_120 = lean::cnstr_get(x_117, 0); +if (lean::is_exclusive(x_117)) { + lean::cnstr_set(x_117, 0, lean::box(0)); + x_122 = x_117; } else { - lean::inc(x_153); - lean::dec(x_150); - x_155 = lean::box(0); + lean::inc(x_120); + lean::dec(x_117); + x_122 = lean::box(0); } -x_156 = lean::cnstr_get(x_153, 1); -lean::inc(x_156); -lean::dec(x_153); -if (lean::obj_tag(x_156) == 0) +x_123 = lean::cnstr_get(x_120, 1); +lean::inc(x_123); +lean::dec(x_120); +if (lean::obj_tag(x_123) == 0) { -obj* x_160; obj* x_161; -lean::dec(x_155); -x_160 = lean::box(0); -x_161 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_161, 0, x_5); -lean::cnstr_set(x_161, 1, x_41); -lean::cnstr_set(x_161, 2, x_77); -lean::cnstr_set(x_161, 3, x_113); -lean::cnstr_set(x_161, 4, x_160); -return x_161; +obj* x_127; obj* x_128; +lean::dec(x_122); +x_127 = lean::box(0); +x_128 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_128, 0, x_0); +lean::cnstr_set(x_128, 1, x_28); +lean::cnstr_set(x_128, 2, x_56); +lean::cnstr_set(x_128, 3, x_84); +lean::cnstr_set(x_128, 4, x_127); +return x_128; } else { -obj* x_162; -x_162 = lean::cnstr_get(x_156, 1); -lean::inc(x_162); -if (lean::obj_tag(x_162) == 0) +obj* x_129; +x_129 = lean::cnstr_get(x_123, 1); +lean::inc(x_129); +if (lean::obj_tag(x_129) == 0) { -obj* x_164; -x_164 = lean::cnstr_get(x_156, 0); -lean::inc(x_164); -lean::dec(x_156); -switch (lean::obj_tag(x_164)) { +obj* x_131; +x_131 = lean::cnstr_get(x_123, 0); +lean::inc(x_131); +lean::dec(x_123); +switch (lean::obj_tag(x_131)) { case 0: { -obj* x_167; obj* x_170; obj* x_171; obj* x_172; -x_167 = lean::cnstr_get(x_164, 0); -lean::inc(x_167); -lean::dec(x_164); -if (lean::is_scalar(x_155)) { - x_170 = lean::alloc_cnstr(1, 1, 0); +obj* x_134; obj* x_137; obj* x_138; obj* x_139; +x_134 = lean::cnstr_get(x_131, 0); +lean::inc(x_134); +lean::dec(x_131); +if (lean::is_scalar(x_122)) { + x_137 = lean::alloc_cnstr(1, 1, 0); } else { - x_170 = x_155; + x_137 = x_122; } -lean::cnstr_set(x_170, 0, x_167); -x_171 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_171, 0, x_170); -x_172 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_172, 0, x_5); -lean::cnstr_set(x_172, 1, x_41); -lean::cnstr_set(x_172, 2, x_77); -lean::cnstr_set(x_172, 3, x_113); -lean::cnstr_set(x_172, 4, x_171); -return x_172; +lean::cnstr_set(x_137, 0, x_134); +x_138 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_138, 0, x_137); +x_139 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_139, 0, x_0); +lean::cnstr_set(x_139, 1, x_28); +lean::cnstr_set(x_139, 2, x_56); +lean::cnstr_set(x_139, 3, x_84); +lean::cnstr_set(x_139, 4, x_138); +return x_139; } case 3: { -obj* x_174; obj* x_175; -lean::dec(x_155); -x_174 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_175 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_175, 0, x_5); -lean::cnstr_set(x_175, 1, x_41); -lean::cnstr_set(x_175, 2, x_77); -lean::cnstr_set(x_175, 3, x_113); -lean::cnstr_set(x_175, 4, x_174); -return x_175; +obj* x_141; obj* x_142; +lean::dec(x_122); +x_141 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_142 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_142, 0, x_0); +lean::cnstr_set(x_142, 1, x_28); +lean::cnstr_set(x_142, 2, x_56); +lean::cnstr_set(x_142, 3, x_84); +lean::cnstr_set(x_142, 4, x_141); +return x_142; } default: { -obj* x_178; obj* x_179; -lean::dec(x_155); -lean::dec(x_164); -x_178 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_179 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_179, 0, x_5); -lean::cnstr_set(x_179, 1, x_41); -lean::cnstr_set(x_179, 2, x_77); -lean::cnstr_set(x_179, 3, x_113); -lean::cnstr_set(x_179, 4, x_178); -return x_179; +obj* x_145; obj* x_146; +lean::dec(x_122); +lean::dec(x_131); +x_145 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_146 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_146, 0, x_0); +lean::cnstr_set(x_146, 1, x_28); +lean::cnstr_set(x_146, 2, x_56); +lean::cnstr_set(x_146, 3, x_84); +lean::cnstr_set(x_146, 4, x_145); +return x_146; } } } else { -obj* x_183; obj* x_184; -lean::dec(x_162); -lean::dec(x_155); -lean::dec(x_156); -x_183 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_184 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_184, 0, x_5); -lean::cnstr_set(x_184, 1, x_41); -lean::cnstr_set(x_184, 2, x_77); -lean::cnstr_set(x_184, 3, x_113); -lean::cnstr_set(x_184, 4, x_183); -return x_184; -} -} -} -} -} +obj* x_150; obj* x_151; +lean::dec(x_122); +lean::dec(x_123); +lean::dec(x_129); +x_150 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_151 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_151, 0, x_0); +lean::cnstr_set(x_151, 1, x_28); +lean::cnstr_set(x_151, 2, x_56); +lean::cnstr_set(x_151, 3, x_84); +lean::cnstr_set(x_151, 4, x_150); +return x_151; } } } @@ -11583,183 +10945,87 @@ return x_8; obj* _init_l_lean_parser_command_opt__decl__sig_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_bracketed__binders_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_5 = lean::apply_1(x_1, x_4); +x_6 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_5; obj* x_6; obj* x_9; -x_5 = l_lean_parser_term_bracketed__binders_has__view; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -lean::dec(x_5); -x_9 = lean::apply_1(x_6, x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_10; obj* x_11; -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_9); -lean::cnstr_set(x_13, 1, x_12); -return x_13; +obj* x_7; obj* x_8; +x_7 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_8 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_8, 0, x_5); +lean::cnstr_set(x_8, 1, x_7); +return x_8; } else { -obj* x_14; obj* x_16; obj* x_17; -x_14 = lean::cnstr_get(x_11, 0); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - x_16 = x_11; +obj* x_9; obj* x_11; obj* x_12; +x_9 = lean::cnstr_get(x_6, 0); +if (lean::is_exclusive(x_6)) { + lean::cnstr_set(x_6, 0, lean::box(0)); + x_11 = x_6; } else { - lean::inc(x_14); - lean::dec(x_11); - x_16 = lean::box(0); + lean::inc(x_9); + lean::dec(x_6); + x_11 = lean::box(0); } -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -if (lean::obj_tag(x_17) == 0) +x_12 = lean::cnstr_get(x_9, 1); +lean::inc(x_12); +lean::dec(x_9); +if (lean::obj_tag(x_12) == 0) { -obj* x_21; obj* x_22; -lean::dec(x_16); -x_21 = lean::box(0); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_9); -lean::cnstr_set(x_22, 1, x_21); -return x_22; +obj* x_16; obj* x_17; +lean::dec(x_11); +x_16 = lean::box(0); +x_17 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_17, 0, x_5); +lean::cnstr_set(x_17, 1, x_16); +return x_17; } else { -obj* x_23; -x_23 = lean::cnstr_get(x_17, 1); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) +obj* x_18; +x_18 = lean::cnstr_get(x_12, 1); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 0) { -obj* x_25; obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = l_lean_parser_term_type__spec_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_25); -if (lean::is_scalar(x_16)) { - x_33 = lean::alloc_cnstr(1, 1, 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_12, 0); +lean::inc(x_20); +lean::dec(x_12); +x_23 = l_lean_parser_term_type__spec_has__view; +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_11)) { + x_28 = lean::alloc_cnstr(1, 1, 0); } else { - x_33 = x_16; + x_28 = x_11; } -lean::cnstr_set(x_33, 0, x_32); +lean::cnstr_set(x_28, 0, x_27); +x_29 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_29, 0, x_5); +lean::cnstr_set(x_29, 1, x_28); +return x_29; +} +else +{ +obj* x_33; obj* x_34; +lean::dec(x_11); +lean::dec(x_12); +lean::dec(x_18); +x_33 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_9); +lean::cnstr_set(x_34, 0, x_5); lean::cnstr_set(x_34, 1, x_33); return x_34; } -else -{ -obj* x_38; obj* x_39; -lean::dec(x_23); -lean::dec(x_16); -lean::dec(x_17); -x_38 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_39 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_39, 0, x_9); -lean::cnstr_set(x_39, 1, x_38); -return x_39; -} -} -} -} -else -{ -obj* x_40; obj* x_43; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -lean::dec(x_0); -x_43 = l_lean_parser_syntax_as__node___main(x_40); -if (lean::obj_tag(x_43) == 0) -{ -obj* x_44; obj* x_45; -x_44 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_45 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_45, 0, x_9); -lean::cnstr_set(x_45, 1, x_44); -return x_45; -} -else -{ -obj* x_46; obj* x_48; obj* x_49; -x_46 = lean::cnstr_get(x_43, 0); -if (lean::is_exclusive(x_43)) { - lean::cnstr_set(x_43, 0, lean::box(0)); - x_48 = x_43; -} else { - lean::inc(x_46); - lean::dec(x_43); - x_48 = lean::box(0); -} -x_49 = lean::cnstr_get(x_46, 1); -lean::inc(x_49); -lean::dec(x_46); -if (lean::obj_tag(x_49) == 0) -{ -obj* x_53; obj* x_54; -lean::dec(x_48); -x_53 = lean::box(0); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_9); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -else -{ -obj* x_55; -x_55 = lean::cnstr_get(x_49, 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; -x_57 = lean::cnstr_get(x_49, 0); -lean::inc(x_57); -lean::dec(x_49); -x_60 = l_lean_parser_term_type__spec_has__view; -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_48)) { - x_65 = lean::alloc_cnstr(1, 1, 0); -} else { - x_65 = x_48; -} -lean::cnstr_set(x_65, 0, x_64); -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_9); -lean::cnstr_set(x_66, 1, x_65); -return x_66; -} -else -{ -obj* x_70; obj* x_71; -lean::dec(x_48); -lean::dec(x_49); -lean::dec(x_55); -x_70 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_71 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_71, 0, x_9); -lean::cnstr_set(x_71, 1, x_70); -return x_71; -} -} -} } } } @@ -11821,7 +11087,7 @@ x_24 = l_lean_parser_syntax_as__node___main(x_23); if (lean::obj_tag(x_24) == 0) { obj* x_25; obj* x_26; -x_25 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_25 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_26 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_26, 0, x_22); lean::cnstr_set(x_26, 1, x_25); @@ -11885,7 +11151,7 @@ obj* x_51; obj* x_52; lean::dec(x_29); lean::dec(x_30); lean::dec(x_36); -x_51 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_51 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_52 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_52, 0, x_22); lean::cnstr_set(x_52, 1, x_51); @@ -11904,7 +11170,7 @@ x_56 = l_lean_parser_syntax_as__node___main(x_53); if (lean::obj_tag(x_56) == 0) { obj* x_57; obj* x_58; -x_57 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_57 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_58 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_58, 0, x_22); lean::cnstr_set(x_58, 1, x_57); @@ -11968,7 +11234,7 @@ obj* x_83; obj* x_84; lean::dec(x_68); lean::dec(x_62); lean::dec(x_61); -x_83 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_83 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_84 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_84, 0, x_22); lean::cnstr_set(x_84, 1, x_83); @@ -12218,383 +11484,37 @@ return x_8; obj* _init_l_lean_parser_command_equation_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +lean::cnstr_set(x_4, 3, x_1); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_23) == 0) -{ -if (lean::obj_tag(x_14) == 0) -{ -obj* x_24; -x_24 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_25; obj* x_26; obj* x_27; -x_25 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_26 = lean::box(3); -x_27 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_27, 0, x_5); -lean::cnstr_set(x_27, 1, x_25); -lean::cnstr_set(x_27, 2, x_24); -lean::cnstr_set(x_27, 3, x_26); -return x_27; -} -else -{ -obj* x_28; obj* x_31; obj* x_32; -x_28 = lean::cnstr_get(x_14, 0); -lean::inc(x_28); -lean::dec(x_14); -x_31 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_32 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_32, 0, x_5); -lean::cnstr_set(x_32, 1, x_31); -lean::cnstr_set(x_32, 2, x_24); -lean::cnstr_set(x_32, 3, x_28); -return x_32; -} -} -else -{ -obj* x_33; -x_33 = lean::cnstr_get(x_14, 0); -lean::inc(x_33); -switch (lean::obj_tag(x_33)) { -case 0: -{ -obj* x_35; obj* x_38; obj* x_41; -x_35 = lean::cnstr_get(x_14, 1); -lean::inc(x_35); -lean::dec(x_14); -x_38 = lean::cnstr_get(x_33, 0); -lean::inc(x_38); -lean::dec(x_33); -x_41 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_41, 0, x_38); -if (lean::obj_tag(x_35) == 0) -{ -obj* x_42; obj* x_43; obj* x_44; -x_42 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_43 = lean::box(3); -x_44 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_42); -lean::cnstr_set(x_44, 2, x_41); -lean::cnstr_set(x_44, 3, x_43); -return x_44; -} -else -{ -obj* x_45; obj* x_48; obj* x_49; -x_45 = lean::cnstr_get(x_35, 0); -lean::inc(x_45); -lean::dec(x_35); -x_48 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_49 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_49, 0, x_5); -lean::cnstr_set(x_49, 1, x_48); -lean::cnstr_set(x_49, 2, x_41); -lean::cnstr_set(x_49, 3, x_45); -return x_49; -} -} -case 3: -{ -obj* x_50; obj* x_53; -x_50 = lean::cnstr_get(x_14, 1); -lean::inc(x_50); -lean::dec(x_14); -x_53 = lean::box(0); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_54; obj* x_55; obj* x_56; -x_54 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_55 = lean::box(3); -x_56 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_56, 0, x_5); -lean::cnstr_set(x_56, 1, x_54); -lean::cnstr_set(x_56, 2, x_53); -lean::cnstr_set(x_56, 3, x_55); -return x_56; -} -else -{ -obj* x_57; obj* x_60; obj* x_61; -x_57 = lean::cnstr_get(x_50, 0); -lean::inc(x_57); -lean::dec(x_50); -x_60 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_61 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_61, 0, x_5); -lean::cnstr_set(x_61, 1, x_60); -lean::cnstr_set(x_61, 2, x_53); -lean::cnstr_set(x_61, 3, x_57); -return x_61; -} -} -default: -{ -obj* x_63; obj* x_66; -lean::dec(x_33); -x_63 = lean::cnstr_get(x_14, 1); -lean::inc(x_63); -lean::dec(x_14); -x_66 = lean::box(0); -if (lean::obj_tag(x_63) == 0) -{ -obj* x_67; obj* x_68; obj* x_69; -x_67 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_68 = lean::box(3); -x_69 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_69, 0, x_5); -lean::cnstr_set(x_69, 1, x_67); -lean::cnstr_set(x_69, 2, x_66); -lean::cnstr_set(x_69, 3, x_68); -return x_69; -} -else -{ -obj* x_70; obj* x_73; obj* x_74; -x_70 = lean::cnstr_get(x_63, 0); -lean::inc(x_70); -lean::dec(x_63); -x_73 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_74 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_74, 0, x_5); -lean::cnstr_set(x_74, 1, x_73); -lean::cnstr_set(x_74, 2, x_66); -lean::cnstr_set(x_74, 3, x_70); -return x_74; -} -} -} -} -} -else -{ -obj* x_75; obj* x_77; obj* x_78; obj* x_81; -x_75 = lean::cnstr_get(x_23, 0); -if (lean::is_exclusive(x_23)) { - lean::cnstr_set(x_23, 0, lean::box(0)); - x_77 = x_23; -} else { - lean::inc(x_75); - lean::dec(x_23); - x_77 = lean::box(0); -} -x_78 = lean::cnstr_get(x_75, 1); -lean::inc(x_78); -lean::dec(x_75); -x_81 = l_list_map___main___at_lean_parser_command_equation_has__view_x_27___spec__1(x_78); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_83; -lean::dec(x_77); -x_83 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_84; obj* x_85; -x_84 = lean::box(3); -x_85 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_81); -lean::cnstr_set(x_85, 2, x_83); -lean::cnstr_set(x_85, 3, x_84); -return x_85; -} -else -{ -obj* x_86; obj* x_89; -x_86 = lean::cnstr_get(x_14, 0); -lean::inc(x_86); -lean::dec(x_14); -x_89 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_89, 0, x_5); -lean::cnstr_set(x_89, 1, x_81); -lean::cnstr_set(x_89, 2, x_83); -lean::cnstr_set(x_89, 3, x_86); -return x_89; -} -} -else -{ -obj* x_90; -x_90 = lean::cnstr_get(x_14, 0); -lean::inc(x_90); -switch (lean::obj_tag(x_90)) { -case 0: -{ -obj* x_92; obj* x_95; obj* x_98; -x_92 = lean::cnstr_get(x_14, 1); -lean::inc(x_92); -lean::dec(x_14); -x_95 = lean::cnstr_get(x_90, 0); -lean::inc(x_95); -lean::dec(x_90); -if (lean::is_scalar(x_77)) { - x_98 = lean::alloc_cnstr(1, 1, 0); -} else { - x_98 = x_77; -} -lean::cnstr_set(x_98, 0, x_95); -if (lean::obj_tag(x_92) == 0) -{ -obj* x_99; obj* x_100; -x_99 = lean::box(3); -x_100 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_100, 0, x_5); -lean::cnstr_set(x_100, 1, x_81); -lean::cnstr_set(x_100, 2, x_98); -lean::cnstr_set(x_100, 3, x_99); -return x_100; -} -else -{ -obj* x_101; obj* x_104; -x_101 = lean::cnstr_get(x_92, 0); -lean::inc(x_101); -lean::dec(x_92); -x_104 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_104, 0, x_5); -lean::cnstr_set(x_104, 1, x_81); -lean::cnstr_set(x_104, 2, x_98); -lean::cnstr_set(x_104, 3, x_101); -return x_104; -} -} -case 3: -{ -obj* x_106; obj* x_109; -lean::dec(x_77); -x_106 = lean::cnstr_get(x_14, 1); -lean::inc(x_106); -lean::dec(x_14); -x_109 = lean::box(0); -if (lean::obj_tag(x_106) == 0) -{ -obj* x_110; obj* x_111; -x_110 = lean::box(3); -x_111 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_111, 0, x_5); -lean::cnstr_set(x_111, 1, x_81); -lean::cnstr_set(x_111, 2, x_109); -lean::cnstr_set(x_111, 3, x_110); -return x_111; -} -else -{ -obj* x_112; obj* x_115; -x_112 = lean::cnstr_get(x_106, 0); -lean::inc(x_112); -lean::dec(x_106); -x_115 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_115, 0, x_5); -lean::cnstr_set(x_115, 1, x_81); -lean::cnstr_set(x_115, 2, x_109); -lean::cnstr_set(x_115, 3, x_112); -return x_115; -} -} -default: -{ -obj* x_118; obj* x_121; -lean::dec(x_77); -lean::dec(x_90); -x_118 = lean::cnstr_get(x_14, 1); -lean::inc(x_118); -lean::dec(x_14); -x_121 = lean::box(0); -if (lean::obj_tag(x_118) == 0) -{ -obj* x_122; obj* x_123; -x_122 = lean::box(3); -x_123 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_123, 0, x_5); -lean::cnstr_set(x_123, 1, x_81); -lean::cnstr_set(x_123, 2, x_121); -lean::cnstr_set(x_123, 3, x_122); -return x_123; -} -else -{ -obj* x_124; obj* x_127; -x_124 = lean::cnstr_get(x_118, 0); -lean::inc(x_124); -lean::dec(x_118); -x_127 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_127, 0, x_5); -lean::cnstr_set(x_127, 1, x_81); -lean::cnstr_set(x_127, 2, x_121); -lean::cnstr_set(x_127, 3, x_124); -return x_127; -} -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_equation_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +lean::cnstr_set(x_12, 2, x_0); +lean::cnstr_set(x_12, 3, x_1); +return x_12; } } } @@ -13648,94 +12568,16 @@ return x_1; obj* _init_l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -lean::dec(x_1); -if (x_8 == 0) -{ -obj* x_10; -x_10 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_10) == 0) -{ -obj* x_11; -x_11 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__1; -return x_11; -} -else -{ -obj* x_12; obj* x_15; obj* x_18; obj* x_19; obj* x_20; -x_12 = lean::cnstr_get(x_10, 0); -lean::inc(x_12); -lean::dec(x_10); -x_15 = lean::cnstr_get(x_12, 1); -lean::inc(x_15); -lean::dec(x_12); -x_18 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__2; -x_19 = l_list_map___main___rarg(x_18, x_15); -x_20 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_21; obj* x_24; obj* x_25; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_simple__decl__val_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_24 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_24, 0, x_21); -x_25 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_25, 0, x_24); -return x_25; -} -case 3: -{ -obj* x_26; -x_26 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__3; -return x_26; -} -default: -{ -obj* x_28; -lean::dec(x_0); -x_28 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__3; -return x_28; -} -} -} -} -else -{ -obj* x_30; obj* x_31; obj* x_34; obj* x_35; -lean::dec(x_1); -x_30 = l_lean_parser_command_simple__decl__val_has__view; -x_31 = lean::cnstr_get(x_30, 0); -lean::inc(x_31); -lean::dec(x_30); -x_34 = lean::apply_1(x_31, x_0); -x_35 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_35, 0, x_34); -return x_35; -} -} +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__5() { @@ -13757,237 +12599,249 @@ return x_8; obj* l_lean_parser_command_decl__val_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__5; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__5; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_61; -} -} -} -} +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) +{ +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +if (x_60 == 0) +{ +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(1u); +x_62 = lean::nat_dec_eq(x_41, x_61); +lean::dec(x_41); +if (x_62 == 0) +{ +obj* x_65; +lean::dec(x_26); +x_65 = l_lean_parser_syntax_as__node___main(x_56); +if (lean::obj_tag(x_65) == 0) +{ +obj* x_66; +x_66 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__1; +return x_66; } +else +{ +obj* x_67; obj* x_70; obj* x_73; obj* x_74; obj* x_75; +x_67 = lean::cnstr_get(x_65, 0); +lean::inc(x_67); +lean::dec(x_65); +x_70 = lean::cnstr_get(x_67, 1); +lean::inc(x_70); +lean::dec(x_67); +x_73 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__2; +x_74 = l_list_map___main___rarg(x_73, x_70); +x_75 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_75, 0, x_74); +return x_75; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; -return x_64; -} -} -} -} -lbl_3: +switch (lean::obj_tag(x_56)) { +case 0: { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -lean::dec(x_2); -if (x_68 == 0) -{ -obj* x_70; -x_70 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_70) == 0) -{ -obj* x_71; -x_71 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__1; -return x_71; +obj* x_76; obj* x_79; obj* x_80; +x_76 = lean::cnstr_get(x_56, 0); +lean::inc(x_76); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_79 = lean::alloc_cnstr(1, 1, 0); +} else { + x_79 = x_26; } -else -{ -obj* x_72; obj* x_75; obj* x_78; obj* x_79; obj* x_80; -x_72 = lean::cnstr_get(x_70, 0); -lean::inc(x_72); -lean::dec(x_70); -x_75 = lean::cnstr_get(x_72, 1); -lean::inc(x_75); -lean::dec(x_72); -x_78 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__2; -x_79 = l_list_map___main___rarg(x_78, x_75); -x_80 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_79, 0, x_76); +x_80 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_80, 0, x_79); return x_80; } -} -else -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_81; obj* x_84; obj* x_85; -x_81 = lean::cnstr_get(x_1, 0); -lean::inc(x_81); -lean::dec(x_1); -x_84 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_84, 0, x_81); -x_85 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_85, 0, x_84); -return x_85; -} case 3: { -obj* x_86; -x_86 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__3; -return x_86; +obj* x_82; +lean::dec(x_26); +x_82 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__3; +return x_82; } default: { -obj* x_88; -lean::dec(x_1); -x_88 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__3; -return x_88; +obj* x_85; +lean::dec(x_56); +lean::dec(x_26); +x_85 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__3; +return x_85; } } } } else { -obj* x_90; obj* x_91; obj* x_94; obj* x_95; -lean::dec(x_2); -x_90 = l_lean_parser_command_simple__decl__val_has__view; -x_91 = lean::cnstr_get(x_90, 0); -lean::inc(x_91); -lean::dec(x_90); -x_94 = lean::apply_1(x_91, x_1); -x_95 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_95, 0, x_94); -return x_95; +obj* x_88; obj* x_89; obj* x_92; obj* x_93; +lean::dec(x_26); +lean::dec(x_41); +x_88 = l_lean_parser_command_simple__decl__val_has__view; +x_89 = lean::cnstr_get(x_88, 0); +lean::inc(x_89); +lean::dec(x_88); +x_92 = lean::apply_1(x_89, x_56); +x_93 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_93, 0, x_92); +return x_93; +} +} +else +{ +obj* x_98; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_98 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_98; +} +} +} +} +} +} +} +else +{ +obj* x_101; +lean::dec(x_8); +lean::dec(x_17); +x_101 = l_lean_parser_command_decl__val_has__view_x_27___lambda__1___closed__4; +return x_101; +} +} } } } @@ -14357,123 +13211,9 @@ return x_1; obj* _init_l_lean_parser_command_relaxed__infer__modifier_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; obj* x_6; obj* x_7; -x_6 = lean::box(0); -x_7 = lean::box(3); -x_3 = x_6; -x_4 = x_7; -goto lbl_5; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_1, 0); -lean::inc(x_8); -lean::dec(x_1); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_12, 0, x_0); -lean::cnstr_set(x_12, 1, x_11); -return x_12; -} -case 3: -{ -obj* x_13; obj* x_14; -x_13 = lean::box(0); -x_14 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_14, 0, x_0); -lean::cnstr_set(x_14, 1, x_13); -return x_14; -} -default: -{ -obj* x_16; obj* x_17; -lean::dec(x_1); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_0); -lean::cnstr_set(x_17, 1, x_16); -return x_17; -} -} -} -lbl_5: -{ -switch (lean::obj_tag(x_4)) { -case 0: -{ -obj* x_18; obj* x_21; -x_18 = lean::cnstr_get(x_4, 0); -lean::inc(x_18); -lean::dec(x_4); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_18); -if (lean::obj_tag(x_3) == 0) -{ -obj* x_22; obj* x_23; -x_22 = lean::box(0); -x_23 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_23, 0, x_21); -lean::cnstr_set(x_23, 1, x_22); -return x_23; -} -else -{ -obj* x_24; -x_24 = lean::cnstr_get(x_3, 0); -lean::inc(x_24); -lean::dec(x_3); -x_0 = x_21; -x_1 = x_24; -goto lbl_2; -} -} -case 3: -{ -if (lean::obj_tag(x_3) == 0) -{ -obj* x_27; -x_27 = l_lean_parser_command_relaxed__infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_27; -} -else -{ -obj* x_28; obj* x_31; -x_28 = lean::cnstr_get(x_3, 0); -lean::inc(x_28); -lean::dec(x_3); -x_31 = lean::box(0); -x_0 = x_31; -x_1 = x_28; -goto lbl_2; -} -} -default: -{ -lean::dec(x_4); -if (lean::obj_tag(x_3) == 0) -{ -obj* x_33; -x_33 = l_lean_parser_command_relaxed__infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_33; -} -else -{ -obj* x_34; obj* x_37; -x_34 = lean::cnstr_get(x_3, 0); -lean::inc(x_34); -lean::dec(x_3); -x_37 = lean::box(0); -x_0 = x_37; -x_1 = x_34; -goto lbl_2; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_relaxed__infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_command_relaxed__infer__modifier_has__view_x_27___lambda__1(obj* x_0) { @@ -14819,123 +13559,9 @@ return x_1; obj* _init_l_lean_parser_command_strict__infer__modifier_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; obj* x_6; obj* x_7; -x_6 = lean::box(0); -x_7 = lean::box(3); -x_3 = x_6; -x_4 = x_7; -goto lbl_5; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_1, 0); -lean::inc(x_8); -lean::dec(x_1); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_12, 0, x_0); -lean::cnstr_set(x_12, 1, x_11); -return x_12; -} -case 3: -{ -obj* x_13; obj* x_14; -x_13 = lean::box(0); -x_14 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_14, 0, x_0); -lean::cnstr_set(x_14, 1, x_13); -return x_14; -} -default: -{ -obj* x_16; obj* x_17; -lean::dec(x_1); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_0); -lean::cnstr_set(x_17, 1, x_16); -return x_17; -} -} -} -lbl_5: -{ -switch (lean::obj_tag(x_4)) { -case 0: -{ -obj* x_18; obj* x_21; -x_18 = lean::cnstr_get(x_4, 0); -lean::inc(x_18); -lean::dec(x_4); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_18); -if (lean::obj_tag(x_3) == 0) -{ -obj* x_22; obj* x_23; -x_22 = lean::box(0); -x_23 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_23, 0, x_21); -lean::cnstr_set(x_23, 1, x_22); -return x_23; -} -else -{ -obj* x_24; -x_24 = lean::cnstr_get(x_3, 0); -lean::inc(x_24); -lean::dec(x_3); -x_0 = x_21; -x_1 = x_24; -goto lbl_2; -} -} -case 3: -{ -if (lean::obj_tag(x_3) == 0) -{ -obj* x_27; -x_27 = l_lean_parser_command_strict__infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_27; -} -else -{ -obj* x_28; obj* x_31; -x_28 = lean::cnstr_get(x_3, 0); -lean::inc(x_28); -lean::dec(x_3); -x_31 = lean::box(0); -x_0 = x_31; -x_1 = x_28; -goto lbl_2; -} -} -default: -{ -lean::dec(x_4); -if (lean::obj_tag(x_3) == 0) -{ -obj* x_33; -x_33 = l_lean_parser_command_strict__infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_33; -} -else -{ -obj* x_34; obj* x_37; -x_34 = lean::cnstr_get(x_3, 0); -lean::inc(x_34); -lean::dec(x_3); -x_37 = lean::box(0); -x_0 = x_37; -x_1 = x_34; -goto lbl_2; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_strict__infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_command_strict__infer__modifier_has__view_x_27___lambda__1(obj* x_0) { @@ -15270,43 +13896,16 @@ return x_8; obj* _init_l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_command_strict__infer__modifier_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_command_relaxed__infer__modifier_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_relaxed__infer__modifier_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__2() { @@ -15328,186 +13927,179 @@ return x_8; obj* l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_command_strict__infer__modifier_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_command_relaxed__infer__modifier_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_command_strict__infer__modifier_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_command_relaxed__infer__modifier_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_command_infer__modifier_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -15908,299 +14500,97 @@ return x_5; obj* _init_l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +obj* x_3; obj* x_4; obj* x_5; obj* x_6; +x_3 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_4 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; +x_5 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; +x_6 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_6, 0, x_0); +lean::cnstr_set(x_6, 1, x_3); +lean::cnstr_set(x_6, 2, x_4); +lean::cnstr_set(x_6, 3, x_5); +return x_6; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +obj* x_7; obj* x_9; obj* x_10; +x_7 = lean::cnstr_get(x_2, 0); +if (lean::is_exclusive(x_2)) { + lean::cnstr_set(x_2, 0, lean::box(0)); + x_9 = x_2; +} else { + lean::inc(x_7); + lean::dec(x_2); + x_9 = lean::box(0); } -default: +x_10 = lean::cnstr_get(x_7, 1); +lean::inc(x_10); +lean::dec(x_7); +if (lean::obj_tag(x_10) == 0) { -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; +obj* x_14; obj* x_15; obj* x_16; +lean::dec(x_9); +x_14 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_15 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; +x_16 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_16, 0, x_0); +lean::cnstr_set(x_16, 1, x_14); +lean::cnstr_set(x_16, 2, x_0); +lean::cnstr_set(x_16, 3, x_15); +return x_16; } -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) +else { obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +x_17 = lean::cnstr_get(x_10, 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_10, 0); +lean::inc(x_19); +lean::dec(x_10); +x_22 = l_lean_parser_command_infer__modifier_has__view; +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); +if (lean::is_scalar(x_9)) { + x_27 = lean::alloc_cnstr(1, 1, 0); +} else { + x_27 = x_9; } -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; +lean::cnstr_set(x_27, 0, x_26); x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_34; -x_34 = lean::box(3); -x_31 = x_14; -x_32 = x_34; -goto lbl_33; +x_29 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; +x_30 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_30, 0, x_0); +lean::cnstr_set(x_30, 1, x_28); +lean::cnstr_set(x_30, 2, x_27); +lean::cnstr_set(x_30, 3, x_29); +return x_30; } else { -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_14, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_14, 1); -lean::inc(x_37); -lean::dec(x_14); -x_31 = x_37; -x_32 = x_35; -goto lbl_33; -} -lbl_33: -{ -obj* x_40; -x_40 = l_lean_parser_syntax_as__node___main(x_32); -if (lean::obj_tag(x_40) == 0) -{ -if (lean::obj_tag(x_31) == 0) -{ -obj* x_41; obj* x_42; obj* x_43; -x_41 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_42 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; -x_43 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_43, 0, x_5); -lean::cnstr_set(x_43, 1, x_23); -lean::cnstr_set(x_43, 2, x_41); -lean::cnstr_set(x_43, 3, x_42); -return x_43; -} -else -{ -obj* x_44; obj* x_47; obj* x_48; obj* x_51; obj* x_52; obj* x_53; -x_44 = lean::cnstr_get(x_31, 0); -lean::inc(x_44); -lean::dec(x_31); -x_47 = l_lean_parser_command_opt__decl__sig_has__view; -x_48 = lean::cnstr_get(x_47, 0); -lean::inc(x_48); -lean::dec(x_47); -x_51 = lean::apply_1(x_48, x_44); -x_52 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_53 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_52); -lean::cnstr_set(x_53, 3, x_51); -return x_53; -} -} -else -{ -obj* x_54; obj* x_56; obj* x_57; -x_54 = lean::cnstr_get(x_40, 0); -if (lean::is_exclusive(x_40)) { - lean::cnstr_set(x_40, 0, lean::box(0)); - x_56 = x_40; -} else { - lean::inc(x_54); - lean::dec(x_40); - x_56 = lean::box(0); -} -x_57 = lean::cnstr_get(x_54, 1); -lean::inc(x_57); -lean::dec(x_54); -if (lean::obj_tag(x_57) == 0) -{ -obj* x_61; -lean::dec(x_56); -x_61 = lean::box(0); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_62; obj* x_63; -x_62 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; -x_63 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_23); -lean::cnstr_set(x_63, 2, x_61); -lean::cnstr_set(x_63, 3, x_62); -return x_63; -} -else -{ -obj* x_64; obj* x_67; obj* x_68; obj* x_71; obj* x_72; -x_64 = lean::cnstr_get(x_31, 0); -lean::inc(x_64); -lean::dec(x_31); -x_67 = l_lean_parser_command_opt__decl__sig_has__view; -x_68 = lean::cnstr_get(x_67, 0); -lean::inc(x_68); -lean::dec(x_67); -x_71 = lean::apply_1(x_68, x_64); -x_72 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_72, 0, x_5); -lean::cnstr_set(x_72, 1, x_23); -lean::cnstr_set(x_72, 2, x_61); -lean::cnstr_set(x_72, 3, x_71); -return x_72; -} -} -else -{ -obj* x_73; -x_73 = lean::cnstr_get(x_57, 1); -lean::inc(x_73); -if (lean::obj_tag(x_73) == 0) -{ -obj* x_75; obj* x_78; obj* x_79; obj* x_82; obj* x_83; -x_75 = lean::cnstr_get(x_57, 0); -lean::inc(x_75); -lean::dec(x_57); -x_78 = l_lean_parser_command_infer__modifier_has__view; -x_79 = lean::cnstr_get(x_78, 0); -lean::inc(x_79); -lean::dec(x_78); -x_82 = lean::apply_1(x_79, x_75); -if (lean::is_scalar(x_56)) { - x_83 = lean::alloc_cnstr(1, 1, 0); -} else { - x_83 = x_56; -} -lean::cnstr_set(x_83, 0, x_82); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_84; obj* x_85; -x_84 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; -x_85 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_23); -lean::cnstr_set(x_85, 2, x_83); -lean::cnstr_set(x_85, 3, x_84); -return x_85; -} -else -{ -obj* x_86; obj* x_89; obj* x_90; obj* x_93; obj* x_94; -x_86 = lean::cnstr_get(x_31, 0); -lean::inc(x_86); -lean::dec(x_31); -x_89 = l_lean_parser_command_opt__decl__sig_has__view; -x_90 = lean::cnstr_get(x_89, 0); -lean::inc(x_90); -lean::dec(x_89); -x_93 = lean::apply_1(x_90, x_86); -x_94 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_83); -lean::cnstr_set(x_94, 3, x_93); -return x_94; -} -} -else -{ -lean::dec(x_56); -lean::dec(x_57); -lean::dec(x_73); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_98; obj* x_99; obj* x_100; -x_98 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_99 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; -x_100 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_100, 0, x_5); -lean::cnstr_set(x_100, 1, x_23); -lean::cnstr_set(x_100, 2, x_98); -lean::cnstr_set(x_100, 3, x_99); -return x_100; -} -else -{ -obj* x_101; obj* x_104; obj* x_105; obj* x_108; obj* x_109; obj* x_110; -x_101 = lean::cnstr_get(x_31, 0); -lean::inc(x_101); -lean::dec(x_31); -x_104 = l_lean_parser_command_opt__decl__sig_has__view; -x_105 = lean::cnstr_get(x_104, 0); -lean::inc(x_105); -lean::dec(x_104); -x_108 = lean::apply_1(x_105, x_101); -x_109 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_110 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_110, 0, x_5); -lean::cnstr_set(x_110, 1, x_23); -lean::cnstr_set(x_110, 2, x_109); -lean::cnstr_set(x_110, 3, x_108); -return x_110; -} -} -} -} -} -} +obj* x_34; obj* x_35; obj* x_36; obj* x_37; +lean::dec(x_9); +lean::dec(x_17); +lean::dec(x_10); +x_34 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_35 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; +x_36 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; +x_37 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_37, 0, x_0); +lean::cnstr_set(x_37, 1, x_34); +lean::cnstr_set(x_37, 2, x_35); +lean::cnstr_set(x_37, 3, x_36); +return x_37; } } } @@ -17131,353 +15521,214 @@ return x_9; obj* _init_l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; +obj* x_0; obj* x_1; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; x_0 = lean::box(0); -x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_2 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_2, 0, x_1); -lean::cnstr_set(x_2, 1, x_0); -return x_2; +x_1 = lean::mk_string("NOT_AN_IDENT"); +lean::inc(x_1); +x_3 = l_lean_parser_substring_of__string(x_1); +x_4 = lean::box(0); +x_5 = lean_name_mk_string(x_4, x_1); +x_6 = lean::box(0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_0); +lean::cnstr_set(x_7, 1, x_3); +lean::cnstr_set(x_7, 2, x_5); +lean::cnstr_set(x_7, 3, x_6); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_8, 0, x_7); +lean::cnstr_set(x_8, 1, x_6); +return x_8; } } obj* _init_l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; -x_8 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_5 = x_8; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_0 = x_4; +goto lbl_1; } else { -obj* x_9; obj* x_12; obj* x_15; -x_9 = lean::cnstr_get(x_7, 0); -lean::inc(x_9); -lean::dec(x_7); -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -x_15 = l_list_map___main___at_lean_parser_command_struct__binder__content_has__view_x_27___spec__1(x_12); -x_5 = x_15; -goto lbl_6; +obj* x_5; obj* x_8; obj* x_11; +x_5 = lean::cnstr_get(x_3, 0); +lean::inc(x_5); +lean::dec(x_3); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_struct__binder__content_has__view_x_27___spec__1(x_8); +x_0 = x_11; +goto lbl_1; } -lbl_6: +lbl_1: { -obj* x_16; obj* x_17; -if (lean::obj_tag(x_0) == 0) +obj* x_12; obj* x_14; obj* x_15; +x_14 = lean::box(3); +x_15 = l_lean_parser_syntax_as__node___main(x_14); +if (lean::obj_tag(x_15) == 0) { -obj* x_19; -x_19 = lean::box(3); -x_16 = x_0; -x_17 = x_19; -goto lbl_18; +obj* x_16; +x_16 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; +x_12 = x_16; +goto lbl_13; } else { -obj* x_20; obj* x_22; -x_20 = lean::cnstr_get(x_0, 0); +obj* x_17; obj* x_19; obj* x_20; +x_17 = lean::cnstr_get(x_15, 0); +if (lean::is_exclusive(x_15)) { + lean::cnstr_set(x_15, 0, lean::box(0)); + x_19 = x_15; +} else { + lean::inc(x_17); + lean::dec(x_15); + x_19 = lean::box(0); +} +x_20 = lean::cnstr_get(x_17, 1); lean::inc(x_20); -x_22 = lean::cnstr_get(x_0, 1); -lean::inc(x_22); -lean::dec(x_0); -x_16 = x_22; -x_17 = x_20; -goto lbl_18; -} -lbl_18: +lean::dec(x_17); +if (lean::obj_tag(x_20) == 0) { -obj* x_25; obj* x_27; -x_27 = l_lean_parser_syntax_as__node___main(x_17); -if (lean::obj_tag(x_27) == 0) -{ -obj* x_28; -x_28 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_25 = x_28; -goto lbl_26; +obj* x_24; +lean::dec(x_19); +x_24 = lean::box(0); +x_12 = x_24; +goto lbl_13; } else { -obj* x_29; obj* x_31; obj* x_32; -x_29 = lean::cnstr_get(x_27, 0); -if (lean::is_exclusive(x_27)) { - lean::cnstr_set(x_27, 0, lean::box(0)); - x_31 = x_27; +obj* x_25; +x_25 = lean::cnstr_get(x_20, 1); +lean::inc(x_25); +if (lean::obj_tag(x_25) == 0) +{ +obj* x_27; obj* x_30; obj* x_31; obj* x_34; obj* x_35; +x_27 = lean::cnstr_get(x_20, 0); +lean::inc(x_27); +lean::dec(x_20); +x_30 = l_lean_parser_command_infer__modifier_has__view; +x_31 = lean::cnstr_get(x_30, 0); +lean::inc(x_31); +lean::dec(x_30); +x_34 = lean::apply_1(x_31, x_27); +if (lean::is_scalar(x_19)) { + x_35 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_29); - lean::dec(x_27); - x_31 = lean::box(0); + x_35 = x_19; } -x_32 = lean::cnstr_get(x_29, 1); -lean::inc(x_32); -lean::dec(x_29); -if (lean::obj_tag(x_32) == 0) -{ -obj* x_36; -lean::dec(x_31); -x_36 = lean::box(0); -x_25 = x_36; -goto lbl_26; +lean::cnstr_set(x_35, 0, x_34); +x_12 = x_35; +goto lbl_13; } else { -obj* x_37; -x_37 = lean::cnstr_get(x_32, 1); -lean::inc(x_37); -if (lean::obj_tag(x_37) == 0) +obj* x_39; +lean::dec(x_25); +lean::dec(x_20); +lean::dec(x_19); +x_39 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; +x_12 = x_39; +goto lbl_13; +} +} +} +lbl_13: { -obj* x_39; obj* x_42; obj* x_43; obj* x_46; obj* x_47; -x_39 = lean::cnstr_get(x_32, 0); -lean::inc(x_39); -lean::dec(x_32); -x_42 = l_lean_parser_command_infer__modifier_has__view; -x_43 = lean::cnstr_get(x_42, 0); -lean::inc(x_43); -lean::dec(x_42); -x_46 = lean::apply_1(x_43, x_39); -if (lean::is_scalar(x_31)) { - x_47 = lean::alloc_cnstr(1, 1, 0); +obj* x_40; obj* x_41; obj* x_44; obj* x_45; obj* x_46; +x_40 = l_lean_parser_command_opt__decl__sig_has__view; +x_41 = lean::cnstr_get(x_40, 0); +lean::inc(x_41); +lean::dec(x_40); +x_44 = lean::box(3); +x_45 = lean::apply_1(x_41, x_44); +x_46 = l_lean_parser_syntax_as__node___main(x_44); +if (lean::obj_tag(x_46) == 0) +{ +obj* x_47; obj* x_48; +x_47 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_48 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_48, 0, x_0); +lean::cnstr_set(x_48, 1, x_12); +lean::cnstr_set(x_48, 2, x_45); +lean::cnstr_set(x_48, 3, x_47); +return x_48; +} +else +{ +obj* x_49; obj* x_51; obj* x_52; +x_49 = lean::cnstr_get(x_46, 0); +if (lean::is_exclusive(x_46)) { + lean::cnstr_set(x_46, 0, lean::box(0)); + x_51 = x_46; } else { - x_47 = x_31; + lean::inc(x_49); + lean::dec(x_46); + x_51 = lean::box(0); } -lean::cnstr_set(x_47, 0, x_46); -x_25 = x_47; -goto lbl_26; -} -else -{ -obj* x_51; -lean::dec(x_32); -lean::dec(x_31); -lean::dec(x_37); -x_51 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_25 = x_51; -goto lbl_26; -} -} -} -lbl_26: -{ -obj* x_52; obj* x_53; -if (lean::obj_tag(x_16) == 0) -{ -obj* x_55; -x_55 = lean::box(3); -x_52 = x_16; -x_53 = x_55; -goto lbl_54; -} -else -{ -obj* x_56; obj* x_58; -x_56 = lean::cnstr_get(x_16, 0); -lean::inc(x_56); -x_58 = lean::cnstr_get(x_16, 1); -lean::inc(x_58); -lean::dec(x_16); -x_52 = x_58; -x_53 = x_56; -goto lbl_54; -} -lbl_54: -{ -obj* x_61; obj* x_62; obj* x_65; -x_61 = l_lean_parser_command_opt__decl__sig_has__view; -x_62 = lean::cnstr_get(x_61, 0); -lean::inc(x_62); -lean::dec(x_61); -x_65 = lean::apply_1(x_62, x_53); +x_52 = lean::cnstr_get(x_49, 1); +lean::inc(x_52); +lean::dec(x_49); if (lean::obj_tag(x_52) == 0) { -obj* x_66; obj* x_67; -x_66 = lean::box(3); -x_67 = l_lean_parser_syntax_as__node___main(x_66); -if (lean::obj_tag(x_67) == 0) +obj* x_56; obj* x_57; +lean::dec(x_51); +x_56 = lean::box(0); +x_57 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_57, 0, x_0); +lean::cnstr_set(x_57, 1, x_12); +lean::cnstr_set(x_57, 2, x_45); +lean::cnstr_set(x_57, 3, x_56); +return x_57; +} +else { -obj* x_68; obj* x_69; -x_68 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +obj* x_58; +x_58 = lean::cnstr_get(x_52, 1); +lean::inc(x_58); +if (lean::obj_tag(x_58) == 0) +{ +obj* x_60; obj* x_63; obj* x_64; obj* x_67; obj* x_68; obj* x_69; +x_60 = lean::cnstr_get(x_52, 0); +lean::inc(x_60); +lean::dec(x_52); +x_63 = l_lean_parser_term_binder__default_has__view; +x_64 = lean::cnstr_get(x_63, 0); +lean::inc(x_64); +lean::dec(x_63); +x_67 = lean::apply_1(x_64, x_60); +if (lean::is_scalar(x_51)) { + x_68 = lean::alloc_cnstr(1, 1, 0); +} else { + x_68 = x_51; +} +lean::cnstr_set(x_68, 0, x_67); x_69 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_69, 0, x_5); -lean::cnstr_set(x_69, 1, x_25); -lean::cnstr_set(x_69, 2, x_65); +lean::cnstr_set(x_69, 0, x_0); +lean::cnstr_set(x_69, 1, x_12); +lean::cnstr_set(x_69, 2, x_45); lean::cnstr_set(x_69, 3, x_68); return x_69; } else { -obj* x_70; obj* x_72; obj* x_73; -x_70 = lean::cnstr_get(x_67, 0); -if (lean::is_exclusive(x_67)) { - lean::cnstr_set(x_67, 0, lean::box(0)); - x_72 = x_67; -} else { - lean::inc(x_70); - lean::dec(x_67); - x_72 = lean::box(0); -} -x_73 = lean::cnstr_get(x_70, 1); -lean::inc(x_73); -lean::dec(x_70); -if (lean::obj_tag(x_73) == 0) -{ -obj* x_77; obj* x_78; -lean::dec(x_72); -x_77 = lean::box(0); -x_78 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_78, 0, x_5); -lean::cnstr_set(x_78, 1, x_25); -lean::cnstr_set(x_78, 2, x_65); -lean::cnstr_set(x_78, 3, x_77); -return x_78; -} -else -{ -obj* x_79; -x_79 = lean::cnstr_get(x_73, 1); -lean::inc(x_79); -if (lean::obj_tag(x_79) == 0) -{ -obj* x_81; obj* x_84; obj* x_85; obj* x_88; obj* x_89; obj* x_90; -x_81 = lean::cnstr_get(x_73, 0); -lean::inc(x_81); -lean::dec(x_73); -x_84 = l_lean_parser_term_binder__default_has__view; -x_85 = lean::cnstr_get(x_84, 0); -lean::inc(x_85); -lean::dec(x_84); -x_88 = lean::apply_1(x_85, x_81); -if (lean::is_scalar(x_72)) { - x_89 = lean::alloc_cnstr(1, 1, 0); -} else { - x_89 = x_72; -} -lean::cnstr_set(x_89, 0, x_88); -x_90 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_90, 0, x_5); -lean::cnstr_set(x_90, 1, x_25); -lean::cnstr_set(x_90, 2, x_65); -lean::cnstr_set(x_90, 3, x_89); -return x_90; -} -else -{ -obj* x_94; obj* x_95; -lean::dec(x_73); -lean::dec(x_79); -lean::dec(x_72); -x_94 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_95 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_95, 0, x_5); -lean::cnstr_set(x_95, 1, x_25); -lean::cnstr_set(x_95, 2, x_65); -lean::cnstr_set(x_95, 3, x_94); -return x_95; -} -} -} -} -else -{ -obj* x_96; obj* x_99; -x_96 = lean::cnstr_get(x_52, 0); -lean::inc(x_96); +obj* x_73; obj* x_74; +lean::dec(x_58); +lean::dec(x_51); lean::dec(x_52); -x_99 = l_lean_parser_syntax_as__node___main(x_96); -if (lean::obj_tag(x_99) == 0) -{ -obj* x_100; obj* x_101; -x_100 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_101 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_101, 0, x_5); -lean::cnstr_set(x_101, 1, x_25); -lean::cnstr_set(x_101, 2, x_65); -lean::cnstr_set(x_101, 3, x_100); -return x_101; -} -else -{ -obj* x_102; obj* x_104; obj* x_105; -x_102 = lean::cnstr_get(x_99, 0); -if (lean::is_exclusive(x_99)) { - lean::cnstr_set(x_99, 0, lean::box(0)); - x_104 = x_99; -} else { - lean::inc(x_102); - lean::dec(x_99); - x_104 = lean::box(0); -} -x_105 = lean::cnstr_get(x_102, 1); -lean::inc(x_105); -lean::dec(x_102); -if (lean::obj_tag(x_105) == 0) -{ -obj* x_109; obj* x_110; -lean::dec(x_104); -x_109 = lean::box(0); -x_110 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_110, 0, x_5); -lean::cnstr_set(x_110, 1, x_25); -lean::cnstr_set(x_110, 2, x_65); -lean::cnstr_set(x_110, 3, x_109); -return x_110; -} -else -{ -obj* x_111; -x_111 = lean::cnstr_get(x_105, 1); -lean::inc(x_111); -if (lean::obj_tag(x_111) == 0) -{ -obj* x_113; obj* x_116; obj* x_117; obj* x_120; obj* x_121; obj* x_122; -x_113 = lean::cnstr_get(x_105, 0); -lean::inc(x_113); -lean::dec(x_105); -x_116 = l_lean_parser_term_binder__default_has__view; -x_117 = lean::cnstr_get(x_116, 0); -lean::inc(x_117); -lean::dec(x_116); -x_120 = lean::apply_1(x_117, x_113); -if (lean::is_scalar(x_104)) { - x_121 = lean::alloc_cnstr(1, 1, 0); -} else { - x_121 = x_104; -} -lean::cnstr_set(x_121, 0, x_120); -x_122 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_122, 0, x_5); -lean::cnstr_set(x_122, 1, x_25); -lean::cnstr_set(x_122, 2, x_65); -lean::cnstr_set(x_122, 3, x_121); -return x_122; -} -else -{ -obj* x_126; obj* x_127; -lean::dec(x_111); -lean::dec(x_104); -lean::dec(x_105); -x_126 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_127 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_127, 0, x_5); -lean::cnstr_set(x_127, 1, x_25); -lean::cnstr_set(x_127, 2, x_65); -lean::cnstr_set(x_127, 3, x_126); -return x_127; -} -} -} -} +x_73 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_74 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_74, 0, x_0); +lean::cnstr_set(x_74, 1, x_12); +lean::cnstr_set(x_74, 2, x_45); +lean::cnstr_set(x_74, 3, x_73); +return x_74; } } } @@ -17683,7 +15934,7 @@ x_80 = l_lean_parser_syntax_as__node___main(x_79); if (lean::obj_tag(x_80) == 0) { obj* x_81; obj* x_82; -x_81 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_81 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; x_82 = lean::alloc_cnstr(0, 4, 0); lean::cnstr_set(x_82, 0, x_18); lean::cnstr_set(x_82, 1, x_38); @@ -17753,7 +16004,7 @@ obj* x_107; obj* x_108; lean::dec(x_86); lean::dec(x_92); lean::dec(x_85); -x_107 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_107 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; x_108 = lean::alloc_cnstr(0, 4, 0); lean::cnstr_set(x_108, 0, x_18); lean::cnstr_set(x_108, 1, x_38); @@ -17774,7 +16025,7 @@ x_112 = l_lean_parser_syntax_as__node___main(x_109); if (lean::obj_tag(x_112) == 0) { obj* x_113; obj* x_114; -x_113 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_113 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; x_114 = lean::alloc_cnstr(0, 4, 0); lean::cnstr_set(x_114, 0, x_18); lean::cnstr_set(x_114, 1, x_38); @@ -17844,7 +16095,7 @@ obj* x_139; obj* x_140; lean::dec(x_124); lean::dec(x_118); lean::dec(x_117); -x_139 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_139 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; x_140 = lean::alloc_cnstr(0, 4, 0); lean::cnstr_set(x_140, 0, x_18); lean::cnstr_set(x_140, 1, x_38); @@ -18152,43 +16403,16 @@ return x_8; obj* _init_l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_command_struct__binder__content_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_command_notation__like_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__like_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__2() { @@ -18210,186 +16434,179 @@ return x_8; obj* l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_command_struct__binder__content_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_command_notation__like_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_command_struct__binder__content_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_command_notation__like_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_command_struct__explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -18499,216 +16716,14 @@ return x_5; obj* _init_l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_command_struct__explicit__binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_command_struct__explicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -19154,216 +17169,14 @@ return x_5; obj* _init_l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_command_struct__binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -19796,216 +17609,14 @@ return x_8; obj* _init_l_lean_parser_command_strict__implicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_command_struct__binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_command_strict__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -20438,216 +18049,14 @@ return x_8; obj* _init_l_lean_parser_command_inst__implicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_command_struct__binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_struct__implicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_command_inst__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -21080,81 +18489,16 @@ return x_8; obj* _init_l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -lean::dec(x_1); -if (x_10 == 0) -{ -obj* x_12; obj* x_13; obj* x_16; obj* x_17; -x_12 = l_lean_parser_command_inst__implicit__binder_has__view; -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -lean::dec(x_12); -x_16 = lean::apply_1(x_13, x_0); -x_17 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_17, 0, x_16); -return x_17; -} -else -{ -obj* x_18; obj* x_19; obj* x_22; obj* x_23; -x_18 = l_lean_parser_command_strict__implicit__binder_has__view; -x_19 = lean::cnstr_get(x_18, 0); -lean::inc(x_19); -lean::dec(x_18); -x_22 = lean::apply_1(x_19, x_0); -x_23 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_23, 0, x_22); -return x_23; -} -} -else -{ -obj* x_25; obj* x_26; obj* x_29; obj* x_30; -lean::dec(x_1); -x_25 = l_lean_parser_command_struct__implicit__binder_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_0); -x_30 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_30, 0, x_29); -return x_30; -} -} -else -{ -obj* x_32; obj* x_33; obj* x_36; obj* x_37; -lean::dec(x_1); -x_32 = l_lean_parser_command_struct__explicit__binder_has__view; -x_33 = lean::cnstr_get(x_32, 0); -lean::inc(x_33); -lean::dec(x_32); -x_36 = lean::apply_1(x_33, x_0); -x_37 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_37, 0, x_36); -return x_37; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_struct__explicit__binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__2() { @@ -21176,139 +18520,201 @@ return x_8; obj* l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +if (x_58 == 0) +{ +obj* x_59; uint8 x_60; +x_59 = lean::mk_nat_obj(2u); +x_60 = lean::nat_dec_eq(x_39, x_59); +lean::dec(x_39); +if (x_60 == 0) +{ +obj* x_62; obj* x_63; obj* x_66; obj* x_67; +x_62 = l_lean_parser_command_inst__implicit__binder_has__view; +x_63 = lean::cnstr_get(x_62, 0); +lean::inc(x_63); +lean::dec(x_62); +x_66 = lean::apply_1(x_63, x_52); +x_67 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_67, 0, x_66); +return x_67; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_68; obj* x_69; obj* x_72; obj* x_73; +x_68 = l_lean_parser_command_strict__implicit__binder_has__view; +x_69 = lean::cnstr_get(x_68, 0); +lean::inc(x_69); +lean::dec(x_68); +x_72 = lean::apply_1(x_69, x_52); +x_73 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_73, 0, x_72); +return x_73; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_75; obj* x_76; obj* x_79; obj* x_80; +lean::dec(x_39); +x_75 = l_lean_parser_command_struct__implicit__binder_has__view; +x_76 = lean::cnstr_get(x_75, 0); +lean::inc(x_76); +lean::dec(x_75); +x_79 = lean::apply_1(x_76, x_52); +x_80 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_80, 0, x_79); +return x_80; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_82; obj* x_83; obj* x_86; obj* x_87; +lean::dec(x_39); +x_82 = l_lean_parser_command_struct__explicit__binder_has__view; +x_83 = lean::cnstr_get(x_82, 0); +lean::inc(x_83); +lean::dec(x_82); +x_86 = lean::apply_1(x_83, x_52); +x_87 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_87, 0, x_86); +return x_87; +} +} +else +{ +obj* x_91; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_91 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_91; } } } @@ -21318,84 +18724,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_94; +lean::dec(x_8); +lean::dec(x_17); +x_94 = l_lean_parser_command_structure__field__block_has__view_x_27___lambda__1___closed__1; +return x_94; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) -{ -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -lean::dec(x_2); -if (x_70 == 0) -{ -obj* x_72; obj* x_73; obj* x_76; obj* x_77; -x_72 = l_lean_parser_command_inst__implicit__binder_has__view; -x_73 = lean::cnstr_get(x_72, 0); -lean::inc(x_73); -lean::dec(x_72); -x_76 = lean::apply_1(x_73, x_1); -x_77 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_77, 0, x_76); -return x_77; -} -else -{ -obj* x_78; obj* x_79; obj* x_82; obj* x_83; -x_78 = l_lean_parser_command_strict__implicit__binder_has__view; -x_79 = lean::cnstr_get(x_78, 0); -lean::inc(x_79); -lean::dec(x_78); -x_82 = lean::apply_1(x_79, x_1); -x_83 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_83, 0, x_82); -return x_83; -} -} -else -{ -obj* x_85; obj* x_86; obj* x_89; obj* x_90; -lean::dec(x_2); -x_85 = l_lean_parser_command_struct__implicit__binder_has__view; -x_86 = lean::cnstr_get(x_85, 0); -lean::inc(x_86); -lean::dec(x_85); -x_89 = lean::apply_1(x_86, x_1); -x_90 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_90, 0, x_89); -return x_90; -} -} -else -{ -obj* x_92; obj* x_93; obj* x_96; obj* x_97; -lean::dec(x_2); -x_92 = l_lean_parser_command_struct__explicit__binder_has__view; -x_93 = lean::cnstr_get(x_92, 0); -lean::inc(x_93); -lean::dec(x_92); -x_96 = lean::apply_1(x_93, x_1); -x_97 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_97, 0, x_96); -return x_97; -} -} } } obj* l_lean_parser_command_structure__field__block_has__view_x_27___lambda__2(obj* x_0) { @@ -22128,211 +19465,35 @@ return x_9; obj* _init_l_lean_parser_command_old__univ__params_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_23) == 0) -{ -if (lean::obj_tag(x_14) == 0) -{ -obj* x_24; obj* x_25; obj* x_26; -x_24 = lean::box(0); -x_25 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_26, 0, x_5); -lean::cnstr_set(x_26, 1, x_25); -lean::cnstr_set(x_26, 2, x_24); -return x_26; -} -else -{ -obj* x_27; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -lean::dec(x_14); -switch (lean::obj_tag(x_27)) { -case 0: -{ -obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -lean::dec(x_27); -x_33 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_33, 0, x_30); -x_34 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_34); -lean::cnstr_set(x_35, 2, x_33); -return x_35; -} -case 3: -{ -obj* x_36; obj* x_37; obj* x_38; -x_36 = lean::box(0); -x_37 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_38, 0, x_5); -lean::cnstr_set(x_38, 1, x_37); -lean::cnstr_set(x_38, 2, x_36); -return x_38; -} -default: -{ -obj* x_40; obj* x_41; obj* x_42; -lean::dec(x_27); -x_40 = lean::box(0); -x_41 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_42 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_42, 0, x_5); -lean::cnstr_set(x_42, 1, x_41); -lean::cnstr_set(x_42, 2, x_40); -return x_42; -} -} -} -} -else -{ -obj* x_43; obj* x_45; obj* x_46; obj* x_49; -x_43 = lean::cnstr_get(x_23, 0); -if (lean::is_exclusive(x_23)) { - lean::cnstr_set(x_23, 0, lean::box(0)); - x_45 = x_23; -} else { - lean::inc(x_43); - lean::dec(x_23); - x_45 = lean::box(0); -} -x_46 = lean::cnstr_get(x_43, 1); -lean::inc(x_46); -lean::dec(x_43); -x_49 = l_list_map___main___at_lean_parser_command_old__univ__params_has__view_x_27___spec__1(x_46); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_51; obj* x_52; -lean::dec(x_45); -x_51 = lean::box(0); -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_49); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_14, 0); -lean::inc(x_53); -lean::dec(x_14); -switch (lean::obj_tag(x_53)) { -case 0: -{ -obj* x_56; obj* x_59; obj* x_60; -x_56 = lean::cnstr_get(x_53, 0); -lean::inc(x_56); -lean::dec(x_53); -if (lean::is_scalar(x_45)) { - x_59 = lean::alloc_cnstr(1, 1, 0); -} else { - x_59 = x_45; -} -lean::cnstr_set(x_59, 0, x_56); -x_60 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_49); -lean::cnstr_set(x_60, 2, x_59); -return x_60; -} -case 3: -{ -obj* x_62; obj* x_63; -lean::dec(x_45); -x_62 = lean::box(0); -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_49); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -default: -{ -obj* x_66; obj* x_67; -lean::dec(x_45); -lean::dec(x_53); -x_66 = lean::box(0); -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_5); -lean::cnstr_set(x_67, 1, x_49); -lean::cnstr_set(x_67, 2, x_66); -return x_67; -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_old__univ__params_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +lean::cnstr_set(x_12, 2, x_0); +return x_12; } } } @@ -22437,10 +19598,11 @@ obj* x_36; x_36 = l_lean_parser_syntax_as__node___main(x_28); if (lean::obj_tag(x_36) == 0) { +obj* x_37; +x_37 = lean::box(0); if (lean::obj_tag(x_27) == 0) { -obj* x_37; obj* x_38; obj* x_39; -x_37 = lean::box(0); +obj* x_38; obj* x_39; x_38 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; x_39 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_39, 0, x_18); @@ -22472,104 +19634,102 @@ return x_48; } case 3: { -obj* x_49; obj* x_50; obj* x_51; -x_49 = lean::box(0); -x_50 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_51 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_51, 0, x_18); -lean::cnstr_set(x_51, 1, x_50); -lean::cnstr_set(x_51, 2, x_49); -return x_51; +obj* x_49; obj* x_50; +x_49 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_50 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_50, 0, x_18); +lean::cnstr_set(x_50, 1, x_49); +lean::cnstr_set(x_50, 2, x_37); +return x_50; } default: { -obj* x_53; obj* x_54; obj* x_55; +obj* x_52; obj* x_53; lean::dec(x_40); -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_18); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; +x_52 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_53 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_53, 0, x_18); +lean::cnstr_set(x_53, 1, x_52); +lean::cnstr_set(x_53, 2, x_37); +return x_53; } } } } else { -obj* x_56; obj* x_58; obj* x_59; obj* x_62; -x_56 = lean::cnstr_get(x_36, 0); +obj* x_54; obj* x_56; obj* x_57; obj* x_60; +x_54 = lean::cnstr_get(x_36, 0); if (lean::is_exclusive(x_36)) { lean::cnstr_set(x_36, 0, lean::box(0)); - x_58 = x_36; + x_56 = x_36; } else { - lean::inc(x_56); + lean::inc(x_54); lean::dec(x_36); - x_58 = lean::box(0); + x_56 = lean::box(0); } -x_59 = lean::cnstr_get(x_56, 1); -lean::inc(x_59); -lean::dec(x_56); -x_62 = l_list_map___main___at_lean_parser_command_old__univ__params_has__view_x_27___spec__1(x_59); +x_57 = lean::cnstr_get(x_54, 1); +lean::inc(x_57); +lean::dec(x_54); +x_60 = l_list_map___main___at_lean_parser_command_old__univ__params_has__view_x_27___spec__1(x_57); if (lean::obj_tag(x_27) == 0) { -obj* x_64; obj* x_65; -lean::dec(x_58); -x_64 = lean::box(0); -x_65 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_65, 0, x_18); -lean::cnstr_set(x_65, 1, x_62); -lean::cnstr_set(x_65, 2, x_64); -return x_65; +obj* x_62; obj* x_63; +lean::dec(x_56); +x_62 = lean::box(0); +x_63 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_63, 0, x_18); +lean::cnstr_set(x_63, 1, x_60); +lean::cnstr_set(x_63, 2, x_62); +return x_63; } else { -obj* x_66; -x_66 = lean::cnstr_get(x_27, 0); -lean::inc(x_66); +obj* x_64; +x_64 = lean::cnstr_get(x_27, 0); +lean::inc(x_64); lean::dec(x_27); -switch (lean::obj_tag(x_66)) { +switch (lean::obj_tag(x_64)) { case 0: { -obj* x_69; obj* x_72; obj* x_73; -x_69 = lean::cnstr_get(x_66, 0); -lean::inc(x_69); -lean::dec(x_66); -if (lean::is_scalar(x_58)) { - x_72 = lean::alloc_cnstr(1, 1, 0); +obj* x_67; obj* x_70; obj* x_71; +x_67 = lean::cnstr_get(x_64, 0); +lean::inc(x_67); +lean::dec(x_64); +if (lean::is_scalar(x_56)) { + x_70 = lean::alloc_cnstr(1, 1, 0); } else { - x_72 = x_58; + x_70 = x_56; } -lean::cnstr_set(x_72, 0, x_69); -x_73 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_73, 0, x_18); -lean::cnstr_set(x_73, 1, x_62); -lean::cnstr_set(x_73, 2, x_72); -return x_73; +lean::cnstr_set(x_70, 0, x_67); +x_71 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_71, 0, x_18); +lean::cnstr_set(x_71, 1, x_60); +lean::cnstr_set(x_71, 2, x_70); +return x_71; } case 3: { -obj* x_75; obj* x_76; -lean::dec(x_58); -x_75 = lean::box(0); -x_76 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_76, 0, x_18); -lean::cnstr_set(x_76, 1, x_62); -lean::cnstr_set(x_76, 2, x_75); -return x_76; +obj* x_73; obj* x_74; +lean::dec(x_56); +x_73 = lean::box(0); +x_74 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_74, 0, x_18); +lean::cnstr_set(x_74, 1, x_60); +lean::cnstr_set(x_74, 2, x_73); +return x_74; } default: { -obj* x_79; obj* x_80; -lean::dec(x_66); -lean::dec(x_58); -x_79 = lean::box(0); -x_80 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_80, 0, x_18); -lean::cnstr_set(x_80, 1, x_62); -lean::cnstr_set(x_80, 2, x_79); -return x_80; +obj* x_77; obj* x_78; +lean::dec(x_64); +lean::dec(x_56); +x_77 = lean::box(0); +x_78 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_78, 0, x_18); +lean::cnstr_set(x_78, 1, x_60); +lean::cnstr_set(x_78, 2, x_77); +return x_78; } } } @@ -22994,211 +20154,35 @@ return x_9; obj* _init_l_lean_parser_command_univ__params_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_23) == 0) -{ -if (lean::obj_tag(x_14) == 0) -{ -obj* x_24; obj* x_25; obj* x_26; -x_24 = lean::box(0); -x_25 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_26, 0, x_5); -lean::cnstr_set(x_26, 1, x_25); -lean::cnstr_set(x_26, 2, x_24); -return x_26; -} -else -{ -obj* x_27; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -lean::dec(x_14); -switch (lean::obj_tag(x_27)) { -case 0: -{ -obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -lean::dec(x_27); -x_33 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_33, 0, x_30); -x_34 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_34); -lean::cnstr_set(x_35, 2, x_33); -return x_35; -} -case 3: -{ -obj* x_36; obj* x_37; obj* x_38; -x_36 = lean::box(0); -x_37 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_38, 0, x_5); -lean::cnstr_set(x_38, 1, x_37); -lean::cnstr_set(x_38, 2, x_36); -return x_38; -} -default: -{ -obj* x_40; obj* x_41; obj* x_42; -lean::dec(x_27); -x_40 = lean::box(0); -x_41 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_42 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_42, 0, x_5); -lean::cnstr_set(x_42, 1, x_41); -lean::cnstr_set(x_42, 2, x_40); -return x_42; -} -} -} -} -else -{ -obj* x_43; obj* x_45; obj* x_46; obj* x_49; -x_43 = lean::cnstr_get(x_23, 0); -if (lean::is_exclusive(x_23)) { - lean::cnstr_set(x_23, 0, lean::box(0)); - x_45 = x_23; -} else { - lean::inc(x_43); - lean::dec(x_23); - x_45 = lean::box(0); -} -x_46 = lean::cnstr_get(x_43, 1); -lean::inc(x_46); -lean::dec(x_43); -x_49 = l_list_map___main___at_lean_parser_command_univ__params_has__view_x_27___spec__1(x_46); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_51; obj* x_52; -lean::dec(x_45); -x_51 = lean::box(0); -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_49); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_14, 0); -lean::inc(x_53); -lean::dec(x_14); -switch (lean::obj_tag(x_53)) { -case 0: -{ -obj* x_56; obj* x_59; obj* x_60; -x_56 = lean::cnstr_get(x_53, 0); -lean::inc(x_56); -lean::dec(x_53); -if (lean::is_scalar(x_45)) { - x_59 = lean::alloc_cnstr(1, 1, 0); -} else { - x_59 = x_45; -} -lean::cnstr_set(x_59, 0, x_56); -x_60 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_49); -lean::cnstr_set(x_60, 2, x_59); -return x_60; -} -case 3: -{ -obj* x_62; obj* x_63; -lean::dec(x_45); -x_62 = lean::box(0); -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_49); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -default: -{ -obj* x_66; obj* x_67; -lean::dec(x_45); -lean::dec(x_53); -x_66 = lean::box(0); -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_5); -lean::cnstr_set(x_67, 1, x_49); -lean::cnstr_set(x_67, 2, x_66); -return x_67; -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_command_univ__params_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +lean::cnstr_set(x_12, 2, x_0); +return x_12; } } } @@ -23303,10 +20287,11 @@ obj* x_36; x_36 = l_lean_parser_syntax_as__node___main(x_28); if (lean::obj_tag(x_36) == 0) { +obj* x_37; +x_37 = lean::box(0); if (lean::obj_tag(x_27) == 0) { -obj* x_37; obj* x_38; obj* x_39; -x_37 = lean::box(0); +obj* x_38; obj* x_39; x_38 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; x_39 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_39, 0, x_18); @@ -23338,104 +20323,102 @@ return x_48; } case 3: { -obj* x_49; obj* x_50; obj* x_51; -x_49 = lean::box(0); -x_50 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_51 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_51, 0, x_18); -lean::cnstr_set(x_51, 1, x_50); -lean::cnstr_set(x_51, 2, x_49); -return x_51; +obj* x_49; obj* x_50; +x_49 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_50 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_50, 0, x_18); +lean::cnstr_set(x_50, 1, x_49); +lean::cnstr_set(x_50, 2, x_37); +return x_50; } default: { -obj* x_53; obj* x_54; obj* x_55; +obj* x_52; obj* x_53; lean::dec(x_40); -x_53 = lean::box(0); -x_54 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_18); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; +x_52 = l_lean_parser_command_struct__binder__content_has__view_x_27___lambda__1___closed__1; +x_53 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_53, 0, x_18); +lean::cnstr_set(x_53, 1, x_52); +lean::cnstr_set(x_53, 2, x_37); +return x_53; } } } } else { -obj* x_56; obj* x_58; obj* x_59; obj* x_62; -x_56 = lean::cnstr_get(x_36, 0); +obj* x_54; obj* x_56; obj* x_57; obj* x_60; +x_54 = lean::cnstr_get(x_36, 0); if (lean::is_exclusive(x_36)) { lean::cnstr_set(x_36, 0, lean::box(0)); - x_58 = x_36; + x_56 = x_36; } else { - lean::inc(x_56); + lean::inc(x_54); lean::dec(x_36); - x_58 = lean::box(0); + x_56 = lean::box(0); } -x_59 = lean::cnstr_get(x_56, 1); -lean::inc(x_59); -lean::dec(x_56); -x_62 = l_list_map___main___at_lean_parser_command_univ__params_has__view_x_27___spec__1(x_59); +x_57 = lean::cnstr_get(x_54, 1); +lean::inc(x_57); +lean::dec(x_54); +x_60 = l_list_map___main___at_lean_parser_command_univ__params_has__view_x_27___spec__1(x_57); if (lean::obj_tag(x_27) == 0) { -obj* x_64; obj* x_65; -lean::dec(x_58); -x_64 = lean::box(0); -x_65 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_65, 0, x_18); -lean::cnstr_set(x_65, 1, x_62); -lean::cnstr_set(x_65, 2, x_64); -return x_65; +obj* x_62; obj* x_63; +lean::dec(x_56); +x_62 = lean::box(0); +x_63 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_63, 0, x_18); +lean::cnstr_set(x_63, 1, x_60); +lean::cnstr_set(x_63, 2, x_62); +return x_63; } else { -obj* x_66; -x_66 = lean::cnstr_get(x_27, 0); -lean::inc(x_66); +obj* x_64; +x_64 = lean::cnstr_get(x_27, 0); +lean::inc(x_64); lean::dec(x_27); -switch (lean::obj_tag(x_66)) { +switch (lean::obj_tag(x_64)) { case 0: { -obj* x_69; obj* x_72; obj* x_73; -x_69 = lean::cnstr_get(x_66, 0); -lean::inc(x_69); -lean::dec(x_66); -if (lean::is_scalar(x_58)) { - x_72 = lean::alloc_cnstr(1, 1, 0); +obj* x_67; obj* x_70; obj* x_71; +x_67 = lean::cnstr_get(x_64, 0); +lean::inc(x_67); +lean::dec(x_64); +if (lean::is_scalar(x_56)) { + x_70 = lean::alloc_cnstr(1, 1, 0); } else { - x_72 = x_58; + x_70 = x_56; } -lean::cnstr_set(x_72, 0, x_69); -x_73 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_73, 0, x_18); -lean::cnstr_set(x_73, 1, x_62); -lean::cnstr_set(x_73, 2, x_72); -return x_73; +lean::cnstr_set(x_70, 0, x_67); +x_71 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_71, 0, x_18); +lean::cnstr_set(x_71, 1, x_60); +lean::cnstr_set(x_71, 2, x_70); +return x_71; } case 3: { -obj* x_75; obj* x_76; -lean::dec(x_58); -x_75 = lean::box(0); -x_76 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_76, 0, x_18); -lean::cnstr_set(x_76, 1, x_62); -lean::cnstr_set(x_76, 2, x_75); -return x_76; +obj* x_73; obj* x_74; +lean::dec(x_56); +x_73 = lean::box(0); +x_74 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_74, 0, x_18); +lean::cnstr_set(x_74, 1, x_60); +lean::cnstr_set(x_74, 2, x_73); +return x_74; } default: { -obj* x_79; obj* x_80; -lean::dec(x_66); -lean::dec(x_58); -x_79 = lean::box(0); -x_80 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_80, 0, x_18); -lean::cnstr_set(x_80, 1, x_62); -lean::cnstr_set(x_80, 2, x_79); -return x_80; +obj* x_77; obj* x_78; +lean::dec(x_64); +lean::dec(x_56); +x_77 = lean::box(0); +x_78 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_78, 0, x_18); +lean::cnstr_set(x_78, 1, x_60); +lean::cnstr_set(x_78, 2, x_77); +return x_78; } } } @@ -23770,291 +20753,9 @@ return x_6; obj* _init_l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; obj* x_11; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__4; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_7); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_16; obj* x_17; -x_14 = lean::cnstr_get(x_11, 0); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - x_16 = x_11; -} else { - lean::inc(x_14); - lean::dec(x_11); - x_16 = lean::box(0); -} -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_21; obj* x_22; -lean::dec(x_16); -x_21 = lean::box(0); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_7); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -else -{ -obj* x_23; -x_23 = lean::cnstr_get(x_17, 1); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_25; obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = l_lean_parser_command_univ__params_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_25); -if (lean::is_scalar(x_16)) { - x_33 = lean::alloc_cnstr(1, 1, 0); -} else { - x_33 = x_16; -} -lean::cnstr_set(x_33, 0, x_32); -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_7); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -else -{ -obj* x_38; obj* x_39; -lean::dec(x_17); -lean::dec(x_23); -lean::dec(x_16); -x_38 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__4; -x_39 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_39, 0, x_7); -lean::cnstr_set(x_39, 1, x_38); -return x_39; -} -} -} -} -else -{ -obj* x_40; obj* x_43; obj* x_46; -x_40 = lean::cnstr_get(x_1, 0); -lean::inc(x_40); -lean::dec(x_1); -x_43 = lean::cnstr_get(x_0, 0); -lean::inc(x_43); -lean::dec(x_0); -x_46 = l_lean_parser_syntax_as__node___main(x_43); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_47; obj* x_48; -x_47 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__4; -x_48 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_48, 0, x_40); -lean::cnstr_set(x_48, 1, x_47); -return x_48; -} -else -{ -obj* x_49; obj* x_51; obj* x_52; -x_49 = lean::cnstr_get(x_46, 0); -if (lean::is_exclusive(x_46)) { - lean::cnstr_set(x_46, 0, lean::box(0)); - x_51 = x_46; -} else { - lean::inc(x_49); - lean::dec(x_46); - x_51 = lean::box(0); -} -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); -lean::dec(x_49); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -lean::dec(x_51); -x_56 = lean::box(0); -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_40); -lean::cnstr_set(x_57, 1, x_56); -return x_57; -} -else -{ -obj* x_58; -x_58 = lean::cnstr_get(x_52, 1); -lean::inc(x_58); -if (lean::obj_tag(x_58) == 0) -{ -obj* x_60; obj* x_63; obj* x_64; obj* x_67; obj* x_68; obj* x_69; -x_60 = lean::cnstr_get(x_52, 0); -lean::inc(x_60); -lean::dec(x_52); -x_63 = l_lean_parser_command_univ__params_has__view; -x_64 = lean::cnstr_get(x_63, 0); -lean::inc(x_64); -lean::dec(x_63); -x_67 = lean::apply_1(x_64, x_60); -if (lean::is_scalar(x_51)) { - x_68 = lean::alloc_cnstr(1, 1, 0); -} else { - x_68 = x_51; -} -lean::cnstr_set(x_68, 0, x_67); -x_69 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_69, 0, x_40); -lean::cnstr_set(x_69, 1, x_68); -return x_69; -} -else -{ -obj* x_73; obj* x_74; -lean::dec(x_52); -lean::dec(x_58); -lean::dec(x_51); -x_73 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__4; -x_74 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_74, 0, x_40); -lean::cnstr_set(x_74, 1, x_73); -return x_74; -} -} -} -} -} -case 3: -{ -obj* x_75; -x_75 = lean::box(0); -x_5 = x_75; -goto lbl_6; -} -default: -{ -obj* x_77; -lean::dec(x_1); -x_77 = lean::box(0); -x_5 = x_77; -goto lbl_6; -} -} -lbl_6: -{ -lean::dec(x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_79; -x_79 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__3; -return x_79; -} -else -{ -obj* x_80; obj* x_83; -x_80 = lean::cnstr_get(x_0, 0); -lean::inc(x_80); -lean::dec(x_0); -x_83 = l_lean_parser_syntax_as__node___main(x_80); -if (lean::obj_tag(x_83) == 0) -{ -obj* x_84; -x_84 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__1; -return x_84; -} -else -{ -obj* x_85; obj* x_87; obj* x_88; -x_85 = lean::cnstr_get(x_83, 0); -if (lean::is_exclusive(x_83)) { - lean::cnstr_set(x_83, 0, lean::box(0)); - x_87 = x_83; -} else { - lean::inc(x_85); - lean::dec(x_83); - x_87 = lean::box(0); -} -x_88 = lean::cnstr_get(x_85, 1); -lean::inc(x_88); -lean::dec(x_85); -if (lean::obj_tag(x_88) == 0) -{ -obj* x_92; -lean::dec(x_87); -x_92 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__2; -return x_92; -} -else -{ -obj* x_93; -x_93 = lean::cnstr_get(x_88, 1); -lean::inc(x_93); -if (lean::obj_tag(x_93) == 0) -{ -obj* x_95; obj* x_98; obj* x_99; obj* x_102; obj* x_103; obj* x_104; obj* x_105; -x_95 = lean::cnstr_get(x_88, 0); -lean::inc(x_95); -lean::dec(x_88); -x_98 = l_lean_parser_command_univ__params_has__view; -x_99 = lean::cnstr_get(x_98, 0); -lean::inc(x_99); -lean::dec(x_98); -x_102 = lean::apply_1(x_99, x_95); -if (lean::is_scalar(x_87)) { - x_103 = lean::alloc_cnstr(1, 1, 0); -} else { - x_103 = x_87; -} -lean::cnstr_set(x_103, 0, x_102); -x_104 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_105 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_105, 0, x_104); -lean::cnstr_set(x_105, 1, x_103); -return x_105; -} -else -{ -obj* x_109; -lean::dec(x_88); -lean::dec(x_93); -lean::dec(x_87); -x_109 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__1; -return x_109; -} -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1___closed__3; +return x_0; } } obj* l_lean_parser_command_ident__univ__params_has__view_x_27___lambda__1(obj* x_0) { @@ -24649,79 +21350,9 @@ return x_1; obj* _init_l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_16; obj* x_19; obj* x_20; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -x_20 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -case 3: -{ -obj* x_21; -x_21 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__2; -return x_21; -} -default: -{ -obj* x_23; -lean::dec(x_0); -x_23 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__2; -return x_23; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__4() { @@ -24743,220 +21374,236 @@ return x_8; obj* l_lean_parser_command_structure__kw_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_80, 0, x_79); -return x_80; +obj* x_72; obj* x_75; obj* x_76; +x_72 = lean::cnstr_get(x_56, 0); +lean::inc(x_72); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_75 = lean::alloc_cnstr(1, 1, 0); +} else { + x_75 = x_26; +} +lean::cnstr_set(x_75, 0, x_72); +x_76 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_76, 0, x_75); +return x_76; } case 3: { +obj* x_78; +lean::dec(x_26); +x_78 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__2; +return x_78; +} +default: +{ obj* x_81; +lean::dec(x_56); +lean::dec(x_26); x_81 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__2; return x_81; } -default: +} +} +} +else { -obj* x_83; -lean::dec(x_1); -x_83 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__2; -return x_83; +obj* x_86; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_86 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_86; +} +} +} +} +} +} +} +else +{ +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_command_structure__kw_has__view_x_27___lambda__1___closed__3; +return x_89; } } } @@ -25391,187 +22038,44 @@ return x_2; obj* _init_l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; obj* x_16; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; -x_14 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; -x_15 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_13, x_14, x_10); -x_16 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_16, 0, x_0); -lean::cnstr_set(x_16, 1, x_15); -return x_16; -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; obj* x_14; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; +x_12 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; +x_13 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_11, x_12, x_8); +x_14 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_14, 0, x_0); +lean::cnstr_set(x_14, 1, x_13); +return x_14; } } } obj* _init_l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_7; obj* x_8; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_10; obj* x_13; -x_10 = lean::cnstr_get(x_1, 0); -lean::inc(x_10); -lean::dec(x_1); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_10); -if (lean::obj_tag(x_0) == 0) -{ -x_5 = x_13; -goto lbl_6; -} -else -{ -obj* x_14; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -lean::dec(x_0); -x_7 = x_13; -x_8 = x_14; -goto lbl_9; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; -return x_17; -} -else -{ -obj* x_18; obj* x_21; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -lean::dec(x_0); -x_21 = lean::box(0); -x_7 = x_21; -x_8 = x_18; -goto lbl_9; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_23; -x_23 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; -return x_23; -} -else -{ -obj* x_24; obj* x_27; -x_24 = lean::cnstr_get(x_0, 0); -lean::inc(x_24); -lean::dec(x_0); -x_27 = lean::box(0); -x_7 = x_27; -x_8 = x_24; -goto lbl_9; -} -} -} -lbl_6: -{ -obj* x_28; obj* x_29; -x_28 = lean::box(3); -x_29 = l_lean_parser_syntax_as__node___main(x_28); -if (lean::obj_tag(x_29) == 0) -{ -obj* x_30; obj* x_31; -x_30 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_31 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_31, 0, x_5); -lean::cnstr_set(x_31, 1, x_30); -return x_31; -} -else -{ -obj* x_32; obj* x_35; obj* x_38; obj* x_39; obj* x_40; obj* x_41; -x_32 = lean::cnstr_get(x_29, 0); -lean::inc(x_32); -lean::dec(x_29); -x_35 = lean::cnstr_get(x_32, 1); -lean::inc(x_35); -lean::dec(x_32); -x_38 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; -x_39 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; -x_40 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_38, x_39, x_35); -x_41 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_40); -return x_41; -} -} -lbl_9: -{ -obj* x_42; -x_42 = l_lean_parser_syntax_as__node___main(x_8); -if (lean::obj_tag(x_42) == 0) -{ -obj* x_43; obj* x_44; -x_43 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_44, 0, x_7); -lean::cnstr_set(x_44, 1, x_43); -return x_44; -} -else -{ -obj* x_45; obj* x_48; obj* x_51; obj* x_52; obj* x_53; obj* x_54; -x_45 = lean::cnstr_get(x_42, 0); -lean::inc(x_45); -lean::dec(x_42); -x_48 = lean::cnstr_get(x_45, 1); -lean::inc(x_48); -lean::dec(x_45); -x_51 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; -x_52 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; -x_53 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_51, x_52, x_48); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_7); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* l_lean_parser_command_extends_has__view_x_27___lambda__1(obj* x_0) { @@ -25617,50 +22121,77 @@ goto lbl_3; } lbl_3: { -obj* x_18; obj* x_20; obj* x_21; +obj* x_18; obj* x_19; switch (lean::obj_tag(x_2)) { case 0: { -obj* x_23; obj* x_26; -x_23 = lean::cnstr_get(x_2, 0); -lean::inc(x_23); +obj* x_21; obj* x_24; +x_21 = lean::cnstr_get(x_2, 0); +lean::inc(x_21); lean::dec(x_2); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_23); +x_24 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_24, 0, x_21); if (lean::obj_tag(x_1) == 0) { -x_18 = x_26; -goto lbl_19; +obj* x_25; obj* x_26; +x_25 = lean::box(3); +x_26 = l_lean_parser_syntax_as__node___main(x_25); +if (lean::obj_tag(x_26) == 0) +{ +obj* x_27; obj* x_28; +x_27 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_28 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_28, 0, x_24); +lean::cnstr_set(x_28, 1, x_27); +return x_28; } else { -obj* x_27; -x_27 = lean::cnstr_get(x_1, 0); -lean::inc(x_27); +obj* x_29; obj* x_32; obj* x_35; obj* x_36; obj* x_37; obj* x_38; +x_29 = lean::cnstr_get(x_26, 0); +lean::inc(x_29); +lean::dec(x_26); +x_32 = lean::cnstr_get(x_29, 1); +lean::inc(x_32); +lean::dec(x_29); +x_35 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; +x_36 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; +x_37 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_35, x_36, x_32); +x_38 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_38, 0, x_24); +lean::cnstr_set(x_38, 1, x_37); +return x_38; +} +} +else +{ +obj* x_39; +x_39 = lean::cnstr_get(x_1, 0); +lean::inc(x_39); lean::dec(x_1); -x_20 = x_26; -x_21 = x_27; -goto lbl_22; +x_18 = x_24; +x_19 = x_39; +goto lbl_20; } } case 3: { if (lean::obj_tag(x_1) == 0) { -obj* x_30; -x_30 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; -return x_30; +obj* x_42; +x_42 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; +return x_42; } else { -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_1, 0); -lean::inc(x_31); +obj* x_43; obj* x_46; +x_43 = lean::cnstr_get(x_1, 0); +lean::inc(x_43); lean::dec(x_1); -x_34 = lean::box(0); -x_20 = x_34; -x_21 = x_31; -goto lbl_22; +x_46 = lean::box(0); +x_18 = x_46; +x_19 = x_43; +goto lbl_20; } } default: @@ -25668,84 +22199,52 @@ default: lean::dec(x_2); if (lean::obj_tag(x_1) == 0) { -obj* x_36; -x_36 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; -return x_36; +obj* x_48; +x_48 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__2; +return x_48; } else { -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_1, 0); -lean::inc(x_37); +obj* x_49; obj* x_52; +x_49 = lean::cnstr_get(x_1, 0); +lean::inc(x_49); lean::dec(x_1); -x_40 = lean::box(0); -x_20 = x_40; -x_21 = x_37; -goto lbl_22; +x_52 = lean::box(0); +x_18 = x_52; +x_19 = x_49; +goto lbl_20; } } } -lbl_19: +lbl_20: { -obj* x_41; obj* x_42; -x_41 = lean::box(3); -x_42 = l_lean_parser_syntax_as__node___main(x_41); -if (lean::obj_tag(x_42) == 0) +obj* x_53; +x_53 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_53) == 0) { -obj* x_43; obj* x_44; -x_43 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_44, 0, x_18); -lean::cnstr_set(x_44, 1, x_43); -return x_44; +obj* x_54; obj* x_55; +x_54 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_55 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_55, 0, x_18); +lean::cnstr_set(x_55, 1, x_54); +return x_55; } else { -obj* x_45; obj* x_48; obj* x_51; obj* x_52; obj* x_53; obj* x_54; -x_45 = lean::cnstr_get(x_42, 0); -lean::inc(x_45); -lean::dec(x_42); -x_48 = lean::cnstr_get(x_45, 1); -lean::inc(x_48); -lean::dec(x_45); -x_51 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; -x_52 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; -x_53 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_51, x_52, x_48); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_18); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -} -lbl_22: -{ -obj* x_55; -x_55 = l_lean_parser_syntax_as__node___main(x_21); -if (lean::obj_tag(x_55) == 0) -{ -obj* x_56; obj* x_57; -x_56 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_20); -lean::cnstr_set(x_57, 1, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; obj* x_64; obj* x_65; obj* x_66; obj* x_67; -x_58 = lean::cnstr_get(x_55, 0); -lean::inc(x_58); -lean::dec(x_55); -x_61 = lean::cnstr_get(x_58, 1); -lean::inc(x_61); -lean::dec(x_58); -x_64 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; -x_65 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; -x_66 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_64, x_65, x_61); -x_67 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_67, 0, x_20); -lean::cnstr_set(x_67, 1, x_66); -return x_67; +obj* x_56; obj* x_59; obj* x_62; obj* x_63; obj* x_64; obj* x_65; +x_56 = lean::cnstr_get(x_53, 0); +lean::inc(x_56); +lean::dec(x_53); +x_59 = lean::cnstr_get(x_56, 1); +lean::inc(x_59); +lean::dec(x_56); +x_62 = l_lean_parser_command_extends_has__view_x_27___lambda__1___closed__1; +x_63 = l_lean_parser_command_decl__attributes_has__view_x_27___lambda__1___closed__3; +x_64 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_command_extends_has__view_x_27___spec__1(x_62, x_63, x_59); +x_65 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_65, 0, x_18); +lean::cnstr_set(x_65, 1, x_64); +return x_65; } } } @@ -25859,246 +22358,92 @@ return x_8; obj* _init_l_lean_parser_command_structure__ctor_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -obj* x_7; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_5 = x_7; -goto lbl_6; -} -case 3: -{ -obj* x_10; -x_10 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_10; -goto lbl_6; -} -default: -{ -obj* x_12; -lean::dec(x_1); -x_12 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_12; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_13; obj* x_14; obj* x_16; obj* x_17; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_19; -x_19 = lean::box(3); -x_16 = x_0; -x_17 = x_19; -goto lbl_18; +obj* x_2; obj* x_3; obj* x_4; obj* x_5; +x_2 = lean::box(0); +x_3 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_4 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; +x_5 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_5, 0, x_3); +lean::cnstr_set(x_5, 1, x_4); +lean::cnstr_set(x_5, 2, x_2); +return x_5; } else { -obj* x_20; obj* x_22; -x_20 = lean::cnstr_get(x_0, 0); -lean::inc(x_20); -x_22 = lean::cnstr_get(x_0, 1); -lean::inc(x_22); -lean::dec(x_0); -x_16 = x_22; -x_17 = x_20; -goto lbl_18; +obj* x_6; obj* x_8; obj* x_9; +x_6 = lean::cnstr_get(x_1, 0); +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_8 = x_1; +} else { + lean::inc(x_6); + lean::dec(x_1); + x_8 = lean::box(0); } -lbl_15: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) { -switch (lean::obj_tag(x_14)) { -case 0: +obj* x_13; obj* x_14; obj* x_15; +lean::dec(x_8); +x_13 = lean::box(0); +x_14 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_15 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_15, 0, x_14); +lean::cnstr_set(x_15, 1, x_13); +lean::cnstr_set(x_15, 2, x_13); +return x_15; +} +else { -obj* x_25; obj* x_28; obj* x_29; -x_25 = lean::cnstr_get(x_14, 0); -lean::inc(x_25); -lean::dec(x_14); -x_28 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_28, 0, x_25); +obj* x_16; +x_16 = lean::cnstr_get(x_9, 1); +lean::inc(x_16); +if (lean::obj_tag(x_16) == 0) +{ +obj* x_18; obj* x_21; obj* x_22; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; +x_18 = lean::cnstr_get(x_9, 0); +lean::inc(x_18); +lean::dec(x_9); +x_21 = l_lean_parser_command_infer__modifier_has__view; +x_22 = lean::cnstr_get(x_21, 0); +lean::inc(x_22); +lean::dec(x_21); +x_25 = lean::apply_1(x_22, x_18); +if (lean::is_scalar(x_8)) { + x_26 = lean::alloc_cnstr(1, 1, 0); +} else { + x_26 = x_8; +} +lean::cnstr_set(x_26, 0, x_25); +x_27 = lean::box(0); +x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; x_29 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_29, 0, x_5); -lean::cnstr_set(x_29, 1, x_13); -lean::cnstr_set(x_29, 2, x_28); +lean::cnstr_set(x_29, 0, x_28); +lean::cnstr_set(x_29, 1, x_26); +lean::cnstr_set(x_29, 2, x_27); return x_29; } -case 3: +else { -obj* x_30; obj* x_31; -x_30 = lean::box(0); -x_31 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_31, 0, x_5); -lean::cnstr_set(x_31, 1, x_13); -lean::cnstr_set(x_31, 2, x_30); -return x_31; -} -default: -{ -obj* x_33; obj* x_34; -lean::dec(x_14); +obj* x_33; obj* x_34; obj* x_35; obj* x_36; +lean::dec(x_9); +lean::dec(x_8); +lean::dec(x_16); x_33 = lean::box(0); -x_34 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_34, 0, x_5); -lean::cnstr_set(x_34, 1, x_13); -lean::cnstr_set(x_34, 2, x_33); -return x_34; -} -} -} -lbl_18: -{ -obj* x_35; -x_35 = l_lean_parser_syntax_as__node___main(x_17); -if (lean::obj_tag(x_35) == 0) -{ -if (lean::obj_tag(x_16) == 0) -{ -obj* x_36; obj* x_37; obj* x_38; -x_36 = lean::box(0); -x_37 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_38, 0, x_5); -lean::cnstr_set(x_38, 1, x_37); -lean::cnstr_set(x_38, 2, x_36); -return x_38; -} -else -{ -obj* x_39; obj* x_42; -x_39 = lean::cnstr_get(x_16, 0); -lean::inc(x_39); -lean::dec(x_16); -x_42 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_13 = x_42; -x_14 = x_39; -goto lbl_15; -} -} -else -{ -obj* x_43; obj* x_45; obj* x_46; -x_43 = lean::cnstr_get(x_35, 0); -if (lean::is_exclusive(x_35)) { - lean::cnstr_set(x_35, 0, lean::box(0)); - x_45 = x_35; -} else { - lean::inc(x_43); - lean::dec(x_35); - x_45 = lean::box(0); -} -x_46 = lean::cnstr_get(x_43, 1); -lean::inc(x_46); -lean::dec(x_43); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_50; -lean::dec(x_45); -x_50 = lean::box(0); -if (lean::obj_tag(x_16) == 0) -{ -obj* x_51; -x_51 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_51, 0, x_5); -lean::cnstr_set(x_51, 1, x_50); -lean::cnstr_set(x_51, 2, x_50); -return x_51; -} -else -{ -obj* x_52; -x_52 = lean::cnstr_get(x_16, 0); -lean::inc(x_52); -lean::dec(x_16); -x_13 = x_50; -x_14 = x_52; -goto lbl_15; -} -} -else -{ -obj* x_55; -x_55 = lean::cnstr_get(x_46, 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; -x_57 = lean::cnstr_get(x_46, 0); -lean::inc(x_57); -lean::dec(x_46); -x_60 = l_lean_parser_command_infer__modifier_has__view; -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_45)) { - x_65 = lean::alloc_cnstr(1, 1, 0); -} else { - x_65 = x_45; -} -lean::cnstr_set(x_65, 0, x_64); -if (lean::obj_tag(x_16) == 0) -{ -obj* x_66; obj* x_67; -x_66 = lean::box(0); -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_5); -lean::cnstr_set(x_67, 1, x_65); -lean::cnstr_set(x_67, 2, x_66); -return x_67; -} -else -{ -obj* x_68; -x_68 = lean::cnstr_get(x_16, 0); -lean::inc(x_68); -lean::dec(x_16); -x_13 = x_65; -x_14 = x_68; -goto lbl_15; -} -} -else -{ -lean::dec(x_55); -lean::dec(x_46); -lean::dec(x_45); -if (lean::obj_tag(x_16) == 0) -{ -obj* x_74; obj* x_75; obj* x_76; -x_74 = lean::box(0); -x_75 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_76 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_76, 0, x_5); -lean::cnstr_set(x_76, 1, x_75); -lean::cnstr_set(x_76, 2, x_74); -return x_76; -} -else -{ -obj* x_77; obj* x_80; -x_77 = lean::cnstr_get(x_16, 0); -lean::inc(x_77); -lean::dec(x_16); -x_80 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; -x_13 = x_80; -x_14 = x_77; -goto lbl_15; -} -} -} -} +x_34 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_35 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__1; +x_36 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_36, 0, x_34); +lean::cnstr_set(x_36, 1, x_35); +lean::cnstr_set(x_36, 2, x_33); +return x_36; } } } @@ -26628,554 +22973,272 @@ return x_6; obj* _init_l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__6() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; obj* x_9; obj* x_10; obj* x_11; -x_5 = l_lean_parser_command_structure__kw_has__view; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -lean::dec(x_5); -x_9 = lean::apply_1(x_6, x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_13; -x_13 = lean::box(3); -x_10 = x_0; -x_11 = x_13; -goto lbl_12; -} -else -{ -obj* x_14; obj* x_16; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -x_16 = lean::cnstr_get(x_0, 1); -lean::inc(x_16); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_8; +x_0 = l_lean_parser_command_structure__kw_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_10 = x_16; -x_11 = x_14; -goto lbl_12; -} -lbl_12: +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_8 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_8) == 0) { -obj* x_19; obj* x_21; -x_21 = l_lean_parser_syntax_as__node___main(x_11); -if (lean::obj_tag(x_21) == 0) -{ -obj* x_22; -x_22 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; -x_19 = x_22; -goto lbl_20; +obj* x_9; +x_9 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; +x_6 = x_9; +goto lbl_7; } else { -obj* x_23; obj* x_25; obj* x_26; -x_23 = lean::cnstr_get(x_21, 0); -if (lean::is_exclusive(x_21)) { - lean::cnstr_set(x_21, 0, lean::box(0)); - x_25 = x_21; +obj* x_10; obj* x_12; obj* x_13; +x_10 = lean::cnstr_get(x_8, 0); +if (lean::is_exclusive(x_8)) { + lean::cnstr_set(x_8, 0, lean::box(0)); + x_12 = x_8; } else { - lean::inc(x_23); - lean::dec(x_21); - x_25 = lean::box(0); + lean::inc(x_10); + lean::dec(x_8); + x_12 = lean::box(0); } -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -if (lean::obj_tag(x_26) == 0) -{ -obj* x_30; -lean::dec(x_25); -x_30 = lean::box(0); -x_19 = x_30; -goto lbl_20; -} -else -{ -obj* x_31; -x_31 = lean::cnstr_get(x_26, 1); -lean::inc(x_31); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_40; obj* x_41; -x_33 = lean::cnstr_get(x_26, 0); -lean::inc(x_33); -lean::dec(x_26); -x_36 = l_lean_parser_command_old__univ__params_has__view; -x_37 = lean::cnstr_get(x_36, 0); -lean::inc(x_37); -lean::dec(x_36); -x_40 = lean::apply_1(x_37, x_33); -if (lean::is_scalar(x_25)) { - x_41 = lean::alloc_cnstr(1, 1, 0); -} else { - x_41 = x_25; -} -lean::cnstr_set(x_41, 0, x_40); -x_19 = x_41; -goto lbl_20; -} -else -{ -obj* x_45; -lean::dec(x_25); -lean::dec(x_26); -lean::dec(x_31); -x_45 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; -x_19 = x_45; -goto lbl_20; -} -} -} -lbl_20: -{ -obj* x_46; obj* x_47; -if (lean::obj_tag(x_10) == 0) -{ -obj* x_49; -x_49 = lean::box(3); -x_46 = x_10; -x_47 = x_49; -goto lbl_48; -} -else -{ -obj* x_50; obj* x_52; -x_50 = lean::cnstr_get(x_10, 0); -lean::inc(x_50); -x_52 = lean::cnstr_get(x_10, 1); -lean::inc(x_52); +x_13 = lean::cnstr_get(x_10, 1); +lean::inc(x_13); lean::dec(x_10); -x_46 = x_52; -x_47 = x_50; -goto lbl_48; -} -lbl_48: +if (lean::obj_tag(x_13) == 0) { -obj* x_55; obj* x_56; obj* x_59; obj* x_60; obj* x_61; -x_55 = l_lean_parser_command_ident__univ__params_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_47); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_63; -x_63 = lean::box(3); -x_60 = x_46; -x_61 = x_63; -goto lbl_62; +obj* x_17; +lean::dec(x_12); +x_17 = lean::box(0); +x_6 = x_17; +goto lbl_7; } else { -obj* x_64; obj* x_66; -x_64 = lean::cnstr_get(x_46, 0); -lean::inc(x_64); -x_66 = lean::cnstr_get(x_46, 1); -lean::inc(x_66); -lean::dec(x_46); -x_60 = x_66; -x_61 = x_64; -goto lbl_62; +obj* x_18; +x_18 = lean::cnstr_get(x_13, 1); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 0) +{ +obj* x_20; obj* x_23; obj* x_24; obj* x_27; obj* x_28; +x_20 = lean::cnstr_get(x_13, 0); +lean::inc(x_20); +lean::dec(x_13); +x_23 = l_lean_parser_command_old__univ__params_has__view; +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_12)) { + x_28 = lean::alloc_cnstr(1, 1, 0); +} else { + x_28 = x_12; } -lbl_62: -{ -obj* x_69; obj* x_70; obj* x_73; obj* x_74; obj* x_75; -x_69 = l_lean_parser_command_opt__decl__sig_has__view; -x_70 = lean::cnstr_get(x_69, 0); -lean::inc(x_70); -lean::dec(x_69); -x_73 = lean::apply_1(x_70, x_61); -if (lean::obj_tag(x_60) == 0) -{ -obj* x_77; -x_77 = lean::box(3); -x_74 = x_60; -x_75 = x_77; -goto lbl_76; +lean::cnstr_set(x_28, 0, x_27); +x_6 = x_28; +goto lbl_7; } else { -obj* x_78; obj* x_80; -x_78 = lean::cnstr_get(x_60, 0); -lean::inc(x_78); -x_80 = lean::cnstr_get(x_60, 1); -lean::inc(x_80); +obj* x_32; +lean::dec(x_12); +lean::dec(x_13); +lean::dec(x_18); +x_32 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; +x_6 = x_32; +goto lbl_7; +} +} +} +lbl_7: +{ +obj* x_33; obj* x_34; obj* x_37; obj* x_38; obj* x_39; obj* x_42; obj* x_43; obj* x_45; +x_33 = l_lean_parser_command_ident__univ__params_has__view; +x_34 = lean::cnstr_get(x_33, 0); +lean::inc(x_34); +lean::dec(x_33); +x_37 = lean::apply_1(x_34, x_4); +x_38 = l_lean_parser_command_opt__decl__sig_has__view; +x_39 = lean::cnstr_get(x_38, 0); +lean::inc(x_39); +lean::dec(x_38); +x_42 = lean::apply_1(x_39, x_4); +x_45 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_45) == 0) +{ +obj* x_46; +x_46 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__4; +x_43 = x_46; +goto lbl_44; +} +else +{ +obj* x_47; obj* x_49; obj* x_50; +x_47 = lean::cnstr_get(x_45, 0); +if (lean::is_exclusive(x_45)) { + lean::cnstr_set(x_45, 0, lean::box(0)); + x_49 = x_45; +} else { + lean::inc(x_47); + lean::dec(x_45); + x_49 = lean::box(0); +} +x_50 = lean::cnstr_get(x_47, 1); +lean::inc(x_50); +lean::dec(x_47); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_54; +lean::dec(x_49); +x_54 = lean::box(0); +x_43 = x_54; +goto lbl_44; +} +else +{ +obj* x_55; +x_55 = lean::cnstr_get(x_50, 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; +x_57 = lean::cnstr_get(x_50, 0); +lean::inc(x_57); +lean::dec(x_50); +x_60 = l_lean_parser_command_extends_has__view; +x_61 = lean::cnstr_get(x_60, 0); +lean::inc(x_61); lean::dec(x_60); -x_74 = x_80; -x_75 = x_78; -goto lbl_76; +x_64 = lean::apply_1(x_61, x_57); +if (lean::is_scalar(x_49)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_49; } -lbl_76: -{ -obj* x_83; obj* x_85; -x_85 = l_lean_parser_syntax_as__node___main(x_75); -if (lean::obj_tag(x_85) == 0) -{ -obj* x_86; -x_86 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__4; -x_83 = x_86; -goto lbl_84; +lean::cnstr_set(x_65, 0, x_64); +x_43 = x_65; +goto lbl_44; } else { -obj* x_87; obj* x_89; obj* x_90; -x_87 = lean::cnstr_get(x_85, 0); -if (lean::is_exclusive(x_85)) { - lean::cnstr_set(x_85, 0, lean::box(0)); - x_89 = x_85; -} else { - lean::inc(x_87); - lean::dec(x_85); - x_89 = lean::box(0); +obj* x_69; +lean::dec(x_50); +lean::dec(x_55); +lean::dec(x_49); +x_69 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__4; +x_43 = x_69; +goto lbl_44; } -x_90 = lean::cnstr_get(x_87, 1); -lean::inc(x_90); +} +} +lbl_44: +{ +obj* x_70; obj* x_71; obj* x_73; +x_70 = lean::box(0); +x_73 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_73) == 0) +{ +obj* x_74; +x_74 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__3; +x_71 = x_74; +goto lbl_72; +} +else +{ +obj* x_75; obj* x_77; obj* x_78; +x_75 = lean::cnstr_get(x_73, 0); +if (lean::is_exclusive(x_73)) { + lean::cnstr_set(x_73, 0, lean::box(0)); + x_77 = x_73; +} else { + lean::inc(x_75); + lean::dec(x_73); + x_77 = lean::box(0); +} +x_78 = lean::cnstr_get(x_75, 1); +lean::inc(x_78); +lean::dec(x_75); +if (lean::obj_tag(x_78) == 0) +{ +lean::dec(x_77); +x_71 = x_70; +goto lbl_72; +} +else +{ +obj* x_82; +x_82 = lean::cnstr_get(x_78, 1); +lean::inc(x_82); +if (lean::obj_tag(x_82) == 0) +{ +obj* x_84; obj* x_87; obj* x_88; obj* x_91; obj* x_92; +x_84 = lean::cnstr_get(x_78, 0); +lean::inc(x_84); +lean::dec(x_78); +x_87 = l_lean_parser_command_structure__ctor_has__view; +x_88 = lean::cnstr_get(x_87, 0); +lean::inc(x_88); lean::dec(x_87); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_94; -lean::dec(x_89); -x_94 = lean::box(0); -x_83 = x_94; -goto lbl_84; +x_91 = lean::apply_1(x_88, x_84); +if (lean::is_scalar(x_77)) { + x_92 = lean::alloc_cnstr(1, 1, 0); +} else { + x_92 = x_77; +} +lean::cnstr_set(x_92, 0, x_91); +x_71 = x_92; +goto lbl_72; } else { -obj* x_95; -x_95 = lean::cnstr_get(x_90, 1); -lean::inc(x_95); -if (lean::obj_tag(x_95) == 0) +obj* x_96; +lean::dec(x_77); +lean::dec(x_82); +lean::dec(x_78); +x_96 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__3; +x_71 = x_96; +goto lbl_72; +} +} +} +lbl_72: { -obj* x_97; obj* x_100; obj* x_101; obj* x_104; obj* x_105; -x_97 = lean::cnstr_get(x_90, 0); -lean::inc(x_97); -lean::dec(x_90); -x_100 = l_lean_parser_command_extends_has__view; -x_101 = lean::cnstr_get(x_100, 0); -lean::inc(x_101); +obj* x_97; +x_97 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_97) == 0) +{ +obj* x_98; obj* x_99; +x_98 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__1; +x_99 = lean::alloc_cnstr(0, 8, 0); +lean::cnstr_set(x_99, 0, x_5); +lean::cnstr_set(x_99, 1, x_6); +lean::cnstr_set(x_99, 2, x_37); +lean::cnstr_set(x_99, 3, x_42); +lean::cnstr_set(x_99, 4, x_43); +lean::cnstr_set(x_99, 5, x_70); +lean::cnstr_set(x_99, 6, x_71); +lean::cnstr_set(x_99, 7, x_98); +return x_99; +} +else +{ +obj* x_100; obj* x_103; obj* x_106; obj* x_107; obj* x_108; +x_100 = lean::cnstr_get(x_97, 0); +lean::inc(x_100); +lean::dec(x_97); +x_103 = lean::cnstr_get(x_100, 1); +lean::inc(x_103); lean::dec(x_100); -x_104 = lean::apply_1(x_101, x_97); -if (lean::is_scalar(x_89)) { - x_105 = lean::alloc_cnstr(1, 1, 0); -} else { - x_105 = x_89; -} -lean::cnstr_set(x_105, 0, x_104); -x_83 = x_105; -goto lbl_84; -} -else -{ -obj* x_109; -lean::dec(x_90); -lean::dec(x_95); -lean::dec(x_89); -x_109 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__4; -x_83 = x_109; -goto lbl_84; -} -} -} -lbl_84: -{ -obj* x_110; obj* x_111; -if (lean::obj_tag(x_74) == 0) -{ -obj* x_113; -x_113 = lean::box(3); -x_110 = x_74; -x_111 = x_113; -goto lbl_112; -} -else -{ -obj* x_114; obj* x_116; -x_114 = lean::cnstr_get(x_74, 0); -lean::inc(x_114); -x_116 = lean::cnstr_get(x_74, 1); -lean::inc(x_116); -lean::dec(x_74); -x_110 = x_116; -x_111 = x_114; -goto lbl_112; -} -lbl_112: -{ -obj* x_119; -switch (lean::obj_tag(x_111)) { -case 0: -{ -obj* x_121; obj* x_124; -x_121 = lean::cnstr_get(x_111, 0); -lean::inc(x_121); -lean::dec(x_111); -x_124 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_124, 0, x_121); -x_119 = x_124; -goto lbl_120; -} -case 3: -{ -obj* x_125; -x_125 = lean::box(0); -x_119 = x_125; -goto lbl_120; -} -default: -{ -obj* x_127; -lean::dec(x_111); -x_127 = lean::box(0); -x_119 = x_127; -goto lbl_120; -} -} -lbl_120: -{ -obj* x_128; obj* x_130; obj* x_131; obj* x_133; obj* x_134; -if (lean::obj_tag(x_110) == 0) -{ -obj* x_136; -x_136 = lean::box(3); -x_133 = x_110; -x_134 = x_136; -goto lbl_135; -} -else -{ -obj* x_137; obj* x_139; -x_137 = lean::cnstr_get(x_110, 0); -lean::inc(x_137); -x_139 = lean::cnstr_get(x_110, 1); -lean::inc(x_139); -lean::dec(x_110); -x_133 = x_139; -x_134 = x_137; -goto lbl_135; -} -lbl_129: -{ -obj* x_142; obj* x_143; -x_142 = lean::box(3); -x_143 = l_lean_parser_syntax_as__node___main(x_142); -if (lean::obj_tag(x_143) == 0) -{ -obj* x_144; obj* x_145; -x_144 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__1; -x_145 = lean::alloc_cnstr(0, 8, 0); -lean::cnstr_set(x_145, 0, x_9); -lean::cnstr_set(x_145, 1, x_19); -lean::cnstr_set(x_145, 2, x_59); -lean::cnstr_set(x_145, 3, x_73); -lean::cnstr_set(x_145, 4, x_83); -lean::cnstr_set(x_145, 5, x_119); -lean::cnstr_set(x_145, 6, x_128); -lean::cnstr_set(x_145, 7, x_144); -return x_145; -} -else -{ -obj* x_146; obj* x_149; obj* x_152; obj* x_153; obj* x_154; -x_146 = lean::cnstr_get(x_143, 0); -lean::inc(x_146); -lean::dec(x_143); -x_149 = lean::cnstr_get(x_146, 1); -lean::inc(x_149); -lean::dec(x_146); -x_152 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__2; -x_153 = l_list_map___main___rarg(x_152, x_149); -x_154 = lean::alloc_cnstr(0, 8, 0); -lean::cnstr_set(x_154, 0, x_9); -lean::cnstr_set(x_154, 1, x_19); -lean::cnstr_set(x_154, 2, x_59); -lean::cnstr_set(x_154, 3, x_73); -lean::cnstr_set(x_154, 4, x_83); -lean::cnstr_set(x_154, 5, x_119); -lean::cnstr_set(x_154, 6, x_128); -lean::cnstr_set(x_154, 7, x_153); -return x_154; -} -} -lbl_132: -{ -obj* x_155; -x_155 = l_lean_parser_syntax_as__node___main(x_131); -if (lean::obj_tag(x_155) == 0) -{ -obj* x_156; obj* x_157; -x_156 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__1; -x_157 = lean::alloc_cnstr(0, 8, 0); -lean::cnstr_set(x_157, 0, x_9); -lean::cnstr_set(x_157, 1, x_19); -lean::cnstr_set(x_157, 2, x_59); -lean::cnstr_set(x_157, 3, x_73); -lean::cnstr_set(x_157, 4, x_83); -lean::cnstr_set(x_157, 5, x_119); -lean::cnstr_set(x_157, 6, x_130); -lean::cnstr_set(x_157, 7, x_156); -return x_157; -} -else -{ -obj* x_158; obj* x_161; obj* x_164; obj* x_165; obj* x_166; -x_158 = lean::cnstr_get(x_155, 0); -lean::inc(x_158); -lean::dec(x_155); -x_161 = lean::cnstr_get(x_158, 1); -lean::inc(x_161); -lean::dec(x_158); -x_164 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__2; -x_165 = l_list_map___main___rarg(x_164, x_161); -x_166 = lean::alloc_cnstr(0, 8, 0); -lean::cnstr_set(x_166, 0, x_9); -lean::cnstr_set(x_166, 1, x_19); -lean::cnstr_set(x_166, 2, x_59); -lean::cnstr_set(x_166, 3, x_73); -lean::cnstr_set(x_166, 4, x_83); -lean::cnstr_set(x_166, 5, x_119); -lean::cnstr_set(x_166, 6, x_130); -lean::cnstr_set(x_166, 7, x_165); -return x_166; -} -} -lbl_135: -{ -obj* x_167; -x_167 = l_lean_parser_syntax_as__node___main(x_134); -if (lean::obj_tag(x_167) == 0) -{ -if (lean::obj_tag(x_133) == 0) -{ -obj* x_168; -x_168 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__3; -x_128 = x_168; -goto lbl_129; -} -else -{ -obj* x_169; obj* x_172; -x_169 = lean::cnstr_get(x_133, 0); -lean::inc(x_169); -lean::dec(x_133); -x_172 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__3; -x_130 = x_172; -x_131 = x_169; -goto lbl_132; -} -} -else -{ -obj* x_173; obj* x_175; obj* x_176; -x_173 = lean::cnstr_get(x_167, 0); -if (lean::is_exclusive(x_167)) { - lean::cnstr_set(x_167, 0, lean::box(0)); - x_175 = x_167; -} else { - lean::inc(x_173); - lean::dec(x_167); - x_175 = lean::box(0); -} -x_176 = lean::cnstr_get(x_173, 1); -lean::inc(x_176); -lean::dec(x_173); -if (lean::obj_tag(x_176) == 0) -{ -obj* x_180; -lean::dec(x_175); -x_180 = lean::box(0); -if (lean::obj_tag(x_133) == 0) -{ -x_128 = x_180; -goto lbl_129; -} -else -{ -obj* x_181; -x_181 = lean::cnstr_get(x_133, 0); -lean::inc(x_181); -lean::dec(x_133); -x_130 = x_180; -x_131 = x_181; -goto lbl_132; -} -} -else -{ -obj* x_184; -x_184 = lean::cnstr_get(x_176, 1); -lean::inc(x_184); -if (lean::obj_tag(x_184) == 0) -{ -obj* x_186; obj* x_189; obj* x_190; obj* x_193; obj* x_194; -x_186 = lean::cnstr_get(x_176, 0); -lean::inc(x_186); -lean::dec(x_176); -x_189 = l_lean_parser_command_structure__ctor_has__view; -x_190 = lean::cnstr_get(x_189, 0); -lean::inc(x_190); -lean::dec(x_189); -x_193 = lean::apply_1(x_190, x_186); -if (lean::is_scalar(x_175)) { - x_194 = lean::alloc_cnstr(1, 1, 0); -} else { - x_194 = x_175; -} -lean::cnstr_set(x_194, 0, x_193); -if (lean::obj_tag(x_133) == 0) -{ -x_128 = x_194; -goto lbl_129; -} -else -{ -obj* x_195; -x_195 = lean::cnstr_get(x_133, 0); -lean::inc(x_195); -lean::dec(x_133); -x_130 = x_194; -x_131 = x_195; -goto lbl_132; -} -} -else -{ -lean::dec(x_176); -lean::dec(x_175); -lean::dec(x_184); -if (lean::obj_tag(x_133) == 0) -{ -obj* x_201; -x_201 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__3; -x_128 = x_201; -goto lbl_129; -} -else -{ -obj* x_202; obj* x_205; -x_202 = lean::cnstr_get(x_133, 0); -lean::inc(x_202); -lean::dec(x_133); -x_205 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__3; -x_130 = x_205; -x_131 = x_202; -goto lbl_132; -} -} -} -} -} -} -} -} -} -} +x_106 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__2; +x_107 = l_list_map___main___rarg(x_106, x_103); +x_108 = lean::alloc_cnstr(0, 8, 0); +lean::cnstr_set(x_108, 0, x_5); +lean::cnstr_set(x_108, 1, x_6); +lean::cnstr_set(x_108, 2, x_37); +lean::cnstr_set(x_108, 3, x_42); +lean::cnstr_set(x_108, 4, x_43); +lean::cnstr_set(x_108, 5, x_70); +lean::cnstr_set(x_108, 6, x_71); +lean::cnstr_set(x_108, 7, x_107); +return x_108; } } } @@ -28562,116 +24625,9 @@ return x_1; obj* _init_l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -lean::dec(x_1); -if (x_8 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_10; obj* x_13; obj* x_14; -x_10 = lean::cnstr_get(x_0, 0); -lean::inc(x_10); -lean::dec(x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_10); -x_14 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_14, 0, x_13); -return x_14; -} -case 3: -{ -obj* x_15; -x_15 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__1; -return x_15; -} -default: -{ -obj* x_17; -lean::dec(x_0); -x_17 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__1; -return x_17; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_18; obj* x_21; obj* x_22; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -lean::dec(x_0); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_18); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_21); -return x_22; -} -case 3: -{ -obj* x_23; -x_23 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__2; -return x_23; -} -default: -{ -obj* x_25; -lean::dec(x_0); -x_25 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__2; -return x_25; -} -} -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_27; obj* x_30; obj* x_31; -x_27 = lean::cnstr_get(x_0, 0); -lean::inc(x_27); -lean::dec(x_0); -x_30 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_30, 0, x_27); -x_31 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_31, 0, x_30); -return x_31; -} -case 3: -{ -obj* x_32; -x_32 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__3; -return x_32; -} -default: -{ -obj* x_34; -lean::dec(x_0); -x_34 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__3; -return x_34; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__3; +return x_0; } } obj* _init_l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__5() { @@ -28695,261 +24651,283 @@ return x_10; obj* l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__5; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__5; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(1u); +x_62 = lean::nat_dec_eq(x_41, x_61); +lean::dec(x_41); +if (x_62 == 0) { -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -lean::dec(x_2); -if (x_68 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_70; obj* x_73; obj* x_74; -x_70 = lean::cnstr_get(x_1, 0); -lean::inc(x_70); -lean::dec(x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_70); -x_74 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_74, 0, x_73); -return x_74; +obj* x_64; obj* x_67; obj* x_68; +x_64 = lean::cnstr_get(x_56, 0); +lean::inc(x_64); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_67 = lean::alloc_cnstr(1, 1, 0); +} else { + x_67 = x_26; +} +lean::cnstr_set(x_67, 0, x_64); +x_68 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_68, 0, x_67); +return x_68; } case 3: { -obj* x_75; -x_75 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_70; +lean::dec(x_26); +x_70 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__1; +return x_70; } default: { -obj* x_77; -lean::dec(x_1); -x_77 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__1; -return x_77; +obj* x_73; +lean::dec(x_56); +lean::dec(x_26); +x_73 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__1; +return x_73; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_78; obj* x_81; obj* x_82; -x_78 = lean::cnstr_get(x_1, 0); -lean::inc(x_78); -lean::dec(x_1); -x_81 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_81, 0, x_78); -x_82 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_82, 0, x_81); -return x_82; +obj* x_74; obj* x_77; obj* x_78; +x_74 = lean::cnstr_get(x_56, 0); +lean::inc(x_74); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_77 = lean::alloc_cnstr(1, 1, 0); +} else { + x_77 = x_26; +} +lean::cnstr_set(x_77, 0, x_74); +x_78 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_78, 0, x_77); +return x_78; } case 3: { +obj* x_80; +lean::dec(x_26); +x_80 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__2; +return x_80; +} +default: +{ obj* x_83; +lean::dec(x_56); +lean::dec(x_26); x_83 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__2; return x_83; } -default: -{ -obj* x_85; -lean::dec(x_1); -x_85 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__2; -return x_85; -} } } } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_87; obj* x_90; obj* x_91; -x_87 = lean::cnstr_get(x_1, 0); -lean::inc(x_87); -lean::dec(x_1); -x_90 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_90, 0, x_87); -x_91 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_91, 0, x_90); -return x_91; +obj* x_85; obj* x_88; obj* x_89; +x_85 = lean::cnstr_get(x_56, 0); +lean::inc(x_85); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_88 = lean::alloc_cnstr(1, 1, 0); +} else { + x_88 = x_26; +} +lean::cnstr_set(x_88, 0, x_85); +x_89 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_89, 0, x_88); +return x_89; } case 3: { -obj* x_92; -x_92 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__3; -return x_92; +obj* x_91; +lean::dec(x_26); +x_91 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__3; +return x_91; } default: { obj* x_94; -lean::dec(x_1); +lean::dec(x_56); +lean::dec(x_26); x_94 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__3; return x_94; } } } } +else +{ +obj* x_99; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_99 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_99; +} +} +} +} +} +} +} +else +{ +obj* x_102; +lean::dec(x_8); +lean::dec(x_17); +x_102 = l_lean_parser_command_def__like_kind_has__view_x_27___lambda__1___closed__4; +return x_102; +} +} +} +} } } obj* _init_l_lean_parser_command_def__like_kind_has__view_x_27___lambda__2___closed__1() { @@ -29223,226 +25201,98 @@ return x_5; obj* _init_l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; obj* x_9; obj* x_10; obj* x_11; -x_5 = l_lean_parser_command_def__like_kind_has__view; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -lean::dec(x_5); -x_9 = lean::apply_1(x_6, x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_13; -x_13 = lean::box(3); -x_10 = x_0; -x_11 = x_13; -goto lbl_12; -} -else -{ -obj* x_14; obj* x_16; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -x_16 = lean::cnstr_get(x_0, 1); -lean::inc(x_16); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_8; +x_0 = l_lean_parser_command_def__like_kind_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_10 = x_16; -x_11 = x_14; -goto lbl_12; -} -lbl_12: +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_8 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_8) == 0) { -obj* x_19; obj* x_21; -x_21 = l_lean_parser_syntax_as__node___main(x_11); -if (lean::obj_tag(x_21) == 0) -{ -obj* x_22; -x_22 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; -x_19 = x_22; -goto lbl_20; +obj* x_9; +x_9 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; +x_6 = x_9; +goto lbl_7; } else { -obj* x_23; obj* x_25; obj* x_26; -x_23 = lean::cnstr_get(x_21, 0); -if (lean::is_exclusive(x_21)) { - lean::cnstr_set(x_21, 0, lean::box(0)); - x_25 = x_21; +obj* x_10; obj* x_12; obj* x_13; +x_10 = lean::cnstr_get(x_8, 0); +if (lean::is_exclusive(x_8)) { + lean::cnstr_set(x_8, 0, lean::box(0)); + x_12 = x_8; } else { - lean::inc(x_23); - lean::dec(x_21); - x_25 = lean::box(0); + lean::inc(x_10); + lean::dec(x_8); + x_12 = lean::box(0); } -x_26 = lean::cnstr_get(x_23, 1); -lean::inc(x_26); -lean::dec(x_23); -if (lean::obj_tag(x_26) == 0) -{ -obj* x_30; -lean::dec(x_25); -x_30 = lean::box(0); -x_19 = x_30; -goto lbl_20; -} -else -{ -obj* x_31; -x_31 = lean::cnstr_get(x_26, 1); -lean::inc(x_31); -if (lean::obj_tag(x_31) == 0) -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_40; obj* x_41; -x_33 = lean::cnstr_get(x_26, 0); -lean::inc(x_33); -lean::dec(x_26); -x_36 = l_lean_parser_command_old__univ__params_has__view; -x_37 = lean::cnstr_get(x_36, 0); -lean::inc(x_37); -lean::dec(x_36); -x_40 = lean::apply_1(x_37, x_33); -if (lean::is_scalar(x_25)) { - x_41 = lean::alloc_cnstr(1, 1, 0); -} else { - x_41 = x_25; -} -lean::cnstr_set(x_41, 0, x_40); -x_19 = x_41; -goto lbl_20; -} -else -{ -obj* x_45; -lean::dec(x_25); -lean::dec(x_26); -lean::dec(x_31); -x_45 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; -x_19 = x_45; -goto lbl_20; -} -} -} -lbl_20: -{ -obj* x_46; obj* x_47; -if (lean::obj_tag(x_10) == 0) -{ -obj* x_49; -x_49 = lean::box(3); -x_46 = x_10; -x_47 = x_49; -goto lbl_48; -} -else -{ -obj* x_50; obj* x_52; -x_50 = lean::cnstr_get(x_10, 0); -lean::inc(x_50); -x_52 = lean::cnstr_get(x_10, 1); -lean::inc(x_52); +x_13 = lean::cnstr_get(x_10, 1); +lean::inc(x_13); lean::dec(x_10); -x_46 = x_52; -x_47 = x_50; -goto lbl_48; -} -lbl_48: +if (lean::obj_tag(x_13) == 0) { -obj* x_55; obj* x_56; obj* x_59; -x_55 = l_lean_parser_command_ident__univ__params_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_47); -if (lean::obj_tag(x_46) == 0) -{ -if (lean::obj_tag(x_46) == 0) -{ -obj* x_60; obj* x_61; obj* x_62; -x_60 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; -x_61 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; -x_62 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_62, 0, x_9); -lean::cnstr_set(x_62, 1, x_19); -lean::cnstr_set(x_62, 2, x_59); -lean::cnstr_set(x_62, 3, x_60); -lean::cnstr_set(x_62, 4, x_61); -return x_62; +obj* x_17; +lean::dec(x_12); +x_17 = lean::box(0); +x_6 = x_17; +goto lbl_7; } else { -obj* x_63; obj* x_66; obj* x_67; obj* x_70; obj* x_71; obj* x_72; -x_63 = lean::cnstr_get(x_46, 0); -lean::inc(x_63); -lean::dec(x_46); -x_66 = l_lean_parser_command_decl__val_has__view; -x_67 = lean::cnstr_get(x_66, 0); -lean::inc(x_67); -lean::dec(x_66); -x_70 = lean::apply_1(x_67, x_63); -x_71 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; -x_72 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_72, 0, x_9); -lean::cnstr_set(x_72, 1, x_19); -lean::cnstr_set(x_72, 2, x_59); -lean::cnstr_set(x_72, 3, x_71); -lean::cnstr_set(x_72, 4, x_70); -return x_72; +obj* x_18; +x_18 = lean::cnstr_get(x_13, 1); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 0) +{ +obj* x_20; obj* x_23; obj* x_24; obj* x_27; obj* x_28; +x_20 = lean::cnstr_get(x_13, 0); +lean::inc(x_20); +lean::dec(x_13); +x_23 = l_lean_parser_command_old__univ__params_has__view; +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_12)) { + x_28 = lean::alloc_cnstr(1, 1, 0); +} else { + x_28 = x_12; } +lean::cnstr_set(x_28, 0, x_27); +x_6 = x_28; +goto lbl_7; } else { -obj* x_73; obj* x_75; obj* x_78; obj* x_79; obj* x_82; -x_73 = lean::cnstr_get(x_46, 0); -lean::inc(x_73); -x_75 = lean::cnstr_get(x_46, 1); -lean::inc(x_75); -lean::dec(x_46); -x_78 = l_lean_parser_command_opt__decl__sig_has__view; -x_79 = lean::cnstr_get(x_78, 0); -lean::inc(x_79); -lean::dec(x_78); -x_82 = lean::apply_1(x_79, x_73); -if (lean::obj_tag(x_75) == 0) +obj* x_32; +lean::dec(x_12); +lean::dec(x_13); +lean::dec(x_18); +x_32 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; +x_6 = x_32; +goto lbl_7; +} +} +} +lbl_7: { -obj* x_83; obj* x_84; -x_83 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; -x_84 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_84, 0, x_9); -lean::cnstr_set(x_84, 1, x_19); -lean::cnstr_set(x_84, 2, x_59); -lean::cnstr_set(x_84, 3, x_82); -lean::cnstr_set(x_84, 4, x_83); -return x_84; -} -else -{ -obj* x_85; obj* x_88; obj* x_89; obj* x_92; obj* x_93; -x_85 = lean::cnstr_get(x_75, 0); -lean::inc(x_85); -lean::dec(x_75); -x_88 = l_lean_parser_command_decl__val_has__view; -x_89 = lean::cnstr_get(x_88, 0); -lean::inc(x_89); -lean::dec(x_88); -x_92 = lean::apply_1(x_89, x_85); -x_93 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_93, 0, x_9); -lean::cnstr_set(x_93, 1, x_19); -lean::cnstr_set(x_93, 2, x_59); -lean::cnstr_set(x_93, 3, x_82); -lean::cnstr_set(x_93, 4, x_92); -return x_93; -} -} -} -} -} +obj* x_33; obj* x_34; obj* x_37; obj* x_38; obj* x_39; obj* x_40; +x_33 = l_lean_parser_command_ident__univ__params_has__view; +x_34 = lean::cnstr_get(x_33, 0); +lean::inc(x_34); +lean::dec(x_33); +x_37 = lean::apply_1(x_34, x_4); +x_38 = l_lean_parser_command_intro__rule_has__view_x_27___lambda__1___closed__2; +x_39 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; +x_40 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_40, 0, x_5); +lean::cnstr_set(x_40, 1, x_6); +lean::cnstr_set(x_40, 2, x_37); +lean::cnstr_set(x_40, 3, x_38); +lean::cnstr_set(x_40, 4, x_39); +return x_40; } } } @@ -29859,276 +25709,85 @@ obj* _init_l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__3 _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__2; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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; +} else { + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -default: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ +lean::dec(x_8); +x_1 = x_0; +goto lbl_2; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_9, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; obj* x_16; obj* x_18; obj* x_19; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_21; -x_21 = lean::box(3); -x_18 = x_0; -x_19 = x_21; -goto lbl_20; -} -else -{ -obj* x_22; obj* x_24; -x_22 = lean::cnstr_get(x_0, 0); -lean::inc(x_22); -x_24 = lean::cnstr_get(x_0, 1); -lean::inc(x_24); -lean::dec(x_0); -x_18 = x_24; -x_19 = x_22; -goto lbl_20; -} -lbl_17: -{ -obj* x_27; obj* x_28; obj* x_31; -x_27 = l_lean_parser_command_decl__sig_has__view; -x_28 = lean::cnstr_get(x_27, 0); -lean::inc(x_28); -lean::dec(x_27); -x_31 = lean::apply_1(x_28, x_15); -if (lean::obj_tag(x_16) == 0) -{ -obj* x_32; obj* x_33; -x_32 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; -x_33 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_33, 0, x_5); -lean::cnstr_set(x_33, 1, x_14); -lean::cnstr_set(x_33, 2, x_31); -lean::cnstr_set(x_33, 3, x_32); -return x_33; -} -else -{ -obj* x_34; obj* x_37; obj* x_38; obj* x_41; obj* x_42; -x_34 = lean::cnstr_get(x_16, 0); -lean::inc(x_34); -lean::dec(x_16); -x_37 = l_lean_parser_command_decl__val_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_34); -x_42 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_42, 0, x_5); -lean::cnstr_set(x_42, 1, x_14); -lean::cnstr_set(x_42, 2, x_31); -lean::cnstr_set(x_42, 3, x_41); -return x_42; -} -} -lbl_20: -{ -obj* x_43; obj* x_45; -x_45 = l_lean_parser_syntax_as__node___main(x_19); -if (lean::obj_tag(x_45) == 0) -{ -if (lean::obj_tag(x_18) == 0) -{ -obj* x_46; -x_46 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__2; -x_43 = x_46; -goto lbl_44; -} -else -{ -obj* x_47; obj* x_49; obj* x_52; -x_47 = lean::cnstr_get(x_18, 0); -lean::inc(x_47); -x_49 = lean::cnstr_get(x_18, 1); -lean::inc(x_49); +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = l_lean_parser_command_ident__univ__params_has__view; +x_19 = lean::cnstr_get(x_18, 0); +lean::inc(x_19); lean::dec(x_18); -x_52 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__2; -x_14 = x_52; -x_15 = x_47; -x_16 = x_49; -goto lbl_17; -} -} -else -{ -obj* x_53; obj* x_55; obj* x_56; -x_53 = lean::cnstr_get(x_45, 0); -if (lean::is_exclusive(x_45)) { - lean::cnstr_set(x_45, 0, lean::box(0)); - x_55 = x_45; +x_22 = lean::apply_1(x_19, x_15); +if (lean::is_scalar(x_8)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_53); - lean::dec(x_45); - x_55 = lean::box(0); + x_23 = x_8; } -x_56 = lean::cnstr_get(x_53, 1); -lean::inc(x_56); -lean::dec(x_53); -if (lean::obj_tag(x_56) == 0) -{ -obj* x_60; -lean::dec(x_55); -x_60 = lean::box(0); -if (lean::obj_tag(x_18) == 0) -{ -x_43 = x_60; -goto lbl_44; +lean::cnstr_set(x_23, 0, x_22); +x_1 = x_23; +goto lbl_2; } else { -obj* x_61; obj* x_63; -x_61 = lean::cnstr_get(x_18, 0); -lean::inc(x_61); -x_63 = lean::cnstr_get(x_18, 1); -lean::inc(x_63); -lean::dec(x_18); -x_14 = x_60; -x_15 = x_61; -x_16 = x_63; -goto lbl_17; +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_9); +x_27 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__2; +x_1 = x_27; +goto lbl_2; } } -else +} +lbl_2: { -obj* x_66; -x_66 = lean::cnstr_get(x_56, 1); -lean::inc(x_66); -if (lean::obj_tag(x_66) == 0) -{ -obj* x_68; obj* x_71; obj* x_72; obj* x_75; obj* x_76; -x_68 = lean::cnstr_get(x_56, 0); -lean::inc(x_68); -lean::dec(x_56); -x_71 = l_lean_parser_command_ident__univ__params_has__view; -x_72 = lean::cnstr_get(x_71, 0); -lean::inc(x_72); -lean::dec(x_71); -x_75 = lean::apply_1(x_72, x_68); -if (lean::is_scalar(x_55)) { - x_76 = lean::alloc_cnstr(1, 1, 0); -} else { - x_76 = x_55; -} -lean::cnstr_set(x_76, 0, x_75); -if (lean::obj_tag(x_18) == 0) -{ -x_43 = x_76; -goto lbl_44; -} -else -{ -obj* x_77; obj* x_79; -x_77 = lean::cnstr_get(x_18, 0); -lean::inc(x_77); -x_79 = lean::cnstr_get(x_18, 1); -lean::inc(x_79); -lean::dec(x_18); -x_14 = x_76; -x_15 = x_77; -x_16 = x_79; -goto lbl_17; -} -} -else -{ -lean::dec(x_55); -lean::dec(x_56); -lean::dec(x_66); -if (lean::obj_tag(x_18) == 0) -{ -obj* x_85; -x_85 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__2; -x_43 = x_85; -goto lbl_44; -} -else -{ -obj* x_86; obj* x_88; obj* x_91; -x_86 = lean::cnstr_get(x_18, 0); -lean::inc(x_86); -x_88 = lean::cnstr_get(x_18, 1); -lean::inc(x_88); -lean::dec(x_18); -x_91 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__2; -x_14 = x_91; -x_15 = x_86; -x_16 = x_88; -goto lbl_17; -} -} -} -} -lbl_44: -{ -if (lean::obj_tag(x_18) == 0) -{ -obj* x_92; obj* x_93; obj* x_94; -x_92 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; -x_93 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; -x_94 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_43); -lean::cnstr_set(x_94, 2, x_92); -lean::cnstr_set(x_94, 3, x_93); -return x_94; -} -else -{ -obj* x_95; obj* x_98; obj* x_99; obj* x_102; obj* x_103; obj* x_104; -x_95 = lean::cnstr_get(x_18, 0); -lean::inc(x_95); -lean::dec(x_18); -x_98 = l_lean_parser_command_decl__val_has__view; -x_99 = lean::cnstr_get(x_98, 0); -lean::inc(x_99); -lean::dec(x_98); -x_102 = lean::apply_1(x_99, x_95); -x_103 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; -x_104 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_104, 0, x_5); -lean::cnstr_set(x_104, 1, x_43); -lean::cnstr_set(x_104, 2, x_103); -lean::cnstr_set(x_104, 3, x_102); -return x_104; -} -} -} -} +obj* x_28; obj* x_29; obj* x_30; +x_28 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; +x_29 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; +x_30 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_30, 0, x_0); +lean::cnstr_set(x_30, 1, x_1); +lean::cnstr_set(x_30, 2, x_28); +lean::cnstr_set(x_30, 3, x_29); +return x_30; } } } @@ -30620,160 +26279,15 @@ return x_8; obj* _init_l_lean_parser_command_example_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_command_decl__sig_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; obj* x_19; obj* x_20; obj* x_23; obj* x_24; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -x_19 = l_lean_parser_command_decl__val_has__view; -x_20 = lean::cnstr_get(x_19, 0); -lean::inc(x_20); -lean::dec(x_19); -x_23 = lean::apply_1(x_20, x_16); -x_24 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_24, 0, x_0); -lean::cnstr_set(x_24, 1, x_13); -lean::cnstr_set(x_24, 2, x_23); -return x_24; -} -} -lbl_6: -{ -obj* x_25; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_5, 0); -lean::inc(x_27); -lean::dec(x_5); -x_30 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_30, 0, x_27); -if (lean::obj_tag(x_4) == 0) -{ -x_25 = x_30; -goto lbl_26; -} -else -{ -obj* x_31; obj* x_33; -x_31 = lean::cnstr_get(x_4, 0); -lean::inc(x_31); -x_33 = lean::cnstr_get(x_4, 1); -lean::inc(x_33); -lean::dec(x_4); -x_0 = x_30; -x_1 = x_31; -x_2 = x_33; -goto lbl_3; -} -} -case 3: -{ -obj* x_36; -x_36 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_25 = x_36; -goto lbl_26; -} -else -{ -obj* x_37; obj* x_39; -x_37 = lean::cnstr_get(x_4, 0); -lean::inc(x_37); -x_39 = lean::cnstr_get(x_4, 1); -lean::inc(x_39); -lean::dec(x_4); -x_0 = x_36; -x_1 = x_37; -x_2 = x_39; -goto lbl_3; -} -} -default: -{ -obj* x_43; -lean::dec(x_5); -x_43 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_25 = x_43; -goto lbl_26; -} -else -{ -obj* x_44; obj* x_46; -x_44 = lean::cnstr_get(x_4, 0); -lean::inc(x_44); -x_46 = lean::cnstr_get(x_4, 1); -lean::inc(x_46); -lean::dec(x_4); -x_0 = x_43; -x_1 = x_44; -x_2 = x_46; -goto lbl_3; -} -} -} -lbl_26: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_49; obj* x_50; obj* x_51; -x_49 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; -x_50 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; -x_51 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_51, 0, x_25); -lean::cnstr_set(x_51, 1, x_49); -lean::cnstr_set(x_51, 2, x_50); -return x_51; -} -else -{ -obj* x_52; obj* x_55; obj* x_56; obj* x_59; obj* x_60; obj* x_61; -x_52 = lean::cnstr_get(x_4, 0); -lean::inc(x_52); -lean::dec(x_4); -x_55 = l_lean_parser_command_decl__val_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_52); -x_60 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; -x_61 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_61, 0, x_25); -lean::cnstr_set(x_61, 1, x_60); -lean::cnstr_set(x_61, 2, x_59); -return x_61; -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; +x_2 = l_lean_parser_command_def__like_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_2); +return x_3; } } obj* l_lean_parser_command_example_has__view_x_27___lambda__1(obj* x_0) { @@ -31096,79 +26610,9 @@ return x_1; obj* _init_l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_16; obj* x_19; obj* x_20; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -x_20 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -case 3: -{ -obj* x_21; -x_21 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__2; -return x_21; -} -default: -{ -obj* x_23; -lean::dec(x_0); -x_23 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__2; -return x_23; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__4() { @@ -31190,220 +26634,236 @@ return x_8; obj* l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_80, 0, x_79); -return x_80; +obj* x_72; obj* x_75; obj* x_76; +x_72 = lean::cnstr_get(x_56, 0); +lean::inc(x_72); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_75 = lean::alloc_cnstr(1, 1, 0); +} else { + x_75 = x_26; +} +lean::cnstr_set(x_75, 0, x_72); +x_76 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_76, 0, x_75); +return x_76; } case 3: { +obj* x_78; +lean::dec(x_26); +x_78 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__2; +return x_78; +} +default: +{ obj* x_81; +lean::dec(x_56); +lean::dec(x_26); x_81 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__2; return x_81; } -default: +} +} +} +else { -obj* x_83; -lean::dec(x_1); -x_83 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__2; -return x_83; +obj* x_86; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_86 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_86; +} +} +} +} +} +} +} +else +{ +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_command_constant__keyword_has__view_x_27___lambda__1___closed__3; +return x_89; } } } @@ -31609,94 +27069,20 @@ return x_5; obj* _init_l_lean_parser_command_constant_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; +x_0 = l_lean_parser_command_constant__keyword_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; obj* x_9; -x_5 = l_lean_parser_command_constant__keyword_has__view; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -lean::dec(x_5); -x_9 = lean::apply_1(x_6, x_1); -if (lean::obj_tag(x_0) == 0) -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_10; obj* x_11; obj* x_12; -x_10 = l_lean_parser_command_constant_has__view_x_27___lambda__1___closed__1; -x_11 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; -x_12 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_12, 0, x_9); -lean::cnstr_set(x_12, 1, x_10); -lean::cnstr_set(x_12, 2, x_11); -return x_12; -} -else -{ -obj* x_13; obj* x_16; obj* x_17; obj* x_20; obj* x_21; obj* x_22; -x_13 = lean::cnstr_get(x_0, 0); -lean::inc(x_13); -lean::dec(x_0); -x_16 = l_lean_parser_command_decl__sig_has__view; -x_17 = lean::cnstr_get(x_16, 0); -lean::inc(x_17); -lean::dec(x_16); -x_20 = lean::apply_1(x_17, x_13); -x_21 = l_lean_parser_command_constant_has__view_x_27___lambda__1___closed__1; -x_22 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_22, 0, x_9); -lean::cnstr_set(x_22, 1, x_21); -lean::cnstr_set(x_22, 2, x_20); -return x_22; -} -} -else -{ -obj* x_23; obj* x_25; obj* x_28; obj* x_29; obj* x_32; -x_23 = lean::cnstr_get(x_0, 0); -lean::inc(x_23); -x_25 = lean::cnstr_get(x_0, 1); -lean::inc(x_25); -lean::dec(x_0); -x_28 = l_lean_parser_command_ident__univ__params_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_23); -if (lean::obj_tag(x_25) == 0) -{ -obj* x_33; obj* x_34; -x_33 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; -x_34 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_34, 0, x_9); -lean::cnstr_set(x_34, 1, x_32); -lean::cnstr_set(x_34, 2, x_33); -return x_34; -} -else -{ -obj* x_35; obj* x_38; obj* x_39; obj* x_42; obj* x_43; -x_35 = lean::cnstr_get(x_25, 0); -lean::inc(x_35); -lean::dec(x_25); -x_38 = l_lean_parser_command_decl__sig_has__view; -x_39 = lean::cnstr_get(x_38, 0); -lean::inc(x_39); -lean::dec(x_38); -x_42 = lean::apply_1(x_39, x_35); -x_43 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_43, 0, x_9); -lean::cnstr_set(x_43, 1, x_32); -lean::cnstr_set(x_43, 2, x_42); -return x_43; -} -} -} +x_5 = lean::apply_1(x_1, x_4); +x_6 = l_lean_parser_command_constant_has__view_x_27___lambda__1___closed__1; +x_7 = l_lean_parser_command_instance_has__view_x_27___lambda__1___closed__1; +x_8 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_8, 0, x_5); +lean::cnstr_set(x_8, 1, x_6); +lean::cnstr_set(x_8, 2, x_7); +return x_8; } } obj* l_lean_parser_command_constant_has__view_x_27___lambda__1(obj* x_0) { @@ -31947,544 +27333,288 @@ return x_6; obj* _init_l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; -x_8 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_8; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_4; +goto lbl_1; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_7, 0); -if (lean::is_exclusive(x_7)) { - lean::cnstr_set(x_7, 0, lean::box(0)); - x_11 = x_7; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_3, 0); +if (lean::is_exclusive(x_3)) { + lean::cnstr_set(x_3, 0, lean::box(0)); + x_7 = x_3; } else { - lean::inc(x_9); - lean::dec(x_7); - x_11 = lean::box(0); + lean::inc(x_5); + lean::dec(x_3); + x_7 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_16; -lean::dec(x_11); -x_16 = lean::box(0); -x_5 = x_16; -goto lbl_6; +obj* x_12; +lean::dec(x_7); +x_12 = lean::box(0); +x_0 = x_12; +goto lbl_1; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_12, 1); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_19; -x_19 = lean::cnstr_get(x_12, 0); -lean::inc(x_19); -lean::dec(x_12); -switch (lean::obj_tag(x_19)) { +obj* x_15; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +switch (lean::obj_tag(x_15)) { case 0: { -obj* x_22; obj* x_25; obj* x_26; -x_22 = lean::cnstr_get(x_19, 0); -lean::inc(x_22); -lean::dec(x_19); -if (lean::is_scalar(x_11)) { - x_25 = lean::alloc_cnstr(1, 1, 0); +obj* x_18; obj* x_21; obj* x_22; +x_18 = lean::cnstr_get(x_15, 0); +lean::inc(x_18); +lean::dec(x_15); +if (lean::is_scalar(x_7)) { + x_21 = lean::alloc_cnstr(1, 1, 0); } else { - x_25 = x_11; + x_21 = x_7; } -lean::cnstr_set(x_25, 0, x_22); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_25); -x_5 = x_26; -goto lbl_6; +lean::cnstr_set(x_21, 0, x_18); +x_22 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_22, 0, x_21); +x_0 = x_22; +goto lbl_1; } case 3: { -obj* x_28; -lean::dec(x_11); -x_28 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_28; -goto lbl_6; +obj* x_24; +lean::dec(x_7); +x_24 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_24; +goto lbl_1; } default: { +obj* x_27; +lean::dec(x_7); +lean::dec(x_15); +x_27 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_27; +goto lbl_1; +} +} +} +else +{ obj* x_31; -lean::dec(x_19); -lean::dec(x_11); +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_7); x_31 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_31; -goto lbl_6; +x_0 = x_31; +goto lbl_1; } } } -else +lbl_1: { -obj* x_35; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_17); -x_35 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_35; -goto lbl_6; -} -} -} -lbl_6: -{ -obj* x_36; obj* x_37; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_39; -x_39 = lean::box(3); -x_36 = x_0; -x_37 = x_39; -goto lbl_38; -} -else -{ -obj* x_40; obj* x_42; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_0, 1); -lean::inc(x_42); -lean::dec(x_0); -x_36 = x_42; -x_37 = x_40; -goto lbl_38; -} -lbl_38: -{ -obj* x_45; -switch (lean::obj_tag(x_37)) { -case 0: -{ -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_37, 0); -lean::inc(x_47); -lean::dec(x_37); -x_50 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_50, 0, x_47); -x_45 = x_50; -goto lbl_46; -} -case 3: -{ -obj* x_51; -x_51 = lean::box(0); -x_45 = x_51; -goto lbl_46; -} -default: -{ -obj* x_53; -lean::dec(x_37); -x_53 = lean::box(0); -x_45 = x_53; -goto lbl_46; -} -} -lbl_46: -{ -obj* x_54; obj* x_55; +obj* x_32; obj* x_33; obj* x_35; obj* x_36; +x_32 = lean::box(0); +x_35 = lean::box(3); +x_36 = l_lean_parser_syntax_as__node___main(x_35); if (lean::obj_tag(x_36) == 0) { -obj* x_57; -x_57 = lean::box(3); -x_54 = x_36; -x_55 = x_57; -goto lbl_56; +obj* x_37; +x_37 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; +x_33 = x_37; +goto lbl_34; } else { -obj* x_58; obj* x_60; -x_58 = lean::cnstr_get(x_36, 0); -lean::inc(x_58); -x_60 = lean::cnstr_get(x_36, 1); -lean::inc(x_60); -lean::dec(x_36); -x_54 = x_60; -x_55 = x_58; -goto lbl_56; -} -lbl_56: -{ -obj* x_63; obj* x_65; -x_65 = l_lean_parser_syntax_as__node___main(x_55); -if (lean::obj_tag(x_65) == 0) -{ -obj* x_66; -x_66 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; -x_63 = x_66; -goto lbl_64; -} -else -{ -obj* x_67; obj* x_69; obj* x_70; -x_67 = lean::cnstr_get(x_65, 0); -if (lean::is_exclusive(x_65)) { - lean::cnstr_set(x_65, 0, lean::box(0)); - x_69 = x_65; +obj* x_38; obj* x_40; obj* x_41; +x_38 = lean::cnstr_get(x_36, 0); +if (lean::is_exclusive(x_36)) { + lean::cnstr_set(x_36, 0, lean::box(0)); + x_40 = x_36; } else { - lean::inc(x_67); - lean::dec(x_65); - x_69 = lean::box(0); + lean::inc(x_38); + lean::dec(x_36); + x_40 = lean::box(0); } -x_70 = lean::cnstr_get(x_67, 1); -lean::inc(x_70); -lean::dec(x_67); -if (lean::obj_tag(x_70) == 0) +x_41 = lean::cnstr_get(x_38, 1); +lean::inc(x_41); +lean::dec(x_38); +if (lean::obj_tag(x_41) == 0) +{ +lean::dec(x_40); +x_33 = x_32; +goto lbl_34; +} +else +{ +obj* x_45; +x_45 = lean::cnstr_get(x_41, 1); +lean::inc(x_45); +if (lean::obj_tag(x_45) == 0) +{ +obj* x_47; obj* x_50; obj* x_51; obj* x_54; obj* x_55; +x_47 = lean::cnstr_get(x_41, 0); +lean::inc(x_47); +lean::dec(x_41); +x_50 = l_lean_parser_command_old__univ__params_has__view; +x_51 = lean::cnstr_get(x_50, 0); +lean::inc(x_51); +lean::dec(x_50); +x_54 = lean::apply_1(x_51, x_47); +if (lean::is_scalar(x_40)) { + x_55 = lean::alloc_cnstr(1, 1, 0); +} else { + x_55 = x_40; +} +lean::cnstr_set(x_55, 0, x_54); +x_33 = x_55; +goto lbl_34; +} +else +{ +obj* x_59; +lean::dec(x_45); +lean::dec(x_40); +lean::dec(x_41); +x_59 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; +x_33 = x_59; +goto lbl_34; +} +} +} +lbl_34: +{ +obj* x_60; obj* x_61; obj* x_64; obj* x_65; obj* x_66; obj* x_67; obj* x_70; obj* x_71; obj* x_73; +x_60 = l_lean_parser_command_ident__univ__params_has__view; +x_61 = lean::cnstr_get(x_60, 0); +lean::inc(x_61); +lean::dec(x_60); +x_64 = lean::box(3); +x_65 = lean::apply_1(x_61, x_64); +x_66 = l_lean_parser_command_opt__decl__sig_has__view; +x_67 = lean::cnstr_get(x_66, 0); +lean::inc(x_67); +lean::dec(x_66); +x_70 = lean::apply_1(x_67, x_64); +x_73 = l_lean_parser_syntax_as__node___main(x_64); +if (lean::obj_tag(x_73) == 0) { obj* x_74; -lean::dec(x_69); -x_74 = lean::box(0); -x_63 = x_74; -goto lbl_64; +x_74 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__3; +x_71 = x_74; +goto lbl_72; } else { -obj* x_75; -x_75 = lean::cnstr_get(x_70, 1); -lean::inc(x_75); -if (lean::obj_tag(x_75) == 0) -{ -obj* x_77; obj* x_80; obj* x_81; obj* x_84; obj* x_85; -x_77 = lean::cnstr_get(x_70, 0); -lean::inc(x_77); -lean::dec(x_70); -x_80 = l_lean_parser_command_old__univ__params_has__view; -x_81 = lean::cnstr_get(x_80, 0); -lean::inc(x_81); -lean::dec(x_80); -x_84 = lean::apply_1(x_81, x_77); -if (lean::is_scalar(x_69)) { - x_85 = lean::alloc_cnstr(1, 1, 0); +obj* x_75; obj* x_77; obj* x_78; +x_75 = lean::cnstr_get(x_73, 0); +if (lean::is_exclusive(x_73)) { + lean::cnstr_set(x_73, 0, lean::box(0)); + x_77 = x_73; } else { - x_85 = x_69; + lean::inc(x_75); + lean::dec(x_73); + x_77 = lean::box(0); } -lean::cnstr_set(x_85, 0, x_84); -x_63 = x_85; -goto lbl_64; -} -else -{ -obj* x_89; -lean::dec(x_69); -lean::dec(x_70); +x_78 = lean::cnstr_get(x_75, 1); +lean::inc(x_78); lean::dec(x_75); -x_89 = l_lean_parser_command_structure_has__view_x_27___lambda__1___closed__5; -x_63 = x_89; -goto lbl_64; -} -} -} -lbl_64: +if (lean::obj_tag(x_78) == 0) { -obj* x_90; obj* x_91; -if (lean::obj_tag(x_54) == 0) -{ -obj* x_93; -x_93 = lean::box(3); -x_90 = x_54; -x_91 = x_93; -goto lbl_92; +lean::dec(x_77); +x_71 = x_32; +goto lbl_72; } else { -obj* x_94; obj* x_96; -x_94 = lean::cnstr_get(x_54, 0); -lean::inc(x_94); -x_96 = lean::cnstr_get(x_54, 1); -lean::inc(x_96); -lean::dec(x_54); -x_90 = x_96; -x_91 = x_94; -goto lbl_92; -} -lbl_92: +obj* x_82; +x_82 = lean::cnstr_get(x_78, 1); +lean::inc(x_82); +if (lean::obj_tag(x_82) == 0) { -obj* x_99; obj* x_100; obj* x_103; obj* x_104; obj* x_105; -x_99 = l_lean_parser_command_ident__univ__params_has__view; -x_100 = lean::cnstr_get(x_99, 0); +obj* x_84; obj* x_87; obj* x_88; obj* x_91; obj* x_92; +x_84 = lean::cnstr_get(x_78, 0); +lean::inc(x_84); +lean::dec(x_78); +x_87 = l_lean_parser_command_notation__like_has__view; +x_88 = lean::cnstr_get(x_87, 0); +lean::inc(x_88); +lean::dec(x_87); +x_91 = lean::apply_1(x_88, x_84); +if (lean::is_scalar(x_77)) { + x_92 = lean::alloc_cnstr(1, 1, 0); +} else { + x_92 = x_77; +} +lean::cnstr_set(x_92, 0, x_91); +x_71 = x_92; +goto lbl_72; +} +else +{ +obj* x_96; +lean::dec(x_77); +lean::dec(x_82); +lean::dec(x_78); +x_96 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__3; +x_71 = x_96; +goto lbl_72; +} +} +} +lbl_72: +{ +obj* x_97; +x_97 = l_lean_parser_syntax_as__node___main(x_64); +if (lean::obj_tag(x_97) == 0) +{ +obj* x_98; obj* x_99; +x_98 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__1; +x_99 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_99, 0, x_0); +lean::cnstr_set(x_99, 1, x_32); +lean::cnstr_set(x_99, 2, x_33); +lean::cnstr_set(x_99, 3, x_65); +lean::cnstr_set(x_99, 4, x_70); +lean::cnstr_set(x_99, 5, x_71); +lean::cnstr_set(x_99, 6, x_98); +return x_99; +} +else +{ +obj* x_100; obj* x_103; obj* x_106; obj* x_107; obj* x_108; +x_100 = lean::cnstr_get(x_97, 0); lean::inc(x_100); -lean::dec(x_99); -x_103 = lean::apply_1(x_100, x_91); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_107; -x_107 = lean::box(3); -x_104 = x_90; -x_105 = x_107; -goto lbl_106; -} -else -{ -obj* x_108; obj* x_110; -x_108 = lean::cnstr_get(x_90, 0); -lean::inc(x_108); -x_110 = lean::cnstr_get(x_90, 1); -lean::inc(x_110); -lean::dec(x_90); -x_104 = x_110; -x_105 = x_108; -goto lbl_106; -} -lbl_106: -{ -obj* x_113; obj* x_114; obj* x_117; obj* x_118; obj* x_120; obj* x_121; obj* x_123; obj* x_124; -x_113 = l_lean_parser_command_opt__decl__sig_has__view; -x_114 = lean::cnstr_get(x_113, 0); -lean::inc(x_114); -lean::dec(x_113); -x_117 = lean::apply_1(x_114, x_105); -if (lean::obj_tag(x_104) == 0) -{ -obj* x_126; -x_126 = lean::box(3); -x_123 = x_104; -x_124 = x_126; -goto lbl_125; -} -else -{ -obj* x_127; obj* x_129; -x_127 = lean::cnstr_get(x_104, 0); -lean::inc(x_127); -x_129 = lean::cnstr_get(x_104, 1); -lean::inc(x_129); -lean::dec(x_104); -x_123 = x_129; -x_124 = x_127; -goto lbl_125; -} -lbl_119: -{ -obj* x_132; obj* x_133; -x_132 = lean::box(3); -x_133 = l_lean_parser_syntax_as__node___main(x_132); -if (lean::obj_tag(x_133) == 0) -{ -obj* x_134; obj* x_135; -x_134 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__1; -x_135 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_135, 0, x_5); -lean::cnstr_set(x_135, 1, x_45); -lean::cnstr_set(x_135, 2, x_63); -lean::cnstr_set(x_135, 3, x_103); -lean::cnstr_set(x_135, 4, x_117); -lean::cnstr_set(x_135, 5, x_118); -lean::cnstr_set(x_135, 6, x_134); -return x_135; -} -else -{ -obj* x_136; obj* x_139; obj* x_142; obj* x_143; obj* x_144; -x_136 = lean::cnstr_get(x_133, 0); -lean::inc(x_136); -lean::dec(x_133); -x_139 = lean::cnstr_get(x_136, 1); -lean::inc(x_139); -lean::dec(x_136); -x_142 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__2; -x_143 = l_list_map___main___rarg(x_142, x_139); -x_144 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_144, 0, x_5); -lean::cnstr_set(x_144, 1, x_45); -lean::cnstr_set(x_144, 2, x_63); -lean::cnstr_set(x_144, 3, x_103); -lean::cnstr_set(x_144, 4, x_117); -lean::cnstr_set(x_144, 5, x_118); -lean::cnstr_set(x_144, 6, x_143); -return x_144; -} -} -lbl_122: -{ -obj* x_145; -x_145 = l_lean_parser_syntax_as__node___main(x_121); -if (lean::obj_tag(x_145) == 0) -{ -obj* x_146; obj* x_147; -x_146 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__1; -x_147 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_147, 0, x_5); -lean::cnstr_set(x_147, 1, x_45); -lean::cnstr_set(x_147, 2, x_63); -lean::cnstr_set(x_147, 3, x_103); -lean::cnstr_set(x_147, 4, x_117); -lean::cnstr_set(x_147, 5, x_120); -lean::cnstr_set(x_147, 6, x_146); -return x_147; -} -else -{ -obj* x_148; obj* x_151; obj* x_154; obj* x_155; obj* x_156; -x_148 = lean::cnstr_get(x_145, 0); -lean::inc(x_148); -lean::dec(x_145); -x_151 = lean::cnstr_get(x_148, 1); -lean::inc(x_151); -lean::dec(x_148); -x_154 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__2; -x_155 = l_list_map___main___rarg(x_154, x_151); -x_156 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_156, 0, x_5); -lean::cnstr_set(x_156, 1, x_45); -lean::cnstr_set(x_156, 2, x_63); -lean::cnstr_set(x_156, 3, x_103); -lean::cnstr_set(x_156, 4, x_117); -lean::cnstr_set(x_156, 5, x_120); -lean::cnstr_set(x_156, 6, x_155); -return x_156; -} -} -lbl_125: -{ -obj* x_157; -x_157 = l_lean_parser_syntax_as__node___main(x_124); -if (lean::obj_tag(x_157) == 0) -{ -if (lean::obj_tag(x_123) == 0) -{ -obj* x_158; -x_158 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__3; -x_118 = x_158; -goto lbl_119; -} -else -{ -obj* x_159; obj* x_162; -x_159 = lean::cnstr_get(x_123, 0); -lean::inc(x_159); -lean::dec(x_123); -x_162 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__3; -x_120 = x_162; -x_121 = x_159; -goto lbl_122; -} -} -else -{ -obj* x_163; obj* x_165; obj* x_166; -x_163 = lean::cnstr_get(x_157, 0); -if (lean::is_exclusive(x_157)) { - lean::cnstr_set(x_157, 0, lean::box(0)); - x_165 = x_157; -} else { - lean::inc(x_163); - lean::dec(x_157); - x_165 = lean::box(0); -} -x_166 = lean::cnstr_get(x_163, 1); -lean::inc(x_166); -lean::dec(x_163); -if (lean::obj_tag(x_166) == 0) -{ -obj* x_170; -lean::dec(x_165); -x_170 = lean::box(0); -if (lean::obj_tag(x_123) == 0) -{ -x_118 = x_170; -goto lbl_119; -} -else -{ -obj* x_171; -x_171 = lean::cnstr_get(x_123, 0); -lean::inc(x_171); -lean::dec(x_123); -x_120 = x_170; -x_121 = x_171; -goto lbl_122; -} -} -else -{ -obj* x_174; -x_174 = lean::cnstr_get(x_166, 1); -lean::inc(x_174); -if (lean::obj_tag(x_174) == 0) -{ -obj* x_176; obj* x_179; obj* x_180; obj* x_183; obj* x_184; -x_176 = lean::cnstr_get(x_166, 0); -lean::inc(x_176); -lean::dec(x_166); -x_179 = l_lean_parser_command_notation__like_has__view; -x_180 = lean::cnstr_get(x_179, 0); -lean::inc(x_180); -lean::dec(x_179); -x_183 = lean::apply_1(x_180, x_176); -if (lean::is_scalar(x_165)) { - x_184 = lean::alloc_cnstr(1, 1, 0); -} else { - x_184 = x_165; -} -lean::cnstr_set(x_184, 0, x_183); -if (lean::obj_tag(x_123) == 0) -{ -x_118 = x_184; -goto lbl_119; -} -else -{ -obj* x_185; -x_185 = lean::cnstr_get(x_123, 0); -lean::inc(x_185); -lean::dec(x_123); -x_120 = x_184; -x_121 = x_185; -goto lbl_122; -} -} -else -{ -lean::dec(x_174); -lean::dec(x_166); -lean::dec(x_165); -if (lean::obj_tag(x_123) == 0) -{ -obj* x_191; -x_191 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__3; -x_118 = x_191; -goto lbl_119; -} -else -{ -obj* x_192; obj* x_195; -x_192 = lean::cnstr_get(x_123, 0); -lean::inc(x_192); -lean::dec(x_123); -x_195 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__3; -x_120 = x_195; -x_121 = x_192; -goto lbl_122; -} -} -} -} -} -} -} -} -} +lean::dec(x_97); +x_103 = lean::cnstr_get(x_100, 1); +lean::inc(x_103); +lean::dec(x_100); +x_106 = l_lean_parser_command_inductive_has__view_x_27___lambda__1___closed__2; +x_107 = l_list_map___main___rarg(x_106, x_103); +x_108 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_108, 0, x_0); +lean::cnstr_set(x_108, 1, x_32); +lean::cnstr_set(x_108, 2, x_33); +lean::cnstr_set(x_108, 3, x_65); +lean::cnstr_set(x_108, 4, x_70); +lean::cnstr_set(x_108, 5, x_71); +lean::cnstr_set(x_108, 6, x_107); +return x_108; } } } @@ -33459,119 +28589,16 @@ return x_10; obj* _init_l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -if (x_10 == 0) -{ -obj* x_11; uint8 x_12; -x_11 = lean::mk_nat_obj(3u); -x_12 = lean::nat_dec_eq(x_1, x_11); -if (x_12 == 0) -{ -obj* x_13; uint8 x_14; -x_13 = lean::mk_nat_obj(4u); -x_14 = lean::nat_dec_eq(x_1, x_13); -lean::dec(x_1); -if (x_14 == 0) -{ -obj* x_16; obj* x_17; obj* x_20; obj* x_21; -x_16 = l_lean_parser_command_structure_has__view; -x_17 = lean::cnstr_get(x_16, 0); -lean::inc(x_17); -lean::dec(x_16); -x_20 = lean::apply_1(x_17, x_0); -x_21 = lean::alloc_cnstr(5, 1, 0); -lean::cnstr_set(x_21, 0, x_20); -return x_21; -} -else -{ -obj* x_22; obj* x_23; obj* x_26; obj* x_27; -x_22 = l_lean_parser_command_inductive_has__view; -x_23 = lean::cnstr_get(x_22, 0); -lean::inc(x_23); -lean::dec(x_22); -x_26 = lean::apply_1(x_23, x_0); -x_27 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_27, 0, x_26); -return x_27; -} -} -else -{ -obj* x_29; obj* x_30; obj* x_33; obj* x_34; -lean::dec(x_1); -x_29 = l_lean_parser_command_constant_has__view; -x_30 = lean::cnstr_get(x_29, 0); -lean::inc(x_30); -lean::dec(x_29); -x_33 = lean::apply_1(x_30, x_0); -x_34 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_34, 0, x_33); -return x_34; -} -} -else -{ -obj* x_36; obj* x_37; obj* x_40; obj* x_41; -lean::dec(x_1); -x_36 = l_lean_parser_command_example_has__view; -x_37 = lean::cnstr_get(x_36, 0); -lean::inc(x_37); -lean::dec(x_36); -x_40 = lean::apply_1(x_37, x_0); -x_41 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_41, 0, x_40); -return x_41; -} -} -else -{ -obj* x_43; obj* x_44; obj* x_47; obj* x_48; -lean::dec(x_1); -x_43 = l_lean_parser_command_instance_has__view; -x_44 = lean::cnstr_get(x_43, 0); -lean::inc(x_44); -lean::dec(x_43); -x_47 = lean::apply_1(x_44, x_0); -x_48 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_48, 0, x_47); -return x_48; -} -} -else -{ -obj* x_50; obj* x_51; obj* x_54; obj* x_55; -lean::dec(x_1); -x_50 = l_lean_parser_command_def__like_has__view; -x_51 = lean::cnstr_get(x_50, 0); -lean::inc(x_51); -lean::dec(x_50); -x_54 = lean::apply_1(x_51, x_0); -x_55 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_55, 0, x_54); -return x_55; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_def__like_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__2() { @@ -33595,139 +28622,239 @@ return x_10; obj* l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +if (x_58 == 0) +{ +obj* x_59; uint8 x_60; +x_59 = lean::mk_nat_obj(2u); +x_60 = lean::nat_dec_eq(x_39, x_59); +if (x_60 == 0) +{ +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(3u); +x_62 = lean::nat_dec_eq(x_39, x_61); +if (x_62 == 0) +{ +obj* x_63; uint8 x_64; +x_63 = lean::mk_nat_obj(4u); +x_64 = lean::nat_dec_eq(x_39, x_63); +lean::dec(x_39); +if (x_64 == 0) +{ +obj* x_66; obj* x_67; obj* x_70; obj* x_71; +x_66 = l_lean_parser_command_structure_has__view; +x_67 = lean::cnstr_get(x_66, 0); +lean::inc(x_67); +lean::dec(x_66); +x_70 = lean::apply_1(x_67, x_52); +x_71 = lean::alloc_cnstr(5, 1, 0); +lean::cnstr_set(x_71, 0, x_70); +return x_71; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_72; obj* x_73; obj* x_76; obj* x_77; +x_72 = l_lean_parser_command_inductive_has__view; +x_73 = lean::cnstr_get(x_72, 0); +lean::inc(x_73); +lean::dec(x_72); +x_76 = lean::apply_1(x_73, x_52); +x_77 = lean::alloc_cnstr(4, 1, 0); +lean::cnstr_set(x_77, 0, x_76); +return x_77; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_79; obj* x_80; obj* x_83; obj* x_84; +lean::dec(x_39); +x_79 = l_lean_parser_command_constant_has__view; +x_80 = lean::cnstr_get(x_79, 0); +lean::inc(x_80); +lean::dec(x_79); +x_83 = lean::apply_1(x_80, x_52); +x_84 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_84, 0, x_83); +return x_84; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_86; obj* x_87; obj* x_90; obj* x_91; +lean::dec(x_39); +x_86 = l_lean_parser_command_example_has__view; +x_87 = lean::cnstr_get(x_86, 0); +lean::inc(x_87); +lean::dec(x_86); +x_90 = lean::apply_1(x_87, x_52); +x_91 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_91, 0, x_90); +return x_91; +} +} +else +{ +obj* x_93; obj* x_94; obj* x_97; obj* x_98; +lean::dec(x_39); +x_93 = l_lean_parser_command_instance_has__view; +x_94 = lean::cnstr_get(x_93, 0); +lean::inc(x_94); +lean::dec(x_93); +x_97 = lean::apply_1(x_94, x_52); +x_98 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_98, 0, x_97); +return x_98; +} +} +else +{ +obj* x_100; obj* x_101; obj* x_104; obj* x_105; +lean::dec(x_39); +x_100 = l_lean_parser_command_def__like_has__view; +x_101 = lean::cnstr_get(x_100, 0); +lean::inc(x_101); +lean::dec(x_100); +x_104 = lean::apply_1(x_101, x_52); +x_105 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_105, 0, x_104); +return x_105; +} +} +else +{ +obj* x_109; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_109 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_109; } } } @@ -33737,122 +28864,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_112; +lean::dec(x_8); +lean::dec(x_17); +x_112 = l_lean_parser_command_declaration_inner_has__view_x_27___lambda__1___closed__1; +return x_112; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) -{ -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -if (x_70 == 0) -{ -obj* x_71; uint8 x_72; -x_71 = lean::mk_nat_obj(3u); -x_72 = lean::nat_dec_eq(x_2, x_71); -if (x_72 == 0) -{ -obj* x_73; uint8 x_74; -x_73 = lean::mk_nat_obj(4u); -x_74 = lean::nat_dec_eq(x_2, x_73); -lean::dec(x_2); -if (x_74 == 0) -{ -obj* x_76; obj* x_77; obj* x_80; obj* x_81; -x_76 = l_lean_parser_command_structure_has__view; -x_77 = lean::cnstr_get(x_76, 0); -lean::inc(x_77); -lean::dec(x_76); -x_80 = lean::apply_1(x_77, x_1); -x_81 = lean::alloc_cnstr(5, 1, 0); -lean::cnstr_set(x_81, 0, x_80); -return x_81; -} -else -{ -obj* x_82; obj* x_83; obj* x_86; obj* x_87; -x_82 = l_lean_parser_command_inductive_has__view; -x_83 = lean::cnstr_get(x_82, 0); -lean::inc(x_83); -lean::dec(x_82); -x_86 = lean::apply_1(x_83, x_1); -x_87 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_87, 0, x_86); -return x_87; -} -} -else -{ -obj* x_89; obj* x_90; obj* x_93; obj* x_94; -lean::dec(x_2); -x_89 = l_lean_parser_command_constant_has__view; -x_90 = lean::cnstr_get(x_89, 0); -lean::inc(x_90); -lean::dec(x_89); -x_93 = lean::apply_1(x_90, x_1); -x_94 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_94, 0, x_93); -return x_94; -} -} -else -{ -obj* x_96; obj* x_97; obj* x_100; obj* x_101; -lean::dec(x_2); -x_96 = l_lean_parser_command_example_has__view; -x_97 = lean::cnstr_get(x_96, 0); -lean::inc(x_97); -lean::dec(x_96); -x_100 = lean::apply_1(x_97, x_1); -x_101 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_101, 0, x_100); -return x_101; -} -} -else -{ -obj* x_103; obj* x_104; obj* x_107; obj* x_108; -lean::dec(x_2); -x_103 = l_lean_parser_command_instance_has__view; -x_104 = lean::cnstr_get(x_103, 0); -lean::inc(x_104); -lean::dec(x_103); -x_107 = lean::apply_1(x_104, x_1); -x_108 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_108, 0, x_107); -return x_108; -} -} -else -{ -obj* x_110; obj* x_111; obj* x_114; obj* x_115; -lean::dec(x_2); -x_110 = l_lean_parser_command_def__like_has__view; -x_111 = lean::cnstr_get(x_110, 0); -lean::inc(x_111); -lean::dec(x_110); -x_114 = lean::apply_1(x_111, x_1); -x_115 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_115, 0, x_114); -return x_115; -} -} } } obj* l_lean_parser_command_declaration_inner_has__view_x_27___lambda__2(obj* x_0) { diff --git a/src/boot/init/lean/parser/level.cpp b/src/boot/init/lean/parser/level.cpp index aa451fc4f8..58078f0104 100644 --- a/src/boot/init/lean/parser/level.cpp +++ b/src/boot/init/lean/parser/level.cpp @@ -586,210 +586,14 @@ return x_8; obj* _init_l_lean_parser_level_paren_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -if (lean::obj_tag(x_2) == 0) -{ -obj* x_9; obj* x_10; -x_9 = lean::box(0); -x_10 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_10, 0, x_0); -lean::cnstr_set(x_10, 1, x_1); -lean::cnstr_set(x_10, 2, x_9); -return x_10; -} -else -{ -obj* x_11; -x_11 = lean::cnstr_get(x_2, 0); -lean::inc(x_11); -lean::dec(x_2); -switch (lean::obj_tag(x_11)) { -case 0: -{ -obj* x_14; obj* x_17; obj* x_18; -x_14 = lean::cnstr_get(x_11, 0); -lean::inc(x_14); -lean::dec(x_11); -x_17 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -x_18 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_18, 0, x_0); -lean::cnstr_set(x_18, 1, x_1); -lean::cnstr_set(x_18, 2, x_17); -return x_18; -} -case 3: -{ -obj* x_19; obj* x_20; -x_19 = lean::box(0); -x_20 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_20, 0, x_0); -lean::cnstr_set(x_20, 1, x_1); -lean::cnstr_set(x_20, 2, x_19); -return x_20; -} -default: -{ -obj* x_22; obj* x_23; -lean::dec(x_11); -x_22 = lean::box(0); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_1); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -} -} -} -lbl_6: -{ -obj* x_24; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_26; obj* x_29; -x_26 = lean::cnstr_get(x_5, 0); -lean::inc(x_26); -lean::dec(x_5); -x_29 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_29, 0, x_26); -if (lean::obj_tag(x_4) == 0) -{ -x_24 = x_29; -goto lbl_25; -} -else -{ -obj* x_30; obj* x_32; -x_30 = lean::cnstr_get(x_4, 0); -lean::inc(x_30); -x_32 = lean::cnstr_get(x_4, 1); -lean::inc(x_32); -lean::dec(x_4); -x_0 = x_29; -x_1 = x_30; -x_2 = x_32; -goto lbl_3; -} -} -case 3: -{ -obj* x_35; -x_35 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_24 = x_35; -goto lbl_25; -} -else -{ -obj* x_36; obj* x_38; -x_36 = lean::cnstr_get(x_4, 0); -lean::inc(x_36); -x_38 = lean::cnstr_get(x_4, 1); -lean::inc(x_38); -lean::dec(x_4); -x_0 = x_35; -x_1 = x_36; -x_2 = x_38; -goto lbl_3; -} -} -default: -{ -obj* x_42; -lean::dec(x_5); -x_42 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_24 = x_42; -goto lbl_25; -} -else -{ -obj* x_43; obj* x_45; -x_43 = lean::cnstr_get(x_4, 0); -lean::inc(x_43); -x_45 = lean::cnstr_get(x_4, 1); -lean::inc(x_45); -lean::dec(x_4); -x_0 = x_42; -x_1 = x_43; -x_2 = x_45; -goto lbl_3; -} -} -} -lbl_25: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_48; obj* x_49; obj* x_50; -x_48 = lean::box(0); -x_49 = lean::box(3); -x_50 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_50, 0, x_24); -lean::cnstr_set(x_50, 1, x_49); -lean::cnstr_set(x_50, 2, x_48); -return x_50; -} -else -{ -obj* x_51; -x_51 = lean::cnstr_get(x_4, 0); -lean::inc(x_51); -lean::dec(x_4); -switch (lean::obj_tag(x_51)) { -case 0: -{ -obj* x_54; obj* x_57; obj* x_58; obj* x_59; -x_54 = lean::cnstr_get(x_51, 0); -lean::inc(x_54); -lean::dec(x_51); -x_57 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_57, 0, x_54); -x_58 = lean::box(3); -x_59 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_59, 0, x_24); -lean::cnstr_set(x_59, 1, x_58); -lean::cnstr_set(x_59, 2, x_57); -return x_59; -} -case 3: -{ -obj* x_60; obj* x_61; obj* x_62; -x_60 = lean::box(0); -x_61 = lean::box(3); -x_62 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_62, 0, x_24); -lean::cnstr_set(x_62, 1, x_61); -lean::cnstr_set(x_62, 2, x_60); -return x_62; -} -default: -{ -obj* x_64; obj* x_65; obj* x_66; -lean::dec(x_51); -x_64 = lean::box(0); -x_65 = lean::box(3); -x_66 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_66, 0, x_24); -lean::cnstr_set(x_66, 1, x_65); -lean::cnstr_set(x_66, 2, x_64); -return x_66; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_level_paren_has__view_x_27___lambda__1(obj* x_0) { @@ -2079,143 +1883,11 @@ return x_1; obj* _init_l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -if (x_10 == 0) -{ -obj* x_11; uint8 x_12; -x_11 = lean::mk_nat_obj(3u); -x_12 = lean::nat_dec_eq(x_1, x_11); -if (x_12 == 0) -{ -obj* x_13; uint8 x_14; -x_13 = lean::mk_nat_obj(4u); -x_14 = lean::nat_dec_eq(x_1, x_13); -lean::dec(x_1); -if (x_14 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 1: -{ -obj* x_16; obj* x_19; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(5, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -return x_19; -} -case 3: -{ -obj* x_20; -x_20 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__2; -return x_20; -} -default: -{ -obj* x_22; -lean::dec(x_0); -x_22 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__2; -return x_22; -} -} -} -else -{ -obj* x_23; obj* x_24; obj* x_27; obj* x_28; -x_23 = l_lean_parser_number_has__view; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_0); -x_28 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_28, 0, x_27); -return x_28; -} -} -else -{ -obj* x_30; obj* x_31; obj* x_34; obj* x_35; -lean::dec(x_1); -x_30 = l_lean_parser_level_paren_has__view; -x_31 = lean::cnstr_get(x_30, 0); -lean::inc(x_31); -lean::dec(x_30); -x_34 = lean::apply_1(x_31, x_0); -x_35 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_35, 0, x_34); -return x_35; -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_37; obj* x_40; obj* x_41; -x_37 = lean::cnstr_get(x_0, 0); -lean::inc(x_37); -lean::dec(x_0); -x_40 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_40, 0, x_37); -x_41 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_41, 0, x_40); -return x_41; -} -case 3: -{ -obj* x_42; -x_42 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__3; -return x_42; -} -default: -{ -obj* x_44; -lean::dec(x_0); -x_44 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__3; -return x_44; -} -} -} -} -else -{ -obj* x_46; -lean::dec(x_1); -x_46 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_46, 0, x_0); -return x_46; -} -} -else -{ -obj* x_48; -lean::dec(x_1); -x_48 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_48, 0, x_0); -return x_48; -} -} +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_1, 0, x_0); +return x_1; } } obj* _init_l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__5() { @@ -2237,286 +1909,299 @@ return x_8; obj* l_lean_parser_level_leading_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_5; +obj* x_2; +x_2 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__5; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__5; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_19; +obj* x_16; +x_16 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_26; +obj* x_23; +x_23 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(1u); +x_62 = lean::nat_dec_eq(x_41, x_61); +if (x_62 == 0) { -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) +obj* x_63; uint8 x_64; +x_63 = lean::mk_nat_obj(2u); +x_64 = lean::nat_dec_eq(x_41, x_63); +if (x_64 == 0) { -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -if (x_70 == 0) +obj* x_66; uint8 x_67; +lean::dec(x_26); +x_66 = lean::mk_nat_obj(3u); +x_67 = lean::nat_dec_eq(x_41, x_66); +if (x_67 == 0) { -obj* x_71; uint8 x_72; -x_71 = lean::mk_nat_obj(3u); -x_72 = lean::nat_dec_eq(x_2, x_71); -if (x_72 == 0) +obj* x_68; uint8 x_69; +x_68 = lean::mk_nat_obj(4u); +x_69 = lean::nat_dec_eq(x_41, x_68); +lean::dec(x_41); +if (x_69 == 0) { -obj* x_73; uint8 x_74; -x_73 = lean::mk_nat_obj(4u); -x_74 = lean::nat_dec_eq(x_2, x_73); -lean::dec(x_2); -if (x_74 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 1: { -obj* x_76; obj* x_79; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(5, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -return x_79; +obj* x_71; obj* x_74; +x_71 = lean::cnstr_get(x_56, 0); +lean::inc(x_71); +lean::dec(x_56); +x_74 = lean::alloc_cnstr(5, 1, 0); +lean::cnstr_set(x_74, 0, x_71); +return x_74; } case 3: { -obj* x_80; -x_80 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__2; -return x_80; +obj* x_75; +x_75 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__2; +return x_75; } default: { -obj* x_82; -lean::dec(x_1); -x_82 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__2; -return x_82; +obj* x_77; +lean::dec(x_56); +x_77 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__2; +return x_77; } } } else { -obj* x_83; obj* x_84; obj* x_87; obj* x_88; -x_83 = l_lean_parser_number_has__view; -x_84 = lean::cnstr_get(x_83, 0); -lean::inc(x_84); -lean::dec(x_83); -x_87 = lean::apply_1(x_84, x_1); -x_88 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_88, 0, x_87); -return x_88; +obj* x_78; obj* x_79; obj* x_82; obj* x_83; +x_78 = l_lean_parser_number_has__view; +x_79 = lean::cnstr_get(x_78, 0); +lean::inc(x_79); +lean::dec(x_78); +x_82 = lean::apply_1(x_79, x_56); +x_83 = lean::alloc_cnstr(4, 1, 0); +lean::cnstr_set(x_83, 0, x_82); +return x_83; } } else { -obj* x_90; obj* x_91; obj* x_94; obj* x_95; -lean::dec(x_2); -x_90 = l_lean_parser_level_paren_has__view; -x_91 = lean::cnstr_get(x_90, 0); -lean::inc(x_91); -lean::dec(x_90); -x_94 = lean::apply_1(x_91, x_1); -x_95 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_95, 0, x_94); -return x_95; +obj* x_85; obj* x_86; obj* x_89; obj* x_90; +lean::dec(x_41); +x_85 = l_lean_parser_level_paren_has__view; +x_86 = lean::cnstr_get(x_85, 0); +lean::inc(x_86); +lean::dec(x_85); +x_89 = lean::apply_1(x_86, x_56); +x_90 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_90, 0, x_89); +return x_90; } } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_97; obj* x_100; obj* x_101; -x_97 = lean::cnstr_get(x_1, 0); -lean::inc(x_97); -lean::dec(x_1); -x_100 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_100, 0, x_97); -x_101 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_101, 0, x_100); -return x_101; +obj* x_92; obj* x_95; obj* x_96; +x_92 = lean::cnstr_get(x_56, 0); +lean::inc(x_92); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_95 = lean::alloc_cnstr(1, 1, 0); +} else { + x_95 = x_26; +} +lean::cnstr_set(x_95, 0, x_92); +x_96 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_96, 0, x_95); +return x_96; } case 3: { -obj* x_102; -x_102 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__3; -return x_102; +obj* x_98; +lean::dec(x_26); +x_98 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__3; +return x_98; } default: { +obj* x_101; +lean::dec(x_56); +lean::dec(x_26); +x_101 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__3; +return x_101; +} +} +} +} +else +{ obj* x_104; -lean::dec(x_1); -x_104 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__3; +lean::dec(x_26); +lean::dec(x_41); +x_104 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_104, 0, x_56); return x_104; } } +else +{ +obj* x_107; +lean::dec(x_26); +lean::dec(x_41); +x_107 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_107, 0, x_56); +return x_107; } } else { -obj* x_106; -lean::dec(x_2); -x_106 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_106, 0, x_1); -return x_106; +obj* x_112; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_112 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_112; +} +} +} +} +} } } else { -obj* x_108; -lean::dec(x_2); -x_108 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_108, 0, x_1); -return x_108; +obj* x_115; +lean::dec(x_8); +lean::dec(x_17); +x_115 = l_lean_parser_level_leading_has__view_x_27___lambda__1___closed__4; +return x_115; +} +} } } } @@ -4528,142 +4213,15 @@ return x_5; obj* _init_l_lean_parser_level_add__lit_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_8; -x_8 = lean::box(3); -x_5 = x_0; -x_6 = x_8; -goto lbl_7; -} -else -{ -obj* x_9; obj* x_11; -x_9 = lean::cnstr_get(x_0, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_0, 1); -lean::inc(x_11); -lean::dec(x_0); -x_5 = x_11; -x_6 = x_9; -goto lbl_7; -} -lbl_7: -{ -switch (lean::obj_tag(x_6)) { -case 0: -{ -obj* x_14; obj* x_17; -x_14 = lean::cnstr_get(x_6, 0); -lean::inc(x_14); -lean::dec(x_6); -x_17 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_18; obj* x_19; -x_18 = l_lean_parser_level_add__lit_has__view_x_27___lambda__1___closed__1; -x_19 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_19, 0, x_1); -lean::cnstr_set(x_19, 1, x_17); -lean::cnstr_set(x_19, 2, x_18); -return x_19; -} -else -{ -obj* x_20; obj* x_23; obj* x_24; obj* x_27; obj* x_28; -x_20 = lean::cnstr_get(x_5, 0); -lean::inc(x_20); -lean::dec(x_5); -x_23 = l_lean_parser_number_has__view; -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); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_1); -lean::cnstr_set(x_28, 1, x_17); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -case 3: -{ -obj* x_29; -x_29 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_30; obj* x_31; -x_30 = l_lean_parser_level_add__lit_has__view_x_27___lambda__1___closed__1; -x_31 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_31, 0, x_1); -lean::cnstr_set(x_31, 1, x_29); -lean::cnstr_set(x_31, 2, x_30); -return x_31; -} -else -{ -obj* x_32; obj* x_35; obj* x_36; obj* x_39; obj* x_40; -x_32 = lean::cnstr_get(x_5, 0); -lean::inc(x_32); -lean::dec(x_5); -x_35 = l_lean_parser_number_has__view; -x_36 = lean::cnstr_get(x_35, 0); -lean::inc(x_36); -lean::dec(x_35); -x_39 = lean::apply_1(x_36, x_32); -x_40 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_29); -lean::cnstr_set(x_40, 2, x_39); -return x_40; -} -} -default: -{ -obj* x_42; -lean::dec(x_6); -x_42 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_43; obj* x_44; -x_43 = l_lean_parser_level_add__lit_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_44, 0, x_1); -lean::cnstr_set(x_44, 1, x_42); -lean::cnstr_set(x_44, 2, x_43); -return x_44; -} -else -{ -obj* x_45; obj* x_48; obj* x_49; obj* x_52; obj* x_53; -x_45 = lean::cnstr_get(x_5, 0); -lean::inc(x_45); -lean::dec(x_5); -x_48 = l_lean_parser_number_has__view; -x_49 = lean::cnstr_get(x_48, 0); -lean::inc(x_49); -lean::dec(x_48); -x_52 = lean::apply_1(x_49, x_45); -x_53 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_53, 0, x_1); -lean::cnstr_set(x_53, 1, x_42); -lean::cnstr_set(x_53, 2, x_52); -return x_53; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_level_add__lit_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_3, 0, x_1); +lean::cnstr_set(x_3, 1, x_0); +lean::cnstr_set(x_3, 2, x_2); +return x_3; } } obj* l_lean_parser_level_add__lit_has__view_x_27___lambda__1(obj* x_0) { @@ -5517,43 +5075,16 @@ return x_8; obj* _init_l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_level_add__lit_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_level_app_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_level_app_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__2() { @@ -5575,186 +5106,179 @@ return x_8; obj* l_lean_parser_level_trailing_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_level_add__lit_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_level_app_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_level_add__lit_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_level_app_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_level_trailing_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } diff --git a/src/boot/init/lean/parser/module.cpp b/src/boot/init/lean/parser/module.cpp index bbbc12b1d4..074a523aef 100644 --- a/src/boot/init/lean/parser/module.cpp +++ b/src/boot/init/lean/parser/module.cpp @@ -30,6 +30,7 @@ extern uint8 l_true_decidable; obj* l_lean_parser_monad__parsec_str__core___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__3(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_symbol__core___at_lean_parser_unicode__symbol_lean_parser_has__tokens___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_id___boxed(obj*); +obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(obj*, obj*, obj*, obj*, obj*); obj* l_coe__trans___rarg(obj*, obj*, obj*); extern obj* l_lean_parser_ident_parser___at_lean_parser_command_notation__spec_fold__action_parser_lean_parser_has__tokens___spec__4___rarg___closed__1; extern obj* l_lean_parser_combinators_many___rarg___closed__1; @@ -58,6 +59,7 @@ obj* l_lean_parser_list_cons_tokens___rarg(obj*, obj*); obj* l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1; obj* l_lean_parser_module_eoi_parser___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_try__mk__res___rarg(obj*); extern obj* l_lean_parser_monad__parsec_eoi___rarg___lambda__1___closed__1; obj* l_lean_parser_module_header_has__view_x_27___lambda__2___closed__1; @@ -97,7 +99,6 @@ obj* l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; obj* l_function_comp___rarg(obj*, obj*, obj*); obj* l_lean_parser_module_prelude_has__view_x_27___lambda__1___closed__1; obj* l_state__t_bind___at_lean_parser_parse__header___spec__1(obj*, obj*); -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module__parser__config__coe(obj*); obj* l_lean_parser_module_eoi_parser(obj*, obj*, obj*, obj*); obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; @@ -108,7 +109,6 @@ extern obj* l_lean_parser_parsec_result_mk__eps___rarg___closed__1; obj* l_state__t_bind___at_lean_parser_parse__header___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_reader__t_bind___at_lean_parser_with__trailing___spec__2___rarg(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2___boxed(obj*, obj*, obj*, obj*); obj* l_string_iterator_remaining___main(obj*); obj* l_lean_parser_module_prelude_has__view; obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg(obj*, obj*, obj*, obj*); @@ -135,7 +135,6 @@ obj* l_lean_parser_module_import__path_parser_lean_parser_has__view; extern obj* l_char_has__repr___closed__1; obj* l_lean_parser_module__parser__m_monad; obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___boxed(obj*, obj*); -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(obj*, obj*, obj*, obj*); obj* l_lean_parser_resume__module__parser___boxed(obj*); obj* l_lean_parser_parse__header___lambda__2___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_command__parser_run(obj*, obj*, obj*, obj*, obj*); @@ -191,6 +190,7 @@ uint32 l_string_iterator_curr___main(obj*); obj* l_lean_parser_module_import_parser_lean_parser_has__tokens; obj* l_lean_parser_module_header_has__view_x_27___lambda__1(obj*); obj* l_lean_parser_parser__t_monad__except___rarg(obj*); +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(obj*, obj*, obj*, obj*); uint8 l_string_iterator_has__next___main(obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__2___closed__1; obj* l_id_bind___boxed(obj*, obj*); @@ -974,118 +974,30 @@ return x_2; obj* _init_l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_5) == 0) -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_6; -x_6 = l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__2; -return x_6; +obj* x_2; +x_2 = l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__2; +return x_2; } else { -obj* x_7; -x_7 = lean::cnstr_get(x_0, 0); -lean::inc(x_7); -lean::dec(x_0); -switch (lean::obj_tag(x_7)) { -case 1: -{ -obj* x_10; obj* x_13; obj* x_14; -x_10 = lean::cnstr_get(x_7, 0); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__3; -x_14 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_14, 0, x_13); -lean::cnstr_set(x_14, 1, x_10); -return x_14; -} -case 3: -{ -obj* x_15; -x_15 = l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__2; -return x_15; -} -default: -{ -obj* x_17; -lean::dec(x_7); -x_17 = l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__2; -return x_17; -} -} -} -} -else -{ -obj* x_18; obj* x_21; obj* x_24; -x_18 = lean::cnstr_get(x_5, 0); -lean::inc(x_18); -lean::dec(x_5); -x_21 = lean::cnstr_get(x_18, 1); -lean::inc(x_21); -lean::dec(x_18); -x_24 = l_list_map___main___at_lean_parser_module_import__path_has__view_x_27___spec__1(x_21); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_25; obj* x_26; -x_25 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_26, 0, x_24); -lean::cnstr_set(x_26, 1, x_25); -return x_26; -} -else -{ -obj* x_27; -x_27 = lean::cnstr_get(x_0, 0); -lean::inc(x_27); -lean::dec(x_0); -switch (lean::obj_tag(x_27)) { -case 1: -{ -obj* x_30; obj* x_33; -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -lean::dec(x_27); -x_33 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_33, 0, x_24); -lean::cnstr_set(x_33, 1, x_30); -return x_33; -} -case 3: -{ -obj* x_34; obj* x_35; -x_34 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_35 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_35, 0, x_24); -lean::cnstr_set(x_35, 1, x_34); -return x_35; -} -default: -{ -obj* x_37; obj* x_38; -lean::dec(x_27); -x_37 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_38, 0, x_24); -lean::cnstr_set(x_38, 1, x_37); -return x_38; -} -} -} -} +obj* x_3; obj* x_6; obj* x_9; obj* x_10; obj* x_11; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +x_9 = l_list_map___main___at_lean_parser_module_import__path_has__view_x_27___spec__1(x_6); +x_10 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_11 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_11, 0, x_9); +lean::cnstr_set(x_11, 1, x_10); +return x_11; } } } @@ -1793,240 +1705,229 @@ return x_1; obj* _init_l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; -x_14 = l_list_map___main___rarg(x_13, x_10); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; +x_12 = l_list_map___main___rarg(x_11, x_8); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } } obj* l_lean_parser_module_import_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_3; obj* x_4; obj* x_6; -x_6 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_6) == 0) +obj* x_1; obj* x_2; obj* x_4; +x_4 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_4) == 0) { -obj* x_7; -x_7 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; -return x_7; +obj* x_5; +x_5 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; +return x_5; } else { -obj* x_8; obj* x_10; obj* x_11; -x_8 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_10 = x_6; +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; } else { - lean::inc(x_8); - lean::dec(x_6); - x_10 = lean::box(0); + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ lean::dec(x_8); -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_9) == 0) { -lean::dec(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_15; -x_15 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; -return x_15; +obj* x_13; +x_13 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; +return x_13; } else { -obj* x_16; obj* x_19; -x_16 = lean::cnstr_get(x_11, 0); -lean::inc(x_16); -lean::dec(x_11); -x_19 = lean::box(0); -x_3 = x_19; -x_4 = x_16; -goto lbl_5; +obj* x_14; obj* x_17; +x_14 = lean::cnstr_get(x_9, 0); +lean::inc(x_14); +lean::dec(x_9); +x_17 = lean::box(0); +x_1 = x_17; +x_2 = x_14; +goto lbl_3; } } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 0); -lean::inc(x_20); -switch (lean::obj_tag(x_20)) { +obj* x_18; +x_18 = lean::cnstr_get(x_9, 0); +lean::inc(x_18); +switch (lean::obj_tag(x_18)) { case 0: { -obj* x_22; obj* x_25; obj* x_28; -x_22 = lean::cnstr_get(x_11, 1); -lean::inc(x_22); -lean::dec(x_11); -x_25 = lean::cnstr_get(x_20, 0); -lean::inc(x_25); -lean::dec(x_20); -if (lean::is_scalar(x_10)) { - x_28 = lean::alloc_cnstr(1, 1, 0); +obj* x_20; obj* x_23; obj* x_26; +x_20 = lean::cnstr_get(x_9, 1); +lean::inc(x_20); +lean::dec(x_9); +x_23 = lean::cnstr_get(x_18, 0); +lean::inc(x_23); +lean::dec(x_18); +if (lean::is_scalar(x_8)) { + x_26 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_10; + x_26 = x_8; } -lean::cnstr_set(x_28, 0, x_25); -if (lean::obj_tag(x_22) == 0) +lean::cnstr_set(x_26, 0, x_23); +if (lean::obj_tag(x_20) == 0) { -x_1 = x_28; -goto lbl_2; +obj* x_27; obj* x_28; +x_27 = lean::box(3); +x_28 = l_lean_parser_syntax_as__node___main(x_27); +if (lean::obj_tag(x_28) == 0) +{ +obj* x_29; obj* x_30; +x_29 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; +x_30 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_30, 0, x_26); +lean::cnstr_set(x_30, 1, x_29); +return x_30; } else { -obj* x_29; -x_29 = lean::cnstr_get(x_22, 0); -lean::inc(x_29); -lean::dec(x_22); -x_3 = x_28; -x_4 = x_29; -goto lbl_5; +obj* x_31; obj* x_34; obj* x_37; obj* x_38; obj* x_39; +x_31 = lean::cnstr_get(x_28, 0); +lean::inc(x_31); +lean::dec(x_28); +x_34 = lean::cnstr_get(x_31, 1); +lean::inc(x_34); +lean::dec(x_31); +x_37 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; +x_38 = l_list_map___main___rarg(x_37, x_34); +x_39 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_39, 0, x_26); +lean::cnstr_set(x_39, 1, x_38); +return x_39; +} +} +else +{ +obj* x_40; +x_40 = lean::cnstr_get(x_20, 0); +lean::inc(x_40); +lean::dec(x_20); +x_1 = x_26; +x_2 = x_40; +goto lbl_3; } } case 3: { -obj* x_33; -lean::dec(x_10); -x_33 = lean::cnstr_get(x_11, 1); -lean::inc(x_33); -lean::dec(x_11); -if (lean::obj_tag(x_33) == 0) +obj* x_44; +lean::dec(x_8); +x_44 = lean::cnstr_get(x_9, 1); +lean::inc(x_44); +lean::dec(x_9); +if (lean::obj_tag(x_44) == 0) { -obj* x_36; -x_36 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; -return x_36; +obj* x_47; +x_47 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; +return x_47; } else { -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_33, 0); -lean::inc(x_37); -lean::dec(x_33); -x_40 = lean::box(0); -x_3 = x_40; -x_4 = x_37; -goto lbl_5; +obj* x_48; obj* x_51; +x_48 = lean::cnstr_get(x_44, 0); +lean::inc(x_48); +lean::dec(x_44); +x_51 = lean::box(0); +x_1 = x_51; +x_2 = x_48; +goto lbl_3; } } default: { -obj* x_43; -lean::dec(x_10); -lean::dec(x_20); -x_43 = lean::cnstr_get(x_11, 1); -lean::inc(x_43); -lean::dec(x_11); -if (lean::obj_tag(x_43) == 0) +obj* x_54; +lean::dec(x_8); +lean::dec(x_18); +x_54 = lean::cnstr_get(x_9, 1); +lean::inc(x_54); +lean::dec(x_9); +if (lean::obj_tag(x_54) == 0) { -obj* x_46; -x_46 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; -return x_46; +obj* x_57; +x_57 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; +return x_57; } else { -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_43, 0); -lean::inc(x_47); -lean::dec(x_43); -x_50 = lean::box(0); -x_3 = x_50; -x_4 = x_47; -goto lbl_5; -} -} -} -} -} -lbl_2: -{ -obj* x_51; obj* x_52; -x_51 = lean::box(3); -x_52 = l_lean_parser_syntax_as__node___main(x_51); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_53; obj* x_54; -x_53 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_1); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -else -{ -obj* x_55; obj* x_58; obj* x_61; obj* x_62; obj* x_63; -x_55 = lean::cnstr_get(x_52, 0); -lean::inc(x_55); -lean::dec(x_52); -x_58 = lean::cnstr_get(x_55, 1); +obj* x_58; obj* x_61; +x_58 = lean::cnstr_get(x_54, 0); lean::inc(x_58); -lean::dec(x_55); -x_61 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; -x_62 = l_list_map___main___rarg(x_61, x_58); -x_63 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_63, 0, x_1); -lean::cnstr_set(x_63, 1, x_62); -return x_63; +lean::dec(x_54); +x_61 = lean::box(0); +x_1 = x_61; +x_2 = x_58; +goto lbl_3; } } -lbl_5: +} +} +} +lbl_3: { -obj* x_64; -x_64 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_64) == 0) +obj* x_62; +x_62 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_62) == 0) { -obj* x_65; obj* x_66; -x_65 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_3); -lean::cnstr_set(x_66, 1, x_65); -return x_66; +obj* x_63; obj* x_64; +x_63 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; +x_64 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_64, 0, x_1); +lean::cnstr_set(x_64, 1, x_63); +return x_64; } else { -obj* x_67; obj* x_70; obj* x_73; obj* x_74; obj* x_75; -x_67 = lean::cnstr_get(x_64, 0); -lean::inc(x_67); -lean::dec(x_64); -x_70 = lean::cnstr_get(x_67, 1); -lean::inc(x_70); -lean::dec(x_67); -x_73 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; -x_74 = l_list_map___main___rarg(x_73, x_70); -x_75 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_75, 0, x_3); -lean::cnstr_set(x_75, 1, x_74); -return x_75; +obj* x_65; obj* x_68; obj* x_71; obj* x_72; obj* x_73; +x_65 = lean::cnstr_get(x_62, 0); +lean::inc(x_65); +lean::dec(x_62); +x_68 = lean::cnstr_get(x_65, 1); +lean::inc(x_68); +lean::dec(x_65); +x_71 = l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; +x_72 = l_list_map___main___rarg(x_71, x_68); +x_73 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_73, 0, x_1); +lean::cnstr_set(x_73, 1, x_72); +return x_73; } } } @@ -2263,47 +2164,40 @@ return x_1; obj* _init_l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_2; obj* x_3; obj* x_6; obj* x_7; obj* x_8; -x_2 = l_lean_parser_module_prelude_has__view; -x_3 = lean::cnstr_get(x_2, 0); -lean::inc(x_3); -lean::dec(x_2); -x_6 = lean::box(3); -x_7 = lean::apply_1(x_3, x_6); -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_7); -x_0 = x_8; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; +x_0 = l_lean_parser_module_prelude_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +x_7 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_7) == 0) { -obj* x_9; obj* x_10; -x_9 = lean::box(3); -x_10 = l_lean_parser_syntax_as__node___main(x_9); -if (lean::obj_tag(x_10) == 0) -{ -obj* x_11; obj* x_12; -x_11 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -x_12 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_12, 0, x_0); -lean::cnstr_set(x_12, 1, x_11); -return x_12; +obj* x_8; obj* x_9; +x_8 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_6); +lean::cnstr_set(x_9, 1, x_8); +return x_9; } else { -obj* x_13; obj* x_16; obj* x_19; obj* x_20; obj* x_21; -x_13 = lean::cnstr_get(x_10, 0); +obj* x_10; obj* x_13; obj* x_16; obj* x_17; obj* x_18; +x_10 = lean::cnstr_get(x_7, 0); +lean::inc(x_10); +lean::dec(x_7); +x_13 = lean::cnstr_get(x_10, 1); lean::inc(x_13); lean::dec(x_10); -x_16 = lean::cnstr_get(x_13, 1); -lean::inc(x_16); -lean::dec(x_13); -x_19 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; -x_20 = l_list_map___main___rarg(x_19, x_16); -x_21 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_21, 0, x_0); -lean::cnstr_set(x_21, 1, x_20); -return x_21; -} +x_16 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; +x_17 = l_list_map___main___rarg(x_16, x_13); +x_18 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_18, 0, x_6); +lean::cnstr_set(x_18, 1, x_17); +return x_18; } } } @@ -2325,234 +2219,111 @@ return x_6; obj* _init_l_lean_parser_module_header_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; -x_14 = l_list_map___main___rarg(x_13, x_10); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; +x_12 = l_list_map___main___rarg(x_11, x_8); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } } obj* _init_l_lean_parser_module_header_has__view_x_27___lambda__1___closed__6() { _start: { -obj* x_0; obj* x_2; obj* x_3; obj* x_5; obj* x_6; obj* x_8; obj* x_9; -x_8 = lean::box(0); -x_9 = lean::box(3); -x_5 = x_8; -x_6 = x_9; -goto lbl_7; -lbl_1: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_10; obj* x_11; -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_0); -lean::cnstr_set(x_13, 1, x_12); -return x_13; +obj* x_2; +x_2 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_14; obj* x_17; obj* x_20; obj* x_21; obj* x_22; -x_14 = lean::cnstr_get(x_11, 0); -lean::inc(x_14); -lean::dec(x_11); -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); +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); +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_has__view_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; 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_has__view; +x_15 = lean::cnstr_get(x_14, 0); +lean::inc(x_15); lean::dec(x_14); -x_20 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; -x_21 = l_list_map___main___rarg(x_20, x_17); +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_has__view_x_27___lambda__1___closed__1; x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_0); +lean::cnstr_set(x_22, 0, x_19); lean::cnstr_set(x_22, 1, x_21); return x_22; } +else +{ +obj* x_24; obj* x_25; obj* x_26; +lean::dec(x_1); +x_24 = l_lean_parser_module_header_has__view_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; } -lbl_4: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_24; obj* x_25; -x_24 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -x_25 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_25, 0, x_2); -lean::cnstr_set(x_25, 1, x_24); -return x_25; } else { -obj* x_26; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_26 = lean::cnstr_get(x_23, 0); -lean::inc(x_26); -lean::dec(x_23); -x_29 = lean::cnstr_get(x_26, 1); -lean::inc(x_29); -lean::dec(x_26); -x_32 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; -x_33 = l_list_map___main___rarg(x_32, x_29); -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_2); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -} -lbl_7: -{ -obj* x_35; -x_35 = l_lean_parser_syntax_as__node___main(x_6); -if (lean::obj_tag(x_35) == 0) -{ -if (lean::obj_tag(x_5) == 0) -{ -obj* x_36; -x_36 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; -return x_36; -} -else -{ -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_5, 0); -lean::inc(x_37); +obj* x_30; lean::dec(x_5); -x_40 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; -x_2 = x_40; -x_3 = x_37; -goto lbl_4; -} -} -else -{ -obj* x_41; obj* x_43; obj* x_44; -x_41 = lean::cnstr_get(x_35, 0); -if (lean::is_exclusive(x_35)) { - lean::cnstr_set(x_35, 0, lean::box(0)); - x_43 = x_35; -} else { - lean::inc(x_41); - lean::dec(x_35); - x_43 = lean::box(0); -} -x_44 = lean::cnstr_get(x_41, 1); -lean::inc(x_44); -lean::dec(x_41); -if (lean::obj_tag(x_44) == 0) -{ -lean::dec(x_43); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_48; -x_48 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__5; -return x_48; -} -else -{ -obj* x_49; obj* x_52; -x_49 = lean::cnstr_get(x_5, 0); -lean::inc(x_49); -lean::dec(x_5); -x_52 = lean::box(0); -x_2 = x_52; -x_3 = x_49; -goto lbl_4; -} -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_44, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; obj* x_58; obj* x_59; obj* x_62; obj* x_63; -x_55 = lean::cnstr_get(x_44, 0); -lean::inc(x_55); -lean::dec(x_44); -x_58 = l_lean_parser_module_prelude_has__view; -x_59 = lean::cnstr_get(x_58, 0); -lean::inc(x_59); -lean::dec(x_58); -x_62 = lean::apply_1(x_59, x_55); -if (lean::is_scalar(x_43)) { - x_63 = lean::alloc_cnstr(1, 1, 0); -} else { - x_63 = x_43; -} -lean::cnstr_set(x_63, 0, x_62); -if (lean::obj_tag(x_5) == 0) -{ -x_0 = x_63; -goto lbl_1; -} -else -{ -obj* x_64; -x_64 = lean::cnstr_get(x_5, 0); -lean::inc(x_64); -lean::dec(x_5); -x_2 = x_63; -x_3 = x_64; -goto lbl_4; -} -} -else -{ -lean::dec(x_43); -lean::dec(x_44); -lean::dec(x_53); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_70; -x_70 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; -return x_70; -} -else -{ -obj* x_71; obj* x_74; -x_71 = lean::cnstr_get(x_5, 0); -lean::inc(x_71); -lean::dec(x_5); -x_74 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; -x_2 = x_74; -x_3 = x_71; -goto lbl_4; -} -} +lean::dec(x_1); +lean::dec(x_10); +x_30 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; +return x_30; } } } @@ -2561,224 +2332,219 @@ goto lbl_4; obj* l_lean_parser_module_header_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_3; obj* x_4; obj* x_6; obj* x_7; obj* x_9; -x_9 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_9) == 0) +obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; +x_7 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_7) == 0) { -obj* x_10; -x_10 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__6; -return x_10; +obj* x_8; +x_8 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__6; +return x_8; } else { -obj* x_11; obj* x_14; -x_11 = lean::cnstr_get(x_9, 0); -lean::inc(x_11); +obj* x_9; obj* x_12; +x_9 = lean::cnstr_get(x_7, 0); +lean::inc(x_9); +lean::dec(x_7); +x_12 = lean::cnstr_get(x_9, 1); +lean::inc(x_12); lean::dec(x_9); -x_14 = lean::cnstr_get(x_11, 1); -lean::inc(x_14); -lean::dec(x_11); -if (lean::obj_tag(x_14) == 0) +if (lean::obj_tag(x_12) == 0) { -obj* x_17; -x_17 = lean::box(3); -x_6 = x_14; -x_7 = x_17; -goto lbl_8; +obj* x_15; +x_15 = lean::box(3); +x_4 = x_12; +x_5 = x_15; +goto lbl_6; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_14, 0); +obj* x_16; obj* x_18; +x_16 = lean::cnstr_get(x_12, 0); +lean::inc(x_16); +x_18 = lean::cnstr_get(x_12, 1); lean::inc(x_18); -x_20 = lean::cnstr_get(x_14, 1); -lean::inc(x_20); -lean::dec(x_14); -x_6 = x_20; -x_7 = x_18; -goto lbl_8; +lean::dec(x_12); +x_4 = x_18; +x_5 = x_16; +goto lbl_6; } } -lbl_2: +lbl_3: { -obj* x_23; obj* x_24; -x_23 = lean::box(3); -x_24 = l_lean_parser_syntax_as__node___main(x_23); -if (lean::obj_tag(x_24) == 0) +obj* x_21; +x_21 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_21) == 0) { -obj* x_25; obj* x_26; -x_25 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_26, 0, x_1); -lean::cnstr_set(x_26, 1, x_25); -return x_26; +obj* x_22; obj* x_23; +x_22 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; +x_23 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_23, 0, x_1); +lean::cnstr_set(x_23, 1, x_22); +return x_23; } else { -obj* x_27; obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_27 = lean::cnstr_get(x_24, 0); +obj* x_24; obj* x_27; obj* x_30; obj* x_31; obj* x_32; +x_24 = lean::cnstr_get(x_21, 0); +lean::inc(x_24); +lean::dec(x_21); +x_27 = lean::cnstr_get(x_24, 1); lean::inc(x_27); lean::dec(x_24); -x_30 = lean::cnstr_get(x_27, 1); -lean::inc(x_30); -lean::dec(x_27); -x_33 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; -x_34 = l_list_map___main___rarg(x_33, x_30); -x_35 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_35, 0, x_1); -lean::cnstr_set(x_35, 1, x_34); -return x_35; +x_30 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; +x_31 = l_list_map___main___rarg(x_30, x_27); +x_32 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_32, 0, x_1); +lean::cnstr_set(x_32, 1, x_31); +return x_32; } } -lbl_5: +lbl_6: { -obj* x_36; -x_36 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_36) == 0) +obj* x_33; +x_33 = l_lean_parser_syntax_as__node___main(x_5); +if (lean::obj_tag(x_33) == 0) { -obj* x_37; obj* x_38; -x_37 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_38, 0, x_3); -lean::cnstr_set(x_38, 1, x_37); -return x_38; +if (lean::obj_tag(x_4) == 0) +{ +obj* x_34; +x_34 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; +return x_34; } else { -obj* x_39; obj* x_42; obj* x_45; obj* x_46; obj* x_47; -x_39 = lean::cnstr_get(x_36, 0); -lean::inc(x_39); -lean::dec(x_36); +obj* x_35; obj* x_38; +x_35 = lean::cnstr_get(x_4, 0); +lean::inc(x_35); +lean::dec(x_4); +x_38 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; +x_1 = x_38; +x_2 = x_35; +goto lbl_3; +} +} +else +{ +obj* x_39; obj* x_41; obj* x_42; +x_39 = lean::cnstr_get(x_33, 0); +if (lean::is_exclusive(x_33)) { + lean::cnstr_set(x_33, 0, lean::box(0)); + x_41 = x_33; +} else { + lean::inc(x_39); + lean::dec(x_33); + x_41 = lean::box(0); +} x_42 = lean::cnstr_get(x_39, 1); lean::inc(x_42); lean::dec(x_39); -x_45 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; -x_46 = l_list_map___main___rarg(x_45, x_42); -x_47 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_47, 0, x_3); -lean::cnstr_set(x_47, 1, x_46); -return x_47; -} -} -lbl_8: +if (lean::obj_tag(x_42) == 0) { -obj* x_48; -x_48 = l_lean_parser_syntax_as__node___main(x_7); -if (lean::obj_tag(x_48) == 0) +lean::dec(x_41); +if (lean::obj_tag(x_4) == 0) { -if (lean::obj_tag(x_6) == 0) -{ -obj* x_49; -x_49 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; -return x_49; +obj* x_46; +x_46 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__5; +return x_46; } else { -obj* x_50; obj* x_53; -x_50 = lean::cnstr_get(x_6, 0); -lean::inc(x_50); -lean::dec(x_6); -x_53 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; -x_3 = x_53; -x_4 = x_50; -goto lbl_5; +obj* x_47; obj* x_50; +x_47 = lean::cnstr_get(x_4, 0); +lean::inc(x_47); +lean::dec(x_4); +x_50 = lean::box(0); +x_1 = x_50; +x_2 = x_47; +goto lbl_3; } } else { -obj* x_54; obj* x_56; obj* x_57; -x_54 = lean::cnstr_get(x_48, 0); -if (lean::is_exclusive(x_48)) { - lean::cnstr_set(x_48, 0, lean::box(0)); - x_56 = x_48; -} else { - lean::inc(x_54); - lean::dec(x_48); - x_56 = lean::box(0); -} -x_57 = lean::cnstr_get(x_54, 1); +obj* x_51; +x_51 = lean::cnstr_get(x_42, 1); +lean::inc(x_51); +if (lean::obj_tag(x_51) == 0) +{ +obj* x_53; obj* x_56; obj* x_57; obj* x_60; obj* x_61; +x_53 = lean::cnstr_get(x_42, 0); +lean::inc(x_53); +lean::dec(x_42); +x_56 = l_lean_parser_module_prelude_has__view; +x_57 = lean::cnstr_get(x_56, 0); lean::inc(x_57); -lean::dec(x_54); -if (lean::obj_tag(x_57) == 0) -{ lean::dec(x_56); -if (lean::obj_tag(x_6) == 0) -{ -obj* x_61; -x_61 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__5; -return x_61; -} -else -{ -obj* x_62; obj* x_65; -x_62 = lean::cnstr_get(x_6, 0); -lean::inc(x_62); -lean::dec(x_6); -x_65 = lean::box(0); -x_3 = x_65; -x_4 = x_62; -goto lbl_5; -} -} -else -{ -obj* x_66; -x_66 = lean::cnstr_get(x_57, 1); -lean::inc(x_66); -if (lean::obj_tag(x_66) == 0) -{ -obj* x_68; obj* x_71; obj* x_72; obj* x_75; obj* x_76; -x_68 = lean::cnstr_get(x_57, 0); -lean::inc(x_68); -lean::dec(x_57); -x_71 = l_lean_parser_module_prelude_has__view; -x_72 = lean::cnstr_get(x_71, 0); -lean::inc(x_72); -lean::dec(x_71); -x_75 = lean::apply_1(x_72, x_68); -if (lean::is_scalar(x_56)) { - x_76 = lean::alloc_cnstr(1, 1, 0); +x_60 = lean::apply_1(x_57, x_53); +if (lean::is_scalar(x_41)) { + x_61 = lean::alloc_cnstr(1, 1, 0); } else { - x_76 = x_56; + x_61 = x_41; } -lean::cnstr_set(x_76, 0, x_75); -if (lean::obj_tag(x_6) == 0) +lean::cnstr_set(x_61, 0, x_60); +if (lean::obj_tag(x_4) == 0) { -x_1 = x_76; -goto lbl_2; -} -else -{ -obj* x_77; -x_77 = lean::cnstr_get(x_6, 0); -lean::inc(x_77); -lean::dec(x_6); -x_3 = x_76; -x_4 = x_77; -goto lbl_5; -} +obj* x_62; obj* x_63; +x_62 = lean::box(3); +x_63 = l_lean_parser_syntax_as__node___main(x_62); +if (lean::obj_tag(x_63) == 0) +{ +obj* x_64; obj* x_65; +x_64 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; +x_65 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_65, 0, x_61); +lean::cnstr_set(x_65, 1, x_64); +return x_65; } else { +obj* x_66; obj* x_69; obj* x_72; obj* x_73; obj* x_74; +x_66 = lean::cnstr_get(x_63, 0); +lean::inc(x_66); +lean::dec(x_63); +x_69 = lean::cnstr_get(x_66, 1); +lean::inc(x_69); lean::dec(x_66); -lean::dec(x_56); -lean::dec(x_57); -if (lean::obj_tag(x_6) == 0) -{ -obj* x_83; -x_83 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; -return x_83; +x_72 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; +x_73 = l_list_map___main___rarg(x_72, x_69); +x_74 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_74, 0, x_61); +lean::cnstr_set(x_74, 1, x_73); +return x_74; +} } else { -obj* x_84; obj* x_87; -x_84 = lean::cnstr_get(x_6, 0); -lean::inc(x_84); -lean::dec(x_6); -x_87 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; -x_3 = x_87; -x_4 = x_84; -goto lbl_5; +obj* x_75; +x_75 = lean::cnstr_get(x_4, 0); +lean::inc(x_75); +lean::dec(x_4); +x_1 = x_61; +x_2 = x_75; +goto lbl_3; +} +} +else +{ +lean::dec(x_51); +lean::dec(x_41); +lean::dec(x_42); +if (lean::obj_tag(x_4) == 0) +{ +obj* x_81; +x_81 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; +return x_81; +} +else +{ +obj* x_82; obj* x_85; +x_82 = lean::cnstr_get(x_4, 0); +lean::inc(x_82); +lean::dec(x_4); +x_85 = l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; +x_1 = x_85; +x_2 = x_82; +goto lbl_3; } } } @@ -3572,7 +3338,39 @@ lean::cnstr_set(x_20, 1, x_4); return x_20; } } -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { +_start: +{ +obj* x_5; obj* x_8; obj* x_11; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 0); +lean::inc(x_8); +lean::dec(x_5); +x_11 = lean::cnstr_get(x_8, 0); +lean::inc(x_11); +lean::dec(x_8); +x_14 = l_lean_parser_message__of__parsec__message___rarg(x_11, x_0); +x_15 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_15, 0, x_14); +lean::cnstr_set(x_15, 1, x_1); +x_16 = lean::box(0); +x_17 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_17, 0, x_16); +lean::cnstr_set(x_17, 1, x_15); +x_18 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_19 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_19, 0, x_17); +lean::cnstr_set(x_19, 1, x_3); +lean::cnstr_set(x_19, 2, x_18); +x_20 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_20, 0, x_19); +lean::cnstr_set(x_20, 1, x_4); +return x_20; +} +} +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { uint8 x_4; @@ -3667,38 +3465,6 @@ return x_44; } } } -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_8; obj* x_11; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; -x_5 = lean::cnstr_get(x_2, 0); -lean::inc(x_5); -lean::dec(x_2); -x_8 = lean::cnstr_get(x_5, 0); -lean::inc(x_8); -lean::dec(x_5); -x_11 = lean::cnstr_get(x_8, 0); -lean::inc(x_11); -lean::dec(x_8); -x_14 = l_lean_parser_message__of__parsec__message___rarg(x_11, x_0); -x_15 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_15, 0, x_14); -lean::cnstr_set(x_15, 1, x_1); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_16); -lean::cnstr_set(x_17, 1, x_15); -x_18 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; -x_19 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_19, 0, x_17); -lean::cnstr_set(x_19, 1, x_3); -lean::cnstr_set(x_19, 2, x_18); -x_20 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_20, 0, x_19); -lean::cnstr_set(x_20, 1, x_4); -return x_20; -} -} obj* _init_l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1() { _start: { @@ -3728,293 +3494,1403 @@ x_6 = lean::mk_nat_obj(0u); x_7 = lean::nat_dec_eq(x_1, x_6); if (x_7 == 0) { -obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_14; obj* x_15; uint8 x_17; uint8 x_19; +obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_14; obj* x_15; uint8 x_17; x_8 = lean::mk_nat_obj(1u); x_9 = lean::nat_sub(x_1, x_8); x_10 = l_string_iterator_remaining___main(x_4); -x_19 = lean::nat_dec_eq(x_10, x_6); +x_17 = lean::nat_dec_eq(x_10, x_6); lean::dec(x_10); -if (x_19 == 0) +if (x_17 == 0) { if (x_0 == 0) { -uint8 x_21; -x_21 = 1; -x_17 = x_21; -goto lbl_18; -} -else +obj* x_19; obj* x_20; obj* x_22; obj* x_24; obj* x_26; obj* x_28; obj* x_29; +x_22 = lean::cnstr_get(x_3, 1); +lean::inc(x_22); +x_24 = lean::cnstr_get(x_3, 0); +lean::inc(x_24); +x_26 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2; +lean::inc(x_4); +x_28 = l_lean_parser_command__parser_run(x_22, x_26, x_24, x_4, x_5); +x_29 = lean::cnstr_get(x_28, 0); +lean::inc(x_29); +if (lean::obj_tag(x_29) == 0) { -uint8 x_22; -x_22 = 0; -x_17 = x_22; -goto lbl_18; -} -} -else -{ -obj* x_24; obj* x_26; -lean::dec(x_9); -x_24 = l_lean_parser_module_eoi_parser(x_2, x_3, x_4, x_5); -lean::dec(x_3); -x_26 = lean::cnstr_get(x_24, 0); -lean::inc(x_26); -if (lean::obj_tag(x_26) == 0) -{ -obj* x_28; obj* x_30; obj* x_32; obj* x_33; obj* x_35; obj* x_37; obj* x_38; obj* x_40; obj* x_42; uint8 x_43; obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51; obj* x_52; -x_28 = lean::cnstr_get(x_26, 0); -lean::inc(x_28); -x_30 = lean::cnstr_get(x_24, 1); -if (lean::is_exclusive(x_24)) { - lean::cnstr_release(x_24, 0); - x_32 = x_24; -} else { - lean::inc(x_30); - lean::dec(x_24); - x_32 = lean::box(0); -} -x_33 = lean::cnstr_get(x_26, 1); -x_35 = lean::cnstr_get(x_26, 2); -if (lean::is_exclusive(x_26)) { - lean::cnstr_release(x_26, 0); - x_37 = x_26; -} else { - lean::inc(x_33); - lean::inc(x_35); - lean::dec(x_26); - x_37 = lean::box(0); -} -x_38 = lean::cnstr_get(x_28, 0); -x_40 = lean::cnstr_get(x_28, 1); +obj* x_31; obj* x_33; obj* x_34; obj* x_36; obj* x_38; obj* x_40; obj* x_42; obj* x_43; obj* x_44; obj* x_45; +x_31 = lean::cnstr_get(x_28, 1); if (lean::is_exclusive(x_28)) { - x_42 = x_28; + lean::cnstr_release(x_28, 0); + x_33 = x_28; } else { - lean::inc(x_38); - lean::inc(x_40); + lean::inc(x_31); lean::dec(x_28); - x_42 = lean::box(0); + x_33 = lean::box(0); } -x_43 = 0; -x_44 = lean::box(x_43); -if (lean::is_scalar(x_42)) { - x_45 = lean::alloc_cnstr(0, 2, 0); +x_34 = lean::cnstr_get(x_29, 0); +x_36 = lean::cnstr_get(x_29, 1); +x_38 = lean::cnstr_get(x_29, 2); +if (lean::is_exclusive(x_29)) { + x_40 = x_29; } else { - x_45 = x_42; + lean::inc(x_34); + lean::inc(x_36); + lean::inc(x_38); + lean::dec(x_29); + x_40 = lean::box(0); } -lean::cnstr_set(x_45, 0, x_44); -lean::cnstr_set(x_45, 1, x_38); -if (lean::is_scalar(x_32)) { - x_46 = lean::alloc_cnstr(0, 2, 0); +lean::inc(x_2); +if (lean::is_scalar(x_33)) { + x_42 = lean::alloc_cnstr(0, 2, 0); } else { - x_46 = x_32; + x_42 = x_33; } -lean::cnstr_set(x_46, 0, x_45); -lean::cnstr_set(x_46, 1, x_40); -x_47 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_37)) { - x_48 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_42, 0, x_34); +lean::cnstr_set(x_42, 1, x_2); +x_43 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_40)) { + x_44 = lean::alloc_cnstr(0, 3, 0); } else { - x_48 = x_37; + x_44 = x_40; } -lean::cnstr_set(x_48, 0, x_46); -lean::cnstr_set(x_48, 1, x_33); -lean::cnstr_set(x_48, 2, x_47); -x_49 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_35, x_48); -x_50 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; -x_51 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_50, x_49); -x_52 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_52, 0, x_51); -lean::cnstr_set(x_52, 1, x_30); -return x_52; -} -else +lean::cnstr_set(x_44, 0, x_42); +lean::cnstr_set(x_44, 1, x_36); +lean::cnstr_set(x_44, 2, x_43); +x_45 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_38, x_44); +if (lean::obj_tag(x_45) == 0) { -obj* x_53; obj* x_55; obj* x_56; uint8 x_58; obj* x_59; obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; -x_53 = lean::cnstr_get(x_24, 1); -if (lean::is_exclusive(x_24)) { - lean::cnstr_release(x_24, 0); - x_55 = x_24; +obj* x_46; obj* x_48; obj* x_50; obj* x_52; obj* x_53; obj* x_55; obj* x_57; obj* x_58; uint8 x_59; obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; obj* x_65; obj* x_66; +x_46 = lean::cnstr_get(x_45, 0); +x_48 = lean::cnstr_get(x_45, 1); +x_50 = lean::cnstr_get(x_45, 2); +if (lean::is_exclusive(x_45)) { + x_52 = x_45; +} else { + lean::inc(x_46); + lean::inc(x_48); + lean::inc(x_50); + lean::dec(x_45); + x_52 = lean::box(0); +} +x_53 = lean::cnstr_get(x_46, 0); +x_55 = lean::cnstr_get(x_46, 1); +if (lean::is_exclusive(x_46)) { + x_57 = x_46; } else { lean::inc(x_53); - lean::dec(x_24); - x_55 = lean::box(0); + lean::inc(x_55); + lean::dec(x_46); + x_57 = lean::box(0); } -x_56 = lean::cnstr_get(x_26, 0); -x_58 = lean::cnstr_get_scalar(x_26, sizeof(void*)*1); -if (lean::is_exclusive(x_26)) { - x_59 = x_26; +x_58 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_58, 0, x_53); +x_59 = 0; +x_60 = lean::box(x_59); +if (lean::is_scalar(x_57)) { + x_61 = lean::alloc_cnstr(0, 2, 0); } else { - lean::inc(x_56); - lean::dec(x_26); - x_59 = lean::box(0); + x_61 = x_57; } -if (lean::is_scalar(x_59)) { - x_60 = lean::alloc_cnstr(1, 1, 1); +lean::cnstr_set(x_61, 0, x_60); +lean::cnstr_set(x_61, 1, x_58); +x_62 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_62, 0, x_61); +lean::cnstr_set(x_62, 1, x_55); +if (lean::is_scalar(x_52)) { + x_63 = lean::alloc_cnstr(0, 3, 0); } else { - x_60 = x_59; + x_63 = x_52; } -lean::cnstr_set(x_60, 0, x_56); -lean::cnstr_set_scalar(x_60, sizeof(void*)*1, x_58); -x_61 = x_60; -x_62 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; -x_63 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_62, x_61); -if (lean::is_scalar(x_55)) { - x_64 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_63, 0, x_62); +lean::cnstr_set(x_63, 1, x_48); +lean::cnstr_set(x_63, 2, x_43); +x_64 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_50, x_63); +x_65 = l_lean_parser_finish__comment__block___closed__2; +x_66 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_65, x_64); +x_19 = x_66; +x_20 = x_31; +goto lbl_21; +} +else +{ +obj* x_67; uint8 x_69; obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74; +x_67 = lean::cnstr_get(x_45, 0); +x_69 = lean::cnstr_get_scalar(x_45, sizeof(void*)*1); +if (lean::is_exclusive(x_45)) { + x_70 = x_45; } else { - x_64 = x_55; + lean::inc(x_67); + lean::dec(x_45); + x_70 = lean::box(0); } -lean::cnstr_set(x_64, 0, x_63); -lean::cnstr_set(x_64, 1, x_53); -return x_64; +if (lean::is_scalar(x_70)) { + x_71 = lean::alloc_cnstr(1, 1, 1); +} else { + x_71 = x_70; +} +lean::cnstr_set(x_71, 0, x_67); +lean::cnstr_set_scalar(x_71, sizeof(void*)*1, x_69); +x_72 = x_71; +x_73 = l_lean_parser_finish__comment__block___closed__2; +x_74 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_73, x_72); +x_19 = x_74; +x_20 = x_31; +goto lbl_21; +} +} +else +{ +obj* x_75; obj* x_78; uint8 x_80; obj* x_81; obj* x_82; obj* x_83; obj* x_84; obj* x_85; +x_75 = lean::cnstr_get(x_28, 1); +lean::inc(x_75); +lean::dec(x_28); +x_78 = lean::cnstr_get(x_29, 0); +x_80 = lean::cnstr_get_scalar(x_29, sizeof(void*)*1); +if (lean::is_exclusive(x_29)) { + x_81 = x_29; +} else { + lean::inc(x_78); + lean::dec(x_29); + x_81 = lean::box(0); +} +if (lean::is_scalar(x_81)) { + x_82 = lean::alloc_cnstr(1, 1, 1); +} else { + x_82 = x_81; +} +lean::cnstr_set(x_82, 0, x_78); +lean::cnstr_set_scalar(x_82, sizeof(void*)*1, x_80); +x_83 = x_82; +x_84 = l_lean_parser_finish__comment__block___closed__2; +x_85 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_84, x_83); +x_19 = x_85; +x_20 = x_75; +goto lbl_21; +} +lbl_21: +{ +if (lean::obj_tag(x_19) == 0) +{ +lean::dec(x_4); +x_14 = x_19; +x_15 = x_20; +goto lbl_16; +} +else +{ +uint8 x_87; +x_87 = lean::cnstr_get_scalar(x_19, sizeof(void*)*1); +if (x_87 == 0) +{ +obj* x_88; obj* x_91; obj* x_92; obj* x_93; obj* x_95; obj* x_98; obj* x_99; obj* x_101; obj* x_104; obj* x_105; +x_88 = lean::cnstr_get(x_19, 0); +lean::inc(x_88); +lean::dec(x_19); +x_91 = l_string_iterator_extract___main___closed__1; +x_92 = l_lean_parser_command_parser___rarg___closed__1; +x_93 = l_lean_parser_parsec__t_monad__fail___rarg___closed__1; +lean::inc(x_4); +x_95 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_95, 0, x_4); +lean::cnstr_set(x_95, 1, x_91); +lean::cnstr_set(x_95, 2, x_92); +lean::cnstr_set(x_95, 3, x_93); +lean::inc(x_3); +lean::inc(x_2); +x_98 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(x_95, x_2, x_3, x_4, x_20); +x_99 = lean::cnstr_get(x_98, 0); +lean::inc(x_99); +x_101 = lean::cnstr_get(x_98, 1); +lean::inc(x_101); +lean::dec(x_98); +x_104 = l_lean_parser_finish__comment__block___closed__2; +x_105 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_104, x_99); +if (lean::obj_tag(x_105) == 0) +{ +obj* x_106; obj* x_108; obj* x_110; obj* x_113; obj* x_114; obj* x_116; obj* x_119; obj* x_120; obj* x_122; obj* x_124; obj* x_128; obj* x_129; +x_106 = lean::cnstr_get(x_105, 0); +lean::inc(x_106); +x_108 = lean::cnstr_get(x_105, 1); +lean::inc(x_108); +x_110 = lean::cnstr_get(x_105, 2); +lean::inc(x_110); +lean::dec(x_105); +x_116 = lean::cnstr_get(x_106, 1); +lean::inc(x_116); +lean::dec(x_106); +x_122 = lean::cnstr_get(x_3, 0); +lean::inc(x_122); +x_124 = lean::cnstr_get(x_122, 0); +lean::inc(x_124); +lean::dec(x_122); +lean::inc(x_108); +x_128 = l_lean_parser_token(x_124, x_108, x_101); +x_129 = lean::cnstr_get(x_128, 0); +lean::inc(x_129); +if (lean::obj_tag(x_129) == 0) +{ +obj* x_131; obj* x_133; obj* x_134; obj* x_136; obj* x_138; obj* x_140; obj* x_142; obj* x_143; obj* x_144; obj* x_145; +x_131 = lean::cnstr_get(x_128, 1); +if (lean::is_exclusive(x_128)) { + lean::cnstr_release(x_128, 0); + x_133 = x_128; +} else { + lean::inc(x_131); + lean::dec(x_128); + x_133 = lean::box(0); +} +x_134 = lean::cnstr_get(x_129, 0); +x_136 = lean::cnstr_get(x_129, 1); +x_138 = lean::cnstr_get(x_129, 2); +if (lean::is_exclusive(x_129)) { + x_140 = x_129; +} else { + lean::inc(x_134); + lean::inc(x_136); + lean::inc(x_138); + lean::dec(x_129); + x_140 = lean::box(0); +} +lean::inc(x_116); +if (lean::is_scalar(x_133)) { + x_142 = lean::alloc_cnstr(0, 2, 0); +} else { + x_142 = x_133; +} +lean::cnstr_set(x_142, 0, x_134); +lean::cnstr_set(x_142, 1, x_116); +x_143 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_140)) { + x_144 = lean::alloc_cnstr(0, 3, 0); +} else { + x_144 = x_140; +} +lean::cnstr_set(x_144, 0, x_142); +lean::cnstr_set(x_144, 1, x_136); +lean::cnstr_set(x_144, 2, x_143); +x_145 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_138, x_144); +if (lean::obj_tag(x_145) == 0) +{ +obj* x_146; obj* x_148; obj* x_150; obj* x_152; obj* x_153; obj* x_155; obj* x_156; obj* x_157; obj* x_158; obj* x_159; obj* x_160; +x_146 = lean::cnstr_get(x_145, 0); +x_148 = lean::cnstr_get(x_145, 1); +x_150 = lean::cnstr_get(x_145, 2); +if (lean::is_exclusive(x_145)) { + x_152 = x_145; +} else { + lean::inc(x_146); + lean::inc(x_148); + lean::inc(x_150); + lean::dec(x_145); + x_152 = lean::box(0); +} +x_153 = lean::cnstr_get(x_146, 1); +if (lean::is_exclusive(x_146)) { + lean::cnstr_release(x_146, 0); + x_155 = x_146; +} else { + lean::inc(x_153); + lean::dec(x_146); + x_155 = lean::box(0); +} +x_156 = lean::box(0); +if (lean::is_scalar(x_155)) { + x_157 = lean::alloc_cnstr(0, 2, 0); +} else { + x_157 = x_155; +} +lean::cnstr_set(x_157, 0, x_156); +lean::cnstr_set(x_157, 1, x_153); +if (lean::is_scalar(x_152)) { + x_158 = lean::alloc_cnstr(0, 3, 0); +} else { + x_158 = x_152; +} +lean::cnstr_set(x_158, 0, x_157); +lean::cnstr_set(x_158, 1, x_148); +lean::cnstr_set(x_158, 2, x_143); +x_159 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_150, x_158); +x_160 = l_lean_parser_parsec__t_try__mk__res___rarg(x_159); +x_119 = x_160; +x_120 = x_131; +goto lbl_121; +} +else +{ +obj* x_161; obj* x_163; uint8 x_164; obj* x_165; obj* x_166; +x_161 = lean::cnstr_get(x_145, 0); +if (lean::is_exclusive(x_145)) { + x_163 = x_145; +} else { + lean::inc(x_161); + lean::dec(x_145); + x_163 = lean::box(0); +} +x_164 = 0; +if (lean::is_scalar(x_163)) { + x_165 = lean::alloc_cnstr(1, 1, 1); +} else { + x_165 = x_163; +} +lean::cnstr_set(x_165, 0, x_161); +lean::cnstr_set_scalar(x_165, sizeof(void*)*1, x_164); +x_166 = x_165; +x_119 = x_166; +x_120 = x_131; +goto lbl_121; +} +} +else +{ +obj* x_167; obj* x_170; obj* x_172; uint8 x_173; obj* x_174; obj* x_175; +x_167 = lean::cnstr_get(x_128, 1); +lean::inc(x_167); +lean::dec(x_128); +x_170 = lean::cnstr_get(x_129, 0); +if (lean::is_exclusive(x_129)) { + x_172 = x_129; +} else { + lean::inc(x_170); + lean::dec(x_129); + x_172 = lean::box(0); +} +x_173 = 0; +if (lean::is_scalar(x_172)) { + x_174 = lean::alloc_cnstr(1, 1, 1); +} else { + x_174 = x_172; +} +lean::cnstr_set(x_174, 0, x_170); +lean::cnstr_set_scalar(x_174, sizeof(void*)*1, x_173); +x_175 = x_174; +x_119 = x_175; +x_120 = x_167; +goto lbl_121; +} +lbl_115: +{ +if (lean::obj_tag(x_113) == 0) +{ +obj* x_176; obj* x_178; obj* x_180; obj* x_182; obj* x_183; obj* x_185; obj* x_186; obj* x_187; obj* x_188; obj* x_189; obj* x_190; obj* x_191; obj* x_192; +x_176 = lean::cnstr_get(x_113, 0); +x_178 = lean::cnstr_get(x_113, 1); +x_180 = lean::cnstr_get(x_113, 2); +if (lean::is_exclusive(x_113)) { + x_182 = x_113; +} else { + lean::inc(x_176); + lean::inc(x_178); + lean::inc(x_180); + lean::dec(x_113); + x_182 = lean::box(0); +} +x_183 = lean::cnstr_get(x_176, 1); +if (lean::is_exclusive(x_176)) { + lean::cnstr_release(x_176, 0); + x_185 = x_176; +} else { + lean::inc(x_183); + lean::dec(x_176); + x_185 = lean::box(0); +} +x_186 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1; +if (lean::is_scalar(x_185)) { + x_187 = lean::alloc_cnstr(0, 2, 0); +} else { + x_187 = x_185; +} +lean::cnstr_set(x_187, 0, x_186); +lean::cnstr_set(x_187, 1, x_183); +x_188 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_182)) { + x_189 = lean::alloc_cnstr(0, 3, 0); +} else { + x_189 = x_182; +} +lean::cnstr_set(x_189, 0, x_187); +lean::cnstr_set(x_189, 1, x_178); +lean::cnstr_set(x_189, 2, x_188); +x_190 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_180, x_189); +x_191 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_110, x_190); +x_192 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_88, x_191); +x_14 = x_192; +x_15 = x_114; +goto lbl_16; +} +else +{ +obj* x_193; uint8 x_195; obj* x_196; obj* x_197; obj* x_198; obj* x_199; obj* x_200; +x_193 = lean::cnstr_get(x_113, 0); +x_195 = lean::cnstr_get_scalar(x_113, sizeof(void*)*1); +if (lean::is_exclusive(x_113)) { + x_196 = x_113; +} else { + lean::inc(x_193); + lean::dec(x_113); + x_196 = lean::box(0); +} +if (lean::is_scalar(x_196)) { + x_197 = lean::alloc_cnstr(1, 1, 1); +} else { + x_197 = x_196; +} +lean::cnstr_set(x_197, 0, x_193); +lean::cnstr_set_scalar(x_197, sizeof(void*)*1, x_195); +x_198 = x_197; +x_199 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_110, x_198); +x_200 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_88, x_199); +x_14 = x_200; +x_15 = x_114; +goto lbl_16; +} +} +lbl_121: +{ +if (lean::obj_tag(x_119) == 0) +{ +lean::dec(x_108); +lean::dec(x_116); +x_113 = x_119; +x_114 = x_120; +goto lbl_115; +} +else +{ +uint8 x_203; +x_203 = lean::cnstr_get_scalar(x_119, sizeof(void*)*1); +if (x_203 == 0) +{ +obj* x_204; obj* x_207; obj* x_208; +x_204 = lean::cnstr_get(x_119, 0); +lean::inc(x_204); +lean::dec(x_119); +x_207 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(x_116, x_3, x_108, x_120); +x_208 = lean::cnstr_get(x_207, 0); +lean::inc(x_208); +if (lean::obj_tag(x_208) == 0) +{ +obj* x_210; obj* x_212; obj* x_215; obj* x_217; obj* x_219; obj* x_220; obj* x_222; obj* x_223; obj* x_224; obj* x_225; obj* x_226; obj* x_227; obj* x_228; +x_210 = lean::cnstr_get(x_208, 0); +lean::inc(x_210); +x_212 = lean::cnstr_get(x_207, 1); +lean::inc(x_212); +lean::dec(x_207); +x_215 = lean::cnstr_get(x_208, 1); +x_217 = lean::cnstr_get(x_208, 2); +if (lean::is_exclusive(x_208)) { + lean::cnstr_release(x_208, 0); + x_219 = x_208; +} else { + lean::inc(x_215); + lean::inc(x_217); + lean::dec(x_208); + x_219 = lean::box(0); +} +x_220 = lean::cnstr_get(x_210, 1); +if (lean::is_exclusive(x_210)) { + lean::cnstr_release(x_210, 0); + x_222 = x_210; +} else { + lean::inc(x_220); + lean::dec(x_210); + x_222 = lean::box(0); +} +x_223 = lean::box(0); +if (lean::is_scalar(x_222)) { + x_224 = lean::alloc_cnstr(0, 2, 0); +} else { + x_224 = x_222; +} +lean::cnstr_set(x_224, 0, x_223); +lean::cnstr_set(x_224, 1, x_220); +x_225 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_219)) { + x_226 = lean::alloc_cnstr(0, 3, 0); +} else { + x_226 = x_219; +} +lean::cnstr_set(x_226, 0, x_224); +lean::cnstr_set(x_226, 1, x_215); +lean::cnstr_set(x_226, 2, x_225); +x_227 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_217, x_226); +x_228 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_204, x_227); +x_113 = x_228; +x_114 = x_212; +goto lbl_115; +} +else +{ +obj* x_229; obj* x_232; uint8 x_234; obj* x_235; obj* x_236; obj* x_237; obj* x_238; +x_229 = lean::cnstr_get(x_207, 1); +lean::inc(x_229); +lean::dec(x_207); +x_232 = lean::cnstr_get(x_208, 0); +x_234 = lean::cnstr_get_scalar(x_208, sizeof(void*)*1); +if (lean::is_exclusive(x_208)) { + x_235 = x_208; +} else { + lean::inc(x_232); + lean::dec(x_208); + x_235 = lean::box(0); +} +if (lean::is_scalar(x_235)) { + x_236 = lean::alloc_cnstr(1, 1, 1); +} else { + x_236 = x_235; +} +lean::cnstr_set(x_236, 0, x_232); +lean::cnstr_set_scalar(x_236, sizeof(void*)*1, x_234); +x_237 = x_236; +x_238 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_204, x_237); +x_113 = x_238; +x_114 = x_229; +goto lbl_115; +} +} +else +{ +lean::dec(x_108); +lean::dec(x_116); +x_113 = x_119; +x_114 = x_120; +goto lbl_115; +} +} +} +} +else +{ +obj* x_241; uint8 x_243; obj* x_244; obj* x_245; obj* x_246; obj* x_247; +x_241 = lean::cnstr_get(x_105, 0); +x_243 = lean::cnstr_get_scalar(x_105, sizeof(void*)*1); +if (lean::is_exclusive(x_105)) { + x_244 = x_105; +} else { + lean::inc(x_241); + lean::dec(x_105); + x_244 = lean::box(0); +} +if (lean::is_scalar(x_244)) { + x_245 = lean::alloc_cnstr(1, 1, 1); +} else { + x_245 = x_244; +} +lean::cnstr_set(x_245, 0, x_241); +lean::cnstr_set_scalar(x_245, sizeof(void*)*1, x_243); +x_246 = x_245; +x_247 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_88, x_246); +x_14 = x_247; +x_15 = x_101; +goto lbl_16; +} +} +else +{ +lean::dec(x_4); +x_14 = x_19; +x_15 = x_20; +goto lbl_16; +} +} +} +} +else +{ +obj* x_249; obj* x_250; obj* x_252; obj* x_254; obj* x_256; obj* x_258; obj* x_259; +x_252 = lean::cnstr_get(x_3, 1); +lean::inc(x_252); +x_254 = lean::cnstr_get(x_3, 0); +lean::inc(x_254); +x_256 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2; +lean::inc(x_4); +x_258 = l_lean_parser_command__parser_run(x_252, x_256, x_254, x_4, x_5); +x_259 = lean::cnstr_get(x_258, 0); +lean::inc(x_259); +if (lean::obj_tag(x_259) == 0) +{ +obj* x_261; obj* x_263; obj* x_264; obj* x_266; obj* x_268; obj* x_270; obj* x_272; obj* x_273; obj* x_274; obj* x_275; +x_261 = lean::cnstr_get(x_258, 1); +if (lean::is_exclusive(x_258)) { + lean::cnstr_release(x_258, 0); + x_263 = x_258; +} else { + lean::inc(x_261); + lean::dec(x_258); + x_263 = lean::box(0); +} +x_264 = lean::cnstr_get(x_259, 0); +x_266 = lean::cnstr_get(x_259, 1); +x_268 = lean::cnstr_get(x_259, 2); +if (lean::is_exclusive(x_259)) { + x_270 = x_259; +} else { + lean::inc(x_264); + lean::inc(x_266); + lean::inc(x_268); + lean::dec(x_259); + x_270 = lean::box(0); +} +lean::inc(x_2); +if (lean::is_scalar(x_263)) { + x_272 = lean::alloc_cnstr(0, 2, 0); +} else { + x_272 = x_263; +} +lean::cnstr_set(x_272, 0, x_264); +lean::cnstr_set(x_272, 1, x_2); +x_273 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_270)) { + x_274 = lean::alloc_cnstr(0, 3, 0); +} else { + x_274 = x_270; +} +lean::cnstr_set(x_274, 0, x_272); +lean::cnstr_set(x_274, 1, x_266); +lean::cnstr_set(x_274, 2, x_273); +x_275 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_268, x_274); +if (lean::obj_tag(x_275) == 0) +{ +obj* x_276; obj* x_278; obj* x_280; obj* x_282; obj* x_283; obj* x_285; obj* x_287; obj* x_288; uint8 x_289; obj* x_290; obj* x_291; obj* x_292; obj* x_293; obj* x_294; obj* x_295; obj* x_296; +x_276 = lean::cnstr_get(x_275, 0); +x_278 = lean::cnstr_get(x_275, 1); +x_280 = lean::cnstr_get(x_275, 2); +if (lean::is_exclusive(x_275)) { + x_282 = x_275; +} else { + lean::inc(x_276); + lean::inc(x_278); + lean::inc(x_280); + lean::dec(x_275); + x_282 = lean::box(0); +} +x_283 = lean::cnstr_get(x_276, 0); +x_285 = lean::cnstr_get(x_276, 1); +if (lean::is_exclusive(x_276)) { + x_287 = x_276; +} else { + lean::inc(x_283); + lean::inc(x_285); + lean::dec(x_276); + x_287 = lean::box(0); +} +x_288 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_288, 0, x_283); +x_289 = 0; +x_290 = lean::box(x_289); +if (lean::is_scalar(x_287)) { + x_291 = lean::alloc_cnstr(0, 2, 0); +} else { + x_291 = x_287; +} +lean::cnstr_set(x_291, 0, x_290); +lean::cnstr_set(x_291, 1, x_288); +x_292 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_292, 0, x_291); +lean::cnstr_set(x_292, 1, x_285); +if (lean::is_scalar(x_282)) { + x_293 = lean::alloc_cnstr(0, 3, 0); +} else { + x_293 = x_282; +} +lean::cnstr_set(x_293, 0, x_292); +lean::cnstr_set(x_293, 1, x_278); +lean::cnstr_set(x_293, 2, x_273); +x_294 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_280, x_293); +x_295 = l_lean_parser_finish__comment__block___closed__2; +x_296 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_295, x_294); +x_249 = x_296; +x_250 = x_261; +goto lbl_251; +} +else +{ +obj* x_297; uint8 x_299; obj* x_300; obj* x_301; obj* x_302; obj* x_303; obj* x_304; +x_297 = lean::cnstr_get(x_275, 0); +x_299 = lean::cnstr_get_scalar(x_275, sizeof(void*)*1); +if (lean::is_exclusive(x_275)) { + x_300 = x_275; +} else { + lean::inc(x_297); + lean::dec(x_275); + x_300 = lean::box(0); +} +if (lean::is_scalar(x_300)) { + x_301 = lean::alloc_cnstr(1, 1, 1); +} else { + x_301 = x_300; +} +lean::cnstr_set(x_301, 0, x_297); +lean::cnstr_set_scalar(x_301, sizeof(void*)*1, x_299); +x_302 = x_301; +x_303 = l_lean_parser_finish__comment__block___closed__2; +x_304 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_303, x_302); +x_249 = x_304; +x_250 = x_261; +goto lbl_251; +} +} +else +{ +obj* x_305; obj* x_308; uint8 x_310; obj* x_311; obj* x_312; obj* x_313; obj* x_314; obj* x_315; +x_305 = lean::cnstr_get(x_258, 1); +lean::inc(x_305); +lean::dec(x_258); +x_308 = lean::cnstr_get(x_259, 0); +x_310 = lean::cnstr_get_scalar(x_259, sizeof(void*)*1); +if (lean::is_exclusive(x_259)) { + x_311 = x_259; +} else { + lean::inc(x_308); + lean::dec(x_259); + x_311 = lean::box(0); +} +if (lean::is_scalar(x_311)) { + x_312 = lean::alloc_cnstr(1, 1, 1); +} else { + x_312 = x_311; +} +lean::cnstr_set(x_312, 0, x_308); +lean::cnstr_set_scalar(x_312, sizeof(void*)*1, x_310); +x_313 = x_312; +x_314 = l_lean_parser_finish__comment__block___closed__2; +x_315 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_314, x_313); +x_249 = x_315; +x_250 = x_305; +goto lbl_251; +} +lbl_251: +{ +if (lean::obj_tag(x_249) == 0) +{ +lean::dec(x_4); +x_14 = x_249; +x_15 = x_250; +goto lbl_16; +} +else +{ +uint8 x_317; +x_317 = lean::cnstr_get_scalar(x_249, sizeof(void*)*1); +if (x_317 == 0) +{ +obj* x_318; obj* x_321; obj* x_322; obj* x_324; obj* x_325; obj* x_327; obj* x_329; obj* x_333; obj* x_334; +x_318 = lean::cnstr_get(x_249, 0); +lean::inc(x_318); +lean::dec(x_249); +x_327 = lean::cnstr_get(x_3, 0); +lean::inc(x_327); +x_329 = lean::cnstr_get(x_327, 0); +lean::inc(x_329); +lean::dec(x_327); +lean::inc(x_4); +x_333 = l_lean_parser_token(x_329, x_4, x_250); +x_334 = lean::cnstr_get(x_333, 0); +lean::inc(x_334); +if (lean::obj_tag(x_334) == 0) +{ +obj* x_336; obj* x_338; obj* x_339; obj* x_341; obj* x_343; obj* x_345; obj* x_347; obj* x_348; obj* x_349; obj* x_350; +x_336 = lean::cnstr_get(x_333, 1); +if (lean::is_exclusive(x_333)) { + lean::cnstr_release(x_333, 0); + x_338 = x_333; +} else { + lean::inc(x_336); + lean::dec(x_333); + x_338 = lean::box(0); +} +x_339 = lean::cnstr_get(x_334, 0); +x_341 = lean::cnstr_get(x_334, 1); +x_343 = lean::cnstr_get(x_334, 2); +if (lean::is_exclusive(x_334)) { + x_345 = x_334; +} else { + lean::inc(x_339); + lean::inc(x_341); + lean::inc(x_343); + lean::dec(x_334); + x_345 = lean::box(0); +} +lean::inc(x_2); +if (lean::is_scalar(x_338)) { + x_347 = lean::alloc_cnstr(0, 2, 0); +} else { + x_347 = x_338; +} +lean::cnstr_set(x_347, 0, x_339); +lean::cnstr_set(x_347, 1, x_2); +x_348 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_345)) { + x_349 = lean::alloc_cnstr(0, 3, 0); +} else { + x_349 = x_345; +} +lean::cnstr_set(x_349, 0, x_347); +lean::cnstr_set(x_349, 1, x_341); +lean::cnstr_set(x_349, 2, x_348); +x_350 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_343, x_349); +if (lean::obj_tag(x_350) == 0) +{ +obj* x_351; obj* x_353; obj* x_355; obj* x_357; obj* x_358; obj* x_360; obj* x_361; obj* x_362; obj* x_363; obj* x_364; obj* x_365; +x_351 = lean::cnstr_get(x_350, 0); +x_353 = lean::cnstr_get(x_350, 1); +x_355 = lean::cnstr_get(x_350, 2); +if (lean::is_exclusive(x_350)) { + x_357 = x_350; +} else { + lean::inc(x_351); + lean::inc(x_353); + lean::inc(x_355); + lean::dec(x_350); + x_357 = lean::box(0); +} +x_358 = lean::cnstr_get(x_351, 1); +if (lean::is_exclusive(x_351)) { + lean::cnstr_release(x_351, 0); + x_360 = x_351; +} else { + lean::inc(x_358); + lean::dec(x_351); + x_360 = lean::box(0); +} +x_361 = lean::box(0); +if (lean::is_scalar(x_360)) { + x_362 = lean::alloc_cnstr(0, 2, 0); +} else { + x_362 = x_360; +} +lean::cnstr_set(x_362, 0, x_361); +lean::cnstr_set(x_362, 1, x_358); +if (lean::is_scalar(x_357)) { + x_363 = lean::alloc_cnstr(0, 3, 0); +} else { + x_363 = x_357; +} +lean::cnstr_set(x_363, 0, x_362); +lean::cnstr_set(x_363, 1, x_353); +lean::cnstr_set(x_363, 2, x_348); +x_364 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_355, x_363); +x_365 = l_lean_parser_parsec__t_try__mk__res___rarg(x_364); +x_324 = x_365; +x_325 = x_336; +goto lbl_326; +} +else +{ +obj* x_366; obj* x_368; uint8 x_369; obj* x_370; obj* x_371; +x_366 = lean::cnstr_get(x_350, 0); +if (lean::is_exclusive(x_350)) { + x_368 = x_350; +} else { + lean::inc(x_366); + lean::dec(x_350); + x_368 = lean::box(0); +} +x_369 = 0; +if (lean::is_scalar(x_368)) { + x_370 = lean::alloc_cnstr(1, 1, 1); +} else { + x_370 = x_368; +} +lean::cnstr_set(x_370, 0, x_366); +lean::cnstr_set_scalar(x_370, sizeof(void*)*1, x_369); +x_371 = x_370; +x_324 = x_371; +x_325 = x_336; +goto lbl_326; +} +} +else +{ +obj* x_372; obj* x_375; obj* x_377; uint8 x_378; obj* x_379; obj* x_380; +x_372 = lean::cnstr_get(x_333, 1); +lean::inc(x_372); +lean::dec(x_333); +x_375 = lean::cnstr_get(x_334, 0); +if (lean::is_exclusive(x_334)) { + x_377 = x_334; +} else { + lean::inc(x_375); + lean::dec(x_334); + x_377 = lean::box(0); +} +x_378 = 0; +if (lean::is_scalar(x_377)) { + x_379 = lean::alloc_cnstr(1, 1, 1); +} else { + x_379 = x_377; +} +lean::cnstr_set(x_379, 0, x_375); +lean::cnstr_set_scalar(x_379, sizeof(void*)*1, x_378); +x_380 = x_379; +x_324 = x_380; +x_325 = x_372; +goto lbl_326; +} +lbl_323: +{ +if (lean::obj_tag(x_321) == 0) +{ +obj* x_381; obj* x_383; obj* x_385; obj* x_387; obj* x_388; obj* x_390; obj* x_391; obj* x_392; obj* x_393; obj* x_394; obj* x_395; obj* x_396; obj* x_397; +x_381 = lean::cnstr_get(x_321, 0); +x_383 = lean::cnstr_get(x_321, 1); +x_385 = lean::cnstr_get(x_321, 2); +if (lean::is_exclusive(x_321)) { + x_387 = x_321; +} else { + lean::inc(x_381); + lean::inc(x_383); + lean::inc(x_385); + lean::dec(x_321); + x_387 = lean::box(0); +} +x_388 = lean::cnstr_get(x_381, 1); +if (lean::is_exclusive(x_381)) { + lean::cnstr_release(x_381, 0); + x_390 = x_381; +} else { + lean::inc(x_388); + lean::dec(x_381); + x_390 = lean::box(0); +} +x_391 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1; +if (lean::is_scalar(x_390)) { + x_392 = lean::alloc_cnstr(0, 2, 0); +} else { + x_392 = x_390; +} +lean::cnstr_set(x_392, 0, x_391); +lean::cnstr_set(x_392, 1, x_388); +x_393 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_387)) { + x_394 = lean::alloc_cnstr(0, 3, 0); +} else { + x_394 = x_387; +} +lean::cnstr_set(x_394, 0, x_392); +lean::cnstr_set(x_394, 1, x_383); +lean::cnstr_set(x_394, 2, x_393); +x_395 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_385, x_394); +x_396 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_393, x_395); +x_397 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_318, x_396); +x_14 = x_397; +x_15 = x_322; +goto lbl_16; +} +else +{ +obj* x_398; uint8 x_400; obj* x_401; obj* x_402; obj* x_403; obj* x_404; obj* x_405; obj* x_406; +x_398 = lean::cnstr_get(x_321, 0); +x_400 = lean::cnstr_get_scalar(x_321, sizeof(void*)*1); +if (lean::is_exclusive(x_321)) { + x_401 = x_321; +} else { + lean::inc(x_398); + lean::dec(x_321); + x_401 = lean::box(0); +} +if (lean::is_scalar(x_401)) { + x_402 = lean::alloc_cnstr(1, 1, 1); +} else { + x_402 = x_401; +} +lean::cnstr_set(x_402, 0, x_398); +lean::cnstr_set_scalar(x_402, sizeof(void*)*1, x_400); +x_403 = x_402; +x_404 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_405 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_404, x_403); +x_406 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_318, x_405); +x_14 = x_406; +x_15 = x_322; +goto lbl_16; +} +} +lbl_326: +{ +if (lean::obj_tag(x_324) == 0) +{ +lean::dec(x_4); +x_321 = x_324; +x_322 = x_325; +goto lbl_323; +} +else +{ +uint8 x_408; +x_408 = lean::cnstr_get_scalar(x_324, sizeof(void*)*1); +if (x_408 == 0) +{ +obj* x_409; obj* x_413; obj* x_414; +x_409 = lean::cnstr_get(x_324, 0); +lean::inc(x_409); +lean::dec(x_324); +lean::inc(x_2); +x_413 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(x_2, x_3, x_4, x_325); +x_414 = lean::cnstr_get(x_413, 0); +lean::inc(x_414); +if (lean::obj_tag(x_414) == 0) +{ +obj* x_416; obj* x_418; obj* x_421; obj* x_423; obj* x_425; obj* x_426; obj* x_428; obj* x_429; obj* x_430; obj* x_431; obj* x_432; obj* x_433; obj* x_434; +x_416 = lean::cnstr_get(x_414, 0); +lean::inc(x_416); +x_418 = lean::cnstr_get(x_413, 1); +lean::inc(x_418); +lean::dec(x_413); +x_421 = lean::cnstr_get(x_414, 1); +x_423 = lean::cnstr_get(x_414, 2); +if (lean::is_exclusive(x_414)) { + lean::cnstr_release(x_414, 0); + x_425 = x_414; +} else { + lean::inc(x_421); + lean::inc(x_423); + lean::dec(x_414); + x_425 = lean::box(0); +} +x_426 = lean::cnstr_get(x_416, 1); +if (lean::is_exclusive(x_416)) { + lean::cnstr_release(x_416, 0); + x_428 = x_416; +} else { + lean::inc(x_426); + lean::dec(x_416); + x_428 = lean::box(0); +} +x_429 = lean::box(0); +if (lean::is_scalar(x_428)) { + x_430 = lean::alloc_cnstr(0, 2, 0); +} else { + x_430 = x_428; +} +lean::cnstr_set(x_430, 0, x_429); +lean::cnstr_set(x_430, 1, x_426); +x_431 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_425)) { + x_432 = lean::alloc_cnstr(0, 3, 0); +} else { + x_432 = x_425; +} +lean::cnstr_set(x_432, 0, x_430); +lean::cnstr_set(x_432, 1, x_421); +lean::cnstr_set(x_432, 2, x_431); +x_433 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_423, x_432); +x_434 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_409, x_433); +x_321 = x_434; +x_322 = x_418; +goto lbl_323; +} +else +{ +obj* x_435; obj* x_438; uint8 x_440; obj* x_441; obj* x_442; obj* x_443; obj* x_444; +x_435 = lean::cnstr_get(x_413, 1); +lean::inc(x_435); +lean::dec(x_413); +x_438 = lean::cnstr_get(x_414, 0); +x_440 = lean::cnstr_get_scalar(x_414, sizeof(void*)*1); +if (lean::is_exclusive(x_414)) { + x_441 = x_414; +} else { + lean::inc(x_438); + lean::dec(x_414); + x_441 = lean::box(0); +} +if (lean::is_scalar(x_441)) { + x_442 = lean::alloc_cnstr(1, 1, 1); +} else { + x_442 = x_441; +} +lean::cnstr_set(x_442, 0, x_438); +lean::cnstr_set_scalar(x_442, sizeof(void*)*1, x_440); +x_443 = x_442; +x_444 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_409, x_443); +x_321 = x_444; +x_322 = x_435; +goto lbl_323; +} +} +else +{ +lean::dec(x_4); +x_321 = x_324; +x_322 = x_325; +goto lbl_323; +} +} +} +} +else +{ +lean::dec(x_4); +x_14 = x_249; +x_15 = x_250; +goto lbl_16; +} +} +} +} +} +else +{ +obj* x_448; obj* x_450; +lean::dec(x_9); +x_448 = l_lean_parser_module_eoi_parser(x_2, x_3, x_4, x_5); +lean::dec(x_3); +x_450 = lean::cnstr_get(x_448, 0); +lean::inc(x_450); +if (lean::obj_tag(x_450) == 0) +{ +obj* x_452; obj* x_454; obj* x_456; obj* x_457; obj* x_459; obj* x_461; obj* x_462; obj* x_464; obj* x_466; uint8 x_467; obj* x_468; obj* x_469; obj* x_470; obj* x_471; obj* x_472; obj* x_473; obj* x_474; obj* x_475; obj* x_476; +x_452 = lean::cnstr_get(x_450, 0); +lean::inc(x_452); +x_454 = lean::cnstr_get(x_448, 1); +if (lean::is_exclusive(x_448)) { + lean::cnstr_release(x_448, 0); + x_456 = x_448; +} else { + lean::inc(x_454); + lean::dec(x_448); + x_456 = lean::box(0); +} +x_457 = lean::cnstr_get(x_450, 1); +x_459 = lean::cnstr_get(x_450, 2); +if (lean::is_exclusive(x_450)) { + lean::cnstr_release(x_450, 0); + x_461 = x_450; +} else { + lean::inc(x_457); + lean::inc(x_459); + lean::dec(x_450); + x_461 = lean::box(0); +} +x_462 = lean::cnstr_get(x_452, 0); +x_464 = lean::cnstr_get(x_452, 1); +if (lean::is_exclusive(x_452)) { + x_466 = x_452; +} else { + lean::inc(x_462); + lean::inc(x_464); + lean::dec(x_452); + x_466 = lean::box(0); +} +x_467 = 0; +x_468 = lean::box(x_467); +if (lean::is_scalar(x_466)) { + x_469 = lean::alloc_cnstr(0, 2, 0); +} else { + x_469 = x_466; +} +lean::cnstr_set(x_469, 0, x_468); +lean::cnstr_set(x_469, 1, x_462); +if (lean::is_scalar(x_456)) { + x_470 = lean::alloc_cnstr(0, 2, 0); +} else { + x_470 = x_456; +} +lean::cnstr_set(x_470, 0, x_469); +lean::cnstr_set(x_470, 1, x_464); +x_471 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_461)) { + x_472 = lean::alloc_cnstr(0, 3, 0); +} else { + x_472 = x_461; +} +lean::cnstr_set(x_472, 0, x_470); +lean::cnstr_set(x_472, 1, x_457); +lean::cnstr_set(x_472, 2, x_471); +x_473 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_459, x_472); +x_474 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_475 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_474, x_473); +x_476 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_476, 0, x_475); +lean::cnstr_set(x_476, 1, x_454); +return x_476; +} +else +{ +obj* x_477; obj* x_479; obj* x_480; uint8 x_482; obj* x_483; obj* x_484; obj* x_485; obj* x_486; obj* x_487; obj* x_488; +x_477 = lean::cnstr_get(x_448, 1); +if (lean::is_exclusive(x_448)) { + lean::cnstr_release(x_448, 0); + x_479 = x_448; +} else { + lean::inc(x_477); + lean::dec(x_448); + x_479 = lean::box(0); +} +x_480 = lean::cnstr_get(x_450, 0); +x_482 = lean::cnstr_get_scalar(x_450, sizeof(void*)*1); +if (lean::is_exclusive(x_450)) { + x_483 = x_450; +} else { + lean::inc(x_480); + lean::dec(x_450); + x_483 = lean::box(0); +} +if (lean::is_scalar(x_483)) { + x_484 = lean::alloc_cnstr(1, 1, 1); +} else { + x_484 = x_483; +} +lean::cnstr_set(x_484, 0, x_480); +lean::cnstr_set_scalar(x_484, sizeof(void*)*1, x_482); +x_485 = x_484; +x_486 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_487 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_486, x_485); +if (lean::is_scalar(x_479)) { + x_488 = lean::alloc_cnstr(0, 2, 0); +} else { + x_488 = x_479; +} +lean::cnstr_set(x_488, 0, x_487); +lean::cnstr_set(x_488, 1, x_477); +return x_488; } } lbl_13: { if (lean::obj_tag(x_11) == 0) { -obj* x_65; obj* x_67; obj* x_69; -x_65 = lean::cnstr_get(x_11, 0); -lean::inc(x_65); -x_67 = lean::cnstr_get(x_65, 0); -lean::inc(x_67); -x_69 = lean::cnstr_get(x_67, 1); -lean::inc(x_69); -if (lean::obj_tag(x_69) == 0) +obj* x_489; obj* x_491; obj* x_493; +x_489 = lean::cnstr_get(x_11, 0); +lean::inc(x_489); +x_491 = lean::cnstr_get(x_489, 0); +lean::inc(x_491); +x_493 = lean::cnstr_get(x_491, 1); +lean::inc(x_493); +if (lean::obj_tag(x_493) == 0) { -obj* x_71; obj* x_73; obj* x_76; obj* x_79; uint8 x_82; obj* x_83; obj* x_85; obj* x_87; obj* x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; -x_71 = lean::cnstr_get(x_11, 1); -lean::inc(x_71); -x_73 = lean::cnstr_get(x_11, 2); -lean::inc(x_73); +obj* x_495; obj* x_497; obj* x_500; obj* x_503; uint8 x_506; obj* x_507; obj* x_509; obj* x_511; obj* x_513; obj* x_514; obj* x_515; obj* x_516; obj* x_517; +x_495 = lean::cnstr_get(x_11, 1); +lean::inc(x_495); +x_497 = lean::cnstr_get(x_11, 2); +lean::inc(x_497); lean::dec(x_11); -x_76 = lean::cnstr_get(x_65, 1); -lean::inc(x_76); -lean::dec(x_65); -x_79 = lean::cnstr_get(x_67, 0); -lean::inc(x_79); -lean::dec(x_67); -x_82 = lean::unbox(x_79); -x_83 = l___private_init_lean_parser_module_1__command__wrec__aux___main(x_82, x_9, x_76, x_3, x_71, x_12); +x_500 = lean::cnstr_get(x_489, 1); +lean::inc(x_500); +lean::dec(x_489); +x_503 = lean::cnstr_get(x_491, 0); +lean::inc(x_503); +lean::dec(x_491); +x_506 = lean::unbox(x_503); +x_507 = l___private_init_lean_parser_module_1__command__wrec__aux___main(x_506, x_9, x_500, x_3, x_495, x_12); lean::dec(x_9); -x_85 = lean::cnstr_get(x_83, 0); -x_87 = lean::cnstr_get(x_83, 1); -if (lean::is_exclusive(x_83)) { - x_89 = x_83; +x_509 = lean::cnstr_get(x_507, 0); +x_511 = lean::cnstr_get(x_507, 1); +if (lean::is_exclusive(x_507)) { + x_513 = x_507; } else { - lean::inc(x_85); - lean::inc(x_87); - lean::dec(x_83); - x_89 = lean::box(0); + lean::inc(x_509); + lean::inc(x_511); + lean::dec(x_507); + x_513 = lean::box(0); } -x_90 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_73, x_85); -x_91 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; -x_92 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_91, x_90); -if (lean::is_scalar(x_89)) { - x_93 = lean::alloc_cnstr(0, 2, 0); +x_514 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_497, x_509); +x_515 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_516 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_515, x_514); +if (lean::is_scalar(x_513)) { + x_517 = lean::alloc_cnstr(0, 2, 0); } else { - x_93 = x_89; + x_517 = x_513; } -lean::cnstr_set(x_93, 0, x_92); -lean::cnstr_set(x_93, 1, x_87); -return x_93; +lean::cnstr_set(x_517, 0, x_516); +lean::cnstr_set(x_517, 1, x_511); +return x_517; } else { -obj* x_96; obj* x_98; obj* x_100; obj* x_101; obj* x_103; obj* x_104; obj* x_106; obj* x_107; obj* x_110; obj* x_111; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_117; +obj* x_520; obj* x_522; obj* x_524; obj* x_525; obj* x_527; obj* x_528; obj* x_530; obj* x_531; obj* x_534; obj* x_535; obj* x_536; obj* x_537; obj* x_538; obj* x_539; obj* x_540; obj* x_541; lean::dec(x_9); lean::dec(x_3); -x_96 = lean::cnstr_get(x_11, 1); -x_98 = lean::cnstr_get(x_11, 2); +x_520 = lean::cnstr_get(x_11, 1); +x_522 = lean::cnstr_get(x_11, 2); if (lean::is_exclusive(x_11)) { lean::cnstr_release(x_11, 0); - x_100 = x_11; + x_524 = x_11; } else { - lean::inc(x_96); - lean::inc(x_98); + lean::inc(x_520); + lean::inc(x_522); lean::dec(x_11); - x_100 = lean::box(0); + x_524 = lean::box(0); } -x_101 = lean::cnstr_get(x_65, 1); -if (lean::is_exclusive(x_65)) { - lean::cnstr_release(x_65, 0); - x_103 = x_65; +x_525 = lean::cnstr_get(x_489, 1); +if (lean::is_exclusive(x_489)) { + lean::cnstr_release(x_489, 0); + x_527 = x_489; } else { - lean::inc(x_101); - lean::dec(x_65); - x_103 = lean::box(0); + lean::inc(x_525); + lean::dec(x_489); + x_527 = lean::box(0); } -x_104 = lean::cnstr_get(x_67, 0); -if (lean::is_exclusive(x_67)) { - lean::cnstr_release(x_67, 1); - x_106 = x_67; +x_528 = lean::cnstr_get(x_491, 0); +if (lean::is_exclusive(x_491)) { + lean::cnstr_release(x_491, 1); + x_530 = x_491; } else { - lean::inc(x_104); - lean::dec(x_67); - x_106 = lean::box(0); + lean::inc(x_528); + lean::dec(x_491); + x_530 = lean::box(0); } -x_107 = lean::cnstr_get(x_69, 0); -lean::inc(x_107); -lean::dec(x_69); -if (lean::is_scalar(x_106)) { - x_110 = lean::alloc_cnstr(0, 2, 0); +x_531 = lean::cnstr_get(x_493, 0); +lean::inc(x_531); +lean::dec(x_493); +if (lean::is_scalar(x_530)) { + x_534 = lean::alloc_cnstr(0, 2, 0); } else { - x_110 = x_106; + x_534 = x_530; } -lean::cnstr_set(x_110, 0, x_104); -lean::cnstr_set(x_110, 1, x_107); -if (lean::is_scalar(x_103)) { - x_111 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_534, 0, x_528); +lean::cnstr_set(x_534, 1, x_531); +if (lean::is_scalar(x_527)) { + x_535 = lean::alloc_cnstr(0, 2, 0); } else { - x_111 = x_103; + x_535 = x_527; } -lean::cnstr_set(x_111, 0, x_110); -lean::cnstr_set(x_111, 1, x_101); -x_112 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_100)) { - x_113 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_535, 0, x_534); +lean::cnstr_set(x_535, 1, x_525); +x_536 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_524)) { + x_537 = lean::alloc_cnstr(0, 3, 0); } else { - x_113 = x_100; + x_537 = x_524; } -lean::cnstr_set(x_113, 0, x_111); -lean::cnstr_set(x_113, 1, x_96); -lean::cnstr_set(x_113, 2, x_112); -x_114 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_98, x_113); -x_115 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; -x_116 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_115, x_114); -x_117 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_117, 0, x_116); -lean::cnstr_set(x_117, 1, x_12); -return x_117; +lean::cnstr_set(x_537, 0, x_535); +lean::cnstr_set(x_537, 1, x_520); +lean::cnstr_set(x_537, 2, x_536); +x_538 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_522, x_537); +x_539 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_540 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_539, x_538); +x_541 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_541, 0, x_540); +lean::cnstr_set(x_541, 1, x_12); +return x_541; } } else { -obj* x_120; uint8 x_122; obj* x_123; obj* x_124; obj* x_125; obj* x_126; obj* x_127; obj* x_128; +obj* x_544; uint8 x_546; obj* x_547; obj* x_548; obj* x_549; obj* x_550; obj* x_551; obj* x_552; lean::dec(x_9); lean::dec(x_3); -x_120 = lean::cnstr_get(x_11, 0); -x_122 = lean::cnstr_get_scalar(x_11, sizeof(void*)*1); +x_544 = lean::cnstr_get(x_11, 0); +x_546 = lean::cnstr_get_scalar(x_11, sizeof(void*)*1); if (lean::is_exclusive(x_11)) { - x_123 = x_11; + x_547 = x_11; } else { - lean::inc(x_120); + lean::inc(x_544); lean::dec(x_11); - x_123 = lean::box(0); + x_547 = lean::box(0); } -if (lean::is_scalar(x_123)) { - x_124 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_547)) { + x_548 = lean::alloc_cnstr(1, 1, 1); } else { - x_124 = x_123; + x_548 = x_547; } -lean::cnstr_set(x_124, 0, x_120); -lean::cnstr_set_scalar(x_124, sizeof(void*)*1, x_122); -x_125 = x_124; -x_126 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; -x_127 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_126, x_125); -x_128 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_128, 0, x_127); -lean::cnstr_set(x_128, 1, x_12); -return x_128; +lean::cnstr_set(x_548, 0, x_544); +lean::cnstr_set_scalar(x_548, sizeof(void*)*1, x_546); +x_549 = x_548; +x_550 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_551 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_550, x_549); +x_552 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_552, 0, x_551); +lean::cnstr_set(x_552, 1, x_12); +return x_552; } } lbl_16: @@ -4028,841 +4904,223 @@ goto lbl_13; } else { -obj* x_130; uint8 x_132; obj* x_134; obj* x_138; obj* x_139; -x_130 = lean::cnstr_get(x_14, 0); -lean::inc(x_130); -x_132 = lean::cnstr_get_scalar(x_14, sizeof(void*)*1); +obj* x_554; uint8 x_556; obj* x_558; obj* x_562; obj* x_563; +x_554 = lean::cnstr_get(x_14, 0); +lean::inc(x_554); +x_556 = lean::cnstr_get_scalar(x_14, sizeof(void*)*1); lean::dec(x_14); -x_134 = lean::cnstr_get(x_130, 0); -lean::inc(x_134); +x_558 = lean::cnstr_get(x_554, 0); +lean::inc(x_558); lean::inc(x_3); -lean::inc(x_130); -x_138 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__1(x_130, x_2, x_3, x_134, x_15); -x_139 = lean::cnstr_get(x_138, 0); -lean::inc(x_139); -if (lean::obj_tag(x_139) == 0) +lean::inc(x_554); +x_562 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__1(x_554, x_2, x_3, x_558, x_15); +x_563 = lean::cnstr_get(x_562, 0); +lean::inc(x_563); +if (lean::obj_tag(x_563) == 0) { -obj* x_141; obj* x_143; obj* x_145; obj* x_146; obj* x_148; obj* x_150; obj* x_151; obj* x_153; obj* x_154; obj* x_157; obj* x_159; uint8 x_160; obj* x_161; obj* x_162; obj* x_163; obj* x_164; obj* x_165; obj* x_166; -x_141 = lean::cnstr_get(x_139, 0); -lean::inc(x_141); -x_143 = lean::cnstr_get(x_138, 1); -if (lean::is_exclusive(x_138)) { - lean::cnstr_release(x_138, 0); - x_145 = x_138; +obj* x_565; obj* x_567; obj* x_569; obj* x_570; obj* x_572; obj* x_574; obj* x_575; obj* x_577; obj* x_578; obj* x_581; obj* x_583; uint8 x_584; obj* x_585; obj* x_586; obj* x_587; obj* x_588; obj* x_589; obj* x_590; +x_565 = lean::cnstr_get(x_563, 0); +lean::inc(x_565); +x_567 = lean::cnstr_get(x_562, 1); +if (lean::is_exclusive(x_562)) { + lean::cnstr_release(x_562, 0); + x_569 = x_562; } else { - lean::inc(x_143); - lean::dec(x_138); - x_145 = lean::box(0); + lean::inc(x_567); + lean::dec(x_562); + x_569 = lean::box(0); } -x_146 = lean::cnstr_get(x_139, 1); -x_148 = lean::cnstr_get(x_139, 2); -if (lean::is_exclusive(x_139)) { - lean::cnstr_release(x_139, 0); - x_150 = x_139; +x_570 = lean::cnstr_get(x_563, 1); +x_572 = lean::cnstr_get(x_563, 2); +if (lean::is_exclusive(x_563)) { + lean::cnstr_release(x_563, 0); + x_574 = x_563; } else { - lean::inc(x_146); - lean::inc(x_148); - lean::dec(x_139); - x_150 = lean::box(0); + lean::inc(x_570); + lean::inc(x_572); + lean::dec(x_563); + x_574 = lean::box(0); } -x_151 = lean::cnstr_get(x_141, 1); -if (lean::is_exclusive(x_141)) { - lean::cnstr_release(x_141, 0); - x_153 = x_141; +x_575 = lean::cnstr_get(x_565, 1); +if (lean::is_exclusive(x_565)) { + lean::cnstr_release(x_565, 0); + x_577 = x_565; } else { - lean::inc(x_151); - lean::dec(x_141); - x_153 = lean::box(0); + lean::inc(x_575); + lean::dec(x_565); + x_577 = lean::box(0); } -x_154 = lean::cnstr_get(x_130, 3); -lean::inc(x_154); -lean::dec(x_130); -x_157 = l_option_get___main___at_lean_parser_run___spec__2(x_154); -lean::dec(x_154); -x_159 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_159, 0, x_157); -x_160 = 1; -x_161 = lean::box(x_160); -if (lean::is_scalar(x_153)) { - x_162 = lean::alloc_cnstr(0, 2, 0); +x_578 = lean::cnstr_get(x_554, 3); +lean::inc(x_578); +lean::dec(x_554); +x_581 = l_option_get___main___at_lean_parser_run___spec__2(x_578); +lean::dec(x_578); +x_583 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_583, 0, x_581); +x_584 = 1; +x_585 = lean::box(x_584); +if (lean::is_scalar(x_577)) { + x_586 = lean::alloc_cnstr(0, 2, 0); } else { - x_162 = x_153; + x_586 = x_577; } -lean::cnstr_set(x_162, 0, x_161); -lean::cnstr_set(x_162, 1, x_159); -if (lean::is_scalar(x_145)) { - x_163 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_586, 0, x_585); +lean::cnstr_set(x_586, 1, x_583); +if (lean::is_scalar(x_569)) { + x_587 = lean::alloc_cnstr(0, 2, 0); } else { - x_163 = x_145; + x_587 = x_569; } -lean::cnstr_set(x_163, 0, x_162); -lean::cnstr_set(x_163, 1, x_151); -x_164 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_150)) { - x_165 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_587, 0, x_586); +lean::cnstr_set(x_587, 1, x_575); +x_588 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_574)) { + x_589 = lean::alloc_cnstr(0, 3, 0); } else { - x_165 = x_150; + x_589 = x_574; } -lean::cnstr_set(x_165, 0, x_163); -lean::cnstr_set(x_165, 1, x_146); -lean::cnstr_set(x_165, 2, x_164); -x_166 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_148, x_165); -if (lean::obj_tag(x_166) == 0) +lean::cnstr_set(x_589, 0, x_587); +lean::cnstr_set(x_589, 1, x_570); +lean::cnstr_set(x_589, 2, x_588); +x_590 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_572, x_589); +if (lean::obj_tag(x_590) == 0) { -x_11 = x_166; -x_12 = x_143; +x_11 = x_590; +x_12 = x_567; goto lbl_13; } else { -uint8 x_167; -x_167 = lean::cnstr_get_scalar(x_166, sizeof(void*)*1); -if (x_132 == 0) +uint8 x_591; +x_591 = lean::cnstr_get_scalar(x_590, sizeof(void*)*1); +if (x_556 == 0) { -obj* x_168; obj* x_170; obj* x_171; obj* x_172; -x_168 = lean::cnstr_get(x_166, 0); -if (lean::is_exclusive(x_166)) { - x_170 = x_166; +obj* x_592; obj* x_594; obj* x_595; obj* x_596; +x_592 = lean::cnstr_get(x_590, 0); +if (lean::is_exclusive(x_590)) { + x_594 = x_590; } else { - lean::inc(x_168); - lean::dec(x_166); - x_170 = lean::box(0); + lean::inc(x_592); + lean::dec(x_590); + x_594 = lean::box(0); } -if (lean::is_scalar(x_170)) { - x_171 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_594)) { + x_595 = lean::alloc_cnstr(1, 1, 1); } else { - x_171 = x_170; + x_595 = x_594; } -lean::cnstr_set(x_171, 0, x_168); -lean::cnstr_set_scalar(x_171, sizeof(void*)*1, x_167); -x_172 = x_171; -x_11 = x_172; -x_12 = x_143; +lean::cnstr_set(x_595, 0, x_592); +lean::cnstr_set_scalar(x_595, sizeof(void*)*1, x_591); +x_596 = x_595; +x_11 = x_596; +x_12 = x_567; goto lbl_13; } else { -obj* x_173; obj* x_175; obj* x_176; obj* x_177; -x_173 = lean::cnstr_get(x_166, 0); -if (lean::is_exclusive(x_166)) { - x_175 = x_166; +obj* x_597; obj* x_599; obj* x_600; obj* x_601; +x_597 = lean::cnstr_get(x_590, 0); +if (lean::is_exclusive(x_590)) { + x_599 = x_590; } else { - lean::inc(x_173); - lean::dec(x_166); - x_175 = lean::box(0); + lean::inc(x_597); + lean::dec(x_590); + x_599 = lean::box(0); } -if (lean::is_scalar(x_175)) { - x_176 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_599)) { + x_600 = lean::alloc_cnstr(1, 1, 1); } else { - x_176 = x_175; + x_600 = x_599; } -lean::cnstr_set(x_176, 0, x_173); -lean::cnstr_set_scalar(x_176, sizeof(void*)*1, x_132); -x_177 = x_176; -x_11 = x_177; -x_12 = x_143; +lean::cnstr_set(x_600, 0, x_597); +lean::cnstr_set_scalar(x_600, sizeof(void*)*1, x_556); +x_601 = x_600; +x_11 = x_601; +x_12 = x_567; goto lbl_13; } } } else { -uint8 x_179; -lean::dec(x_130); -x_179 = lean::cnstr_get_scalar(x_139, sizeof(void*)*1); -if (x_132 == 0) +uint8 x_603; +lean::dec(x_554); +x_603 = lean::cnstr_get_scalar(x_563, sizeof(void*)*1); +if (x_556 == 0) { -obj* x_180; obj* x_183; obj* x_185; obj* x_186; obj* x_187; -x_180 = lean::cnstr_get(x_138, 1); -lean::inc(x_180); -lean::dec(x_138); -x_183 = lean::cnstr_get(x_139, 0); -if (lean::is_exclusive(x_139)) { - x_185 = x_139; +obj* x_604; obj* x_607; obj* x_609; obj* x_610; obj* x_611; +x_604 = lean::cnstr_get(x_562, 1); +lean::inc(x_604); +lean::dec(x_562); +x_607 = lean::cnstr_get(x_563, 0); +if (lean::is_exclusive(x_563)) { + x_609 = x_563; } else { - lean::inc(x_183); - lean::dec(x_139); - x_185 = lean::box(0); + lean::inc(x_607); + lean::dec(x_563); + x_609 = lean::box(0); } -if (lean::is_scalar(x_185)) { - x_186 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_609)) { + x_610 = lean::alloc_cnstr(1, 1, 1); } else { - x_186 = x_185; + x_610 = x_609; } -lean::cnstr_set(x_186, 0, x_183); -lean::cnstr_set_scalar(x_186, sizeof(void*)*1, x_179); -x_187 = x_186; -x_11 = x_187; -x_12 = x_180; +lean::cnstr_set(x_610, 0, x_607); +lean::cnstr_set_scalar(x_610, sizeof(void*)*1, x_603); +x_611 = x_610; +x_11 = x_611; +x_12 = x_604; goto lbl_13; } else { -obj* x_188; obj* x_191; obj* x_193; obj* x_194; obj* x_195; -x_188 = lean::cnstr_get(x_138, 1); -lean::inc(x_188); -lean::dec(x_138); -x_191 = lean::cnstr_get(x_139, 0); -if (lean::is_exclusive(x_139)) { - x_193 = x_139; +obj* x_612; obj* x_615; obj* x_617; obj* x_618; obj* x_619; +x_612 = lean::cnstr_get(x_562, 1); +lean::inc(x_612); +lean::dec(x_562); +x_615 = lean::cnstr_get(x_563, 0); +if (lean::is_exclusive(x_563)) { + x_617 = x_563; } else { - lean::inc(x_191); - lean::dec(x_139); - x_193 = lean::box(0); + lean::inc(x_615); + lean::dec(x_563); + x_617 = lean::box(0); } -if (lean::is_scalar(x_193)) { - x_194 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_617)) { + x_618 = lean::alloc_cnstr(1, 1, 1); } else { - x_194 = x_193; + x_618 = x_617; } -lean::cnstr_set(x_194, 0, x_191); -lean::cnstr_set_scalar(x_194, sizeof(void*)*1, x_132); -x_195 = x_194; -x_11 = x_195; -x_12 = x_188; +lean::cnstr_set(x_618, 0, x_615); +lean::cnstr_set_scalar(x_618, sizeof(void*)*1, x_556); +x_619 = x_618; +x_11 = x_619; +x_12 = x_612; goto lbl_13; } } } } -lbl_18: -{ -obj* x_196; obj* x_197; obj* x_199; obj* x_201; obj* x_203; obj* x_205; obj* x_206; -x_199 = lean::cnstr_get(x_3, 1); -lean::inc(x_199); -x_201 = lean::cnstr_get(x_3, 0); -lean::inc(x_201); -x_203 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2; -lean::inc(x_4); -x_205 = l_lean_parser_command__parser_run(x_199, x_203, x_201, x_4, x_5); -x_206 = lean::cnstr_get(x_205, 0); -lean::inc(x_206); -if (lean::obj_tag(x_206) == 0) -{ -obj* x_208; obj* x_210; obj* x_211; obj* x_213; obj* x_215; obj* x_217; obj* x_219; obj* x_220; obj* x_221; obj* x_222; -x_208 = lean::cnstr_get(x_205, 1); -if (lean::is_exclusive(x_205)) { - lean::cnstr_release(x_205, 0); - x_210 = x_205; -} else { - lean::inc(x_208); - lean::dec(x_205); - x_210 = lean::box(0); -} -x_211 = lean::cnstr_get(x_206, 0); -x_213 = lean::cnstr_get(x_206, 1); -x_215 = lean::cnstr_get(x_206, 2); -if (lean::is_exclusive(x_206)) { - x_217 = x_206; -} else { - lean::inc(x_211); - lean::inc(x_213); - lean::inc(x_215); - lean::dec(x_206); - x_217 = lean::box(0); -} -lean::inc(x_2); -if (lean::is_scalar(x_210)) { - x_219 = lean::alloc_cnstr(0, 2, 0); -} else { - x_219 = x_210; -} -lean::cnstr_set(x_219, 0, x_211); -lean::cnstr_set(x_219, 1, x_2); -x_220 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_217)) { - x_221 = lean::alloc_cnstr(0, 3, 0); -} else { - x_221 = x_217; -} -lean::cnstr_set(x_221, 0, x_219); -lean::cnstr_set(x_221, 1, x_213); -lean::cnstr_set(x_221, 2, x_220); -x_222 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_215, x_221); -if (lean::obj_tag(x_222) == 0) -{ -obj* x_223; obj* x_225; obj* x_227; obj* x_229; obj* x_230; obj* x_232; obj* x_234; obj* x_235; uint8 x_236; obj* x_237; obj* x_238; obj* x_239; obj* x_240; obj* x_241; obj* x_242; obj* x_243; -x_223 = lean::cnstr_get(x_222, 0); -x_225 = lean::cnstr_get(x_222, 1); -x_227 = lean::cnstr_get(x_222, 2); -if (lean::is_exclusive(x_222)) { - x_229 = x_222; -} else { - lean::inc(x_223); - lean::inc(x_225); - lean::inc(x_227); - lean::dec(x_222); - x_229 = lean::box(0); -} -x_230 = lean::cnstr_get(x_223, 0); -x_232 = lean::cnstr_get(x_223, 1); -if (lean::is_exclusive(x_223)) { - x_234 = x_223; -} else { - lean::inc(x_230); - lean::inc(x_232); - lean::dec(x_223); - x_234 = lean::box(0); -} -x_235 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_235, 0, x_230); -x_236 = 0; -x_237 = lean::box(x_236); -if (lean::is_scalar(x_234)) { - x_238 = lean::alloc_cnstr(0, 2, 0); -} else { - x_238 = x_234; -} -lean::cnstr_set(x_238, 0, x_237); -lean::cnstr_set(x_238, 1, x_235); -x_239 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_239, 0, x_238); -lean::cnstr_set(x_239, 1, x_232); -if (lean::is_scalar(x_229)) { - x_240 = lean::alloc_cnstr(0, 3, 0); -} else { - x_240 = x_229; -} -lean::cnstr_set(x_240, 0, x_239); -lean::cnstr_set(x_240, 1, x_225); -lean::cnstr_set(x_240, 2, x_220); -x_241 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_227, x_240); -x_242 = l_lean_parser_finish__comment__block___closed__2; -x_243 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_242, x_241); -x_196 = x_243; -x_197 = x_208; -goto lbl_198; } else { -obj* x_244; uint8 x_246; obj* x_247; obj* x_248; obj* x_249; obj* x_250; obj* x_251; -x_244 = lean::cnstr_get(x_222, 0); -x_246 = lean::cnstr_get_scalar(x_222, sizeof(void*)*1); -if (lean::is_exclusive(x_222)) { - x_247 = x_222; -} else { - lean::inc(x_244); - lean::dec(x_222); - x_247 = lean::box(0); -} -if (lean::is_scalar(x_247)) { - x_248 = lean::alloc_cnstr(1, 1, 1); -} else { - x_248 = x_247; -} -lean::cnstr_set(x_248, 0, x_244); -lean::cnstr_set_scalar(x_248, sizeof(void*)*1, x_246); -x_249 = x_248; -x_250 = l_lean_parser_finish__comment__block___closed__2; -x_251 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_250, x_249); -x_196 = x_251; -x_197 = x_208; -goto lbl_198; -} -} -else -{ -obj* x_252; obj* x_255; uint8 x_257; obj* x_258; obj* x_259; obj* x_260; obj* x_261; obj* x_262; -x_252 = lean::cnstr_get(x_205, 1); -lean::inc(x_252); -lean::dec(x_205); -x_255 = lean::cnstr_get(x_206, 0); -x_257 = lean::cnstr_get_scalar(x_206, sizeof(void*)*1); -if (lean::is_exclusive(x_206)) { - x_258 = x_206; -} else { - lean::inc(x_255); - lean::dec(x_206); - x_258 = lean::box(0); -} -if (lean::is_scalar(x_258)) { - x_259 = lean::alloc_cnstr(1, 1, 1); -} else { - x_259 = x_258; -} -lean::cnstr_set(x_259, 0, x_255); -lean::cnstr_set_scalar(x_259, sizeof(void*)*1, x_257); -x_260 = x_259; -x_261 = l_lean_parser_finish__comment__block___closed__2; -x_262 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_261, x_260); -x_196 = x_262; -x_197 = x_252; -goto lbl_198; -} -lbl_198: -{ -if (lean::obj_tag(x_196) == 0) -{ -lean::dec(x_4); -x_14 = x_196; -x_15 = x_197; -goto lbl_16; -} -else -{ -obj* x_264; uint8 x_266; obj* x_267; obj* x_268; -x_264 = lean::cnstr_get(x_196, 0); -lean::inc(x_264); -x_266 = lean::cnstr_get_scalar(x_196, sizeof(void*)*1); -if (x_266 == 0) -{ -lean::dec(x_196); -if (x_17 == 0) -{ -obj* x_271; obj* x_273; obj* x_274; obj* x_275; -x_271 = lean::box(0); -lean::inc(x_2); -x_273 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_273, 0, x_271); -lean::cnstr_set(x_273, 1, x_2); -x_274 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_275 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_275, 0, x_273); -lean::cnstr_set(x_275, 1, x_4); -lean::cnstr_set(x_275, 2, x_274); -x_267 = x_275; -x_268 = x_197; -goto lbl_269; -} -else -{ -obj* x_276; obj* x_277; obj* x_278; obj* x_280; obj* x_283; obj* x_284; obj* x_286; obj* x_289; obj* x_290; -x_276 = l_string_iterator_extract___main___closed__1; -x_277 = l_lean_parser_command_parser___rarg___closed__1; -x_278 = l_lean_parser_parsec__t_monad__fail___rarg___closed__1; -lean::inc(x_4); -x_280 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_280, 0, x_4); -lean::cnstr_set(x_280, 1, x_276); -lean::cnstr_set(x_280, 2, x_277); -lean::cnstr_set(x_280, 3, x_278); -lean::inc(x_3); -lean::inc(x_2); -x_283 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(x_280, x_2, x_3, x_4, x_197); -x_284 = lean::cnstr_get(x_283, 0); -lean::inc(x_284); -x_286 = lean::cnstr_get(x_283, 1); -lean::inc(x_286); -lean::dec(x_283); -x_289 = l_lean_parser_finish__comment__block___closed__2; -x_290 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_289, x_284); -x_267 = x_290; -x_268 = x_286; -goto lbl_269; -} -} -else -{ -lean::dec(x_264); -lean::dec(x_4); -x_14 = x_196; -x_15 = x_197; -goto lbl_16; -} -lbl_269: -{ -if (lean::obj_tag(x_267) == 0) -{ -obj* x_293; obj* x_295; obj* x_297; obj* x_300; obj* x_301; obj* x_303; obj* x_306; obj* x_307; obj* x_309; obj* x_311; obj* x_315; obj* x_316; -x_293 = lean::cnstr_get(x_267, 0); -lean::inc(x_293); -x_295 = lean::cnstr_get(x_267, 1); -lean::inc(x_295); -x_297 = lean::cnstr_get(x_267, 2); -lean::inc(x_297); -lean::dec(x_267); -x_303 = lean::cnstr_get(x_293, 1); -lean::inc(x_303); -lean::dec(x_293); -x_309 = lean::cnstr_get(x_3, 0); -lean::inc(x_309); -x_311 = lean::cnstr_get(x_309, 0); -lean::inc(x_311); -lean::dec(x_309); -lean::inc(x_295); -x_315 = l_lean_parser_token(x_311, x_295, x_268); -x_316 = lean::cnstr_get(x_315, 0); -lean::inc(x_316); -if (lean::obj_tag(x_316) == 0) -{ -obj* x_318; obj* x_320; obj* x_321; obj* x_323; obj* x_325; obj* x_327; obj* x_329; obj* x_330; obj* x_331; obj* x_332; -x_318 = lean::cnstr_get(x_315, 1); -if (lean::is_exclusive(x_315)) { - lean::cnstr_release(x_315, 0); - x_320 = x_315; -} else { - lean::inc(x_318); - lean::dec(x_315); - x_320 = lean::box(0); -} -x_321 = lean::cnstr_get(x_316, 0); -x_323 = lean::cnstr_get(x_316, 1); -x_325 = lean::cnstr_get(x_316, 2); -if (lean::is_exclusive(x_316)) { - x_327 = x_316; -} else { - lean::inc(x_321); - lean::inc(x_323); - lean::inc(x_325); - lean::dec(x_316); - x_327 = lean::box(0); -} -lean::inc(x_303); -if (lean::is_scalar(x_320)) { - x_329 = lean::alloc_cnstr(0, 2, 0); -} else { - x_329 = x_320; -} -lean::cnstr_set(x_329, 0, x_321); -lean::cnstr_set(x_329, 1, x_303); -x_330 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_327)) { - x_331 = lean::alloc_cnstr(0, 3, 0); -} else { - x_331 = x_327; -} -lean::cnstr_set(x_331, 0, x_329); -lean::cnstr_set(x_331, 1, x_323); -lean::cnstr_set(x_331, 2, x_330); -x_332 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_325, x_331); -if (lean::obj_tag(x_332) == 0) -{ -obj* x_333; obj* x_335; obj* x_337; obj* x_339; obj* x_340; obj* x_342; obj* x_343; obj* x_344; obj* x_345; obj* x_346; obj* x_347; -x_333 = lean::cnstr_get(x_332, 0); -x_335 = lean::cnstr_get(x_332, 1); -x_337 = lean::cnstr_get(x_332, 2); -if (lean::is_exclusive(x_332)) { - x_339 = x_332; -} else { - lean::inc(x_333); - lean::inc(x_335); - lean::inc(x_337); - lean::dec(x_332); - x_339 = lean::box(0); -} -x_340 = lean::cnstr_get(x_333, 1); -if (lean::is_exclusive(x_333)) { - lean::cnstr_release(x_333, 0); - x_342 = x_333; -} else { - lean::inc(x_340); - lean::dec(x_333); - x_342 = lean::box(0); -} -x_343 = lean::box(0); -if (lean::is_scalar(x_342)) { - x_344 = lean::alloc_cnstr(0, 2, 0); -} else { - x_344 = x_342; -} -lean::cnstr_set(x_344, 0, x_343); -lean::cnstr_set(x_344, 1, x_340); -if (lean::is_scalar(x_339)) { - x_345 = lean::alloc_cnstr(0, 3, 0); -} else { - x_345 = x_339; -} -lean::cnstr_set(x_345, 0, x_344); -lean::cnstr_set(x_345, 1, x_335); -lean::cnstr_set(x_345, 2, x_330); -x_346 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_337, x_345); -x_347 = l_lean_parser_parsec__t_try__mk__res___rarg(x_346); -x_306 = x_347; -x_307 = x_318; -goto lbl_308; -} -else -{ -obj* x_348; obj* x_350; uint8 x_351; obj* x_352; obj* x_353; -x_348 = lean::cnstr_get(x_332, 0); -if (lean::is_exclusive(x_332)) { - x_350 = x_332; -} else { - lean::inc(x_348); - lean::dec(x_332); - x_350 = lean::box(0); -} -x_351 = 0; -if (lean::is_scalar(x_350)) { - x_352 = lean::alloc_cnstr(1, 1, 1); -} else { - x_352 = x_350; -} -lean::cnstr_set(x_352, 0, x_348); -lean::cnstr_set_scalar(x_352, sizeof(void*)*1, x_351); -x_353 = x_352; -x_306 = x_353; -x_307 = x_318; -goto lbl_308; -} -} -else -{ -obj* x_354; obj* x_357; obj* x_359; uint8 x_360; obj* x_361; obj* x_362; -x_354 = lean::cnstr_get(x_315, 1); -lean::inc(x_354); -lean::dec(x_315); -x_357 = lean::cnstr_get(x_316, 0); -if (lean::is_exclusive(x_316)) { - x_359 = x_316; -} else { - lean::inc(x_357); - lean::dec(x_316); - x_359 = lean::box(0); -} -x_360 = 0; -if (lean::is_scalar(x_359)) { - x_361 = lean::alloc_cnstr(1, 1, 1); -} else { - x_361 = x_359; -} -lean::cnstr_set(x_361, 0, x_357); -lean::cnstr_set_scalar(x_361, sizeof(void*)*1, x_360); -x_362 = x_361; -x_306 = x_362; -x_307 = x_354; -goto lbl_308; -} -lbl_302: -{ -if (lean::obj_tag(x_300) == 0) -{ -obj* x_363; obj* x_365; obj* x_367; obj* x_369; obj* x_370; obj* x_372; obj* x_373; obj* x_374; obj* x_375; obj* x_376; obj* x_377; obj* x_378; obj* x_379; -x_363 = lean::cnstr_get(x_300, 0); -x_365 = lean::cnstr_get(x_300, 1); -x_367 = lean::cnstr_get(x_300, 2); -if (lean::is_exclusive(x_300)) { - x_369 = x_300; -} else { - lean::inc(x_363); - lean::inc(x_365); - lean::inc(x_367); - lean::dec(x_300); - x_369 = lean::box(0); -} -x_370 = lean::cnstr_get(x_363, 1); -if (lean::is_exclusive(x_363)) { - lean::cnstr_release(x_363, 0); - x_372 = x_363; -} else { - lean::inc(x_370); - lean::dec(x_363); - x_372 = lean::box(0); -} -x_373 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1; -if (lean::is_scalar(x_372)) { - x_374 = lean::alloc_cnstr(0, 2, 0); -} else { - x_374 = x_372; -} -lean::cnstr_set(x_374, 0, x_373); -lean::cnstr_set(x_374, 1, x_370); -x_375 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_369)) { - x_376 = lean::alloc_cnstr(0, 3, 0); -} else { - x_376 = x_369; -} -lean::cnstr_set(x_376, 0, x_374); -lean::cnstr_set(x_376, 1, x_365); -lean::cnstr_set(x_376, 2, x_375); -x_377 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_367, x_376); -x_378 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_297, x_377); -x_379 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_264, x_378); -x_14 = x_379; -x_15 = x_301; -goto lbl_16; -} -else -{ -obj* x_380; uint8 x_382; obj* x_383; obj* x_384; obj* x_385; obj* x_386; obj* x_387; -x_380 = lean::cnstr_get(x_300, 0); -x_382 = lean::cnstr_get_scalar(x_300, sizeof(void*)*1); -if (lean::is_exclusive(x_300)) { - x_383 = x_300; -} else { - lean::inc(x_380); - lean::dec(x_300); - x_383 = lean::box(0); -} -if (lean::is_scalar(x_383)) { - x_384 = lean::alloc_cnstr(1, 1, 1); -} else { - x_384 = x_383; -} -lean::cnstr_set(x_384, 0, x_380); -lean::cnstr_set_scalar(x_384, sizeof(void*)*1, x_382); -x_385 = x_384; -x_386 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_297, x_385); -x_387 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_264, x_386); -x_14 = x_387; -x_15 = x_301; -goto lbl_16; -} -} -lbl_308: -{ -if (lean::obj_tag(x_306) == 0) -{ -lean::dec(x_303); -lean::dec(x_295); -x_300 = x_306; -x_301 = x_307; -goto lbl_302; -} -else -{ -uint8 x_390; -x_390 = lean::cnstr_get_scalar(x_306, sizeof(void*)*1); -if (x_390 == 0) -{ -obj* x_391; obj* x_394; obj* x_395; -x_391 = lean::cnstr_get(x_306, 0); -lean::inc(x_391); -lean::dec(x_306); -x_394 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(x_303, x_3, x_295, x_307); -x_395 = lean::cnstr_get(x_394, 0); -lean::inc(x_395); -if (lean::obj_tag(x_395) == 0) -{ -obj* x_397; obj* x_399; obj* x_402; obj* x_404; obj* x_406; obj* x_407; obj* x_409; obj* x_410; obj* x_411; obj* x_412; obj* x_413; obj* x_414; obj* x_415; -x_397 = lean::cnstr_get(x_395, 0); -lean::inc(x_397); -x_399 = lean::cnstr_get(x_394, 1); -lean::inc(x_399); -lean::dec(x_394); -x_402 = lean::cnstr_get(x_395, 1); -x_404 = lean::cnstr_get(x_395, 2); -if (lean::is_exclusive(x_395)) { - lean::cnstr_release(x_395, 0); - x_406 = x_395; -} else { - lean::inc(x_402); - lean::inc(x_404); - lean::dec(x_395); - x_406 = lean::box(0); -} -x_407 = lean::cnstr_get(x_397, 1); -if (lean::is_exclusive(x_397)) { - lean::cnstr_release(x_397, 0); - x_409 = x_397; -} else { - lean::inc(x_407); - lean::dec(x_397); - x_409 = lean::box(0); -} -x_410 = lean::box(0); -if (lean::is_scalar(x_409)) { - x_411 = lean::alloc_cnstr(0, 2, 0); -} else { - x_411 = x_409; -} -lean::cnstr_set(x_411, 0, x_410); -lean::cnstr_set(x_411, 1, x_407); -x_412 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_406)) { - x_413 = lean::alloc_cnstr(0, 3, 0); -} else { - x_413 = x_406; -} -lean::cnstr_set(x_413, 0, x_411); -lean::cnstr_set(x_413, 1, x_402); -lean::cnstr_set(x_413, 2, x_412); -x_414 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_404, x_413); -x_415 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_391, x_414); -x_300 = x_415; -x_301 = x_399; -goto lbl_302; -} -else -{ -obj* x_416; obj* x_419; uint8 x_421; obj* x_422; obj* x_423; obj* x_424; obj* x_425; -x_416 = lean::cnstr_get(x_394, 1); -lean::inc(x_416); -lean::dec(x_394); -x_419 = lean::cnstr_get(x_395, 0); -x_421 = lean::cnstr_get_scalar(x_395, sizeof(void*)*1); -if (lean::is_exclusive(x_395)) { - x_422 = x_395; -} else { - lean::inc(x_419); - lean::dec(x_395); - x_422 = lean::box(0); -} -if (lean::is_scalar(x_422)) { - x_423 = lean::alloc_cnstr(1, 1, 1); -} else { - x_423 = x_422; -} -lean::cnstr_set(x_423, 0, x_419); -lean::cnstr_set_scalar(x_423, sizeof(void*)*1, x_421); -x_424 = x_423; -x_425 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_391, x_424); -x_300 = x_425; -x_301 = x_416; -goto lbl_302; -} -} -else -{ -lean::dec(x_303); -lean::dec(x_295); -x_300 = x_306; -x_301 = x_307; -goto lbl_302; -} -} -} -} -else -{ -obj* x_428; uint8 x_430; obj* x_431; obj* x_432; obj* x_433; obj* x_434; -x_428 = lean::cnstr_get(x_267, 0); -x_430 = lean::cnstr_get_scalar(x_267, sizeof(void*)*1); -if (lean::is_exclusive(x_267)) { - x_431 = x_267; -} else { - lean::inc(x_428); - lean::dec(x_267); - x_431 = lean::box(0); -} -if (lean::is_scalar(x_431)) { - x_432 = lean::alloc_cnstr(1, 1, 1); -} else { - x_432 = x_431; -} -lean::cnstr_set(x_432, 0, x_428); -lean::cnstr_set_scalar(x_432, sizeof(void*)*1, x_430); -x_433 = x_432; -x_434 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_264, x_433); -x_14 = x_434; -x_15 = x_268; -goto lbl_16; -} -} -} -} -} -} -else -{ -obj* x_435; obj* x_436; obj* x_437; obj* x_438; -x_435 = lean::box(0); -x_436 = l___private_init_lean_parser_combinators_1__many1__aux___main___rarg___closed__1; -x_437 = l_mjoin___rarg___closed__1; -x_438 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_436, x_437, x_435, x_435, x_2, x_3, x_4, x_5); +obj* x_620; obj* x_621; obj* x_622; obj* x_623; +x_620 = lean::box(0); +x_621 = l___private_init_lean_parser_combinators_1__many1__aux___main___rarg___closed__1; +x_622 = l_mjoin___rarg___closed__1; +x_623 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_621, x_622, x_620, x_620, x_2, x_3, x_4, x_5); lean::dec(x_4); lean::dec(x_3); lean::dec(x_2); -return x_438; +return x_623; } } } -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { obj* x_4; -x_4 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(x_0, x_1, x_2, x_3); +x_4 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(x_0, x_1, x_2, x_3); lean::dec(x_1); return x_4; } diff --git a/src/boot/init/lean/parser/notation.cpp b/src/boot/init/lean/parser/notation.cpp index 026377806d..8a932d7d0d 100644 --- a/src/boot/init/lean/parser/notation.cpp +++ b/src/boot/init/lean/parser/notation.cpp @@ -115,7 +115,6 @@ obj* l_lean_parser_command_notation__spec_precedence__term_view_to__nat___main(o obj* l_lean_parser_command_notation__spec_action__kind; obj* l_lean_parser_number_parser___at_lean_parser_command_notation__spec_precedence__lit_parser_lean_parser_has__tokens___spec__1___rarg(obj*, obj*, obj*, obj*); obj* l_lean_parser_command_notation__spec_rule_parser___closed__1; -obj* l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__8; obj* l_lean_parser_command_notation__spec_precedence__lit_parser_lean_parser_has__view; obj* l_lean_parser_combinators_optional___at_lean_parser_command_notation__spec_symbol__quote_parser_lean_parser_has__tokens___spec__7(obj*, obj*, obj*, obj*, obj*, obj*); obj* l___private_init_lean_parser_parsec_4__take__while__aux___main___at_lean_parser_command_notation__spec_quoted__symbol_parser___spec__2(obj*, obj*, obj*); @@ -228,7 +227,6 @@ obj* l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___ obj* l_lean_parser_combinators_node_view___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_reader__t_orelse___at_lean_parser_command_notation__spec_fold__action_parser_lean_parser_has__tokens___spec__2(obj*); obj* l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__2(obj*); -obj* l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7; obj* l_lean_parser_command_notation__spec_notation__symbol_has__view_x_27___lambda__1(obj*); obj* l_lean_parser_command_notation__spec_argument; obj* l_lean_parser_number_parser___at_lean_parser_command_notation__spec_precedence__lit_parser_lean_parser_has__tokens___spec__1(obj*); @@ -585,38 +583,16 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_0); -return x_8; -} -else -{ -obj* x_9; obj* x_10; obj* x_13; obj* x_14; -x_9 = l_lean_parser_number_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_0); -x_14 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_14, 0, x_13); -return x_14; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_number_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__2() { @@ -640,181 +616,174 @@ return x_10; obj* l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; +x_58 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_58, 0, x_52); +return x_58; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} -} -} -else -{ -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +obj* x_59; obj* x_60; obj* x_63; obj* x_64; +x_59 = l_lean_parser_number_has__view; +x_60 = lean::cnstr_get(x_59, 0); +lean::inc(x_60); +lean::dec(x_59); +x_63 = lean::apply_1(x_60, x_52); +x_64 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_64, 0, x_63); return x_64; } } -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) +else { obj* x_68; -x_68 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_68, 0, x_1); +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_68 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; return x_68; } +} +} +} +} +} +} else { -obj* x_69; obj* x_70; obj* x_73; obj* x_74; -x_69 = l_lean_parser_number_has__view; -x_70 = lean::cnstr_get(x_69, 0); -lean::inc(x_70); -lean::dec(x_69); -x_73 = lean::apply_1(x_70, x_1); -x_74 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_74, 0, x_73); -return x_74; +obj* x_71; +lean::dec(x_8); +lean::dec(x_17); +x_71 = l_lean_parser_command_notation__spec_precedence__lit_has__view_x_27___lambda__1___closed__1; +return x_71; +} +} } } } @@ -2230,79 +2199,9 @@ return x_1; obj* _init_l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_16; obj* x_19; obj* x_20; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -x_20 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -case 3: -{ -obj* x_21; -x_21 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__2; -return x_21; -} -default: -{ -obj* x_23; -lean::dec(x_0); -x_23 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__2; -return x_23; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__4() { @@ -2326,220 +2225,236 @@ return x_10; obj* l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_80, 0, x_79); -return x_80; +obj* x_72; obj* x_75; obj* x_76; +x_72 = lean::cnstr_get(x_56, 0); +lean::inc(x_72); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_75 = lean::alloc_cnstr(1, 1, 0); +} else { + x_75 = x_26; +} +lean::cnstr_set(x_75, 0, x_72); +x_76 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_76, 0, x_75); +return x_76; } case 3: { +obj* x_78; +lean::dec(x_26); +x_78 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__2; +return x_78; +} +default: +{ obj* x_81; +lean::dec(x_56); +lean::dec(x_26); x_81 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__2; return x_81; } -default: +} +} +} +else { -obj* x_83; -lean::dec(x_1); -x_83 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__2; -return x_83; +obj* x_86; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_86 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_86; +} +} +} +} +} +} +} +else +{ +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view_x_27___lambda__1___closed__3; +return x_89; } } } @@ -2747,251 +2662,27 @@ return x_5; obj* _init_l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); +obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_notation__spec_precedence__lit_has__view; +x_2 = lean::cnstr_get(x_1, 0); +lean::inc(x_2); lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_24; obj* x_27; obj* x_28; obj* x_29; -x_23 = l_lean_parser_command_notation__spec_precedence__lit_has__view; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_15); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_31; -x_31 = lean::box(3); -x_28 = x_14; -x_29 = x_31; -goto lbl_30; -} -else -{ -obj* x_32; obj* x_34; -x_32 = lean::cnstr_get(x_14, 0); -lean::inc(x_32); -x_34 = lean::cnstr_get(x_14, 1); -lean::inc(x_34); -lean::dec(x_14); -x_28 = x_34; -x_29 = x_32; -goto lbl_30; -} -lbl_30: -{ -obj* x_37; obj* x_38; obj* x_41; -x_37 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_29); -if (lean::obj_tag(x_28) == 0) -{ -if (lean::obj_tag(x_28) == 0) -{ -obj* x_42; obj* x_43; obj* x_44; -x_42 = lean::box(0); -x_43 = l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_44, 0, x_5); -lean::cnstr_set(x_44, 1, x_27); -lean::cnstr_set(x_44, 2, x_41); -lean::cnstr_set(x_44, 3, x_43); -lean::cnstr_set(x_44, 4, x_42); -return x_44; -} -else -{ -obj* x_45; -x_45 = lean::cnstr_get(x_28, 0); -lean::inc(x_45); -lean::dec(x_28); -switch (lean::obj_tag(x_45)) { -case 0: -{ -obj* x_48; obj* x_51; obj* x_52; obj* x_53; -x_48 = lean::cnstr_get(x_45, 0); -lean::inc(x_48); -lean::dec(x_45); -x_51 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_51, 0, x_48); -x_52 = l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1___closed__1; -x_53 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_27); -lean::cnstr_set(x_53, 2, x_41); -lean::cnstr_set(x_53, 3, x_52); -lean::cnstr_set(x_53, 4, x_51); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; obj* x_56; -x_54 = lean::box(0); -x_55 = l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1___closed__1; -x_56 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_56, 0, x_5); -lean::cnstr_set(x_56, 1, x_27); -lean::cnstr_set(x_56, 2, x_41); -lean::cnstr_set(x_56, 3, x_55); -lean::cnstr_set(x_56, 4, x_54); -return x_56; -} -default: -{ -obj* x_58; obj* x_59; obj* x_60; -lean::dec(x_45); -x_58 = lean::box(0); -x_59 = l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1___closed__1; -x_60 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_27); -lean::cnstr_set(x_60, 2, x_41); -lean::cnstr_set(x_60, 3, x_59); -lean::cnstr_set(x_60, 4, x_58); -return x_60; -} -} -} -} -else -{ -obj* x_61; obj* x_63; obj* x_66; obj* x_67; obj* x_70; -x_61 = lean::cnstr_get(x_28, 0); -lean::inc(x_61); -x_63 = lean::cnstr_get(x_28, 1); -lean::inc(x_63); -lean::dec(x_28); -x_66 = l_lean_parser_number_has__view; -x_67 = lean::cnstr_get(x_66, 0); -lean::inc(x_67); -lean::dec(x_66); -x_70 = lean::apply_1(x_67, x_61); -if (lean::obj_tag(x_63) == 0) -{ -obj* x_71; obj* x_72; -x_71 = lean::box(0); -x_72 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_72, 0, x_5); -lean::cnstr_set(x_72, 1, x_27); -lean::cnstr_set(x_72, 2, x_41); -lean::cnstr_set(x_72, 3, x_70); -lean::cnstr_set(x_72, 4, x_71); -return x_72; -} -else -{ -obj* x_73; -x_73 = lean::cnstr_get(x_63, 0); -lean::inc(x_73); -lean::dec(x_63); -switch (lean::obj_tag(x_73)) { -case 0: -{ -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_73, 0); -lean::inc(x_76); -lean::dec(x_73); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_80, 0, x_5); -lean::cnstr_set(x_80, 1, x_27); -lean::cnstr_set(x_80, 2, x_41); -lean::cnstr_set(x_80, 3, x_70); -lean::cnstr_set(x_80, 4, x_79); -return x_80; -} -case 3: -{ -obj* x_81; obj* x_82; -x_81 = lean::box(0); -x_82 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_82, 0, x_5); -lean::cnstr_set(x_82, 1, x_27); -lean::cnstr_set(x_82, 2, x_41); -lean::cnstr_set(x_82, 3, x_70); -lean::cnstr_set(x_82, 4, x_81); -return x_82; -} -default: -{ -obj* x_84; obj* x_85; -lean::dec(x_73); -x_84 = lean::box(0); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_27); -lean::cnstr_set(x_85, 2, x_41); -lean::cnstr_set(x_85, 3, x_70); -lean::cnstr_set(x_85, 4, x_84); -return x_85; -} -} -} -} -} -} -} -} +x_5 = lean::box(3); +x_6 = lean::apply_1(x_2, x_5); +x_7 = l_lean_parser_command_notation__spec_precedence__offset__op_has__view; +x_8 = lean::cnstr_get(x_7, 0); +lean::inc(x_8); +lean::dec(x_7); +x_11 = lean::apply_1(x_8, x_5); +x_12 = l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1___closed__1; +x_13 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_6); +lean::cnstr_set(x_13, 2, x_11); +lean::cnstr_set(x_13, 3, x_12); +lean::cnstr_set(x_13, 4, x_0); +return x_13; } } obj* l_lean_parser_command_notation__spec_precedence__offset_has__view_x_27___lambda__1(obj* x_0) { @@ -3499,43 +3190,16 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_command_notation__spec_precedence__offset_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_command_notation__spec_precedence__lit_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__spec_precedence__lit_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__2() { @@ -3559,186 +3223,179 @@ return x_10; obj* l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_command_notation__spec_precedence__offset_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_command_notation__spec_precedence__lit_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_command_notation__spec_precedence__offset_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_command_notation__spec_precedence__lit_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_command_notation__spec_precedence__term_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -4499,104 +4156,9 @@ return x_7; obj* _init_l_lean_parser_command_notation__spec_precedence_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_5; obj* x_8; -x_5 = lean::cnstr_get(x_1, 0); -lean::inc(x_5); -lean::dec(x_1); -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_9; obj* x_10; -x_9 = l_lean_parser_command_notation__spec_precedence_has__view_x_27___lambda__1___closed__1; -x_10 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_9); -return x_10; -} -else -{ -obj* x_11; obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = l_lean_parser_command_notation__spec_precedence__term_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_11); -x_19 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_19, 0, x_8); -lean::cnstr_set(x_19, 1, x_18); -return x_19; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = l_lean_parser_command_notation__spec_precedence_has__view_x_27___lambda__1___closed__2; -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_29; obj* x_30; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -lean::dec(x_0); -x_24 = lean::box(0); -x_25 = l_lean_parser_command_notation__spec_precedence__term_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_21); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_24); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_32; -x_32 = l_lean_parser_command_notation__spec_precedence_has__view_x_27___lambda__1___closed__2; -return x_32; -} -else -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_41; obj* x_42; -x_33 = lean::cnstr_get(x_0, 0); -lean::inc(x_33); -lean::dec(x_0); -x_36 = lean::box(0); -x_37 = l_lean_parser_command_notation__spec_precedence__term_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_33); -x_42 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_42, 0, x_36); -lean::cnstr_set(x_42, 1, x_41); -return x_42; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_notation__spec_precedence_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* l_lean_parser_command_notation__spec_precedence_has__view_x_27___lambda__1(obj* x_0) { @@ -5327,380 +4889,89 @@ return x_6; obj* _init_l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_0); +lean::cnstr_set(x_4, 2, x_0); +lean::cnstr_set(x_4, 3, x_3); +return x_4; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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_5); + lean::dec(x_2); + x_7 = lean::box(0); } -default: +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) +{ +obj* x_12; +lean::dec(x_7); +x_12 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +lean::cnstr_set(x_12, 2, x_0); +lean::cnstr_set(x_12, 3, x_0); +return x_12; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_25; obj* x_28; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_28 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_28, 0, x_25); -x_23 = x_28; -goto lbl_24; -} -case 3: -{ -obj* x_29; -x_29 = lean::box(0); -x_23 = x_29; -goto lbl_24; -} -default: -{ -obj* x_31; -lean::dec(x_15); -x_31 = lean::box(0); -x_23 = x_31; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_32; obj* x_34; obj* x_35; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_37; -x_37 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -x_32 = x_37; -goto lbl_33; -} -else -{ -obj* x_38; -x_38 = lean::cnstr_get(x_14, 0); -lean::inc(x_38); -lean::dec(x_14); -x_34 = x_37; -x_35 = x_38; -goto lbl_36; -} -} -else -{ -obj* x_41; -x_41 = lean::cnstr_get(x_14, 0); -lean::inc(x_41); -switch (lean::obj_tag(x_41)) { -case 0: -{ -obj* x_43; obj* x_46; obj* x_49; -x_43 = lean::cnstr_get(x_14, 1); -lean::inc(x_43); -lean::dec(x_14); -x_46 = lean::cnstr_get(x_41, 0); -lean::inc(x_46); -lean::dec(x_41); -x_49 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_49, 0, x_46); -if (lean::obj_tag(x_43) == 0) -{ -x_32 = x_49; -goto lbl_33; -} -else -{ -obj* x_50; -x_50 = lean::cnstr_get(x_43, 0); -lean::inc(x_50); -lean::dec(x_43); -x_34 = x_49; -x_35 = x_50; -goto lbl_36; -} -} -case 3: -{ -obj* x_53; obj* x_56; -x_53 = lean::cnstr_get(x_14, 1); -lean::inc(x_53); -lean::dec(x_14); -x_56 = lean::box(0); -if (lean::obj_tag(x_53) == 0) -{ -x_32 = x_56; -goto lbl_33; -} -else -{ -obj* x_57; -x_57 = lean::cnstr_get(x_53, 0); -lean::inc(x_57); -lean::dec(x_53); -x_34 = x_56; -x_35 = x_57; -goto lbl_36; -} -} -default: -{ -obj* x_61; obj* x_64; -lean::dec(x_41); -x_61 = lean::cnstr_get(x_14, 1); -lean::inc(x_61); -lean::dec(x_14); -x_64 = lean::box(0); -if (lean::obj_tag(x_61) == 0) -{ -x_32 = x_64; -goto lbl_33; -} -else -{ -obj* x_65; -x_65 = lean::cnstr_get(x_61, 0); -lean::inc(x_65); -lean::dec(x_61); -x_34 = x_64; -x_35 = x_65; -goto lbl_36; -} -} -} -} -lbl_33: -{ -obj* x_68; obj* x_69; -x_68 = lean::box(3); -x_69 = l_lean_parser_syntax_as__node___main(x_68); -if (lean::obj_tag(x_69) == 0) -{ -obj* x_70; obj* x_71; -x_70 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_71, 0, x_5); -lean::cnstr_set(x_71, 1, x_23); -lean::cnstr_set(x_71, 2, x_32); -lean::cnstr_set(x_71, 3, x_70); -return x_71; -} -else -{ -obj* x_72; obj* x_74; obj* x_75; -x_72 = lean::cnstr_get(x_69, 0); -if (lean::is_exclusive(x_69)) { - lean::cnstr_set(x_69, 0, lean::box(0)); - x_74 = x_69; +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_8); +x_18 = l_lean_parser_command_notation__spec_precedence_has__view; +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_7)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_72); - lean::dec(x_69); - x_74 = lean::box(0); + x_23 = x_7; } -x_75 = lean::cnstr_get(x_72, 1); -lean::inc(x_75); -lean::dec(x_72); -if (lean::obj_tag(x_75) == 0) -{ -obj* x_79; obj* x_80; -lean::dec(x_74); -x_79 = lean::box(0); -x_80 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_80, 0, x_5); -lean::cnstr_set(x_80, 1, x_23); -lean::cnstr_set(x_80, 2, x_32); -lean::cnstr_set(x_80, 3, x_79); -return x_80; +lean::cnstr_set(x_23, 0, x_22); +x_24 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_0); +lean::cnstr_set(x_24, 2, x_0); +lean::cnstr_set(x_24, 3, x_23); +return x_24; } else { -obj* x_81; -x_81 = lean::cnstr_get(x_75, 1); -lean::inc(x_81); -if (lean::obj_tag(x_81) == 0) -{ -obj* x_83; obj* x_86; obj* x_87; obj* x_90; obj* x_91; obj* x_92; -x_83 = lean::cnstr_get(x_75, 0); -lean::inc(x_83); -lean::dec(x_75); -x_86 = l_lean_parser_command_notation__spec_precedence_has__view; -x_87 = lean::cnstr_get(x_86, 0); -lean::inc(x_87); -lean::dec(x_86); -x_90 = lean::apply_1(x_87, x_83); -if (lean::is_scalar(x_74)) { - x_91 = lean::alloc_cnstr(1, 1, 0); -} else { - x_91 = x_74; -} -lean::cnstr_set(x_91, 0, x_90); -x_92 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_92, 0, x_5); -lean::cnstr_set(x_92, 1, x_23); -lean::cnstr_set(x_92, 2, x_32); -lean::cnstr_set(x_92, 3, x_91); -return x_92; -} -else -{ -obj* x_96; obj* x_97; -lean::dec(x_81); -lean::dec(x_75); -lean::dec(x_74); -x_96 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_97 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_97, 0, x_5); -lean::cnstr_set(x_97, 1, x_23); -lean::cnstr_set(x_97, 2, x_32); -lean::cnstr_set(x_97, 3, x_96); -return x_97; -} -} -} -} -lbl_36: -{ -obj* x_98; -x_98 = l_lean_parser_syntax_as__node___main(x_35); -if (lean::obj_tag(x_98) == 0) -{ -obj* x_99; obj* x_100; -x_99 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_100 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_100, 0, x_5); -lean::cnstr_set(x_100, 1, x_23); -lean::cnstr_set(x_100, 2, x_34); -lean::cnstr_set(x_100, 3, x_99); -return x_100; -} -else -{ -obj* x_101; obj* x_103; obj* x_104; -x_101 = lean::cnstr_get(x_98, 0); -if (lean::is_exclusive(x_98)) { - lean::cnstr_set(x_98, 0, lean::box(0)); - x_103 = x_98; -} else { - lean::inc(x_101); - lean::dec(x_98); - x_103 = lean::box(0); -} -x_104 = lean::cnstr_get(x_101, 1); -lean::inc(x_104); -lean::dec(x_101); -if (lean::obj_tag(x_104) == 0) -{ -obj* x_108; obj* x_109; -lean::dec(x_103); -x_108 = lean::box(0); -x_109 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_109, 0, x_5); -lean::cnstr_set(x_109, 1, x_23); -lean::cnstr_set(x_109, 2, x_34); -lean::cnstr_set(x_109, 3, x_108); -return x_109; -} -else -{ -obj* x_110; -x_110 = lean::cnstr_get(x_104, 1); -lean::inc(x_110); -if (lean::obj_tag(x_110) == 0) -{ -obj* x_112; obj* x_115; obj* x_116; obj* x_119; obj* x_120; obj* x_121; -x_112 = lean::cnstr_get(x_104, 0); -lean::inc(x_112); -lean::dec(x_104); -x_115 = l_lean_parser_command_notation__spec_precedence_has__view; -x_116 = lean::cnstr_get(x_115, 0); -lean::inc(x_116); -lean::dec(x_115); -x_119 = lean::apply_1(x_116, x_112); -if (lean::is_scalar(x_103)) { - x_120 = lean::alloc_cnstr(1, 1, 0); -} else { - x_120 = x_103; -} -lean::cnstr_set(x_120, 0, x_119); -x_121 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_121, 0, x_5); -lean::cnstr_set(x_121, 1, x_23); -lean::cnstr_set(x_121, 2, x_34); -lean::cnstr_set(x_121, 3, x_120); -return x_121; -} -else -{ -obj* x_125; obj* x_126; -lean::dec(x_110); -lean::dec(x_104); -lean::dec(x_103); -x_125 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_126 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_126, 0, x_5); -lean::cnstr_set(x_126, 1, x_23); -lean::cnstr_set(x_126, 2, x_34); -lean::cnstr_set(x_126, 3, x_125); -return x_126; -} -} -} -} -} +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_8); +lean::dec(x_13); +x_28 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; +x_29 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_29, 0, x_0); +lean::cnstr_set(x_29, 1, x_0); +lean::cnstr_set(x_29, 2, x_0); +lean::cnstr_set(x_29, 3, x_28); +return x_29; } } } @@ -8147,61 +7418,16 @@ return x_1; obj* _init_l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__spec_symbol__quote_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -obj* x_16; obj* x_17; obj* x_20; obj* x_21; -x_16 = l_lean_parser_command_notation__spec_symbol__quote_has__view; -x_17 = lean::cnstr_get(x_16, 0); -lean::inc(x_17); -lean::dec(x_16); -x_20 = lean::apply_1(x_17, x_0); -x_21 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_21, 0, x_20); -return x_21; -} -} +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__3() { @@ -8225,204 +7451,215 @@ return x_10; obj* l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__3; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__3; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -obj* x_76; obj* x_77; obj* x_80; obj* x_81; -x_76 = l_lean_parser_command_notation__spec_symbol__quote_has__view; -x_77 = lean::cnstr_get(x_76, 0); -lean::inc(x_77); -lean::dec(x_76); -x_80 = lean::apply_1(x_77, x_1); -x_81 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_81, 0, x_80); -return x_81; +obj* x_73; obj* x_74; obj* x_77; obj* x_78; +lean::dec(x_26); +x_73 = l_lean_parser_command_notation__spec_symbol__quote_has__view; +x_74 = lean::cnstr_get(x_73, 0); +lean::inc(x_74); +lean::dec(x_73); +x_77 = lean::apply_1(x_74, x_56); +x_78 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_78, 0, x_77); +return x_78; +} +} +else +{ +obj* x_83; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_83 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_83; +} +} +} +} +} +} +} +else +{ +obj* x_86; +lean::dec(x_8); +lean::dec(x_17); +x_86 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view_x_27___lambda__1___closed__2; +return x_86; +} +} } } } @@ -8651,398 +7888,18 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_fold__action__folder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; -x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_34; -x_34 = lean::box(3); -x_31 = x_14; -x_32 = x_34; -goto lbl_33; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_14, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_14, 1); -lean::inc(x_37); -lean::dec(x_14); -x_31 = x_37; -x_32 = x_35; -goto lbl_33; -} -lbl_33: -{ -obj* x_40; -switch (lean::obj_tag(x_32)) { -case 1: -{ -obj* x_42; -x_42 = lean::cnstr_get(x_32, 0); -lean::inc(x_42); -lean::dec(x_32); -x_40 = x_42; -goto lbl_41; -} -case 3: -{ -obj* x_45; -x_45 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_40 = x_45; -goto lbl_41; -} -default: -{ -obj* x_47; -lean::dec(x_32); -x_47 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_40 = x_47; -goto lbl_41; -} -} -lbl_41: -{ -obj* x_48; obj* x_49; obj* x_50; obj* x_52; obj* x_53; -if (lean::obj_tag(x_31) == 0) -{ -obj* x_55; -x_55 = lean::box(3); -x_52 = x_31; -x_53 = x_55; -goto lbl_54; -} -else -{ -obj* x_56; obj* x_58; -x_56 = lean::cnstr_get(x_31, 0); -lean::inc(x_56); -x_58 = lean::cnstr_get(x_31, 1); -lean::inc(x_58); -lean::dec(x_31); -x_52 = x_58; -x_53 = x_56; -goto lbl_54; -} -lbl_51: -{ -if (lean::obj_tag(x_50) == 0) -{ -obj* x_61; obj* x_62; -x_61 = lean::box(0); -x_62 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_62, 0, x_5); -lean::cnstr_set(x_62, 1, x_23); -lean::cnstr_set(x_62, 2, x_40); -lean::cnstr_set(x_62, 3, x_48); -lean::cnstr_set(x_62, 4, x_49); -lean::cnstr_set(x_62, 5, x_61); -return x_62; -} -else -{ -obj* x_63; -x_63 = lean::cnstr_get(x_50, 0); -lean::inc(x_63); -lean::dec(x_50); -switch (lean::obj_tag(x_63)) { -case 0: -{ -obj* x_66; obj* x_69; obj* x_70; -x_66 = lean::cnstr_get(x_63, 0); -lean::inc(x_66); -lean::dec(x_63); -x_69 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_69, 0, x_66); -x_70 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_70, 0, x_5); -lean::cnstr_set(x_70, 1, x_23); -lean::cnstr_set(x_70, 2, x_40); -lean::cnstr_set(x_70, 3, x_48); -lean::cnstr_set(x_70, 4, x_49); -lean::cnstr_set(x_70, 5, x_69); -return x_70; -} -case 3: -{ -obj* x_71; obj* x_72; -x_71 = lean::box(0); -x_72 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_72, 0, x_5); -lean::cnstr_set(x_72, 1, x_23); -lean::cnstr_set(x_72, 2, x_40); -lean::cnstr_set(x_72, 3, x_48); -lean::cnstr_set(x_72, 4, x_49); -lean::cnstr_set(x_72, 5, x_71); -return x_72; -} -default: -{ -obj* x_74; obj* x_75; -lean::dec(x_63); -x_74 = lean::box(0); -x_75 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_75, 0, x_5); -lean::cnstr_set(x_75, 1, x_23); -lean::cnstr_set(x_75, 2, x_40); -lean::cnstr_set(x_75, 3, x_48); -lean::cnstr_set(x_75, 4, x_49); -lean::cnstr_set(x_75, 5, x_74); -return x_75; -} -} -} -} -lbl_54: -{ -obj* x_76; -switch (lean::obj_tag(x_53)) { -case 0: -{ -obj* x_78; obj* x_81; -x_78 = lean::cnstr_get(x_53, 0); -lean::inc(x_78); -lean::dec(x_53); -x_81 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_81, 0, x_78); -if (lean::obj_tag(x_52) == 0) -{ -x_76 = x_81; -goto lbl_77; -} -else -{ -obj* x_82; obj* x_84; -x_82 = lean::cnstr_get(x_52, 0); -lean::inc(x_82); -x_84 = lean::cnstr_get(x_52, 1); -lean::inc(x_84); -lean::dec(x_52); -x_48 = x_81; -x_49 = x_82; -x_50 = x_84; -goto lbl_51; -} -} -case 3: -{ -obj* x_87; -x_87 = lean::box(0); -if (lean::obj_tag(x_52) == 0) -{ -x_76 = x_87; -goto lbl_77; -} -else -{ -obj* x_88; obj* x_90; -x_88 = lean::cnstr_get(x_52, 0); -lean::inc(x_88); -x_90 = lean::cnstr_get(x_52, 1); -lean::inc(x_90); -lean::dec(x_52); -x_48 = x_87; -x_49 = x_88; -x_50 = x_90; -goto lbl_51; -} -} -default: -{ -obj* x_94; -lean::dec(x_53); -x_94 = lean::box(0); -if (lean::obj_tag(x_52) == 0) -{ -x_76 = x_94; -goto lbl_77; -} -else -{ -obj* x_95; obj* x_97; -x_95 = lean::cnstr_get(x_52, 0); -lean::inc(x_95); -x_97 = lean::cnstr_get(x_52, 1); -lean::inc(x_97); -lean::dec(x_52); -x_48 = x_94; -x_49 = x_95; -x_50 = x_97; -goto lbl_51; -} -} -} -lbl_77: -{ -if (lean::obj_tag(x_52) == 0) -{ -obj* x_100; obj* x_101; obj* x_102; -x_100 = lean::box(0); -x_101 = lean::box(3); -x_102 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_102, 0, x_5); -lean::cnstr_set(x_102, 1, x_23); -lean::cnstr_set(x_102, 2, x_40); -lean::cnstr_set(x_102, 3, x_76); -lean::cnstr_set(x_102, 4, x_101); -lean::cnstr_set(x_102, 5, x_100); -return x_102; -} -else -{ -obj* x_103; -x_103 = lean::cnstr_get(x_52, 0); -lean::inc(x_103); -lean::dec(x_52); -switch (lean::obj_tag(x_103)) { -case 0: -{ -obj* x_106; obj* x_109; obj* x_110; obj* x_111; -x_106 = lean::cnstr_get(x_103, 0); -lean::inc(x_106); -lean::dec(x_103); -x_109 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_109, 0, x_106); -x_110 = lean::box(3); -x_111 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_111, 0, x_5); -lean::cnstr_set(x_111, 1, x_23); -lean::cnstr_set(x_111, 2, x_40); -lean::cnstr_set(x_111, 3, x_76); -lean::cnstr_set(x_111, 4, x_110); -lean::cnstr_set(x_111, 5, x_109); -return x_111; -} -case 3: -{ -obj* x_112; obj* x_113; obj* x_114; -x_112 = lean::box(0); -x_113 = lean::box(3); -x_114 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_114, 0, x_5); -lean::cnstr_set(x_114, 1, x_23); -lean::cnstr_set(x_114, 2, x_40); -lean::cnstr_set(x_114, 3, x_76); -lean::cnstr_set(x_114, 4, x_113); -lean::cnstr_set(x_114, 5, x_112); -return x_114; -} -default: -{ -obj* x_116; obj* x_117; obj* x_118; -lean::dec(x_103); -x_116 = lean::box(0); -x_117 = lean::box(3); -x_118 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_118, 0, x_5); -lean::cnstr_set(x_118, 1, x_23); -lean::cnstr_set(x_118, 2, x_40); -lean::cnstr_set(x_118, 3, x_76); -lean::cnstr_set(x_118, 4, x_117); -lean::cnstr_set(x_118, 5, x_116); -return x_118; -} -} -} -} -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::box(3); +x_3 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_1); +lean::cnstr_set(x_3, 3, x_0); +lean::cnstr_set(x_3, 4, x_2); +lean::cnstr_set(x_3, 5, x_0); +return x_3; } } obj* l_lean_parser_command_notation__spec_fold__action__folder_has__view_x_27___lambda__1(obj* x_0) { @@ -9760,312 +8617,29 @@ return x_5; obj* _init_l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); +obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_notation__spec_notation__symbol_has__view; +x_2 = lean::cnstr_get(x_1, 0); +lean::inc(x_2); lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_24; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_26; -x_26 = lean::box(3); -x_23 = x_14; -x_24 = x_26; -goto lbl_25; -} -else -{ -obj* x_27; obj* x_29; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -x_29 = lean::cnstr_get(x_14, 1); -lean::inc(x_29); -lean::dec(x_14); -x_23 = x_29; -x_24 = x_27; -goto lbl_25; -} -lbl_25: -{ -obj* x_32; obj* x_33; obj* x_37; obj* x_38; obj* x_39; -x_32 = l_lean_parser_command_notation__spec_notation__symbol_has__view; -x_33 = lean::cnstr_get(x_32, 0); -lean::inc(x_33); -lean::dec(x_32); -lean::inc(x_33); -x_37 = lean::apply_1(x_33, x_24); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_41; -x_41 = lean::box(3); -x_38 = x_23; -x_39 = x_41; -goto lbl_40; -} -else -{ -obj* x_42; obj* x_44; -x_42 = lean::cnstr_get(x_23, 0); -lean::inc(x_42); -x_44 = lean::cnstr_get(x_23, 1); -lean::inc(x_44); -lean::dec(x_23); -x_38 = x_44; -x_39 = x_42; -goto lbl_40; -} -lbl_40: -{ -obj* x_47; obj* x_48; obj* x_51; obj* x_52; obj* x_53; -x_47 = l_lean_parser_command_notation__spec_fold__action__folder_has__view; -x_48 = lean::cnstr_get(x_47, 0); -lean::inc(x_48); -lean::dec(x_47); -x_51 = lean::apply_1(x_48, x_39); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_55; -x_55 = lean::box(3); -x_52 = x_38; -x_53 = x_55; -goto lbl_54; -} -else -{ -obj* x_56; obj* x_58; -x_56 = lean::cnstr_get(x_38, 0); -lean::inc(x_56); -x_58 = lean::cnstr_get(x_38, 1); -lean::inc(x_58); -lean::dec(x_38); -x_52 = x_58; -x_53 = x_56; -goto lbl_54; -} -lbl_54: -{ -if (lean::obj_tag(x_52) == 0) -{ -lean::dec(x_33); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_62; obj* x_63; obj* x_64; -x_62 = lean::box(0); -x_63 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_64, 0, x_5); -lean::cnstr_set(x_64, 1, x_15); -lean::cnstr_set(x_64, 2, x_37); -lean::cnstr_set(x_64, 3, x_51); -lean::cnstr_set(x_64, 4, x_53); -lean::cnstr_set(x_64, 5, x_63); -lean::cnstr_set(x_64, 6, x_62); -return x_64; -} -else -{ -obj* x_65; -x_65 = lean::cnstr_get(x_52, 0); -lean::inc(x_65); -lean::dec(x_52); -switch (lean::obj_tag(x_65)) { -case 0: -{ -obj* x_68; obj* x_71; obj* x_72; obj* x_73; -x_68 = lean::cnstr_get(x_65, 0); -lean::inc(x_68); -lean::dec(x_65); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; -x_73 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_73, 0, x_5); -lean::cnstr_set(x_73, 1, x_15); -lean::cnstr_set(x_73, 2, x_37); -lean::cnstr_set(x_73, 3, x_51); -lean::cnstr_set(x_73, 4, x_53); -lean::cnstr_set(x_73, 5, x_72); -lean::cnstr_set(x_73, 6, x_71); -return x_73; -} -case 3: -{ -obj* x_74; obj* x_75; obj* x_76; -x_74 = lean::box(0); -x_75 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; -x_76 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_76, 0, x_5); -lean::cnstr_set(x_76, 1, x_15); -lean::cnstr_set(x_76, 2, x_37); -lean::cnstr_set(x_76, 3, x_51); -lean::cnstr_set(x_76, 4, x_53); -lean::cnstr_set(x_76, 5, x_75); -lean::cnstr_set(x_76, 6, x_74); -return x_76; -} -default: -{ -obj* x_78; obj* x_79; obj* x_80; -lean::dec(x_65); -x_78 = lean::box(0); -x_79 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; -x_80 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_80, 0, x_5); -lean::cnstr_set(x_80, 1, x_15); -lean::cnstr_set(x_80, 2, x_37); -lean::cnstr_set(x_80, 3, x_51); -lean::cnstr_set(x_80, 4, x_53); -lean::cnstr_set(x_80, 5, x_79); -lean::cnstr_set(x_80, 6, x_78); -return x_80; -} -} -} -} -else -{ -obj* x_81; obj* x_83; obj* x_86; -x_81 = lean::cnstr_get(x_52, 0); -lean::inc(x_81); -x_83 = lean::cnstr_get(x_52, 1); -lean::inc(x_83); -lean::dec(x_52); -x_86 = lean::apply_1(x_33, x_81); -if (lean::obj_tag(x_83) == 0) -{ -obj* x_87; obj* x_88; -x_87 = lean::box(0); -x_88 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_88, 0, x_5); -lean::cnstr_set(x_88, 1, x_15); -lean::cnstr_set(x_88, 2, x_37); -lean::cnstr_set(x_88, 3, x_51); -lean::cnstr_set(x_88, 4, x_53); -lean::cnstr_set(x_88, 5, x_86); -lean::cnstr_set(x_88, 6, x_87); -return x_88; -} -else -{ -obj* x_89; -x_89 = lean::cnstr_get(x_83, 0); -lean::inc(x_89); -lean::dec(x_83); -switch (lean::obj_tag(x_89)) { -case 0: -{ -obj* x_92; obj* x_95; obj* x_96; -x_92 = lean::cnstr_get(x_89, 0); -lean::inc(x_92); -lean::dec(x_89); -x_95 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_95, 0, x_92); -x_96 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_96, 0, x_5); -lean::cnstr_set(x_96, 1, x_15); -lean::cnstr_set(x_96, 2, x_37); -lean::cnstr_set(x_96, 3, x_51); -lean::cnstr_set(x_96, 4, x_53); -lean::cnstr_set(x_96, 5, x_86); -lean::cnstr_set(x_96, 6, x_95); -return x_96; -} -case 3: -{ -obj* x_97; obj* x_98; -x_97 = lean::box(0); -x_98 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_98, 0, x_5); -lean::cnstr_set(x_98, 1, x_15); -lean::cnstr_set(x_98, 2, x_37); -lean::cnstr_set(x_98, 3, x_51); -lean::cnstr_set(x_98, 4, x_53); -lean::cnstr_set(x_98, 5, x_86); -lean::cnstr_set(x_98, 6, x_97); -return x_98; -} -default: -{ -obj* x_100; obj* x_101; -lean::dec(x_89); -x_100 = lean::box(0); -x_101 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_101, 0, x_5); -lean::cnstr_set(x_101, 1, x_15); -lean::cnstr_set(x_101, 2, x_37); -lean::cnstr_set(x_101, 3, x_51); -lean::cnstr_set(x_101, 4, x_53); -lean::cnstr_set(x_101, 5, x_86); -lean::cnstr_set(x_101, 6, x_100); -return x_101; -} -} -} -} -} -} -} -} -} -} +x_5 = lean::box(3); +x_6 = lean::apply_1(x_2, x_5); +x_7 = l_lean_parser_command_notation__spec_fold__action__folder_has__view; +x_8 = lean::cnstr_get(x_7, 0); +lean::inc(x_8); +lean::dec(x_7); +x_11 = lean::apply_1(x_8, x_5); +x_12 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; +x_13 = lean::alloc_cnstr(0, 7, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_5); +lean::cnstr_set(x_13, 2, x_6); +lean::cnstr_set(x_13, 3, x_11); +lean::cnstr_set(x_13, 4, x_5); +lean::cnstr_set(x_13, 5, x_12); +lean::cnstr_set(x_13, 6, x_0); +return x_13; } } obj* l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1(obj* x_0) { @@ -11317,470 +9891,88 @@ obj* _init_l_lean_parser_command_notation__spec_scoped__action_has__view_x_27___ _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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; +} else { + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -default: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ +lean::dec(x_8); +x_1 = x_0; +goto lbl_2; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_9, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_24; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_26; -x_26 = lean::box(3); -x_23 = x_14; -x_24 = x_26; -goto lbl_25; -} -else -{ -obj* x_27; obj* x_29; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -x_29 = lean::cnstr_get(x_14, 1); -lean::inc(x_29); -lean::dec(x_14); -x_23 = x_29; -x_24 = x_27; -goto lbl_25; -} -lbl_25: -{ -obj* x_32; obj* x_34; -x_34 = l_lean_parser_syntax_as__node___main(x_24); -if (lean::obj_tag(x_34) == 0) -{ -obj* x_35; -x_35 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_32 = x_35; -goto lbl_33; -} -else -{ -obj* x_36; obj* x_38; obj* x_39; -x_36 = lean::cnstr_get(x_34, 0); -if (lean::is_exclusive(x_34)) { - lean::cnstr_set(x_34, 0, lean::box(0)); - x_38 = x_34; +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = l_lean_parser_command_notation__spec_precedence_has__view; +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)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_36); - lean::dec(x_34); - x_38 = lean::box(0); + x_23 = x_8; } -x_39 = lean::cnstr_get(x_36, 1); -lean::inc(x_39); -lean::dec(x_36); -if (lean::obj_tag(x_39) == 0) -{ -obj* x_43; -lean::dec(x_38); -x_43 = lean::box(0); -x_32 = x_43; -goto lbl_33; +lean::cnstr_set(x_23, 0, x_22); +x_1 = x_23; +goto lbl_2; } else { -obj* x_44; -x_44 = lean::cnstr_get(x_39, 1); -lean::inc(x_44); -if (lean::obj_tag(x_44) == 0) +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_9); +x_27 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; +x_1 = x_27; +goto lbl_2; +} +} +} +lbl_2: { -obj* x_46; obj* x_49; obj* x_50; obj* x_53; obj* x_54; -x_46 = lean::cnstr_get(x_39, 0); -lean::inc(x_46); -lean::dec(x_39); -x_49 = l_lean_parser_command_notation__spec_precedence_has__view; -x_50 = lean::cnstr_get(x_49, 0); -lean::inc(x_50); -lean::dec(x_49); -x_53 = lean::apply_1(x_50, x_46); -if (lean::is_scalar(x_38)) { - x_54 = lean::alloc_cnstr(1, 1, 0); -} else { - x_54 = x_38; -} -lean::cnstr_set(x_54, 0, x_53); -x_32 = x_54; -goto lbl_33; -} -else -{ -obj* x_58; -lean::dec(x_44); -lean::dec(x_38); -lean::dec(x_39); -x_58 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_32 = x_58; -goto lbl_33; -} -} -} -lbl_33: -{ -obj* x_59; obj* x_60; -if (lean::obj_tag(x_23) == 0) -{ -obj* x_62; -x_62 = lean::box(3); -x_59 = x_23; -x_60 = x_62; -goto lbl_61; -} -else -{ -obj* x_63; obj* x_65; -x_63 = lean::cnstr_get(x_23, 0); -lean::inc(x_63); -x_65 = lean::cnstr_get(x_23, 1); -lean::inc(x_65); -lean::dec(x_23); -x_59 = x_65; -x_60 = x_63; -goto lbl_61; -} -lbl_61: -{ -obj* x_68; -switch (lean::obj_tag(x_60)) { -case 1: -{ -obj* x_70; -x_70 = lean::cnstr_get(x_60, 0); -lean::inc(x_70); -lean::dec(x_60); -x_68 = x_70; -goto lbl_69; -} -case 3: -{ -obj* x_73; -x_73 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_68 = x_73; -goto lbl_69; -} -default: -{ -obj* x_75; -lean::dec(x_60); -x_75 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_68 = x_75; -goto lbl_69; -} -} -lbl_69: -{ -obj* x_76; obj* x_77; obj* x_78; obj* x_80; obj* x_81; -if (lean::obj_tag(x_59) == 0) -{ -obj* x_83; -x_83 = lean::box(3); -x_80 = x_59; -x_81 = x_83; -goto lbl_82; -} -else -{ -obj* x_84; obj* x_86; -x_84 = lean::cnstr_get(x_59, 0); -lean::inc(x_84); -x_86 = lean::cnstr_get(x_59, 1); -lean::inc(x_86); -lean::dec(x_59); -x_80 = x_86; -x_81 = x_84; -goto lbl_82; -} -lbl_79: -{ -if (lean::obj_tag(x_78) == 0) -{ -obj* x_89; obj* x_90; -x_89 = lean::box(0); -x_90 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_90, 0, x_5); -lean::cnstr_set(x_90, 1, x_15); -lean::cnstr_set(x_90, 2, x_32); -lean::cnstr_set(x_90, 3, x_68); -lean::cnstr_set(x_90, 4, x_76); -lean::cnstr_set(x_90, 5, x_77); -lean::cnstr_set(x_90, 6, x_89); -return x_90; -} -else -{ -obj* x_91; -x_91 = lean::cnstr_get(x_78, 0); -lean::inc(x_91); -lean::dec(x_78); -switch (lean::obj_tag(x_91)) { -case 0: -{ -obj* x_94; obj* x_97; obj* x_98; -x_94 = lean::cnstr_get(x_91, 0); -lean::inc(x_94); -lean::dec(x_91); -x_97 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_97, 0, x_94); -x_98 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_98, 0, x_5); -lean::cnstr_set(x_98, 1, x_15); -lean::cnstr_set(x_98, 2, x_32); -lean::cnstr_set(x_98, 3, x_68); -lean::cnstr_set(x_98, 4, x_76); -lean::cnstr_set(x_98, 5, x_77); -lean::cnstr_set(x_98, 6, x_97); -return x_98; -} -case 3: -{ -obj* x_99; obj* x_100; -x_99 = lean::box(0); -x_100 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_100, 0, x_5); -lean::cnstr_set(x_100, 1, x_15); -lean::cnstr_set(x_100, 2, x_32); -lean::cnstr_set(x_100, 3, x_68); -lean::cnstr_set(x_100, 4, x_76); -lean::cnstr_set(x_100, 5, x_77); -lean::cnstr_set(x_100, 6, x_99); -return x_100; -} -default: -{ -obj* x_102; obj* x_103; -lean::dec(x_91); -x_102 = lean::box(0); -x_103 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_103, 0, x_5); -lean::cnstr_set(x_103, 1, x_15); -lean::cnstr_set(x_103, 2, x_32); -lean::cnstr_set(x_103, 3, x_68); -lean::cnstr_set(x_103, 4, x_76); -lean::cnstr_set(x_103, 5, x_77); -lean::cnstr_set(x_103, 6, x_102); -return x_103; -} -} -} -} -lbl_82: -{ -obj* x_104; -switch (lean::obj_tag(x_81)) { -case 0: -{ -obj* x_106; obj* x_109; -x_106 = lean::cnstr_get(x_81, 0); -lean::inc(x_106); -lean::dec(x_81); -x_109 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_109, 0, x_106); -if (lean::obj_tag(x_80) == 0) -{ -x_104 = x_109; -goto lbl_105; -} -else -{ -obj* x_110; obj* x_112; -x_110 = lean::cnstr_get(x_80, 0); -lean::inc(x_110); -x_112 = lean::cnstr_get(x_80, 1); -lean::inc(x_112); -lean::dec(x_80); -x_76 = x_109; -x_77 = x_110; -x_78 = x_112; -goto lbl_79; -} -} -case 3: -{ -obj* x_115; -x_115 = lean::box(0); -if (lean::obj_tag(x_80) == 0) -{ -x_104 = x_115; -goto lbl_105; -} -else -{ -obj* x_116; obj* x_118; -x_116 = lean::cnstr_get(x_80, 0); -lean::inc(x_116); -x_118 = lean::cnstr_get(x_80, 1); -lean::inc(x_118); -lean::dec(x_80); -x_76 = x_115; -x_77 = x_116; -x_78 = x_118; -goto lbl_79; -} -} -default: -{ -obj* x_122; -lean::dec(x_81); -x_122 = lean::box(0); -if (lean::obj_tag(x_80) == 0) -{ -x_104 = x_122; -goto lbl_105; -} -else -{ -obj* x_123; obj* x_125; -x_123 = lean::cnstr_get(x_80, 0); -lean::inc(x_123); -x_125 = lean::cnstr_get(x_80, 1); -lean::inc(x_125); -lean::dec(x_80); -x_76 = x_122; -x_77 = x_123; -x_78 = x_125; -goto lbl_79; -} -} -} -lbl_105: -{ -if (lean::obj_tag(x_80) == 0) -{ -obj* x_128; obj* x_129; obj* x_130; -x_128 = lean::box(0); -x_129 = lean::box(3); -x_130 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_130, 0, x_5); -lean::cnstr_set(x_130, 1, x_15); -lean::cnstr_set(x_130, 2, x_32); -lean::cnstr_set(x_130, 3, x_68); -lean::cnstr_set(x_130, 4, x_104); -lean::cnstr_set(x_130, 5, x_129); -lean::cnstr_set(x_130, 6, x_128); -return x_130; -} -else -{ -obj* x_131; -x_131 = lean::cnstr_get(x_80, 0); -lean::inc(x_131); -lean::dec(x_80); -switch (lean::obj_tag(x_131)) { -case 0: -{ -obj* x_134; obj* x_137; obj* x_138; obj* x_139; -x_134 = lean::cnstr_get(x_131, 0); -lean::inc(x_134); -lean::dec(x_131); -x_137 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_137, 0, x_134); -x_138 = lean::box(3); -x_139 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_139, 0, x_5); -lean::cnstr_set(x_139, 1, x_15); -lean::cnstr_set(x_139, 2, x_32); -lean::cnstr_set(x_139, 3, x_68); -lean::cnstr_set(x_139, 4, x_104); -lean::cnstr_set(x_139, 5, x_138); -lean::cnstr_set(x_139, 6, x_137); -return x_139; -} -case 3: -{ -obj* x_140; obj* x_141; obj* x_142; -x_140 = lean::box(0); -x_141 = lean::box(3); -x_142 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_142, 0, x_5); -lean::cnstr_set(x_142, 1, x_15); -lean::cnstr_set(x_142, 2, x_32); -lean::cnstr_set(x_142, 3, x_68); -lean::cnstr_set(x_142, 4, x_104); -lean::cnstr_set(x_142, 5, x_141); -lean::cnstr_set(x_142, 6, x_140); -return x_142; -} -default: -{ -obj* x_144; obj* x_145; obj* x_146; -lean::dec(x_131); -x_144 = lean::box(0); -x_145 = lean::box(3); -x_146 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_146, 0, x_5); -lean::cnstr_set(x_146, 1, x_15); -lean::cnstr_set(x_146, 2, x_32); -lean::cnstr_set(x_146, 3, x_68); -lean::cnstr_set(x_146, 4, x_104); -lean::cnstr_set(x_146, 5, x_145); -lean::cnstr_set(x_146, 6, x_144); -return x_146; -} -} -} -} -} -} -} -} -} -} -} +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; } } } @@ -12664,76 +10856,16 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -lean::dec(x_1); -if (x_10 == 0) -{ -obj* x_12; obj* x_13; obj* x_16; obj* x_17; -x_12 = l_lean_parser_command_notation__spec_fold__action_has__view; -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -lean::dec(x_12); -x_16 = lean::apply_1(x_13, x_0); -x_17 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_17, 0, x_16); -return x_17; -} -else -{ -obj* x_18; obj* x_19; obj* x_22; obj* x_23; -x_18 = l_lean_parser_command_notation__spec_scoped__action_has__view; -x_19 = lean::cnstr_get(x_18, 0); -lean::inc(x_19); -lean::dec(x_18); -x_22 = lean::apply_1(x_19, x_0); -x_23 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_23, 0, x_22); -return x_23; -} -} -else -{ -obj* x_25; -lean::dec(x_1); -x_25 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_25, 0, x_0); -return x_25; -} -} -else -{ -obj* x_27; obj* x_28; obj* x_31; obj* x_32; -lean::dec(x_1); -x_27 = l_lean_parser_command_notation__spec_precedence__term_has__view; -x_28 = lean::cnstr_get(x_27, 0); -lean::inc(x_28); -lean::dec(x_27); -x_31 = lean::apply_1(x_28, x_0); -x_32 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_32, 0, x_31); -return x_32; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__spec_precedence__term_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__2() { @@ -12757,139 +10889,196 @@ return x_10; obj* l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +if (x_58 == 0) +{ +obj* x_59; uint8 x_60; +x_59 = lean::mk_nat_obj(2u); +x_60 = lean::nat_dec_eq(x_39, x_59); +lean::dec(x_39); +if (x_60 == 0) +{ +obj* x_62; obj* x_63; obj* x_66; obj* x_67; +x_62 = l_lean_parser_command_notation__spec_fold__action_has__view; +x_63 = lean::cnstr_get(x_62, 0); +lean::inc(x_63); +lean::dec(x_62); +x_66 = lean::apply_1(x_63, x_52); +x_67 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_67, 0, x_66); +return x_67; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_68; obj* x_69; obj* x_72; obj* x_73; +x_68 = l_lean_parser_command_notation__spec_scoped__action_has__view; +x_69 = lean::cnstr_get(x_68, 0); +lean::inc(x_69); +lean::dec(x_68); +x_72 = lean::apply_1(x_69, x_52); +x_73 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_73, 0, x_72); +return x_73; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_75; +lean::dec(x_39); +x_75 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_75, 0, x_52); +return x_75; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_77; obj* x_78; obj* x_81; obj* x_82; +lean::dec(x_39); +x_77 = l_lean_parser_command_notation__spec_precedence__term_has__view; +x_78 = lean::cnstr_get(x_77, 0); +lean::inc(x_78); +lean::dec(x_77); +x_81 = lean::apply_1(x_78, x_52); +x_82 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_82, 0, x_81); +return x_82; +} +} +else +{ +obj* x_86; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_86 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_86; } } } @@ -12899,79 +11088,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__1___closed__1; +return x_89; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) -{ -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -lean::dec(x_2); -if (x_70 == 0) -{ -obj* x_72; obj* x_73; obj* x_76; obj* x_77; -x_72 = l_lean_parser_command_notation__spec_fold__action_has__view; -x_73 = lean::cnstr_get(x_72, 0); -lean::inc(x_73); -lean::dec(x_72); -x_76 = lean::apply_1(x_73, x_1); -x_77 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_77, 0, x_76); -return x_77; -} -else -{ -obj* x_78; obj* x_79; obj* x_82; obj* x_83; -x_78 = l_lean_parser_command_notation__spec_scoped__action_has__view; -x_79 = lean::cnstr_get(x_78, 0); -lean::inc(x_79); -lean::dec(x_78); -x_82 = lean::apply_1(x_79, x_1); -x_83 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_83, 0, x_82); -return x_83; -} -} -else -{ -obj* x_85; -lean::dec(x_2); -x_85 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_85, 0, x_1); -return x_85; -} -} -else -{ -obj* x_87; obj* x_88; obj* x_91; obj* x_92; -lean::dec(x_2); -x_87 = l_lean_parser_command_notation__spec_precedence__term_has__view; -x_88 = lean::cnstr_get(x_87, 0); -lean::inc(x_88); -lean::dec(x_87); -x_91 = lean::apply_1(x_88, x_1); -x_92 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_92, 0, x_91); -return x_92; -} -} } } obj* l_lean_parser_command_notation__spec_action__kind_has__view_x_27___lambda__2(obj* x_0) { @@ -13141,104 +11266,9 @@ return x_7; obj* _init_l_lean_parser_command_notation__spec_action_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_5; obj* x_8; -x_5 = lean::cnstr_get(x_1, 0); -lean::inc(x_5); -lean::dec(x_1); -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_9; obj* x_10; -x_9 = l_lean_parser_command_notation__spec_action_has__view_x_27___lambda__1___closed__1; -x_10 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_9); -return x_10; -} -else -{ -obj* x_11; obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = l_lean_parser_command_notation__spec_action__kind_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_11); -x_19 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_19, 0, x_8); -lean::cnstr_set(x_19, 1, x_18); -return x_19; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = l_lean_parser_command_notation__spec_action_has__view_x_27___lambda__1___closed__2; -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_29; obj* x_30; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -lean::dec(x_0); -x_24 = lean::box(0); -x_25 = l_lean_parser_command_notation__spec_action__kind_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_21); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_24); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_32; -x_32 = l_lean_parser_command_notation__spec_action_has__view_x_27___lambda__1___closed__2; -return x_32; -} -else -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_41; obj* x_42; -x_33 = lean::cnstr_get(x_0, 0); -lean::inc(x_33); -lean::dec(x_0); -x_36 = lean::box(0); -x_37 = l_lean_parser_command_notation__spec_action__kind_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_33); -x_42 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_42, 0, x_36); -lean::cnstr_set(x_42, 1, x_41); -return x_42; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_notation__spec_action_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* l_lean_parser_command_notation__spec_action_has__view_x_27___lambda__1(obj* x_0) { @@ -13866,177 +11896,82 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -if (lean::obj_tag(x_0) == 0) -{ -obj* x_5; obj* x_6; -x_5 = lean::box(3); -x_6 = l_lean_parser_syntax_as__node___main(x_5); -if (lean::obj_tag(x_6) == 0) -{ -obj* x_7; obj* x_8; -x_7 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_1); -lean::cnstr_set(x_8, 1, x_7); -return x_8; +obj* x_2; obj* x_3; +x_2 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_2); +return x_3; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_11 = x_6; +obj* x_4; obj* x_6; obj* x_7; +x_4 = lean::cnstr_get(x_1, 0); +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_6 = x_1; } else { - lean::inc(x_9); - lean::dec(x_6); - x_11 = lean::box(0); + lean::inc(x_4); + lean::dec(x_1); + x_6 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_7 = lean::cnstr_get(x_4, 1); +lean::inc(x_7); +lean::dec(x_4); +if (lean::obj_tag(x_7) == 0) { -obj* x_16; obj* x_17; -lean::dec(x_11); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_1); -lean::cnstr_set(x_17, 1, x_16); -return x_17; +obj* x_11; obj* x_12; +lean::dec(x_6); +x_11 = lean::box(0); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } else { -obj* x_18; -x_18 = lean::cnstr_get(x_12, 1); -lean::inc(x_18); -if (lean::obj_tag(x_18) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_7, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 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_12, 0); -lean::inc(x_20); -lean::dec(x_12); -x_23 = l_lean_parser_command_notation__spec_precedence_has__view; -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_11)) { - x_28 = lean::alloc_cnstr(1, 1, 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_7, 0); +lean::inc(x_15); +lean::dec(x_7); +x_18 = l_lean_parser_command_notation__spec_precedence_has__view; +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_6)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_11; + x_23 = x_6; } -lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_23, 0, x_22); +x_24 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_23); +return x_24; +} +else +{ +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_6); +lean::dec(x_13); +x_28 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; x_29 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_29, 0, x_1); +lean::cnstr_set(x_29, 0, x_0); lean::cnstr_set(x_29, 1, x_28); return x_29; } -else -{ -obj* x_33; obj* x_34; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_18); -x_33 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_1); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -} -} -} -else -{ -obj* x_35; obj* x_38; -x_35 = lean::cnstr_get(x_0, 0); -lean::inc(x_35); -lean::dec(x_0); -x_38 = l_lean_parser_syntax_as__node___main(x_35); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_39; obj* x_40; -x_39 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_40 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_39); -return x_40; -} -else -{ -obj* x_41; obj* x_43; obj* x_44; -x_41 = lean::cnstr_get(x_38, 0); -if (lean::is_exclusive(x_38)) { - lean::cnstr_set(x_38, 0, lean::box(0)); - x_43 = x_38; -} else { - lean::inc(x_41); - lean::dec(x_38); - x_43 = lean::box(0); -} -x_44 = lean::cnstr_get(x_41, 1); -lean::inc(x_44); -lean::dec(x_41); -if (lean::obj_tag(x_44) == 0) -{ -obj* x_48; obj* x_49; -lean::dec(x_43); -x_48 = lean::box(0); -x_49 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_49, 0, x_1); -lean::cnstr_set(x_49, 1, x_48); -return x_49; -} -else -{ -obj* x_50; -x_50 = lean::cnstr_get(x_44, 1); -lean::inc(x_50); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_52; obj* x_55; obj* x_56; obj* x_59; obj* x_60; obj* x_61; -x_52 = lean::cnstr_get(x_44, 0); -lean::inc(x_52); -lean::dec(x_44); -x_55 = l_lean_parser_command_notation__spec_precedence_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_52); -if (lean::is_scalar(x_43)) { - x_60 = lean::alloc_cnstr(1, 1, 0); -} else { - x_60 = x_43; -} -lean::cnstr_set(x_60, 0, x_59); -x_61 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_61, 0, x_1); -lean::cnstr_set(x_61, 1, x_60); -return x_61; -} -else -{ -obj* x_65; obj* x_66; -lean::dec(x_44); -lean::dec(x_50); -lean::dec(x_43); -x_65 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_1); -lean::cnstr_set(x_66, 1, x_65); -return x_66; -} -} -} } } } @@ -14344,177 +12279,82 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_binders_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -if (lean::obj_tag(x_0) == 0) -{ -obj* x_5; obj* x_6; -x_5 = lean::box(3); -x_6 = l_lean_parser_syntax_as__node___main(x_5); -if (lean::obj_tag(x_6) == 0) -{ -obj* x_7; obj* x_8; -x_7 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_1); -lean::cnstr_set(x_8, 1, x_7); -return x_8; +obj* x_2; obj* x_3; +x_2 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_2); +return x_3; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_11 = x_6; +obj* x_4; obj* x_6; obj* x_7; +x_4 = lean::cnstr_get(x_1, 0); +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_6 = x_1; } else { - lean::inc(x_9); - lean::dec(x_6); - x_11 = lean::box(0); + lean::inc(x_4); + lean::dec(x_1); + x_6 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_7 = lean::cnstr_get(x_4, 1); +lean::inc(x_7); +lean::dec(x_4); +if (lean::obj_tag(x_7) == 0) { -obj* x_16; obj* x_17; -lean::dec(x_11); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_1); -lean::cnstr_set(x_17, 1, x_16); -return x_17; +obj* x_11; obj* x_12; +lean::dec(x_6); +x_11 = lean::box(0); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } else { -obj* x_18; -x_18 = lean::cnstr_get(x_12, 1); -lean::inc(x_18); -if (lean::obj_tag(x_18) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_7, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 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_12, 0); -lean::inc(x_20); -lean::dec(x_12); -x_23 = l_lean_parser_command_notation__spec_precedence_has__view; -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_11)) { - x_28 = lean::alloc_cnstr(1, 1, 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_7, 0); +lean::inc(x_15); +lean::dec(x_7); +x_18 = l_lean_parser_command_notation__spec_precedence_has__view; +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_6)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_11; + x_23 = x_6; } -lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_23, 0, x_22); +x_24 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_23); +return x_24; +} +else +{ +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_6); +lean::dec(x_13); +x_28 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; x_29 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_29, 0, x_1); +lean::cnstr_set(x_29, 0, x_0); lean::cnstr_set(x_29, 1, x_28); return x_29; } -else -{ -obj* x_33; obj* x_34; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_18); -x_33 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_1); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -} -} -} -else -{ -obj* x_35; obj* x_38; -x_35 = lean::cnstr_get(x_0, 0); -lean::inc(x_35); -lean::dec(x_0); -x_38 = l_lean_parser_syntax_as__node___main(x_35); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_39; obj* x_40; -x_39 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_40 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_39); -return x_40; -} -else -{ -obj* x_41; obj* x_43; obj* x_44; -x_41 = lean::cnstr_get(x_38, 0); -if (lean::is_exclusive(x_38)) { - lean::cnstr_set(x_38, 0, lean::box(0)); - x_43 = x_38; -} else { - lean::inc(x_41); - lean::dec(x_38); - x_43 = lean::box(0); -} -x_44 = lean::cnstr_get(x_41, 1); -lean::inc(x_44); -lean::dec(x_41); -if (lean::obj_tag(x_44) == 0) -{ -obj* x_48; obj* x_49; -lean::dec(x_43); -x_48 = lean::box(0); -x_49 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_49, 0, x_1); -lean::cnstr_set(x_49, 1, x_48); -return x_49; -} -else -{ -obj* x_50; -x_50 = lean::cnstr_get(x_44, 1); -lean::inc(x_50); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_52; obj* x_55; obj* x_56; obj* x_59; obj* x_60; obj* x_61; -x_52 = lean::cnstr_get(x_44, 0); -lean::inc(x_52); -lean::dec(x_44); -x_55 = l_lean_parser_command_notation__spec_precedence_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_52); -if (lean::is_scalar(x_43)) { - x_60 = lean::alloc_cnstr(1, 1, 0); -} else { - x_60 = x_43; -} -lean::cnstr_set(x_60, 0, x_59); -x_61 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_61, 0, x_1); -lean::cnstr_set(x_61, 1, x_60); -return x_61; -} -else -{ -obj* x_65; obj* x_66; -lean::dec(x_44); -lean::dec(x_50); -lean::dec(x_43); -x_65 = l_lean_parser_command_notation__spec_symbol__quote_has__view_x_27___lambda__1___closed__1; -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_1); -lean::cnstr_set(x_66, 1, x_65); -return x_66; -} -} -} } } } @@ -14966,291 +12806,9 @@ return x_6; obj* _init_l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; obj* x_11; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__4; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_7); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_16; obj* x_17; -x_14 = lean::cnstr_get(x_11, 0); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - x_16 = x_11; -} else { - lean::inc(x_14); - lean::dec(x_11); - x_16 = lean::box(0); -} -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_21; obj* x_22; -lean::dec(x_16); -x_21 = lean::box(0); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_7); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -else -{ -obj* x_23; -x_23 = lean::cnstr_get(x_17, 1); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_25; obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = l_lean_parser_command_notation__spec_action_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_25); -if (lean::is_scalar(x_16)) { - x_33 = lean::alloc_cnstr(1, 1, 0); -} else { - x_33 = x_16; -} -lean::cnstr_set(x_33, 0, x_32); -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_7); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -else -{ -obj* x_38; obj* x_39; -lean::dec(x_17); -lean::dec(x_23); -lean::dec(x_16); -x_38 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__4; -x_39 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_39, 0, x_7); -lean::cnstr_set(x_39, 1, x_38); -return x_39; -} -} -} -} -else -{ -obj* x_40; obj* x_43; obj* x_46; -x_40 = lean::cnstr_get(x_1, 0); -lean::inc(x_40); -lean::dec(x_1); -x_43 = lean::cnstr_get(x_0, 0); -lean::inc(x_43); -lean::dec(x_0); -x_46 = l_lean_parser_syntax_as__node___main(x_43); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_47; obj* x_48; -x_47 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__4; -x_48 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_48, 0, x_40); -lean::cnstr_set(x_48, 1, x_47); -return x_48; -} -else -{ -obj* x_49; obj* x_51; obj* x_52; -x_49 = lean::cnstr_get(x_46, 0); -if (lean::is_exclusive(x_46)) { - lean::cnstr_set(x_46, 0, lean::box(0)); - x_51 = x_46; -} else { - lean::inc(x_49); - lean::dec(x_46); - x_51 = lean::box(0); -} -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); -lean::dec(x_49); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -lean::dec(x_51); -x_56 = lean::box(0); -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_40); -lean::cnstr_set(x_57, 1, x_56); -return x_57; -} -else -{ -obj* x_58; -x_58 = lean::cnstr_get(x_52, 1); -lean::inc(x_58); -if (lean::obj_tag(x_58) == 0) -{ -obj* x_60; obj* x_63; obj* x_64; obj* x_67; obj* x_68; obj* x_69; -x_60 = lean::cnstr_get(x_52, 0); -lean::inc(x_60); -lean::dec(x_52); -x_63 = l_lean_parser_command_notation__spec_action_has__view; -x_64 = lean::cnstr_get(x_63, 0); -lean::inc(x_64); -lean::dec(x_63); -x_67 = lean::apply_1(x_64, x_60); -if (lean::is_scalar(x_51)) { - x_68 = lean::alloc_cnstr(1, 1, 0); -} else { - x_68 = x_51; -} -lean::cnstr_set(x_68, 0, x_67); -x_69 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_69, 0, x_40); -lean::cnstr_set(x_69, 1, x_68); -return x_69; -} -else -{ -obj* x_73; obj* x_74; -lean::dec(x_52); -lean::dec(x_58); -lean::dec(x_51); -x_73 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__4; -x_74 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_74, 0, x_40); -lean::cnstr_set(x_74, 1, x_73); -return x_74; -} -} -} -} -} -case 3: -{ -obj* x_75; -x_75 = lean::box(0); -x_5 = x_75; -goto lbl_6; -} -default: -{ -obj* x_77; -lean::dec(x_1); -x_77 = lean::box(0); -x_5 = x_77; -goto lbl_6; -} -} -lbl_6: -{ -lean::dec(x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_79; -x_79 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__3; -return x_79; -} -else -{ -obj* x_80; obj* x_83; -x_80 = lean::cnstr_get(x_0, 0); -lean::inc(x_80); -lean::dec(x_0); -x_83 = l_lean_parser_syntax_as__node___main(x_80); -if (lean::obj_tag(x_83) == 0) -{ -obj* x_84; -x_84 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__1; -return x_84; -} -else -{ -obj* x_85; obj* x_87; obj* x_88; -x_85 = lean::cnstr_get(x_83, 0); -if (lean::is_exclusive(x_83)) { - lean::cnstr_set(x_83, 0, lean::box(0)); - x_87 = x_83; -} else { - lean::inc(x_85); - lean::dec(x_83); - x_87 = lean::box(0); -} -x_88 = lean::cnstr_get(x_85, 1); -lean::inc(x_88); -lean::dec(x_85); -if (lean::obj_tag(x_88) == 0) -{ -obj* x_92; -lean::dec(x_87); -x_92 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__2; -return x_92; -} -else -{ -obj* x_93; -x_93 = lean::cnstr_get(x_88, 1); -lean::inc(x_93); -if (lean::obj_tag(x_93) == 0) -{ -obj* x_95; obj* x_98; obj* x_99; obj* x_102; obj* x_103; obj* x_104; obj* x_105; -x_95 = lean::cnstr_get(x_88, 0); -lean::inc(x_95); -lean::dec(x_88); -x_98 = l_lean_parser_command_notation__spec_action_has__view; -x_99 = lean::cnstr_get(x_98, 0); -lean::inc(x_99); -lean::dec(x_98); -x_102 = lean::apply_1(x_99, x_95); -if (lean::is_scalar(x_87)) { - x_103 = lean::alloc_cnstr(1, 1, 0); -} else { - x_103 = x_87; -} -lean::cnstr_set(x_103, 0, x_102); -x_104 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_105 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_105, 0, x_104); -lean::cnstr_set(x_105, 1, x_103); -return x_105; -} -else -{ -obj* x_109; -lean::dec(x_88); -lean::dec(x_93); -lean::dec(x_87); -x_109 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__1; -return x_109; -} -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1___closed__3; +return x_0; } } obj* l_lean_parser_command_notation__spec_argument_has__view_x_27___lambda__1(obj* x_0) { @@ -15667,62 +13225,16 @@ return x_10; obj* _init_l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -lean::dec(x_1); -if (x_8 == 0) -{ -obj* x_10; obj* x_11; obj* x_14; obj* x_15; -x_10 = l_lean_parser_command_notation__spec_argument_has__view; -x_11 = lean::cnstr_get(x_10, 0); -lean::inc(x_11); -lean::dec(x_10); -x_14 = lean::apply_1(x_11, x_0); -x_15 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_15, 0, x_14); -return x_15; -} -else -{ -obj* x_16; obj* x_17; obj* x_20; obj* x_21; -x_16 = l_lean_parser_command_notation__spec_binders_has__view; -x_17 = lean::cnstr_get(x_16, 0); -lean::inc(x_17); -lean::dec(x_16); -x_20 = lean::apply_1(x_17, x_0); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_20); -return x_21; -} -} -else -{ -obj* x_23; obj* x_24; obj* x_27; obj* x_28; -lean::dec(x_1); -x_23 = l_lean_parser_command_notation__spec_binder_has__view; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_0); -x_28 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_28, 0, x_27); -return x_28; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__spec_binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__2() { @@ -15746,139 +13258,182 @@ return x_10; obj* l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +lean::dec(x_39); +if (x_58 == 0) +{ +obj* x_60; obj* x_61; obj* x_64; obj* x_65; +x_60 = l_lean_parser_command_notation__spec_argument_has__view; +x_61 = lean::cnstr_get(x_60, 0); +lean::inc(x_61); +lean::dec(x_60); +x_64 = lean::apply_1(x_61, x_52); +x_65 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_65, 0, x_64); +return x_65; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_66; obj* x_67; obj* x_70; obj* x_71; +x_66 = l_lean_parser_command_notation__spec_binders_has__view; +x_67 = lean::cnstr_get(x_66, 0); +lean::inc(x_67); +lean::dec(x_66); +x_70 = lean::apply_1(x_67, x_52); +x_71 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_71, 0, x_70); +return x_71; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_73; obj* x_74; obj* x_77; obj* x_78; +lean::dec(x_39); +x_73 = l_lean_parser_command_notation__spec_binder_has__view; +x_74 = lean::cnstr_get(x_73, 0); +lean::inc(x_74); +lean::dec(x_73); +x_77 = lean::apply_1(x_74, x_52); +x_78 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_78, 0, x_77); +return x_78; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_82; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_82 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_82; } } } @@ -15888,65 +13443,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_85; +lean::dec(x_8); +lean::dec(x_17); +x_85 = l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__1___closed__1; +return x_85; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -lean::dec(x_2); -if (x_68 == 0) -{ -obj* x_70; obj* x_71; obj* x_74; obj* x_75; -x_70 = l_lean_parser_command_notation__spec_argument_has__view; -x_71 = lean::cnstr_get(x_70, 0); -lean::inc(x_71); -lean::dec(x_70); -x_74 = lean::apply_1(x_71, x_1); -x_75 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_75, 0, x_74); -return x_75; -} -else -{ -obj* x_76; obj* x_77; obj* x_80; obj* x_81; -x_76 = l_lean_parser_command_notation__spec_binders_has__view; -x_77 = lean::cnstr_get(x_76, 0); -lean::inc(x_77); -lean::dec(x_76); -x_80 = lean::apply_1(x_77, x_1); -x_81 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_81, 0, x_80); -return x_81; -} -} -else -{ -obj* x_83; obj* x_84; obj* x_87; obj* x_88; -lean::dec(x_2); -x_83 = l_lean_parser_command_notation__spec_binder_has__view; -x_84 = lean::cnstr_get(x_83, 0); -lean::inc(x_84); -lean::dec(x_83); -x_87 = lean::apply_1(x_84, x_1); -x_88 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_88, 0, x_87); -return x_88; -} -} } } obj* l_lean_parser_command_notation__spec_transition_has__view_x_27___lambda__2(obj* x_0) { @@ -16268,183 +13773,87 @@ return x_6; obj* _init_l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__spec_notation__symbol_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_5 = lean::apply_1(x_1, x_4); +x_6 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_5; obj* x_6; obj* x_9; -x_5 = l_lean_parser_command_notation__spec_notation__symbol_has__view; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -lean::dec(x_5); -x_9 = lean::apply_1(x_6, x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_10; obj* x_11; -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__1; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_9); -lean::cnstr_set(x_13, 1, x_12); -return x_13; +obj* x_7; obj* x_8; +x_7 = l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__1; +x_8 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_8, 0, x_5); +lean::cnstr_set(x_8, 1, x_7); +return x_8; } else { -obj* x_14; obj* x_16; obj* x_17; -x_14 = lean::cnstr_get(x_11, 0); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - x_16 = x_11; +obj* x_9; obj* x_11; obj* x_12; +x_9 = lean::cnstr_get(x_6, 0); +if (lean::is_exclusive(x_6)) { + lean::cnstr_set(x_6, 0, lean::box(0)); + x_11 = x_6; } else { - lean::inc(x_14); - lean::dec(x_11); - x_16 = lean::box(0); + lean::inc(x_9); + lean::dec(x_6); + x_11 = lean::box(0); } -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -if (lean::obj_tag(x_17) == 0) +x_12 = lean::cnstr_get(x_9, 1); +lean::inc(x_12); +lean::dec(x_9); +if (lean::obj_tag(x_12) == 0) { -obj* x_21; obj* x_22; -lean::dec(x_16); -x_21 = lean::box(0); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_9); -lean::cnstr_set(x_22, 1, x_21); -return x_22; +obj* x_16; obj* x_17; +lean::dec(x_11); +x_16 = lean::box(0); +x_17 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_17, 0, x_5); +lean::cnstr_set(x_17, 1, x_16); +return x_17; } else { -obj* x_23; -x_23 = lean::cnstr_get(x_17, 1); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) +obj* x_18; +x_18 = lean::cnstr_get(x_12, 1); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 0) { -obj* x_25; obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = l_lean_parser_command_notation__spec_transition_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_25); -if (lean::is_scalar(x_16)) { - x_33 = lean::alloc_cnstr(1, 1, 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_12, 0); +lean::inc(x_20); +lean::dec(x_12); +x_23 = l_lean_parser_command_notation__spec_transition_has__view; +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_11)) { + x_28 = lean::alloc_cnstr(1, 1, 0); } else { - x_33 = x_16; + x_28 = x_11; } -lean::cnstr_set(x_33, 0, x_32); +lean::cnstr_set(x_28, 0, x_27); +x_29 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_29, 0, x_5); +lean::cnstr_set(x_29, 1, x_28); +return x_29; +} +else +{ +obj* x_33; obj* x_34; +lean::dec(x_11); +lean::dec(x_12); +lean::dec(x_18); +x_33 = l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__1; x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_9); +lean::cnstr_set(x_34, 0, x_5); lean::cnstr_set(x_34, 1, x_33); return x_34; } -else -{ -obj* x_38; obj* x_39; -lean::dec(x_23); -lean::dec(x_16); -lean::dec(x_17); -x_38 = l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__1; -x_39 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_39, 0, x_9); -lean::cnstr_set(x_39, 1, x_38); -return x_39; -} -} -} -} -else -{ -obj* x_40; obj* x_43; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -lean::dec(x_0); -x_43 = l_lean_parser_syntax_as__node___main(x_40); -if (lean::obj_tag(x_43) == 0) -{ -obj* x_44; obj* x_45; -x_44 = l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__1; -x_45 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_45, 0, x_9); -lean::cnstr_set(x_45, 1, x_44); -return x_45; -} -else -{ -obj* x_46; obj* x_48; obj* x_49; -x_46 = lean::cnstr_get(x_43, 0); -if (lean::is_exclusive(x_43)) { - lean::cnstr_set(x_43, 0, lean::box(0)); - x_48 = x_43; -} else { - lean::inc(x_46); - lean::dec(x_43); - x_48 = lean::box(0); -} -x_49 = lean::cnstr_get(x_46, 1); -lean::inc(x_49); -lean::dec(x_46); -if (lean::obj_tag(x_49) == 0) -{ -obj* x_53; obj* x_54; -lean::dec(x_48); -x_53 = lean::box(0); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_9); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -else -{ -obj* x_55; -x_55 = lean::cnstr_get(x_49, 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; -x_57 = lean::cnstr_get(x_49, 0); -lean::inc(x_57); -lean::dec(x_49); -x_60 = l_lean_parser_command_notation__spec_transition_has__view; -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_48)) { - x_65 = lean::alloc_cnstr(1, 1, 0); -} else { - x_65 = x_48; -} -lean::cnstr_set(x_65, 0, x_64); -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_9); -lean::cnstr_set(x_66, 1, x_65); -return x_66; -} -else -{ -obj* x_70; obj* x_71; -lean::dec(x_48); -lean::dec(x_49); -lean::dec(x_55); -x_70 = l_lean_parser_command_notation__spec_rule_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_71, 0, x_9); -lean::cnstr_set(x_71, 1, x_70); -return x_71; -} -} -} } } } @@ -16857,54 +14266,48 @@ return x_1; obj* _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_2; obj* x_3; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; -x_2 = lean::box(0); -x_3 = lean::mk_string("NOT_AN_IDENT"); -lean::inc(x_3); -x_5 = l_lean_parser_substring_of__string(x_3); +obj* x_0; obj* x_1; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; +x_0 = lean::box(0); +x_1 = lean::mk_string("NOT_AN_IDENT"); +lean::inc(x_1); +x_3 = l_lean_parser_substring_of__string(x_1); +x_4 = lean::box(0); +x_5 = lean_name_mk_string(x_4, x_1); x_6 = lean::box(0); -x_7 = lean_name_mk_string(x_6, x_3); -x_8 = lean::box(0); -x_9 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_9, 0, x_2); -lean::cnstr_set(x_9, 1, x_5); -lean::cnstr_set(x_9, 2, x_7); -lean::cnstr_set(x_9, 3, x_8); -lean::cnstr_set(x_9, 4, x_8); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_9); -x_0 = x_10; -goto lbl_1; -lbl_1: +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_0); +lean::cnstr_set(x_7, 1, x_3); +lean::cnstr_set(x_7, 2, x_5); +lean::cnstr_set(x_7, 3, x_6); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_8, 0, x_7); +x_9 = lean::box(3); +x_10 = l_lean_parser_syntax_as__node___main(x_9); +if (lean::obj_tag(x_10) == 0) { obj* x_11; obj* x_12; -x_11 = lean::box(3); -x_12 = l_lean_parser_syntax_as__node___main(x_11); -if (lean::obj_tag(x_12) == 0) -{ -obj* x_13; obj* x_14; -x_13 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_14 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_14, 0, x_0); -lean::cnstr_set(x_14, 1, x_13); -return x_14; +x_11 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_8); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } else { -obj* x_15; obj* x_18; obj* x_21; obj* x_22; obj* x_23; -x_15 = lean::cnstr_get(x_12, 0); -lean::inc(x_15); -lean::dec(x_12); -x_18 = lean::cnstr_get(x_15, 1); -lean::inc(x_18); -lean::dec(x_15); -x_21 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_22 = l_list_map___main___rarg(x_21, x_18); -x_23 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_22); -return x_23; -} +obj* x_13; obj* x_16; obj* x_19; obj* x_20; obj* x_21; +x_13 = lean::cnstr_get(x_10, 0); +lean::inc(x_13); +lean::dec(x_10); +x_16 = lean::cnstr_get(x_13, 1); +lean::inc(x_16); +lean::dec(x_13); +x_19 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; +x_20 = l_list_map___main___rarg(x_19, x_16); +x_21 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_21, 0, x_8); +lean::cnstr_set(x_21, 1, x_20); +return x_21; } } } @@ -16933,598 +14336,406 @@ return x_8; obj* _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_2; obj* x_3; -x_2 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_3 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_3, 0, x_2); -x_0 = x_3; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_4; obj* x_5; -x_4 = lean::box(3); -x_5 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_6; obj* x_7; -x_6 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_7 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_7, 0, x_0); -lean::cnstr_set(x_7, 1, x_6); -return x_7; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_8; obj* x_11; obj* x_14; obj* x_15; obj* x_16; -x_8 = lean::cnstr_get(x_5, 0); +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); lean::inc(x_8); lean::dec(x_5); -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); -lean::dec(x_8); -x_14 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_15 = l_list_map___main___rarg(x_14, x_11); -x_16 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_16, 0, x_0); -lean::cnstr_set(x_16, 1, x_15); -return x_16; -} +x_11 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; +x_12 = l_list_map___main___rarg(x_11, x_8); +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_0); +lean::cnstr_set(x_13, 1, x_12); +return x_13; } } } obj* _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6() { _start: { -obj* x_0; obj* x_1; -x_0 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_1 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1, 0, x_0); -return x_1; -} -} -obj* _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7() { -_start: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: -{ -obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +obj* x_4; +x_4 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_7 = lean::cnstr_get(x_4, 0); +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); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_14 = l_list_map___main___rarg(x_13, x_10); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_14); -return x_15; -} -} -} -} -obj* _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__8() { -_start: +lean::dec(x_5); +if (lean::obj_tag(x_7) == 0) { -obj* x_0; obj* x_2; obj* x_3; obj* x_5; obj* x_6; obj* x_8; obj* x_9; -x_8 = lean::box(0); -x_9 = lean::box(3); -x_5 = x_8; -x_6 = x_9; -goto lbl_7; -lbl_1: -{ -obj* x_10; obj* x_11; -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_0); -lean::cnstr_set(x_13, 1, x_12); -return x_13; +obj* x_11; +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5; +return x_11; } else { -obj* x_14; obj* x_17; obj* x_20; obj* x_21; obj* x_22; -x_14 = lean::cnstr_get(x_11, 0); +obj* x_12; +x_12 = lean::cnstr_get(x_7, 1); +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); -lean::dec(x_11); -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); +switch (lean::obj_tag(x_14)) { +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_20 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_21 = l_list_map___main___rarg(x_20, x_17); +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_21; obj* x_22; +lean::dec(x_7); +x_21 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_0); +lean::cnstr_set(x_22, 0, x_19); lean::cnstr_set(x_22, 1, x_21); return x_22; } -} -lbl_4: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_24; obj* x_25; -x_24 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_25 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_25, 0, x_2); -lean::cnstr_set(x_25, 1, x_24); -return x_25; -} else { -obj* x_26; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_26 = lean::cnstr_get(x_23, 0); -lean::inc(x_26); -lean::dec(x_23); -x_29 = lean::cnstr_get(x_26, 1); -lean::inc(x_29); -lean::dec(x_26); -x_32 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_33 = l_list_map___main___rarg(x_32, x_29); -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_2); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -} -lbl_7: -{ -obj* x_35; obj* x_37; -x_37 = l_lean_parser_syntax_as__node___main(x_6); -if (lean::obj_tag(x_37) == 0) -{ -if (lean::obj_tag(x_5) == 0) -{ -obj* x_38; -x_38 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5; -return x_38; -} -else -{ -obj* x_39; obj* x_42; -x_39 = lean::cnstr_get(x_5, 0); -lean::inc(x_39); -lean::dec(x_5); -x_42 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; -x_2 = x_42; -x_3 = x_39; -goto lbl_4; -} -} -else -{ -obj* x_43; obj* x_45; obj* x_46; -x_43 = lean::cnstr_get(x_37, 0); -if (lean::is_exclusive(x_37)) { - lean::cnstr_set(x_37, 0, lean::box(0)); - x_45 = x_37; -} else { - lean::inc(x_43); - lean::dec(x_37); - x_45 = lean::box(0); -} -x_46 = lean::cnstr_get(x_43, 1); -lean::inc(x_46); -lean::dec(x_43); -if (lean::obj_tag(x_46) == 0) -{ -lean::dec(x_45); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_50; -x_50 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7; -return x_50; -} -else -{ -obj* x_51; obj* x_54; -x_51 = lean::cnstr_get(x_5, 0); -lean::inc(x_51); -lean::dec(x_5); -x_54 = lean::box(0); -x_2 = x_54; -x_3 = x_51; -goto lbl_4; -} -} -else -{ -obj* x_55; -x_55 = lean::cnstr_get(x_46, 1); -lean::inc(x_55); -if (lean::obj_tag(x_55) == 0) -{ -obj* x_57; -x_57 = lean::cnstr_get(x_46, 0); -lean::inc(x_57); -lean::dec(x_46); -switch (lean::obj_tag(x_57)) { -case 1: -{ -obj* x_60; obj* x_63; -x_60 = lean::cnstr_get(x_57, 0); -lean::inc(x_60); -lean::dec(x_57); -if (lean::is_scalar(x_45)) { - x_63 = lean::alloc_cnstr(1, 1, 0); -} else { - x_63 = x_45; -} -lean::cnstr_set(x_63, 0, x_60); -if (lean::obj_tag(x_5) == 0) -{ -x_0 = x_63; -goto lbl_1; -} -else -{ -obj* x_64; -x_64 = lean::cnstr_get(x_5, 0); -lean::inc(x_64); -lean::dec(x_5); -x_2 = x_63; -x_3 = x_64; -goto lbl_4; +obj* x_24; obj* x_25; obj* x_26; +lean::dec(x_3); +x_24 = l_lean_parser_command_notation__spec_has__view_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; } } case 3: { -obj* x_68; -lean::dec(x_45); -x_68 = lean::box(0); -x_35 = x_68; -goto lbl_36; +obj* x_29; +lean::dec(x_7); +lean::dec(x_3); +x_29 = lean::box(0); +x_0 = x_29; +goto lbl_1; } default: { -obj* x_71; -lean::dec(x_45); -lean::dec(x_57); -x_71 = lean::box(0); -x_35 = x_71; -goto lbl_36; +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; } } } else { -lean::dec(x_55); -lean::dec(x_45); -lean::dec(x_46); -if (lean::obj_tag(x_5) == 0) +obj* x_37; +lean::dec(x_12); +lean::dec(x_7); +lean::dec(x_3); +x_37 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; +return x_37; +} +} +} +lbl_1: { -obj* x_75; -x_75 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5; -return x_75; -} -else -{ -obj* x_76; obj* x_79; -x_76 = lean::cnstr_get(x_5, 0); -lean::inc(x_76); -lean::dec(x_5); -x_79 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; -x_2 = x_79; -x_3 = x_76; -goto lbl_4; -} -} -} -} -lbl_36: -{ -lean::dec(x_35); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_81; -x_81 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; -return x_81; -} -else -{ -obj* x_82; obj* x_85; -x_82 = lean::cnstr_get(x_5, 0); -lean::inc(x_82); -lean::dec(x_5); -x_85 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; -x_2 = x_85; -x_3 = x_82; -goto lbl_4; -} -} +obj* x_39; +lean::dec(x_0); +x_39 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; +return x_39; } } } obj* l_lean_parser_command_notation__spec_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_3; obj* x_4; obj* x_6; obj* x_7; obj* x_9; -x_9 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_9) == 0) +obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; +x_7 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_7) == 0) { -obj* x_10; -x_10 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__8; -return x_10; +obj* x_8; +x_8 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; +return x_8; } else { -obj* x_11; obj* x_14; -x_11 = lean::cnstr_get(x_9, 0); -lean::inc(x_11); +obj* x_9; obj* x_12; +x_9 = lean::cnstr_get(x_7, 0); +lean::inc(x_9); +lean::dec(x_7); +x_12 = lean::cnstr_get(x_9, 1); +lean::inc(x_12); lean::dec(x_9); -x_14 = lean::cnstr_get(x_11, 1); -lean::inc(x_14); -lean::dec(x_11); -if (lean::obj_tag(x_14) == 0) +if (lean::obj_tag(x_12) == 0) { -obj* x_17; -x_17 = lean::box(3); -x_6 = x_14; -x_7 = x_17; -goto lbl_8; +obj* x_15; +x_15 = lean::box(3); +x_4 = x_12; +x_5 = x_15; +goto lbl_6; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_14, 0); +obj* x_16; obj* x_18; +x_16 = lean::cnstr_get(x_12, 0); +lean::inc(x_16); +x_18 = lean::cnstr_get(x_12, 1); lean::inc(x_18); -x_20 = lean::cnstr_get(x_14, 1); -lean::inc(x_20); -lean::dec(x_14); -x_6 = x_20; -x_7 = x_18; -goto lbl_8; +lean::dec(x_12); +x_4 = x_18; +x_5 = x_16; +goto lbl_6; } } -lbl_2: +lbl_3: { -obj* x_23; obj* x_24; -x_23 = lean::box(3); -x_24 = l_lean_parser_syntax_as__node___main(x_23); -if (lean::obj_tag(x_24) == 0) +obj* x_21; +x_21 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_21) == 0) { -obj* x_25; obj* x_26; -x_25 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_26, 0, x_1); -lean::cnstr_set(x_26, 1, x_25); -return x_26; +obj* x_22; obj* x_23; +x_22 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; +x_23 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_23, 0, x_1); +lean::cnstr_set(x_23, 1, x_22); +return x_23; } else { -obj* x_27; obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_27 = lean::cnstr_get(x_24, 0); +obj* x_24; obj* x_27; obj* x_30; obj* x_31; obj* x_32; +x_24 = lean::cnstr_get(x_21, 0); +lean::inc(x_24); +lean::dec(x_21); +x_27 = lean::cnstr_get(x_24, 1); lean::inc(x_27); lean::dec(x_24); -x_30 = lean::cnstr_get(x_27, 1); -lean::inc(x_30); -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_34 = l_list_map___main___rarg(x_33, x_30); -x_35 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_35, 0, x_1); -lean::cnstr_set(x_35, 1, x_34); -return x_35; +x_30 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; +x_31 = l_list_map___main___rarg(x_30, x_27); +x_32 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_32, 0, x_1); +lean::cnstr_set(x_32, 1, x_31); +return x_32; } } -lbl_5: +lbl_6: +{ +obj* x_33; obj* x_35; +x_35 = l_lean_parser_syntax_as__node___main(x_5); +if (lean::obj_tag(x_35) == 0) +{ +if (lean::obj_tag(x_4) == 0) { obj* x_36; -x_36 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_36) == 0) -{ -obj* x_37; obj* x_38; -x_37 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_38, 0, x_3); -lean::cnstr_set(x_38, 1, x_37); -return x_38; +x_36 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; +return x_36; } else { -obj* x_39; obj* x_42; obj* x_45; obj* x_46; obj* x_47; -x_39 = lean::cnstr_get(x_36, 0); -lean::inc(x_39); -lean::dec(x_36); -x_42 = lean::cnstr_get(x_39, 1); -lean::inc(x_42); -lean::dec(x_39); -x_45 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; -x_46 = l_list_map___main___rarg(x_45, x_42); -x_47 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_47, 0, x_3); -lean::cnstr_set(x_47, 1, x_46); -return x_47; -} -} -lbl_8: -{ -obj* x_48; obj* x_50; -x_50 = l_lean_parser_syntax_as__node___main(x_7); -if (lean::obj_tag(x_50) == 0) -{ -if (lean::obj_tag(x_6) == 0) -{ -obj* x_51; -x_51 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5; -return x_51; -} -else -{ -obj* x_52; obj* x_55; -x_52 = lean::cnstr_get(x_6, 0); -lean::inc(x_52); -lean::dec(x_6); -x_55 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; -x_3 = x_55; -x_4 = x_52; -goto lbl_5; +obj* x_37; obj* x_40; +x_37 = lean::cnstr_get(x_4, 0); +lean::inc(x_37); +lean::dec(x_4); +x_40 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_1 = x_40; +x_2 = x_37; +goto lbl_3; } } else { -obj* x_56; obj* x_58; obj* x_59; -x_56 = lean::cnstr_get(x_50, 0); -if (lean::is_exclusive(x_50)) { - lean::cnstr_set(x_50, 0, lean::box(0)); - x_58 = x_50; +obj* x_41; obj* x_43; obj* x_44; +x_41 = lean::cnstr_get(x_35, 0); +if (lean::is_exclusive(x_35)) { + lean::cnstr_set(x_35, 0, lean::box(0)); + x_43 = x_35; } else { - lean::inc(x_56); - lean::dec(x_50); - x_58 = lean::box(0); + lean::inc(x_41); + lean::dec(x_35); + x_43 = lean::box(0); } -x_59 = lean::cnstr_get(x_56, 1); -lean::inc(x_59); -lean::dec(x_56); -if (lean::obj_tag(x_59) == 0) +x_44 = lean::cnstr_get(x_41, 1); +lean::inc(x_44); +lean::dec(x_41); +if (lean::obj_tag(x_44) == 0) { -lean::dec(x_58); -if (lean::obj_tag(x_6) == 0) +lean::dec(x_43); +if (lean::obj_tag(x_4) == 0) { -obj* x_63; -x_63 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7; -return x_63; +obj* x_48; +x_48 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5; +return x_48; } else { -obj* x_64; obj* x_67; -x_64 = lean::cnstr_get(x_6, 0); -lean::inc(x_64); -lean::dec(x_6); -x_67 = lean::box(0); -x_3 = x_67; -x_4 = x_64; -goto lbl_5; +obj* x_49; obj* x_52; +x_49 = lean::cnstr_get(x_4, 0); +lean::inc(x_49); +lean::dec(x_4); +x_52 = lean::box(0); +x_1 = x_52; +x_2 = x_49; +goto lbl_3; } } else { -obj* x_68; -x_68 = lean::cnstr_get(x_59, 1); -lean::inc(x_68); -if (lean::obj_tag(x_68) == 0) +obj* x_53; +x_53 = lean::cnstr_get(x_44, 1); +lean::inc(x_53); +if (lean::obj_tag(x_53) == 0) { -obj* x_70; -x_70 = lean::cnstr_get(x_59, 0); -lean::inc(x_70); -lean::dec(x_59); -switch (lean::obj_tag(x_70)) { +obj* x_55; +x_55 = lean::cnstr_get(x_44, 0); +lean::inc(x_55); +lean::dec(x_44); +switch (lean::obj_tag(x_55)) { case 1: { -obj* x_73; obj* x_76; -x_73 = lean::cnstr_get(x_70, 0); -lean::inc(x_73); -lean::dec(x_70); -if (lean::is_scalar(x_58)) { - x_76 = lean::alloc_cnstr(1, 1, 0); +obj* x_58; obj* x_61; +x_58 = lean::cnstr_get(x_55, 0); +lean::inc(x_58); +lean::dec(x_55); +if (lean::is_scalar(x_43)) { + x_61 = lean::alloc_cnstr(1, 1, 0); } else { - x_76 = x_58; + x_61 = x_43; } -lean::cnstr_set(x_76, 0, x_73); -if (lean::obj_tag(x_6) == 0) +lean::cnstr_set(x_61, 0, x_58); +if (lean::obj_tag(x_4) == 0) { -x_1 = x_76; -goto lbl_2; +obj* x_62; obj* x_63; +x_62 = lean::box(3); +x_63 = l_lean_parser_syntax_as__node___main(x_62); +if (lean::obj_tag(x_63) == 0) +{ +obj* x_64; obj* x_65; +x_64 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__1; +x_65 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_65, 0, x_61); +lean::cnstr_set(x_65, 1, x_64); +return x_65; } else { -obj* x_77; -x_77 = lean::cnstr_get(x_6, 0); -lean::inc(x_77); -lean::dec(x_6); -x_3 = x_76; -x_4 = x_77; -goto lbl_5; +obj* x_66; obj* x_69; obj* x_72; obj* x_73; obj* x_74; +x_66 = lean::cnstr_get(x_63, 0); +lean::inc(x_66); +lean::dec(x_63); +x_69 = lean::cnstr_get(x_66, 1); +lean::inc(x_69); +lean::dec(x_66); +x_72 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__2; +x_73 = l_list_map___main___rarg(x_72, x_69); +x_74 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_74, 0, x_61); +lean::cnstr_set(x_74, 1, x_73); +return x_74; +} +} +else +{ +obj* x_75; +x_75 = lean::cnstr_get(x_4, 0); +lean::inc(x_75); +lean::dec(x_4); +x_1 = x_61; +x_2 = x_75; +goto lbl_3; } } case 3: { -obj* x_81; -lean::dec(x_58); -x_81 = lean::box(0); -x_48 = x_81; -goto lbl_49; +obj* x_79; +lean::dec(x_43); +x_79 = lean::box(0); +x_33 = x_79; +goto lbl_34; } default: { -obj* x_84; -lean::dec(x_70); -lean::dec(x_58); -x_84 = lean::box(0); -x_48 = x_84; -goto lbl_49; +obj* x_82; +lean::dec(x_55); +lean::dec(x_43); +x_82 = lean::box(0); +x_33 = x_82; +goto lbl_34; } } } else { -lean::dec(x_68); -lean::dec(x_59); -lean::dec(x_58); -if (lean::obj_tag(x_6) == 0) +lean::dec(x_53); +lean::dec(x_43); +lean::dec(x_44); +if (lean::obj_tag(x_4) == 0) { -obj* x_88; -x_88 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5; -return x_88; +obj* x_86; +x_86 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; +return x_86; } else { -obj* x_89; obj* x_92; -x_89 = lean::cnstr_get(x_6, 0); -lean::inc(x_89); -lean::dec(x_6); -x_92 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6; -x_3 = x_92; -x_4 = x_89; -goto lbl_5; +obj* x_87; obj* x_90; +x_87 = lean::cnstr_get(x_4, 0); +lean::inc(x_87); +lean::dec(x_4); +x_90 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_1 = x_90; +x_2 = x_87; +goto lbl_3; } } } } -lbl_49: +lbl_34: { -lean::dec(x_48); -if (lean::obj_tag(x_6) == 0) +lean::dec(x_33); +if (lean::obj_tag(x_4) == 0) { -obj* x_94; -x_94 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; -return x_94; +obj* x_92; +x_92 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__3; +return x_92; } else { -obj* x_95; obj* x_98; -x_95 = lean::cnstr_get(x_6, 0); -lean::inc(x_95); -lean::dec(x_6); -x_98 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; -x_3 = x_98; -x_4 = x_95; -goto lbl_5; +obj* x_93; obj* x_96; +x_93 = lean::cnstr_get(x_4, 0); +lean::inc(x_93); +lean::dec(x_4); +x_96 = l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__4; +x_1 = x_96; +x_2 = x_93; +goto lbl_3; } } } @@ -18139,341 +15350,116 @@ return x_1; obj* _init_l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; -x_8 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_8; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_4; +goto lbl_1; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_7, 0); -if (lean::is_exclusive(x_7)) { - lean::cnstr_set(x_7, 0, lean::box(0)); - x_11 = x_7; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_3, 0); +if (lean::is_exclusive(x_3)) { + lean::cnstr_set(x_3, 0, lean::box(0)); + x_7 = x_3; } else { - lean::inc(x_9); - lean::dec(x_7); - x_11 = lean::box(0); + lean::inc(x_5); + lean::dec(x_3); + x_7 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_16; -lean::dec(x_11); -x_16 = lean::box(0); -x_5 = x_16; -goto lbl_6; +obj* x_12; +lean::dec(x_7); +x_12 = lean::box(0); +x_0 = x_12; +goto lbl_1; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_12, 1); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_19; -x_19 = lean::cnstr_get(x_12, 0); -lean::inc(x_19); -lean::dec(x_12); -switch (lean::obj_tag(x_19)) { +obj* x_15; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +switch (lean::obj_tag(x_15)) { case 0: { -obj* x_22; obj* x_25; obj* x_26; -x_22 = lean::cnstr_get(x_19, 0); -lean::inc(x_22); -lean::dec(x_19); -if (lean::is_scalar(x_11)) { - x_25 = lean::alloc_cnstr(1, 1, 0); +obj* x_18; obj* x_21; obj* x_22; +x_18 = lean::cnstr_get(x_15, 0); +lean::inc(x_18); +lean::dec(x_15); +if (lean::is_scalar(x_7)) { + x_21 = lean::alloc_cnstr(1, 1, 0); } else { - x_25 = x_11; + x_21 = x_7; } -lean::cnstr_set(x_25, 0, x_22); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_25); -x_5 = x_26; -goto lbl_6; +lean::cnstr_set(x_21, 0, x_18); +x_22 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_22, 0, x_21); +x_0 = x_22; +goto lbl_1; } case 3: { -obj* x_28; -lean::dec(x_11); -x_28 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_28; -goto lbl_6; +obj* x_24; +lean::dec(x_7); +x_24 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_24; +goto lbl_1; } default: { +obj* x_27; +lean::dec(x_7); +lean::dec(x_15); +x_27 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_27; +goto lbl_1; +} +} +} +else +{ obj* x_31; -lean::dec(x_19); -lean::dec(x_11); +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_7); x_31 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_31; -goto lbl_6; +x_0 = x_31; +goto lbl_1; } } } -else +lbl_1: { -obj* x_35; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_17); -x_35 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_35; -goto lbl_6; -} -} -} -lbl_6: -{ -obj* x_36; obj* x_37; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_39; -x_39 = lean::box(3); -x_36 = x_0; -x_37 = x_39; -goto lbl_38; -} -else -{ -obj* x_40; obj* x_42; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_0, 1); -lean::inc(x_42); -lean::dec(x_0); -x_36 = x_42; -x_37 = x_40; -goto lbl_38; -} -lbl_38: -{ -obj* x_45; -switch (lean::obj_tag(x_37)) { -case 0: -{ -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_37, 0); -lean::inc(x_47); -lean::dec(x_37); -x_50 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_50, 0, x_47); -x_45 = x_50; -goto lbl_46; -} -case 3: -{ -obj* x_51; -x_51 = lean::box(0); -x_45 = x_51; -goto lbl_46; -} -default: -{ -obj* x_53; -lean::dec(x_37); -x_53 = lean::box(0); -x_45 = x_53; -goto lbl_46; -} -} -lbl_46: -{ -obj* x_54; obj* x_55; -if (lean::obj_tag(x_36) == 0) -{ -obj* x_57; -x_57 = lean::box(3); -x_54 = x_36; -x_55 = x_57; -goto lbl_56; -} -else -{ -obj* x_58; obj* x_60; -x_58 = lean::cnstr_get(x_36, 0); -lean::inc(x_58); -x_60 = lean::cnstr_get(x_36, 1); -lean::inc(x_60); -lean::dec(x_36); -x_54 = x_60; -x_55 = x_58; -goto lbl_56; -} -lbl_56: -{ -obj* x_63; obj* x_64; obj* x_67; -x_63 = l_lean_parser_command_notation__spec_has__view; -x_64 = lean::cnstr_get(x_63, 0); -lean::inc(x_64); -lean::dec(x_63); -x_67 = lean::apply_1(x_64, x_55); -if (lean::obj_tag(x_54) == 0) -{ -obj* x_68; -x_68 = lean::box(0); -if (lean::obj_tag(x_54) == 0) -{ -obj* x_69; obj* x_70; -x_69 = lean::box(3); -x_70 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_70, 0, x_5); -lean::cnstr_set(x_70, 1, x_45); -lean::cnstr_set(x_70, 2, x_67); -lean::cnstr_set(x_70, 3, x_68); -lean::cnstr_set(x_70, 4, x_69); -return x_70; -} -else -{ -obj* x_71; obj* x_74; -x_71 = lean::cnstr_get(x_54, 0); -lean::inc(x_71); -lean::dec(x_54); -x_74 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_74, 0, x_5); -lean::cnstr_set(x_74, 1, x_45); -lean::cnstr_set(x_74, 2, x_67); -lean::cnstr_set(x_74, 3, x_68); -lean::cnstr_set(x_74, 4, x_71); -return x_74; -} -} -else -{ -obj* x_75; -x_75 = lean::cnstr_get(x_54, 0); -lean::inc(x_75); -switch (lean::obj_tag(x_75)) { -case 0: -{ -obj* x_77; obj* x_80; obj* x_83; -x_77 = lean::cnstr_get(x_54, 1); -lean::inc(x_77); -lean::dec(x_54); -x_80 = lean::cnstr_get(x_75, 0); -lean::inc(x_80); -lean::dec(x_75); -x_83 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_83, 0, x_80); -if (lean::obj_tag(x_77) == 0) -{ -obj* x_84; obj* x_85; -x_84 = lean::box(3); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_45); -lean::cnstr_set(x_85, 2, x_67); -lean::cnstr_set(x_85, 3, x_83); -lean::cnstr_set(x_85, 4, x_84); -return x_85; -} -else -{ -obj* x_86; obj* x_89; -x_86 = lean::cnstr_get(x_77, 0); -lean::inc(x_86); -lean::dec(x_77); -x_89 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_89, 0, x_5); -lean::cnstr_set(x_89, 1, x_45); -lean::cnstr_set(x_89, 2, x_67); -lean::cnstr_set(x_89, 3, x_83); -lean::cnstr_set(x_89, 4, x_86); -return x_89; -} -} -case 3: -{ -obj* x_90; obj* x_93; -x_90 = lean::cnstr_get(x_54, 1); -lean::inc(x_90); -lean::dec(x_54); -x_93 = lean::box(0); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_94; obj* x_95; -x_94 = lean::box(3); -x_95 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_95, 0, x_5); -lean::cnstr_set(x_95, 1, x_45); -lean::cnstr_set(x_95, 2, x_67); -lean::cnstr_set(x_95, 3, x_93); -lean::cnstr_set(x_95, 4, x_94); -return x_95; -} -else -{ -obj* x_96; obj* x_99; -x_96 = lean::cnstr_get(x_90, 0); -lean::inc(x_96); -lean::dec(x_90); -x_99 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_99, 0, x_5); -lean::cnstr_set(x_99, 1, x_45); -lean::cnstr_set(x_99, 2, x_67); -lean::cnstr_set(x_99, 3, x_93); -lean::cnstr_set(x_99, 4, x_96); -return x_99; -} -} -default: -{ -obj* x_101; obj* x_104; -lean::dec(x_75); -x_101 = lean::cnstr_get(x_54, 1); -lean::inc(x_101); -lean::dec(x_54); -x_104 = lean::box(0); -if (lean::obj_tag(x_101) == 0) -{ -obj* x_105; obj* x_106; -x_105 = lean::box(3); -x_106 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_106, 0, x_5); -lean::cnstr_set(x_106, 1, x_45); -lean::cnstr_set(x_106, 2, x_67); -lean::cnstr_set(x_106, 3, x_104); -lean::cnstr_set(x_106, 4, x_105); -return x_106; -} -else -{ -obj* x_107; obj* x_110; -x_107 = lean::cnstr_get(x_101, 0); -lean::inc(x_107); -lean::dec(x_101); -x_110 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_110, 0, x_5); -lean::cnstr_set(x_110, 1, x_45); -lean::cnstr_set(x_110, 2, x_67); -lean::cnstr_set(x_110, 3, x_104); -lean::cnstr_set(x_110, 4, x_107); -return x_110; -} -} -} -} -} -} -} -} +obj* x_32; obj* x_33; obj* x_34; obj* x_37; obj* x_38; obj* x_39; +x_32 = lean::box(0); +x_33 = l_lean_parser_command_notation__spec_has__view; +x_34 = lean::cnstr_get(x_33, 0); +lean::inc(x_34); +lean::dec(x_33); +x_37 = lean::box(3); +x_38 = lean::apply_1(x_34, x_37); +x_39 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_39, 0, x_0); +lean::cnstr_set(x_39, 1, x_32); +lean::cnstr_set(x_39, 2, x_38); +lean::cnstr_set(x_39, 3, x_32); +lean::cnstr_set(x_39, 4, x_37); +return x_39; } } } @@ -19423,174 +16409,14 @@ return x_5; obj* _init_l_lean_parser_command_reserve__notation_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_23; obj* x_26; -x_23 = lean::cnstr_get(x_15, 0); -lean::inc(x_23); -lean::dec(x_15); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_23); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_27; obj* x_28; -x_27 = l_lean_parser_command_reserve__notation_has__view_x_27___lambda__1___closed__1; -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_5); -lean::cnstr_set(x_28, 1, x_26); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -else -{ -obj* x_29; obj* x_32; obj* x_33; obj* x_36; obj* x_37; -x_29 = lean::cnstr_get(x_14, 0); -lean::inc(x_29); -lean::dec(x_14); -x_32 = l_lean_parser_command_notation__spec_has__view; -x_33 = lean::cnstr_get(x_32, 0); -lean::inc(x_33); -lean::dec(x_32); -x_36 = lean::apply_1(x_33, x_29); -x_37 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_37, 0, x_5); -lean::cnstr_set(x_37, 1, x_26); -lean::cnstr_set(x_37, 2, x_36); -return x_37; -} -} -case 3: -{ -obj* x_38; -x_38 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_39; obj* x_40; -x_39 = l_lean_parser_command_reserve__notation_has__view_x_27___lambda__1___closed__1; -x_40 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_40, 0, x_5); -lean::cnstr_set(x_40, 1, x_38); -lean::cnstr_set(x_40, 2, x_39); -return x_40; -} -else -{ -obj* x_41; obj* x_44; obj* x_45; obj* x_48; obj* x_49; -x_41 = lean::cnstr_get(x_14, 0); -lean::inc(x_41); -lean::dec(x_14); -x_44 = l_lean_parser_command_notation__spec_has__view; -x_45 = lean::cnstr_get(x_44, 0); -lean::inc(x_45); -lean::dec(x_44); -x_48 = lean::apply_1(x_45, x_41); -x_49 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_49, 0, x_5); -lean::cnstr_set(x_49, 1, x_38); -lean::cnstr_set(x_49, 2, x_48); -return x_49; -} -} -default: -{ -obj* x_51; -lean::dec(x_15); -x_51 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_52; obj* x_53; -x_52 = l_lean_parser_command_reserve__notation_has__view_x_27___lambda__1___closed__1; -x_53 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_51); -lean::cnstr_set(x_53, 2, x_52); -return x_53; -} -else -{ -obj* x_54; obj* x_57; obj* x_58; obj* x_61; obj* x_62; -x_54 = lean::cnstr_get(x_14, 0); -lean::inc(x_54); -lean::dec(x_14); -x_57 = l_lean_parser_command_notation__spec_has__view; -x_58 = lean::cnstr_get(x_57, 0); -lean::inc(x_58); -lean::dec(x_57); -x_61 = lean::apply_1(x_58, x_54); -x_62 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_62, 0, x_5); -lean::cnstr_set(x_62, 1, x_51); -lean::cnstr_set(x_62, 2, x_61); -return x_62; -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_reserve__notation_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_0); +lean::cnstr_set(x_2, 2, x_1); +return x_2; } } obj* l_lean_parser_command_reserve__notation_has__view_x_27___lambda__1(obj* x_0) { @@ -20262,190 +17088,9 @@ return x_1; obj* _init_l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -if (x_10 == 0) -{ -obj* x_11; uint8 x_12; -x_11 = lean::mk_nat_obj(3u); -x_12 = lean::nat_dec_eq(x_1, x_11); -lean::dec(x_1); -if (x_12 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_14; obj* x_17; obj* x_18; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -lean::dec(x_0); -x_17 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -x_18 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_18, 0, x_17); -return x_18; -} -case 3: -{ -obj* x_19; -x_19 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__1; -return x_19; -} -default: -{ -obj* x_21; -lean::dec(x_0); -x_21 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__1; -return x_21; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_22; obj* x_25; obj* x_26; -x_22 = lean::cnstr_get(x_0, 0); -lean::inc(x_22); -lean::dec(x_0); -x_25 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_25, 0, x_22); -x_26 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_26, 0, x_25); -return x_26; -} -case 3: -{ -obj* x_27; -x_27 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__2; -return x_27; -} -default: -{ -obj* x_29; -lean::dec(x_0); -x_29 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__2; -return x_29; -} -} -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_31; obj* x_34; obj* x_35; -x_31 = lean::cnstr_get(x_0, 0); -lean::inc(x_31); -lean::dec(x_0); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -x_35 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_35, 0, x_34); -return x_35; -} -case 3: -{ -obj* x_36; -x_36 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__3; -return x_36; -} -default: -{ -obj* x_38; -lean::dec(x_0); -x_38 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__3; -return x_38; -} -} -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_40; obj* x_43; obj* x_44; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -lean::dec(x_0); -x_43 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_43, 0, x_40); -x_44 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_44, 0, x_43); -return x_44; -} -case 3: -{ -obj* x_45; -x_45 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__4; -return x_45; -} -default: -{ -obj* x_47; -lean::dec(x_0); -x_47 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__4; -return x_47; -} -} -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_49; obj* x_52; obj* x_53; -x_49 = lean::cnstr_get(x_0, 0); -lean::inc(x_49); -lean::dec(x_0); -x_52 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_52, 0, x_49); -x_53 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_53, 0, x_52); -return x_53; -} -case 3: -{ -obj* x_54; -x_54 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; -return x_54; -} -default: -{ -obj* x_56; -lean::dec(x_0); -x_56 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; -return x_56; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; +return x_0; } } obj* _init_l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__7() { @@ -20469,265 +17114,260 @@ return x_10; obj* l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__7; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__7; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +if (x_60 == 0) +{ +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(1u); +x_62 = lean::nat_dec_eq(x_41, x_61); +if (x_62 == 0) +{ +obj* x_63; uint8 x_64; +x_63 = lean::mk_nat_obj(2u); +x_64 = lean::nat_dec_eq(x_41, x_63); +if (x_64 == 0) { obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); +x_65 = lean::mk_nat_obj(3u); +x_66 = lean::nat_dec_eq(x_41, x_65); +lean::dec(x_41); if (x_66 == 0) { -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) -{ -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -if (x_70 == 0) -{ -obj* x_71; uint8 x_72; -x_71 = lean::mk_nat_obj(3u); -x_72 = lean::nat_dec_eq(x_2, x_71); -lean::dec(x_2); -if (x_72 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_74; obj* x_77; obj* x_78; -x_74 = lean::cnstr_get(x_1, 0); -lean::inc(x_74); -lean::dec(x_1); -x_77 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_77, 0, x_74); -x_78 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_78, 0, x_77); -return x_78; +obj* x_68; obj* x_71; obj* x_72; +x_68 = lean::cnstr_get(x_56, 0); +lean::inc(x_68); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_71 = lean::alloc_cnstr(1, 1, 0); +} else { + x_71 = x_26; +} +lean::cnstr_set(x_71, 0, x_68); +x_72 = lean::alloc_cnstr(4, 1, 0); +lean::cnstr_set(x_72, 0, x_71); +return x_72; } case 3: { -obj* x_79; -x_79 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__1; -return x_79; +obj* x_74; +lean::dec(x_26); +x_74 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__1; +return x_74; } default: { -obj* x_81; -lean::dec(x_1); -x_81 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__1; -return x_81; +obj* x_77; +lean::dec(x_56); +lean::dec(x_26); +x_77 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__1; +return x_77; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_82; obj* x_85; obj* x_86; -x_82 = lean::cnstr_get(x_1, 0); -lean::inc(x_82); -lean::dec(x_1); -x_85 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_85, 0, x_82); -x_86 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_86, 0, x_85); -return x_86; +obj* x_78; obj* x_81; obj* x_82; +x_78 = lean::cnstr_get(x_56, 0); +lean::inc(x_78); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_81 = lean::alloc_cnstr(1, 1, 0); +} else { + x_81 = x_26; +} +lean::cnstr_set(x_81, 0, x_78); +x_82 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_82, 0, x_81); +return x_82; } case 3: { +obj* x_84; +lean::dec(x_26); +x_84 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__2; +return x_84; +} +default: +{ obj* x_87; +lean::dec(x_56); +lean::dec(x_26); x_87 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__2; return x_87; } -default: -{ -obj* x_89; -lean::dec(x_1); -x_89 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__2; -return x_89; -} } } } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_91; obj* x_94; obj* x_95; -x_91 = lean::cnstr_get(x_1, 0); -lean::inc(x_91); -lean::dec(x_1); -x_94 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_94, 0, x_91); -x_95 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_95, 0, x_94); -return x_95; +obj* x_89; obj* x_92; obj* x_93; +x_89 = lean::cnstr_get(x_56, 0); +lean::inc(x_89); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_92 = lean::alloc_cnstr(1, 1, 0); +} else { + x_92 = x_26; +} +lean::cnstr_set(x_92, 0, x_89); +x_93 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_93, 0, x_92); +return x_93; } case 3: { -obj* x_96; -x_96 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__3; -return x_96; +obj* x_95; +lean::dec(x_26); +x_95 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__3; +return x_95; } default: { obj* x_98; -lean::dec(x_1); +lean::dec(x_56); +lean::dec(x_26); x_98 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__3; return x_98; } @@ -20736,15 +17376,19 @@ return x_98; } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { obj* x_100; obj* x_103; obj* x_104; -x_100 = lean::cnstr_get(x_1, 0); +x_100 = lean::cnstr_get(x_56, 0); lean::inc(x_100); -lean::dec(x_1); -x_103 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_103 = lean::alloc_cnstr(1, 1, 0); +} else { + x_103 = x_26; +} lean::cnstr_set(x_103, 0, x_100); x_104 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_104, 0, x_103); @@ -20752,48 +17396,83 @@ return x_104; } case 3: { -obj* x_105; -x_105 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__4; -return x_105; +obj* x_106; +lean::dec(x_26); +x_106 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__4; +return x_106; } default: { -obj* x_107; -lean::dec(x_1); -x_107 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__4; -return x_107; +obj* x_109; +lean::dec(x_56); +lean::dec(x_26); +x_109 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__4; +return x_109; } } } } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_109; obj* x_112; obj* x_113; -x_109 = lean::cnstr_get(x_1, 0); -lean::inc(x_109); -lean::dec(x_1); -x_112 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_112, 0, x_109); -x_113 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_113, 0, x_112); -return x_113; +obj* x_111; obj* x_114; obj* x_115; +x_111 = lean::cnstr_get(x_56, 0); +lean::inc(x_111); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_114 = lean::alloc_cnstr(1, 1, 0); +} else { + x_114 = x_26; +} +lean::cnstr_set(x_114, 0, x_111); +x_115 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_115, 0, x_114); +return x_115; } case 3: { -obj* x_114; -x_114 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; -return x_114; +obj* x_117; +lean::dec(x_26); +x_117 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; +return x_117; } default: { -obj* x_116; -lean::dec(x_1); -x_116 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; -return x_116; +obj* x_120; +lean::dec(x_56); +lean::dec(x_26); +x_120 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__5; +return x_120; +} +} +} +} +else +{ +obj* x_125; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_125 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_125; +} +} +} +} +} +} +} +else +{ +obj* x_128; +lean::dec(x_8); +lean::dec(x_17); +x_128 = l_lean_parser_command_mixfix_kind_has__view_x_27___lambda__1___closed__6; +return x_128; } } } @@ -21430,314 +18109,121 @@ return x_8; obj* _init_l_lean_parser_command_mixfix_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_2; obj* x_3; +x_2 = lean::box(3); +x_3 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_3) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_8; -x_8 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_8; -goto lbl_6; +obj* x_4; +x_4 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_4; +goto lbl_1; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_7, 0); -if (lean::is_exclusive(x_7)) { - lean::cnstr_set(x_7, 0, lean::box(0)); - x_11 = x_7; +obj* x_5; obj* x_7; obj* x_8; +x_5 = lean::cnstr_get(x_3, 0); +if (lean::is_exclusive(x_3)) { + lean::cnstr_set(x_3, 0, lean::box(0)); + x_7 = x_3; } else { - lean::inc(x_9); - lean::dec(x_7); - x_11 = lean::box(0); + lean::inc(x_5); + lean::dec(x_3); + x_7 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) { -obj* x_16; -lean::dec(x_11); -x_16 = lean::box(0); -x_5 = x_16; -goto lbl_6; +obj* x_12; +lean::dec(x_7); +x_12 = lean::box(0); +x_0 = x_12; +goto lbl_1; } else { -obj* x_17; -x_17 = lean::cnstr_get(x_12, 1); -lean::inc(x_17); -if (lean::obj_tag(x_17) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_19; -x_19 = lean::cnstr_get(x_12, 0); -lean::inc(x_19); -lean::dec(x_12); -switch (lean::obj_tag(x_19)) { +obj* x_15; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +switch (lean::obj_tag(x_15)) { case 0: { -obj* x_22; obj* x_25; obj* x_26; -x_22 = lean::cnstr_get(x_19, 0); -lean::inc(x_22); -lean::dec(x_19); -if (lean::is_scalar(x_11)) { - x_25 = lean::alloc_cnstr(1, 1, 0); +obj* x_18; obj* x_21; obj* x_22; +x_18 = lean::cnstr_get(x_15, 0); +lean::inc(x_18); +lean::dec(x_15); +if (lean::is_scalar(x_7)) { + x_21 = lean::alloc_cnstr(1, 1, 0); } else { - x_25 = x_11; + x_21 = x_7; } -lean::cnstr_set(x_25, 0, x_22); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_25); -x_5 = x_26; -goto lbl_6; +lean::cnstr_set(x_21, 0, x_18); +x_22 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_22, 0, x_21); +x_0 = x_22; +goto lbl_1; } case 3: { -obj* x_28; -lean::dec(x_11); -x_28 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_28; -goto lbl_6; +obj* x_24; +lean::dec(x_7); +x_24 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_24; +goto lbl_1; } default: { +obj* x_27; +lean::dec(x_7); +lean::dec(x_15); +x_27 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_0 = x_27; +goto lbl_1; +} +} +} +else +{ obj* x_31; -lean::dec(x_19); -lean::dec(x_11); +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_7); x_31 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_31; -goto lbl_6; +x_0 = x_31; +goto lbl_1; } } } -else +lbl_1: { -obj* x_35; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_17); -x_35 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_5 = x_35; -goto lbl_6; -} -} -} -lbl_6: -{ -obj* x_36; obj* x_37; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_39; -x_39 = lean::box(3); -x_36 = x_0; -x_37 = x_39; -goto lbl_38; -} -else -{ -obj* x_40; obj* x_42; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_0, 1); -lean::inc(x_42); -lean::dec(x_0); -x_36 = x_42; -x_37 = x_40; -goto lbl_38; -} -lbl_38: -{ -obj* x_45; obj* x_46; obj* x_49; obj* x_50; obj* x_51; -x_45 = l_lean_parser_command_mixfix_kind_has__view; -x_46 = lean::cnstr_get(x_45, 0); -lean::inc(x_46); -lean::dec(x_45); -x_49 = lean::apply_1(x_46, x_37); -if (lean::obj_tag(x_36) == 0) -{ -obj* x_53; -x_53 = lean::box(3); -x_50 = x_36; -x_51 = x_53; -goto lbl_52; -} -else -{ -obj* x_54; obj* x_56; -x_54 = lean::cnstr_get(x_36, 0); -lean::inc(x_54); -x_56 = lean::cnstr_get(x_36, 1); -lean::inc(x_56); -lean::dec(x_36); -x_50 = x_56; -x_51 = x_54; -goto lbl_52; -} -lbl_52: -{ -obj* x_59; obj* x_60; obj* x_63; -x_59 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view; -x_60 = lean::cnstr_get(x_59, 0); -lean::inc(x_60); -lean::dec(x_59); -x_63 = lean::apply_1(x_60, x_51); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_64; -x_64 = lean::box(0); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_65; obj* x_66; -x_65 = lean::box(3); -x_66 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_66, 0, x_5); -lean::cnstr_set(x_66, 1, x_49); -lean::cnstr_set(x_66, 2, x_63); -lean::cnstr_set(x_66, 3, x_64); -lean::cnstr_set(x_66, 4, x_65); -return x_66; -} -else -{ -obj* x_67; obj* x_70; -x_67 = lean::cnstr_get(x_50, 0); -lean::inc(x_67); -lean::dec(x_50); -x_70 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_70, 0, x_5); -lean::cnstr_set(x_70, 1, x_49); -lean::cnstr_set(x_70, 2, x_63); -lean::cnstr_set(x_70, 3, x_64); -lean::cnstr_set(x_70, 4, x_67); -return x_70; -} -} -else -{ -obj* x_71; -x_71 = lean::cnstr_get(x_50, 0); -lean::inc(x_71); -switch (lean::obj_tag(x_71)) { -case 0: -{ -obj* x_73; obj* x_76; obj* x_79; -x_73 = lean::cnstr_get(x_50, 1); -lean::inc(x_73); -lean::dec(x_50); -x_76 = lean::cnstr_get(x_71, 0); -lean::inc(x_76); -lean::dec(x_71); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -if (lean::obj_tag(x_73) == 0) -{ -obj* x_80; obj* x_81; -x_80 = lean::box(3); -x_81 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_81, 0, x_5); -lean::cnstr_set(x_81, 1, x_49); -lean::cnstr_set(x_81, 2, x_63); -lean::cnstr_set(x_81, 3, x_79); -lean::cnstr_set(x_81, 4, x_80); -return x_81; -} -else -{ -obj* x_82; obj* x_85; -x_82 = lean::cnstr_get(x_73, 0); -lean::inc(x_82); -lean::dec(x_73); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_49); -lean::cnstr_set(x_85, 2, x_63); -lean::cnstr_set(x_85, 3, x_79); -lean::cnstr_set(x_85, 4, x_82); -return x_85; -} -} -case 3: -{ -obj* x_86; obj* x_89; -x_86 = lean::cnstr_get(x_50, 1); -lean::inc(x_86); -lean::dec(x_50); -x_89 = lean::box(0); -if (lean::obj_tag(x_86) == 0) -{ -obj* x_90; obj* x_91; -x_90 = lean::box(3); -x_91 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_91, 0, x_5); -lean::cnstr_set(x_91, 1, x_49); -lean::cnstr_set(x_91, 2, x_63); -lean::cnstr_set(x_91, 3, x_89); -lean::cnstr_set(x_91, 4, x_90); -return x_91; -} -else -{ -obj* x_92; obj* x_95; -x_92 = lean::cnstr_get(x_86, 0); -lean::inc(x_92); -lean::dec(x_86); -x_95 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_95, 0, x_5); -lean::cnstr_set(x_95, 1, x_49); -lean::cnstr_set(x_95, 2, x_63); -lean::cnstr_set(x_95, 3, x_89); -lean::cnstr_set(x_95, 4, x_92); -return x_95; -} -} -default: -{ -obj* x_97; obj* x_100; -lean::dec(x_71); -x_97 = lean::cnstr_get(x_50, 1); -lean::inc(x_97); -lean::dec(x_50); -x_100 = lean::box(0); -if (lean::obj_tag(x_97) == 0) -{ -obj* x_101; obj* x_102; -x_101 = lean::box(3); -x_102 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_102, 0, x_5); -lean::cnstr_set(x_102, 1, x_49); -lean::cnstr_set(x_102, 2, x_63); -lean::cnstr_set(x_102, 3, x_100); -lean::cnstr_set(x_102, 4, x_101); -return x_102; -} -else -{ -obj* x_103; obj* x_106; -x_103 = lean::cnstr_get(x_97, 0); -lean::inc(x_103); -lean::dec(x_97); -x_106 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_106, 0, x_5); -lean::cnstr_set(x_106, 1, x_49); -lean::cnstr_set(x_106, 2, x_63); -lean::cnstr_set(x_106, 3, x_100); -lean::cnstr_set(x_106, 4, x_103); -return x_106; -} -} -} -} -} -} -} +obj* x_32; obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_39; obj* x_42; obj* x_43; obj* x_44; +x_32 = l_lean_parser_command_mixfix_kind_has__view; +x_33 = lean::cnstr_get(x_32, 0); +lean::inc(x_33); +lean::dec(x_32); +x_36 = lean::box(3); +x_37 = lean::apply_1(x_33, x_36); +x_38 = l_lean_parser_command_notation__spec_mixfix__symbol_has__view; +x_39 = lean::cnstr_get(x_38, 0); +lean::inc(x_39); +lean::dec(x_38); +x_42 = lean::apply_1(x_39, x_36); +x_43 = lean::box(0); +x_44 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_44, 0, x_0); +lean::cnstr_set(x_44, 1, x_37); +lean::cnstr_set(x_44, 2, x_42); +lean::cnstr_set(x_44, 3, x_43); +lean::cnstr_set(x_44, 4, x_36); +return x_44; } } } @@ -22506,43 +18992,16 @@ return x_8; obj* _init_l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_command_mixfix_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_command_notation_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__2() { @@ -22564,186 +19023,179 @@ return x_8; obj* l_lean_parser_command_notation__like_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_command_mixfix_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_command_notation_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_command_mixfix_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_command_notation_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_command_notation__like_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -22936,160 +19388,15 @@ return x_5; obj* _init_l_lean_parser_command_reserve__mixfix_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_command_mixfix_kind_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; obj* x_19; obj* x_20; obj* x_23; obj* x_24; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -x_19 = l_lean_parser_command_notation__spec_notation__symbol_has__view; -x_20 = lean::cnstr_get(x_19, 0); -lean::inc(x_20); -lean::dec(x_19); -x_23 = lean::apply_1(x_20, x_16); -x_24 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_24, 0, x_0); -lean::cnstr_set(x_24, 1, x_13); -lean::cnstr_set(x_24, 2, x_23); -return x_24; -} -} -lbl_6: -{ -obj* x_25; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_5, 0); -lean::inc(x_27); -lean::dec(x_5); -x_30 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_30, 0, x_27); -if (lean::obj_tag(x_4) == 0) -{ -x_25 = x_30; -goto lbl_26; -} -else -{ -obj* x_31; obj* x_33; -x_31 = lean::cnstr_get(x_4, 0); -lean::inc(x_31); -x_33 = lean::cnstr_get(x_4, 1); -lean::inc(x_33); -lean::dec(x_4); -x_0 = x_30; -x_1 = x_31; -x_2 = x_33; -goto lbl_3; -} -} -case 3: -{ -obj* x_36; -x_36 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_25 = x_36; -goto lbl_26; -} -else -{ -obj* x_37; obj* x_39; -x_37 = lean::cnstr_get(x_4, 0); -lean::inc(x_37); -x_39 = lean::cnstr_get(x_4, 1); -lean::inc(x_39); -lean::dec(x_4); -x_0 = x_36; -x_1 = x_37; -x_2 = x_39; -goto lbl_3; -} -} -default: -{ -obj* x_43; -lean::dec(x_5); -x_43 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_25 = x_43; -goto lbl_26; -} -else -{ -obj* x_44; obj* x_46; -x_44 = lean::cnstr_get(x_4, 0); -lean::inc(x_44); -x_46 = lean::cnstr_get(x_4, 1); -lean::inc(x_46); -lean::dec(x_4); -x_0 = x_43; -x_1 = x_44; -x_2 = x_46; -goto lbl_3; -} -} -} -lbl_26: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_49; obj* x_50; obj* x_51; -x_49 = l_lean_parser_command_reserve__mixfix_has__view_x_27___lambda__1___closed__1; -x_50 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; -x_51 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_51, 0, x_25); -lean::cnstr_set(x_51, 1, x_49); -lean::cnstr_set(x_51, 2, x_50); -return x_51; -} -else -{ -obj* x_52; obj* x_55; obj* x_56; obj* x_59; obj* x_60; obj* x_61; -x_52 = lean::cnstr_get(x_4, 0); -lean::inc(x_52); -lean::dec(x_4); -x_55 = l_lean_parser_command_notation__spec_notation__symbol_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_52); -x_60 = l_lean_parser_command_reserve__mixfix_has__view_x_27___lambda__1___closed__1; -x_61 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_61, 0, x_25); -lean::cnstr_set(x_61, 1, x_60); -lean::cnstr_set(x_61, 2, x_59); -return x_61; -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_command_reserve__mixfix_has__view_x_27___lambda__1___closed__1; +x_2 = l_lean_parser_command_notation__spec_fold__action_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_2); +return x_3; } } obj* l_lean_parser_command_reserve__mixfix_has__view_x_27___lambda__1(obj* x_0) { @@ -23866,10 +20173,6 @@ lean::mark_persistent(l_lean_parser_command_notation__spec_has__view_x_27___lamb lean::mark_persistent(l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__5); l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6 = _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6(); lean::mark_persistent(l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__6); - l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7 = _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7(); -lean::mark_persistent(l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__7); - l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__8 = _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__8(); -lean::mark_persistent(l_lean_parser_command_notation__spec_has__view_x_27___lambda__1___closed__8); l_lean_parser_command_notation__spec_has__view_x_27___lambda__2___closed__1 = _init_l_lean_parser_command_notation__spec_has__view_x_27___lambda__2___closed__1(); lean::mark_persistent(l_lean_parser_command_notation__spec_has__view_x_27___lambda__2___closed__1); l_lean_parser_command_notation__spec_has__view_x_27 = _init_l_lean_parser_command_notation__spec_has__view_x_27(); diff --git a/src/boot/init/lean/parser/string_literal.cpp b/src/boot/init/lean/parser/string_literal.cpp index 3156798353..71dd8caf52 100644 --- a/src/boot/init/lean/parser/string_literal.cpp +++ b/src/boot/init/lean/parser/string_literal.cpp @@ -140,80 +140,55 @@ return x_9; } else { -uint32 x_10; uint32 x_11; uint8 x_12; uint8 x_14; +uint32 x_10; uint32 x_11; uint8 x_12; x_10 = l_string_iterator_curr___main(x_2); x_11 = 97; -x_14 = x_11 <= x_10; -if (x_14 == 0) -{ -obj* x_17; obj* x_18; obj* x_19; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_1); -lean::dec(x_2); -x_17 = l_char_quote__core(x_10); -x_18 = l_char_has__repr___closed__1; -x_19 = lean::string_append(x_18, x_17); -lean::dec(x_17); -x_21 = lean::string_append(x_19, x_18); -x_22 = lean::box(0); -x_23 = l_mjoin___rarg___closed__1; -x_24 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_21, x_23, x_22, x_22); -return x_24; -} -else -{ -uint8 x_25; -x_25 = 1; -x_12 = x_25; -goto lbl_13; -} -lbl_13: -{ -uint32 x_26; uint8 x_27; -x_26 = 102; -x_27 = x_10 <= x_26; -if (x_27 == 0) -{ -obj* x_30; obj* x_31; obj* x_32; obj* x_34; obj* x_35; obj* x_36; obj* x_37; -lean::dec(x_1); -lean::dec(x_2); -x_30 = l_char_quote__core(x_10); -x_31 = l_char_has__repr___closed__1; -x_32 = lean::string_append(x_31, x_30); -lean::dec(x_30); -x_34 = lean::string_append(x_32, x_31); -x_35 = lean::box(0); -x_36 = l_mjoin___rarg___closed__1; -x_37 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_34, x_36, x_35, x_35); -return x_37; -} -else -{ +x_12 = x_11 <= x_10; if (x_12 == 0) { -obj* x_40; obj* x_41; obj* x_42; obj* x_44; obj* x_45; obj* x_46; obj* x_47; +obj* x_15; obj* x_16; obj* x_17; obj* x_19; obj* x_20; obj* x_21; obj* x_22; lean::dec(x_1); lean::dec(x_2); -x_40 = l_char_quote__core(x_10); -x_41 = l_char_has__repr___closed__1; -x_42 = lean::string_append(x_41, x_40); -lean::dec(x_40); -x_44 = lean::string_append(x_42, x_41); -x_45 = lean::box(0); -x_46 = l_mjoin___rarg___closed__1; -x_47 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_44, x_46, x_45, x_45); -return x_47; +x_15 = l_char_quote__core(x_10); +x_16 = l_char_has__repr___closed__1; +x_17 = lean::string_append(x_16, x_15); +lean::dec(x_15); +x_19 = lean::string_append(x_17, x_16); +x_20 = lean::box(0); +x_21 = l_mjoin___rarg___closed__1; +x_22 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_19, x_21, x_20, x_20); +return x_22; } else { -obj* x_49; obj* x_50; obj* x_51; -lean::dec(x_0); -x_49 = lean::box_uint32(x_10); -x_50 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_satisfy___rarg___lambda__1___boxed), 3, 2); -lean::closure_set(x_50, 0, x_2); -lean::closure_set(x_50, 1, x_49); -x_51 = lean::apply_2(x_1, lean::box(0), x_50); -return x_51; +uint32 x_23; uint8 x_24; +x_23 = 102; +x_24 = x_10 <= x_23; +if (x_24 == 0) +{ +obj* x_27; obj* x_28; obj* x_29; obj* x_31; obj* x_32; obj* x_33; obj* x_34; +lean::dec(x_1); +lean::dec(x_2); +x_27 = l_char_quote__core(x_10); +x_28 = l_char_has__repr___closed__1; +x_29 = lean::string_append(x_28, x_27); +lean::dec(x_27); +x_31 = lean::string_append(x_29, x_28); +x_32 = lean::box(0); +x_33 = l_mjoin___rarg___closed__1; +x_34 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_31, x_33, x_32, x_32); +return x_34; } +else +{ +obj* x_36; obj* x_37; obj* x_38; +lean::dec(x_0); +x_36 = lean::box_uint32(x_10); +x_37 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_satisfy___rarg___lambda__1___boxed), 3, 2); +lean::closure_set(x_37, 0, x_2); +lean::closure_set(x_37, 1, x_36); +x_38 = lean::apply_2(x_1, lean::box(0), x_37); +return x_38; } } } @@ -267,80 +242,55 @@ return x_9; } else { -uint32 x_10; uint32 x_11; uint8 x_12; uint8 x_14; +uint32 x_10; uint32 x_11; uint8 x_12; x_10 = l_string_iterator_curr___main(x_2); x_11 = 65; -x_14 = x_11 <= x_10; -if (x_14 == 0) -{ -obj* x_17; obj* x_18; obj* x_19; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_1); -lean::dec(x_2); -x_17 = l_char_quote__core(x_10); -x_18 = l_char_has__repr___closed__1; -x_19 = lean::string_append(x_18, x_17); -lean::dec(x_17); -x_21 = lean::string_append(x_19, x_18); -x_22 = lean::box(0); -x_23 = l_mjoin___rarg___closed__1; -x_24 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_21, x_23, x_22, x_22); -return x_24; -} -else -{ -uint8 x_25; -x_25 = 1; -x_12 = x_25; -goto lbl_13; -} -lbl_13: -{ -uint32 x_26; uint8 x_27; -x_26 = 70; -x_27 = x_10 <= x_26; -if (x_27 == 0) -{ -obj* x_30; obj* x_31; obj* x_32; obj* x_34; obj* x_35; obj* x_36; obj* x_37; -lean::dec(x_1); -lean::dec(x_2); -x_30 = l_char_quote__core(x_10); -x_31 = l_char_has__repr___closed__1; -x_32 = lean::string_append(x_31, x_30); -lean::dec(x_30); -x_34 = lean::string_append(x_32, x_31); -x_35 = lean::box(0); -x_36 = l_mjoin___rarg___closed__1; -x_37 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_34, x_36, x_35, x_35); -return x_37; -} -else -{ +x_12 = x_11 <= x_10; if (x_12 == 0) { -obj* x_40; obj* x_41; obj* x_42; obj* x_44; obj* x_45; obj* x_46; obj* x_47; +obj* x_15; obj* x_16; obj* x_17; obj* x_19; obj* x_20; obj* x_21; obj* x_22; lean::dec(x_1); lean::dec(x_2); -x_40 = l_char_quote__core(x_10); -x_41 = l_char_has__repr___closed__1; -x_42 = lean::string_append(x_41, x_40); -lean::dec(x_40); -x_44 = lean::string_append(x_42, x_41); -x_45 = lean::box(0); -x_46 = l_mjoin___rarg___closed__1; -x_47 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_44, x_46, x_45, x_45); -return x_47; +x_15 = l_char_quote__core(x_10); +x_16 = l_char_has__repr___closed__1; +x_17 = lean::string_append(x_16, x_15); +lean::dec(x_15); +x_19 = lean::string_append(x_17, x_16); +x_20 = lean::box(0); +x_21 = l_mjoin___rarg___closed__1; +x_22 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_19, x_21, x_20, x_20); +return x_22; } else { -obj* x_49; obj* x_50; obj* x_51; -lean::dec(x_0); -x_49 = lean::box_uint32(x_10); -x_50 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_satisfy___rarg___lambda__1___boxed), 3, 2); -lean::closure_set(x_50, 0, x_2); -lean::closure_set(x_50, 1, x_49); -x_51 = lean::apply_2(x_1, lean::box(0), x_50); -return x_51; +uint32 x_23; uint8 x_24; +x_23 = 70; +x_24 = x_10 <= x_23; +if (x_24 == 0) +{ +obj* x_27; obj* x_28; obj* x_29; obj* x_31; obj* x_32; obj* x_33; obj* x_34; +lean::dec(x_1); +lean::dec(x_2); +x_27 = l_char_quote__core(x_10); +x_28 = l_char_has__repr___closed__1; +x_29 = lean::string_append(x_28, x_27); +lean::dec(x_27); +x_31 = lean::string_append(x_29, x_28); +x_32 = lean::box(0); +x_33 = l_mjoin___rarg___closed__1; +x_34 = l_lean_parser_monad__parsec_error___rarg(x_0, lean::box(0), x_31, x_33, x_32, x_32); +return x_34; } +else +{ +obj* x_36; obj* x_37; obj* x_38; +lean::dec(x_0); +x_36 = lean::box_uint32(x_10); +x_37 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_satisfy___rarg___lambda__1___boxed), 3, 2); +lean::closure_set(x_37, 0, x_2); +lean::closure_set(x_37, 1, x_36); +x_38 = lean::apply_2(x_1, lean::box(0), x_37); +return x_38; } } } @@ -602,157 +552,152 @@ return x_0; obj* l_lean_parser_parse__quoted__char___rarg___lambda__7(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, uint32 x_5) { _start: { -obj* x_6; obj* x_8; obj* x_10; uint32 x_12; uint8 x_13; -x_12 = 92; +uint32 x_6; uint8 x_7; +x_6 = 92; +x_7 = x_5 == x_6; +if (x_7 == 0) +{ +uint32 x_8; uint8 x_9; +x_8 = 34; +x_9 = x_5 == x_8; +if (x_9 == 0) +{ +uint32 x_10; uint8 x_11; +x_10 = 39; +x_11 = x_5 == x_10; +if (x_11 == 0) +{ +uint32 x_12; uint8 x_13; +x_12 = 110; x_13 = x_5 == x_12; if (x_13 == 0) { -obj* x_14; -x_14 = lean::box(0); -x_10 = x_14; -goto lbl_11; +uint32 x_14; uint8 x_15; +x_14 = 116; +x_15 = x_5 == x_14; +if (x_15 == 0) +{ +uint32 x_16; uint8 x_17; +x_16 = 120; +x_17 = x_5 == x_16; +if (x_17 == 0) +{ +uint32 x_18; uint8 x_19; +x_18 = 117; +x_19 = x_5 == x_18; +if (x_19 == 0) +{ +obj* x_23; obj* x_24; +lean::dec(x_4); +lean::dec(x_3); +lean::dec(x_2); +x_23 = l_lean_parser_parse__quoted__char___rarg___lambda__7___closed__1; +x_24 = l_lean_parser_monad__parsec_unexpected__at___rarg(x_0, lean::box(0), x_23, x_1); +return x_24; } else { -obj* x_19; obj* x_22; obj* x_25; obj* x_26; +obj* x_27; obj* x_30; obj* x_31; +lean::dec(x_1); +lean::inc(x_3); +x_27 = l_lean_parser_parse__hex__digit___rarg(x_2, x_0, x_3); +lean::inc(x_27); +lean::inc(x_4); +x_30 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__quoted__char___rarg___lambda__4), 4, 3); +lean::closure_set(x_30, 0, x_3); +lean::closure_set(x_30, 1, x_4); +lean::closure_set(x_30, 2, x_27); +x_31 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_27, x_30); +return x_31; +} +} +else +{ +obj* x_34; obj* x_37; obj* x_38; +lean::dec(x_1); +lean::inc(x_3); +x_34 = l_lean_parser_parse__hex__digit___rarg(x_2, x_0, x_3); +lean::inc(x_34); +lean::inc(x_4); +x_37 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__quoted__char___rarg___lambda__6), 4, 3); +lean::closure_set(x_37, 0, x_3); +lean::closure_set(x_37, 1, x_4); +lean::closure_set(x_37, 2, x_34); +x_38 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_34, x_37); +return x_38; +} +} +else +{ +obj* x_43; obj* x_46; uint32 x_49; obj* x_50; obj* x_51; lean::dec(x_4); lean::dec(x_1); lean::dec(x_0); lean::dec(x_2); -x_19 = lean::cnstr_get(x_3, 0); -lean::inc(x_19); +x_43 = lean::cnstr_get(x_3, 0); +lean::inc(x_43); lean::dec(x_3); -x_22 = lean::cnstr_get(x_19, 1); -lean::inc(x_22); -lean::dec(x_19); -x_25 = lean::box_uint32(x_12); -x_26 = lean::apply_2(x_22, lean::box(0), x_25); -return x_26; -} -lbl_7: -{ -uint32 x_28; uint8 x_29; -lean::dec(x_6); -x_28 = 117; -x_29 = x_5 == x_28; -if (x_29 == 0) -{ -obj* x_33; obj* x_34; -lean::dec(x_4); -lean::dec(x_3); -lean::dec(x_2); -x_33 = l_lean_parser_parse__quoted__char___rarg___lambda__7___closed__1; -x_34 = l_lean_parser_monad__parsec_unexpected__at___rarg(x_0, lean::box(0), x_33, x_1); -return x_34; -} -else -{ -obj* x_37; obj* x_40; obj* x_41; -lean::dec(x_1); -lean::inc(x_3); -x_37 = l_lean_parser_parse__hex__digit___rarg(x_2, x_0, x_3); -lean::inc(x_37); -lean::inc(x_4); -x_40 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__quoted__char___rarg___lambda__4), 4, 3); -lean::closure_set(x_40, 0, x_3); -lean::closure_set(x_40, 1, x_4); -lean::closure_set(x_40, 2, x_37); -x_41 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_37, x_40); -return x_41; -} -} -lbl_9: -{ -uint32 x_43; uint8 x_44; -lean::dec(x_8); -x_43 = 116; -x_44 = x_5 == x_43; -if (x_44 == 0) -{ -uint32 x_45; uint8 x_46; -x_45 = 120; -x_46 = x_5 == x_45; -if (x_46 == 0) -{ -obj* x_47; -x_47 = lean::box(0); -x_6 = x_47; -goto lbl_7; -} -else -{ -obj* x_50; obj* x_53; obj* x_54; -lean::dec(x_1); -lean::inc(x_3); -x_50 = l_lean_parser_parse__hex__digit___rarg(x_2, x_0, x_3); -lean::inc(x_50); -lean::inc(x_4); -x_53 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__quoted__char___rarg___lambda__6), 4, 3); -lean::closure_set(x_53, 0, x_3); -lean::closure_set(x_53, 1, x_4); -lean::closure_set(x_53, 2, x_50); -x_54 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_50, x_53); -return x_54; +x_46 = lean::cnstr_get(x_43, 1); +lean::inc(x_46); +lean::dec(x_43); +x_49 = 9; +x_50 = lean::box_uint32(x_49); +x_51 = lean::apply_2(x_46, lean::box(0), x_50); +return x_51; } } else { -obj* x_59; obj* x_62; uint32 x_65; obj* x_66; obj* x_67; +obj* x_56; obj* x_59; uint32 x_62; obj* x_63; obj* x_64; lean::dec(x_4); lean::dec(x_1); lean::dec(x_0); lean::dec(x_2); -x_59 = lean::cnstr_get(x_3, 0); +x_56 = lean::cnstr_get(x_3, 0); +lean::inc(x_56); +lean::dec(x_3); +x_59 = lean::cnstr_get(x_56, 1); lean::inc(x_59); -lean::dec(x_3); -x_62 = lean::cnstr_get(x_59, 1); -lean::inc(x_62); -lean::dec(x_59); -x_65 = 9; -x_66 = lean::box_uint32(x_65); -x_67 = lean::apply_2(x_62, lean::box(0), x_66); -return x_67; +lean::dec(x_56); +x_62 = 10; +x_63 = lean::box_uint32(x_62); +x_64 = lean::apply_2(x_59, lean::box(0), x_63); +return x_64; } } -lbl_11: -{ -uint32 x_69; uint8 x_70; -lean::dec(x_10); -x_69 = 34; -x_70 = x_5 == x_69; -if (x_70 == 0) -{ -uint32 x_71; uint8 x_72; -x_71 = 39; -x_72 = x_5 == x_71; -if (x_72 == 0) -{ -uint32 x_73; uint8 x_74; -x_73 = 110; -x_74 = x_5 == x_73; -if (x_74 == 0) -{ -obj* x_75; -x_75 = lean::box(0); -x_8 = x_75; -goto lbl_9; -} else { -obj* x_80; obj* x_83; uint32 x_86; obj* x_87; obj* x_88; +obj* x_69; obj* x_72; obj* x_75; obj* x_76; lean::dec(x_4); lean::dec(x_1); lean::dec(x_0); lean::dec(x_2); -x_80 = lean::cnstr_get(x_3, 0); -lean::inc(x_80); +x_69 = lean::cnstr_get(x_3, 0); +lean::inc(x_69); lean::dec(x_3); -x_83 = lean::cnstr_get(x_80, 1); -lean::inc(x_83); -lean::dec(x_80); -x_86 = 10; -x_87 = lean::box_uint32(x_86); -x_88 = lean::apply_2(x_83, lean::box(0), x_87); +x_72 = lean::cnstr_get(x_69, 1); +lean::inc(x_72); +lean::dec(x_69); +x_75 = lean::box_uint32(x_10); +x_76 = lean::apply_2(x_72, lean::box(0), x_75); +return x_76; +} +} +else +{ +obj* x_81; obj* x_84; obj* x_87; obj* x_88; +lean::dec(x_4); +lean::dec(x_1); +lean::dec(x_0); +lean::dec(x_2); +x_81 = lean::cnstr_get(x_3, 0); +lean::inc(x_81); +lean::dec(x_3); +x_84 = lean::cnstr_get(x_81, 1); +lean::inc(x_84); +lean::dec(x_81); +x_87 = lean::box_uint32(x_8); +x_88 = lean::apply_2(x_84, lean::box(0), x_87); return x_88; } } @@ -769,30 +714,11 @@ lean::dec(x_3); x_96 = lean::cnstr_get(x_93, 1); lean::inc(x_96); lean::dec(x_93); -x_99 = lean::box_uint32(x_71); +x_99 = lean::box_uint32(x_6); x_100 = lean::apply_2(x_96, lean::box(0), x_99); return x_100; } } -else -{ -obj* x_105; obj* x_108; obj* x_111; obj* x_112; -lean::dec(x_4); -lean::dec(x_1); -lean::dec(x_0); -lean::dec(x_2); -x_105 = lean::cnstr_get(x_3, 0); -lean::inc(x_105); -lean::dec(x_3); -x_108 = lean::cnstr_get(x_105, 1); -lean::inc(x_108); -lean::dec(x_105); -x_111 = lean::box_uint32(x_69); -x_112 = lean::apply_2(x_108, lean::box(0), x_111); -return x_112; -} -} -} } obj* l_lean_parser_parse__quoted__char___rarg___lambda__8(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: diff --git a/src/boot/init/lean/parser/term.cpp b/src/boot/init/lean/parser/term.cpp index d163413461..4ed206e659 100644 --- a/src/boot/init/lean/parser/term.cpp +++ b/src/boot/init/lean/parser/term.cpp @@ -37,6 +37,7 @@ obj* l_lean_parser_term_type__spec_has__view_x_27; obj* l_lean_parser_parsec__t_bind__mk__res___rarg(obj*, obj*); obj* l_lean_parser_term_have__proof; obj* l_lean_parser_term_inst__implicit__named__binder_has__view_x_27; +obj* l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6; obj* l_rbmap_find___main___at___private_init_lean_parser_term_2__leading___spec__2___rarg(obj*, obj*); obj* l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1(obj*); obj* l_lean_parser_combinators_any__of___at_lean_parser_command_notation__spec_fold__action_parser_lean_parser_has__tokens___spec__1(obj*, obj*, obj*, obj*, obj*, obj*); @@ -951,6 +952,7 @@ obj* l_lean_parser_term_lambda_has__view_x_27; obj* l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__1; obj* l_lean_parser_term_struct__inst_parser_lean_parser_has__tokens; obj* l_lean_parser_term_match_has__view_x_27___lambda__1___closed__3; +obj* l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__7; obj* l_lean_parser_term_binder__ident_has__view_x_27___lambda__2(obj*); obj* l_lean_parser_term_arrow_parser_lean_parser_has__view___lambda__1(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_rbmap_find___main___at___private_init_lean_parser_term_2__leading___spec__2___rarg___boxed(obj*, obj*); @@ -1112,211 +1114,35 @@ return x_2; obj* _init_l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_23) == 0) -{ -if (lean::obj_tag(x_14) == 0) -{ -obj* x_24; obj* x_25; obj* x_26; -x_24 = lean::box(0); -x_25 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_26, 0, x_5); -lean::cnstr_set(x_26, 1, x_25); -lean::cnstr_set(x_26, 2, x_24); -return x_26; -} -else -{ -obj* x_27; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -lean::dec(x_14); -switch (lean::obj_tag(x_27)) { -case 0: -{ -obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -lean::dec(x_27); -x_33 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_33, 0, x_30); -x_34 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_34); -lean::cnstr_set(x_35, 2, x_33); -return x_35; -} -case 3: -{ -obj* x_36; obj* x_37; obj* x_38; -x_36 = lean::box(0); -x_37 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_38, 0, x_5); -lean::cnstr_set(x_38, 1, x_37); -lean::cnstr_set(x_38, 2, x_36); -return x_38; -} -default: -{ -obj* x_40; obj* x_41; obj* x_42; -lean::dec(x_27); -x_40 = lean::box(0); -x_41 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -x_42 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_42, 0, x_5); -lean::cnstr_set(x_42, 1, x_41); -lean::cnstr_set(x_42, 2, x_40); -return x_42; -} -} -} -} -else -{ -obj* x_43; obj* x_45; obj* x_46; obj* x_49; -x_43 = lean::cnstr_get(x_23, 0); -if (lean::is_exclusive(x_23)) { - lean::cnstr_set(x_23, 0, lean::box(0)); - x_45 = x_23; -} else { - lean::inc(x_43); - lean::dec(x_23); - x_45 = lean::box(0); -} -x_46 = lean::cnstr_get(x_43, 1); -lean::inc(x_46); -lean::dec(x_43); -x_49 = l_list_map___main___at_lean_parser_ident__univ__spec_has__view_x_27___spec__1(x_46); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_51; obj* x_52; -lean::dec(x_45); -x_51 = lean::box(0); -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_49); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_14, 0); -lean::inc(x_53); -lean::dec(x_14); -switch (lean::obj_tag(x_53)) { -case 0: -{ -obj* x_56; obj* x_59; obj* x_60; -x_56 = lean::cnstr_get(x_53, 0); -lean::inc(x_56); -lean::dec(x_53); -if (lean::is_scalar(x_45)) { - x_59 = lean::alloc_cnstr(1, 1, 0); -} else { - x_59 = x_45; -} -lean::cnstr_set(x_59, 0, x_56); -x_60 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_49); -lean::cnstr_set(x_60, 2, x_59); -return x_60; -} -case 3: -{ -obj* x_62; obj* x_63; -lean::dec(x_45); -x_62 = lean::box(0); -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_49); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -default: -{ -obj* x_66; obj* x_67; -lean::dec(x_45); -lean::dec(x_53); -x_66 = lean::box(0); -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_5); -lean::cnstr_set(x_67, 1, x_49); -lean::cnstr_set(x_67, 2, x_66); -return x_67; -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_list_map___main___at_lean_parser_ident__univ__spec_has__view_x_27___spec__1(x_8); +x_12 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +lean::cnstr_set(x_12, 2, x_0); +return x_12; } } } @@ -2342,291 +2168,9 @@ return x_6; obj* _init_l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; obj* x_11; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__4; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_7); -lean::cnstr_set(x_13, 1, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_16; obj* x_17; -x_14 = lean::cnstr_get(x_11, 0); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - x_16 = x_11; -} else { - lean::inc(x_14); - lean::dec(x_11); - x_16 = lean::box(0); -} -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_21; obj* x_22; -lean::dec(x_16); -x_21 = lean::box(0); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_7); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -else -{ -obj* x_23; -x_23 = lean::cnstr_get(x_17, 1); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_25; obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = l_lean_parser_ident__univ__spec_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_25); -if (lean::is_scalar(x_16)) { - x_33 = lean::alloc_cnstr(1, 1, 0); -} else { - x_33 = x_16; -} -lean::cnstr_set(x_33, 0, x_32); -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_7); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -else -{ -obj* x_38; obj* x_39; -lean::dec(x_17); -lean::dec(x_23); -lean::dec(x_16); -x_38 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__4; -x_39 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_39, 0, x_7); -lean::cnstr_set(x_39, 1, x_38); -return x_39; -} -} -} -} -else -{ -obj* x_40; obj* x_43; obj* x_46; -x_40 = lean::cnstr_get(x_1, 0); -lean::inc(x_40); -lean::dec(x_1); -x_43 = lean::cnstr_get(x_0, 0); -lean::inc(x_43); -lean::dec(x_0); -x_46 = l_lean_parser_syntax_as__node___main(x_43); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_47; obj* x_48; -x_47 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__4; -x_48 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_48, 0, x_40); -lean::cnstr_set(x_48, 1, x_47); -return x_48; -} -else -{ -obj* x_49; obj* x_51; obj* x_52; -x_49 = lean::cnstr_get(x_46, 0); -if (lean::is_exclusive(x_46)) { - lean::cnstr_set(x_46, 0, lean::box(0)); - x_51 = x_46; -} else { - lean::inc(x_49); - lean::dec(x_46); - x_51 = lean::box(0); -} -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); -lean::dec(x_49); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -lean::dec(x_51); -x_56 = lean::box(0); -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_40); -lean::cnstr_set(x_57, 1, x_56); -return x_57; -} -else -{ -obj* x_58; -x_58 = lean::cnstr_get(x_52, 1); -lean::inc(x_58); -if (lean::obj_tag(x_58) == 0) -{ -obj* x_60; obj* x_63; obj* x_64; obj* x_67; obj* x_68; obj* x_69; -x_60 = lean::cnstr_get(x_52, 0); -lean::inc(x_60); -lean::dec(x_52); -x_63 = l_lean_parser_ident__univ__spec_has__view; -x_64 = lean::cnstr_get(x_63, 0); -lean::inc(x_64); -lean::dec(x_63); -x_67 = lean::apply_1(x_64, x_60); -if (lean::is_scalar(x_51)) { - x_68 = lean::alloc_cnstr(1, 1, 0); -} else { - x_68 = x_51; -} -lean::cnstr_set(x_68, 0, x_67); -x_69 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_69, 0, x_40); -lean::cnstr_set(x_69, 1, x_68); -return x_69; -} -else -{ -obj* x_73; obj* x_74; -lean::dec(x_52); -lean::dec(x_58); -lean::dec(x_51); -x_73 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__4; -x_74 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_74, 0, x_40); -lean::cnstr_set(x_74, 1, x_73); -return x_74; -} -} -} -} -} -case 3: -{ -obj* x_75; -x_75 = lean::box(0); -x_5 = x_75; -goto lbl_6; -} -default: -{ -obj* x_77; -lean::dec(x_1); -x_77 = lean::box(0); -x_5 = x_77; -goto lbl_6; -} -} -lbl_6: -{ -lean::dec(x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_79; -x_79 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__3; -return x_79; -} -else -{ -obj* x_80; obj* x_83; -x_80 = lean::cnstr_get(x_0, 0); -lean::inc(x_80); -lean::dec(x_0); -x_83 = l_lean_parser_syntax_as__node___main(x_80); -if (lean::obj_tag(x_83) == 0) -{ -obj* x_84; -x_84 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__1; -return x_84; -} -else -{ -obj* x_85; obj* x_87; obj* x_88; -x_85 = lean::cnstr_get(x_83, 0); -if (lean::is_exclusive(x_83)) { - lean::cnstr_set(x_83, 0, lean::box(0)); - x_87 = x_83; -} else { - lean::inc(x_85); - lean::dec(x_83); - x_87 = lean::box(0); -} -x_88 = lean::cnstr_get(x_85, 1); -lean::inc(x_88); -lean::dec(x_85); -if (lean::obj_tag(x_88) == 0) -{ -obj* x_92; -lean::dec(x_87); -x_92 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__2; -return x_92; -} -else -{ -obj* x_93; -x_93 = lean::cnstr_get(x_88, 1); -lean::inc(x_93); -if (lean::obj_tag(x_93) == 0) -{ -obj* x_95; obj* x_98; obj* x_99; obj* x_102; obj* x_103; obj* x_104; obj* x_105; -x_95 = lean::cnstr_get(x_88, 0); -lean::inc(x_95); -lean::dec(x_88); -x_98 = l_lean_parser_ident__univ__spec_has__view; -x_99 = lean::cnstr_get(x_98, 0); -lean::inc(x_99); -lean::dec(x_98); -x_102 = lean::apply_1(x_99, x_95); -if (lean::is_scalar(x_87)) { - x_103 = lean::alloc_cnstr(1, 1, 0); -} else { - x_103 = x_87; -} -lean::cnstr_set(x_103, 0, x_102); -x_104 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_105 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_105, 0, x_104); -lean::cnstr_set(x_105, 1, x_103); -return x_105; -} -else -{ -obj* x_109; -lean::dec(x_88); -lean::dec(x_93); -lean::dec(x_87); -x_109 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__1; -return x_109; -} -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_ident__univs_has__view_x_27___lambda__1___closed__3; +return x_0; } } obj* l_lean_parser_ident__univs_has__view_x_27___lambda__1(obj* x_0) { @@ -3456,187 +3000,44 @@ return x_6; obj* _init_l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; obj* x_16; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_14 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_15 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_13, x_14, x_10); -x_16 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_16, 0, x_0); -lean::cnstr_set(x_16, 1, x_15); -return x_16; -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; obj* x_14; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; +x_12 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; +x_13 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_11, x_12, x_8); +x_14 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_14, 0, x_0); +lean::cnstr_set(x_14, 1, x_13); +return x_14; } } } obj* _init_l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_7; obj* x_8; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_10; obj* x_13; -x_10 = lean::cnstr_get(x_1, 0); -lean::inc(x_10); -lean::dec(x_1); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_10); -if (lean::obj_tag(x_0) == 0) -{ -x_5 = x_13; -goto lbl_6; -} -else -{ -obj* x_14; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -lean::dec(x_0); -x_7 = x_13; -x_8 = x_14; -goto lbl_9; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; -return x_17; -} -else -{ -obj* x_18; obj* x_21; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -lean::dec(x_0); -x_21 = lean::box(0); -x_7 = x_21; -x_8 = x_18; -goto lbl_9; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_23; -x_23 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; -return x_23; -} -else -{ -obj* x_24; obj* x_27; -x_24 = lean::cnstr_get(x_0, 0); -lean::inc(x_24); -lean::dec(x_0); -x_27 = lean::box(0); -x_7 = x_27; -x_8 = x_24; -goto lbl_9; -} -} -} -lbl_6: -{ -obj* x_28; obj* x_29; -x_28 = lean::box(3); -x_29 = l_lean_parser_syntax_as__node___main(x_28); -if (lean::obj_tag(x_29) == 0) -{ -obj* x_30; obj* x_31; -x_30 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_31 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_31, 0, x_5); -lean::cnstr_set(x_31, 1, x_30); -return x_31; -} -else -{ -obj* x_32; obj* x_35; obj* x_38; obj* x_39; obj* x_40; obj* x_41; -x_32 = lean::cnstr_get(x_29, 0); -lean::inc(x_32); -lean::dec(x_29); -x_35 = lean::cnstr_get(x_32, 1); -lean::inc(x_35); -lean::dec(x_32); -x_38 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_39 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_40 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_38, x_39, x_35); -x_41 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_40); -return x_41; -} -} -lbl_9: -{ -obj* x_42; -x_42 = l_lean_parser_syntax_as__node___main(x_8); -if (lean::obj_tag(x_42) == 0) -{ -obj* x_43; obj* x_44; -x_43 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_44, 0, x_7); -lean::cnstr_set(x_44, 1, x_43); -return x_44; -} -else -{ -obj* x_45; obj* x_48; obj* x_51; obj* x_52; obj* x_53; obj* x_54; -x_45 = lean::cnstr_get(x_42, 0); -lean::inc(x_45); -lean::dec(x_42); -x_48 = lean::cnstr_get(x_45, 1); -lean::inc(x_48); -lean::dec(x_45); -x_51 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_52 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_53 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_51, x_52, x_48); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_7); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; +return x_0; } } obj* l_lean_parser_term_tuple_has__view_x_27___lambda__1(obj* x_0) { @@ -3682,50 +3083,77 @@ goto lbl_3; } lbl_3: { -obj* x_18; obj* x_20; obj* x_21; +obj* x_18; obj* x_19; switch (lean::obj_tag(x_2)) { case 0: { -obj* x_23; obj* x_26; -x_23 = lean::cnstr_get(x_2, 0); -lean::inc(x_23); +obj* x_21; obj* x_24; +x_21 = lean::cnstr_get(x_2, 0); +lean::inc(x_21); lean::dec(x_2); -x_26 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_26, 0, x_23); +x_24 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_24, 0, x_21); if (lean::obj_tag(x_1) == 0) { -x_18 = x_26; -goto lbl_19; +obj* x_25; obj* x_26; +x_25 = lean::box(3); +x_26 = l_lean_parser_syntax_as__node___main(x_25); +if (lean::obj_tag(x_26) == 0) +{ +obj* x_27; obj* x_28; +x_27 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_28 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_28, 0, x_24); +lean::cnstr_set(x_28, 1, x_27); +return x_28; } else { -obj* x_27; -x_27 = lean::cnstr_get(x_1, 0); -lean::inc(x_27); +obj* x_29; obj* x_32; obj* x_35; obj* x_36; obj* x_37; obj* x_38; +x_29 = lean::cnstr_get(x_26, 0); +lean::inc(x_29); +lean::dec(x_26); +x_32 = lean::cnstr_get(x_29, 1); +lean::inc(x_32); +lean::dec(x_29); +x_35 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; +x_36 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; +x_37 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_35, x_36, x_32); +x_38 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_38, 0, x_24); +lean::cnstr_set(x_38, 1, x_37); +return x_38; +} +} +else +{ +obj* x_39; +x_39 = lean::cnstr_get(x_1, 0); +lean::inc(x_39); lean::dec(x_1); -x_20 = x_26; -x_21 = x_27; -goto lbl_22; +x_18 = x_24; +x_19 = x_39; +goto lbl_20; } } case 3: { if (lean::obj_tag(x_1) == 0) { -obj* x_30; -x_30 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; -return x_30; +obj* x_42; +x_42 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; +return x_42; } else { -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_1, 0); -lean::inc(x_31); +obj* x_43; obj* x_46; +x_43 = lean::cnstr_get(x_1, 0); +lean::inc(x_43); lean::dec(x_1); -x_34 = lean::box(0); -x_20 = x_34; -x_21 = x_31; -goto lbl_22; +x_46 = lean::box(0); +x_18 = x_46; +x_19 = x_43; +goto lbl_20; } } default: @@ -3733,84 +3161,52 @@ default: lean::dec(x_2); if (lean::obj_tag(x_1) == 0) { -obj* x_36; -x_36 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; -return x_36; +obj* x_48; +x_48 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__4; +return x_48; } else { -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_1, 0); -lean::inc(x_37); +obj* x_49; obj* x_52; +x_49 = lean::cnstr_get(x_1, 0); +lean::inc(x_49); lean::dec(x_1); -x_40 = lean::box(0); -x_20 = x_40; -x_21 = x_37; -goto lbl_22; +x_52 = lean::box(0); +x_18 = x_52; +x_19 = x_49; +goto lbl_20; } } } -lbl_19: +lbl_20: { -obj* x_41; obj* x_42; -x_41 = lean::box(3); -x_42 = l_lean_parser_syntax_as__node___main(x_41); -if (lean::obj_tag(x_42) == 0) +obj* x_53; +x_53 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_53) == 0) { -obj* x_43; obj* x_44; -x_43 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_44, 0, x_18); -lean::cnstr_set(x_44, 1, x_43); -return x_44; +obj* x_54; obj* x_55; +x_54 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_55 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_55, 0, x_18); +lean::cnstr_set(x_55, 1, x_54); +return x_55; } else { -obj* x_45; obj* x_48; obj* x_51; obj* x_52; obj* x_53; obj* x_54; -x_45 = lean::cnstr_get(x_42, 0); -lean::inc(x_45); -lean::dec(x_42); -x_48 = lean::cnstr_get(x_45, 1); -lean::inc(x_48); -lean::dec(x_45); -x_51 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_52 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_53 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_51, x_52, x_48); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_18); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -} -lbl_22: -{ -obj* x_55; -x_55 = l_lean_parser_syntax_as__node___main(x_21); -if (lean::obj_tag(x_55) == 0) -{ -obj* x_56; obj* x_57; -x_56 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_20); -lean::cnstr_set(x_57, 1, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; obj* x_64; obj* x_65; obj* x_66; obj* x_67; -x_58 = lean::cnstr_get(x_55, 0); -lean::inc(x_58); -lean::dec(x_55); -x_61 = lean::cnstr_get(x_58, 1); -lean::inc(x_61); -lean::dec(x_58); -x_64 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_65 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_66 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_64, x_65, x_61); -x_67 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_67, 0, x_20); -lean::cnstr_set(x_67, 1, x_66); -return x_67; +obj* x_56; obj* x_59; obj* x_62; obj* x_63; obj* x_64; obj* x_65; +x_56 = lean::cnstr_get(x_53, 0); +lean::inc(x_56); +lean::dec(x_53); +x_59 = lean::cnstr_get(x_56, 1); +lean::inc(x_59); +lean::dec(x_56); +x_62 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; +x_63 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; +x_64 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_62, x_63, x_59); +x_65 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_65, 0, x_18); +lean::cnstr_set(x_65, 1, x_64); +return x_65; } } } @@ -4175,43 +3571,16 @@ return x_8; obj* _init_l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_typed_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_tuple_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_tuple_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__2() { @@ -4233,186 +3602,179 @@ return x_8; obj* l_lean_parser_term_paren__special_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_typed_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_tuple_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_typed_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_tuple_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_paren__special_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -4524,177 +3886,82 @@ return x_6; obj* _init_l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -if (lean::obj_tag(x_0) == 0) -{ -obj* x_5; obj* x_6; -x_5 = lean::box(3); -x_6 = l_lean_parser_syntax_as__node___main(x_5); -if (lean::obj_tag(x_6) == 0) -{ -obj* x_7; obj* x_8; -x_7 = l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__1; -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_1); -lean::cnstr_set(x_8, 1, x_7); -return x_8; +obj* x_2; obj* x_3; +x_2 = l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_2); +return x_3; } else { -obj* x_9; obj* x_11; obj* x_12; -x_9 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_11 = x_6; +obj* x_4; obj* x_6; obj* x_7; +x_4 = lean::cnstr_get(x_1, 0); +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_6 = x_1; } else { - lean::inc(x_9); - lean::dec(x_6); - x_11 = lean::box(0); + lean::inc(x_4); + lean::dec(x_1); + x_6 = lean::box(0); } -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -if (lean::obj_tag(x_12) == 0) +x_7 = lean::cnstr_get(x_4, 1); +lean::inc(x_7); +lean::dec(x_4); +if (lean::obj_tag(x_7) == 0) { -obj* x_16; obj* x_17; -lean::dec(x_11); -x_16 = lean::box(0); -x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_1); -lean::cnstr_set(x_17, 1, x_16); -return x_17; +obj* x_11; obj* x_12; +lean::dec(x_6); +x_11 = lean::box(0); +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_11); +return x_12; } else { -obj* x_18; -x_18 = lean::cnstr_get(x_12, 1); -lean::inc(x_18); -if (lean::obj_tag(x_18) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_7, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 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_12, 0); -lean::inc(x_20); -lean::dec(x_12); -x_23 = l_lean_parser_term_paren__special_has__view; -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_11)) { - x_28 = lean::alloc_cnstr(1, 1, 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_7, 0); +lean::inc(x_15); +lean::dec(x_7); +x_18 = l_lean_parser_term_paren__special_has__view; +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_6)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_11; + x_23 = x_6; } -lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_23, 0, x_22); +x_24 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_23); +return x_24; +} +else +{ +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_6); +lean::dec(x_13); +x_28 = l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__1; x_29 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_29, 0, x_1); +lean::cnstr_set(x_29, 0, x_0); lean::cnstr_set(x_29, 1, x_28); return x_29; } -else -{ -obj* x_33; obj* x_34; -lean::dec(x_11); -lean::dec(x_12); -lean::dec(x_18); -x_33 = l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__1; -x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_1); -lean::cnstr_set(x_34, 1, x_33); -return x_34; -} -} -} -} -else -{ -obj* x_35; obj* x_38; -x_35 = lean::cnstr_get(x_0, 0); -lean::inc(x_35); -lean::dec(x_0); -x_38 = l_lean_parser_syntax_as__node___main(x_35); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_39; obj* x_40; -x_39 = l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__1; -x_40 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_39); -return x_40; -} -else -{ -obj* x_41; obj* x_43; obj* x_44; -x_41 = lean::cnstr_get(x_38, 0); -if (lean::is_exclusive(x_38)) { - lean::cnstr_set(x_38, 0, lean::box(0)); - x_43 = x_38; -} else { - lean::inc(x_41); - lean::dec(x_38); - x_43 = lean::box(0); -} -x_44 = lean::cnstr_get(x_41, 1); -lean::inc(x_44); -lean::dec(x_41); -if (lean::obj_tag(x_44) == 0) -{ -obj* x_48; obj* x_49; -lean::dec(x_43); -x_48 = lean::box(0); -x_49 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_49, 0, x_1); -lean::cnstr_set(x_49, 1, x_48); -return x_49; -} -else -{ -obj* x_50; -x_50 = lean::cnstr_get(x_44, 1); -lean::inc(x_50); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_52; obj* x_55; obj* x_56; obj* x_59; obj* x_60; obj* x_61; -x_52 = lean::cnstr_get(x_44, 0); -lean::inc(x_52); -lean::dec(x_44); -x_55 = l_lean_parser_term_paren__special_has__view; -x_56 = lean::cnstr_get(x_55, 0); -lean::inc(x_56); -lean::dec(x_55); -x_59 = lean::apply_1(x_56, x_52); -if (lean::is_scalar(x_43)) { - x_60 = lean::alloc_cnstr(1, 1, 0); -} else { - x_60 = x_43; -} -lean::cnstr_set(x_60, 0, x_59); -x_61 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_61, 0, x_1); -lean::cnstr_set(x_61, 1, x_60); -return x_61; -} -else -{ -obj* x_65; obj* x_66; -lean::dec(x_44); -lean::dec(x_50); -lean::dec(x_43); -x_65 = l_lean_parser_term_paren__content_has__view_x_27___lambda__1___closed__1; -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_1); -lean::cnstr_set(x_66, 1, x_65); -return x_66; -} -} -} } } } @@ -5015,248 +4282,85 @@ return x_6; obj* _init_l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +return x_4; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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_5); + lean::dec(x_2); + x_7 = lean::box(0); } -default: +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) +{ +obj* x_12; +lean::dec(x_7); +x_12 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +lean::cnstr_set(x_12, 2, x_0); +return x_12; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; obj* x_17; obj* x_18; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = lean::box(3); -x_17 = x_0; -x_18 = x_20; -goto lbl_19; -} -else -{ -obj* x_21; obj* x_23; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -x_23 = lean::cnstr_get(x_0, 1); -lean::inc(x_23); -lean::dec(x_0); -x_17 = x_23; -x_18 = x_21; -goto lbl_19; -} -lbl_16: -{ -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_26; obj* x_29; obj* x_30; -x_26 = lean::cnstr_get(x_15, 0); -lean::inc(x_26); -lean::dec(x_15); -x_29 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_29, 0, x_26); -x_30 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_14); -lean::cnstr_set(x_30, 2, x_29); -return x_30; -} -case 3: -{ -obj* x_31; obj* x_32; -x_31 = lean::box(0); -x_32 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_32, 0, x_5); -lean::cnstr_set(x_32, 1, x_14); -lean::cnstr_set(x_32, 2, x_31); -return x_32; -} -default: -{ -obj* x_34; obj* x_35; -lean::dec(x_15); -x_34 = lean::box(0); -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_14); -lean::cnstr_set(x_35, 2, x_34); -return x_35; -} -} -} -lbl_19: -{ -obj* x_36; -x_36 = l_lean_parser_syntax_as__node___main(x_18); -if (lean::obj_tag(x_36) == 0) -{ -if (lean::obj_tag(x_17) == 0) -{ -obj* x_37; obj* x_38; obj* x_39; -x_37 = lean::box(0); -x_38 = l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__1; -x_39 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_39, 0, x_5); -lean::cnstr_set(x_39, 1, x_38); -lean::cnstr_set(x_39, 2, x_37); -return x_39; -} -else -{ -obj* x_40; obj* x_43; -x_40 = lean::cnstr_get(x_17, 0); -lean::inc(x_40); -lean::dec(x_17); -x_43 = l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__1; -x_14 = x_43; -x_15 = x_40; -goto lbl_16; -} -} -else -{ -obj* x_44; obj* x_46; obj* x_47; -x_44 = lean::cnstr_get(x_36, 0); -if (lean::is_exclusive(x_36)) { - lean::cnstr_set(x_36, 0, lean::box(0)); - x_46 = x_36; +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_8); +x_18 = l_lean_parser_term_paren__content_has__view; +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_7)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_44); - lean::dec(x_36); - x_46 = lean::box(0); + x_23 = x_7; } -x_47 = lean::cnstr_get(x_44, 1); -lean::inc(x_47); -lean::dec(x_44); -if (lean::obj_tag(x_47) == 0) -{ -obj* x_51; -lean::dec(x_46); -x_51 = lean::box(0); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_52; -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_51); -lean::cnstr_set(x_52, 2, x_51); -return x_52; +lean::cnstr_set(x_23, 0, x_22); +x_24 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_23); +lean::cnstr_set(x_24, 2, x_0); +return x_24; } else { -obj* x_53; -x_53 = lean::cnstr_get(x_17, 0); -lean::inc(x_53); -lean::dec(x_17); -x_14 = x_51; -x_15 = x_53; -goto lbl_16; -} -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_47, 1); -lean::inc(x_56); -if (lean::obj_tag(x_56) == 0) -{ -obj* x_58; obj* x_61; obj* x_62; obj* x_65; obj* x_66; -x_58 = lean::cnstr_get(x_47, 0); -lean::inc(x_58); -lean::dec(x_47); -x_61 = l_lean_parser_term_paren__content_has__view; -x_62 = lean::cnstr_get(x_61, 0); -lean::inc(x_62); -lean::dec(x_61); -x_65 = lean::apply_1(x_62, x_58); -if (lean::is_scalar(x_46)) { - x_66 = lean::alloc_cnstr(1, 1, 0); -} else { - x_66 = x_46; -} -lean::cnstr_set(x_66, 0, x_65); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_67; obj* x_68; -x_67 = lean::box(0); -x_68 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_68, 0, x_5); -lean::cnstr_set(x_68, 1, x_66); -lean::cnstr_set(x_68, 2, x_67); -return x_68; -} -else -{ -obj* x_69; -x_69 = lean::cnstr_get(x_17, 0); -lean::inc(x_69); -lean::dec(x_17); -x_14 = x_66; -x_15 = x_69; -goto lbl_16; -} -} -else -{ -lean::dec(x_47); -lean::dec(x_56); -lean::dec(x_46); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_75; obj* x_76; obj* x_77; -x_75 = lean::box(0); -x_76 = l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__1; -x_77 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_77, 0, x_5); -lean::cnstr_set(x_77, 1, x_76); -lean::cnstr_set(x_77, 2, x_75); -return x_77; -} -else -{ -obj* x_78; obj* x_81; -x_78 = lean::cnstr_get(x_17, 0); -lean::inc(x_78); -lean::dec(x_17); -x_81 = l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__1; -x_14 = x_81; -x_15 = x_78; -goto lbl_16; -} -} -} -} +obj* x_28; obj* x_29; +lean::dec(x_7); +lean::dec(x_8); +lean::dec(x_13); +x_28 = l_lean_parser_term_paren_has__view_x_27___lambda__1___closed__1; +x_29 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_29, 0, x_0); +lean::cnstr_set(x_29, 1, x_28); +lean::cnstr_set(x_29, 2, x_0); +return x_29; } } } @@ -7301,79 +6405,9 @@ return x_1; obj* _init_l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_16; obj* x_19; obj* x_20; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -x_20 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -case 3: -{ -obj* x_21; -x_21 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__2; -return x_21; -} -default: -{ -obj* x_23; -lean::dec(x_0); -x_23 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__2; -return x_23; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__4() { @@ -7395,220 +6429,236 @@ return x_8; obj* l_lean_parser_term_sort_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_80, 0, x_79); -return x_80; +obj* x_72; obj* x_75; obj* x_76; +x_72 = lean::cnstr_get(x_56, 0); +lean::inc(x_72); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_75 = lean::alloc_cnstr(1, 1, 0); +} else { + x_75 = x_26; +} +lean::cnstr_set(x_75, 0, x_72); +x_76 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_76, 0, x_75); +return x_76; } case 3: { +obj* x_78; +lean::dec(x_26); +x_78 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__2; +return x_78; +} +default: +{ obj* x_81; +lean::dec(x_56); +lean::dec(x_26); x_81 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__2; return x_81; } -default: +} +} +} +else { -obj* x_83; -lean::dec(x_1); -x_83 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__2; -return x_83; +obj* x_86; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_86 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_86; +} +} +} +} +} +} +} +else +{ +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_term_sort_has__view_x_27___lambda__1___closed__3; +return x_89; } } } @@ -8350,59 +7400,9 @@ return x_0; obj* _init_l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_hole_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -switch (lean::obj_tag(x_0)) { -case 1: -{ -obj* x_14; obj* x_17; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -lean::dec(x_0); -x_17 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -return x_17; -} -case 3: -{ -obj* x_18; -x_18 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; -return x_18; -} -default: -{ -obj* x_20; -lean::dec(x_0); -x_20 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; -return x_20; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__4() { @@ -8424,200 +7424,193 @@ return x_8; obj* l_lean_parser_term_binder__ident_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_30; +} +case 1: +{ obj* x_33; lean::dec(x_27); +lean::dec(x_24); x_33 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; return x_33; } -case 1: -{ -obj* x_36; -lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_36; -} default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_hole_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else -{ -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_hole_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); -return x_73; -} -else -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_52)) { case 1: { -obj* x_74; obj* x_77; -x_74 = lean::cnstr_get(x_1, 0); -lean::inc(x_74); -lean::dec(x_1); -x_77 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_77, 0, x_74); -return x_77; +obj* x_64; obj* x_67; +x_64 = lean::cnstr_get(x_52, 0); +lean::inc(x_64); +lean::dec(x_52); +x_67 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_67, 0, x_64); +return x_67; } case 3: { -obj* x_78; -x_78 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; -return x_78; +obj* x_68; +x_68 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; +return x_68; } default: { -obj* x_80; -lean::dec(x_1); -x_80 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; -return x_80; +obj* x_70; +lean::dec(x_52); +x_70 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__2; +return x_70; +} +} +} +} +else +{ +obj* x_74; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_74 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_74; +} +} +} +} +} +} +} +else +{ +obj* x_77; +lean::dec(x_8); +lean::dec(x_17); +x_77 = l_lean_parser_term_binder__ident_has__view_x_27___lambda__1___closed__3; +return x_77; } } } @@ -9297,43 +8290,16 @@ return x_8; obj* _init_l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_binder__default__tac_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_binder__default__val_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_binder__default__val_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__2() { @@ -9355,186 +8321,179 @@ return x_8; obj* l_lean_parser_term_binder__default_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_binder__default__tac_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_binder__default__val_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_binder__default__tac_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_binder__default__val_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_binder__default_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -9808,36 +8767,6 @@ return x_8; obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; -x_0 = l_lean_parser_term_binder__default_has__view; -x_1 = lean::cnstr_get(x_0, 0); -lean::inc(x_1); -lean::dec(x_0); -x_4 = lean::box(3); -x_5 = lean::apply_1(x_1, x_4); -x_6 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_6, 0, x_5); -return x_6; -} -} -obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2() { -_start: -{ -obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; -x_0 = l_lean_parser_term_type__spec_has__view; -x_1 = lean::cnstr_get(x_0, 0); -lean::inc(x_1); -lean::dec(x_0); -x_4 = lean::box(3); -x_5 = lean::apply_1(x_1, x_4); -x_6 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_6, 0, x_5); -return x_6; -} -} -obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3() { -_start: -{ obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; x_0 = l_lean_parser_term_binder__ident_has__view; x_1 = lean::cnstr_get(x_0, 0); @@ -9852,9 +8781,228 @@ lean::cnstr_set(x_7, 1, x_6); return x_7; } } +obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2() { +_start: +{ +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_binder__default_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; +} +} +obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3() { +_start: +{ +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; +x_0 = l_lean_parser_term_type__spec_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +x_7 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_7) == 0) +{ +obj* x_8; obj* x_9; obj* x_10; +x_8 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_9 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_10 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_10, 0, x_8); +lean::cnstr_set(x_10, 1, x_6); +lean::cnstr_set(x_10, 2, x_9); +return x_10; +} +else +{ +obj* x_11; obj* x_13; obj* x_14; +x_11 = lean::cnstr_get(x_7, 0); +if (lean::is_exclusive(x_7)) { + lean::cnstr_set(x_7, 0, lean::box(0)); + x_13 = x_7; +} else { + lean::inc(x_11); + lean::dec(x_7); + x_13 = lean::box(0); +} +x_14 = lean::cnstr_get(x_11, 1); +lean::inc(x_14); +lean::dec(x_11); +if (lean::obj_tag(x_14) == 0) +{ +obj* x_18; obj* x_19; obj* x_20; +lean::dec(x_13); +x_18 = lean::box(0); +x_19 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_20 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_20, 0, x_19); +lean::cnstr_set(x_20, 1, x_6); +lean::cnstr_set(x_20, 2, x_18); +return x_20; +} +else +{ +obj* x_21; +x_21 = lean::cnstr_get(x_14, 1); +lean::inc(x_21); +if (lean::obj_tag(x_21) == 0) +{ +obj* x_23; obj* x_26; obj* x_27; obj* x_30; obj* x_31; obj* x_32; obj* x_33; +x_23 = lean::cnstr_get(x_14, 0); +lean::inc(x_23); +lean::dec(x_14); +x_26 = l_lean_parser_term_binder__default_has__view; +x_27 = lean::cnstr_get(x_26, 0); +lean::inc(x_27); +lean::dec(x_26); +x_30 = lean::apply_1(x_27, x_23); +if (lean::is_scalar(x_13)) { + x_31 = lean::alloc_cnstr(1, 1, 0); +} else { + x_31 = x_13; +} +lean::cnstr_set(x_31, 0, x_30); +x_32 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_33 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_33, 0, x_32); +lean::cnstr_set(x_33, 1, x_6); +lean::cnstr_set(x_33, 2, x_31); +return x_33; +} +else +{ +obj* x_37; obj* x_38; obj* x_39; +lean::dec(x_14); +lean::dec(x_13); +lean::dec(x_21); +x_37 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_38 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_39 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_39, 0, x_37); +lean::cnstr_set(x_39, 1, x_6); +lean::cnstr_set(x_39, 2, x_38); +return x_39; +} +} +} +} +} obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4() { _start: { +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_type__spec_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; +} +} +obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5() { +_start: +{ +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) +{ +obj* x_3; obj* x_4; obj* x_5; +x_3 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_4 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_5 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_5, 0, x_3); +lean::cnstr_set(x_5, 1, x_0); +lean::cnstr_set(x_5, 2, x_4); +return x_5; +} +else +{ +obj* x_6; obj* x_8; obj* x_9; +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_2); + x_8 = 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) +{ +obj* x_13; obj* x_14; +lean::dec(x_8); +x_13 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_14 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_14, 0, x_13); +lean::cnstr_set(x_14, 1, x_0); +lean::cnstr_set(x_14, 2, x_0); +return x_14; +} +else +{ +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_20 = l_lean_parser_term_binder__default_has__view; +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_25 = lean::alloc_cnstr(1, 1, 0); +} else { + x_25 = x_8; +} +lean::cnstr_set(x_25, 0, x_24); +x_26 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_27 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_27, 0, x_26); +lean::cnstr_set(x_27, 1, x_0); +lean::cnstr_set(x_27, 2, x_25); +return x_27; +} +else +{ +obj* x_31; obj* x_32; obj* x_33; +lean::dec(x_9); +lean::dec(x_8); +lean::dec(x_15); +x_31 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_32 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_33 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_33, 0, x_31); +lean::cnstr_set(x_33, 1, x_0); +lean::cnstr_set(x_33, 2, x_32); +return x_33; +} +} +} +} +} +obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6() { +_start: +{ obj* x_0; obj* x_1; x_0 = l_lean_parser_term_binder__ident_has__view; x_1 = lean::cnstr_get(x_0, 0); @@ -9863,355 +9011,285 @@ lean::dec(x_0); return x_1; } } -obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5() { +obj* _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__7() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; obj* x_7; -x_7 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_7) == 0) +if (lean::obj_tag(x_1) == 0) +{ +obj* x_2; +x_2 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; +return x_2; +} +else +{ +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); +lean::dec(x_3); +if (lean::obj_tag(x_5) == 0) { obj* x_8; -x_8 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; -x_5 = x_8; -goto lbl_6; +x_8 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5; +return x_8; } else { -obj* x_9; obj* x_12; obj* x_15; obj* x_16; -x_9 = lean::cnstr_get(x_7, 0); +obj* x_9; +x_9 = lean::cnstr_get(x_5, 1); lean::inc(x_9); -lean::dec(x_7); -x_12 = lean::cnstr_get(x_9, 1); -lean::inc(x_12); -lean::dec(x_9); -x_15 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; -x_16 = l_list_map___main___rarg(x_15, x_12); -x_5 = x_16; -goto lbl_6; -} -lbl_6: +if (lean::obj_tag(x_9) == 0) { -obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; -if (lean::obj_tag(x_0) == 0) +obj* x_11; obj* x_13; obj* x_14; obj* x_18; obj* x_19; +x_11 = lean::cnstr_get(x_5, 0); +lean::inc(x_11); +x_13 = l_lean_parser_term_type__spec_has__view; +x_14 = lean::cnstr_get(x_13, 0); +lean::inc(x_14); +lean::dec(x_13); +lean::inc(x_11); +x_18 = lean::apply_1(x_14, x_11); +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_22; obj* x_23; obj* x_24; +lean::dec(x_5); +lean::dec(x_11); +x_22 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_23 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_24 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_24, 0, x_22); +lean::cnstr_set(x_24, 1, x_19); +lean::cnstr_set(x_24, 2, x_23); +return x_24; +} +else { obj* x_25; -x_25 = lean::box(3); -x_22 = x_0; -x_23 = x_25; -goto lbl_24; -} -else -{ -obj* x_26; obj* x_28; -x_26 = lean::cnstr_get(x_0, 0); -lean::inc(x_26); -x_28 = lean::cnstr_get(x_0, 1); -lean::inc(x_28); -lean::dec(x_0); -x_22 = x_28; -x_23 = x_26; -goto lbl_24; -} -lbl_18: -{ -obj* x_31; obj* x_32; -x_31 = lean::box(3); -x_32 = l_lean_parser_syntax_as__node___main(x_31); -if (lean::obj_tag(x_32) == 0) -{ -obj* x_33; obj* x_34; -x_33 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_34 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_34, 0, x_5); -lean::cnstr_set(x_34, 1, x_17); -lean::cnstr_set(x_34, 2, x_33); -return x_34; -} -else -{ -obj* x_35; obj* x_37; obj* x_38; -x_35 = lean::cnstr_get(x_32, 0); -if (lean::is_exclusive(x_32)) { - lean::cnstr_set(x_32, 0, lean::box(0)); - x_37 = x_32; +if (lean::is_exclusive(x_1)) { + lean::cnstr_release(x_1, 0); + x_25 = x_1; } else { - lean::inc(x_35); - lean::dec(x_32); - x_37 = lean::box(0); + lean::dec(x_1); + x_25 = lean::box(0); } -x_38 = lean::cnstr_get(x_35, 1); -lean::inc(x_38); -lean::dec(x_35); -if (lean::obj_tag(x_38) == 0) +if (lean::obj_tag(x_5) == 0) { -obj* x_42; obj* x_43; -lean::dec(x_37); -x_42 = lean::box(0); -x_43 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_43, 0, x_5); -lean::cnstr_set(x_43, 1, x_17); -lean::cnstr_set(x_43, 2, x_42); -return x_43; +obj* x_28; obj* x_29; obj* x_30; +lean::dec(x_25); +lean::dec(x_11); +x_28 = lean::box(0); +x_29 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_30 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_30, 0, x_29); +lean::cnstr_set(x_30, 1, x_19); +lean::cnstr_set(x_30, 2, x_28); +return x_30; } else { -obj* x_44; -x_44 = lean::cnstr_get(x_38, 1); -lean::inc(x_44); -if (lean::obj_tag(x_44) == 0) +lean::dec(x_5); +if (lean::obj_tag(x_9) == 0) { -obj* x_46; obj* x_49; obj* x_50; obj* x_53; obj* x_54; obj* x_55; -x_46 = lean::cnstr_get(x_38, 0); -lean::inc(x_46); -lean::dec(x_38); -x_49 = l_lean_parser_term_binder__default_has__view; -x_50 = lean::cnstr_get(x_49, 0); +obj* x_32; obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_39; +x_32 = l_lean_parser_term_binder__default_has__view; +x_33 = lean::cnstr_get(x_32, 0); +lean::inc(x_33); +lean::dec(x_32); +x_36 = lean::apply_1(x_33, x_11); +if (lean::is_scalar(x_25)) { + x_37 = lean::alloc_cnstr(1, 1, 0); +} else { + x_37 = x_25; +} +lean::cnstr_set(x_37, 0, x_36); +x_38 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_39 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_39, 0, x_38); +lean::cnstr_set(x_39, 1, x_19); +lean::cnstr_set(x_39, 2, x_37); +return x_39; +} +else +{ +obj* x_42; obj* x_43; obj* x_44; +lean::dec(x_25); +lean::dec(x_11); +x_42 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_43 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_44 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_44, 0, x_42); +lean::cnstr_set(x_44, 1, x_19); +lean::cnstr_set(x_44, 2, x_43); +return x_44; +} +} +} +} +else +{ +obj* x_47; +lean::dec(x_9); +lean::dec(x_5); +x_47 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; +return x_47; +} +} +} +} +else +{ +obj* x_48; obj* x_50; obj* x_53; obj* x_55; obj* x_56; +x_48 = lean::cnstr_get(x_1, 0); +lean::inc(x_48); +x_50 = lean::cnstr_get(x_48, 1); lean::inc(x_50); -lean::dec(x_49); -x_53 = lean::apply_1(x_50, x_46); -if (lean::is_scalar(x_37)) { - x_54 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_48); +x_53 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6; +lean::inc(x_50); +x_55 = l_list_map___main___rarg(x_53, x_50); +if (lean::obj_tag(x_1) == 0) +{ +obj* x_58; +x_58 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_56 = x_58; +goto lbl_57; +} +else +{ +obj* x_60; +lean::inc(x_1); +if (lean::is_exclusive(x_1)) { + lean::cnstr_release(x_1, 0); + x_60 = x_1; } else { - x_54 = x_37; + lean::dec(x_1); + x_60 = lean::box(0); } -lean::cnstr_set(x_54, 0, x_53); -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_17); -lean::cnstr_set(x_55, 2, x_54); -return x_55; +if (lean::obj_tag(x_50) == 0) +{ +obj* x_62; +lean::dec(x_60); +x_62 = lean::box(0); +x_56 = x_62; +goto lbl_57; } else { -obj* x_59; obj* x_60; -lean::dec(x_44); -lean::dec(x_38); -lean::dec(x_37); -x_59 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_60 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_17); -lean::cnstr_set(x_60, 2, x_59); -return x_60; -} -} -} -} -lbl_21: +obj* x_63; +x_63 = lean::cnstr_get(x_50, 1); +lean::inc(x_63); +if (lean::obj_tag(x_63) == 0) { -obj* x_61; -x_61 = l_lean_parser_syntax_as__node___main(x_20); -if (lean::obj_tag(x_61) == 0) -{ -obj* x_62; obj* x_63; -x_62 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_19); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -else -{ -obj* x_64; obj* x_66; obj* x_67; -x_64 = lean::cnstr_get(x_61, 0); -if (lean::is_exclusive(x_61)) { - lean::cnstr_set(x_61, 0, lean::box(0)); - x_66 = x_61; -} else { - lean::inc(x_64); - lean::dec(x_61); - x_66 = lean::box(0); -} -x_67 = lean::cnstr_get(x_64, 1); -lean::inc(x_67); -lean::dec(x_64); -if (lean::obj_tag(x_67) == 0) -{ -obj* x_71; obj* x_72; -lean::dec(x_66); -x_71 = lean::box(0); -x_72 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_72, 0, x_5); -lean::cnstr_set(x_72, 1, x_19); -lean::cnstr_set(x_72, 2, x_71); -return x_72; -} -else -{ -obj* x_73; -x_73 = lean::cnstr_get(x_67, 1); -lean::inc(x_73); -if (lean::obj_tag(x_73) == 0) -{ -obj* x_75; obj* x_78; obj* x_79; obj* x_82; obj* x_83; obj* x_84; -x_75 = lean::cnstr_get(x_67, 0); -lean::inc(x_75); +obj* x_65; obj* x_67; obj* x_68; obj* x_71; obj* x_72; +x_65 = lean::cnstr_get(x_50, 0); +lean::inc(x_65); +x_67 = l_lean_parser_term_type__spec_has__view; +x_68 = lean::cnstr_get(x_67, 0); +lean::inc(x_68); lean::dec(x_67); -x_78 = l_lean_parser_term_binder__default_has__view; -x_79 = lean::cnstr_get(x_78, 0); -lean::inc(x_79); -lean::dec(x_78); -x_82 = lean::apply_1(x_79, x_75); -if (lean::is_scalar(x_66)) { - x_83 = lean::alloc_cnstr(1, 1, 0); +x_71 = lean::apply_1(x_68, x_65); +if (lean::is_scalar(x_60)) { + x_72 = lean::alloc_cnstr(1, 1, 0); } else { - x_83 = x_66; + x_72 = x_60; } -lean::cnstr_set(x_83, 0, x_82); -x_84 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_84, 0, x_5); -lean::cnstr_set(x_84, 1, x_19); -lean::cnstr_set(x_84, 2, x_83); -return x_84; +lean::cnstr_set(x_72, 0, x_71); +x_56 = x_72; +goto lbl_57; } else { -obj* x_88; obj* x_89; -lean::dec(x_73); -lean::dec(x_66); -lean::dec(x_67); -x_88 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_89 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_89, 0, x_5); -lean::cnstr_set(x_89, 1, x_19); -lean::cnstr_set(x_89, 2, x_88); -return x_89; +obj* x_75; +lean::dec(x_63); +lean::dec(x_60); +x_75 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_56 = x_75; +goto lbl_57; } } } -} -lbl_24: +lbl_57: { -obj* x_90; -x_90 = l_lean_parser_syntax_as__node___main(x_23); -if (lean::obj_tag(x_90) == 0) +if (lean::obj_tag(x_1) == 0) { -if (lean::obj_tag(x_22) == 0) -{ -obj* x_91; -x_91 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_17 = x_91; -goto lbl_18; +obj* x_77; obj* x_78; +lean::dec(x_50); +x_77 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_78 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_78, 0, x_55); +lean::cnstr_set(x_78, 1, x_56); +lean::cnstr_set(x_78, 2, x_77); +return x_78; } else { -obj* x_92; obj* x_95; -x_92 = lean::cnstr_get(x_22, 0); -lean::inc(x_92); -lean::dec(x_22); -x_95 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_19 = x_95; -x_20 = x_92; -goto lbl_21; -} -} -else -{ -obj* x_96; obj* x_98; obj* x_99; -x_96 = lean::cnstr_get(x_90, 0); -if (lean::is_exclusive(x_90)) { - lean::cnstr_set(x_90, 0, lean::box(0)); - x_98 = x_90; +obj* x_79; +if (lean::is_exclusive(x_1)) { + lean::cnstr_release(x_1, 0); + x_79 = x_1; } else { - lean::inc(x_96); - lean::dec(x_90); - x_98 = lean::box(0); + lean::dec(x_1); + x_79 = lean::box(0); } -x_99 = lean::cnstr_get(x_96, 1); -lean::inc(x_99); -lean::dec(x_96); -if (lean::obj_tag(x_99) == 0) +if (lean::obj_tag(x_50) == 0) { -obj* x_103; -lean::dec(x_98); -x_103 = lean::box(0); -if (lean::obj_tag(x_22) == 0) -{ -x_17 = x_103; -goto lbl_18; +obj* x_81; obj* x_82; +lean::dec(x_79); +x_81 = lean::box(0); +x_82 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_82, 0, x_55); +lean::cnstr_set(x_82, 1, x_56); +lean::cnstr_set(x_82, 2, x_81); +return x_82; } else { -obj* x_104; -x_104 = lean::cnstr_get(x_22, 0); -lean::inc(x_104); -lean::dec(x_22); -x_19 = x_103; -x_20 = x_104; -goto lbl_21; -} -} -else +obj* x_83; +x_83 = lean::cnstr_get(x_50, 1); +lean::inc(x_83); +if (lean::obj_tag(x_83) == 0) { -obj* x_107; -x_107 = lean::cnstr_get(x_99, 1); -lean::inc(x_107); -if (lean::obj_tag(x_107) == 0) -{ -obj* x_109; obj* x_112; obj* x_113; obj* x_116; obj* x_117; -x_109 = lean::cnstr_get(x_99, 0); -lean::inc(x_109); -lean::dec(x_99); -x_112 = l_lean_parser_term_type__spec_has__view; -x_113 = lean::cnstr_get(x_112, 0); -lean::inc(x_113); -lean::dec(x_112); -x_116 = lean::apply_1(x_113, x_109); -if (lean::is_scalar(x_98)) { - x_117 = lean::alloc_cnstr(1, 1, 0); +obj* x_85; obj* x_88; obj* x_89; obj* x_92; obj* x_93; obj* x_94; +x_85 = lean::cnstr_get(x_50, 0); +lean::inc(x_85); +lean::dec(x_50); +x_88 = l_lean_parser_term_binder__default_has__view; +x_89 = lean::cnstr_get(x_88, 0); +lean::inc(x_89); +lean::dec(x_88); +x_92 = lean::apply_1(x_89, x_85); +if (lean::is_scalar(x_79)) { + x_93 = lean::alloc_cnstr(1, 1, 0); } else { - x_117 = x_98; + x_93 = x_79; } -lean::cnstr_set(x_117, 0, x_116); -if (lean::obj_tag(x_22) == 0) -{ -x_17 = x_117; -goto lbl_18; +lean::cnstr_set(x_93, 0, x_92); +x_94 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_94, 0, x_55); +lean::cnstr_set(x_94, 1, x_56); +lean::cnstr_set(x_94, 2, x_93); +return x_94; } else { -obj* x_118; -x_118 = lean::cnstr_get(x_22, 0); -lean::inc(x_118); -lean::dec(x_22); -x_19 = x_117; -x_20 = x_118; -goto lbl_21; -} -} -else -{ -lean::dec(x_107); -lean::dec(x_98); -lean::dec(x_99); -if (lean::obj_tag(x_22) == 0) -{ -obj* x_124; -x_124 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_17 = x_124; -goto lbl_18; -} -else -{ -obj* x_125; obj* x_128; -x_125 = lean::cnstr_get(x_22, 0); -lean::inc(x_125); -lean::dec(x_22); -x_128 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_19 = x_128; -x_20 = x_125; -goto lbl_21; -} -} +obj* x_98; obj* x_99; +lean::dec(x_50); +lean::dec(x_83); +lean::dec(x_79); +x_98 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_99 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_99, 0, x_55); +lean::cnstr_set(x_99, 1, x_56); +lean::cnstr_set(x_99, 2, x_98); +return x_99; } } } @@ -10227,7 +9305,7 @@ x_4 = l_lean_parser_syntax_as__node___main(x_0); if (lean::obj_tag(x_4) == 0) { obj* x_5; -x_5 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5; +x_5 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__7; return x_5; } else @@ -10262,342 +9340,649 @@ goto lbl_3; } lbl_3: { -obj* x_18; obj* x_20; -x_20 = l_lean_parser_syntax_as__node___main(x_2); -if (lean::obj_tag(x_20) == 0) +obj* x_18; +x_18 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_18) == 0) { -obj* x_21; -x_21 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; -x_18 = x_21; -goto lbl_19; -} -else -{ -obj* x_22; obj* x_25; obj* x_28; obj* x_29; -x_22 = lean::cnstr_get(x_20, 0); -lean::inc(x_22); -lean::dec(x_20); -x_25 = lean::cnstr_get(x_22, 1); -lean::inc(x_25); -lean::dec(x_22); -x_28 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; -x_29 = l_list_map___main___rarg(x_28, x_25); -x_18 = x_29; -goto lbl_19; -} -lbl_19: -{ -obj* x_30; obj* x_32; obj* x_33; obj* x_35; obj* x_36; +obj* x_19; obj* x_20; obj* x_22; obj* x_23; if (lean::obj_tag(x_1) == 0) { -obj* x_38; -x_38 = lean::box(3); -x_35 = x_1; -x_36 = x_38; -goto lbl_37; +obj* x_25; +x_25 = lean::box(3); +x_22 = x_1; +x_23 = x_25; +goto lbl_24; } else { -obj* x_39; obj* x_41; -x_39 = lean::cnstr_get(x_1, 0); -lean::inc(x_39); -x_41 = lean::cnstr_get(x_1, 1); -lean::inc(x_41); +obj* x_26; obj* x_28; +x_26 = lean::cnstr_get(x_1, 0); +lean::inc(x_26); +x_28 = lean::cnstr_get(x_1, 1); +lean::inc(x_28); lean::dec(x_1); -x_35 = x_41; -x_36 = x_39; -goto lbl_37; +x_22 = x_28; +x_23 = x_26; +goto lbl_24; } -lbl_31: +lbl_21: { -obj* x_44; obj* x_45; -x_44 = lean::box(3); -x_45 = l_lean_parser_syntax_as__node___main(x_44); +obj* x_31; +x_31 = l_lean_parser_syntax_as__node___main(x_20); +if (lean::obj_tag(x_31) == 0) +{ +obj* x_32; obj* x_33; obj* x_34; +x_32 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_33 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_34 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_34, 0, x_32); +lean::cnstr_set(x_34, 1, x_19); +lean::cnstr_set(x_34, 2, x_33); +return x_34; +} +else +{ +obj* x_35; obj* x_37; obj* x_38; +x_35 = lean::cnstr_get(x_31, 0); +if (lean::is_exclusive(x_31)) { + lean::cnstr_set(x_31, 0, lean::box(0)); + x_37 = x_31; +} else { + lean::inc(x_35); + lean::dec(x_31); + x_37 = lean::box(0); +} +x_38 = lean::cnstr_get(x_35, 1); +lean::inc(x_38); +lean::dec(x_35); +if (lean::obj_tag(x_38) == 0) +{ +obj* x_42; obj* x_43; obj* x_44; +lean::dec(x_37); +x_42 = lean::box(0); +x_43 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_44 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_44, 0, x_43); +lean::cnstr_set(x_44, 1, x_19); +lean::cnstr_set(x_44, 2, x_42); +return x_44; +} +else +{ +obj* x_45; +x_45 = lean::cnstr_get(x_38, 1); +lean::inc(x_45); if (lean::obj_tag(x_45) == 0) { -obj* x_46; obj* x_47; -x_46 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_47 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_47, 0, x_18); -lean::cnstr_set(x_47, 1, x_30); -lean::cnstr_set(x_47, 2, x_46); -return x_47; -} -else -{ -obj* x_48; obj* x_50; obj* x_51; -x_48 = lean::cnstr_get(x_45, 0); -if (lean::is_exclusive(x_45)) { - lean::cnstr_set(x_45, 0, lean::box(0)); - x_50 = x_45; -} else { - lean::inc(x_48); - lean::dec(x_45); - x_50 = lean::box(0); -} -x_51 = lean::cnstr_get(x_48, 1); +obj* x_47; obj* x_50; obj* x_51; obj* x_54; obj* x_55; obj* x_56; obj* x_57; +x_47 = lean::cnstr_get(x_38, 0); +lean::inc(x_47); +lean::dec(x_38); +x_50 = l_lean_parser_term_binder__default_has__view; +x_51 = lean::cnstr_get(x_50, 0); lean::inc(x_51); -lean::dec(x_48); -if (lean::obj_tag(x_51) == 0) -{ -obj* x_55; obj* x_56; lean::dec(x_50); -x_55 = lean::box(0); -x_56 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_56, 0, x_18); -lean::cnstr_set(x_56, 1, x_30); -lean::cnstr_set(x_56, 2, x_55); -return x_56; -} -else -{ -obj* x_57; -x_57 = lean::cnstr_get(x_51, 1); -lean::inc(x_57); -if (lean::obj_tag(x_57) == 0) -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_66; obj* x_67; obj* x_68; -x_59 = lean::cnstr_get(x_51, 0); -lean::inc(x_59); -lean::dec(x_51); -x_62 = l_lean_parser_term_binder__default_has__view; -x_63 = lean::cnstr_get(x_62, 0); -lean::inc(x_63); -lean::dec(x_62); -x_66 = lean::apply_1(x_63, x_59); -if (lean::is_scalar(x_50)) { - x_67 = lean::alloc_cnstr(1, 1, 0); +x_54 = lean::apply_1(x_51, x_47); +if (lean::is_scalar(x_37)) { + x_55 = lean::alloc_cnstr(1, 1, 0); } else { - x_67 = x_50; + x_55 = x_37; } -lean::cnstr_set(x_67, 0, x_66); -x_68 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_68, 0, x_18); -lean::cnstr_set(x_68, 1, x_30); -lean::cnstr_set(x_68, 2, x_67); -return x_68; +lean::cnstr_set(x_55, 0, x_54); +x_56 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_57 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_57, 0, x_56); +lean::cnstr_set(x_57, 1, x_19); +lean::cnstr_set(x_57, 2, x_55); +return x_57; } else { -obj* x_72; obj* x_73; -lean::dec(x_57); -lean::dec(x_51); -lean::dec(x_50); -x_72 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_73 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_73, 0, x_18); -lean::cnstr_set(x_73, 1, x_30); -lean::cnstr_set(x_73, 2, x_72); -return x_73; +obj* x_61; obj* x_62; obj* x_63; +lean::dec(x_38); +lean::dec(x_37); +lean::dec(x_45); +x_61 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_62 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_63 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_63, 0, x_61); +lean::cnstr_set(x_63, 1, x_19); +lean::cnstr_set(x_63, 2, x_62); +return x_63; } } } } -lbl_34: +lbl_24: { -obj* x_74; -x_74 = l_lean_parser_syntax_as__node___main(x_33); -if (lean::obj_tag(x_74) == 0) +obj* x_64; +x_64 = l_lean_parser_syntax_as__node___main(x_23); +if (lean::obj_tag(x_64) == 0) { -obj* x_75; obj* x_76; -x_75 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_76 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_76, 0, x_18); -lean::cnstr_set(x_76, 1, x_32); -lean::cnstr_set(x_76, 2, x_75); -return x_76; +if (lean::obj_tag(x_22) == 0) +{ +obj* x_65; +x_65 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; +return x_65; } else { -obj* x_77; obj* x_79; obj* x_80; -x_77 = lean::cnstr_get(x_74, 0); -if (lean::is_exclusive(x_74)) { - lean::cnstr_set(x_74, 0, lean::box(0)); - x_79 = x_74; +obj* x_66; obj* x_69; +x_66 = lean::cnstr_get(x_22, 0); +lean::inc(x_66); +lean::dec(x_22); +x_69 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_19 = x_69; +x_20 = x_66; +goto lbl_21; +} +} +else +{ +obj* x_70; obj* x_72; obj* x_73; +x_70 = lean::cnstr_get(x_64, 0); +if (lean::is_exclusive(x_64)) { + lean::cnstr_set(x_64, 0, lean::box(0)); + x_72 = x_64; } else { - lean::inc(x_77); - lean::dec(x_74); - x_79 = lean::box(0); + lean::inc(x_70); + lean::dec(x_64); + x_72 = lean::box(0); } -x_80 = lean::cnstr_get(x_77, 1); -lean::inc(x_80); -lean::dec(x_77); -if (lean::obj_tag(x_80) == 0) +x_73 = lean::cnstr_get(x_70, 1); +lean::inc(x_73); +lean::dec(x_70); +if (lean::obj_tag(x_73) == 0) { -obj* x_84; obj* x_85; -lean::dec(x_79); -x_84 = lean::box(0); -x_85 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_85, 0, x_18); -lean::cnstr_set(x_85, 1, x_32); -lean::cnstr_set(x_85, 2, x_84); -return x_85; +lean::dec(x_72); +if (lean::obj_tag(x_22) == 0) +{ +obj* x_77; +x_77 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5; +return x_77; } else { -obj* x_86; -x_86 = lean::cnstr_get(x_80, 1); -lean::inc(x_86); -if (lean::obj_tag(x_86) == 0) +obj* x_78; obj* x_81; +x_78 = lean::cnstr_get(x_22, 0); +lean::inc(x_78); +lean::dec(x_22); +x_81 = lean::box(0); +x_19 = x_81; +x_20 = x_78; +goto lbl_21; +} +} +else { -obj* x_88; obj* x_91; obj* x_92; obj* x_95; obj* x_96; obj* x_97; -x_88 = lean::cnstr_get(x_80, 0); +obj* x_82; +x_82 = lean::cnstr_get(x_73, 1); +lean::inc(x_82); +if (lean::obj_tag(x_82) == 0) +{ +obj* x_84; obj* x_87; obj* x_88; obj* x_91; obj* x_92; +x_84 = lean::cnstr_get(x_73, 0); +lean::inc(x_84); +lean::dec(x_73); +x_87 = l_lean_parser_term_type__spec_has__view; +x_88 = lean::cnstr_get(x_87, 0); lean::inc(x_88); -lean::dec(x_80); -x_91 = l_lean_parser_term_binder__default_has__view; -x_92 = lean::cnstr_get(x_91, 0); -lean::inc(x_92); -lean::dec(x_91); -x_95 = lean::apply_1(x_92, x_88); -if (lean::is_scalar(x_79)) { - x_96 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_87); +x_91 = lean::apply_1(x_88, x_84); +if (lean::is_scalar(x_72)) { + x_92 = lean::alloc_cnstr(1, 1, 0); } else { - x_96 = x_79; + x_92 = x_72; } -lean::cnstr_set(x_96, 0, x_95); +lean::cnstr_set(x_92, 0, x_91); +if (lean::obj_tag(x_22) == 0) +{ +obj* x_93; obj* x_94; +x_93 = lean::box(3); +x_94 = l_lean_parser_syntax_as__node___main(x_93); +if (lean::obj_tag(x_94) == 0) +{ +obj* x_95; obj* x_96; obj* x_97; +x_95 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_96 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; x_97 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_97, 0, x_18); -lean::cnstr_set(x_97, 1, x_32); +lean::cnstr_set(x_97, 0, x_95); +lean::cnstr_set(x_97, 1, x_92); lean::cnstr_set(x_97, 2, x_96); return x_97; } else { -obj* x_101; obj* x_102; -lean::dec(x_79); -lean::dec(x_80); -lean::dec(x_86); -x_101 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; -x_102 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_102, 0, x_18); -lean::cnstr_set(x_102, 1, x_32); -lean::cnstr_set(x_102, 2, x_101); -return x_102; -} -} -} -} -lbl_37: -{ -obj* x_103; -x_103 = l_lean_parser_syntax_as__node___main(x_36); -if (lean::obj_tag(x_103) == 0) -{ -if (lean::obj_tag(x_35) == 0) -{ -obj* x_104; -x_104 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_30 = x_104; -goto lbl_31; -} -else -{ -obj* x_105; obj* x_108; -x_105 = lean::cnstr_get(x_35, 0); -lean::inc(x_105); -lean::dec(x_35); -x_108 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_32 = x_108; -x_33 = x_105; -goto lbl_34; -} -} -else -{ -obj* x_109; obj* x_111; obj* x_112; -x_109 = lean::cnstr_get(x_103, 0); -if (lean::is_exclusive(x_103)) { - lean::cnstr_set(x_103, 0, lean::box(0)); - x_111 = x_103; +obj* x_98; obj* x_100; obj* x_101; +x_98 = lean::cnstr_get(x_94, 0); +if (lean::is_exclusive(x_94)) { + lean::cnstr_set(x_94, 0, lean::box(0)); + x_100 = x_94; } else { - lean::inc(x_109); - lean::dec(x_103); - x_111 = lean::box(0); + lean::inc(x_98); + lean::dec(x_94); + x_100 = lean::box(0); } -x_112 = lean::cnstr_get(x_109, 1); -lean::inc(x_112); -lean::dec(x_109); -if (lean::obj_tag(x_112) == 0) +x_101 = lean::cnstr_get(x_98, 1); +lean::inc(x_101); +lean::dec(x_98); +if (lean::obj_tag(x_101) == 0) { -obj* x_116; -lean::dec(x_111); -x_116 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_30 = x_116; -goto lbl_31; +obj* x_105; obj* x_106; obj* x_107; +lean::dec(x_100); +x_105 = lean::box(0); +x_106 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_107 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_107, 0, x_106); +lean::cnstr_set(x_107, 1, x_92); +lean::cnstr_set(x_107, 2, x_105); +return x_107; } else { -obj* x_117; -x_117 = lean::cnstr_get(x_35, 0); -lean::inc(x_117); -lean::dec(x_35); -x_32 = x_116; -x_33 = x_117; -goto lbl_34; -} -} -else +obj* x_108; +x_108 = lean::cnstr_get(x_101, 1); +lean::inc(x_108); +if (lean::obj_tag(x_108) == 0) { -obj* x_120; -x_120 = lean::cnstr_get(x_112, 1); -lean::inc(x_120); -if (lean::obj_tag(x_120) == 0) -{ -obj* x_122; obj* x_125; obj* x_126; obj* x_129; obj* x_130; -x_122 = lean::cnstr_get(x_112, 0); -lean::inc(x_122); -lean::dec(x_112); -x_125 = l_lean_parser_term_type__spec_has__view; -x_126 = lean::cnstr_get(x_125, 0); -lean::inc(x_126); -lean::dec(x_125); -x_129 = lean::apply_1(x_126, x_122); -if (lean::is_scalar(x_111)) { - x_130 = lean::alloc_cnstr(1, 1, 0); +obj* x_110; obj* x_113; obj* x_114; obj* x_117; obj* x_118; obj* x_119; obj* x_120; +x_110 = lean::cnstr_get(x_101, 0); +lean::inc(x_110); +lean::dec(x_101); +x_113 = l_lean_parser_term_binder__default_has__view; +x_114 = lean::cnstr_get(x_113, 0); +lean::inc(x_114); +lean::dec(x_113); +x_117 = lean::apply_1(x_114, x_110); +if (lean::is_scalar(x_100)) { + x_118 = lean::alloc_cnstr(1, 1, 0); } else { - x_130 = x_111; + x_118 = x_100; } -lean::cnstr_set(x_130, 0, x_129); -if (lean::obj_tag(x_35) == 0) -{ -x_30 = x_130; -goto lbl_31; +lean::cnstr_set(x_118, 0, x_117); +x_119 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_120 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_120, 0, x_119); +lean::cnstr_set(x_120, 1, x_92); +lean::cnstr_set(x_120, 2, x_118); +return x_120; } else { -obj* x_131; -x_131 = lean::cnstr_get(x_35, 0); -lean::inc(x_131); -lean::dec(x_35); -x_32 = x_130; -x_33 = x_131; -goto lbl_34; +obj* x_124; obj* x_125; obj* x_126; +lean::dec(x_101); +lean::dec(x_100); +lean::dec(x_108); +x_124 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; +x_125 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_126 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_126, 0, x_124); +lean::cnstr_set(x_126, 1, x_92); +lean::cnstr_set(x_126, 2, x_125); +return x_126; +} +} } } else { -lean::dec(x_112); -lean::dec(x_111); -lean::dec(x_120); -if (lean::obj_tag(x_35) == 0) -{ -obj* x_137; -x_137 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_30 = x_137; -goto lbl_31; +obj* x_127; +x_127 = lean::cnstr_get(x_22, 0); +lean::inc(x_127); +lean::dec(x_22); +x_19 = x_92; +x_20 = x_127; +goto lbl_21; +} } else { -obj* x_138; obj* x_141; -x_138 = lean::cnstr_get(x_35, 0); +lean::dec(x_73); +lean::dec(x_82); +lean::dec(x_72); +if (lean::obj_tag(x_22) == 0) +{ +obj* x_133; +x_133 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; +return x_133; +} +else +{ +obj* x_134; obj* x_137; +x_134 = lean::cnstr_get(x_22, 0); +lean::inc(x_134); +lean::dec(x_22); +x_137 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_19 = x_137; +x_20 = x_134; +goto lbl_21; +} +} +} +} +} +} +else +{ +obj* x_138; obj* x_141; obj* x_144; obj* x_145; obj* x_146; obj* x_148; obj* x_149; obj* x_151; obj* x_152; +x_138 = lean::cnstr_get(x_18, 0); lean::inc(x_138); -lean::dec(x_35); -x_141 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_32 = x_141; -x_33 = x_138; -goto lbl_34; +lean::dec(x_18); +x_141 = lean::cnstr_get(x_138, 1); +lean::inc(x_141); +lean::dec(x_138); +x_144 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6; +x_145 = l_list_map___main___rarg(x_144, x_141); +if (lean::obj_tag(x_1) == 0) +{ +obj* x_154; +x_154 = lean::box(3); +x_151 = x_1; +x_152 = x_154; +goto lbl_153; +} +else +{ +obj* x_155; obj* x_157; +x_155 = lean::cnstr_get(x_1, 0); +lean::inc(x_155); +x_157 = lean::cnstr_get(x_1, 1); +lean::inc(x_157); +lean::dec(x_1); +x_151 = x_157; +x_152 = x_155; +goto lbl_153; +} +lbl_147: +{ +obj* x_160; obj* x_161; +x_160 = lean::box(3); +x_161 = l_lean_parser_syntax_as__node___main(x_160); +if (lean::obj_tag(x_161) == 0) +{ +obj* x_162; obj* x_163; +x_162 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_163 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_163, 0, x_145); +lean::cnstr_set(x_163, 1, x_146); +lean::cnstr_set(x_163, 2, x_162); +return x_163; +} +else +{ +obj* x_164; obj* x_166; obj* x_167; +x_164 = lean::cnstr_get(x_161, 0); +if (lean::is_exclusive(x_161)) { + lean::cnstr_set(x_161, 0, lean::box(0)); + x_166 = x_161; +} else { + lean::inc(x_164); + lean::dec(x_161); + x_166 = lean::box(0); +} +x_167 = lean::cnstr_get(x_164, 1); +lean::inc(x_167); +lean::dec(x_164); +if (lean::obj_tag(x_167) == 0) +{ +obj* x_171; obj* x_172; +lean::dec(x_166); +x_171 = lean::box(0); +x_172 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_172, 0, x_145); +lean::cnstr_set(x_172, 1, x_146); +lean::cnstr_set(x_172, 2, x_171); +return x_172; +} +else +{ +obj* x_173; +x_173 = lean::cnstr_get(x_167, 1); +lean::inc(x_173); +if (lean::obj_tag(x_173) == 0) +{ +obj* x_175; obj* x_178; obj* x_179; obj* x_182; obj* x_183; obj* x_184; +x_175 = lean::cnstr_get(x_167, 0); +lean::inc(x_175); +lean::dec(x_167); +x_178 = l_lean_parser_term_binder__default_has__view; +x_179 = lean::cnstr_get(x_178, 0); +lean::inc(x_179); +lean::dec(x_178); +x_182 = lean::apply_1(x_179, x_175); +if (lean::is_scalar(x_166)) { + x_183 = lean::alloc_cnstr(1, 1, 0); +} else { + x_183 = x_166; +} +lean::cnstr_set(x_183, 0, x_182); +x_184 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_184, 0, x_145); +lean::cnstr_set(x_184, 1, x_146); +lean::cnstr_set(x_184, 2, x_183); +return x_184; +} +else +{ +obj* x_188; obj* x_189; +lean::dec(x_167); +lean::dec(x_166); +lean::dec(x_173); +x_188 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_189 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_189, 0, x_145); +lean::cnstr_set(x_189, 1, x_146); +lean::cnstr_set(x_189, 2, x_188); +return x_189; +} +} +} +} +lbl_150: +{ +obj* x_190; +x_190 = l_lean_parser_syntax_as__node___main(x_149); +if (lean::obj_tag(x_190) == 0) +{ +obj* x_191; obj* x_192; +x_191 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_192 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_192, 0, x_145); +lean::cnstr_set(x_192, 1, x_148); +lean::cnstr_set(x_192, 2, x_191); +return x_192; +} +else +{ +obj* x_193; obj* x_195; obj* x_196; +x_193 = lean::cnstr_get(x_190, 0); +if (lean::is_exclusive(x_190)) { + lean::cnstr_set(x_190, 0, lean::box(0)); + x_195 = x_190; +} else { + lean::inc(x_193); + lean::dec(x_190); + x_195 = lean::box(0); +} +x_196 = lean::cnstr_get(x_193, 1); +lean::inc(x_196); +lean::dec(x_193); +if (lean::obj_tag(x_196) == 0) +{ +obj* x_200; obj* x_201; +lean::dec(x_195); +x_200 = lean::box(0); +x_201 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_201, 0, x_145); +lean::cnstr_set(x_201, 1, x_148); +lean::cnstr_set(x_201, 2, x_200); +return x_201; +} +else +{ +obj* x_202; +x_202 = lean::cnstr_get(x_196, 1); +lean::inc(x_202); +if (lean::obj_tag(x_202) == 0) +{ +obj* x_204; obj* x_207; obj* x_208; obj* x_211; obj* x_212; obj* x_213; +x_204 = lean::cnstr_get(x_196, 0); +lean::inc(x_204); +lean::dec(x_196); +x_207 = l_lean_parser_term_binder__default_has__view; +x_208 = lean::cnstr_get(x_207, 0); +lean::inc(x_208); +lean::dec(x_207); +x_211 = lean::apply_1(x_208, x_204); +if (lean::is_scalar(x_195)) { + x_212 = lean::alloc_cnstr(1, 1, 0); +} else { + x_212 = x_195; +} +lean::cnstr_set(x_212, 0, x_211); +x_213 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_213, 0, x_145); +lean::cnstr_set(x_213, 1, x_148); +lean::cnstr_set(x_213, 2, x_212); +return x_213; +} +else +{ +obj* x_217; obj* x_218; +lean::dec(x_196); +lean::dec(x_202); +lean::dec(x_195); +x_217 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_218 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_218, 0, x_145); +lean::cnstr_set(x_218, 1, x_148); +lean::cnstr_set(x_218, 2, x_217); +return x_218; +} +} +} +} +lbl_153: +{ +obj* x_219; +x_219 = l_lean_parser_syntax_as__node___main(x_152); +if (lean::obj_tag(x_219) == 0) +{ +if (lean::obj_tag(x_151) == 0) +{ +obj* x_220; +x_220 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_146 = x_220; +goto lbl_147; +} +else +{ +obj* x_221; obj* x_224; +x_221 = lean::cnstr_get(x_151, 0); +lean::inc(x_221); +lean::dec(x_151); +x_224 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_148 = x_224; +x_149 = x_221; +goto lbl_150; +} +} +else +{ +obj* x_225; obj* x_227; obj* x_228; +x_225 = lean::cnstr_get(x_219, 0); +if (lean::is_exclusive(x_219)) { + lean::cnstr_set(x_219, 0, lean::box(0)); + x_227 = x_219; +} else { + lean::inc(x_225); + lean::dec(x_219); + x_227 = lean::box(0); +} +x_228 = lean::cnstr_get(x_225, 1); +lean::inc(x_228); +lean::dec(x_225); +if (lean::obj_tag(x_228) == 0) +{ +obj* x_232; +lean::dec(x_227); +x_232 = lean::box(0); +if (lean::obj_tag(x_151) == 0) +{ +x_146 = x_232; +goto lbl_147; +} +else +{ +obj* x_233; +x_233 = lean::cnstr_get(x_151, 0); +lean::inc(x_233); +lean::dec(x_151); +x_148 = x_232; +x_149 = x_233; +goto lbl_150; +} +} +else +{ +obj* x_236; +x_236 = lean::cnstr_get(x_228, 1); +lean::inc(x_236); +if (lean::obj_tag(x_236) == 0) +{ +obj* x_238; obj* x_241; obj* x_242; obj* x_245; obj* x_246; +x_238 = lean::cnstr_get(x_228, 0); +lean::inc(x_238); +lean::dec(x_228); +x_241 = l_lean_parser_term_type__spec_has__view; +x_242 = lean::cnstr_get(x_241, 0); +lean::inc(x_242); +lean::dec(x_241); +x_245 = lean::apply_1(x_242, x_238); +if (lean::is_scalar(x_227)) { + x_246 = lean::alloc_cnstr(1, 1, 0); +} else { + x_246 = x_227; +} +lean::cnstr_set(x_246, 0, x_245); +if (lean::obj_tag(x_151) == 0) +{ +x_146 = x_246; +goto lbl_147; +} +else +{ +obj* x_247; +x_247 = lean::cnstr_get(x_151, 0); +lean::inc(x_247); +lean::dec(x_151); +x_148 = x_246; +x_149 = x_247; +goto lbl_150; +} +} +else +{ +lean::dec(x_227); +lean::dec(x_228); +lean::dec(x_236); +if (lean::obj_tag(x_151) == 0) +{ +obj* x_253; +x_253 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_146 = x_253; +goto lbl_147; +} +else +{ +obj* x_254; obj* x_257; +x_254 = lean::cnstr_get(x_151, 0); +lean::inc(x_254); +lean::dec(x_151); +x_257 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_148 = x_257; +x_149 = x_254; +goto lbl_150; } } } @@ -10881,336 +10266,17 @@ return x_8; obj* _init_l_lean_parser_term_simple__explicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; -x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; obj* x_33; obj* x_35; obj* x_36; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_38; -x_38 = lean::box(3); -x_35 = x_14; -x_36 = x_38; -goto lbl_37; -} -else -{ -obj* x_39; obj* x_41; -x_39 = lean::cnstr_get(x_14, 0); -lean::inc(x_39); -x_41 = lean::cnstr_get(x_14, 1); -lean::inc(x_41); -lean::dec(x_14); -x_35 = x_41; -x_36 = x_39; -goto lbl_37; -} -lbl_34: -{ -if (lean::obj_tag(x_33) == 0) -{ -obj* x_44; obj* x_45; -x_44 = lean::box(0); -x_45 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_45, 0, x_5); -lean::cnstr_set(x_45, 1, x_23); -lean::cnstr_set(x_45, 2, x_31); -lean::cnstr_set(x_45, 3, x_32); -lean::cnstr_set(x_45, 4, x_44); -return x_45; -} -else -{ -obj* x_46; -x_46 = lean::cnstr_get(x_33, 0); -lean::inc(x_46); -lean::dec(x_33); -switch (lean::obj_tag(x_46)) { -case 0: -{ -obj* x_49; obj* x_52; obj* x_53; -x_49 = lean::cnstr_get(x_46, 0); -lean::inc(x_49); -lean::dec(x_46); -x_52 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_52, 0, x_49); -x_53 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_31); -lean::cnstr_set(x_53, 3, x_32); -lean::cnstr_set(x_53, 4, x_52); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; -x_54 = lean::box(0); -x_55 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_23); -lean::cnstr_set(x_55, 2, x_31); -lean::cnstr_set(x_55, 3, x_32); -lean::cnstr_set(x_55, 4, x_54); -return x_55; -} -default: -{ -obj* x_57; obj* x_58; -lean::dec(x_46); -x_57 = lean::box(0); -x_58 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_58, 0, x_5); -lean::cnstr_set(x_58, 1, x_23); -lean::cnstr_set(x_58, 2, x_31); -lean::cnstr_set(x_58, 3, x_32); -lean::cnstr_set(x_58, 4, x_57); -return x_58; -} -} -} -} -lbl_37: -{ -obj* x_59; -switch (lean::obj_tag(x_36)) { -case 0: -{ -obj* x_61; obj* x_64; -x_61 = lean::cnstr_get(x_36, 0); -lean::inc(x_61); -lean::dec(x_36); -x_64 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_64, 0, x_61); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_64; -goto lbl_60; -} -else -{ -obj* x_65; obj* x_67; -x_65 = lean::cnstr_get(x_35, 0); -lean::inc(x_65); -x_67 = lean::cnstr_get(x_35, 1); -lean::inc(x_67); -lean::dec(x_35); -x_31 = x_64; -x_32 = x_65; -x_33 = x_67; -goto lbl_34; -} -} -case 3: -{ -obj* x_70; -x_70 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_70; -goto lbl_60; -} -else -{ -obj* x_71; obj* x_73; -x_71 = lean::cnstr_get(x_35, 0); -lean::inc(x_71); -x_73 = lean::cnstr_get(x_35, 1); -lean::inc(x_73); -lean::dec(x_35); -x_31 = x_70; -x_32 = x_71; -x_33 = x_73; -goto lbl_34; -} -} -default: -{ -obj* x_77; -lean::dec(x_36); -x_77 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_77; -goto lbl_60; -} -else -{ -obj* x_78; obj* x_80; -x_78 = lean::cnstr_get(x_35, 0); -lean::inc(x_78); -x_80 = lean::cnstr_get(x_35, 1); -lean::inc(x_80); -lean::dec(x_35); -x_31 = x_77; -x_32 = x_78; -x_33 = x_80; -goto lbl_34; -} -} -} -lbl_60: -{ -if (lean::obj_tag(x_35) == 0) -{ -obj* x_83; obj* x_84; obj* x_85; -x_83 = lean::box(0); -x_84 = lean::box(3); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_23); -lean::cnstr_set(x_85, 2, x_59); -lean::cnstr_set(x_85, 3, x_84); -lean::cnstr_set(x_85, 4, x_83); -return x_85; -} -else -{ -obj* x_86; -x_86 = lean::cnstr_get(x_35, 0); -lean::inc(x_86); -lean::dec(x_35); -switch (lean::obj_tag(x_86)) { -case 0: -{ -obj* x_89; obj* x_92; obj* x_93; obj* x_94; -x_89 = lean::cnstr_get(x_86, 0); -lean::inc(x_89); -lean::dec(x_86); -x_92 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_92, 0, x_89); -x_93 = lean::box(3); -x_94 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_59); -lean::cnstr_set(x_94, 3, x_93); -lean::cnstr_set(x_94, 4, x_92); -return x_94; -} -case 3: -{ -obj* x_95; obj* x_96; obj* x_97; -x_95 = lean::box(0); -x_96 = lean::box(3); -x_97 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_97, 0, x_5); -lean::cnstr_set(x_97, 1, x_23); -lean::cnstr_set(x_97, 2, x_59); -lean::cnstr_set(x_97, 3, x_96); -lean::cnstr_set(x_97, 4, x_95); -return x_97; -} -default: -{ -obj* x_99; obj* x_100; obj* x_101; -lean::dec(x_86); -x_99 = lean::box(0); -x_100 = lean::box(3); -x_101 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_101, 0, x_5); -lean::cnstr_set(x_101, 1, x_23); -lean::cnstr_set(x_101, 2, x_59); -lean::cnstr_set(x_101, 3, x_100); -lean::cnstr_set(x_101, 4, x_99); -return x_101; -} -} -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::box(3); +x_3 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_0); +lean::cnstr_set(x_3, 3, x_2); +lean::cnstr_set(x_3, 4, x_0); +return x_3; } } obj* l_lean_parser_term_simple__explicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -11888,336 +10954,17 @@ return x_8; obj* _init_l_lean_parser_term_simple__implicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; -x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; obj* x_33; obj* x_35; obj* x_36; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_38; -x_38 = lean::box(3); -x_35 = x_14; -x_36 = x_38; -goto lbl_37; -} -else -{ -obj* x_39; obj* x_41; -x_39 = lean::cnstr_get(x_14, 0); -lean::inc(x_39); -x_41 = lean::cnstr_get(x_14, 1); -lean::inc(x_41); -lean::dec(x_14); -x_35 = x_41; -x_36 = x_39; -goto lbl_37; -} -lbl_34: -{ -if (lean::obj_tag(x_33) == 0) -{ -obj* x_44; obj* x_45; -x_44 = lean::box(0); -x_45 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_45, 0, x_5); -lean::cnstr_set(x_45, 1, x_23); -lean::cnstr_set(x_45, 2, x_31); -lean::cnstr_set(x_45, 3, x_32); -lean::cnstr_set(x_45, 4, x_44); -return x_45; -} -else -{ -obj* x_46; -x_46 = lean::cnstr_get(x_33, 0); -lean::inc(x_46); -lean::dec(x_33); -switch (lean::obj_tag(x_46)) { -case 0: -{ -obj* x_49; obj* x_52; obj* x_53; -x_49 = lean::cnstr_get(x_46, 0); -lean::inc(x_49); -lean::dec(x_46); -x_52 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_52, 0, x_49); -x_53 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_31); -lean::cnstr_set(x_53, 3, x_32); -lean::cnstr_set(x_53, 4, x_52); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; -x_54 = lean::box(0); -x_55 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_23); -lean::cnstr_set(x_55, 2, x_31); -lean::cnstr_set(x_55, 3, x_32); -lean::cnstr_set(x_55, 4, x_54); -return x_55; -} -default: -{ -obj* x_57; obj* x_58; -lean::dec(x_46); -x_57 = lean::box(0); -x_58 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_58, 0, x_5); -lean::cnstr_set(x_58, 1, x_23); -lean::cnstr_set(x_58, 2, x_31); -lean::cnstr_set(x_58, 3, x_32); -lean::cnstr_set(x_58, 4, x_57); -return x_58; -} -} -} -} -lbl_37: -{ -obj* x_59; -switch (lean::obj_tag(x_36)) { -case 0: -{ -obj* x_61; obj* x_64; -x_61 = lean::cnstr_get(x_36, 0); -lean::inc(x_61); -lean::dec(x_36); -x_64 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_64, 0, x_61); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_64; -goto lbl_60; -} -else -{ -obj* x_65; obj* x_67; -x_65 = lean::cnstr_get(x_35, 0); -lean::inc(x_65); -x_67 = lean::cnstr_get(x_35, 1); -lean::inc(x_67); -lean::dec(x_35); -x_31 = x_64; -x_32 = x_65; -x_33 = x_67; -goto lbl_34; -} -} -case 3: -{ -obj* x_70; -x_70 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_70; -goto lbl_60; -} -else -{ -obj* x_71; obj* x_73; -x_71 = lean::cnstr_get(x_35, 0); -lean::inc(x_71); -x_73 = lean::cnstr_get(x_35, 1); -lean::inc(x_73); -lean::dec(x_35); -x_31 = x_70; -x_32 = x_71; -x_33 = x_73; -goto lbl_34; -} -} -default: -{ -obj* x_77; -lean::dec(x_36); -x_77 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_77; -goto lbl_60; -} -else -{ -obj* x_78; obj* x_80; -x_78 = lean::cnstr_get(x_35, 0); -lean::inc(x_78); -x_80 = lean::cnstr_get(x_35, 1); -lean::inc(x_80); -lean::dec(x_35); -x_31 = x_77; -x_32 = x_78; -x_33 = x_80; -goto lbl_34; -} -} -} -lbl_60: -{ -if (lean::obj_tag(x_35) == 0) -{ -obj* x_83; obj* x_84; obj* x_85; -x_83 = lean::box(0); -x_84 = lean::box(3); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_23); -lean::cnstr_set(x_85, 2, x_59); -lean::cnstr_set(x_85, 3, x_84); -lean::cnstr_set(x_85, 4, x_83); -return x_85; -} -else -{ -obj* x_86; -x_86 = lean::cnstr_get(x_35, 0); -lean::inc(x_86); -lean::dec(x_35); -switch (lean::obj_tag(x_86)) { -case 0: -{ -obj* x_89; obj* x_92; obj* x_93; obj* x_94; -x_89 = lean::cnstr_get(x_86, 0); -lean::inc(x_89); -lean::dec(x_86); -x_92 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_92, 0, x_89); -x_93 = lean::box(3); -x_94 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_59); -lean::cnstr_set(x_94, 3, x_93); -lean::cnstr_set(x_94, 4, x_92); -return x_94; -} -case 3: -{ -obj* x_95; obj* x_96; obj* x_97; -x_95 = lean::box(0); -x_96 = lean::box(3); -x_97 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_97, 0, x_5); -lean::cnstr_set(x_97, 1, x_23); -lean::cnstr_set(x_97, 2, x_59); -lean::cnstr_set(x_97, 3, x_96); -lean::cnstr_set(x_97, 4, x_95); -return x_97; -} -default: -{ -obj* x_99; obj* x_100; obj* x_101; -lean::dec(x_86); -x_99 = lean::box(0); -x_100 = lean::box(3); -x_101 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_101, 0, x_5); -lean::cnstr_set(x_101, 1, x_23); -lean::cnstr_set(x_101, 2, x_59); -lean::cnstr_set(x_101, 3, x_100); -lean::cnstr_set(x_101, 4, x_99); -return x_101; -} -} -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::box(3); +x_3 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_0); +lean::cnstr_set(x_3, 3, x_2); +lean::cnstr_set(x_3, 4, x_0); +return x_3; } } obj* l_lean_parser_term_simple__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -12895,336 +11642,17 @@ return x_8; obj* _init_l_lean_parser_term_simple__strict__implicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; -x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; obj* x_33; obj* x_35; obj* x_36; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_38; -x_38 = lean::box(3); -x_35 = x_14; -x_36 = x_38; -goto lbl_37; -} -else -{ -obj* x_39; obj* x_41; -x_39 = lean::cnstr_get(x_14, 0); -lean::inc(x_39); -x_41 = lean::cnstr_get(x_14, 1); -lean::inc(x_41); -lean::dec(x_14); -x_35 = x_41; -x_36 = x_39; -goto lbl_37; -} -lbl_34: -{ -if (lean::obj_tag(x_33) == 0) -{ -obj* x_44; obj* x_45; -x_44 = lean::box(0); -x_45 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_45, 0, x_5); -lean::cnstr_set(x_45, 1, x_23); -lean::cnstr_set(x_45, 2, x_31); -lean::cnstr_set(x_45, 3, x_32); -lean::cnstr_set(x_45, 4, x_44); -return x_45; -} -else -{ -obj* x_46; -x_46 = lean::cnstr_get(x_33, 0); -lean::inc(x_46); -lean::dec(x_33); -switch (lean::obj_tag(x_46)) { -case 0: -{ -obj* x_49; obj* x_52; obj* x_53; -x_49 = lean::cnstr_get(x_46, 0); -lean::inc(x_49); -lean::dec(x_46); -x_52 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_52, 0, x_49); -x_53 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_31); -lean::cnstr_set(x_53, 3, x_32); -lean::cnstr_set(x_53, 4, x_52); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; -x_54 = lean::box(0); -x_55 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_23); -lean::cnstr_set(x_55, 2, x_31); -lean::cnstr_set(x_55, 3, x_32); -lean::cnstr_set(x_55, 4, x_54); -return x_55; -} -default: -{ -obj* x_57; obj* x_58; -lean::dec(x_46); -x_57 = lean::box(0); -x_58 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_58, 0, x_5); -lean::cnstr_set(x_58, 1, x_23); -lean::cnstr_set(x_58, 2, x_31); -lean::cnstr_set(x_58, 3, x_32); -lean::cnstr_set(x_58, 4, x_57); -return x_58; -} -} -} -} -lbl_37: -{ -obj* x_59; -switch (lean::obj_tag(x_36)) { -case 0: -{ -obj* x_61; obj* x_64; -x_61 = lean::cnstr_get(x_36, 0); -lean::inc(x_61); -lean::dec(x_36); -x_64 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_64, 0, x_61); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_64; -goto lbl_60; -} -else -{ -obj* x_65; obj* x_67; -x_65 = lean::cnstr_get(x_35, 0); -lean::inc(x_65); -x_67 = lean::cnstr_get(x_35, 1); -lean::inc(x_67); -lean::dec(x_35); -x_31 = x_64; -x_32 = x_65; -x_33 = x_67; -goto lbl_34; -} -} -case 3: -{ -obj* x_70; -x_70 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_70; -goto lbl_60; -} -else -{ -obj* x_71; obj* x_73; -x_71 = lean::cnstr_get(x_35, 0); -lean::inc(x_71); -x_73 = lean::cnstr_get(x_35, 1); -lean::inc(x_73); -lean::dec(x_35); -x_31 = x_70; -x_32 = x_71; -x_33 = x_73; -goto lbl_34; -} -} -default: -{ -obj* x_77; -lean::dec(x_36); -x_77 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_77; -goto lbl_60; -} -else -{ -obj* x_78; obj* x_80; -x_78 = lean::cnstr_get(x_35, 0); -lean::inc(x_78); -x_80 = lean::cnstr_get(x_35, 1); -lean::inc(x_80); -lean::dec(x_35); -x_31 = x_77; -x_32 = x_78; -x_33 = x_80; -goto lbl_34; -} -} -} -lbl_60: -{ -if (lean::obj_tag(x_35) == 0) -{ -obj* x_83; obj* x_84; obj* x_85; -x_83 = lean::box(0); -x_84 = lean::box(3); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_23); -lean::cnstr_set(x_85, 2, x_59); -lean::cnstr_set(x_85, 3, x_84); -lean::cnstr_set(x_85, 4, x_83); -return x_85; -} -else -{ -obj* x_86; -x_86 = lean::cnstr_get(x_35, 0); -lean::inc(x_86); -lean::dec(x_35); -switch (lean::obj_tag(x_86)) { -case 0: -{ -obj* x_89; obj* x_92; obj* x_93; obj* x_94; -x_89 = lean::cnstr_get(x_86, 0); -lean::inc(x_89); -lean::dec(x_86); -x_92 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_92, 0, x_89); -x_93 = lean::box(3); -x_94 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_59); -lean::cnstr_set(x_94, 3, x_93); -lean::cnstr_set(x_94, 4, x_92); -return x_94; -} -case 3: -{ -obj* x_95; obj* x_96; obj* x_97; -x_95 = lean::box(0); -x_96 = lean::box(3); -x_97 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_97, 0, x_5); -lean::cnstr_set(x_97, 1, x_23); -lean::cnstr_set(x_97, 2, x_59); -lean::cnstr_set(x_97, 3, x_96); -lean::cnstr_set(x_97, 4, x_95); -return x_97; -} -default: -{ -obj* x_99; obj* x_100; obj* x_101; -lean::dec(x_86); -x_99 = lean::box(0); -x_100 = lean::box(3); -x_101 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_101, 0, x_5); -lean::cnstr_set(x_101, 1, x_23); -lean::cnstr_set(x_101, 2, x_59); -lean::cnstr_set(x_101, 3, x_100); -lean::cnstr_set(x_101, 4, x_99); -return x_101; -} -} -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::box(3); +x_3 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_0); +lean::cnstr_set(x_3, 3, x_2); +lean::cnstr_set(x_3, 4, x_0); +return x_3; } } obj* l_lean_parser_term_simple__strict__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -13902,336 +12330,17 @@ return x_8; obj* _init_l_lean_parser_term_simple__inst__implicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; -} -case 3: -{ -obj* x_28; -x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; obj* x_33; obj* x_35; obj* x_36; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_38; -x_38 = lean::box(3); -x_35 = x_14; -x_36 = x_38; -goto lbl_37; -} -else -{ -obj* x_39; obj* x_41; -x_39 = lean::cnstr_get(x_14, 0); -lean::inc(x_39); -x_41 = lean::cnstr_get(x_14, 1); -lean::inc(x_41); -lean::dec(x_14); -x_35 = x_41; -x_36 = x_39; -goto lbl_37; -} -lbl_34: -{ -if (lean::obj_tag(x_33) == 0) -{ -obj* x_44; obj* x_45; -x_44 = lean::box(0); -x_45 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_45, 0, x_5); -lean::cnstr_set(x_45, 1, x_23); -lean::cnstr_set(x_45, 2, x_31); -lean::cnstr_set(x_45, 3, x_32); -lean::cnstr_set(x_45, 4, x_44); -return x_45; -} -else -{ -obj* x_46; -x_46 = lean::cnstr_get(x_33, 0); -lean::inc(x_46); -lean::dec(x_33); -switch (lean::obj_tag(x_46)) { -case 0: -{ -obj* x_49; obj* x_52; obj* x_53; -x_49 = lean::cnstr_get(x_46, 0); -lean::inc(x_49); -lean::dec(x_46); -x_52 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_52, 0, x_49); -x_53 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_53, 0, x_5); -lean::cnstr_set(x_53, 1, x_23); -lean::cnstr_set(x_53, 2, x_31); -lean::cnstr_set(x_53, 3, x_32); -lean::cnstr_set(x_53, 4, x_52); -return x_53; -} -case 3: -{ -obj* x_54; obj* x_55; -x_54 = lean::box(0); -x_55 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_23); -lean::cnstr_set(x_55, 2, x_31); -lean::cnstr_set(x_55, 3, x_32); -lean::cnstr_set(x_55, 4, x_54); -return x_55; -} -default: -{ -obj* x_57; obj* x_58; -lean::dec(x_46); -x_57 = lean::box(0); -x_58 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_58, 0, x_5); -lean::cnstr_set(x_58, 1, x_23); -lean::cnstr_set(x_58, 2, x_31); -lean::cnstr_set(x_58, 3, x_32); -lean::cnstr_set(x_58, 4, x_57); -return x_58; -} -} -} -} -lbl_37: -{ -obj* x_59; -switch (lean::obj_tag(x_36)) { -case 0: -{ -obj* x_61; obj* x_64; -x_61 = lean::cnstr_get(x_36, 0); -lean::inc(x_61); -lean::dec(x_36); -x_64 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_64, 0, x_61); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_64; -goto lbl_60; -} -else -{ -obj* x_65; obj* x_67; -x_65 = lean::cnstr_get(x_35, 0); -lean::inc(x_65); -x_67 = lean::cnstr_get(x_35, 1); -lean::inc(x_67); -lean::dec(x_35); -x_31 = x_64; -x_32 = x_65; -x_33 = x_67; -goto lbl_34; -} -} -case 3: -{ -obj* x_70; -x_70 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_70; -goto lbl_60; -} -else -{ -obj* x_71; obj* x_73; -x_71 = lean::cnstr_get(x_35, 0); -lean::inc(x_71); -x_73 = lean::cnstr_get(x_35, 1); -lean::inc(x_73); -lean::dec(x_35); -x_31 = x_70; -x_32 = x_71; -x_33 = x_73; -goto lbl_34; -} -} -default: -{ -obj* x_77; -lean::dec(x_36); -x_77 = lean::box(0); -if (lean::obj_tag(x_35) == 0) -{ -x_59 = x_77; -goto lbl_60; -} -else -{ -obj* x_78; obj* x_80; -x_78 = lean::cnstr_get(x_35, 0); -lean::inc(x_78); -x_80 = lean::cnstr_get(x_35, 1); -lean::inc(x_80); -lean::dec(x_35); -x_31 = x_77; -x_32 = x_78; -x_33 = x_80; -goto lbl_34; -} -} -} -lbl_60: -{ -if (lean::obj_tag(x_35) == 0) -{ -obj* x_83; obj* x_84; obj* x_85; -x_83 = lean::box(0); -x_84 = lean::box(3); -x_85 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_85, 0, x_5); -lean::cnstr_set(x_85, 1, x_23); -lean::cnstr_set(x_85, 2, x_59); -lean::cnstr_set(x_85, 3, x_84); -lean::cnstr_set(x_85, 4, x_83); -return x_85; -} -else -{ -obj* x_86; -x_86 = lean::cnstr_get(x_35, 0); -lean::inc(x_86); -lean::dec(x_35); -switch (lean::obj_tag(x_86)) { -case 0: -{ -obj* x_89; obj* x_92; obj* x_93; obj* x_94; -x_89 = lean::cnstr_get(x_86, 0); -lean::inc(x_89); -lean::dec(x_86); -x_92 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_92, 0, x_89); -x_93 = lean::box(3); -x_94 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_59); -lean::cnstr_set(x_94, 3, x_93); -lean::cnstr_set(x_94, 4, x_92); -return x_94; -} -case 3: -{ -obj* x_95; obj* x_96; obj* x_97; -x_95 = lean::box(0); -x_96 = lean::box(3); -x_97 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_97, 0, x_5); -lean::cnstr_set(x_97, 1, x_23); -lean::cnstr_set(x_97, 2, x_59); -lean::cnstr_set(x_97, 3, x_96); -lean::cnstr_set(x_97, 4, x_95); -return x_97; -} -default: -{ -obj* x_99; obj* x_100; obj* x_101; -lean::dec(x_86); -x_99 = lean::box(0); -x_100 = lean::box(3); -x_101 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_101, 0, x_5); -lean::cnstr_set(x_101, 1, x_23); -lean::cnstr_set(x_101, 2, x_59); -lean::cnstr_set(x_101, 3, x_100); -lean::cnstr_set(x_101, 4, x_99); -return x_101; -} -} -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_2 = lean::box(3); +x_3 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_0); +lean::cnstr_set(x_3, 3, x_2); +lean::cnstr_set(x_3, 4, x_0); +return x_3; } } obj* l_lean_parser_term_simple__inst__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -14909,81 +13018,16 @@ return x_8; obj* _init_l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -lean::dec(x_1); -if (x_10 == 0) -{ -obj* x_12; obj* x_13; obj* x_16; obj* x_17; -x_12 = l_lean_parser_term_simple__inst__implicit__binder_has__view; -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -lean::dec(x_12); -x_16 = lean::apply_1(x_13, x_0); -x_17 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_17, 0, x_16); -return x_17; -} -else -{ -obj* x_18; obj* x_19; obj* x_22; obj* x_23; -x_18 = l_lean_parser_term_simple__strict__implicit__binder_has__view; -x_19 = lean::cnstr_get(x_18, 0); -lean::inc(x_19); -lean::dec(x_18); -x_22 = lean::apply_1(x_19, x_0); -x_23 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_23, 0, x_22); -return x_23; -} -} -else -{ -obj* x_25; obj* x_26; obj* x_29; obj* x_30; -lean::dec(x_1); -x_25 = l_lean_parser_term_simple__implicit__binder_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_0); -x_30 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_30, 0, x_29); -return x_30; -} -} -else -{ -obj* x_32; obj* x_33; obj* x_36; obj* x_37; -lean::dec(x_1); -x_32 = l_lean_parser_term_simple__explicit__binder_has__view; -x_33 = lean::cnstr_get(x_32, 0); -lean::inc(x_33); -lean::dec(x_32); -x_36 = lean::apply_1(x_33, x_0); -x_37 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_37, 0, x_36); -return x_37; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_simple__explicit__binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__2() { @@ -15005,139 +13049,201 @@ return x_8; obj* l_lean_parser_term_simple__binder_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +if (x_58 == 0) +{ +obj* x_59; uint8 x_60; +x_59 = lean::mk_nat_obj(2u); +x_60 = lean::nat_dec_eq(x_39, x_59); +lean::dec(x_39); +if (x_60 == 0) +{ +obj* x_62; obj* x_63; obj* x_66; obj* x_67; +x_62 = l_lean_parser_term_simple__inst__implicit__binder_has__view; +x_63 = lean::cnstr_get(x_62, 0); +lean::inc(x_63); +lean::dec(x_62); +x_66 = lean::apply_1(x_63, x_52); +x_67 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_67, 0, x_66); +return x_67; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_68; obj* x_69; obj* x_72; obj* x_73; +x_68 = l_lean_parser_term_simple__strict__implicit__binder_has__view; +x_69 = lean::cnstr_get(x_68, 0); +lean::inc(x_69); +lean::dec(x_68); +x_72 = lean::apply_1(x_69, x_52); +x_73 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_73, 0, x_72); +return x_73; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_75; obj* x_76; obj* x_79; obj* x_80; +lean::dec(x_39); +x_75 = l_lean_parser_term_simple__implicit__binder_has__view; +x_76 = lean::cnstr_get(x_75, 0); +lean::inc(x_76); +lean::dec(x_75); +x_79 = lean::apply_1(x_76, x_52); +x_80 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_80, 0, x_79); +return x_80; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_82; obj* x_83; obj* x_86; obj* x_87; +lean::dec(x_39); +x_82 = l_lean_parser_term_simple__explicit__binder_has__view; +x_83 = lean::cnstr_get(x_82, 0); +lean::inc(x_83); +lean::dec(x_82); +x_86 = lean::apply_1(x_83, x_52); +x_87 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_87, 0, x_86); +return x_87; +} +} +else +{ +obj* x_91; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_91 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_91; } } } @@ -15147,84 +13253,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_94; +lean::dec(x_8); +lean::dec(x_17); +x_94 = l_lean_parser_term_simple__binder_has__view_x_27___lambda__1___closed__1; +return x_94; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) -{ -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -lean::dec(x_2); -if (x_70 == 0) -{ -obj* x_72; obj* x_73; obj* x_76; obj* x_77; -x_72 = l_lean_parser_term_simple__inst__implicit__binder_has__view; -x_73 = lean::cnstr_get(x_72, 0); -lean::inc(x_73); -lean::dec(x_72); -x_76 = lean::apply_1(x_73, x_1); -x_77 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_77, 0, x_76); -return x_77; -} -else -{ -obj* x_78; obj* x_79; obj* x_82; obj* x_83; -x_78 = l_lean_parser_term_simple__strict__implicit__binder_has__view; -x_79 = lean::cnstr_get(x_78, 0); -lean::inc(x_79); -lean::dec(x_78); -x_82 = lean::apply_1(x_79, x_1); -x_83 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_83, 0, x_82); -return x_83; -} -} -else -{ -obj* x_85; obj* x_86; obj* x_89; obj* x_90; -lean::dec(x_2); -x_85 = l_lean_parser_term_simple__implicit__binder_has__view; -x_86 = lean::cnstr_get(x_85, 0); -lean::inc(x_86); -lean::dec(x_85); -x_89 = lean::apply_1(x_86, x_1); -x_90 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_90, 0, x_89); -return x_90; -} -} -else -{ -obj* x_92; obj* x_93; obj* x_96; obj* x_97; -lean::dec(x_2); -x_92 = l_lean_parser_term_simple__explicit__binder_has__view; -x_93 = lean::cnstr_get(x_92, 0); -lean::inc(x_93); -lean::dec(x_92); -x_96 = lean::apply_1(x_93, x_1); -x_97 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_97, 0, x_96); -return x_97; -} -} } } obj* l_lean_parser_term_simple__binder_has__view_x_27___lambda__2(obj* x_0) { @@ -16249,212 +14286,37 @@ return x_6; obj* _init_l_lean_parser_term_anonymous__constructor_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_3; obj* x_4; +x_3 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +lean::cnstr_set(x_4, 2, x_0); +return x_4; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; -x_23 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_24; -x_24 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_25; obj* x_26; -x_25 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_26 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_26, 0, x_5); -lean::cnstr_set(x_26, 1, x_25); -lean::cnstr_set(x_26, 2, x_24); -return x_26; -} -else -{ -obj* x_27; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -lean::dec(x_14); -switch (lean::obj_tag(x_27)) { -case 0: -{ -obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -lean::dec(x_27); -x_33 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_33, 0, x_30); -x_34 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_34); -lean::cnstr_set(x_35, 2, x_33); -return x_35; -} -case 3: -{ -obj* x_36; obj* x_37; -x_36 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_37 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_37, 0, x_5); -lean::cnstr_set(x_37, 1, x_36); -lean::cnstr_set(x_37, 2, x_24); -return x_37; -} -default: -{ -obj* x_39; obj* x_40; -lean::dec(x_27); -x_39 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_40 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_40, 0, x_5); -lean::cnstr_set(x_40, 1, x_39); -lean::cnstr_set(x_40, 2, x_24); -return x_40; -} -} -} -} -else -{ -obj* x_41; obj* x_43; obj* x_44; obj* x_47; obj* x_48; obj* x_49; -x_41 = lean::cnstr_get(x_23, 0); -if (lean::is_exclusive(x_23)) { - lean::cnstr_set(x_23, 0, lean::box(0)); - x_43 = x_23; -} else { - lean::inc(x_41); - lean::dec(x_23); - x_43 = lean::box(0); -} -x_44 = lean::cnstr_get(x_41, 1); -lean::inc(x_44); -lean::dec(x_41); -x_47 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_48 = l_lean_parser_term_anonymous__constructor_has__view_x_27___lambda__1___closed__1; -x_49 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_anonymous__constructor_has__view_x_27___spec__1(x_47, x_48, x_44); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_51; obj* x_52; -lean::dec(x_43); -x_51 = lean::box(0); -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_49); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_14, 0); -lean::inc(x_53); -lean::dec(x_14); -switch (lean::obj_tag(x_53)) { -case 0: -{ -obj* x_56; obj* x_59; obj* x_60; -x_56 = lean::cnstr_get(x_53, 0); -lean::inc(x_56); -lean::dec(x_53); -if (lean::is_scalar(x_43)) { - x_59 = lean::alloc_cnstr(1, 1, 0); -} else { - x_59 = x_43; -} -lean::cnstr_set(x_59, 0, x_56); -x_60 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_60, 0, x_5); -lean::cnstr_set(x_60, 1, x_49); -lean::cnstr_set(x_60, 2, x_59); -return x_60; -} -case 3: -{ -obj* x_62; obj* x_63; -lean::dec(x_43); -x_62 = lean::box(0); -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_49); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -default: -{ -obj* x_66; obj* x_67; -lean::dec(x_43); -lean::dec(x_53); -x_66 = lean::box(0); -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_5); -lean::cnstr_set(x_67, 1, x_49); -lean::cnstr_set(x_67, 2, x_66); -return x_67; -} -} -} -} -} -} +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; obj* x_14; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; +x_12 = l_lean_parser_term_anonymous__constructor_has__view_x_27___lambda__1___closed__1; +x_13 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_anonymous__constructor_has__view_x_27___spec__1(x_11, x_12, x_8); +x_14 = lean::alloc_cnstr(0, 3, 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); +return x_14; } } } @@ -17058,43 +14920,16 @@ return x_8; obj* _init_l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_binder__content_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_command_notation__like_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_command_notation__like_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__2() { @@ -17116,186 +14951,179 @@ return x_8; obj* l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_binder__content_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_command_notation__like_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_binder__content_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_command_notation__like_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_explicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -17405,216 +15233,14 @@ return x_5; obj* _init_l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_term_explicit__binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_term_explicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -18060,216 +15686,14 @@ return x_5; obj* _init_l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_term_binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -18702,216 +16126,14 @@ return x_8; obj* _init_l_lean_parser_term_strict__implicit__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_term_binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_term_implicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_term_strict__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -19369,303 +16591,9 @@ return x_9; obj* _init_l_lean_parser_term_inst__implicit__named__binder_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(0); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_11; obj* x_12; -x_11 = lean::box(3); -x_12 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_12, 0, x_7); -lean::cnstr_set(x_12, 1, x_10); -lean::cnstr_set(x_12, 2, x_11); -return x_12; -} -else -{ -obj* x_13; obj* x_16; -x_13 = lean::cnstr_get(x_0, 0); -lean::inc(x_13); -lean::dec(x_0); -x_16 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_16, 0, x_7); -lean::cnstr_set(x_16, 1, x_10); -lean::cnstr_set(x_16, 2, x_13); -return x_16; -} -} -else -{ -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -switch (lean::obj_tag(x_17)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_25; obj* x_28; -x_19 = lean::cnstr_get(x_1, 0); -lean::inc(x_19); -lean::dec(x_1); -x_22 = lean::cnstr_get(x_0, 1); -lean::inc(x_22); -lean::dec(x_0); -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_28, 0, x_25); -if (lean::obj_tag(x_22) == 0) -{ -obj* x_29; obj* x_30; -x_29 = lean::box(3); -x_30 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_30, 0, x_19); -lean::cnstr_set(x_30, 1, x_28); -lean::cnstr_set(x_30, 2, x_29); -return x_30; -} -else -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_22, 0); -lean::inc(x_31); -lean::dec(x_22); -x_34 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_34, 0, x_19); -lean::cnstr_set(x_34, 1, x_28); -lean::cnstr_set(x_34, 2, x_31); -return x_34; -} -} -case 3: -{ -obj* x_35; obj* x_38; obj* x_41; -x_35 = lean::cnstr_get(x_1, 0); -lean::inc(x_35); -lean::dec(x_1); -x_38 = lean::cnstr_get(x_0, 1); -lean::inc(x_38); -lean::dec(x_0); -x_41 = lean::box(0); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_42; obj* x_43; -x_42 = lean::box(3); -x_43 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_43, 0, x_35); -lean::cnstr_set(x_43, 1, x_41); -lean::cnstr_set(x_43, 2, x_42); -return x_43; -} -else -{ -obj* x_44; obj* x_47; -x_44 = lean::cnstr_get(x_38, 0); -lean::inc(x_44); -lean::dec(x_38); -x_47 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_47, 0, x_35); -lean::cnstr_set(x_47, 1, x_41); -lean::cnstr_set(x_47, 2, x_44); -return x_47; -} -} -default: -{ -obj* x_49; obj* x_52; obj* x_55; -lean::dec(x_17); -x_49 = lean::cnstr_get(x_1, 0); -lean::inc(x_49); -lean::dec(x_1); -x_52 = lean::cnstr_get(x_0, 1); -lean::inc(x_52); -lean::dec(x_0); -x_55 = lean::box(0); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -x_56 = lean::box(3); -x_57 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_57, 0, x_49); -lean::cnstr_set(x_57, 1, x_55); -lean::cnstr_set(x_57, 2, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; -x_58 = lean::cnstr_get(x_52, 0); -lean::inc(x_58); -lean::dec(x_52); -x_61 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_61, 0, x_49); -lean::cnstr_set(x_61, 1, x_55); -lean::cnstr_set(x_61, 2, x_58); -return x_61; -} -} -} -} -} -case 3: -{ -obj* x_62; -x_62 = lean::box(0); -x_5 = x_62; -goto lbl_6; -} -default: -{ -obj* x_64; -lean::dec(x_1); -x_64 = lean::box(0); -x_5 = x_64; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_66; -lean::dec(x_5); -x_66 = lean::box(0); -if (lean::obj_tag(x_0) == 0) -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_67; -x_67 = l_lean_parser_term_inst__implicit__named__binder_has__view_x_27___lambda__1___closed__1; -return x_67; -} -else -{ -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_0, 0); -lean::inc(x_68); -lean::dec(x_0); -x_71 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_72 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_72, 0, x_71); -lean::cnstr_set(x_72, 1, x_66); -lean::cnstr_set(x_72, 2, x_68); -return x_72; -} -} -else -{ -obj* x_73; -x_73 = lean::cnstr_get(x_0, 0); -lean::inc(x_73); -switch (lean::obj_tag(x_73)) { -case 0: -{ -obj* x_75; obj* x_78; obj* x_81; -x_75 = lean::cnstr_get(x_0, 1); -lean::inc(x_75); -lean::dec(x_0); -x_78 = lean::cnstr_get(x_73, 0); -lean::inc(x_78); -lean::dec(x_73); -x_81 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_81, 0, x_78); -if (lean::obj_tag(x_75) == 0) -{ -obj* x_82; obj* x_83; obj* x_84; -x_82 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_83 = lean::box(3); -x_84 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_84, 0, x_82); -lean::cnstr_set(x_84, 1, x_81); -lean::cnstr_set(x_84, 2, x_83); -return x_84; -} -else -{ -obj* x_85; obj* x_88; obj* x_89; -x_85 = lean::cnstr_get(x_75, 0); -lean::inc(x_85); -lean::dec(x_75); -x_88 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_89 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_89, 0, x_88); -lean::cnstr_set(x_89, 1, x_81); -lean::cnstr_set(x_89, 2, x_85); -return x_89; -} -} -case 3: -{ -obj* x_90; -x_90 = lean::cnstr_get(x_0, 1); -lean::inc(x_90); -lean::dec(x_0); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_93; -x_93 = l_lean_parser_term_inst__implicit__named__binder_has__view_x_27___lambda__1___closed__1; -return x_93; -} -else -{ -obj* x_94; obj* x_97; obj* x_98; -x_94 = lean::cnstr_get(x_90, 0); -lean::inc(x_94); -lean::dec(x_90); -x_97 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_98 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_98, 0, x_97); -lean::cnstr_set(x_98, 1, x_66); -lean::cnstr_set(x_98, 2, x_94); -return x_98; -} -} -default: -{ -obj* x_100; -lean::dec(x_73); -x_100 = lean::cnstr_get(x_0, 1); -lean::inc(x_100); -lean::dec(x_0); -if (lean::obj_tag(x_100) == 0) -{ -obj* x_103; -x_103 = l_lean_parser_term_inst__implicit__named__binder_has__view_x_27___lambda__1___closed__1; -return x_103; -} -else -{ -obj* x_104; obj* x_107; obj* x_108; -x_104 = lean::cnstr_get(x_100, 0); -lean::inc(x_104); -lean::dec(x_100); -x_107 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_108 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_108, 0, x_107); -lean::cnstr_set(x_108, 1, x_66); -lean::cnstr_set(x_108, 2, x_104); -return x_108; -} -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_inst__implicit__named__binder_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_term_inst__implicit__named__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -20192,43 +17120,16 @@ return x_8; obj* _init_l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_inst__implicit__anonymous__binder_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_inst__implicit__named__binder_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_inst__implicit__named__binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__2() { @@ -20250,186 +17151,179 @@ return x_8; obj* l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_inst__implicit__anonymous__binder_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_inst__implicit__named__binder_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_inst__implicit__anonymous__binder_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_inst__implicit__named__binder_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_inst__implicit__binder__content_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -20539,216 +17433,14 @@ return x_5; obj* _init_l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -obj* x_9; obj* x_10; obj* x_13; -x_9 = l_lean_parser_term_inst__implicit__binder__content_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_1); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_14; obj* x_15; -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_13); -lean::cnstr_set(x_15, 2, x_14); -return x_15; -} -else -{ -obj* x_16; -x_16 = lean::cnstr_get(x_2, 0); -lean::inc(x_16); -lean::dec(x_2); -switch (lean::obj_tag(x_16)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_23; -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_22, 0, x_19); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_13); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -case 3: -{ -obj* x_24; obj* x_25; -x_24 = lean::box(0); -x_25 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_25, 0, x_0); -lean::cnstr_set(x_25, 1, x_13); -lean::cnstr_set(x_25, 2, x_24); -return x_25; -} -default: -{ -obj* x_27; obj* x_28; -lean::dec(x_16); -x_27 = lean::box(0); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_0); -lean::cnstr_set(x_28, 1, x_13); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -} -} -lbl_6: -{ -obj* x_29; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_5, 0); -lean::inc(x_31); -lean::dec(x_5); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_34; -goto lbl_30; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_4, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_4, 1); -lean::inc(x_37); -lean::dec(x_4); -x_0 = x_34; -x_1 = x_35; -x_2 = x_37; -goto lbl_3; -} -} -case 3: -{ -obj* x_40; -x_40 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_40; -goto lbl_30; -} -else -{ -obj* x_41; obj* x_43; -x_41 = lean::cnstr_get(x_4, 0); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_4, 1); -lean::inc(x_43); -lean::dec(x_4); -x_0 = x_40; -x_1 = x_41; -x_2 = x_43; -goto lbl_3; -} -} -default: -{ -obj* x_47; -lean::dec(x_5); -x_47 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_29 = x_47; -goto lbl_30; -} -else -{ -obj* x_48; obj* x_50; -x_48 = lean::cnstr_get(x_4, 0); -lean::inc(x_48); -x_50 = lean::cnstr_get(x_4, 1); -lean::inc(x_50); -lean::dec(x_4); -x_0 = x_47; -x_1 = x_48; -x_2 = x_50; -goto lbl_3; -} -} -} -lbl_30: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_53; obj* x_54; obj* x_55; -x_53 = lean::box(0); -x_54 = l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_55 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_55, 0, x_29); -lean::cnstr_set(x_55, 1, x_54); -lean::cnstr_set(x_55, 2, x_53); -return x_55; -} -else -{ -obj* x_56; -x_56 = lean::cnstr_get(x_4, 0); -lean::inc(x_56); -lean::dec(x_4); -switch (lean::obj_tag(x_56)) { -case 0: -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_64; -x_59 = lean::cnstr_get(x_56, 0); -lean::inc(x_59); -lean::dec(x_56); -x_62 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_62, 0, x_59); -x_63 = l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_64 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_64, 0, x_29); -lean::cnstr_set(x_64, 1, x_63); -lean::cnstr_set(x_64, 2, x_62); -return x_64; -} -case 3: -{ -obj* x_65; obj* x_66; obj* x_67; -x_65 = lean::box(0); -x_66 = l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_67 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_67, 0, x_29); -lean::cnstr_set(x_67, 1, x_66); -lean::cnstr_set(x_67, 2, x_65); -return x_67; -} -default: -{ -obj* x_69; obj* x_70; obj* x_71; -lean::dec(x_56); -x_69 = lean::box(0); -x_70 = l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_71, 0, x_29); -lean::cnstr_set(x_71, 1, x_70); -lean::cnstr_set(x_71, 2, x_69); -return x_71; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1___closed__1; +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_term_inst__implicit__binder_has__view_x_27___lambda__1(obj* x_0) { @@ -21181,100 +17873,16 @@ return x_8; obj* _init_l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -if (x_10 == 0) -{ -obj* x_11; uint8 x_12; -x_11 = lean::mk_nat_obj(3u); -x_12 = lean::nat_dec_eq(x_1, x_11); -lean::dec(x_1); -if (x_12 == 0) -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_anonymous__constructor_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -else -{ -obj* x_20; obj* x_21; obj* x_24; obj* x_25; -x_20 = l_lean_parser_term_inst__implicit__binder_has__view; -x_21 = lean::cnstr_get(x_20, 0); -lean::inc(x_21); -lean::dec(x_20); -x_24 = lean::apply_1(x_21, x_0); -x_25 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_25, 0, x_24); -return x_25; -} -} -else -{ -obj* x_27; obj* x_28; obj* x_31; obj* x_32; -lean::dec(x_1); -x_27 = l_lean_parser_term_strict__implicit__binder_has__view; -x_28 = lean::cnstr_get(x_27, 0); -lean::inc(x_28); -lean::dec(x_27); -x_31 = lean::apply_1(x_28, x_0); -x_32 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_32, 0, x_31); -return x_32; -} -} -else -{ -obj* x_34; obj* x_35; obj* x_38; obj* x_39; -lean::dec(x_1); -x_34 = l_lean_parser_term_implicit__binder_has__view; -x_35 = lean::cnstr_get(x_34, 0); -lean::inc(x_35); -lean::dec(x_34); -x_38 = lean::apply_1(x_35, x_0); -x_39 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_39, 0, x_38); -return x_39; -} -} -else -{ -obj* x_41; obj* x_42; obj* x_45; obj* x_46; -lean::dec(x_1); -x_41 = l_lean_parser_term_explicit__binder_has__view; -x_42 = lean::cnstr_get(x_41, 0); -lean::inc(x_42); -lean::dec(x_41); -x_45 = lean::apply_1(x_42, x_0); -x_46 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_46, 0, x_45); -return x_46; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_explicit__binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__2() { @@ -21296,139 +17904,220 @@ return x_8; obj* l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +if (x_56 == 0) +{ +obj* x_57; uint8 x_58; +x_57 = lean::mk_nat_obj(1u); +x_58 = lean::nat_dec_eq(x_39, x_57); +if (x_58 == 0) +{ +obj* x_59; uint8 x_60; +x_59 = lean::mk_nat_obj(2u); +x_60 = lean::nat_dec_eq(x_39, x_59); +if (x_60 == 0) +{ +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(3u); +x_62 = lean::nat_dec_eq(x_39, x_61); +lean::dec(x_39); +if (x_62 == 0) +{ +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_anonymous__constructor_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(4, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_52; +obj* x_70; obj* x_71; obj* x_74; obj* x_75; +x_70 = l_lean_parser_term_inst__implicit__binder_has__view; +x_71 = lean::cnstr_get(x_70, 0); +lean::inc(x_71); +lean::dec(x_70); +x_74 = lean::apply_1(x_71, x_52); +x_75 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_75, 0, x_74); +return x_75; +} } else { -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +obj* x_77; obj* x_78; obj* x_81; obj* x_82; +lean::dec(x_39); +x_77 = l_lean_parser_term_strict__implicit__binder_has__view; +x_78 = lean::cnstr_get(x_77, 0); +lean::inc(x_78); +lean::dec(x_77); +x_81 = lean::apply_1(x_78, x_52); +x_82 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_82, 0, x_81); +return x_82; +} } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_61; +obj* x_84; obj* x_85; obj* x_88; obj* x_89; +lean::dec(x_39); +x_84 = l_lean_parser_term_implicit__binder_has__view; +x_85 = lean::cnstr_get(x_84, 0); +lean::inc(x_85); +lean::dec(x_84); +x_88 = lean::apply_1(x_85, x_52); +x_89 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_89, 0, x_88); +return x_89; +} +} +else +{ +obj* x_91; obj* x_92; obj* x_95; obj* x_96; +lean::dec(x_39); +x_91 = l_lean_parser_term_explicit__binder_has__view; +x_92 = lean::cnstr_get(x_91, 0); +lean::inc(x_92); +lean::dec(x_91); +x_95 = lean::apply_1(x_92, x_52); +x_96 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_96, 0, x_95); +return x_96; +} +} +else +{ +obj* x_100; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_100 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_100; } } } @@ -21438,103 +18127,15 @@ return x_61; } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; -return x_64; +obj* x_103; +lean::dec(x_8); +lean::dec(x_17); +x_103 = l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__1___closed__1; +return x_103; } } } } -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) -{ -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) -{ -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -if (x_70 == 0) -{ -obj* x_71; uint8 x_72; -x_71 = lean::mk_nat_obj(3u); -x_72 = lean::nat_dec_eq(x_2, x_71); -lean::dec(x_2); -if (x_72 == 0) -{ -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_anonymous__constructor_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(4, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; -} -else -{ -obj* x_80; obj* x_81; obj* x_84; obj* x_85; -x_80 = l_lean_parser_term_inst__implicit__binder_has__view; -x_81 = lean::cnstr_get(x_80, 0); -lean::inc(x_81); -lean::dec(x_80); -x_84 = lean::apply_1(x_81, x_1); -x_85 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_85, 0, x_84); -return x_85; -} -} -else -{ -obj* x_87; obj* x_88; obj* x_91; obj* x_92; -lean::dec(x_2); -x_87 = l_lean_parser_term_strict__implicit__binder_has__view; -x_88 = lean::cnstr_get(x_87, 0); -lean::inc(x_88); -lean::dec(x_87); -x_91 = lean::apply_1(x_88, x_1); -x_92 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_92, 0, x_91); -return x_92; -} -} -else -{ -obj* x_94; obj* x_95; obj* x_98; obj* x_99; -lean::dec(x_2); -x_94 = l_lean_parser_term_implicit__binder_has__view; -x_95 = lean::cnstr_get(x_94, 0); -lean::inc(x_95); -lean::dec(x_94); -x_98 = lean::apply_1(x_95, x_1); -x_99 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_99, 0, x_98); -return x_99; -} -} -else -{ -obj* x_101; obj* x_102; obj* x_105; obj* x_106; -lean::dec(x_2); -x_101 = l_lean_parser_term_explicit__binder_has__view; -x_102 = lean::cnstr_get(x_101, 0); -lean::inc(x_102); -lean::dec(x_101); -x_105 = lean::apply_1(x_102, x_1); -x_106 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_106, 0, x_105); -return x_106; -} -} } } obj* l_lean_parser_term_bracketed__binder_has__view_x_27___lambda__2(obj* x_0) { @@ -23205,43 +19806,16 @@ return x_8; obj* _init_l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_binder__content_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_bracketed__binder_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_bracketed__binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__2() { @@ -23263,186 +19837,179 @@ return x_8; obj* l_lean_parser_term_binder_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_binder__content_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_bracketed__binder_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_binder__content_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_bracketed__binder_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_binder_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -23873,43 +20440,16 @@ return x_8; obj* _init_l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_binder__ident_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_bracketed__binder_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_bracketed__binder_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__2() { @@ -23931,186 +20471,179 @@ return x_8; obj* l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_binder__ident_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_bracketed__binder_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_binder__ident_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_bracketed__binder_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_mixed__binder_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -24237,57 +20770,16 @@ return x_1; obj* _init_l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; -x_8 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_8) == 0) -{ -obj* x_9; -x_9 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__1; -return x_9; -} -else -{ -obj* x_10; obj* x_13; obj* x_16; obj* x_17; obj* x_18; -x_10 = lean::cnstr_get(x_8, 0); -lean::inc(x_10); -lean::dec(x_8); -x_13 = lean::cnstr_get(x_10, 1); -lean::inc(x_13); -lean::dec(x_10); -x_16 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__2; -x_17 = l_list_map___main___rarg(x_16, x_13); -x_18 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_18, 0, x_17); -return x_18; -} -} -else -{ -obj* x_19; obj* x_20; obj* x_23; obj* x_24; -x_19 = l_lean_parser_term_binders__types_has__view; -x_20 = lean::cnstr_get(x_19, 0); -lean::inc(x_20); -lean::dec(x_19); -x_23 = lean::apply_1(x_20, x_0); -x_24 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_24, 0, x_23); -return x_24; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_binders__types_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__4() { @@ -24309,200 +20801,193 @@ return x_8; obj* l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; +x_58 = l_lean_parser_syntax_as__node___main(x_52); +if (lean::obj_tag(x_58) == 0) +{ +obj* x_59; +x_59 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__1; +return x_59; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} +obj* x_60; obj* x_63; obj* x_66; obj* x_67; obj* x_68; +x_60 = lean::cnstr_get(x_58, 0); +lean::inc(x_60); +lean::dec(x_58); +x_63 = lean::cnstr_get(x_60, 1); +lean::inc(x_63); +lean::dec(x_60); +x_66 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__2; +x_67 = l_list_map___main___rarg(x_66, x_63); +x_68 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_68, 0, x_67); +return x_68; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; -x_68 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_68) == 0) -{ -obj* x_69; -x_69 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__1; -return x_69; -} -else -{ -obj* x_70; obj* x_73; obj* x_76; obj* x_77; obj* x_78; -x_70 = lean::cnstr_get(x_68, 0); +obj* x_69; obj* x_70; obj* x_73; obj* x_74; +x_69 = l_lean_parser_term_binders__types_has__view; +x_70 = lean::cnstr_get(x_69, 0); lean::inc(x_70); -lean::dec(x_68); -x_73 = lean::cnstr_get(x_70, 1); -lean::inc(x_73); -lean::dec(x_70); -x_76 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__2; -x_77 = l_list_map___main___rarg(x_76, x_73); -x_78 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_78, 0, x_77); +lean::dec(x_69); +x_73 = lean::apply_1(x_70, x_52); +x_74 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_74, 0, x_73); +return x_74; +} +} +else +{ +obj* x_78; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_78 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; return x_78; } } +} +} +} +} +} else { -obj* x_79; obj* x_80; obj* x_83; obj* x_84; -x_79 = l_lean_parser_term_binders__types_has__view; -x_80 = lean::cnstr_get(x_79, 0); -lean::inc(x_80); -lean::dec(x_79); -x_83 = lean::apply_1(x_80, x_1); -x_84 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_84, 0, x_83); -return x_84; +obj* x_81; +lean::dec(x_8); +lean::dec(x_17); +x_81 = l_lean_parser_term_binders__remainder_has__view_x_27___lambda__1___closed__3; +return x_81; +} +} } } } @@ -24710,7 +21195,7 @@ if (lean::is_scalar(x_5)) { x_21 = x_5; } lean::cnstr_set(x_21, 0, x_20); -x_22 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; +x_22 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; x_23 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_23, 0, x_22); lean::cnstr_set(x_23, 1, x_21); @@ -24747,273 +21232,94 @@ return x_6; obj* _init_l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_5) == 0) -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_6; -x_6 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__3; -return x_6; +obj* x_2; +x_2 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_0, 0); -lean::inc(x_7); -lean::dec(x_0); -x_10 = l_lean_parser_syntax_as__node___main(x_7); -if (lean::obj_tag(x_10) == 0) +obj* x_3; obj* x_5; obj* x_8; obj* x_10; +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_binder__content_has__view_x_27___lambda__1___closed__6; +lean::inc(x_5); +x_10 = l_list_map___main___rarg(x_8, x_5); +if (lean::obj_tag(x_1) == 0) { -obj* x_11; -x_11 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__1; -return x_11; +obj* x_12; obj* x_13; +lean::dec(x_5); +x_12 = l_lean_parser_term_binders__ext_has__view_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_12; obj* x_14; obj* x_15; -x_12 = lean::cnstr_get(x_10, 0); -if (lean::is_exclusive(x_10)) { - lean::cnstr_set(x_10, 0, lean::box(0)); - x_14 = x_10; +obj* x_14; +if (lean::is_exclusive(x_1)) { + lean::cnstr_release(x_1, 0); + x_14 = x_1; } else { - lean::inc(x_12); - lean::dec(x_10); + lean::dec(x_1); x_14 = lean::box(0); } -x_15 = lean::cnstr_get(x_12, 1); -lean::inc(x_15); -lean::dec(x_12); -if (lean::obj_tag(x_15) == 0) +if (lean::obj_tag(x_5) == 0) { -obj* x_19; +obj* x_16; obj* x_17; lean::dec(x_14); -x_19 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__2; -return x_19; +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; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_15, 1); +obj* x_18; +x_18 = lean::cnstr_get(x_5, 1); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 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); -if (lean::obj_tag(x_20) == 0) -{ -obj* x_22; obj* x_25; obj* x_26; obj* x_29; obj* x_30; obj* x_31; obj* x_32; -x_22 = lean::cnstr_get(x_15, 0); -lean::inc(x_22); -lean::dec(x_15); -x_25 = l_lean_parser_term_binders__remainder_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_22); -if (lean::is_scalar(x_14)) { - x_30 = lean::alloc_cnstr(1, 1, 0); -} else { - x_30 = x_14; -} -lean::cnstr_set(x_30, 0, x_29); -x_31 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; -x_32 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_32, 0, x_31); -lean::cnstr_set(x_32, 1, x_30); -return x_32; -} -else -{ -obj* x_36; -lean::dec(x_15); -lean::dec(x_20); -lean::dec(x_14); -x_36 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__1; -return x_36; -} -} -} -} -} -else -{ -obj* x_37; obj* x_40; obj* x_43; obj* x_44; -x_37 = lean::cnstr_get(x_5, 0); -lean::inc(x_37); lean::dec(x_5); -x_40 = lean::cnstr_get(x_37, 1); -lean::inc(x_40); -lean::dec(x_37); -x_43 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; -x_44 = l_list_map___main___rarg(x_43, x_40); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_45; obj* x_46; -x_45 = lean::box(3); -x_46 = l_lean_parser_syntax_as__node___main(x_45); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_47; obj* x_48; -x_47 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__4; -x_48 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_48, 0, x_44); -lean::cnstr_set(x_48, 1, x_47); -return x_48; -} -else -{ -obj* x_49; obj* x_51; obj* x_52; -x_49 = lean::cnstr_get(x_46, 0); -if (lean::is_exclusive(x_46)) { - lean::cnstr_set(x_46, 0, lean::box(0)); - x_51 = x_46; +x_23 = l_lean_parser_term_binders__remainder_has__view; +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); } else { - lean::inc(x_49); - lean::dec(x_46); - x_51 = lean::box(0); + x_28 = x_14; } -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); -lean::dec(x_49); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -lean::dec(x_51); -x_56 = lean::box(0); -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_44); -lean::cnstr_set(x_57, 1, x_56); -return x_57; +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; } else { -obj* x_58; -x_58 = lean::cnstr_get(x_52, 1); -lean::inc(x_58); -if (lean::obj_tag(x_58) == 0) -{ -obj* x_60; obj* x_63; obj* x_64; obj* x_67; obj* x_68; obj* x_69; -x_60 = lean::cnstr_get(x_52, 0); -lean::inc(x_60); -lean::dec(x_52); -x_63 = l_lean_parser_term_binders__remainder_has__view; -x_64 = lean::cnstr_get(x_63, 0); -lean::inc(x_64); -lean::dec(x_63); -x_67 = lean::apply_1(x_64, x_60); -if (lean::is_scalar(x_51)) { - x_68 = lean::alloc_cnstr(1, 1, 0); -} else { - x_68 = x_51; -} -lean::cnstr_set(x_68, 0, x_67); -x_69 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_69, 0, x_44); -lean::cnstr_set(x_69, 1, x_68); -return x_69; -} -else -{ -obj* x_73; obj* x_74; -lean::dec(x_58); -lean::dec(x_51); -lean::dec(x_52); -x_73 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__4; -x_74 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_74, 0, x_44); -lean::cnstr_set(x_74, 1, x_73); -return x_74; -} -} -} -} -else -{ -obj* x_75; obj* x_78; -x_75 = lean::cnstr_get(x_0, 0); -lean::inc(x_75); -lean::dec(x_0); -x_78 = l_lean_parser_syntax_as__node___main(x_75); -if (lean::obj_tag(x_78) == 0) -{ -obj* x_79; obj* x_80; -x_79 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__4; -x_80 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_80, 0, x_44); -lean::cnstr_set(x_80, 1, x_79); -return x_80; -} -else -{ -obj* x_81; obj* x_83; obj* x_84; -x_81 = lean::cnstr_get(x_78, 0); -if (lean::is_exclusive(x_78)) { - lean::cnstr_set(x_78, 0, lean::box(0)); - x_83 = x_78; -} else { - lean::inc(x_81); - lean::dec(x_78); - x_83 = lean::box(0); -} -x_84 = lean::cnstr_get(x_81, 1); -lean::inc(x_84); -lean::dec(x_81); -if (lean::obj_tag(x_84) == 0) -{ -obj* x_88; obj* x_89; -lean::dec(x_83); -x_88 = lean::box(0); -x_89 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_89, 0, x_44); -lean::cnstr_set(x_89, 1, x_88); -return x_89; -} -else -{ -obj* x_90; -x_90 = lean::cnstr_get(x_84, 1); -lean::inc(x_90); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_92; obj* x_95; obj* x_96; obj* x_99; obj* x_100; obj* x_101; -x_92 = lean::cnstr_get(x_84, 0); -lean::inc(x_92); -lean::dec(x_84); -x_95 = l_lean_parser_term_binders__remainder_has__view; -x_96 = lean::cnstr_get(x_95, 0); -lean::inc(x_96); -lean::dec(x_95); -x_99 = lean::apply_1(x_96, x_92); -if (lean::is_scalar(x_83)) { - x_100 = lean::alloc_cnstr(1, 1, 0); -} else { - x_100 = x_83; -} -lean::cnstr_set(x_100, 0, x_99); -x_101 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_101, 0, x_44); -lean::cnstr_set(x_101, 1, x_100); -return x_101; -} -else -{ -obj* x_105; obj* x_106; -lean::dec(x_90); -lean::dec(x_83); -lean::dec(x_84); -x_105 = l_lean_parser_term_binders__ext_has__view_x_27___lambda__1___closed__4; -x_106 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_106, 0, x_44); -lean::cnstr_set(x_106, 1, x_105); -return x_106; -} -} +obj* x_33; obj* x_34; +lean::dec(x_14); +lean::dec(x_5); +lean::dec(x_18); +x_33 = l_lean_parser_term_binders__ext_has__view_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; } } } @@ -25130,7 +21436,7 @@ if (lean::is_scalar(x_27)) { x_43 = x_27; } lean::cnstr_set(x_43, 0, x_42); -x_44 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__3; +x_44 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__1; x_45 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_45, 0, x_44); lean::cnstr_set(x_45, 1, x_43); @@ -25158,7 +21464,7 @@ lean::dec(x_18); x_53 = lean::cnstr_get(x_50, 1); lean::inc(x_53); lean::dec(x_50); -x_56 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_56 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6; x_57 = l_list_map___main___rarg(x_56, x_53); if (lean::obj_tag(x_1) == 0) { @@ -25646,43 +21952,16 @@ return x_8; obj* _init_l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_simple__binder_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_binders__ext_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_binders__ext_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__2() { @@ -25704,186 +21983,179 @@ return x_8; obj* l_lean_parser_term_binders_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_simple__binder_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_binders__ext_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_simple__binder_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_binders__ext_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_binders_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -26123,70 +22395,29 @@ return x_1; obj* _init_l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); +obj* x_2; +x_2 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__3; +return x_2; +} +else +{ +obj* x_3; obj* x_6; obj* x_9; obj* x_10; obj* x_11; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; -x_8 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_8) == 0) -{ -obj* x_9; -x_9 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__1; -return x_9; -} -else -{ -obj* x_10; obj* x_13; obj* x_16; obj* x_17; obj* x_18; -x_10 = lean::cnstr_get(x_8, 0); -lean::inc(x_10); -lean::dec(x_8); -x_13 = lean::cnstr_get(x_10, 1); -lean::inc(x_13); -lean::dec(x_10); -x_16 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__2; -x_17 = l_list_map___main___rarg(x_16, x_13); -x_18 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_18, 0, x_17); -return x_18; -} -} -else -{ -obj* x_19; -x_19 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_19) == 0) -{ -obj* x_20; -x_20 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__3; -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_27; obj* x_28; obj* x_29; -x_21 = lean::cnstr_get(x_19, 0); -lean::inc(x_21); -lean::dec(x_19); -x_24 = lean::cnstr_get(x_21, 1); -lean::inc(x_24); -lean::dec(x_21); -x_27 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__4; -x_28 = l_list_map___main___rarg(x_27, x_24); -x_29 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_29, 0, x_28); -return x_29; -} -} +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +x_9 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__4; +x_10 = l_list_map___main___rarg(x_9, x_6); +x_11 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_11, 0, x_10); +return x_11; } } } @@ -26209,213 +22440,206 @@ return x_8; obj* l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__6; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__6; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; +x_58 = l_lean_parser_syntax_as__node___main(x_52); +if (lean::obj_tag(x_58) == 0) +{ +obj* x_59; +x_59 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__1; +return x_59; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_61; -} -} -} -} -} +obj* x_60; obj* x_63; obj* x_66; obj* x_67; obj* x_68; +x_60 = lean::cnstr_get(x_58, 0); +lean::inc(x_60); +lean::dec(x_58); +x_63 = lean::cnstr_get(x_60, 1); +lean::inc(x_63); +lean::dec(x_60); +x_66 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__2; +x_67 = l_list_map___main___rarg(x_66, x_63); +x_68 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_68, 0, x_67); +return x_68; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; -x_68 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_68) == 0) -{ obj* x_69; -x_69 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__1; -return x_69; +x_69 = l_lean_parser_syntax_as__node___main(x_52); +if (lean::obj_tag(x_69) == 0) +{ +obj* x_70; +x_70 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__3; +return x_70; } else { -obj* x_70; obj* x_73; obj* x_76; obj* x_77; obj* x_78; -x_70 = lean::cnstr_get(x_68, 0); -lean::inc(x_70); -lean::dec(x_68); -x_73 = lean::cnstr_get(x_70, 1); -lean::inc(x_73); -lean::dec(x_70); -x_76 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__2; -x_77 = l_list_map___main___rarg(x_76, x_73); -x_78 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_78, 0, x_77); -return x_78; +obj* x_71; obj* x_74; obj* x_77; obj* x_78; obj* x_79; +x_71 = lean::cnstr_get(x_69, 0); +lean::inc(x_71); +lean::dec(x_69); +x_74 = lean::cnstr_get(x_71, 1); +lean::inc(x_74); +lean::dec(x_71); +x_77 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__4; +x_78 = l_list_map___main___rarg(x_77, x_74); +x_79 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_79, 0, x_78); +return x_79; +} } } else { -obj* x_79; -x_79 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_79) == 0) -{ -obj* x_80; -x_80 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__3; -return x_80; +obj* x_83; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_83 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_83; +} +} +} +} +} +} } else { -obj* x_81; obj* x_84; obj* x_87; obj* x_88; obj* x_89; -x_81 = lean::cnstr_get(x_79, 0); -lean::inc(x_81); -lean::dec(x_79); -x_84 = lean::cnstr_get(x_81, 1); -lean::inc(x_84); -lean::dec(x_81); -x_87 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__4; -x_88 = l_list_map___main___rarg(x_87, x_84); -x_89 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_89, 0, x_88); -return x_89; +obj* x_86; +lean::dec(x_8); +lean::dec(x_17); +x_86 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__5; +return x_86; +} } } } @@ -26628,183 +22852,20 @@ return x_8; obj* _init_l_lean_parser_term_lambda_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_8; -x_8 = lean::box(3); -x_5 = x_0; -x_6 = x_8; -goto lbl_7; -} -else -{ -obj* x_9; obj* x_11; -x_9 = lean::cnstr_get(x_0, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_0, 1); -lean::inc(x_11); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; +x_0 = l_lean_parser_term_binders_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_5 = x_11; -x_6 = x_9; -goto lbl_7; -} -lbl_7: -{ -obj* x_14; obj* x_15; obj* x_18; -x_14 = l_lean_parser_term_binders_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_6); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_19; -x_19 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_20; obj* x_21; -x_20 = lean::box(3); -x_21 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_21, 0, x_1); -lean::cnstr_set(x_21, 1, x_18); -lean::cnstr_set(x_21, 2, x_19); -lean::cnstr_set(x_21, 3, x_20); -return x_21; -} -else -{ -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_5, 0); -lean::inc(x_22); -lean::dec(x_5); -x_25 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_25, 0, x_1); -lean::cnstr_set(x_25, 1, x_18); -lean::cnstr_set(x_25, 2, x_19); -lean::cnstr_set(x_25, 3, x_22); -return x_25; -} -} -else -{ -obj* x_26; -x_26 = lean::cnstr_get(x_5, 0); -lean::inc(x_26); -switch (lean::obj_tag(x_26)) { -case 0: -{ -obj* x_28; obj* x_31; obj* x_34; -x_28 = lean::cnstr_get(x_5, 1); -lean::inc(x_28); -lean::dec(x_5); -x_31 = lean::cnstr_get(x_26, 0); -lean::inc(x_31); -lean::dec(x_26); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_28) == 0) -{ -obj* x_35; obj* x_36; -x_35 = lean::box(3); -x_36 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_36, 0, x_1); -lean::cnstr_set(x_36, 1, x_18); -lean::cnstr_set(x_36, 2, x_34); -lean::cnstr_set(x_36, 3, x_35); -return x_36; -} -else -{ -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_28, 0); -lean::inc(x_37); -lean::dec(x_28); -x_40 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_18); -lean::cnstr_set(x_40, 2, x_34); -lean::cnstr_set(x_40, 3, x_37); -return x_40; -} -} -case 3: -{ -obj* x_41; obj* x_44; -x_41 = lean::cnstr_get(x_5, 1); -lean::inc(x_41); -lean::dec(x_5); -x_44 = lean::box(0); -if (lean::obj_tag(x_41) == 0) -{ -obj* x_45; obj* x_46; -x_45 = lean::box(3); -x_46 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_46, 0, x_1); -lean::cnstr_set(x_46, 1, x_18); -lean::cnstr_set(x_46, 2, x_44); -lean::cnstr_set(x_46, 3, x_45); -return x_46; -} -else -{ -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_41, 0); -lean::inc(x_47); -lean::dec(x_41); -x_50 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_50, 0, x_1); -lean::cnstr_set(x_50, 1, x_18); -lean::cnstr_set(x_50, 2, x_44); -lean::cnstr_set(x_50, 3, x_47); -return x_50; -} -} -default: -{ -obj* x_52; obj* x_55; -lean::dec(x_26); -x_52 = lean::cnstr_get(x_5, 1); -lean::inc(x_52); -lean::dec(x_5); -x_55 = lean::box(0); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -x_56 = lean::box(3); -x_57 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_57, 0, x_1); -lean::cnstr_set(x_57, 1, x_18); -lean::cnstr_set(x_57, 2, x_55); -lean::cnstr_set(x_57, 3, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; -x_58 = lean::cnstr_get(x_52, 0); -lean::inc(x_58); -lean::dec(x_52); -x_61 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_61, 0, x_1); -lean::cnstr_set(x_61, 1, x_18); -lean::cnstr_set(x_61, 2, x_55); -lean::cnstr_set(x_61, 3, x_58); -return x_61; -} -} -} -} -} -} +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::box(0); +x_7 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_6); +lean::cnstr_set(x_7, 3, x_4); +return x_7; } } obj* l_lean_parser_term_lambda_has__view_x_27___lambda__1(obj* x_0) { @@ -27562,43 +23623,16 @@ return x_8; obj* _init_l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_binders_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_assume__anonymous_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_assume__anonymous_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__2() { @@ -27620,186 +23654,179 @@ return x_8; obj* l_lean_parser_term_assume__binders_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_binders_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_assume__anonymous_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_binders_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_assume__anonymous_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_assume__binders_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -27896,215 +23923,20 @@ return x_8; obj* _init_l_lean_parser_term_assume_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); +obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; +x_0 = lean::box(0); +x_1 = l_lean_parser_term_assume__binders_has__view; +x_2 = lean::cnstr_get(x_1, 0); +lean::inc(x_2); lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_24; obj* x_27; -x_23 = l_lean_parser_term_assume__binders_has__view; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_15); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_28; -x_28 = lean::box(0); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_29; obj* x_30; -x_29 = lean::box(3); -x_30 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_27); -lean::cnstr_set(x_30, 2, x_28); -lean::cnstr_set(x_30, 3, x_29); -return x_30; -} -else -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_14, 0); -lean::inc(x_31); -lean::dec(x_14); -x_34 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_34, 0, x_5); -lean::cnstr_set(x_34, 1, x_27); -lean::cnstr_set(x_34, 2, x_28); -lean::cnstr_set(x_34, 3, x_31); -return x_34; -} -} -else -{ -obj* x_35; -x_35 = lean::cnstr_get(x_14, 0); -lean::inc(x_35); -switch (lean::obj_tag(x_35)) { -case 0: -{ -obj* x_37; obj* x_40; obj* x_43; -x_37 = lean::cnstr_get(x_14, 1); -lean::inc(x_37); -lean::dec(x_14); -x_40 = lean::cnstr_get(x_35, 0); -lean::inc(x_40); -lean::dec(x_35); -x_43 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_43, 0, x_40); -if (lean::obj_tag(x_37) == 0) -{ -obj* x_44; obj* x_45; -x_44 = lean::box(3); -x_45 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_45, 0, x_5); -lean::cnstr_set(x_45, 1, x_27); -lean::cnstr_set(x_45, 2, x_43); -lean::cnstr_set(x_45, 3, x_44); -return x_45; -} -else -{ -obj* x_46; obj* x_49; -x_46 = lean::cnstr_get(x_37, 0); -lean::inc(x_46); -lean::dec(x_37); -x_49 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_49, 0, x_5); -lean::cnstr_set(x_49, 1, x_27); -lean::cnstr_set(x_49, 2, x_43); -lean::cnstr_set(x_49, 3, x_46); -return x_49; -} -} -case 3: -{ -obj* x_50; obj* x_53; -x_50 = lean::cnstr_get(x_14, 1); -lean::inc(x_50); -lean::dec(x_14); -x_53 = lean::box(0); -if (lean::obj_tag(x_50) == 0) -{ -obj* x_54; obj* x_55; -x_54 = lean::box(3); -x_55 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_55, 0, x_5); -lean::cnstr_set(x_55, 1, x_27); -lean::cnstr_set(x_55, 2, x_53); -lean::cnstr_set(x_55, 3, x_54); -return x_55; -} -else -{ -obj* x_56; obj* x_59; -x_56 = lean::cnstr_get(x_50, 0); -lean::inc(x_56); -lean::dec(x_50); -x_59 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_59, 0, x_5); -lean::cnstr_set(x_59, 1, x_27); -lean::cnstr_set(x_59, 2, x_53); -lean::cnstr_set(x_59, 3, x_56); -return x_59; -} -} -default: -{ -obj* x_61; obj* x_64; -lean::dec(x_35); -x_61 = lean::cnstr_get(x_14, 1); -lean::inc(x_61); -lean::dec(x_14); -x_64 = lean::box(0); -if (lean::obj_tag(x_61) == 0) -{ -obj* x_65; obj* x_66; -x_65 = lean::box(3); -x_66 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_66, 0, x_5); -lean::cnstr_set(x_66, 1, x_27); -lean::cnstr_set(x_66, 2, x_64); -lean::cnstr_set(x_66, 3, x_65); -return x_66; -} -else -{ -obj* x_67; obj* x_70; -x_67 = lean::cnstr_get(x_61, 0); -lean::inc(x_67); -lean::dec(x_61); -x_70 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_70, 0, x_5); -lean::cnstr_set(x_70, 1, x_27); -lean::cnstr_set(x_70, 2, x_64); -lean::cnstr_set(x_70, 3, x_67); -return x_70; -} -} -} -} -} -} -} +x_5 = lean::box(3); +x_6 = lean::apply_1(x_2, x_5); +x_7 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_7, 0, x_0); +lean::cnstr_set(x_7, 1, x_6); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_5); +return x_7; } } obj* l_lean_parser_term_assume_has__view_x_27___lambda__1(obj* x_0) { @@ -28769,183 +24601,20 @@ return x_8; obj* _init_l_lean_parser_term_pi_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_8; -x_8 = lean::box(3); -x_5 = x_0; -x_6 = x_8; -goto lbl_7; -} -else -{ -obj* x_9; obj* x_11; -x_9 = lean::cnstr_get(x_0, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_0, 1); -lean::inc(x_11); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; +x_0 = l_lean_parser_term_binders_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_5 = x_11; -x_6 = x_9; -goto lbl_7; -} -lbl_7: -{ -obj* x_14; obj* x_15; obj* x_18; -x_14 = l_lean_parser_term_binders_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_6); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_19; -x_19 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_20; obj* x_21; -x_20 = lean::box(3); -x_21 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_21, 0, x_1); -lean::cnstr_set(x_21, 1, x_18); -lean::cnstr_set(x_21, 2, x_19); -lean::cnstr_set(x_21, 3, x_20); -return x_21; -} -else -{ -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_5, 0); -lean::inc(x_22); -lean::dec(x_5); -x_25 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_25, 0, x_1); -lean::cnstr_set(x_25, 1, x_18); -lean::cnstr_set(x_25, 2, x_19); -lean::cnstr_set(x_25, 3, x_22); -return x_25; -} -} -else -{ -obj* x_26; -x_26 = lean::cnstr_get(x_5, 0); -lean::inc(x_26); -switch (lean::obj_tag(x_26)) { -case 0: -{ -obj* x_28; obj* x_31; obj* x_34; -x_28 = lean::cnstr_get(x_5, 1); -lean::inc(x_28); -lean::dec(x_5); -x_31 = lean::cnstr_get(x_26, 0); -lean::inc(x_31); -lean::dec(x_26); -x_34 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_34, 0, x_31); -if (lean::obj_tag(x_28) == 0) -{ -obj* x_35; obj* x_36; -x_35 = lean::box(3); -x_36 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_36, 0, x_1); -lean::cnstr_set(x_36, 1, x_18); -lean::cnstr_set(x_36, 2, x_34); -lean::cnstr_set(x_36, 3, x_35); -return x_36; -} -else -{ -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_28, 0); -lean::inc(x_37); -lean::dec(x_28); -x_40 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_18); -lean::cnstr_set(x_40, 2, x_34); -lean::cnstr_set(x_40, 3, x_37); -return x_40; -} -} -case 3: -{ -obj* x_41; obj* x_44; -x_41 = lean::cnstr_get(x_5, 1); -lean::inc(x_41); -lean::dec(x_5); -x_44 = lean::box(0); -if (lean::obj_tag(x_41) == 0) -{ -obj* x_45; obj* x_46; -x_45 = lean::box(3); -x_46 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_46, 0, x_1); -lean::cnstr_set(x_46, 1, x_18); -lean::cnstr_set(x_46, 2, x_44); -lean::cnstr_set(x_46, 3, x_45); -return x_46; -} -else -{ -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_41, 0); -lean::inc(x_47); -lean::dec(x_41); -x_50 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_50, 0, x_1); -lean::cnstr_set(x_50, 1, x_18); -lean::cnstr_set(x_50, 2, x_44); -lean::cnstr_set(x_50, 3, x_47); -return x_50; -} -} -default: -{ -obj* x_52; obj* x_55; -lean::dec(x_26); -x_52 = lean::cnstr_get(x_5, 1); -lean::inc(x_52); -lean::dec(x_5); -x_55 = lean::box(0); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -x_56 = lean::box(3); -x_57 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_57, 0, x_1); -lean::cnstr_set(x_57, 1, x_18); -lean::cnstr_set(x_57, 2, x_55); -lean::cnstr_set(x_57, 3, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; -x_58 = lean::cnstr_get(x_52, 0); -lean::inc(x_58); -lean::dec(x_52); -x_61 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_61, 0, x_1); -lean::cnstr_set(x_61, 1, x_18); -lean::cnstr_set(x_61, 2, x_55); -lean::cnstr_set(x_61, 3, x_58); -return x_61; -} -} -} -} -} -} +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::box(0); +x_7 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_6); +lean::cnstr_set(x_7, 3, x_4); +return x_7; } } obj* l_lean_parser_term_pi_has__view_x_27___lambda__1(obj* x_0) { @@ -29468,79 +25137,9 @@ return x_1; obj* _init_l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_16; obj* x_19; obj* x_20; -x_16 = lean::cnstr_get(x_0, 0); -lean::inc(x_16); -lean::dec(x_0); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_16); -x_20 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_20, 0, x_19); -return x_20; -} -case 3: -{ -obj* x_21; -x_21 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__2; -return x_21; -} -default: -{ -obj* x_23; -lean::dec(x_0); -x_23 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__2; -return x_23; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__4() { @@ -29562,220 +25161,236 @@ return x_8; obj* l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_76; obj* x_79; obj* x_80; -x_76 = lean::cnstr_get(x_1, 0); -lean::inc(x_76); -lean::dec(x_1); -x_79 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_79, 0, x_76); -x_80 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_80, 0, x_79); -return x_80; +obj* x_72; obj* x_75; obj* x_76; +x_72 = lean::cnstr_get(x_56, 0); +lean::inc(x_72); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_75 = lean::alloc_cnstr(1, 1, 0); +} else { + x_75 = x_26; +} +lean::cnstr_set(x_75, 0, x_72); +x_76 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_76, 0, x_75); +return x_76; } case 3: { +obj* x_78; +lean::dec(x_26); +x_78 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__2; +return x_78; +} +default: +{ obj* x_81; +lean::dec(x_56); +lean::dec(x_26); x_81 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__2; return x_81; } -default: +} +} +} +else { -obj* x_83; -lean::dec(x_1); -x_83 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__2; -return x_83; +obj* x_86; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_86 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_86; +} +} +} +} +} +} +} +else +{ +obj* x_89; +lean::dec(x_8); +lean::dec(x_17); +x_89 = l_lean_parser_term_explicit__modifier_has__view_x_27___lambda__1___closed__3; +return x_89; } } } @@ -30686,435 +26301,187 @@ return x_7; obj* _init_l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: +if (lean::obj_tag(x_1) == 0) { -obj* x_7; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_5 = x_7; -goto lbl_6; -} -case 3: -{ -obj* x_10; -x_10 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_10; -goto lbl_6; -} -default: -{ -obj* x_12; -lean::dec(x_1); -x_12 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_5 = x_12; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_13; obj* x_14; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_16; -x_16 = lean::box(3); -x_13 = x_0; -x_14 = x_16; -goto lbl_15; +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_let__lhs__id_has__view_x_27___lambda__1___closed__1; +x_4 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_5 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_5, 0, x_2); +lean::cnstr_set(x_5, 1, x_3); +lean::cnstr_set(x_5, 2, x_4); +return x_5; } else { -obj* x_17; obj* x_19; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -x_19 = lean::cnstr_get(x_0, 1); -lean::inc(x_19); -lean::dec(x_0); -x_13 = x_19; -x_14 = x_17; -goto lbl_15; -} -lbl_15: -{ -obj* x_22; -x_22 = l_lean_parser_syntax_as__node___main(x_14); -if (lean::obj_tag(x_22) == 0) -{ -if (lean::obj_tag(x_13) == 0) -{ -obj* x_23; obj* x_24; -x_23 = lean::box(3); -x_24 = l_lean_parser_syntax_as__node___main(x_23); -if (lean::obj_tag(x_24) == 0) -{ -obj* x_25; obj* x_26; obj* x_27; -x_25 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_26 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_27 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_27, 0, x_5); -lean::cnstr_set(x_27, 1, x_25); -lean::cnstr_set(x_27, 2, x_26); -return x_27; -} -else -{ -obj* x_28; obj* x_30; obj* x_31; -x_28 = lean::cnstr_get(x_24, 0); -if (lean::is_exclusive(x_24)) { - lean::cnstr_set(x_24, 0, lean::box(0)); - x_30 = x_24; +obj* x_6; obj* x_8; obj* x_9; +x_6 = lean::cnstr_get(x_1, 0); +if (lean::is_exclusive(x_1)) { + lean::cnstr_set(x_1, 0, lean::box(0)); + x_8 = x_1; } else { - lean::inc(x_28); - lean::dec(x_24); - x_30 = lean::box(0); + lean::inc(x_6); + lean::dec(x_1); + x_8 = lean::box(0); } -x_31 = lean::cnstr_get(x_28, 1); -lean::inc(x_31); -lean::dec(x_28); -if (lean::obj_tag(x_31) == 0) +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) { -obj* x_35; obj* x_36; obj* x_37; -lean::dec(x_30); -x_35 = lean::box(0); -x_36 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; +obj* x_13; obj* x_14; obj* x_15; obj* x_16; +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_let__lhs__id_has__view_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; +} +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); +lean::inc(x_19); +lean::dec(x_9); +x_22 = l_lean_parser_term_type__spec_has__view; +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); +if (lean::is_scalar(x_8)) { + x_27 = lean::alloc_cnstr(1, 1, 0); +} else { + x_27 = 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_let__lhs__id_has__view_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; +} +else +{ +obj* x_34; obj* x_35; obj* x_36; obj* x_37; +lean::dec(x_8); +lean::dec(x_17); +lean::dec(x_9); +x_34 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; +x_35 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; +x_36 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_37 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_37, 0, x_5); -lean::cnstr_set(x_37, 1, x_36); -lean::cnstr_set(x_37, 2, x_35); +lean::cnstr_set(x_37, 0, x_34); +lean::cnstr_set(x_37, 1, x_35); +lean::cnstr_set(x_37, 2, x_36); return x_37; } +} +} +} else { -obj* x_38; -x_38 = lean::cnstr_get(x_31, 1); +obj* x_38; obj* x_40; obj* x_43; obj* x_45; +x_38 = lean::cnstr_get(x_1, 0); lean::inc(x_38); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_40; obj* x_43; obj* x_44; obj* x_47; obj* x_48; obj* x_49; obj* x_50; -x_40 = lean::cnstr_get(x_31, 0); +x_40 = lean::cnstr_get(x_38, 1); lean::inc(x_40); -lean::dec(x_31); -x_43 = l_lean_parser_term_type__spec_has__view; -x_44 = lean::cnstr_get(x_43, 0); -lean::inc(x_44); -lean::dec(x_43); -x_47 = lean::apply_1(x_44, x_40); -if (lean::is_scalar(x_30)) { - x_48 = lean::alloc_cnstr(1, 1, 0); -} else { - x_48 = x_30; -} -lean::cnstr_set(x_48, 0, x_47); -x_49 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_50 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_50, 0, x_5); -lean::cnstr_set(x_50, 1, x_49); -lean::cnstr_set(x_50, 2, x_48); -return x_50; -} -else -{ -obj* x_54; obj* x_55; obj* x_56; lean::dec(x_38); -lean::dec(x_30); -lean::dec(x_31); -x_54 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_55 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_56 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_56, 0, x_5); -lean::cnstr_set(x_56, 1, x_54); -lean::cnstr_set(x_56, 2, x_55); -return x_56; -} -} -} +x_43 = l_lean_parser_term_bracketed__binders_has__view_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_binder__content_has__view_x_27___lambda__1___closed__4; +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_57; obj* x_60; -x_57 = lean::cnstr_get(x_13, 0); -lean::inc(x_57); -lean::dec(x_13); -x_60 = l_lean_parser_syntax_as__node___main(x_57); -if (lean::obj_tag(x_60) == 0) -{ -obj* x_61; obj* x_62; obj* x_63; -x_61 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_62 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_63 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_63, 0, x_5); -lean::cnstr_set(x_63, 1, x_61); -lean::cnstr_set(x_63, 2, x_62); -return x_63; -} -else -{ -obj* x_64; obj* x_66; obj* x_67; -x_64 = lean::cnstr_get(x_60, 0); -if (lean::is_exclusive(x_60)) { - lean::cnstr_set(x_60, 0, lean::box(0)); - x_66 = x_60; +obj* x_50; +if (lean::is_exclusive(x_1)) { + lean::cnstr_release(x_1, 0); + x_50 = x_1; } else { - lean::inc(x_64); - lean::dec(x_60); - x_66 = lean::box(0); + lean::dec(x_1); + x_50 = lean::box(0); } -x_67 = lean::cnstr_get(x_64, 1); -lean::inc(x_67); -lean::dec(x_64); -if (lean::obj_tag(x_67) == 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_type__spec_has__view; +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_66); -x_71 = lean::box(0); -x_72 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; +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_binder__content_has__view_x_27___lambda__1___closed__4; x_73 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_73, 0, x_5); -lean::cnstr_set(x_73, 1, x_72); -lean::cnstr_set(x_73, 2, x_71); +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; } -else -{ -obj* x_74; -x_74 = lean::cnstr_get(x_67, 1); -lean::inc(x_74); -if (lean::obj_tag(x_74) == 0) -{ -obj* x_76; obj* x_79; obj* x_80; obj* x_83; obj* x_84; obj* x_85; obj* x_86; -x_76 = lean::cnstr_get(x_67, 0); -lean::inc(x_76); -lean::dec(x_67); -x_79 = l_lean_parser_term_type__spec_has__view; -x_80 = lean::cnstr_get(x_79, 0); -lean::inc(x_80); -lean::dec(x_79); -x_83 = lean::apply_1(x_80, x_76); -if (lean::is_scalar(x_66)) { - x_84 = lean::alloc_cnstr(1, 1, 0); -} else { - x_84 = x_66; -} -lean::cnstr_set(x_84, 0, x_83); -x_85 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_86 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_86, 0, x_5); -lean::cnstr_set(x_86, 1, x_85); -lean::cnstr_set(x_86, 2, x_84); -return x_86; -} -else -{ -obj* x_90; obj* x_91; obj* x_92; -lean::dec(x_67); -lean::dec(x_66); -lean::dec(x_74); -x_90 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_91 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_92 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_92, 0, x_5); -lean::cnstr_set(x_92, 1, x_90); -lean::cnstr_set(x_92, 2, x_91); -return x_92; -} -} -} -} -} -else -{ -obj* x_93; obj* x_96; obj* x_99; obj* x_100; -x_93 = lean::cnstr_get(x_22, 0); -lean::inc(x_93); -lean::dec(x_22); -x_96 = lean::cnstr_get(x_93, 1); -lean::inc(x_96); -lean::dec(x_93); -x_99 = l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__4; -x_100 = l_list_map___main___rarg(x_99, x_96); -if (lean::obj_tag(x_13) == 0) -{ -obj* x_101; obj* x_102; -x_101 = lean::box(3); -x_102 = l_lean_parser_syntax_as__node___main(x_101); -if (lean::obj_tag(x_102) == 0) -{ -obj* x_103; obj* x_104; -x_103 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_104 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_104, 0, x_5); -lean::cnstr_set(x_104, 1, x_100); -lean::cnstr_set(x_104, 2, x_103); -return x_104; -} -else -{ -obj* x_105; obj* x_107; obj* x_108; -x_105 = lean::cnstr_get(x_102, 0); -if (lean::is_exclusive(x_102)) { - lean::cnstr_set(x_102, 0, lean::box(0)); - x_107 = x_102; -} else { - lean::inc(x_105); - lean::dec(x_102); - x_107 = lean::box(0); -} -x_108 = lean::cnstr_get(x_105, 1); -lean::inc(x_108); -lean::dec(x_105); -if (lean::obj_tag(x_108) == 0) -{ -obj* x_112; obj* x_113; -lean::dec(x_107); -x_112 = lean::box(0); -x_113 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_113, 0, x_5); -lean::cnstr_set(x_113, 1, x_100); -lean::cnstr_set(x_113, 2, x_112); -return x_113; -} -else -{ -obj* x_114; -x_114 = lean::cnstr_get(x_108, 1); -lean::inc(x_114); -if (lean::obj_tag(x_114) == 0) -{ -obj* x_116; obj* x_119; obj* x_120; obj* x_123; obj* x_124; obj* x_125; -x_116 = lean::cnstr_get(x_108, 0); -lean::inc(x_116); -lean::dec(x_108); -x_119 = l_lean_parser_term_type__spec_has__view; -x_120 = lean::cnstr_get(x_119, 0); -lean::inc(x_120); -lean::dec(x_119); -x_123 = lean::apply_1(x_120, x_116); -if (lean::is_scalar(x_107)) { - x_124 = lean::alloc_cnstr(1, 1, 0); -} else { - x_124 = x_107; -} -lean::cnstr_set(x_124, 0, x_123); -x_125 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_125, 0, x_5); -lean::cnstr_set(x_125, 1, x_100); -lean::cnstr_set(x_125, 2, x_124); -return x_125; -} -else -{ -obj* x_129; obj* x_130; -lean::dec(x_114); -lean::dec(x_107); -lean::dec(x_108); -x_129 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_130 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_130, 0, x_5); -lean::cnstr_set(x_130, 1, x_100); -lean::cnstr_set(x_130, 2, x_129); -return x_130; -} -} -} -} -else -{ -obj* x_131; obj* x_134; -x_131 = lean::cnstr_get(x_13, 0); -lean::inc(x_131); -lean::dec(x_13); -x_134 = l_lean_parser_syntax_as__node___main(x_131); -if (lean::obj_tag(x_134) == 0) -{ -obj* x_135; obj* x_136; -x_135 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_136 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_136, 0, x_5); -lean::cnstr_set(x_136, 1, x_100); -lean::cnstr_set(x_136, 2, x_135); -return x_136; -} -else -{ -obj* x_137; obj* x_139; obj* x_140; -x_137 = lean::cnstr_get(x_134, 0); -if (lean::is_exclusive(x_134)) { - lean::cnstr_set(x_134, 0, lean::box(0)); - x_139 = x_134; -} else { - lean::inc(x_137); - lean::dec(x_134); - x_139 = lean::box(0); -} -x_140 = lean::cnstr_get(x_137, 1); -lean::inc(x_140); -lean::dec(x_137); -if (lean::obj_tag(x_140) == 0) -{ -obj* x_144; obj* x_145; -lean::dec(x_139); -x_144 = lean::box(0); -x_145 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_145, 0, x_5); -lean::cnstr_set(x_145, 1, x_100); -lean::cnstr_set(x_145, 2, x_144); -return x_145; -} -else -{ -obj* x_146; -x_146 = lean::cnstr_get(x_140, 1); -lean::inc(x_146); -if (lean::obj_tag(x_146) == 0) -{ -obj* x_148; obj* x_151; obj* x_152; obj* x_155; obj* x_156; obj* x_157; -x_148 = lean::cnstr_get(x_140, 0); -lean::inc(x_148); -lean::dec(x_140); -x_151 = l_lean_parser_term_type__spec_has__view; -x_152 = lean::cnstr_get(x_151, 0); -lean::inc(x_152); -lean::dec(x_151); -x_155 = lean::apply_1(x_152, x_148); -if (lean::is_scalar(x_139)) { - x_156 = lean::alloc_cnstr(1, 1, 0); -} else { - x_156 = x_139; -} -lean::cnstr_set(x_156, 0, x_155); -x_157 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_157, 0, x_5); -lean::cnstr_set(x_157, 1, x_100); -lean::cnstr_set(x_157, 2, x_156); -return x_157; -} -else -{ -obj* x_161; obj* x_162; -lean::dec(x_146); -lean::dec(x_139); -lean::dec(x_140); -x_161 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_162 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_162, 0, x_5); -lean::cnstr_set(x_162, 1, x_100); -lean::cnstr_set(x_162, 2, x_161); -return x_162; -} -} -} -} -} } } } @@ -31228,7 +26595,7 @@ if (lean::obj_tag(x_37) == 0) { obj* x_38; obj* x_39; obj* x_40; x_38 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_39 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_39 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_40 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_40, 0, x_18); lean::cnstr_set(x_40, 1, x_38); @@ -31298,7 +26665,7 @@ lean::dec(x_51); lean::dec(x_43); lean::dec(x_44); x_67 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_68 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_68 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_69 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_69, 0, x_18); lean::cnstr_set(x_69, 1, x_67); @@ -31319,7 +26686,7 @@ if (lean::obj_tag(x_73) == 0) { obj* x_74; obj* x_75; obj* x_76; x_74 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_75 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_75 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_76 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_76, 0, x_18); lean::cnstr_set(x_76, 1, x_74); @@ -31389,7 +26756,7 @@ lean::dec(x_79); lean::dec(x_87); lean::dec(x_80); x_103 = l_lean_parser_term_let__lhs__id_has__view_x_27___lambda__1___closed__1; -x_104 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_104 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_105 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_105, 0, x_18); lean::cnstr_set(x_105, 1, x_103); @@ -31419,7 +26786,7 @@ x_115 = l_lean_parser_syntax_as__node___main(x_114); if (lean::obj_tag(x_115) == 0) { obj* x_116; obj* x_117; -x_116 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_116 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_117 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_117, 0, x_18); lean::cnstr_set(x_117, 1, x_113); @@ -31486,7 +26853,7 @@ obj* x_142; obj* x_143; lean::dec(x_127); lean::dec(x_121); lean::dec(x_120); -x_142 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_142 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_143 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_143, 0, x_18); lean::cnstr_set(x_143, 1, x_113); @@ -31506,7 +26873,7 @@ x_147 = l_lean_parser_syntax_as__node___main(x_144); if (lean::obj_tag(x_147) == 0) { obj* x_148; obj* x_149; -x_148 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_148 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_149 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_149, 0, x_18); lean::cnstr_set(x_149, 1, x_113); @@ -31573,7 +26940,7 @@ obj* x_174; obj* x_175; lean::dec(x_152); lean::dec(x_159); lean::dec(x_153); -x_174 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_174 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_175 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_175, 0, x_18); lean::cnstr_set(x_175, 1, x_113); @@ -31690,38 +27057,16 @@ return x_8; obj* _init_l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_0); -return x_8; -} -else -{ -obj* x_9; obj* x_10; obj* x_13; obj* x_14; -x_9 = l_lean_parser_term_let__lhs__id_has__view; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::apply_1(x_10, x_0); -x_14 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_14, 0, x_13); -return x_14; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_let__lhs__id_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__2() { @@ -31743,181 +27088,174 @@ return x_8; obj* l_lean_parser_term_let__lhs_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; +x_58 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_58, 0, x_52); +return x_58; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} -} -} -else -{ -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +obj* x_59; obj* x_60; obj* x_63; obj* x_64; +x_59 = l_lean_parser_term_let__lhs__id_has__view; +x_60 = lean::cnstr_get(x_59, 0); +lean::inc(x_60); +lean::dec(x_59); +x_63 = lean::apply_1(x_60, x_52); +x_64 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_64, 0, x_63); return x_64; } } -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) +else { obj* x_68; -x_68 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_68, 0, x_1); +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_68 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; return x_68; } +} +} +} +} +} +} else { -obj* x_69; obj* x_70; obj* x_73; obj* x_74; -x_69 = l_lean_parser_term_let__lhs__id_has__view; -x_70 = lean::cnstr_get(x_69, 0); -lean::inc(x_70); -lean::dec(x_69); -x_73 = lean::apply_1(x_70, x_1); -x_74 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_74, 0, x_73); -return x_74; +obj* x_71; +lean::dec(x_8); +lean::dec(x_17); +x_71 = l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; +return x_71; +} +} } } } @@ -32009,310 +27347,22 @@ return x_8; obj* _init_l_lean_parser_term_let_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); +obj* x_0; obj* x_1; obj* x_2; obj* x_5; obj* x_6; obj* x_7; +x_0 = lean::box(0); +x_1 = l_lean_parser_term_let__lhs_has__view; +x_2 = lean::cnstr_get(x_1, 0); +lean::inc(x_2); lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_24; obj* x_27; obj* x_28; obj* x_29; -x_23 = l_lean_parser_term_let__lhs_has__view; -x_24 = lean::cnstr_get(x_23, 0); -lean::inc(x_24); -lean::dec(x_23); -x_27 = lean::apply_1(x_24, x_15); -if (lean::obj_tag(x_14) == 0) -{ -obj* x_31; -x_31 = lean::box(3); -x_28 = x_14; -x_29 = x_31; -goto lbl_30; -} -else -{ -obj* x_32; obj* x_34; -x_32 = lean::cnstr_get(x_14, 0); -lean::inc(x_32); -x_34 = lean::cnstr_get(x_14, 1); -lean::inc(x_34); -lean::dec(x_14); -x_28 = x_34; -x_29 = x_32; -goto lbl_30; -} -lbl_30: -{ -obj* x_37; -switch (lean::obj_tag(x_29)) { -case 0: -{ -obj* x_39; obj* x_42; -x_39 = lean::cnstr_get(x_29, 0); -lean::inc(x_39); -lean::dec(x_29); -x_42 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_42, 0, x_39); -x_37 = x_42; -goto lbl_38; -} -case 3: -{ -obj* x_43; -x_43 = lean::box(0); -x_37 = x_43; -goto lbl_38; -} -default: -{ -obj* x_45; -lean::dec(x_29); -x_45 = lean::box(0); -x_37 = x_45; -goto lbl_38; -} -} -lbl_38: -{ -obj* x_46; obj* x_47; -if (lean::obj_tag(x_28) == 0) -{ -obj* x_49; -x_49 = lean::box(3); -x_46 = x_28; -x_47 = x_49; -goto lbl_48; -} -else -{ -obj* x_50; obj* x_52; -x_50 = lean::cnstr_get(x_28, 0); -lean::inc(x_50); -x_52 = lean::cnstr_get(x_28, 1); -lean::inc(x_52); -lean::dec(x_28); -x_46 = x_52; -x_47 = x_50; -goto lbl_48; -} -lbl_48: -{ -if (lean::obj_tag(x_46) == 0) -{ -obj* x_55; -x_55 = lean::box(0); -if (lean::obj_tag(x_46) == 0) -{ -obj* x_56; obj* x_57; -x_56 = lean::box(3); -x_57 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_57, 0, x_5); -lean::cnstr_set(x_57, 1, x_27); -lean::cnstr_set(x_57, 2, x_37); -lean::cnstr_set(x_57, 3, x_47); -lean::cnstr_set(x_57, 4, x_55); -lean::cnstr_set(x_57, 5, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; -x_58 = lean::cnstr_get(x_46, 0); -lean::inc(x_58); -lean::dec(x_46); -x_61 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_61, 0, x_5); -lean::cnstr_set(x_61, 1, x_27); -lean::cnstr_set(x_61, 2, x_37); -lean::cnstr_set(x_61, 3, x_47); -lean::cnstr_set(x_61, 4, x_55); -lean::cnstr_set(x_61, 5, x_58); -return x_61; -} -} -else -{ -obj* x_62; -x_62 = lean::cnstr_get(x_46, 0); -lean::inc(x_62); -switch (lean::obj_tag(x_62)) { -case 0: -{ -obj* x_64; obj* x_67; obj* x_70; -x_64 = lean::cnstr_get(x_46, 1); -lean::inc(x_64); -lean::dec(x_46); -x_67 = lean::cnstr_get(x_62, 0); -lean::inc(x_67); -lean::dec(x_62); -x_70 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_70, 0, x_67); -if (lean::obj_tag(x_64) == 0) -{ -obj* x_71; obj* x_72; -x_71 = lean::box(3); -x_72 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_72, 0, x_5); -lean::cnstr_set(x_72, 1, x_27); -lean::cnstr_set(x_72, 2, x_37); -lean::cnstr_set(x_72, 3, x_47); -lean::cnstr_set(x_72, 4, x_70); -lean::cnstr_set(x_72, 5, x_71); -return x_72; -} -else -{ -obj* x_73; obj* x_76; -x_73 = lean::cnstr_get(x_64, 0); -lean::inc(x_73); -lean::dec(x_64); -x_76 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_76, 0, x_5); -lean::cnstr_set(x_76, 1, x_27); -lean::cnstr_set(x_76, 2, x_37); -lean::cnstr_set(x_76, 3, x_47); -lean::cnstr_set(x_76, 4, x_70); -lean::cnstr_set(x_76, 5, x_73); -return x_76; -} -} -case 3: -{ -obj* x_77; obj* x_80; -x_77 = lean::cnstr_get(x_46, 1); -lean::inc(x_77); -lean::dec(x_46); -x_80 = lean::box(0); -if (lean::obj_tag(x_77) == 0) -{ -obj* x_81; obj* x_82; -x_81 = lean::box(3); -x_82 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_82, 0, x_5); -lean::cnstr_set(x_82, 1, x_27); -lean::cnstr_set(x_82, 2, x_37); -lean::cnstr_set(x_82, 3, x_47); -lean::cnstr_set(x_82, 4, x_80); -lean::cnstr_set(x_82, 5, x_81); -return x_82; -} -else -{ -obj* x_83; obj* x_86; -x_83 = lean::cnstr_get(x_77, 0); -lean::inc(x_83); -lean::dec(x_77); -x_86 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_86, 0, x_5); -lean::cnstr_set(x_86, 1, x_27); -lean::cnstr_set(x_86, 2, x_37); -lean::cnstr_set(x_86, 3, x_47); -lean::cnstr_set(x_86, 4, x_80); -lean::cnstr_set(x_86, 5, x_83); -return x_86; -} -} -default: -{ -obj* x_88; obj* x_91; -lean::dec(x_62); -x_88 = lean::cnstr_get(x_46, 1); -lean::inc(x_88); -lean::dec(x_46); -x_91 = lean::box(0); -if (lean::obj_tag(x_88) == 0) -{ -obj* x_92; obj* x_93; -x_92 = lean::box(3); -x_93 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_93, 0, x_5); -lean::cnstr_set(x_93, 1, x_27); -lean::cnstr_set(x_93, 2, x_37); -lean::cnstr_set(x_93, 3, x_47); -lean::cnstr_set(x_93, 4, x_91); -lean::cnstr_set(x_93, 5, x_92); -return x_93; -} -else -{ -obj* x_94; obj* x_97; -x_94 = lean::cnstr_get(x_88, 0); -lean::inc(x_94); -lean::dec(x_88); -x_97 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_97, 0, x_5); -lean::cnstr_set(x_97, 1, x_27); -lean::cnstr_set(x_97, 2, x_37); -lean::cnstr_set(x_97, 3, x_47); -lean::cnstr_set(x_97, 4, x_91); -lean::cnstr_set(x_97, 5, x_94); -return x_97; -} -} -} -} -} -} -} -} -} -} +x_5 = lean::box(3); +x_6 = lean::apply_1(x_2, x_5); +x_7 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_7, 0, x_0); +lean::cnstr_set(x_7, 1, x_6); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_5); +lean::cnstr_set(x_7, 4, x_0); +lean::cnstr_set(x_7, 5, x_5); +return x_7; } } obj* l_lean_parser_term_let_has__view_x_27___lambda__1(obj* x_0) { @@ -33259,144 +28309,9 @@ return x_8; obj* _init_l_lean_parser_term_opt__ident_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; obj* x_11; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(0); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_7); -lean::cnstr_set(x_11, 1, x_10); -return x_11; -} -else -{ -obj* x_12; -x_12 = lean::cnstr_get(x_0, 0); -lean::inc(x_12); -lean::dec(x_0); -switch (lean::obj_tag(x_12)) { -case 0: -{ -obj* x_15; obj* x_18; obj* x_21; obj* x_22; -x_15 = lean::cnstr_get(x_1, 0); -lean::inc(x_15); -lean::dec(x_1); -x_18 = lean::cnstr_get(x_12, 0); -lean::inc(x_18); -lean::dec(x_12); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_18); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_15); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -case 3: -{ -obj* x_23; obj* x_26; obj* x_27; -x_23 = lean::cnstr_get(x_1, 0); -lean::inc(x_23); -lean::dec(x_1); -x_26 = lean::box(0); -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_23); -lean::cnstr_set(x_27, 1, x_26); -return x_27; -} -default: -{ -obj* x_29; obj* x_32; obj* x_33; -lean::dec(x_12); -x_29 = lean::cnstr_get(x_1, 0); -lean::inc(x_29); -lean::dec(x_1); -x_32 = lean::box(0); -x_33 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_33, 0, x_29); -lean::cnstr_set(x_33, 1, x_32); -return x_33; -} -} -} -} -case 3: -{ -obj* x_34; -x_34 = lean::box(0); -x_5 = x_34; -goto lbl_6; -} -default: -{ -obj* x_36; -lean::dec(x_1); -x_36 = lean::box(0); -x_5 = x_36; -goto lbl_6; -} -} -lbl_6: -{ -lean::dec(x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_38; -x_38 = l_lean_parser_term_opt__ident_has__view_x_27___lambda__1___closed__1; -return x_38; -} -else -{ -obj* x_39; -x_39 = lean::cnstr_get(x_0, 0); -lean::inc(x_39); -lean::dec(x_0); -switch (lean::obj_tag(x_39)) { -case 0: -{ -obj* x_42; obj* x_45; obj* x_46; obj* x_47; -x_42 = lean::cnstr_get(x_39, 0); -lean::inc(x_42); -lean::dec(x_39); -x_45 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_45, 0, x_42); -x_46 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_47 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_47, 0, x_46); -lean::cnstr_set(x_47, 1, x_45); -return x_47; -} -case 3: -{ -obj* x_48; -x_48 = l_lean_parser_term_opt__ident_has__view_x_27___lambda__1___closed__1; -return x_48; -} -default: -{ -obj* x_50; -lean::dec(x_39); -x_50 = l_lean_parser_term_opt__ident_has__view_x_27___lambda__1___closed__1; -return x_50; -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_opt__ident_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_term_opt__ident_has__view_x_27___lambda__1(obj* x_0) { @@ -34082,104 +28997,9 @@ return x_7; obj* _init_l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_5; obj* x_8; -x_5 = lean::cnstr_get(x_1, 0); -lean::inc(x_5); -lean::dec(x_1); -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_9; obj* x_10; -x_9 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__1; -x_10 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_10, 0, x_8); -lean::cnstr_set(x_10, 1, x_9); -return x_10; -} -else -{ -obj* x_11; obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = l_lean_parser_term_from_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_11); -x_19 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_19, 0, x_8); -lean::cnstr_set(x_19, 1, x_18); -return x_19; -} -} -case 3: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__2; -return x_20; -} -else -{ -obj* x_21; obj* x_24; obj* x_25; obj* x_26; obj* x_29; obj* x_30; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -lean::dec(x_0); -x_24 = lean::box(0); -x_25 = l_lean_parser_term_from_has__view; -x_26 = lean::cnstr_get(x_25, 0); -lean::inc(x_26); -lean::dec(x_25); -x_29 = lean::apply_1(x_26, x_21); -x_30 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_30, 0, x_24); -lean::cnstr_set(x_30, 1, x_29); -return x_30; -} -} -default: -{ -lean::dec(x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_32; -x_32 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__2; -return x_32; -} -else -{ -obj* x_33; obj* x_36; obj* x_37; obj* x_38; obj* x_41; obj* x_42; -x_33 = lean::cnstr_get(x_0, 0); -lean::inc(x_33); -lean::dec(x_0); -x_36 = lean::box(0); -x_37 = l_lean_parser_term_from_has__view; -x_38 = lean::cnstr_get(x_37, 0); -lean::inc(x_38); -lean::dec(x_37); -x_41 = lean::apply_1(x_38, x_33); -x_42 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_42, 0, x_36); -lean::cnstr_set(x_42, 1, x_41); -return x_42; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* l_lean_parser_term_have__from_has__view_x_27___lambda__1(obj* x_0) { @@ -34416,43 +29236,16 @@ return x_8; obj* _init_l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_have__from_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_have__term_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_have__term_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__2() { @@ -34474,186 +29267,179 @@ return x_8; obj* l_lean_parser_term_have__proof_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_have__from_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_have__term_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_have__from_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_have__term_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_have__proof_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -34766,349 +29552,91 @@ obj* _init_l_lean_parser_term_have_has__view_x_27___lambda__1___closed__2() { _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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; +} else { + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -default: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ +lean::dec(x_8); +x_1 = x_0; +goto lbl_2; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_9, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_25; -x_25 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_25) == 0) -{ -obj* x_26; -x_26 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; -x_23 = x_26; -goto lbl_24; -} -else -{ -obj* x_27; obj* x_29; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); -if (lean::is_exclusive(x_25)) { - lean::cnstr_set(x_25, 0, lean::box(0)); - x_29 = x_25; +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = l_lean_parser_term_opt__ident_has__view; +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)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_27); - lean::dec(x_25); - x_29 = lean::box(0); + x_23 = x_8; } -x_30 = lean::cnstr_get(x_27, 1); -lean::inc(x_30); -lean::dec(x_27); -if (lean::obj_tag(x_30) == 0) -{ -obj* x_34; -lean::dec(x_29); -x_34 = lean::box(0); -x_23 = x_34; -goto lbl_24; +lean::cnstr_set(x_23, 0, x_22); +x_1 = x_23; +goto lbl_2; } else { -obj* x_35; -x_35 = lean::cnstr_get(x_30, 1); -lean::inc(x_35); -if (lean::obj_tag(x_35) == 0) +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_9); +x_27 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; +x_1 = x_27; +goto lbl_2; +} +} +} +lbl_2: { -obj* x_37; obj* x_40; obj* x_41; obj* x_44; obj* x_45; -x_37 = lean::cnstr_get(x_30, 0); -lean::inc(x_37); -lean::dec(x_30); -x_40 = l_lean_parser_term_opt__ident_has__view; -x_41 = lean::cnstr_get(x_40, 0); -lean::inc(x_41); -lean::dec(x_40); -x_44 = lean::apply_1(x_41, x_37); -if (lean::is_scalar(x_29)) { - x_45 = lean::alloc_cnstr(1, 1, 0); -} else { - x_45 = x_29; -} -lean::cnstr_set(x_45, 0, x_44); -x_23 = x_45; -goto lbl_24; -} -else -{ -obj* x_49; -lean::dec(x_29); -lean::dec(x_30); -lean::dec(x_35); -x_49 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; -x_23 = x_49; -goto lbl_24; -} -} -} -lbl_24: -{ -obj* x_50; obj* x_51; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_53; -x_53 = lean::box(3); -x_50 = x_14; -x_51 = x_53; -goto lbl_52; -} -else -{ -obj* x_54; obj* x_56; -x_54 = lean::cnstr_get(x_14, 0); -lean::inc(x_54); -x_56 = lean::cnstr_get(x_14, 1); -lean::inc(x_56); -lean::dec(x_14); -x_50 = x_56; -x_51 = x_54; -goto lbl_52; -} -lbl_52: -{ -obj* x_59; obj* x_60; -if (lean::obj_tag(x_50) == 0) -{ -obj* x_62; -x_62 = lean::box(3); -x_59 = x_50; -x_60 = x_62; -goto lbl_61; -} -else -{ -obj* x_63; obj* x_65; -x_63 = lean::cnstr_get(x_50, 0); -lean::inc(x_63); -x_65 = lean::cnstr_get(x_50, 1); -lean::inc(x_65); -lean::dec(x_50); -x_59 = x_65; -x_60 = x_63; -goto lbl_61; -} -lbl_61: -{ -obj* x_68; obj* x_69; obj* x_72; -x_68 = l_lean_parser_term_have__proof_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_60); -if (lean::obj_tag(x_59) == 0) -{ -obj* x_73; -x_73 = lean::box(0); -if (lean::obj_tag(x_59) == 0) -{ -obj* x_74; obj* x_75; -x_74 = lean::box(3); -x_75 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_75, 0, x_5); -lean::cnstr_set(x_75, 1, x_23); -lean::cnstr_set(x_75, 2, x_51); -lean::cnstr_set(x_75, 3, x_72); -lean::cnstr_set(x_75, 4, x_73); -lean::cnstr_set(x_75, 5, x_74); -return x_75; -} -else -{ -obj* x_76; obj* x_79; -x_76 = lean::cnstr_get(x_59, 0); -lean::inc(x_76); -lean::dec(x_59); -x_79 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_79, 0, x_5); -lean::cnstr_set(x_79, 1, x_23); -lean::cnstr_set(x_79, 2, x_51); -lean::cnstr_set(x_79, 3, x_72); -lean::cnstr_set(x_79, 4, x_73); -lean::cnstr_set(x_79, 5, x_76); -return x_79; -} -} -else -{ -obj* x_80; -x_80 = lean::cnstr_get(x_59, 0); -lean::inc(x_80); -switch (lean::obj_tag(x_80)) { -case 0: -{ -obj* x_82; obj* x_85; obj* x_88; -x_82 = lean::cnstr_get(x_59, 1); -lean::inc(x_82); -lean::dec(x_59); -x_85 = lean::cnstr_get(x_80, 0); -lean::inc(x_85); -lean::dec(x_80); -x_88 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_88, 0, x_85); -if (lean::obj_tag(x_82) == 0) -{ -obj* x_89; obj* x_90; -x_89 = lean::box(3); -x_90 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_90, 0, x_5); -lean::cnstr_set(x_90, 1, x_23); -lean::cnstr_set(x_90, 2, x_51); -lean::cnstr_set(x_90, 3, x_72); -lean::cnstr_set(x_90, 4, x_88); -lean::cnstr_set(x_90, 5, x_89); -return x_90; -} -else -{ -obj* x_91; obj* x_94; -x_91 = lean::cnstr_get(x_82, 0); -lean::inc(x_91); -lean::dec(x_82); -x_94 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_51); -lean::cnstr_set(x_94, 3, x_72); -lean::cnstr_set(x_94, 4, x_88); -lean::cnstr_set(x_94, 5, x_91); -return x_94; -} -} -case 3: -{ -obj* x_95; obj* x_98; -x_95 = lean::cnstr_get(x_59, 1); -lean::inc(x_95); -lean::dec(x_59); -x_98 = lean::box(0); -if (lean::obj_tag(x_95) == 0) -{ -obj* x_99; obj* x_100; -x_99 = lean::box(3); -x_100 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_100, 0, x_5); -lean::cnstr_set(x_100, 1, x_23); -lean::cnstr_set(x_100, 2, x_51); -lean::cnstr_set(x_100, 3, x_72); -lean::cnstr_set(x_100, 4, x_98); -lean::cnstr_set(x_100, 5, x_99); -return x_100; -} -else -{ -obj* x_101; obj* x_104; -x_101 = lean::cnstr_get(x_95, 0); -lean::inc(x_101); -lean::dec(x_95); -x_104 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_104, 0, x_5); -lean::cnstr_set(x_104, 1, x_23); -lean::cnstr_set(x_104, 2, x_51); -lean::cnstr_set(x_104, 3, x_72); -lean::cnstr_set(x_104, 4, x_98); -lean::cnstr_set(x_104, 5, x_101); -return x_104; -} -} -default: -{ -obj* x_106; obj* x_109; -lean::dec(x_80); -x_106 = lean::cnstr_get(x_59, 1); -lean::inc(x_106); -lean::dec(x_59); -x_109 = lean::box(0); -if (lean::obj_tag(x_106) == 0) -{ -obj* x_110; obj* x_111; -x_110 = lean::box(3); -x_111 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_111, 0, x_5); -lean::cnstr_set(x_111, 1, x_23); -lean::cnstr_set(x_111, 2, x_51); -lean::cnstr_set(x_111, 3, x_72); -lean::cnstr_set(x_111, 4, x_109); -lean::cnstr_set(x_111, 5, x_110); -return x_111; -} -else -{ -obj* x_112; obj* x_115; -x_112 = lean::cnstr_get(x_106, 0); -lean::inc(x_112); -lean::dec(x_106); -x_115 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_115, 0, x_5); -lean::cnstr_set(x_115, 1, x_23); -lean::cnstr_set(x_115, 2, x_51); -lean::cnstr_set(x_115, 3, x_72); -lean::cnstr_set(x_115, 4, x_109); -lean::cnstr_set(x_115, 5, x_112); -return x_115; -} -} -} -} -} -} -} -} -} +obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; +x_28 = l_lean_parser_term_have__proof_has__view; +x_29 = lean::cnstr_get(x_28, 0); +lean::inc(x_29); +lean::dec(x_28); +x_32 = lean::box(3); +x_33 = lean::apply_1(x_29, x_32); +x_34 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_34, 0, x_0); +lean::cnstr_set(x_34, 1, x_1); +lean::cnstr_set(x_34, 2, x_32); +lean::cnstr_set(x_34, 3, x_33); +lean::cnstr_set(x_34, 4, x_0); +lean::cnstr_set(x_34, 5, x_32); +return x_34; } } } @@ -36093,204 +30621,16 @@ return x_8; obj* _init_l_lean_parser_term_show_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_24; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_26; -x_26 = lean::box(3); -x_23 = x_14; -x_24 = x_26; -goto lbl_25; -} -else -{ -obj* x_27; obj* x_29; -x_27 = lean::cnstr_get(x_14, 0); -lean::inc(x_27); -x_29 = lean::cnstr_get(x_14, 1); -lean::inc(x_29); -lean::dec(x_14); -x_23 = x_29; -x_24 = x_27; -goto lbl_25; -} -lbl_25: -{ -switch (lean::obj_tag(x_24)) { -case 0: -{ -obj* x_32; obj* x_35; -x_32 = lean::cnstr_get(x_24, 0); -lean::inc(x_32); -lean::dec(x_24); -x_35 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_35, 0, x_32); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_36; obj* x_37; -x_36 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__1; -x_37 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_37, 0, x_5); -lean::cnstr_set(x_37, 1, x_15); -lean::cnstr_set(x_37, 2, x_35); -lean::cnstr_set(x_37, 3, x_36); -return x_37; -} -else -{ -obj* x_38; obj* x_41; obj* x_42; obj* x_45; obj* x_46; -x_38 = lean::cnstr_get(x_23, 0); -lean::inc(x_38); -lean::dec(x_23); -x_41 = l_lean_parser_term_from_has__view; -x_42 = lean::cnstr_get(x_41, 0); -lean::inc(x_42); -lean::dec(x_41); -x_45 = lean::apply_1(x_42, x_38); -x_46 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_46, 0, x_5); -lean::cnstr_set(x_46, 1, x_15); -lean::cnstr_set(x_46, 2, x_35); -lean::cnstr_set(x_46, 3, x_45); -return x_46; -} -} -case 3: -{ -obj* x_47; -x_47 = lean::box(0); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_48; obj* x_49; -x_48 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__1; -x_49 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_49, 0, x_5); -lean::cnstr_set(x_49, 1, x_15); -lean::cnstr_set(x_49, 2, x_47); -lean::cnstr_set(x_49, 3, x_48); -return x_49; -} -else -{ -obj* x_50; obj* x_53; obj* x_54; obj* x_57; obj* x_58; -x_50 = lean::cnstr_get(x_23, 0); -lean::inc(x_50); -lean::dec(x_23); -x_53 = l_lean_parser_term_from_has__view; -x_54 = lean::cnstr_get(x_53, 0); -lean::inc(x_54); -lean::dec(x_53); -x_57 = lean::apply_1(x_54, x_50); -x_58 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_58, 0, x_5); -lean::cnstr_set(x_58, 1, x_15); -lean::cnstr_set(x_58, 2, x_47); -lean::cnstr_set(x_58, 3, x_57); -return x_58; -} -} -default: -{ -obj* x_60; -lean::dec(x_24); -x_60 = lean::box(0); -if (lean::obj_tag(x_23) == 0) -{ -obj* x_61; obj* x_62; -x_61 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__1; -x_62 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_62, 0, x_5); -lean::cnstr_set(x_62, 1, x_15); -lean::cnstr_set(x_62, 2, x_60); -lean::cnstr_set(x_62, 3, x_61); -return x_62; -} -else -{ -obj* x_63; obj* x_66; obj* x_67; obj* x_70; obj* x_71; -x_63 = lean::cnstr_get(x_23, 0); -lean::inc(x_63); -lean::dec(x_23); -x_66 = l_lean_parser_term_from_has__view; -x_67 = lean::cnstr_get(x_66, 0); -lean::inc(x_67); -lean::dec(x_66); -x_70 = lean::apply_1(x_67, x_63); -x_71 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_71, 0, x_5); -lean::cnstr_set(x_71, 1, x_15); -lean::cnstr_set(x_71, 2, x_60); -lean::cnstr_set(x_71, 3, x_70); -return x_71; -} -} -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_term_have__from_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_3, 0, x_0); +lean::cnstr_set(x_3, 1, x_1); +lean::cnstr_set(x_3, 2, x_0); +lean::cnstr_set(x_3, 3, x_2); +return x_3; } } obj* l_lean_parser_term_show_has__view_x_27___lambda__1(obj* x_0) { @@ -36985,296 +31325,33 @@ return x_5; obj* _init_l_lean_parser_term_match__equation_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +obj* x_0; obj* x_1; +x_0 = lean::box(3); +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_syntax_as__node___main(x_1); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_6; -x_6 = lean::box(0); -if (lean::obj_tag(x_0) == 0) -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; -x_7 = l_lean_parser_term_match__equation_has__view_x_27___lambda__1___closed__1; -return x_7; +obj* x_2; +x_2 = l_lean_parser_term_match__equation_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); -lean::dec(x_0); -x_11 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_12 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_12, 0, x_11); -lean::cnstr_set(x_12, 1, x_6); -lean::cnstr_set(x_12, 2, x_8); -return x_12; -} -} -else -{ -obj* x_13; -x_13 = lean::cnstr_get(x_0, 0); -lean::inc(x_13); -switch (lean::obj_tag(x_13)) { -case 0: -{ -obj* x_15; obj* x_18; obj* x_21; -x_15 = lean::cnstr_get(x_0, 1); -lean::inc(x_15); -lean::dec(x_0); -x_18 = lean::cnstr_get(x_13, 0); -lean::inc(x_18); -lean::dec(x_13); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_18); -if (lean::obj_tag(x_15) == 0) -{ -obj* x_22; obj* x_23; obj* x_24; -x_22 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_23 = lean::box(3); -x_24 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_24, 0, x_22); -lean::cnstr_set(x_24, 1, x_21); -lean::cnstr_set(x_24, 2, x_23); -return x_24; -} -else -{ -obj* x_25; obj* x_28; obj* x_29; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_28 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_29 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_29, 0, x_28); -lean::cnstr_set(x_29, 1, x_21); -lean::cnstr_set(x_29, 2, x_25); -return x_29; -} -} -case 3: -{ -obj* x_30; -x_30 = lean::cnstr_get(x_0, 1); -lean::inc(x_30); -lean::dec(x_0); -if (lean::obj_tag(x_30) == 0) -{ -obj* x_33; -x_33 = l_lean_parser_term_match__equation_has__view_x_27___lambda__1___closed__1; -return x_33; -} -else -{ -obj* x_34; obj* x_37; obj* x_38; -x_34 = lean::cnstr_get(x_30, 0); -lean::inc(x_34); -lean::dec(x_30); -x_37 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_38 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_38, 0, x_37); -lean::cnstr_set(x_38, 1, x_6); -lean::cnstr_set(x_38, 2, x_34); -return x_38; -} -} -default: -{ -obj* x_40; -lean::dec(x_13); -x_40 = lean::cnstr_get(x_0, 1); -lean::inc(x_40); -lean::dec(x_0); -if (lean::obj_tag(x_40) == 0) -{ -obj* x_43; -x_43 = l_lean_parser_term_match__equation_has__view_x_27___lambda__1___closed__1; -return x_43; -} -else -{ -obj* x_44; obj* x_47; obj* x_48; -x_44 = lean::cnstr_get(x_40, 0); -lean::inc(x_44); -lean::dec(x_40); -x_47 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_48 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_48, 0, x_47); -lean::cnstr_set(x_48, 1, x_6); -lean::cnstr_set(x_48, 2, x_44); -return x_48; -} -} -} -} -} -else -{ -obj* x_49; obj* x_51; obj* x_52; obj* x_55; obj* x_56; obj* x_57; -x_49 = lean::cnstr_get(x_5, 0); -if (lean::is_exclusive(x_5)) { - lean::cnstr_set(x_5, 0, lean::box(0)); - x_51 = x_5; -} else { - lean::inc(x_49); - lean::dec(x_5); - x_51 = lean::box(0); -} -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); -lean::dec(x_49); -x_55 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_56 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_57 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_55, x_56, x_52); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_59; -lean::dec(x_51); -x_59 = lean::box(0); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_60; obj* x_61; -x_60 = lean::box(3); -x_61 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_61, 0, x_57); -lean::cnstr_set(x_61, 1, x_59); -lean::cnstr_set(x_61, 2, x_60); -return x_61; -} -else -{ -obj* x_62; obj* x_65; -x_62 = lean::cnstr_get(x_0, 0); -lean::inc(x_62); -lean::dec(x_0); -x_65 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_65, 0, x_57); -lean::cnstr_set(x_65, 1, x_59); -lean::cnstr_set(x_65, 2, x_62); -return x_65; -} -} -else -{ -obj* x_66; -x_66 = lean::cnstr_get(x_0, 0); -lean::inc(x_66); -switch (lean::obj_tag(x_66)) { -case 0: -{ -obj* x_68; obj* x_71; obj* x_74; -x_68 = lean::cnstr_get(x_0, 1); -lean::inc(x_68); -lean::dec(x_0); -x_71 = lean::cnstr_get(x_66, 0); -lean::inc(x_71); -lean::dec(x_66); -if (lean::is_scalar(x_51)) { - x_74 = lean::alloc_cnstr(1, 1, 0); -} else { - x_74 = x_51; -} -lean::cnstr_set(x_74, 0, x_71); -if (lean::obj_tag(x_68) == 0) -{ -obj* x_75; obj* x_76; -x_75 = lean::box(3); -x_76 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_76, 0, x_57); -lean::cnstr_set(x_76, 1, x_74); -lean::cnstr_set(x_76, 2, x_75); -return x_76; -} -else -{ -obj* x_77; obj* x_80; -x_77 = lean::cnstr_get(x_68, 0); -lean::inc(x_77); -lean::dec(x_68); -x_80 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_80, 0, x_57); -lean::cnstr_set(x_80, 1, x_74); -lean::cnstr_set(x_80, 2, x_77); -return x_80; -} -} -case 3: -{ -obj* x_82; obj* x_85; -lean::dec(x_51); -x_82 = lean::cnstr_get(x_0, 1); -lean::inc(x_82); -lean::dec(x_0); -x_85 = lean::box(0); -if (lean::obj_tag(x_82) == 0) -{ -obj* x_86; obj* x_87; -x_86 = lean::box(3); -x_87 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_87, 0, x_57); -lean::cnstr_set(x_87, 1, x_85); -lean::cnstr_set(x_87, 2, x_86); -return x_87; -} -else -{ -obj* x_88; obj* x_91; -x_88 = lean::cnstr_get(x_82, 0); -lean::inc(x_88); -lean::dec(x_82); -x_91 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_91, 0, x_57); -lean::cnstr_set(x_91, 1, x_85); -lean::cnstr_set(x_91, 2, x_88); -return x_91; -} -} -default: -{ -obj* x_94; obj* x_97; -lean::dec(x_51); -lean::dec(x_66); -x_94 = lean::cnstr_get(x_0, 1); -lean::inc(x_94); -lean::dec(x_0); -x_97 = lean::box(0); -if (lean::obj_tag(x_94) == 0) -{ -obj* x_98; obj* x_99; -x_98 = lean::box(3); -x_99 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_99, 0, x_57); -lean::cnstr_set(x_99, 1, x_97); -lean::cnstr_set(x_99, 2, x_98); -return x_99; -} -else -{ -obj* x_100; obj* x_103; -x_100 = lean::cnstr_get(x_94, 0); -lean::inc(x_100); -lean::dec(x_94); -x_103 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_103, 0, x_57); -lean::cnstr_set(x_103, 1, x_97); -lean::cnstr_set(x_103, 2, x_100); -return x_103; -} -} -} -} -} +obj* x_3; obj* x_6; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 1); +lean::inc(x_6); +lean::dec(x_3); +x_9 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; +x_10 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; +x_11 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_9, x_10, x_6); +x_12 = lean::box(0); +x_13 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_13, 0, x_11); +lean::cnstr_set(x_13, 1, x_12); +lean::cnstr_set(x_13, 2, x_0); +return x_13; } } } @@ -38197,420 +32274,232 @@ obj* _init_l_lean_parser_term_match_has__view_x_27___lambda__1___closed__4() { _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +obj* x_6; obj* x_9; obj* x_12; obj* x_13; obj* x_14; +x_6 = lean::cnstr_get(x_4, 0); +lean::inc(x_6); +lean::dec(x_4); +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +x_12 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; +x_13 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; +x_14 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_12, x_13, x_9); +x_1 = x_14; +goto lbl_2; } -default: +lbl_2: { -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; +obj* x_15; obj* x_17; obj* x_18; x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; +x_18 = l_lean_parser_syntax_as__node___main(x_17); +if (lean::obj_tag(x_18) == 0) +{ +obj* x_19; +x_19 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_15 = x_19; goto lbl_16; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; +obj* x_20; obj* x_22; obj* x_23; +x_20 = lean::cnstr_get(x_18, 0); +if (lean::is_exclusive(x_18)) { + lean::cnstr_set(x_18, 0, lean::box(0)); + x_22 = x_18; +} else { + lean::inc(x_20); + lean::dec(x_18); + x_22 = lean::box(0); +} +x_23 = lean::cnstr_get(x_20, 1); +lean::inc(x_23); +lean::dec(x_20); +if (lean::obj_tag(x_23) == 0) +{ +lean::dec(x_22); +x_15 = x_0; goto lbl_16; } +else +{ +obj* x_27; +x_27 = lean::cnstr_get(x_23, 1); +lean::inc(x_27); +if (lean::obj_tag(x_27) == 0) +{ +obj* x_29; obj* x_32; obj* x_33; obj* x_36; obj* x_37; +x_29 = lean::cnstr_get(x_23, 0); +lean::inc(x_29); +lean::dec(x_23); +x_32 = l_lean_parser_term_type__spec_has__view; +x_33 = lean::cnstr_get(x_32, 0); +lean::inc(x_33); +lean::dec(x_32); +x_36 = lean::apply_1(x_33, x_29); +if (lean::is_scalar(x_22)) { + x_37 = lean::alloc_cnstr(1, 1, 0); +} else { + x_37 = x_22; +} +lean::cnstr_set(x_37, 0, x_36); +x_15 = x_37; +goto lbl_16; +} +else +{ +obj* x_41; +lean::dec(x_22); +lean::dec(x_23); +lean::dec(x_27); +x_41 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_15 = x_41; +goto lbl_16; +} +} +} lbl_16: { -obj* x_23; obj* x_25; -x_25 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_25) == 0) +obj* x_42; obj* x_44; obj* x_45; +x_44 = lean::box(3); +x_45 = l_lean_parser_syntax_as__node___main(x_44); +if (lean::obj_tag(x_45) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__1; -x_23 = x_26; -goto lbl_24; +obj* x_46; +x_46 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_42 = x_46; +goto lbl_43; } else { -obj* x_27; obj* x_30; obj* x_33; obj* x_34; obj* x_35; -x_27 = lean::cnstr_get(x_25, 0); -lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 1); -lean::inc(x_30); -lean::dec(x_27); -x_33 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__2; -x_34 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_35 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_tuple_has__view_x_27___spec__1(x_33, x_34, x_30); -x_23 = x_35; -goto lbl_24; -} -lbl_24: -{ -obj* x_36; obj* x_37; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_39; -x_39 = lean::box(3); -x_36 = x_14; -x_37 = x_39; -goto lbl_38; -} -else -{ -obj* x_40; obj* x_42; -x_40 = lean::cnstr_get(x_14, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_14, 1); -lean::inc(x_42); -lean::dec(x_14); -x_36 = x_42; -x_37 = x_40; -goto lbl_38; -} -lbl_38: -{ -obj* x_45; obj* x_47; -x_47 = l_lean_parser_syntax_as__node___main(x_37); -if (lean::obj_tag(x_47) == 0) -{ -obj* x_48; -x_48 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_45 = x_48; -goto lbl_46; -} -else -{ -obj* x_49; obj* x_51; obj* x_52; -x_49 = lean::cnstr_get(x_47, 0); -if (lean::is_exclusive(x_47)) { - lean::cnstr_set(x_47, 0, lean::box(0)); - x_51 = x_47; +obj* x_47; obj* x_49; obj* x_50; +x_47 = lean::cnstr_get(x_45, 0); +if (lean::is_exclusive(x_45)) { + lean::cnstr_set(x_45, 0, lean::box(0)); + x_49 = x_45; } else { - lean::inc(x_49); - lean::dec(x_47); - x_51 = lean::box(0); + lean::inc(x_47); + lean::dec(x_45); + x_49 = lean::box(0); } -x_52 = lean::cnstr_get(x_49, 1); -lean::inc(x_52); +x_50 = lean::cnstr_get(x_47, 1); +lean::inc(x_50); +lean::dec(x_47); +if (lean::obj_tag(x_50) == 0) +{ lean::dec(x_49); -if (lean::obj_tag(x_52) == 0) +x_42 = x_0; +goto lbl_43; +} +else +{ +obj* x_54; +x_54 = lean::cnstr_get(x_50, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { obj* x_56; -lean::dec(x_51); -x_56 = lean::box(0); -x_45 = x_56; -goto lbl_46; -} -else +x_56 = lean::cnstr_get(x_50, 0); +lean::inc(x_56); +lean::dec(x_50); +switch (lean::obj_tag(x_56)) { +case 0: { -obj* x_57; -x_57 = lean::cnstr_get(x_52, 1); -lean::inc(x_57); -if (lean::obj_tag(x_57) == 0) -{ -obj* x_59; obj* x_62; obj* x_63; obj* x_66; obj* x_67; -x_59 = lean::cnstr_get(x_52, 0); +obj* x_59; obj* x_62; obj* x_63; +x_59 = lean::cnstr_get(x_56, 0); lean::inc(x_59); -lean::dec(x_52); -x_62 = l_lean_parser_term_type__spec_has__view; -x_63 = lean::cnstr_get(x_62, 0); -lean::inc(x_63); -lean::dec(x_62); -x_66 = lean::apply_1(x_63, x_59); -if (lean::is_scalar(x_51)) { - x_67 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_56); +if (lean::is_scalar(x_49)) { + x_62 = lean::alloc_cnstr(1, 1, 0); } else { - x_67 = x_51; + x_62 = x_49; } -lean::cnstr_set(x_67, 0, x_66); -x_45 = x_67; -goto lbl_46; -} -else -{ -obj* x_71; -lean::dec(x_57); -lean::dec(x_51); -lean::dec(x_52); -x_71 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_45 = x_71; -goto lbl_46; -} -} -} -lbl_46: -{ -obj* x_72; obj* x_73; -if (lean::obj_tag(x_36) == 0) -{ -obj* x_75; -x_75 = lean::box(3); -x_72 = x_36; -x_73 = x_75; -goto lbl_74; -} -else -{ -obj* x_76; obj* x_78; -x_76 = lean::cnstr_get(x_36, 0); -lean::inc(x_76); -x_78 = lean::cnstr_get(x_36, 1); -lean::inc(x_78); -lean::dec(x_36); -x_72 = x_78; -x_73 = x_76; -goto lbl_74; -} -lbl_74: -{ -obj* x_81; -switch (lean::obj_tag(x_73)) { -case 0: -{ -obj* x_83; obj* x_86; -x_83 = lean::cnstr_get(x_73, 0); -lean::inc(x_83); -lean::dec(x_73); -x_86 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_86, 0, x_83); -x_81 = x_86; -goto lbl_82; +lean::cnstr_set(x_62, 0, x_59); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +x_42 = x_63; +goto lbl_43; } case 3: { -obj* x_87; -x_87 = lean::box(0); -x_81 = x_87; -goto lbl_82; +obj* x_65; +lean::dec(x_49); +x_65 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_42 = x_65; +goto lbl_43; } default: { -obj* x_89; -lean::dec(x_73); -x_89 = lean::box(0); -x_81 = x_89; -goto lbl_82; -} -} -lbl_82: -{ -obj* x_90; obj* x_91; -if (lean::obj_tag(x_72) == 0) -{ -obj* x_93; -x_93 = lean::box(3); -x_90 = x_72; -x_91 = x_93; -goto lbl_92; -} -else -{ -obj* x_94; obj* x_96; -x_94 = lean::cnstr_get(x_72, 0); -lean::inc(x_94); -x_96 = lean::cnstr_get(x_72, 1); -lean::inc(x_96); -lean::dec(x_72); -x_90 = x_96; -x_91 = x_94; -goto lbl_92; -} -lbl_92: -{ -obj* x_99; obj* x_101; -x_101 = l_lean_parser_syntax_as__node___main(x_91); -if (lean::obj_tag(x_101) == 0) -{ -obj* x_102; -x_102 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_99 = x_102; -goto lbl_100; -} -else -{ -obj* x_103; obj* x_105; obj* x_106; -x_103 = lean::cnstr_get(x_101, 0); -if (lean::is_exclusive(x_101)) { - lean::cnstr_set(x_101, 0, lean::box(0)); - x_105 = x_101; -} else { - lean::inc(x_103); - lean::dec(x_101); - x_105 = lean::box(0); -} -x_106 = lean::cnstr_get(x_103, 1); -lean::inc(x_106); -lean::dec(x_103); -if (lean::obj_tag(x_106) == 0) -{ -obj* x_110; -lean::dec(x_105); -x_110 = lean::box(0); -x_99 = x_110; -goto lbl_100; -} -else -{ -obj* x_111; -x_111 = lean::cnstr_get(x_106, 1); -lean::inc(x_111); -if (lean::obj_tag(x_111) == 0) -{ -obj* x_113; -x_113 = lean::cnstr_get(x_106, 0); -lean::inc(x_113); -lean::dec(x_106); -switch (lean::obj_tag(x_113)) { -case 0: -{ -obj* x_116; obj* x_119; obj* x_120; -x_116 = lean::cnstr_get(x_113, 0); -lean::inc(x_116); -lean::dec(x_113); -if (lean::is_scalar(x_105)) { - x_119 = lean::alloc_cnstr(1, 1, 0); -} else { - x_119 = x_105; -} -lean::cnstr_set(x_119, 0, x_116); -x_120 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_120, 0, x_119); -x_99 = x_120; -goto lbl_100; -} -case 3: -{ -obj* x_122; -lean::dec(x_105); -x_122 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_99 = x_122; -goto lbl_100; -} -default: -{ -obj* x_125; -lean::dec(x_113); -lean::dec(x_105); -x_125 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_99 = x_125; -goto lbl_100; +obj* x_68; +lean::dec(x_49); +lean::dec(x_56); +x_68 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_42 = x_68; +goto lbl_43; } } } else { -obj* x_129; -lean::dec(x_111); -lean::dec(x_106); -lean::dec(x_105); -x_129 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; -x_99 = x_129; -goto lbl_100; +obj* x_72; +lean::dec(x_49); +lean::dec(x_50); +lean::dec(x_54); +x_72 = l_lean_parser_command_notation_has__view_x_27___lambda__1___closed__1; +x_42 = x_72; +goto lbl_43; } } } -lbl_100: +lbl_43: { -obj* x_130; -if (lean::obj_tag(x_90) == 0) +obj* x_73; obj* x_74; +x_73 = lean::box(3); +x_74 = l_lean_parser_syntax_as__node___main(x_73); +if (lean::obj_tag(x_74) == 0) { -obj* x_132; -x_132 = lean::box(3); -x_130 = x_132; -goto lbl_131; +obj* x_75; obj* x_76; +x_75 = l_lean_parser_term_match_has__view_x_27___lambda__1___closed__1; +x_76 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_76, 0, x_0); +lean::cnstr_set(x_76, 1, x_1); +lean::cnstr_set(x_76, 2, x_15); +lean::cnstr_set(x_76, 3, x_0); +lean::cnstr_set(x_76, 4, x_42); +lean::cnstr_set(x_76, 5, x_75); +return x_76; } else { -obj* x_133; -x_133 = lean::cnstr_get(x_90, 0); -lean::inc(x_133); -lean::dec(x_90); -x_130 = x_133; -goto lbl_131; -} -lbl_131: -{ -obj* x_136; -x_136 = l_lean_parser_syntax_as__node___main(x_130); -if (lean::obj_tag(x_136) == 0) -{ -obj* x_137; obj* x_138; -x_137 = l_lean_parser_term_match_has__view_x_27___lambda__1___closed__1; -x_138 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_138, 0, x_5); -lean::cnstr_set(x_138, 1, x_23); -lean::cnstr_set(x_138, 2, x_45); -lean::cnstr_set(x_138, 3, x_81); -lean::cnstr_set(x_138, 4, x_99); -lean::cnstr_set(x_138, 5, x_137); -return x_138; -} -else -{ -obj* x_139; obj* x_142; obj* x_145; obj* x_146; obj* x_147; obj* x_148; -x_139 = lean::cnstr_get(x_136, 0); -lean::inc(x_139); -lean::dec(x_136); -x_142 = lean::cnstr_get(x_139, 1); -lean::inc(x_142); -lean::dec(x_139); -x_145 = l_lean_parser_term_match_has__view_x_27___lambda__1___closed__2; -x_146 = l_lean_parser_term_match_has__view_x_27___lambda__1___closed__3; -x_147 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_match_has__view_x_27___spec__2(x_145, x_146, x_142); -x_148 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_148, 0, x_5); -lean::cnstr_set(x_148, 1, x_23); -lean::cnstr_set(x_148, 2, x_45); -lean::cnstr_set(x_148, 3, x_81); -lean::cnstr_set(x_148, 4, x_99); -lean::cnstr_set(x_148, 5, x_147); -return x_148; -} -} -} -} -} -} -} -} +obj* x_77; obj* x_80; obj* x_83; obj* x_84; obj* x_85; obj* x_86; +x_77 = lean::cnstr_get(x_74, 0); +lean::inc(x_77); +lean::dec(x_74); +x_80 = lean::cnstr_get(x_77, 1); +lean::inc(x_80); +lean::dec(x_77); +x_83 = l_lean_parser_term_match_has__view_x_27___lambda__1___closed__2; +x_84 = l_lean_parser_term_match_has__view_x_27___lambda__1___closed__3; +x_85 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_match_has__view_x_27___spec__2(x_83, x_84, x_80); +x_86 = lean::alloc_cnstr(0, 6, 0); +lean::cnstr_set(x_86, 0, x_0); +lean::cnstr_set(x_86, 1, x_1); +lean::cnstr_set(x_86, 2, x_15); +lean::cnstr_set(x_86, 3, x_0); +lean::cnstr_set(x_86, 4, x_42); +lean::cnstr_set(x_86, 5, x_85); +return x_86; } } } @@ -38768,7 +32657,7 @@ x_60 = l_lean_parser_syntax_as__node___main(x_50); if (lean::obj_tag(x_60) == 0) { obj* x_61; -x_61 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_61 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_58 = x_61; goto lbl_59; } @@ -38826,7 +32715,7 @@ obj* x_84; lean::dec(x_64); lean::dec(x_70); lean::dec(x_65); -x_84 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_84 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_58 = x_84; goto lbl_59; } @@ -39686,407 +33575,87 @@ obj* _init_l_lean_parser_term_if_has__view_x_27___lambda__1___closed__1() { _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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; +} else { + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -default: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ +lean::dec(x_8); +x_1 = x_0; +goto lbl_2; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_9, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_25; -x_25 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_25) == 0) -{ -obj* x_26; -x_26 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; -x_23 = x_26; -goto lbl_24; -} -else -{ -obj* x_27; obj* x_29; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); -if (lean::is_exclusive(x_25)) { - lean::cnstr_set(x_25, 0, lean::box(0)); - x_29 = x_25; +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = l_lean_parser_term_opt__ident_has__view; +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)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_27); - lean::dec(x_25); - x_29 = lean::box(0); + x_23 = x_8; } -x_30 = lean::cnstr_get(x_27, 1); -lean::inc(x_30); -lean::dec(x_27); -if (lean::obj_tag(x_30) == 0) -{ -obj* x_34; -lean::dec(x_29); -x_34 = lean::box(0); -x_23 = x_34; -goto lbl_24; +lean::cnstr_set(x_23, 0, x_22); +x_1 = x_23; +goto lbl_2; } else { -obj* x_35; -x_35 = lean::cnstr_get(x_30, 1); -lean::inc(x_35); -if (lean::obj_tag(x_35) == 0) +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_9); +x_27 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; +x_1 = x_27; +goto lbl_2; +} +} +} +lbl_2: { -obj* x_37; obj* x_40; obj* x_41; obj* x_44; obj* x_45; -x_37 = lean::cnstr_get(x_30, 0); -lean::inc(x_37); -lean::dec(x_30); -x_40 = l_lean_parser_term_opt__ident_has__view; -x_41 = lean::cnstr_get(x_40, 0); -lean::inc(x_41); -lean::dec(x_40); -x_44 = lean::apply_1(x_41, x_37); -if (lean::is_scalar(x_29)) { - x_45 = lean::alloc_cnstr(1, 1, 0); -} else { - x_45 = x_29; -} -lean::cnstr_set(x_45, 0, x_44); -x_23 = x_45; -goto lbl_24; -} -else -{ -obj* x_49; -lean::dec(x_29); -lean::dec(x_30); -lean::dec(x_35); -x_49 = l_lean_parser_term_have_has__view_x_27___lambda__1___closed__1; -x_23 = x_49; -goto lbl_24; -} -} -} -lbl_24: -{ -obj* x_50; obj* x_51; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_53; -x_53 = lean::box(3); -x_50 = x_14; -x_51 = x_53; -goto lbl_52; -} -else -{ -obj* x_54; obj* x_56; -x_54 = lean::cnstr_get(x_14, 0); -lean::inc(x_54); -x_56 = lean::cnstr_get(x_14, 1); -lean::inc(x_56); -lean::dec(x_14); -x_50 = x_56; -x_51 = x_54; -goto lbl_52; -} -lbl_52: -{ -obj* x_59; obj* x_60; -if (lean::obj_tag(x_50) == 0) -{ -obj* x_62; -x_62 = lean::box(3); -x_59 = x_50; -x_60 = x_62; -goto lbl_61; -} -else -{ -obj* x_63; obj* x_65; -x_63 = lean::cnstr_get(x_50, 0); -lean::inc(x_63); -x_65 = lean::cnstr_get(x_50, 1); -lean::inc(x_65); -lean::dec(x_50); -x_59 = x_65; -x_60 = x_63; -goto lbl_61; -} -lbl_61: -{ -obj* x_68; -switch (lean::obj_tag(x_60)) { -case 0: -{ -obj* x_70; obj* x_73; -x_70 = lean::cnstr_get(x_60, 0); -lean::inc(x_70); -lean::dec(x_60); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_70); -x_68 = x_73; -goto lbl_69; -} -case 3: -{ -obj* x_74; -x_74 = lean::box(0); -x_68 = x_74; -goto lbl_69; -} -default: -{ -obj* x_76; -lean::dec(x_60); -x_76 = lean::box(0); -x_68 = x_76; -goto lbl_69; -} -} -lbl_69: -{ -obj* x_77; obj* x_78; -if (lean::obj_tag(x_59) == 0) -{ -obj* x_80; -x_80 = lean::box(3); -x_77 = x_59; -x_78 = x_80; -goto lbl_79; -} -else -{ -obj* x_81; obj* x_83; -x_81 = lean::cnstr_get(x_59, 0); -lean::inc(x_81); -x_83 = lean::cnstr_get(x_59, 1); -lean::inc(x_83); -lean::dec(x_59); -x_77 = x_83; -x_78 = x_81; -goto lbl_79; -} -lbl_79: -{ -if (lean::obj_tag(x_77) == 0) -{ -obj* x_86; -x_86 = lean::box(0); -if (lean::obj_tag(x_77) == 0) -{ -obj* x_87; obj* x_88; -x_87 = lean::box(3); -x_88 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_88, 0, x_5); -lean::cnstr_set(x_88, 1, x_23); -lean::cnstr_set(x_88, 2, x_51); -lean::cnstr_set(x_88, 3, x_68); -lean::cnstr_set(x_88, 4, x_78); -lean::cnstr_set(x_88, 5, x_86); -lean::cnstr_set(x_88, 6, x_87); -return x_88; -} -else -{ -obj* x_89; obj* x_92; -x_89 = lean::cnstr_get(x_77, 0); -lean::inc(x_89); -lean::dec(x_77); -x_92 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_92, 0, x_5); -lean::cnstr_set(x_92, 1, x_23); -lean::cnstr_set(x_92, 2, x_51); -lean::cnstr_set(x_92, 3, x_68); -lean::cnstr_set(x_92, 4, x_78); -lean::cnstr_set(x_92, 5, x_86); -lean::cnstr_set(x_92, 6, x_89); -return x_92; -} -} -else -{ -obj* x_93; -x_93 = lean::cnstr_get(x_77, 0); -lean::inc(x_93); -switch (lean::obj_tag(x_93)) { -case 0: -{ -obj* x_95; obj* x_98; obj* x_101; -x_95 = lean::cnstr_get(x_77, 1); -lean::inc(x_95); -lean::dec(x_77); -x_98 = lean::cnstr_get(x_93, 0); -lean::inc(x_98); -lean::dec(x_93); -x_101 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_101, 0, x_98); -if (lean::obj_tag(x_95) == 0) -{ -obj* x_102; obj* x_103; -x_102 = lean::box(3); -x_103 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_103, 0, x_5); -lean::cnstr_set(x_103, 1, x_23); -lean::cnstr_set(x_103, 2, x_51); -lean::cnstr_set(x_103, 3, x_68); -lean::cnstr_set(x_103, 4, x_78); -lean::cnstr_set(x_103, 5, x_101); -lean::cnstr_set(x_103, 6, x_102); -return x_103; -} -else -{ -obj* x_104; obj* x_107; -x_104 = lean::cnstr_get(x_95, 0); -lean::inc(x_104); -lean::dec(x_95); -x_107 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_107, 0, x_5); -lean::cnstr_set(x_107, 1, x_23); -lean::cnstr_set(x_107, 2, x_51); -lean::cnstr_set(x_107, 3, x_68); -lean::cnstr_set(x_107, 4, x_78); -lean::cnstr_set(x_107, 5, x_101); -lean::cnstr_set(x_107, 6, x_104); -return x_107; -} -} -case 3: -{ -obj* x_108; obj* x_111; -x_108 = lean::cnstr_get(x_77, 1); -lean::inc(x_108); -lean::dec(x_77); -x_111 = lean::box(0); -if (lean::obj_tag(x_108) == 0) -{ -obj* x_112; obj* x_113; -x_112 = lean::box(3); -x_113 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_113, 0, x_5); -lean::cnstr_set(x_113, 1, x_23); -lean::cnstr_set(x_113, 2, x_51); -lean::cnstr_set(x_113, 3, x_68); -lean::cnstr_set(x_113, 4, x_78); -lean::cnstr_set(x_113, 5, x_111); -lean::cnstr_set(x_113, 6, x_112); -return x_113; -} -else -{ -obj* x_114; obj* x_117; -x_114 = lean::cnstr_get(x_108, 0); -lean::inc(x_114); -lean::dec(x_108); -x_117 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_117, 0, x_5); -lean::cnstr_set(x_117, 1, x_23); -lean::cnstr_set(x_117, 2, x_51); -lean::cnstr_set(x_117, 3, x_68); -lean::cnstr_set(x_117, 4, x_78); -lean::cnstr_set(x_117, 5, x_111); -lean::cnstr_set(x_117, 6, x_114); -return x_117; -} -} -default: -{ -obj* x_119; obj* x_122; -lean::dec(x_93); -x_119 = lean::cnstr_get(x_77, 1); -lean::inc(x_119); -lean::dec(x_77); -x_122 = lean::box(0); -if (lean::obj_tag(x_119) == 0) -{ -obj* x_123; obj* x_124; -x_123 = lean::box(3); -x_124 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_124, 0, x_5); -lean::cnstr_set(x_124, 1, x_23); -lean::cnstr_set(x_124, 2, x_51); -lean::cnstr_set(x_124, 3, x_68); -lean::cnstr_set(x_124, 4, x_78); -lean::cnstr_set(x_124, 5, x_122); -lean::cnstr_set(x_124, 6, x_123); -return x_124; -} -else -{ -obj* x_125; obj* x_128; -x_125 = lean::cnstr_get(x_119, 0); -lean::inc(x_125); -lean::dec(x_119); -x_128 = lean::alloc_cnstr(0, 7, 0); -lean::cnstr_set(x_128, 0, x_5); -lean::cnstr_set(x_128, 1, x_23); -lean::cnstr_set(x_128, 2, x_51); -lean::cnstr_set(x_128, 3, x_68); -lean::cnstr_set(x_128, 4, x_78); -lean::cnstr_set(x_128, 5, x_122); -lean::cnstr_set(x_128, 6, x_125); -return x_128; -} -} -} -} -} -} -} -} -} -} -} +obj* x_28; obj* x_29; +x_28 = lean::box(3); +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, 3, x_0); +lean::cnstr_set(x_29, 4, x_28); +lean::cnstr_set(x_29, 5, x_0); +lean::cnstr_set(x_29, 6, x_28); +return x_29; } } } @@ -41046,144 +34615,9 @@ return x_8; obj* _init_l_lean_parser_term_struct__inst__type_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; obj* x_11; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(0); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_7); -lean::cnstr_set(x_11, 1, x_10); -return x_11; -} -else -{ -obj* x_12; -x_12 = lean::cnstr_get(x_0, 0); -lean::inc(x_12); -lean::dec(x_0); -switch (lean::obj_tag(x_12)) { -case 0: -{ -obj* x_15; obj* x_18; obj* x_21; obj* x_22; -x_15 = lean::cnstr_get(x_1, 0); -lean::inc(x_15); -lean::dec(x_1); -x_18 = lean::cnstr_get(x_12, 0); -lean::inc(x_18); -lean::dec(x_12); -x_21 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_21, 0, x_18); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_15); -lean::cnstr_set(x_22, 1, x_21); -return x_22; -} -case 3: -{ -obj* x_23; obj* x_26; obj* x_27; -x_23 = lean::cnstr_get(x_1, 0); -lean::inc(x_23); -lean::dec(x_1); -x_26 = lean::box(0); -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_23); -lean::cnstr_set(x_27, 1, x_26); -return x_27; -} -default: -{ -obj* x_29; obj* x_32; obj* x_33; -lean::dec(x_12); -x_29 = lean::cnstr_get(x_1, 0); -lean::inc(x_29); -lean::dec(x_1); -x_32 = lean::box(0); -x_33 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_33, 0, x_29); -lean::cnstr_set(x_33, 1, x_32); -return x_33; -} -} -} -} -case 3: -{ -obj* x_34; -x_34 = lean::box(0); -x_5 = x_34; -goto lbl_6; -} -default: -{ -obj* x_36; -lean::dec(x_1); -x_36 = lean::box(0); -x_5 = x_36; -goto lbl_6; -} -} -lbl_6: -{ -lean::dec(x_5); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_38; -x_38 = l_lean_parser_term_struct__inst__type_has__view_x_27___lambda__1___closed__1; -return x_38; -} -else -{ -obj* x_39; -x_39 = lean::cnstr_get(x_0, 0); -lean::inc(x_39); -lean::dec(x_0); -switch (lean::obj_tag(x_39)) { -case 0: -{ -obj* x_42; obj* x_45; obj* x_46; obj* x_47; -x_42 = lean::cnstr_get(x_39, 0); -lean::inc(x_42); -lean::dec(x_39); -x_45 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_45, 0, x_42); -x_46 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_47 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_47, 0, x_46); -lean::cnstr_set(x_47, 1, x_45); -return x_47; -} -case 3: -{ -obj* x_48; -x_48 = l_lean_parser_term_struct__inst__type_has__view_x_27___lambda__1___closed__1; -return x_48; -} -default: -{ -obj* x_50; -lean::dec(x_39); -x_50 = l_lean_parser_term_struct__inst__type_has__view_x_27___lambda__1___closed__1; -return x_50; -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_struct__inst__type_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_term_struct__inst__type_has__view_x_27___lambda__1(obj* x_0) { @@ -41744,303 +35178,9 @@ return x_9; obj* _init_l_lean_parser_term_struct__inst__field_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 1: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::box(0); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_11; obj* x_12; -x_11 = lean::box(3); -x_12 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_12, 0, x_7); -lean::cnstr_set(x_12, 1, x_10); -lean::cnstr_set(x_12, 2, x_11); -return x_12; -} -else -{ -obj* x_13; obj* x_16; -x_13 = lean::cnstr_get(x_0, 0); -lean::inc(x_13); -lean::dec(x_0); -x_16 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_16, 0, x_7); -lean::cnstr_set(x_16, 1, x_10); -lean::cnstr_set(x_16, 2, x_13); -return x_16; -} -} -else -{ -obj* x_17; -x_17 = lean::cnstr_get(x_0, 0); -lean::inc(x_17); -switch (lean::obj_tag(x_17)) { -case 0: -{ -obj* x_19; obj* x_22; obj* x_25; obj* x_28; -x_19 = lean::cnstr_get(x_1, 0); -lean::inc(x_19); -lean::dec(x_1); -x_22 = lean::cnstr_get(x_0, 1); -lean::inc(x_22); -lean::dec(x_0); -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_28, 0, x_25); -if (lean::obj_tag(x_22) == 0) -{ -obj* x_29; obj* x_30; -x_29 = lean::box(3); -x_30 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_30, 0, x_19); -lean::cnstr_set(x_30, 1, x_28); -lean::cnstr_set(x_30, 2, x_29); -return x_30; -} -else -{ -obj* x_31; obj* x_34; -x_31 = lean::cnstr_get(x_22, 0); -lean::inc(x_31); -lean::dec(x_22); -x_34 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_34, 0, x_19); -lean::cnstr_set(x_34, 1, x_28); -lean::cnstr_set(x_34, 2, x_31); -return x_34; -} -} -case 3: -{ -obj* x_35; obj* x_38; obj* x_41; -x_35 = lean::cnstr_get(x_1, 0); -lean::inc(x_35); -lean::dec(x_1); -x_38 = lean::cnstr_get(x_0, 1); -lean::inc(x_38); -lean::dec(x_0); -x_41 = lean::box(0); -if (lean::obj_tag(x_38) == 0) -{ -obj* x_42; obj* x_43; -x_42 = lean::box(3); -x_43 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_43, 0, x_35); -lean::cnstr_set(x_43, 1, x_41); -lean::cnstr_set(x_43, 2, x_42); -return x_43; -} -else -{ -obj* x_44; obj* x_47; -x_44 = lean::cnstr_get(x_38, 0); -lean::inc(x_44); -lean::dec(x_38); -x_47 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_47, 0, x_35); -lean::cnstr_set(x_47, 1, x_41); -lean::cnstr_set(x_47, 2, x_44); -return x_47; -} -} -default: -{ -obj* x_49; obj* x_52; obj* x_55; -lean::dec(x_17); -x_49 = lean::cnstr_get(x_1, 0); -lean::inc(x_49); -lean::dec(x_1); -x_52 = lean::cnstr_get(x_0, 1); -lean::inc(x_52); -lean::dec(x_0); -x_55 = lean::box(0); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_56; obj* x_57; -x_56 = lean::box(3); -x_57 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_57, 0, x_49); -lean::cnstr_set(x_57, 1, x_55); -lean::cnstr_set(x_57, 2, x_56); -return x_57; -} -else -{ -obj* x_58; obj* x_61; -x_58 = lean::cnstr_get(x_52, 0); -lean::inc(x_58); -lean::dec(x_52); -x_61 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_61, 0, x_49); -lean::cnstr_set(x_61, 1, x_55); -lean::cnstr_set(x_61, 2, x_58); -return x_61; -} -} -} -} -} -case 3: -{ -obj* x_62; -x_62 = lean::box(0); -x_5 = x_62; -goto lbl_6; -} -default: -{ -obj* x_64; -lean::dec(x_1); -x_64 = lean::box(0); -x_5 = x_64; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_66; -lean::dec(x_5); -x_66 = lean::box(0); -if (lean::obj_tag(x_0) == 0) -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_67; -x_67 = l_lean_parser_term_struct__inst__field_has__view_x_27___lambda__1___closed__1; -return x_67; -} -else -{ -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_0, 0); -lean::inc(x_68); -lean::dec(x_0); -x_71 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_72 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_72, 0, x_71); -lean::cnstr_set(x_72, 1, x_66); -lean::cnstr_set(x_72, 2, x_68); -return x_72; -} -} -else -{ -obj* x_73; -x_73 = lean::cnstr_get(x_0, 0); -lean::inc(x_73); -switch (lean::obj_tag(x_73)) { -case 0: -{ -obj* x_75; obj* x_78; obj* x_81; -x_75 = lean::cnstr_get(x_0, 1); -lean::inc(x_75); -lean::dec(x_0); -x_78 = lean::cnstr_get(x_73, 0); -lean::inc(x_78); -lean::dec(x_73); -x_81 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_81, 0, x_78); -if (lean::obj_tag(x_75) == 0) -{ -obj* x_82; obj* x_83; obj* x_84; -x_82 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_83 = lean::box(3); -x_84 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_84, 0, x_82); -lean::cnstr_set(x_84, 1, x_81); -lean::cnstr_set(x_84, 2, x_83); -return x_84; -} -else -{ -obj* x_85; obj* x_88; obj* x_89; -x_85 = lean::cnstr_get(x_75, 0); -lean::inc(x_85); -lean::dec(x_75); -x_88 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_89 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_89, 0, x_88); -lean::cnstr_set(x_89, 1, x_81); -lean::cnstr_set(x_89, 2, x_85); -return x_89; -} -} -case 3: -{ -obj* x_90; -x_90 = lean::cnstr_get(x_0, 1); -lean::inc(x_90); -lean::dec(x_0); -if (lean::obj_tag(x_90) == 0) -{ -obj* x_93; -x_93 = l_lean_parser_term_struct__inst__field_has__view_x_27___lambda__1___closed__1; -return x_93; -} -else -{ -obj* x_94; obj* x_97; obj* x_98; -x_94 = lean::cnstr_get(x_90, 0); -lean::inc(x_94); -lean::dec(x_90); -x_97 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_98 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_98, 0, x_97); -lean::cnstr_set(x_98, 1, x_66); -lean::cnstr_set(x_98, 2, x_94); -return x_98; -} -} -default: -{ -obj* x_100; -lean::dec(x_73); -x_100 = lean::cnstr_get(x_0, 1); -lean::inc(x_100); -lean::dec(x_0); -if (lean::obj_tag(x_100) == 0) -{ -obj* x_103; -x_103 = l_lean_parser_term_struct__inst__field_has__view_x_27___lambda__1___closed__1; -return x_103; -} -else -{ -obj* x_104; obj* x_107; obj* x_108; -x_104 = lean::cnstr_get(x_100, 0); -lean::inc(x_104); -lean::dec(x_100); -x_107 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_108 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_108, 0, x_107); -lean::cnstr_set(x_108, 1, x_66); -lean::cnstr_set(x_108, 2, x_104); -return x_108; -} -} -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_struct__inst__field_has__view_x_27___lambda__1___closed__1; +return x_0; } } obj* l_lean_parser_term_struct__inst__field_has__view_x_27___lambda__1(obj* x_0) { @@ -42491,83 +35631,76 @@ return x_1; obj* _init_l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_2; -x_2 = lean::box(0); -x_0 = x_2; -goto lbl_1; -lbl_1: +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_syntax_as__node___main(x_1); +if (lean::obj_tag(x_2) == 0) { obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = l_lean_parser_syntax_as__node___main(x_3); -if (lean::obj_tag(x_4) == 0) -{ -obj* x_5; obj* x_6; -x_5 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_0); -lean::cnstr_set(x_6, 1, x_5); -return x_6; +x_3 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_3); +return x_4; } else { -obj* x_7; obj* x_9; obj* x_10; -x_7 = lean::cnstr_get(x_4, 0); -if (lean::is_exclusive(x_4)) { - lean::cnstr_set(x_4, 0, lean::box(0)); - x_9 = 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_7); - lean::dec(x_4); - x_9 = lean::box(0); + lean::inc(x_5); + lean::dec(x_2); + x_7 = lean::box(0); } -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); +x_8 = lean::cnstr_get(x_5, 1); +lean::inc(x_8); +lean::dec(x_5); +if (lean::obj_tag(x_8) == 0) +{ +obj* x_12; lean::dec(x_7); -if (lean::obj_tag(x_10) == 0) -{ -obj* x_14; obj* x_15; -lean::dec(x_9); -x_14 = lean::box(0); -x_15 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_15, 0, x_0); -lean::cnstr_set(x_15, 1, x_14); -return x_15; +x_12 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_12, 0, x_0); +lean::cnstr_set(x_12, 1, x_0); +return x_12; } else { -obj* x_16; -x_16 = lean::cnstr_get(x_10, 1); -lean::inc(x_16); -if (lean::obj_tag(x_16) == 0) +obj* x_13; +x_13 = lean::cnstr_get(x_8, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_18; obj* x_21; obj* x_22; -x_18 = lean::cnstr_get(x_10, 0); -lean::inc(x_18); -lean::dec(x_10); -if (lean::is_scalar(x_9)) { - x_21 = lean::alloc_cnstr(1, 1, 0); +obj* x_15; obj* x_18; obj* x_19; +x_15 = lean::cnstr_get(x_8, 0); +lean::inc(x_15); +lean::dec(x_8); +if (lean::is_scalar(x_7)) { + x_18 = lean::alloc_cnstr(1, 1, 0); } else { - x_21 = x_9; + x_18 = x_7; } -lean::cnstr_set(x_21, 0, x_18); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_0); -lean::cnstr_set(x_22, 1, x_21); -return x_22; +lean::cnstr_set(x_18, 0, x_15); +x_19 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_19, 0, x_0); +lean::cnstr_set(x_19, 1, x_18); +return x_19; } else { -obj* x_26; obj* x_27; -lean::dec(x_9); -lean::dec(x_10); -lean::dec(x_16); -x_26 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_0); -lean::cnstr_set(x_27, 1, x_26); -return x_27; -} +obj* x_23; obj* x_24; +lean::dec(x_7); +lean::dec(x_8); +lean::dec(x_13); +x_23 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; +x_24 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_24, 0, x_0); +lean::cnstr_set(x_24, 1, x_23); +return x_24; } } } @@ -42576,288 +35709,283 @@ return x_27; obj* l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_3; obj* x_4; obj* x_6; -x_6 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_6) == 0) +obj* x_1; obj* x_2; obj* x_4; +x_4 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_4) == 0) { -obj* x_7; -x_7 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; -return x_7; +obj* x_5; +x_5 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; +return x_5; } else { -obj* x_8; obj* x_10; obj* x_11; -x_8 = lean::cnstr_get(x_6, 0); -if (lean::is_exclusive(x_6)) { - lean::cnstr_set(x_6, 0, lean::box(0)); - x_10 = x_6; +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; } else { - lean::inc(x_8); - lean::dec(x_6); - x_10 = lean::box(0); + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -x_11 = lean::cnstr_get(x_8, 1); -lean::inc(x_11); +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ lean::dec(x_8); -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_9) == 0) { -lean::dec(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_15; -x_15 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; -return x_15; +obj* x_13; +x_13 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; +return x_13; } else { -obj* x_16; obj* x_19; -x_16 = lean::cnstr_get(x_11, 0); -lean::inc(x_16); -lean::dec(x_11); -x_19 = lean::box(0); -x_3 = x_19; -x_4 = x_16; -goto lbl_5; +obj* x_14; obj* x_17; +x_14 = lean::cnstr_get(x_9, 0); +lean::inc(x_14); +lean::dec(x_9); +x_17 = lean::box(0); +x_1 = x_17; +x_2 = x_14; +goto lbl_3; } } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 0); -lean::inc(x_20); -switch (lean::obj_tag(x_20)) { +obj* x_18; +x_18 = lean::cnstr_get(x_9, 0); +lean::inc(x_18); +switch (lean::obj_tag(x_18)) { case 0: { -obj* x_22; obj* x_25; obj* x_28; -x_22 = lean::cnstr_get(x_11, 1); -lean::inc(x_22); -lean::dec(x_11); -x_25 = lean::cnstr_get(x_20, 0); -lean::inc(x_25); -lean::dec(x_20); -if (lean::is_scalar(x_10)) { - x_28 = lean::alloc_cnstr(1, 1, 0); +obj* x_20; obj* x_23; obj* x_26; +x_20 = lean::cnstr_get(x_9, 1); +lean::inc(x_20); +lean::dec(x_9); +x_23 = lean::cnstr_get(x_18, 0); +lean::inc(x_23); +lean::dec(x_18); +if (lean::is_scalar(x_8)) { + x_26 = lean::alloc_cnstr(1, 1, 0); } else { - x_28 = x_10; + x_26 = x_8; } -lean::cnstr_set(x_28, 0, x_25); -if (lean::obj_tag(x_22) == 0) +lean::cnstr_set(x_26, 0, x_23); +if (lean::obj_tag(x_20) == 0) { -x_1 = x_28; -goto lbl_2; +obj* x_27; obj* x_28; +x_27 = lean::box(3); +x_28 = l_lean_parser_syntax_as__node___main(x_27); +if (lean::obj_tag(x_28) == 0) +{ +obj* x_29; obj* x_30; +x_29 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; +x_30 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_30, 0, x_26); +lean::cnstr_set(x_30, 1, x_29); +return x_30; } else { -obj* x_29; -x_29 = lean::cnstr_get(x_22, 0); -lean::inc(x_29); -lean::dec(x_22); -x_3 = x_28; -x_4 = x_29; -goto lbl_5; +obj* x_31; obj* x_33; obj* x_34; +x_31 = lean::cnstr_get(x_28, 0); +if (lean::is_exclusive(x_28)) { + lean::cnstr_set(x_28, 0, lean::box(0)); + x_33 = x_28; +} else { + lean::inc(x_31); + lean::dec(x_28); + x_33 = lean::box(0); } -} -case 3: +x_34 = lean::cnstr_get(x_31, 1); +lean::inc(x_34); +lean::dec(x_31); +if (lean::obj_tag(x_34) == 0) { -obj* x_33; -lean::dec(x_10); -x_33 = lean::cnstr_get(x_11, 1); -lean::inc(x_33); -lean::dec(x_11); -if (lean::obj_tag(x_33) == 0) -{ -obj* x_36; -x_36 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; -return x_36; -} -else -{ -obj* x_37; obj* x_40; -x_37 = lean::cnstr_get(x_33, 0); -lean::inc(x_37); +obj* x_38; obj* x_39; lean::dec(x_33); -x_40 = lean::box(0); -x_3 = x_40; -x_4 = x_37; -goto lbl_5; +x_38 = lean::box(0); +x_39 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_39, 0, x_26); +lean::cnstr_set(x_39, 1, x_38); +return x_39; } +else +{ +obj* x_40; +x_40 = lean::cnstr_get(x_34, 1); +lean::inc(x_40); +if (lean::obj_tag(x_40) == 0) +{ +obj* x_42; obj* x_45; obj* x_46; +x_42 = lean::cnstr_get(x_34, 0); +lean::inc(x_42); +lean::dec(x_34); +if (lean::is_scalar(x_33)) { + x_45 = lean::alloc_cnstr(1, 1, 0); +} else { + x_45 = x_33; } -default: -{ -obj* x_43; -lean::dec(x_10); -lean::dec(x_20); -x_43 = lean::cnstr_get(x_11, 1); -lean::inc(x_43); -lean::dec(x_11); -if (lean::obj_tag(x_43) == 0) -{ -obj* x_46; -x_46 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; +lean::cnstr_set(x_45, 0, x_42); +x_46 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_46, 0, x_26); +lean::cnstr_set(x_46, 1, x_45); return x_46; } else { -obj* x_47; obj* x_50; -x_47 = lean::cnstr_get(x_43, 0); -lean::inc(x_47); -lean::dec(x_43); -x_50 = lean::box(0); -x_3 = x_50; -x_4 = x_47; -goto lbl_5; +obj* x_50; obj* x_51; +lean::dec(x_33); +lean::dec(x_34); +lean::dec(x_40); +x_50 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; +x_51 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_51, 0, x_26); +lean::cnstr_set(x_51, 1, x_50); +return x_51; } } } } -} -lbl_2: -{ -obj* x_51; obj* x_52; -x_51 = lean::box(3); -x_52 = l_lean_parser_syntax_as__node___main(x_51); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_53; obj* x_54; -x_53 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_1); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} else { -obj* x_55; obj* x_57; obj* x_58; -x_55 = lean::cnstr_get(x_52, 0); -if (lean::is_exclusive(x_52)) { - lean::cnstr_set(x_52, 0, lean::box(0)); - x_57 = x_52; -} else { - lean::inc(x_55); - lean::dec(x_52); - x_57 = lean::box(0); +obj* x_52; +x_52 = lean::cnstr_get(x_20, 0); +lean::inc(x_52); +lean::dec(x_20); +x_1 = x_26; +x_2 = x_52; +goto lbl_3; } -x_58 = lean::cnstr_get(x_55, 1); -lean::inc(x_58); -lean::dec(x_55); -if (lean::obj_tag(x_58) == 0) +} +case 3: { -obj* x_62; obj* x_63; -lean::dec(x_57); -x_62 = lean::box(0); -x_63 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_63, 0, x_1); -lean::cnstr_set(x_63, 1, x_62); -return x_63; +obj* x_56; +lean::dec(x_8); +x_56 = lean::cnstr_get(x_9, 1); +lean::inc(x_56); +lean::dec(x_9); +if (lean::obj_tag(x_56) == 0) +{ +obj* x_59; +x_59 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; +return x_59; } else { -obj* x_64; -x_64 = lean::cnstr_get(x_58, 1); -lean::inc(x_64); -if (lean::obj_tag(x_64) == 0) +obj* x_60; obj* x_63; +x_60 = lean::cnstr_get(x_56, 0); +lean::inc(x_60); +lean::dec(x_56); +x_63 = lean::box(0); +x_1 = x_63; +x_2 = x_60; +goto lbl_3; +} +} +default: { -obj* x_66; obj* x_69; obj* x_70; -x_66 = lean::cnstr_get(x_58, 0); +obj* x_66; +lean::dec(x_8); +lean::dec(x_18); +x_66 = lean::cnstr_get(x_9, 1); lean::inc(x_66); -lean::dec(x_58); -if (lean::is_scalar(x_57)) { - x_69 = lean::alloc_cnstr(1, 1, 0); -} else { - x_69 = x_57; -} -lean::cnstr_set(x_69, 0, x_66); -x_70 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_70, 0, x_1); -lean::cnstr_set(x_70, 1, x_69); -return x_70; +lean::dec(x_9); +if (lean::obj_tag(x_66) == 0) +{ +obj* x_69; +x_69 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__2; +return x_69; } else { -obj* x_74; obj* x_75; -lean::dec(x_57); -lean::dec(x_58); -lean::dec(x_64); -x_74 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; -x_75 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_75, 0, x_1); -lean::cnstr_set(x_75, 1, x_74); -return x_75; +obj* x_70; obj* x_73; +x_70 = lean::cnstr_get(x_66, 0); +lean::inc(x_70); +lean::dec(x_66); +x_73 = lean::box(0); +x_1 = x_73; +x_2 = x_70; +goto lbl_3; } } } } -lbl_5: +} +lbl_3: { -obj* x_76; -x_76 = l_lean_parser_syntax_as__node___main(x_4); -if (lean::obj_tag(x_76) == 0) +obj* x_74; +x_74 = l_lean_parser_syntax_as__node___main(x_2); +if (lean::obj_tag(x_74) == 0) { -obj* x_77; obj* x_78; -x_77 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; -x_78 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_78, 0, x_3); -lean::cnstr_set(x_78, 1, x_77); -return x_78; +obj* x_75; obj* x_76; +x_75 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; +x_76 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_76, 0, x_1); +lean::cnstr_set(x_76, 1, x_75); +return x_76; } else { -obj* x_79; obj* x_81; obj* x_82; -x_79 = lean::cnstr_get(x_76, 0); -if (lean::is_exclusive(x_76)) { - lean::cnstr_set(x_76, 0, lean::box(0)); - x_81 = x_76; +obj* x_77; obj* x_79; obj* x_80; +x_77 = lean::cnstr_get(x_74, 0); +if (lean::is_exclusive(x_74)) { + lean::cnstr_set(x_74, 0, lean::box(0)); + x_79 = x_74; } else { - lean::inc(x_79); - lean::dec(x_76); - x_81 = lean::box(0); + lean::inc(x_77); + lean::dec(x_74); + x_79 = lean::box(0); } -x_82 = lean::cnstr_get(x_79, 1); -lean::inc(x_82); +x_80 = lean::cnstr_get(x_77, 1); +lean::inc(x_80); +lean::dec(x_77); +if (lean::obj_tag(x_80) == 0) +{ +obj* x_84; obj* x_85; lean::dec(x_79); -if (lean::obj_tag(x_82) == 0) -{ -obj* x_86; obj* x_87; -lean::dec(x_81); -x_86 = lean::box(0); -x_87 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_87, 0, x_3); -lean::cnstr_set(x_87, 1, x_86); -return x_87; +x_84 = lean::box(0); +x_85 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_85, 0, x_1); +lean::cnstr_set(x_85, 1, x_84); +return x_85; } else { -obj* x_88; -x_88 = lean::cnstr_get(x_82, 1); +obj* x_86; +x_86 = lean::cnstr_get(x_80, 1); +lean::inc(x_86); +if (lean::obj_tag(x_86) == 0) +{ +obj* x_88; obj* x_91; obj* x_92; +x_88 = lean::cnstr_get(x_80, 0); lean::inc(x_88); -if (lean::obj_tag(x_88) == 0) -{ -obj* x_90; obj* x_93; obj* x_94; -x_90 = lean::cnstr_get(x_82, 0); -lean::inc(x_90); -lean::dec(x_82); -if (lean::is_scalar(x_81)) { - x_93 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_80); +if (lean::is_scalar(x_79)) { + x_91 = lean::alloc_cnstr(1, 1, 0); } else { - x_93 = x_81; + x_91 = x_79; } -lean::cnstr_set(x_93, 0, x_90); -x_94 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_94, 0, x_3); -lean::cnstr_set(x_94, 1, x_93); -return x_94; +lean::cnstr_set(x_91, 0, x_88); +x_92 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_92, 0, x_1); +lean::cnstr_set(x_92, 1, x_91); +return x_92; } else { -obj* x_98; obj* x_99; -lean::dec(x_82); -lean::dec(x_88); -lean::dec(x_81); -x_98 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; -x_99 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_99, 0, x_3); -lean::cnstr_set(x_99, 1, x_98); -return x_99; +obj* x_96; obj* x_97; +lean::dec(x_80); +lean::dec(x_86); +lean::dec(x_79); +x_96 = l_lean_parser_term_struct__inst__source_has__view_x_27___lambda__1___closed__1; +x_97 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_97, 0, x_1); +lean::cnstr_set(x_97, 1, x_96); +return x_97; } } } @@ -43022,43 +36150,16 @@ return x_8; obj* _init_l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_term_struct__inst__source_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_14; obj* x_15; obj* x_18; obj* x_19; -x_14 = l_lean_parser_term_struct__inst__field_has__view; -x_15 = lean::cnstr_get(x_14, 0); -lean::inc(x_15); -lean::dec(x_14); -x_18 = lean::apply_1(x_15, x_0); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -return x_19; -} -} +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_term_struct__inst__field_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__2() { @@ -43080,186 +36181,179 @@ return x_8; obj* l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__2; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__2; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_33; +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_30; } case 1: { -obj* x_36; +obj* x_33; lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_36; +lean::dec(x_24); +x_33 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_33; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_term_struct__inst__source_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_61; -} -} -} -} -} +obj* x_64; obj* x_65; obj* x_68; obj* x_69; +x_64 = l_lean_parser_term_struct__inst__field_has__view; +x_65 = lean::cnstr_get(x_64, 0); +lean::inc(x_65); +lean::dec(x_64); +x_68 = lean::apply_1(x_65, x_52); +x_69 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_69, 0, x_68); +return x_69; } } else { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_term_struct__inst__source_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); +obj* x_73; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_73 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; return x_73; } +} +} +} +} +} +} else { -obj* x_74; obj* x_75; obj* x_78; obj* x_79; -x_74 = l_lean_parser_term_struct__inst__field_has__view; -x_75 = lean::cnstr_get(x_74, 0); -lean::inc(x_75); -lean::dec(x_74); -x_78 = lean::apply_1(x_75, x_1); -x_79 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_79, 0, x_78); -return x_79; +obj* x_76; +lean::dec(x_8); +lean::dec(x_17); +x_76 = l_lean_parser_term_struct__inst__item_has__view_x_27___lambda__1___closed__1; +return x_76; +} +} } } } @@ -43732,417 +36826,180 @@ obj* _init_l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__ _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__4; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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; +} else { + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -default: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ +lean::dec(x_8); +x_1 = x_0; +goto lbl_2; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_9, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; -} -else -{ -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; -} -lbl_16: -{ -obj* x_23; obj* x_25; -x_25 = l_lean_parser_syntax_as__node___main(x_15); -if (lean::obj_tag(x_25) == 0) -{ -obj* x_26; -x_26 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__4; -x_23 = x_26; -goto lbl_24; -} -else -{ -obj* x_27; obj* x_29; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); -if (lean::is_exclusive(x_25)) { - lean::cnstr_set(x_25, 0, lean::box(0)); - x_29 = x_25; +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = l_lean_parser_term_struct__inst__type_has__view; +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)) { + x_23 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_27); - lean::dec(x_25); - x_29 = lean::box(0); + x_23 = x_8; } -x_30 = lean::cnstr_get(x_27, 1); -lean::inc(x_30); -lean::dec(x_27); -if (lean::obj_tag(x_30) == 0) -{ -obj* x_34; -lean::dec(x_29); -x_34 = lean::box(0); -x_23 = x_34; -goto lbl_24; +lean::cnstr_set(x_23, 0, x_22); +x_1 = x_23; +goto lbl_2; } else { -obj* x_35; -x_35 = lean::cnstr_get(x_30, 1); -lean::inc(x_35); -if (lean::obj_tag(x_35) == 0) +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_9); +x_27 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__4; +x_1 = x_27; +goto lbl_2; +} +} +} +lbl_2: { -obj* x_37; obj* x_40; obj* x_41; obj* x_44; obj* x_45; -x_37 = lean::cnstr_get(x_30, 0); -lean::inc(x_37); -lean::dec(x_30); -x_40 = l_lean_parser_term_struct__inst__type_has__view; -x_41 = lean::cnstr_get(x_40, 0); -lean::inc(x_41); -lean::dec(x_40); -x_44 = lean::apply_1(x_41, x_37); -if (lean::is_scalar(x_29)) { - x_45 = lean::alloc_cnstr(1, 1, 0); +obj* x_28; obj* x_30; obj* x_31; +x_30 = lean::box(3); +x_31 = l_lean_parser_syntax_as__node___main(x_30); +if (lean::obj_tag(x_31) == 0) +{ +obj* x_32; +x_32 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__3; +x_28 = x_32; +goto lbl_29; +} +else +{ +obj* x_33; obj* x_35; obj* x_36; +x_33 = lean::cnstr_get(x_31, 0); +if (lean::is_exclusive(x_31)) { + lean::cnstr_set(x_31, 0, lean::box(0)); + x_35 = x_31; } else { - x_45 = x_29; + lean::inc(x_33); + lean::dec(x_31); + x_35 = lean::box(0); } -lean::cnstr_set(x_45, 0, x_44); -x_23 = x_45; -goto lbl_24; -} -else +x_36 = lean::cnstr_get(x_33, 1); +lean::inc(x_36); +lean::dec(x_33); +if (lean::obj_tag(x_36) == 0) { -obj* x_49; -lean::dec(x_29); -lean::dec(x_30); lean::dec(x_35); -x_49 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__4; -x_23 = x_49; -goto lbl_24; -} -} -} -lbl_24: -{ -obj* x_50; obj* x_51; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_53; -x_53 = lean::box(3); -x_50 = x_14; -x_51 = x_53; -goto lbl_52; +x_28 = x_0; +goto lbl_29; } else { -obj* x_54; obj* x_56; -x_54 = lean::cnstr_get(x_14, 0); -lean::inc(x_54); -x_56 = lean::cnstr_get(x_14, 1); -lean::inc(x_56); -lean::dec(x_14); -x_50 = x_56; -x_51 = x_54; -goto lbl_52; -} -lbl_52: +obj* x_40; +x_40 = lean::cnstr_get(x_36, 1); +lean::inc(x_40); +if (lean::obj_tag(x_40) == 0) { -obj* x_59; obj* x_61; -x_61 = l_lean_parser_syntax_as__node___main(x_51); -if (lean::obj_tag(x_61) == 0) -{ -obj* x_62; -x_62 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__3; -x_59 = x_62; -goto lbl_60; -} -else -{ -obj* x_63; obj* x_65; obj* x_66; -x_63 = lean::cnstr_get(x_61, 0); -if (lean::is_exclusive(x_61)) { - lean::cnstr_set(x_61, 0, lean::box(0)); - x_65 = x_61; +obj* x_42; obj* x_45; obj* x_46; obj* x_49; obj* x_50; +x_42 = lean::cnstr_get(x_36, 0); +lean::inc(x_42); +lean::dec(x_36); +x_45 = l_lean_parser_term_struct__inst__with_has__view; +x_46 = lean::cnstr_get(x_45, 0); +lean::inc(x_46); +lean::dec(x_45); +x_49 = lean::apply_1(x_46, x_42); +if (lean::is_scalar(x_35)) { + x_50 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_63); - lean::dec(x_61); - x_65 = lean::box(0); + x_50 = x_35; } -x_66 = lean::cnstr_get(x_63, 1); -lean::inc(x_66); -lean::dec(x_63); -if (lean::obj_tag(x_66) == 0) -{ -obj* x_70; -lean::dec(x_65); -x_70 = lean::box(0); -x_59 = x_70; -goto lbl_60; +lean::cnstr_set(x_50, 0, x_49); +x_28 = x_50; +goto lbl_29; } else { -obj* x_71; -x_71 = lean::cnstr_get(x_66, 1); -lean::inc(x_71); -if (lean::obj_tag(x_71) == 0) -{ -obj* x_73; obj* x_76; obj* x_77; obj* x_80; obj* x_81; -x_73 = lean::cnstr_get(x_66, 0); -lean::inc(x_73); -lean::dec(x_66); -x_76 = l_lean_parser_term_struct__inst__with_has__view; -x_77 = lean::cnstr_get(x_76, 0); -lean::inc(x_77); -lean::dec(x_76); -x_80 = lean::apply_1(x_77, x_73); -if (lean::is_scalar(x_65)) { - x_81 = lean::alloc_cnstr(1, 1, 0); -} else { - x_81 = x_65; +obj* x_54; +lean::dec(x_40); +lean::dec(x_35); +lean::dec(x_36); +x_54 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__3; +x_28 = x_54; +goto lbl_29; } -lean::cnstr_set(x_81, 0, x_80); -x_59 = x_81; -goto lbl_60; +} +} +lbl_29: +{ +obj* x_55; obj* x_56; +x_55 = lean::box(3); +x_56 = l_lean_parser_syntax_as__node___main(x_55); +if (lean::obj_tag(x_56) == 0) +{ +obj* x_57; obj* x_58; +x_57 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__1; +x_58 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_58, 0, x_0); +lean::cnstr_set(x_58, 1, x_1); +lean::cnstr_set(x_58, 2, x_28); +lean::cnstr_set(x_58, 3, x_57); +lean::cnstr_set(x_58, 4, x_0); +return x_58; } else { -obj* x_85; -lean::dec(x_66); -lean::dec(x_65); -lean::dec(x_71); -x_85 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__3; -x_59 = x_85; -goto lbl_60; -} -} -} -lbl_60: -{ -obj* x_86; obj* x_87; -if (lean::obj_tag(x_50) == 0) -{ -obj* x_89; -x_89 = lean::box(3); -x_86 = x_50; -x_87 = x_89; -goto lbl_88; -} -else -{ -obj* x_90; obj* x_92; -x_90 = lean::cnstr_get(x_50, 0); -lean::inc(x_90); -x_92 = lean::cnstr_get(x_50, 1); -lean::inc(x_92); -lean::dec(x_50); -x_86 = x_92; -x_87 = x_90; -goto lbl_88; -} -lbl_88: -{ -obj* x_95; -x_95 = l_lean_parser_syntax_as__node___main(x_87); -if (lean::obj_tag(x_95) == 0) -{ -obj* x_96; -x_96 = lean::box(0); -if (lean::obj_tag(x_86) == 0) -{ -obj* x_97; obj* x_98; -x_97 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__1; -x_98 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_98, 0, x_5); -lean::cnstr_set(x_98, 1, x_23); -lean::cnstr_set(x_98, 2, x_59); -lean::cnstr_set(x_98, 3, x_97); -lean::cnstr_set(x_98, 4, x_96); -return x_98; -} -else -{ -obj* x_99; -x_99 = lean::cnstr_get(x_86, 0); -lean::inc(x_99); -lean::dec(x_86); -switch (lean::obj_tag(x_99)) { -case 0: -{ -obj* x_102; obj* x_105; obj* x_106; obj* x_107; -x_102 = lean::cnstr_get(x_99, 0); -lean::inc(x_102); -lean::dec(x_99); -x_105 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_105, 0, x_102); -x_106 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__1; -x_107 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_107, 0, x_5); -lean::cnstr_set(x_107, 1, x_23); -lean::cnstr_set(x_107, 2, x_59); -lean::cnstr_set(x_107, 3, x_106); -lean::cnstr_set(x_107, 4, x_105); -return x_107; -} -case 3: -{ -obj* x_108; obj* x_109; -x_108 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__1; -x_109 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_109, 0, x_5); -lean::cnstr_set(x_109, 1, x_23); -lean::cnstr_set(x_109, 2, x_59); -lean::cnstr_set(x_109, 3, x_108); -lean::cnstr_set(x_109, 4, x_96); -return x_109; -} -default: -{ -obj* x_111; obj* x_112; -lean::dec(x_99); -x_111 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__1; -x_112 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_112, 0, x_5); -lean::cnstr_set(x_112, 1, x_23); -lean::cnstr_set(x_112, 2, x_59); -lean::cnstr_set(x_112, 3, x_111); -lean::cnstr_set(x_112, 4, x_96); -return x_112; -} -} -} -} -else -{ -obj* x_113; obj* x_115; obj* x_116; obj* x_119; obj* x_120; obj* x_121; -x_113 = lean::cnstr_get(x_95, 0); -if (lean::is_exclusive(x_95)) { - lean::cnstr_set(x_95, 0, lean::box(0)); - x_115 = x_95; -} else { - lean::inc(x_113); - lean::dec(x_95); - x_115 = lean::box(0); -} -x_116 = lean::cnstr_get(x_113, 1); -lean::inc(x_116); -lean::dec(x_113); -x_119 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__2; -x_120 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; -x_121 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_struct__inst_has__view_x_27___spec__1(x_119, x_120, x_116); -if (lean::obj_tag(x_86) == 0) -{ -obj* x_123; obj* x_124; -lean::dec(x_115); -x_123 = lean::box(0); -x_124 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_124, 0, x_5); -lean::cnstr_set(x_124, 1, x_23); -lean::cnstr_set(x_124, 2, x_59); -lean::cnstr_set(x_124, 3, x_121); -lean::cnstr_set(x_124, 4, x_123); -return x_124; -} -else -{ -obj* x_125; -x_125 = lean::cnstr_get(x_86, 0); -lean::inc(x_125); -lean::dec(x_86); -switch (lean::obj_tag(x_125)) { -case 0: -{ -obj* x_128; obj* x_131; obj* x_132; -x_128 = lean::cnstr_get(x_125, 0); -lean::inc(x_128); -lean::dec(x_125); -if (lean::is_scalar(x_115)) { - x_131 = lean::alloc_cnstr(1, 1, 0); -} else { - x_131 = x_115; -} -lean::cnstr_set(x_131, 0, x_128); -x_132 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_132, 0, x_5); -lean::cnstr_set(x_132, 1, x_23); -lean::cnstr_set(x_132, 2, x_59); -lean::cnstr_set(x_132, 3, x_121); -lean::cnstr_set(x_132, 4, x_131); -return x_132; -} -case 3: -{ -obj* x_134; obj* x_135; -lean::dec(x_115); -x_134 = lean::box(0); -x_135 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_135, 0, x_5); -lean::cnstr_set(x_135, 1, x_23); -lean::cnstr_set(x_135, 2, x_59); -lean::cnstr_set(x_135, 3, x_121); -lean::cnstr_set(x_135, 4, x_134); -return x_135; -} -default: -{ -obj* x_138; obj* x_139; -lean::dec(x_115); -lean::dec(x_125); -x_138 = lean::box(0); -x_139 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_139, 0, x_5); -lean::cnstr_set(x_139, 1, x_23); -lean::cnstr_set(x_139, 2, x_59); -lean::cnstr_set(x_139, 3, x_121); -lean::cnstr_set(x_139, 4, x_138); -return x_139; -} -} -} -} -} -} -} -} +obj* x_59; obj* x_62; obj* x_65; obj* x_66; obj* x_67; obj* x_68; +x_59 = lean::cnstr_get(x_56, 0); +lean::inc(x_59); +lean::dec(x_56); +x_62 = lean::cnstr_get(x_59, 1); +lean::inc(x_62); +lean::dec(x_59); +x_65 = l_lean_parser_term_struct__inst_has__view_x_27___lambda__1___closed__2; +x_66 = l_lean_parser_term_tuple_has__view_x_27___lambda__1___closed__3; +x_67 = l___private_init_lean_parser_combinators_3__sep__by_view__aux___main___at_lean_parser_term_struct__inst_has__view_x_27___spec__1(x_65, x_66, x_62); +x_68 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_68, 0, x_0); +lean::cnstr_set(x_68, 1, x_1); +lean::cnstr_set(x_68, 2, x_28); +lean::cnstr_set(x_68, 3, x_67); +lean::cnstr_set(x_68, 4, x_0); +return x_68; } } } @@ -45460,438 +38317,87 @@ obj* _init_l_lean_parser_term_subtype_has__view_x_27___lambda__1___closed__1() { _start: { obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_0 = lean::box(0); +x_3 = lean::box(3); +x_4 = l_lean_parser_syntax_as__node___main(x_3); +if (lean::obj_tag(x_4) == 0) { obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; +x_5 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_1 = x_5; +goto lbl_2; } -case 3: +else { -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; +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; +} else { + lean::inc(x_6); + lean::dec(x_4); + x_8 = lean::box(0); } -default: +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +if (lean::obj_tag(x_9) == 0) +{ +lean::dec(x_8); +x_1 = x_0; +goto lbl_2; +} +else { obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: +x_13 = lean::cnstr_get(x_9, 1); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) { -obj* x_14; obj* x_15; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_17; -x_17 = lean::box(3); -x_14 = x_0; -x_15 = x_17; -goto lbl_16; +obj* x_15; obj* x_18; obj* x_19; obj* x_22; obj* x_23; +x_15 = lean::cnstr_get(x_9, 0); +lean::inc(x_15); +lean::dec(x_9); +x_18 = l_lean_parser_term_type__spec_has__view; +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)) { + x_23 = lean::alloc_cnstr(1, 1, 0); +} else { + x_23 = x_8; +} +lean::cnstr_set(x_23, 0, x_22); +x_1 = x_23; +goto lbl_2; } else { -obj* x_18; obj* x_20; -x_18 = lean::cnstr_get(x_0, 0); -lean::inc(x_18); -x_20 = lean::cnstr_get(x_0, 1); -lean::inc(x_20); -lean::dec(x_0); -x_14 = x_20; -x_15 = x_18; -goto lbl_16; +obj* x_27; +lean::dec(x_13); +lean::dec(x_8); +lean::dec(x_9); +x_27 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; +x_1 = x_27; +goto lbl_2; } -lbl_16: -{ -obj* x_23; -switch (lean::obj_tag(x_15)) { -case 1: -{ -obj* x_25; -x_25 = lean::cnstr_get(x_15, 0); -lean::inc(x_25); -lean::dec(x_15); -x_23 = x_25; -goto lbl_24; } -case 3: +} +lbl_2: { -obj* x_28; +obj* x_28; obj* x_29; obj* x_30; x_28 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_28; -goto lbl_24; -} -default: -{ -obj* x_30; -lean::dec(x_15); -x_30 = l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -x_23 = x_30; -goto lbl_24; -} -} -lbl_24: -{ -obj* x_31; obj* x_32; -if (lean::obj_tag(x_14) == 0) -{ -obj* x_34; -x_34 = lean::box(3); -x_31 = x_14; -x_32 = x_34; -goto lbl_33; -} -else -{ -obj* x_35; obj* x_37; -x_35 = lean::cnstr_get(x_14, 0); -lean::inc(x_35); -x_37 = lean::cnstr_get(x_14, 1); -lean::inc(x_37); -lean::dec(x_14); -x_31 = x_37; -x_32 = x_35; -goto lbl_33; -} -lbl_33: -{ -obj* x_40; obj* x_42; -x_42 = l_lean_parser_syntax_as__node___main(x_32); -if (lean::obj_tag(x_42) == 0) -{ -obj* x_43; -x_43 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_40 = x_43; -goto lbl_41; -} -else -{ -obj* x_44; obj* x_46; obj* x_47; -x_44 = lean::cnstr_get(x_42, 0); -if (lean::is_exclusive(x_42)) { - lean::cnstr_set(x_42, 0, lean::box(0)); - x_46 = x_42; -} else { - lean::inc(x_44); - lean::dec(x_42); - x_46 = lean::box(0); -} -x_47 = lean::cnstr_get(x_44, 1); -lean::inc(x_47); -lean::dec(x_44); -if (lean::obj_tag(x_47) == 0) -{ -obj* x_51; -lean::dec(x_46); -x_51 = lean::box(0); -x_40 = x_51; -goto lbl_41; -} -else -{ -obj* x_52; -x_52 = lean::cnstr_get(x_47, 1); -lean::inc(x_52); -if (lean::obj_tag(x_52) == 0) -{ -obj* x_54; obj* x_57; obj* x_58; obj* x_61; obj* x_62; -x_54 = lean::cnstr_get(x_47, 0); -lean::inc(x_54); -lean::dec(x_47); -x_57 = l_lean_parser_term_type__spec_has__view; -x_58 = lean::cnstr_get(x_57, 0); -lean::inc(x_58); -lean::dec(x_57); -x_61 = lean::apply_1(x_58, x_54); -if (lean::is_scalar(x_46)) { - x_62 = lean::alloc_cnstr(1, 1, 0); -} else { - x_62 = x_46; -} -lean::cnstr_set(x_62, 0, x_61); -x_40 = x_62; -goto lbl_41; -} -else -{ -obj* x_66; -lean::dec(x_46); -lean::dec(x_47); -lean::dec(x_52); -x_66 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; -x_40 = x_66; -goto lbl_41; -} -} -} -lbl_41: -{ -obj* x_67; obj* x_68; obj* x_69; obj* x_71; obj* x_72; -if (lean::obj_tag(x_31) == 0) -{ -obj* x_74; -x_74 = lean::box(3); -x_71 = x_31; -x_72 = x_74; -goto lbl_73; -} -else -{ -obj* x_75; obj* x_77; -x_75 = lean::cnstr_get(x_31, 0); -lean::inc(x_75); -x_77 = lean::cnstr_get(x_31, 1); -lean::inc(x_77); -lean::dec(x_31); -x_71 = x_77; -x_72 = x_75; -goto lbl_73; -} -lbl_70: -{ -if (lean::obj_tag(x_69) == 0) -{ -obj* x_80; obj* x_81; -x_80 = lean::box(0); -x_81 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_81, 0, x_5); -lean::cnstr_set(x_81, 1, x_23); -lean::cnstr_set(x_81, 2, x_40); -lean::cnstr_set(x_81, 3, x_67); -lean::cnstr_set(x_81, 4, x_68); -lean::cnstr_set(x_81, 5, x_80); -return x_81; -} -else -{ -obj* x_82; -x_82 = lean::cnstr_get(x_69, 0); -lean::inc(x_82); -lean::dec(x_69); -switch (lean::obj_tag(x_82)) { -case 0: -{ -obj* x_85; obj* x_88; obj* x_89; -x_85 = lean::cnstr_get(x_82, 0); -lean::inc(x_85); -lean::dec(x_82); -x_88 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_88, 0, x_85); -x_89 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_89, 0, x_5); -lean::cnstr_set(x_89, 1, x_23); -lean::cnstr_set(x_89, 2, x_40); -lean::cnstr_set(x_89, 3, x_67); -lean::cnstr_set(x_89, 4, x_68); -lean::cnstr_set(x_89, 5, x_88); -return x_89; -} -case 3: -{ -obj* x_90; obj* x_91; -x_90 = lean::box(0); -x_91 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_91, 0, x_5); -lean::cnstr_set(x_91, 1, x_23); -lean::cnstr_set(x_91, 2, x_40); -lean::cnstr_set(x_91, 3, x_67); -lean::cnstr_set(x_91, 4, x_68); -lean::cnstr_set(x_91, 5, x_90); -return x_91; -} -default: -{ -obj* x_93; obj* x_94; -lean::dec(x_82); -x_93 = lean::box(0); -x_94 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_94, 0, x_5); -lean::cnstr_set(x_94, 1, x_23); -lean::cnstr_set(x_94, 2, x_40); -lean::cnstr_set(x_94, 3, x_67); -lean::cnstr_set(x_94, 4, x_68); -lean::cnstr_set(x_94, 5, x_93); -return x_94; -} -} -} -} -lbl_73: -{ -obj* x_95; -switch (lean::obj_tag(x_72)) { -case 0: -{ -obj* x_97; obj* x_100; -x_97 = lean::cnstr_get(x_72, 0); -lean::inc(x_97); -lean::dec(x_72); -x_100 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_100, 0, x_97); -if (lean::obj_tag(x_71) == 0) -{ -x_95 = x_100; -goto lbl_96; -} -else -{ -obj* x_101; obj* x_103; -x_101 = lean::cnstr_get(x_71, 0); -lean::inc(x_101); -x_103 = lean::cnstr_get(x_71, 1); -lean::inc(x_103); -lean::dec(x_71); -x_67 = x_100; -x_68 = x_101; -x_69 = x_103; -goto lbl_70; -} -} -case 3: -{ -obj* x_106; -x_106 = lean::box(0); -if (lean::obj_tag(x_71) == 0) -{ -x_95 = x_106; -goto lbl_96; -} -else -{ -obj* x_107; obj* x_109; -x_107 = lean::cnstr_get(x_71, 0); -lean::inc(x_107); -x_109 = lean::cnstr_get(x_71, 1); -lean::inc(x_109); -lean::dec(x_71); -x_67 = x_106; -x_68 = x_107; -x_69 = x_109; -goto lbl_70; -} -} -default: -{ -obj* x_113; -lean::dec(x_72); -x_113 = lean::box(0); -if (lean::obj_tag(x_71) == 0) -{ -x_95 = x_113; -goto lbl_96; -} -else -{ -obj* x_114; obj* x_116; -x_114 = lean::cnstr_get(x_71, 0); -lean::inc(x_114); -x_116 = lean::cnstr_get(x_71, 1); -lean::inc(x_116); -lean::dec(x_71); -x_67 = x_113; -x_68 = x_114; -x_69 = x_116; -goto lbl_70; -} -} -} -lbl_96: -{ -if (lean::obj_tag(x_71) == 0) -{ -obj* x_119; obj* x_120; obj* x_121; -x_119 = lean::box(0); -x_120 = lean::box(3); -x_121 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_121, 0, x_5); -lean::cnstr_set(x_121, 1, x_23); -lean::cnstr_set(x_121, 2, x_40); -lean::cnstr_set(x_121, 3, x_95); -lean::cnstr_set(x_121, 4, x_120); -lean::cnstr_set(x_121, 5, x_119); -return x_121; -} -else -{ -obj* x_122; -x_122 = lean::cnstr_get(x_71, 0); -lean::inc(x_122); -lean::dec(x_71); -switch (lean::obj_tag(x_122)) { -case 0: -{ -obj* x_125; obj* x_128; obj* x_129; obj* x_130; -x_125 = lean::cnstr_get(x_122, 0); -lean::inc(x_125); -lean::dec(x_122); -x_128 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_128, 0, x_125); -x_129 = lean::box(3); -x_130 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_130, 0, x_5); -lean::cnstr_set(x_130, 1, x_23); -lean::cnstr_set(x_130, 2, x_40); -lean::cnstr_set(x_130, 3, x_95); -lean::cnstr_set(x_130, 4, x_129); -lean::cnstr_set(x_130, 5, x_128); -return x_130; -} -case 3: -{ -obj* x_131; obj* x_132; obj* x_133; -x_131 = lean::box(0); -x_132 = lean::box(3); -x_133 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_133, 0, x_5); -lean::cnstr_set(x_133, 1, x_23); -lean::cnstr_set(x_133, 2, x_40); -lean::cnstr_set(x_133, 3, x_95); -lean::cnstr_set(x_133, 4, x_132); -lean::cnstr_set(x_133, 5, x_131); -return x_133; -} -default: -{ -obj* x_135; obj* x_136; obj* x_137; -lean::dec(x_122); -x_135 = lean::box(0); -x_136 = lean::box(3); -x_137 = lean::alloc_cnstr(0, 6, 0); -lean::cnstr_set(x_137, 0, x_5); -lean::cnstr_set(x_137, 1, x_23); -lean::cnstr_set(x_137, 2, x_40); -lean::cnstr_set(x_137, 3, x_95); -lean::cnstr_set(x_137, 4, x_136); -lean::cnstr_set(x_137, 5, x_135); -return x_137; -} -} -} -} -} -} -} -} -} -} +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; } } } @@ -46049,7 +38555,7 @@ x_55 = l_lean_parser_syntax_as__node___main(x_45); if (lean::obj_tag(x_55) == 0) { obj* x_56; -x_56 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_56 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_53 = x_56; goto lbl_54; } @@ -46107,7 +38613,7 @@ obj* x_79; lean::dec(x_65); lean::dec(x_60); lean::dec(x_59); -x_79 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__2; +x_79 = l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4; x_53 = x_79; goto lbl_54; } @@ -46844,210 +39350,14 @@ return x_8; obj* _init_l_lean_parser_term_inaccessible_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_5; obj* x_7; obj* x_8; -x_7 = lean::box(0); -x_8 = lean::box(3); -x_4 = x_7; -x_5 = x_8; -goto lbl_6; -lbl_3: -{ -if (lean::obj_tag(x_2) == 0) -{ -obj* x_9; obj* x_10; -x_9 = lean::box(0); -x_10 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_10, 0, x_0); -lean::cnstr_set(x_10, 1, x_1); -lean::cnstr_set(x_10, 2, x_9); -return x_10; -} -else -{ -obj* x_11; -x_11 = lean::cnstr_get(x_2, 0); -lean::inc(x_11); -lean::dec(x_2); -switch (lean::obj_tag(x_11)) { -case 0: -{ -obj* x_14; obj* x_17; obj* x_18; -x_14 = lean::cnstr_get(x_11, 0); -lean::inc(x_14); -lean::dec(x_11); -x_17 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -x_18 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_18, 0, x_0); -lean::cnstr_set(x_18, 1, x_1); -lean::cnstr_set(x_18, 2, x_17); -return x_18; -} -case 3: -{ -obj* x_19; obj* x_20; -x_19 = lean::box(0); -x_20 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_20, 0, x_0); -lean::cnstr_set(x_20, 1, x_1); -lean::cnstr_set(x_20, 2, x_19); -return x_20; -} -default: -{ -obj* x_22; obj* x_23; -lean::dec(x_11); -x_22 = lean::box(0); -x_23 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_23, 0, x_0); -lean::cnstr_set(x_23, 1, x_1); -lean::cnstr_set(x_23, 2, x_22); -return x_23; -} -} -} -} -lbl_6: -{ -obj* x_24; -switch (lean::obj_tag(x_5)) { -case 0: -{ -obj* x_26; obj* x_29; -x_26 = lean::cnstr_get(x_5, 0); -lean::inc(x_26); -lean::dec(x_5); -x_29 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_29, 0, x_26); -if (lean::obj_tag(x_4) == 0) -{ -x_24 = x_29; -goto lbl_25; -} -else -{ -obj* x_30; obj* x_32; -x_30 = lean::cnstr_get(x_4, 0); -lean::inc(x_30); -x_32 = lean::cnstr_get(x_4, 1); -lean::inc(x_32); -lean::dec(x_4); -x_0 = x_29; -x_1 = x_30; -x_2 = x_32; -goto lbl_3; -} -} -case 3: -{ -obj* x_35; -x_35 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_24 = x_35; -goto lbl_25; -} -else -{ -obj* x_36; obj* x_38; -x_36 = lean::cnstr_get(x_4, 0); -lean::inc(x_36); -x_38 = lean::cnstr_get(x_4, 1); -lean::inc(x_38); -lean::dec(x_4); -x_0 = x_35; -x_1 = x_36; -x_2 = x_38; -goto lbl_3; -} -} -default: -{ -obj* x_42; -lean::dec(x_5); -x_42 = lean::box(0); -if (lean::obj_tag(x_4) == 0) -{ -x_24 = x_42; -goto lbl_25; -} -else -{ -obj* x_43; obj* x_45; -x_43 = lean::cnstr_get(x_4, 0); -lean::inc(x_43); -x_45 = lean::cnstr_get(x_4, 1); -lean::inc(x_45); -lean::dec(x_4); -x_0 = x_42; -x_1 = x_43; -x_2 = x_45; -goto lbl_3; -} -} -} -lbl_25: -{ -if (lean::obj_tag(x_4) == 0) -{ -obj* x_48; obj* x_49; obj* x_50; -x_48 = lean::box(0); -x_49 = lean::box(3); -x_50 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_50, 0, x_24); -lean::cnstr_set(x_50, 1, x_49); -lean::cnstr_set(x_50, 2, x_48); -return x_50; -} -else -{ -obj* x_51; -x_51 = lean::cnstr_get(x_4, 0); -lean::inc(x_51); -lean::dec(x_4); -switch (lean::obj_tag(x_51)) { -case 0: -{ -obj* x_54; obj* x_57; obj* x_58; obj* x_59; -x_54 = lean::cnstr_get(x_51, 0); -lean::inc(x_54); -lean::dec(x_51); -x_57 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_57, 0, x_54); -x_58 = lean::box(3); -x_59 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_59, 0, x_24); -lean::cnstr_set(x_59, 1, x_58); -lean::cnstr_set(x_59, 2, x_57); -return x_59; -} -case 3: -{ -obj* x_60; obj* x_61; obj* x_62; -x_60 = lean::box(0); -x_61 = lean::box(3); -x_62 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_62, 0, x_24); -lean::cnstr_set(x_62, 1, x_61); -lean::cnstr_set(x_62, 2, x_60); -return x_62; -} -default: -{ -obj* x_64; obj* x_65; obj* x_66; -lean::dec(x_51); -x_64 = lean::box(0); -x_65 = lean::box(3); -x_66 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_66, 0, x_24); -lean::cnstr_set(x_66, 1, x_65); -lean::cnstr_set(x_66, 2, x_64); -return x_66; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_2, 0, x_0); +lean::cnstr_set(x_2, 1, x_1); +lean::cnstr_set(x_2, 2, x_0); +return x_2; } } obj* l_lean_parser_term_inaccessible_has__view_x_27___lambda__1(obj* x_0) { @@ -49669,7 +41979,7 @@ x_8 = lean::cnstr_get(x_7, 0); lean::inc(x_8); if (lean::obj_tag(x_8) == 0) { -obj* x_10; obj* x_12; obj* x_13; obj* x_15; obj* x_17; obj* x_19; obj* x_20; uint8 x_21; uint8 x_23; +obj* x_10; obj* x_12; obj* x_13; obj* x_15; obj* x_17; obj* x_19; obj* x_20; uint8 x_21; x_10 = lean::cnstr_get(x_7, 1); if (lean::is_exclusive(x_7)) { lean::cnstr_release(x_7, 0); @@ -49700,228 +42010,211 @@ x_21 = l_lean_parser_syntax_is__of__kind___main(x_20, x_13); lean::dec(x_13); if (x_21 == 0) { -uint8 x_25; -x_25 = 0; -x_23 = x_25; -goto lbl_24; -} -else -{ -uint8 x_26; -x_26 = 1; -x_23 = x_26; -goto lbl_24; -} -lbl_24: -{ -if (x_23 == 0) -{ -obj* x_29; obj* x_30; obj* x_32; obj* x_34; obj* x_35; +obj* x_25; obj* x_26; obj* x_28; obj* x_30; obj* x_31; lean::dec(x_12); lean::dec(x_19); -x_29 = l_lean_parser_parsec__t_failure___at_lean_parser_token___spec__4___rarg(x_15, x_10); -x_30 = lean::cnstr_get(x_29, 0); -x_32 = lean::cnstr_get(x_29, 1); -if (lean::is_exclusive(x_29)) { - lean::cnstr_set(x_29, 0, lean::box(0)); - lean::cnstr_set(x_29, 1, lean::box(0)); - x_34 = x_29; +x_25 = l_lean_parser_parsec__t_failure___at_lean_parser_token___spec__4___rarg(x_15, x_10); +x_26 = lean::cnstr_get(x_25, 0); +x_28 = lean::cnstr_get(x_25, 1); +if (lean::is_exclusive(x_25)) { + lean::cnstr_set(x_25, 0, lean::box(0)); + lean::cnstr_set(x_25, 1, lean::box(0)); + x_30 = x_25; } else { - lean::inc(x_30); - lean::inc(x_32); - lean::dec(x_29); - x_34 = lean::box(0); + lean::inc(x_26); + lean::inc(x_28); + lean::dec(x_25); + x_30 = lean::box(0); } -x_35 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_17, x_30); -if (lean::obj_tag(x_35) == 0) +x_31 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_17, x_26); +if (lean::obj_tag(x_31) == 0) { -obj* x_37; obj* x_39; obj* x_42; obj* x_43; obj* x_44; obj* x_45; obj* x_47; obj* x_49; obj* x_50; obj* x_51; -lean::dec(x_34); -x_37 = lean::cnstr_get(x_35, 1); -lean::inc(x_37); -x_39 = lean::cnstr_get(x_35, 2); -lean::inc(x_39); -lean::dec(x_35); -x_42 = l_lean_parser_term_sort__app; -x_43 = l_lean_parser_term_sort__app_parser___closed__1; -x_44 = l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3(x_42, x_43, x_0, x_1, x_2, x_3, x_37, x_32); -x_45 = lean::cnstr_get(x_44, 0); -x_47 = lean::cnstr_get(x_44, 1); -if (lean::is_exclusive(x_44)) { - x_49 = x_44; +obj* x_33; obj* x_35; obj* x_38; obj* x_39; obj* x_40; obj* x_41; obj* x_43; obj* x_45; obj* x_46; obj* x_47; +lean::dec(x_30); +x_33 = lean::cnstr_get(x_31, 1); +lean::inc(x_33); +x_35 = lean::cnstr_get(x_31, 2); +lean::inc(x_35); +lean::dec(x_31); +x_38 = l_lean_parser_term_sort__app; +x_39 = l_lean_parser_term_sort__app_parser___closed__1; +x_40 = l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3(x_38, x_39, x_0, x_1, x_2, x_3, x_33, x_28); +x_41 = lean::cnstr_get(x_40, 0); +x_43 = lean::cnstr_get(x_40, 1); +if (lean::is_exclusive(x_40)) { + x_45 = x_40; } else { - lean::inc(x_45); - lean::inc(x_47); - lean::dec(x_44); - x_49 = lean::box(0); + lean::inc(x_41); + lean::inc(x_43); + lean::dec(x_40); + x_45 = lean::box(0); } -x_50 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_39, x_45); -if (lean::is_scalar(x_49)) { - x_51 = lean::alloc_cnstr(0, 2, 0); +x_46 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_35, x_41); +if (lean::is_scalar(x_45)) { + x_47 = lean::alloc_cnstr(0, 2, 0); } else { - x_51 = x_49; + x_47 = x_45; } -lean::cnstr_set(x_51, 0, x_50); -lean::cnstr_set(x_51, 1, x_47); -return x_51; +lean::cnstr_set(x_47, 0, x_46); +lean::cnstr_set(x_47, 1, x_43); +return x_47; } else { -obj* x_56; uint8 x_58; obj* x_59; obj* x_60; obj* x_61; obj* x_62; +obj* x_52; uint8 x_54; obj* x_55; obj* x_56; obj* x_57; obj* x_58; lean::dec(x_1); lean::dec(x_3); lean::dec(x_0); lean::dec(x_2); -x_56 = lean::cnstr_get(x_35, 0); -x_58 = lean::cnstr_get_scalar(x_35, sizeof(void*)*1); -if (lean::is_exclusive(x_35)) { - x_59 = x_35; +x_52 = lean::cnstr_get(x_31, 0); +x_54 = lean::cnstr_get_scalar(x_31, sizeof(void*)*1); +if (lean::is_exclusive(x_31)) { + x_55 = x_31; } else { - lean::inc(x_56); - lean::dec(x_35); - x_59 = lean::box(0); + lean::inc(x_52); + lean::dec(x_31); + x_55 = lean::box(0); } -if (lean::is_scalar(x_59)) { - x_60 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_55)) { + x_56 = lean::alloc_cnstr(1, 1, 1); } else { - x_60 = x_59; + x_56 = x_55; } -lean::cnstr_set(x_60, 0, x_56); -lean::cnstr_set_scalar(x_60, sizeof(void*)*1, x_58); -x_61 = x_60; -if (lean::is_scalar(x_34)) { - x_62 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_56, 0, x_52); +lean::cnstr_set_scalar(x_56, sizeof(void*)*1, x_54); +x_57 = x_56; +if (lean::is_scalar(x_30)) { + x_58 = lean::alloc_cnstr(0, 2, 0); } else { - x_62 = x_34; + x_58 = x_30; } -lean::cnstr_set(x_62, 0, x_61); -lean::cnstr_set(x_62, 1, x_32); -return x_62; +lean::cnstr_set(x_58, 0, x_57); +lean::cnstr_set(x_58, 1, x_28); +return x_58; } } else { -obj* x_63; obj* x_64; obj* x_65; obj* x_66; -x_63 = lean::box(0); -x_64 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +obj* x_59; obj* x_60; obj* x_61; obj* x_62; +x_59 = lean::box(0); +x_60 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; if (lean::is_scalar(x_19)) { - x_65 = lean::alloc_cnstr(0, 3, 0); + x_61 = lean::alloc_cnstr(0, 3, 0); } else { - x_65 = x_19; + x_61 = x_19; } -lean::cnstr_set(x_65, 0, x_63); -lean::cnstr_set(x_65, 1, x_15); -lean::cnstr_set(x_65, 2, x_64); -x_66 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_17, x_65); -if (lean::obj_tag(x_66) == 0) +lean::cnstr_set(x_61, 0, x_59); +lean::cnstr_set(x_61, 1, x_15); +lean::cnstr_set(x_61, 2, x_60); +x_62 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_17, x_61); +if (lean::obj_tag(x_62) == 0) { -obj* x_68; obj* x_70; obj* x_73; obj* x_74; obj* x_75; obj* x_76; obj* x_78; obj* x_80; obj* x_81; obj* x_82; +obj* x_64; obj* x_66; obj* x_69; obj* x_70; obj* x_71; obj* x_72; obj* x_74; obj* x_76; obj* x_77; obj* x_78; lean::dec(x_12); -x_68 = lean::cnstr_get(x_66, 1); -lean::inc(x_68); -x_70 = lean::cnstr_get(x_66, 2); -lean::inc(x_70); -lean::dec(x_66); -x_73 = l_lean_parser_term_sort__app; -x_74 = l_lean_parser_term_sort__app_parser___closed__1; -x_75 = l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3(x_73, x_74, x_0, x_1, x_2, x_3, x_68, x_10); -x_76 = lean::cnstr_get(x_75, 0); -x_78 = lean::cnstr_get(x_75, 1); -if (lean::is_exclusive(x_75)) { - x_80 = x_75; +x_64 = lean::cnstr_get(x_62, 1); +lean::inc(x_64); +x_66 = lean::cnstr_get(x_62, 2); +lean::inc(x_66); +lean::dec(x_62); +x_69 = l_lean_parser_term_sort__app; +x_70 = l_lean_parser_term_sort__app_parser___closed__1; +x_71 = l_lean_parser_combinators_node___at_lean_parser_term_sort__app_parser_lean_parser_has__tokens___spec__3(x_69, x_70, x_0, x_1, x_2, x_3, x_64, x_10); +x_72 = lean::cnstr_get(x_71, 0); +x_74 = lean::cnstr_get(x_71, 1); +if (lean::is_exclusive(x_71)) { + x_76 = x_71; } else { - lean::inc(x_76); - lean::inc(x_78); - lean::dec(x_75); - x_80 = lean::box(0); + lean::inc(x_72); + lean::inc(x_74); + lean::dec(x_71); + x_76 = lean::box(0); } -x_81 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_70, x_76); -if (lean::is_scalar(x_80)) { - x_82 = lean::alloc_cnstr(0, 2, 0); +x_77 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_66, x_72); +if (lean::is_scalar(x_76)) { + x_78 = lean::alloc_cnstr(0, 2, 0); } else { - x_82 = x_80; + x_78 = x_76; } -lean::cnstr_set(x_82, 0, x_81); -lean::cnstr_set(x_82, 1, x_78); -return x_82; +lean::cnstr_set(x_78, 0, x_77); +lean::cnstr_set(x_78, 1, x_74); +return x_78; } else { -obj* x_87; uint8 x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; +obj* x_83; uint8 x_85; obj* x_86; obj* x_87; obj* x_88; obj* x_89; lean::dec(x_1); lean::dec(x_3); lean::dec(x_0); lean::dec(x_2); -x_87 = lean::cnstr_get(x_66, 0); -x_89 = lean::cnstr_get_scalar(x_66, sizeof(void*)*1); -if (lean::is_exclusive(x_66)) { - x_90 = x_66; +x_83 = lean::cnstr_get(x_62, 0); +x_85 = lean::cnstr_get_scalar(x_62, sizeof(void*)*1); +if (lean::is_exclusive(x_62)) { + x_86 = x_62; } else { - lean::inc(x_87); - lean::dec(x_66); - x_90 = lean::box(0); + lean::inc(x_83); + lean::dec(x_62); + x_86 = lean::box(0); } -if (lean::is_scalar(x_90)) { - x_91 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_86)) { + x_87 = lean::alloc_cnstr(1, 1, 1); } else { - x_91 = x_90; + x_87 = x_86; } -lean::cnstr_set(x_91, 0, x_87); -lean::cnstr_set_scalar(x_91, sizeof(void*)*1, x_89); -x_92 = x_91; +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_12)) { - x_93 = lean::alloc_cnstr(0, 2, 0); + x_89 = lean::alloc_cnstr(0, 2, 0); } else { - x_93 = x_12; -} -lean::cnstr_set(x_93, 0, x_92); -lean::cnstr_set(x_93, 1, x_10); -return x_93; + x_89 = x_12; } +lean::cnstr_set(x_89, 0, x_88); +lean::cnstr_set(x_89, 1, x_10); +return x_89; } } } else { -obj* x_98; obj* x_100; obj* x_101; uint8 x_103; obj* x_104; obj* x_105; obj* x_106; obj* x_107; +obj* x_94; obj* x_96; obj* x_97; uint8 x_99; obj* x_100; obj* x_101; obj* x_102; obj* x_103; lean::dec(x_1); lean::dec(x_3); lean::dec(x_0); lean::dec(x_2); -x_98 = lean::cnstr_get(x_7, 1); +x_94 = lean::cnstr_get(x_7, 1); if (lean::is_exclusive(x_7)) { lean::cnstr_release(x_7, 0); - x_100 = x_7; + x_96 = x_7; } else { - lean::inc(x_98); + lean::inc(x_94); lean::dec(x_7); + x_96 = lean::box(0); +} +x_97 = lean::cnstr_get(x_8, 0); +x_99 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); +if (lean::is_exclusive(x_8)) { + x_100 = x_8; +} else { + lean::inc(x_97); + lean::dec(x_8); x_100 = lean::box(0); } -x_101 = lean::cnstr_get(x_8, 0); -x_103 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); -if (lean::is_exclusive(x_8)) { - x_104 = x_8; -} else { - lean::inc(x_101); - lean::dec(x_8); - x_104 = lean::box(0); -} -if (lean::is_scalar(x_104)) { - x_105 = lean::alloc_cnstr(1, 1, 1); -} else { - x_105 = x_104; -} -lean::cnstr_set(x_105, 0, x_101); -lean::cnstr_set_scalar(x_105, sizeof(void*)*1, x_103); -x_106 = x_105; if (lean::is_scalar(x_100)) { - x_107 = lean::alloc_cnstr(0, 2, 0); + x_101 = lean::alloc_cnstr(1, 1, 1); } else { - x_107 = x_100; + x_101 = x_100; } -lean::cnstr_set(x_107, 0, x_106); -lean::cnstr_set(x_107, 1, x_98); -return x_107; +lean::cnstr_set(x_101, 0, x_97); +lean::cnstr_set_scalar(x_101, sizeof(void*)*1, x_99); +x_102 = x_101; +if (lean::is_scalar(x_96)) { + x_103 = lean::alloc_cnstr(0, 2, 0); +} else { + x_103 = x_96; +} +lean::cnstr_set(x_103, 0, x_102); +lean::cnstr_set(x_103, 1, x_94); +return x_103; } } } @@ -50644,59 +42937,9 @@ return x_0; obj* _init_l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_8 = l_lean_parser_number_has__view; -x_9 = lean::cnstr_get(x_8, 0); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::apply_1(x_9, x_0); -x_13 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_13, 0, x_12); -return x_13; -} -else -{ -switch (lean::obj_tag(x_0)) { -case 1: -{ -obj* x_14; obj* x_17; -x_14 = lean::cnstr_get(x_0, 0); -lean::inc(x_14); -lean::dec(x_0); -x_17 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -return x_17; -} -case 3: -{ -obj* x_18; -x_18 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; -return x_18; -} -default: -{ -obj* x_20; -lean::dec(x_0); -x_20 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; -return x_20; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; +return x_0; } } obj* _init_l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__4() { @@ -50718,200 +42961,193 @@ return x_8; obj* l_lean_parser_term_projection__spec_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_5; +obj* x_2; +x_2 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__4; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__4; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_19; +obj* x_16; +x_16 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_26; +obj* x_23; +x_23 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +lean::inc(x_24); +lean::dec(x_22); +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { +obj* x_30; +lean::dec(x_24); +x_30 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_30; +} +case 1: +{ obj* x_33; lean::dec(x_27); +lean::dec(x_24); x_33 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; return x_33; } -case 1: -{ -obj* x_36; -lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_36; -} default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); +obj* x_34; obj* x_37; obj* x_39; obj* x_42; uint8 x_43; +x_34 = lean::cnstr_get(x_24, 1); +lean::inc(x_34); +lean::dec(x_24); +x_37 = lean::cnstr_get(x_27, 0); lean::inc(x_37); +x_39 = lean::cnstr_get(x_27, 1); +lean::inc(x_39); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_42 = lean::box(0); +x_43 = lean_name_dec_eq(x_37, x_42); +lean::dec(x_37); +if (x_43 == 0) +{ +obj* x_47; +lean::dec(x_34); +lean::dec(x_39); +x_47 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_47; +} +else +{ +if (lean::obj_tag(x_34) == 0) +{ +obj* x_49; +lean::dec(x_39); +x_49 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_49; +} +else { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); -x_50 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_50; +x_50 = lean::cnstr_get(x_34, 1); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) +{ +obj* x_52; obj* x_55; uint8 x_56; +x_52 = lean::cnstr_get(x_34, 0); +lean::inc(x_52); +lean::dec(x_34); +x_55 = lean::mk_nat_obj(0u); +x_56 = lean::nat_dec_eq(x_39, x_55); +lean::dec(x_39); +if (x_56 == 0) +{ +obj* x_58; obj* x_59; obj* x_62; obj* x_63; +x_58 = l_lean_parser_number_has__view; +x_59 = lean::cnstr_get(x_58, 0); +lean::inc(x_59); +lean::dec(x_58); +x_62 = lean::apply_1(x_59, x_52); +x_63 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +return x_63; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; -} -else -{ -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_61; -} -} -} -} -} -} -} -else -{ -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; -return x_64; -} -} -} -} -lbl_3: -{ -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -obj* x_68; obj* x_69; obj* x_72; obj* x_73; -x_68 = l_lean_parser_number_has__view; -x_69 = lean::cnstr_get(x_68, 0); -lean::inc(x_69); -lean::dec(x_68); -x_72 = lean::apply_1(x_69, x_1); -x_73 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_73, 0, x_72); -return x_73; -} -else -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_52)) { case 1: { -obj* x_74; obj* x_77; -x_74 = lean::cnstr_get(x_1, 0); -lean::inc(x_74); -lean::dec(x_1); -x_77 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_77, 0, x_74); -return x_77; +obj* x_64; obj* x_67; +x_64 = lean::cnstr_get(x_52, 0); +lean::inc(x_64); +lean::dec(x_52); +x_67 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_67, 0, x_64); +return x_67; } case 3: { -obj* x_78; -x_78 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; -return x_78; +obj* x_68; +x_68 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; +return x_68; } default: { -obj* x_80; -lean::dec(x_1); -x_80 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; -return x_80; +obj* x_70; +lean::dec(x_52); +x_70 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__2; +return x_70; +} +} +} +} +else +{ +obj* x_74; +lean::dec(x_50); +lean::dec(x_34); +lean::dec(x_39); +x_74 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_74; +} +} +} +} +} +} +} +else +{ +obj* x_77; +lean::dec(x_8); +lean::dec(x_17); +x_77 = l_lean_parser_term_projection__spec_has__view_x_27___lambda__1___closed__3; +return x_77; } } } @@ -51020,142 +43256,15 @@ return x_5; obj* _init_l_lean_parser_term_projection_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; obj* x_6; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_8; -x_8 = lean::box(3); -x_5 = x_0; -x_6 = x_8; -goto lbl_7; -} -else -{ -obj* x_9; obj* x_11; -x_9 = lean::cnstr_get(x_0, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_0, 1); -lean::inc(x_11); -lean::dec(x_0); -x_5 = x_11; -x_6 = x_9; -goto lbl_7; -} -lbl_7: -{ -switch (lean::obj_tag(x_6)) { -case 0: -{ -obj* x_14; obj* x_17; -x_14 = lean::cnstr_get(x_6, 0); -lean::inc(x_14); -lean::dec(x_6); -x_17 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_17, 0, x_14); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_18; obj* x_19; -x_18 = l_lean_parser_term_projection_has__view_x_27___lambda__1___closed__1; -x_19 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_19, 0, x_1); -lean::cnstr_set(x_19, 1, x_17); -lean::cnstr_set(x_19, 2, x_18); -return x_19; -} -else -{ -obj* x_20; obj* x_23; obj* x_24; obj* x_27; obj* x_28; -x_20 = lean::cnstr_get(x_5, 0); -lean::inc(x_20); -lean::dec(x_5); -x_23 = l_lean_parser_term_projection__spec_has__view; -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); -x_28 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_28, 0, x_1); -lean::cnstr_set(x_28, 1, x_17); -lean::cnstr_set(x_28, 2, x_27); -return x_28; -} -} -case 3: -{ -obj* x_29; -x_29 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_30; obj* x_31; -x_30 = l_lean_parser_term_projection_has__view_x_27___lambda__1___closed__1; -x_31 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_31, 0, x_1); -lean::cnstr_set(x_31, 1, x_29); -lean::cnstr_set(x_31, 2, x_30); -return x_31; -} -else -{ -obj* x_32; obj* x_35; obj* x_36; obj* x_39; obj* x_40; -x_32 = lean::cnstr_get(x_5, 0); -lean::inc(x_32); -lean::dec(x_5); -x_35 = l_lean_parser_term_projection__spec_has__view; -x_36 = lean::cnstr_get(x_35, 0); -lean::inc(x_36); -lean::dec(x_35); -x_39 = lean::apply_1(x_36, x_32); -x_40 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_40, 0, x_1); -lean::cnstr_set(x_40, 1, x_29); -lean::cnstr_set(x_40, 2, x_39); -return x_40; -} -} -default: -{ -obj* x_42; -lean::dec(x_6); -x_42 = lean::box(0); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_43; obj* x_44; -x_43 = l_lean_parser_term_projection_has__view_x_27___lambda__1___closed__1; -x_44 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_44, 0, x_1); -lean::cnstr_set(x_44, 1, x_42); -lean::cnstr_set(x_44, 2, x_43); -return x_44; -} -else -{ -obj* x_45; obj* x_48; obj* x_49; obj* x_52; obj* x_53; -x_45 = lean::cnstr_get(x_5, 0); -lean::inc(x_45); -lean::dec(x_5); -x_48 = l_lean_parser_term_projection__spec_has__view; -x_49 = lean::cnstr_get(x_48, 0); -lean::inc(x_49); -lean::dec(x_48); -x_52 = lean::apply_1(x_49, x_45); -x_53 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_53, 0, x_1); -lean::cnstr_set(x_53, 1, x_42); -lean::cnstr_set(x_53, 2, x_52); -return x_53; -} -} -} -} -} +obj* x_0; obj* x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = lean::box(3); +x_2 = l_lean_parser_term_projection_has__view_x_27___lambda__1___closed__1; +x_3 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_3, 0, x_1); +lean::cnstr_set(x_3, 1, x_0); +lean::cnstr_set(x_3, 2, x_2); +return x_3; } } obj* l_lean_parser_term_projection_has__view_x_27___lambda__1(obj* x_0) { @@ -57088,6 +49197,10 @@ lean::mark_persistent(l_lean_parser_term_binder__content_has__view_x_27___lambda lean::mark_persistent(l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__4); l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5 = _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5(); lean::mark_persistent(l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__5); + l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6 = _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6(); +lean::mark_persistent(l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__6); + l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__7 = _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__7(); +lean::mark_persistent(l_lean_parser_term_binder__content_has__view_x_27___lambda__1___closed__7); l_lean_parser_term_binder__content_has__view_x_27___lambda__2___closed__1 = _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__2___closed__1(); lean::mark_persistent(l_lean_parser_term_binder__content_has__view_x_27___lambda__2___closed__1); l_lean_parser_term_binder__content_has__view_x_27___lambda__2___closed__2 = _init_l_lean_parser_term_binder__content_has__view_x_27___lambda__2___closed__2(); diff --git a/src/boot/init/lean/parser/token.cpp b/src/boot/init/lean/parser/token.cpp index 7d95e310d8..34466282f9 100644 --- a/src/boot/init/lean/parser/token.cpp +++ b/src/boot/init/lean/parser/token.cpp @@ -3891,191 +3891,13 @@ return x_6; obj* _init_l_lean_parser_detail__ident__part__escaped_has__view_x_27___lambda__1___closed__1() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); -x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; -switch (lean::obj_tag(x_1)) { -case 0: -{ -obj* x_7; obj* x_10; -x_7 = lean::cnstr_get(x_1, 0); -lean::inc(x_7); -lean::dec(x_1); -x_10 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_10, 0, x_7); -x_5 = x_10; -goto lbl_6; -} -case 3: -{ -obj* x_11; -x_11 = lean::box(0); -x_5 = x_11; -goto lbl_6; -} -default: -{ -obj* x_13; -lean::dec(x_1); -x_13 = lean::box(0); -x_5 = x_13; -goto lbl_6; -} -} -lbl_6: -{ -obj* x_14; obj* x_15; obj* x_17; obj* x_18; -if (lean::obj_tag(x_0) == 0) -{ -obj* x_20; -x_20 = lean::box(3); -x_17 = x_0; -x_18 = x_20; -goto lbl_19; -} -else -{ -obj* x_21; obj* x_23; -x_21 = lean::cnstr_get(x_0, 0); -lean::inc(x_21); -x_23 = lean::cnstr_get(x_0, 1); -lean::inc(x_23); -lean::dec(x_0); -x_17 = x_23; -x_18 = x_21; -goto lbl_19; -} -lbl_16: -{ -switch (lean::obj_tag(x_15)) { -case 0: -{ -obj* x_26; obj* x_29; obj* x_30; -x_26 = lean::cnstr_get(x_15, 0); -lean::inc(x_26); -lean::dec(x_15); -x_29 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_29, 0, x_26); -x_30 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_30, 0, x_5); -lean::cnstr_set(x_30, 1, x_14); -lean::cnstr_set(x_30, 2, x_29); -return x_30; -} -case 3: -{ -obj* x_31; obj* x_32; -x_31 = lean::box(0); -x_32 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_32, 0, x_5); -lean::cnstr_set(x_32, 1, x_14); -lean::cnstr_set(x_32, 2, x_31); -return x_32; -} -default: -{ -obj* x_34; obj* x_35; -lean::dec(x_15); -x_34 = lean::box(0); -x_35 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_35, 0, x_5); -lean::cnstr_set(x_35, 1, x_14); -lean::cnstr_set(x_35, 2, x_34); -return x_35; -} -} -} -lbl_19: -{ -switch (lean::obj_tag(x_18)) { -case 0: -{ -obj* x_36; obj* x_39; -x_36 = lean::cnstr_get(x_18, 0); -lean::inc(x_36); -lean::dec(x_18); -x_39 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_39, 0, x_36); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_40; obj* x_41; -x_40 = lean::box(0); -x_41 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_41, 0, x_5); -lean::cnstr_set(x_41, 1, x_39); -lean::cnstr_set(x_41, 2, x_40); -return x_41; -} -else -{ -obj* x_42; -x_42 = lean::cnstr_get(x_17, 0); -lean::inc(x_42); -lean::dec(x_17); -x_14 = x_39; -x_15 = x_42; -goto lbl_16; -} -} -case 3: -{ -obj* x_45; -x_45 = lean::box(0); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_46; -x_46 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_46, 0, x_5); -lean::cnstr_set(x_46, 1, x_45); -lean::cnstr_set(x_46, 2, x_45); -return x_46; -} -else -{ -obj* x_47; -x_47 = lean::cnstr_get(x_17, 0); -lean::inc(x_47); -lean::dec(x_17); -x_14 = x_45; -x_15 = x_47; -goto lbl_16; -} -} -default: -{ -obj* x_51; -lean::dec(x_18); -x_51 = lean::box(0); -if (lean::obj_tag(x_17) == 0) -{ -obj* x_52; -x_52 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_52, 0, x_5); -lean::cnstr_set(x_52, 1, x_51); -lean::cnstr_set(x_52, 2, x_51); -return x_52; -} -else -{ -obj* x_53; -x_53 = lean::cnstr_get(x_17, 0); -lean::inc(x_53); -lean::dec(x_17); -x_14 = x_51; -x_15 = x_53; -goto lbl_16; -} -} -} -} -} -} +obj* x_0; obj* x_1; +x_0 = lean::box(0); +x_1 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_1, 0, x_0); +lean::cnstr_set(x_1, 1, x_0); +lean::cnstr_set(x_1, 2, x_0); +return x_1; } } obj* l_lean_parser_detail__ident__part__escaped_has__view_x_27___lambda__1(obj* x_0) { @@ -4680,61 +4502,16 @@ return x_1; obj* _init_l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -lean::dec(x_1); -if (x_6 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_8; obj* x_11; obj* x_12; -x_8 = lean::cnstr_get(x_0, 0); -lean::inc(x_8); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_detail__ident__part__escaped_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); lean::dec(x_0); -x_11 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_11, 0, x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_11); -return x_12; -} -case 3: -{ -obj* x_13; -x_13 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__1; -return x_13; -} -default: -{ -obj* x_15; -lean::dec(x_0); -x_15 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__1; -return x_15; -} -} -} -else -{ -obj* x_16; obj* x_17; obj* x_20; obj* x_21; -x_16 = l_lean_parser_detail__ident__part__escaped_has__view; -x_17 = lean::cnstr_get(x_16, 0); -lean::inc(x_17); -lean::dec(x_16); -x_20 = lean::apply_1(x_17, x_0); -x_21 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_21, 0, x_20); -return x_21; -} -} +x_4 = lean::box(3); +x_5 = lean::apply_1(x_1, x_4); +x_6 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_6, 0, x_5); +return x_6; } } obj* _init_l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__3() { @@ -4754,204 +4531,215 @@ return x_6; obj* l_lean_parser_detail__ident__part_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_5; +obj* x_2; +x_2 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__3; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__3; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_19; +obj* x_16; +x_16 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_26; +obj* x_23; +x_23 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +lean::dec(x_41); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -lean::dec(x_2); -if (x_66 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_68; obj* x_71; obj* x_72; -x_68 = lean::cnstr_get(x_1, 0); -lean::inc(x_68); -lean::dec(x_1); -x_71 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_71, 0, x_68); -x_72 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_72, 0, x_71); -return x_72; +obj* x_62; obj* x_65; obj* x_66; +x_62 = lean::cnstr_get(x_56, 0); +lean::inc(x_62); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_65 = lean::alloc_cnstr(1, 1, 0); +} else { + x_65 = x_26; +} +lean::cnstr_set(x_65, 0, x_62); +x_66 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_66, 0, x_65); +return x_66; } case 3: { -obj* x_73; -x_73 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__1; -return x_73; +obj* x_68; +lean::dec(x_26); +x_68 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__1; +return x_68; } default: { -obj* x_75; -lean::dec(x_1); -x_75 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__1; -return x_75; +obj* x_71; +lean::dec(x_56); +lean::dec(x_26); +x_71 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__1; +return x_71; } } } else { -obj* x_76; obj* x_77; obj* x_80; obj* x_81; -x_76 = l_lean_parser_detail__ident__part__escaped_has__view; -x_77 = lean::cnstr_get(x_76, 0); -lean::inc(x_77); -lean::dec(x_76); -x_80 = lean::apply_1(x_77, x_1); -x_81 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_81, 0, x_80); -return x_81; +obj* x_73; obj* x_74; obj* x_77; obj* x_78; +lean::dec(x_26); +x_73 = l_lean_parser_detail__ident__part__escaped_has__view; +x_74 = lean::cnstr_get(x_73, 0); +lean::inc(x_74); +lean::dec(x_73); +x_77 = lean::apply_1(x_74, x_56); +x_78 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_78, 0, x_77); +return x_78; +} +} +else +{ +obj* x_83; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_83 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_83; +} +} +} +} +} +} +} +else +{ +obj* x_86; +lean::dec(x_8); +lean::dec(x_17); +x_86 = l_lean_parser_detail__ident__part_has__view_x_27___lambda__1___closed__2; +return x_86; +} +} } } } @@ -11524,183 +11312,87 @@ return x_6; obj* _init_l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__2() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(0); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; +x_0 = l_lean_parser_detail__ident__part_has__view; +x_1 = lean::cnstr_get(x_0, 0); +lean::inc(x_1); +lean::dec(x_0); x_4 = lean::box(3); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: +x_5 = lean::apply_1(x_1, x_4); +x_6 = l_lean_parser_syntax_as__node___main(x_4); +if (lean::obj_tag(x_6) == 0) { -obj* x_5; obj* x_6; obj* x_9; -x_5 = l_lean_parser_detail__ident__part_has__view; -x_6 = lean::cnstr_get(x_5, 0); -lean::inc(x_6); -lean::dec(x_5); -x_9 = lean::apply_1(x_6, x_1); -if (lean::obj_tag(x_0) == 0) -{ -obj* x_10; obj* x_11; -x_10 = lean::box(3); -x_11 = l_lean_parser_syntax_as__node___main(x_10); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_12; obj* x_13; -x_12 = l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__1; -x_13 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_13, 0, x_9); -lean::cnstr_set(x_13, 1, x_12); -return x_13; +obj* x_7; obj* x_8; +x_7 = l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__1; +x_8 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_8, 0, x_5); +lean::cnstr_set(x_8, 1, x_7); +return x_8; } else { -obj* x_14; obj* x_16; obj* x_17; -x_14 = lean::cnstr_get(x_11, 0); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - x_16 = x_11; +obj* x_9; obj* x_11; obj* x_12; +x_9 = lean::cnstr_get(x_6, 0); +if (lean::is_exclusive(x_6)) { + lean::cnstr_set(x_6, 0, lean::box(0)); + x_11 = x_6; } else { - lean::inc(x_14); - lean::dec(x_11); - x_16 = lean::box(0); + lean::inc(x_9); + lean::dec(x_6); + x_11 = lean::box(0); } -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -if (lean::obj_tag(x_17) == 0) +x_12 = lean::cnstr_get(x_9, 1); +lean::inc(x_12); +lean::dec(x_9); +if (lean::obj_tag(x_12) == 0) { -obj* x_21; obj* x_22; -lean::dec(x_16); -x_21 = lean::box(0); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_9); -lean::cnstr_set(x_22, 1, x_21); -return x_22; +obj* x_16; obj* x_17; +lean::dec(x_11); +x_16 = lean::box(0); +x_17 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_17, 0, x_5); +lean::cnstr_set(x_17, 1, x_16); +return x_17; } else { -obj* x_23; -x_23 = lean::cnstr_get(x_17, 1); -lean::inc(x_23); -if (lean::obj_tag(x_23) == 0) +obj* x_18; +x_18 = lean::cnstr_get(x_12, 1); +lean::inc(x_18); +if (lean::obj_tag(x_18) == 0) { -obj* x_25; obj* x_28; obj* x_29; obj* x_32; obj* x_33; obj* x_34; -x_25 = lean::cnstr_get(x_17, 0); -lean::inc(x_25); -lean::dec(x_17); -x_28 = l_lean_parser_detail__ident__suffix_has__view; -x_29 = lean::cnstr_get(x_28, 0); -lean::inc(x_29); -lean::dec(x_28); -x_32 = lean::apply_1(x_29, x_25); -if (lean::is_scalar(x_16)) { - x_33 = lean::alloc_cnstr(1, 1, 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_12, 0); +lean::inc(x_20); +lean::dec(x_12); +x_23 = l_lean_parser_detail__ident__suffix_has__view; +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_11)) { + x_28 = lean::alloc_cnstr(1, 1, 0); } else { - x_33 = x_16; + x_28 = x_11; } -lean::cnstr_set(x_33, 0, x_32); +lean::cnstr_set(x_28, 0, x_27); +x_29 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_29, 0, x_5); +lean::cnstr_set(x_29, 1, x_28); +return x_29; +} +else +{ +obj* x_33; obj* x_34; +lean::dec(x_11); +lean::dec(x_12); +lean::dec(x_18); +x_33 = l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__1; x_34 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_34, 0, x_9); +lean::cnstr_set(x_34, 0, x_5); lean::cnstr_set(x_34, 1, x_33); return x_34; } -else -{ -obj* x_38; obj* x_39; -lean::dec(x_23); -lean::dec(x_16); -lean::dec(x_17); -x_38 = l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__1; -x_39 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_39, 0, x_9); -lean::cnstr_set(x_39, 1, x_38); -return x_39; -} -} -} -} -else -{ -obj* x_40; obj* x_43; -x_40 = lean::cnstr_get(x_0, 0); -lean::inc(x_40); -lean::dec(x_0); -x_43 = l_lean_parser_syntax_as__node___main(x_40); -if (lean::obj_tag(x_43) == 0) -{ -obj* x_44; obj* x_45; -x_44 = l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__1; -x_45 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_45, 0, x_9); -lean::cnstr_set(x_45, 1, x_44); -return x_45; -} -else -{ -obj* x_46; obj* x_48; obj* x_49; -x_46 = lean::cnstr_get(x_43, 0); -if (lean::is_exclusive(x_43)) { - lean::cnstr_set(x_43, 0, lean::box(0)); - x_48 = x_43; -} else { - lean::inc(x_46); - lean::dec(x_43); - x_48 = lean::box(0); -} -x_49 = lean::cnstr_get(x_46, 1); -lean::inc(x_49); -lean::dec(x_46); -if (lean::obj_tag(x_49) == 0) -{ -obj* x_53; obj* x_54; -lean::dec(x_48); -x_53 = lean::box(0); -x_54 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_54, 0, x_9); -lean::cnstr_set(x_54, 1, x_53); -return x_54; -} -else -{ -obj* x_55; -x_55 = lean::cnstr_get(x_49, 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; -x_57 = lean::cnstr_get(x_49, 0); -lean::inc(x_57); -lean::dec(x_49); -x_60 = l_lean_parser_detail__ident__suffix_has__view; -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_48)) { - x_65 = lean::alloc_cnstr(1, 1, 0); -} else { - x_65 = x_48; -} -lean::cnstr_set(x_65, 0, x_64); -x_66 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_66, 0, x_9); -lean::cnstr_set(x_66, 1, x_65); -return x_66; -} -else -{ -obj* x_70; obj* x_71; -lean::dec(x_48); -lean::dec(x_49); -lean::dec(x_55); -x_70 = l_lean_parser_detail__ident_has__view_x_27___lambda__1___closed__1; -x_71 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_71, 0, x_9); -lean::cnstr_set(x_71, 1, x_70); -return x_71; -} -} -} } } } @@ -16181,153 +15873,9 @@ return x_1; obj* _init_l_lean_parser_number_has__view_x_27___lambda__1___closed__5() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; -x_3 = lean::box(3); -x_4 = lean::mk_nat_obj(0u); -x_0 = x_3; -x_1 = x_4; -goto lbl_2; -lbl_2: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; uint8 x_8; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_dec_eq(x_1, x_7); -if (x_8 == 0) -{ -obj* x_9; uint8 x_10; -x_9 = lean::mk_nat_obj(2u); -x_10 = lean::nat_dec_eq(x_1, x_9); -lean::dec(x_1); -if (x_10 == 0) -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_12; obj* x_15; obj* x_16; -x_12 = lean::cnstr_get(x_0, 0); -lean::inc(x_12); -lean::dec(x_0); -x_15 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_15, 0, x_12); -x_16 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_16, 0, x_15); -return x_16; -} -case 3: -{ -obj* x_17; -x_17 = l_lean_parser_number_has__view_x_27___lambda__1___closed__1; -return x_17; -} -default: -{ -obj* x_19; -lean::dec(x_0); -x_19 = l_lean_parser_number_has__view_x_27___lambda__1___closed__1; -return x_19; -} -} -} -else -{ -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_20; obj* x_23; obj* x_24; -x_20 = lean::cnstr_get(x_0, 0); -lean::inc(x_20); -lean::dec(x_0); -x_23 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_23, 0, x_20); -x_24 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_24, 0, x_23); -return x_24; -} -case 3: -{ -obj* x_25; -x_25 = l_lean_parser_number_has__view_x_27___lambda__1___closed__2; -return x_25; -} -default: -{ -obj* x_27; -lean::dec(x_0); -x_27 = l_lean_parser_number_has__view_x_27___lambda__1___closed__2; -return x_27; -} -} -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_29; obj* x_32; obj* x_33; -x_29 = lean::cnstr_get(x_0, 0); -lean::inc(x_29); -lean::dec(x_0); -x_32 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_32, 0, x_29); -x_33 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_33, 0, x_32); -return x_33; -} -case 3: -{ -obj* x_34; -x_34 = l_lean_parser_number_has__view_x_27___lambda__1___closed__3; -return x_34; -} -default: -{ -obj* x_36; -lean::dec(x_0); -x_36 = l_lean_parser_number_has__view_x_27___lambda__1___closed__3; -return x_36; -} -} -} -} -else -{ -lean::dec(x_1); -switch (lean::obj_tag(x_0)) { -case 0: -{ -obj* x_38; obj* x_41; obj* x_42; -x_38 = lean::cnstr_get(x_0, 0); -lean::inc(x_38); -lean::dec(x_0); -x_41 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_41, 0, x_38); -x_42 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_42, 0, x_41); -return x_42; -} -case 3: -{ -obj* x_43; -x_43 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; -return x_43; -} -default: -{ -obj* x_45; -lean::dec(x_0); -x_45 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; -return x_45; -} -} -} -} +obj* x_0; +x_0 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; +return x_0; } } obj* _init_l_lean_parser_number_has__view_x_27___lambda__1___closed__6() { @@ -16347,260 +15895,255 @@ return x_6; obj* l_lean_parser_number_has__view_x_27___lambda__1(obj* x_0) { _start: { -obj* x_1; obj* x_2; obj* x_4; -x_4 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_4) == 0) +obj* x_1; +x_1 = l_lean_parser_syntax_as__node___main(x_0); +if (lean::obj_tag(x_1) == 0) { -obj* x_5; -x_5 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_5; +obj* x_2; +x_2 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_2; } else { -obj* x_6; obj* x_9; obj* x_11; obj* x_14; uint8 x_15; -x_6 = lean::cnstr_get(x_4, 0); +obj* x_3; obj* x_6; obj* x_8; obj* x_11; uint8 x_12; +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); lean::inc(x_6); -lean::dec(x_4); -x_9 = lean::cnstr_get(x_6, 0); -lean::inc(x_9); -x_11 = lean::cnstr_get(x_6, 1); -lean::inc(x_11); +x_8 = lean::cnstr_get(x_3, 1); +lean::inc(x_8); +lean::dec(x_3); +x_11 = l_lean_parser_number_has__view_x_27___lambda__1___closed__6; +x_12 = lean_name_dec_eq(x_6, x_11); lean::dec(x_6); -x_14 = l_lean_parser_number_has__view_x_27___lambda__1___closed__6; -x_15 = lean_name_dec_eq(x_9, x_14); -lean::dec(x_9); -if (x_15 == 0) +if (x_12 == 0) { -obj* x_18; -lean::dec(x_11); -x_18 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_18; +obj* x_15; +lean::dec(x_8); +x_15 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_15; } else { -if (lean::obj_tag(x_11) == 0) +if (lean::obj_tag(x_8) == 0) { -obj* x_19; -x_19 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_19; +obj* x_16; +x_16 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_16; } else { -obj* x_20; -x_20 = lean::cnstr_get(x_11, 1); -lean::inc(x_20); -if (lean::obj_tag(x_20) == 0) +obj* x_17; +x_17 = lean::cnstr_get(x_8, 1); +lean::inc(x_17); +if (lean::obj_tag(x_17) == 0) { -obj* x_22; obj* x_25; -x_22 = lean::cnstr_get(x_11, 0); -lean::inc(x_22); -lean::dec(x_11); -x_25 = l_lean_parser_syntax_as__node___main(x_22); -if (lean::obj_tag(x_25) == 0) +obj* x_19; obj* x_22; +x_19 = lean::cnstr_get(x_8, 0); +lean::inc(x_19); +lean::dec(x_8); +x_22 = l_lean_parser_syntax_as__node___main(x_19); +if (lean::obj_tag(x_22) == 0) { -obj* x_26; -x_26 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_26; +obj* x_23; +x_23 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_23; } else { -obj* x_27; obj* x_30; -x_27 = lean::cnstr_get(x_25, 0); +obj* x_24; obj* x_26; obj* x_27; +x_24 = lean::cnstr_get(x_22, 0); +if (lean::is_exclusive(x_22)) { + lean::cnstr_set(x_22, 0, lean::box(0)); + x_26 = x_22; +} else { + lean::inc(x_24); + lean::dec(x_22); + x_26 = lean::box(0); +} +x_27 = lean::cnstr_get(x_24, 0); lean::inc(x_27); -lean::dec(x_25); -x_30 = lean::cnstr_get(x_27, 0); -lean::inc(x_30); -switch (lean::obj_tag(x_30)) { +switch (lean::obj_tag(x_27)) { case 0: { -obj* x_33; -lean::dec(x_27); -x_33 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_33; +obj* x_31; +lean::dec(x_26); +lean::dec(x_24); +x_31 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_31; } case 1: { -obj* x_36; +obj* x_35; +lean::dec(x_26); lean::dec(x_27); -lean::dec(x_30); -x_36 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_36; +lean::dec(x_24); +x_35 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_35; } default: { -obj* x_37; obj* x_40; obj* x_42; obj* x_45; uint8 x_46; -x_37 = lean::cnstr_get(x_27, 1); -lean::inc(x_37); +obj* x_36; obj* x_39; obj* x_41; obj* x_44; uint8 x_45; +x_36 = lean::cnstr_get(x_24, 1); +lean::inc(x_36); +lean::dec(x_24); +x_39 = lean::cnstr_get(x_27, 0); +lean::inc(x_39); +x_41 = lean::cnstr_get(x_27, 1); +lean::inc(x_41); lean::dec(x_27); -x_40 = lean::cnstr_get(x_30, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_30, 1); -lean::inc(x_42); -lean::dec(x_30); -x_45 = lean::box(0); -x_46 = lean_name_dec_eq(x_40, x_45); -lean::dec(x_40); -if (x_46 == 0) +x_44 = lean::box(0); +x_45 = lean_name_dec_eq(x_39, x_44); +lean::dec(x_39); +if (x_45 == 0) { obj* x_50; -lean::dec(x_42); -lean::dec(x_37); +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_36); x_50 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; return x_50; } else { -if (lean::obj_tag(x_37) == 0) -{ -obj* x_52; -lean::dec(x_42); -x_52 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_52; -} -else +if (lean::obj_tag(x_36) == 0) { obj* x_53; -x_53 = lean::cnstr_get(x_37, 1); -lean::inc(x_53); -if (lean::obj_tag(x_53) == 0) -{ -obj* x_55; -x_55 = lean::cnstr_get(x_37, 0); -lean::inc(x_55); -lean::dec(x_37); -x_1 = x_55; -x_2 = x_42; -goto lbl_3; +lean::dec(x_26); +lean::dec(x_41); +x_53 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_53; } else { -obj* x_61; -lean::dec(x_42); -lean::dec(x_53); -lean::dec(x_37); -x_61 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_61; -} -} -} -} -} -} -} -else +obj* x_54; +x_54 = lean::cnstr_get(x_36, 1); +lean::inc(x_54); +if (lean::obj_tag(x_54) == 0) { -obj* x_64; -lean::dec(x_11); -lean::dec(x_20); -x_64 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; -return x_64; -} -} -} -} -lbl_3: +obj* x_56; obj* x_59; uint8 x_60; +x_56 = lean::cnstr_get(x_36, 0); +lean::inc(x_56); +lean::dec(x_36); +x_59 = lean::mk_nat_obj(0u); +x_60 = lean::nat_dec_eq(x_41, x_59); +if (x_60 == 0) { -obj* x_65; uint8 x_66; -x_65 = lean::mk_nat_obj(0u); -x_66 = lean::nat_dec_eq(x_2, x_65); -if (x_66 == 0) +obj* x_61; uint8 x_62; +x_61 = lean::mk_nat_obj(1u); +x_62 = lean::nat_dec_eq(x_41, x_61); +if (x_62 == 0) { -obj* x_67; uint8 x_68; -x_67 = lean::mk_nat_obj(1u); -x_68 = lean::nat_dec_eq(x_2, x_67); -if (x_68 == 0) +obj* x_63; uint8 x_64; +x_63 = lean::mk_nat_obj(2u); +x_64 = lean::nat_dec_eq(x_41, x_63); +lean::dec(x_41); +if (x_64 == 0) { -obj* x_69; uint8 x_70; -x_69 = lean::mk_nat_obj(2u); -x_70 = lean::nat_dec_eq(x_2, x_69); -lean::dec(x_2); -if (x_70 == 0) -{ -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_72; obj* x_75; obj* x_76; -x_72 = lean::cnstr_get(x_1, 0); -lean::inc(x_72); -lean::dec(x_1); -x_75 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_75, 0, x_72); -x_76 = lean::alloc_cnstr(3, 1, 0); -lean::cnstr_set(x_76, 0, x_75); -return x_76; +obj* x_66; obj* x_69; obj* x_70; +x_66 = lean::cnstr_get(x_56, 0); +lean::inc(x_66); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_69 = lean::alloc_cnstr(1, 1, 0); +} else { + x_69 = x_26; +} +lean::cnstr_set(x_69, 0, x_66); +x_70 = lean::alloc_cnstr(3, 1, 0); +lean::cnstr_set(x_70, 0, x_69); +return x_70; } case 3: { -obj* x_77; -x_77 = l_lean_parser_number_has__view_x_27___lambda__1___closed__1; -return x_77; +obj* x_72; +lean::dec(x_26); +x_72 = l_lean_parser_number_has__view_x_27___lambda__1___closed__1; +return x_72; } default: { -obj* x_79; -lean::dec(x_1); -x_79 = l_lean_parser_number_has__view_x_27___lambda__1___closed__1; -return x_79; +obj* x_75; +lean::dec(x_56); +lean::dec(x_26); +x_75 = l_lean_parser_number_has__view_x_27___lambda__1___closed__1; +return x_75; } } } else { -switch (lean::obj_tag(x_1)) { +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_80; obj* x_83; obj* x_84; -x_80 = lean::cnstr_get(x_1, 0); -lean::inc(x_80); -lean::dec(x_1); -x_83 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_83, 0, x_80); -x_84 = lean::alloc_cnstr(2, 1, 0); -lean::cnstr_set(x_84, 0, x_83); -return x_84; +obj* x_76; obj* x_79; obj* x_80; +x_76 = lean::cnstr_get(x_56, 0); +lean::inc(x_76); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_79 = lean::alloc_cnstr(1, 1, 0); +} else { + x_79 = x_26; +} +lean::cnstr_set(x_79, 0, x_76); +x_80 = lean::alloc_cnstr(2, 1, 0); +lean::cnstr_set(x_80, 0, x_79); +return x_80; } case 3: { +obj* x_82; +lean::dec(x_26); +x_82 = l_lean_parser_number_has__view_x_27___lambda__1___closed__2; +return x_82; +} +default: +{ obj* x_85; +lean::dec(x_56); +lean::dec(x_26); x_85 = l_lean_parser_number_has__view_x_27___lambda__1___closed__2; return x_85; } -default: -{ -obj* x_87; -lean::dec(x_1); -x_87 = l_lean_parser_number_has__view_x_27___lambda__1___closed__2; -return x_87; -} } } } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { -obj* x_89; obj* x_92; obj* x_93; -x_89 = lean::cnstr_get(x_1, 0); -lean::inc(x_89); -lean::dec(x_1); -x_92 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_92, 0, x_89); -x_93 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_93, 0, x_92); -return x_93; +obj* x_87; obj* x_90; obj* x_91; +x_87 = lean::cnstr_get(x_56, 0); +lean::inc(x_87); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_90 = lean::alloc_cnstr(1, 1, 0); +} else { + x_90 = x_26; +} +lean::cnstr_set(x_90, 0, x_87); +x_91 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_91, 0, x_90); +return x_91; } case 3: { -obj* x_94; -x_94 = l_lean_parser_number_has__view_x_27___lambda__1___closed__3; -return x_94; +obj* x_93; +lean::dec(x_26); +x_93 = l_lean_parser_number_has__view_x_27___lambda__1___closed__3; +return x_93; } default: { obj* x_96; -lean::dec(x_1); +lean::dec(x_56); +lean::dec(x_26); x_96 = l_lean_parser_number_has__view_x_27___lambda__1___closed__3; return x_96; } @@ -16609,15 +16152,19 @@ return x_96; } else { -lean::dec(x_2); -switch (lean::obj_tag(x_1)) { +lean::dec(x_41); +switch (lean::obj_tag(x_56)) { case 0: { obj* x_98; obj* x_101; obj* x_102; -x_98 = lean::cnstr_get(x_1, 0); +x_98 = lean::cnstr_get(x_56, 0); lean::inc(x_98); -lean::dec(x_1); -x_101 = lean::alloc_cnstr(1, 1, 0); +lean::dec(x_56); +if (lean::is_scalar(x_26)) { + x_101 = lean::alloc_cnstr(1, 1, 0); +} else { + x_101 = x_26; +} lean::cnstr_set(x_101, 0, x_98); x_102 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_102, 0, x_101); @@ -16625,16 +16172,45 @@ return x_102; } case 3: { -obj* x_103; -x_103 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; -return x_103; +obj* x_104; +lean::dec(x_26); +x_104 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; +return x_104; } default: { -obj* x_105; -lean::dec(x_1); -x_105 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; -return x_105; +obj* x_107; +lean::dec(x_56); +lean::dec(x_26); +x_107 = l_lean_parser_number_has__view_x_27___lambda__1___closed__4; +return x_107; +} +} +} +} +else +{ +obj* x_112; +lean::dec(x_26); +lean::dec(x_41); +lean::dec(x_54); +lean::dec(x_36); +x_112 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_112; +} +} +} +} +} +} +} +else +{ +obj* x_115; +lean::dec(x_8); +lean::dec(x_17); +x_115 = l_lean_parser_number_has__view_x_27___lambda__1___closed__5; +return x_115; } } } @@ -19208,357 +18784,292 @@ goto lbl_49; } else { -uint32 x_63; uint32 x_64; uint8 x_65; uint8 x_67; +uint32 x_63; uint32 x_64; uint8 x_65; x_63 = l_string_iterator_curr___main(x_1); x_64 = 97; -x_67 = x_64 <= x_63; -if (x_67 == 0) -{ -obj* x_68; obj* x_69; obj* x_70; obj* x_72; obj* x_73; obj* x_74; obj* x_75; obj* x_76; obj* x_78; obj* x_81; obj* x_82; -x_68 = l_char_quote__core(x_63); -x_69 = l_char_has__repr___closed__1; -x_70 = lean::string_append(x_69, x_68); -lean::dec(x_68); -x_72 = lean::string_append(x_70, x_69); -x_73 = lean::box(0); -x_74 = l_mjoin___rarg___closed__1; -x_75 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_72, x_74, x_73, x_73, x_0, x_1, x_4); -x_76 = lean::cnstr_get(x_75, 0); -lean::inc(x_76); -x_78 = lean::cnstr_get(x_75, 1); -lean::inc(x_78); -lean::dec(x_75); -x_81 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_82 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_81, x_76); -x_47 = x_82; -x_48 = x_78; -goto lbl_49; -} -else -{ -uint8 x_83; -x_83 = 1; -x_65 = x_83; -goto lbl_66; -} -lbl_66: -{ -uint32 x_84; uint8 x_85; -x_84 = 102; -x_85 = x_63 <= x_84; -if (x_85 == 0) -{ -obj* x_86; obj* x_87; obj* x_88; obj* x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_94; obj* x_96; obj* x_99; obj* x_100; -x_86 = l_char_quote__core(x_63); -x_87 = l_char_has__repr___closed__1; -x_88 = lean::string_append(x_87, x_86); -lean::dec(x_86); -x_90 = lean::string_append(x_88, x_87); -x_91 = lean::box(0); -x_92 = l_mjoin___rarg___closed__1; -x_93 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_90, x_92, x_91, x_91, x_0, x_1, x_4); -x_94 = lean::cnstr_get(x_93, 0); -lean::inc(x_94); -x_96 = lean::cnstr_get(x_93, 1); -lean::inc(x_96); -lean::dec(x_93); -x_99 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_100 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_99, x_94); -x_47 = x_100; -x_48 = x_96; -goto lbl_49; -} -else -{ +x_65 = x_64 <= x_63; if (x_65 == 0) { -obj* x_101; obj* x_102; obj* x_103; obj* x_105; obj* x_106; obj* x_107; obj* x_108; obj* x_109; obj* x_111; obj* x_114; obj* x_115; -x_101 = l_char_quote__core(x_63); -x_102 = l_char_has__repr___closed__1; -x_103 = lean::string_append(x_102, x_101); -lean::dec(x_101); -x_105 = lean::string_append(x_103, x_102); -x_106 = lean::box(0); -x_107 = l_mjoin___rarg___closed__1; -x_108 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_105, x_107, x_106, x_106, x_0, x_1, x_4); -x_109 = lean::cnstr_get(x_108, 0); -lean::inc(x_109); -x_111 = lean::cnstr_get(x_108, 1); -lean::inc(x_111); -lean::dec(x_108); -x_114 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_115 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_114, x_109); -x_47 = x_115; -x_48 = x_111; +obj* x_66; obj* x_67; obj* x_68; obj* x_70; obj* x_71; obj* x_72; obj* x_73; obj* x_74; obj* x_76; obj* x_79; obj* x_80; +x_66 = l_char_quote__core(x_63); +x_67 = l_char_has__repr___closed__1; +x_68 = lean::string_append(x_67, x_66); +lean::dec(x_66); +x_70 = lean::string_append(x_68, x_67); +x_71 = lean::box(0); +x_72 = l_mjoin___rarg___closed__1; +x_73 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_70, x_72, x_71, x_71, x_0, x_1, x_4); +x_74 = lean::cnstr_get(x_73, 0); +lean::inc(x_74); +x_76 = lean::cnstr_get(x_73, 1); +lean::inc(x_76); +lean::dec(x_73); +x_79 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_80 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_79, x_74); +x_47 = x_80; +x_48 = x_76; goto lbl_49; } else { -obj* x_117; obj* x_118; obj* x_119; obj* x_120; +uint32 x_81; uint8 x_82; +x_81 = 102; +x_82 = x_63 <= x_81; +if (x_82 == 0) +{ +obj* x_83; obj* x_84; obj* x_85; obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_93; obj* x_96; obj* x_97; +x_83 = l_char_quote__core(x_63); +x_84 = l_char_has__repr___closed__1; +x_85 = lean::string_append(x_84, x_83); +lean::dec(x_83); +x_87 = lean::string_append(x_85, x_84); +x_88 = lean::box(0); +x_89 = l_mjoin___rarg___closed__1; +x_90 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_87, x_89, x_88, x_88, x_0, x_1, x_4); +x_91 = lean::cnstr_get(x_90, 0); +lean::inc(x_91); +x_93 = lean::cnstr_get(x_90, 1); +lean::inc(x_93); +lean::dec(x_90); +x_96 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_97 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_96, x_91); +x_47 = x_97; +x_48 = x_93; +goto lbl_49; +} +else +{ +obj* x_99; obj* x_100; obj* x_101; obj* x_102; lean::inc(x_1); -x_117 = l_string_iterator_next___main(x_1); -x_118 = lean::box(0); -x_119 = lean::box_uint32(x_63); -x_120 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_120, 0, x_119); -lean::cnstr_set(x_120, 1, x_117); -lean::cnstr_set(x_120, 2, x_118); -x_47 = x_120; +x_99 = l_string_iterator_next___main(x_1); +x_100 = lean::box(0); +x_101 = lean::box_uint32(x_63); +x_102 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_102, 0, x_101); +lean::cnstr_set(x_102, 1, x_99); +lean::cnstr_set(x_102, 2, x_100); +x_47 = x_102; x_48 = x_4; goto lbl_49; } } } } -} else { -obj* x_123; obj* x_124; obj* x_125; +obj* x_105; obj* x_106; obj* x_107; lean::dec(x_1); lean::dec(x_41); -x_123 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_124 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_3, x_123); -x_125 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_125, 0, x_124); -lean::cnstr_set(x_125, 1, x_4); -return x_125; +x_105 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_106 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_3, x_105); +x_107 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_107, 0, x_106); +lean::cnstr_set(x_107, 1, x_4); +return x_107; } lbl_46: { if (lean::obj_tag(x_44) == 0) { -obj* x_127; obj* x_128; obj* x_129; obj* x_130; +obj* x_109; obj* x_110; obj* x_111; obj* x_112; lean::dec(x_1); -x_127 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_44); -x_128 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_129 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_127, x_128); -x_130 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_130, 0, x_129); -lean::cnstr_set(x_130, 1, x_45); -return x_130; +x_109 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_44); +x_110 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_111 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_109, x_110); +x_112 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_112, 0, x_111); +lean::cnstr_set(x_112, 1, x_45); +return x_112; } else { -obj* x_131; uint8 x_133; obj* x_134; obj* x_135; -x_131 = lean::cnstr_get(x_44, 0); -lean::inc(x_131); -x_133 = lean::cnstr_get_scalar(x_44, sizeof(void*)*1); -if (x_133 == 0) +obj* x_113; uint8 x_115; obj* x_116; obj* x_117; +x_113 = lean::cnstr_get(x_44, 0); +lean::inc(x_113); +x_115 = lean::cnstr_get_scalar(x_44, sizeof(void*)*1); +if (x_115 == 0) { -uint8 x_138; +uint8 x_120; lean::dec(x_44); -x_138 = l_string_iterator_has__next___main(x_1); -if (x_138 == 0) +x_120 = l_string_iterator_has__next___main(x_1); +if (x_120 == 0) { -obj* x_139; obj* x_140; obj* x_141; obj* x_142; obj* x_144; obj* x_146; obj* x_149; obj* x_150; -x_139 = lean::box(0); -x_140 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; -x_141 = l_mjoin___rarg___closed__1; -x_142 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_140, x_141, x_139, x_139, x_0, x_1, x_45); +obj* x_121; obj* x_122; obj* x_123; obj* x_124; obj* x_126; obj* x_128; obj* x_131; obj* x_132; +x_121 = lean::box(0); +x_122 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; +x_123 = l_mjoin___rarg___closed__1; +x_124 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_122, x_123, x_121, x_121, x_0, x_1, x_45); lean::dec(x_1); -x_144 = lean::cnstr_get(x_142, 0); -lean::inc(x_144); -x_146 = lean::cnstr_get(x_142, 1); -lean::inc(x_146); -lean::dec(x_142); -x_149 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_150 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_149, x_144); -x_134 = x_150; -x_135 = x_146; -goto lbl_136; +x_126 = lean::cnstr_get(x_124, 0); +lean::inc(x_126); +x_128 = lean::cnstr_get(x_124, 1); +lean::inc(x_128); +lean::dec(x_124); +x_131 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_132 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_131, x_126); +x_116 = x_132; +x_117 = x_128; +goto lbl_118; } else { -uint32 x_151; uint32 x_152; uint8 x_153; uint8 x_155; -x_151 = l_string_iterator_curr___main(x_1); -x_152 = 65; -x_155 = x_152 <= x_151; -if (x_155 == 0) +uint32 x_133; uint32 x_134; uint8 x_135; +x_133 = l_string_iterator_curr___main(x_1); +x_134 = 65; +x_135 = x_134 <= x_133; +if (x_135 == 0) { -obj* x_156; obj* x_157; obj* x_158; obj* x_160; obj* x_161; obj* x_162; obj* x_163; obj* x_165; obj* x_167; obj* x_170; obj* x_171; -x_156 = l_char_quote__core(x_151); -x_157 = l_char_has__repr___closed__1; -x_158 = lean::string_append(x_157, x_156); -lean::dec(x_156); -x_160 = lean::string_append(x_158, x_157); -x_161 = lean::box(0); -x_162 = l_mjoin___rarg___closed__1; -x_163 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_160, x_162, x_161, x_161, x_0, x_1, x_45); +obj* x_136; obj* x_137; obj* x_138; obj* x_140; obj* x_141; obj* x_142; obj* x_143; obj* x_145; obj* x_147; obj* x_150; obj* x_151; +x_136 = l_char_quote__core(x_133); +x_137 = l_char_has__repr___closed__1; +x_138 = lean::string_append(x_137, x_136); +lean::dec(x_136); +x_140 = lean::string_append(x_138, x_137); +x_141 = lean::box(0); +x_142 = l_mjoin___rarg___closed__1; +x_143 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_140, x_142, x_141, x_141, x_0, x_1, x_45); lean::dec(x_1); -x_165 = lean::cnstr_get(x_163, 0); -lean::inc(x_165); -x_167 = lean::cnstr_get(x_163, 1); -lean::inc(x_167); -lean::dec(x_163); -x_170 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_171 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_170, x_165); -x_134 = x_171; -x_135 = x_167; -goto lbl_136; -} -else -{ -uint8 x_172; -x_172 = 1; -x_153 = x_172; -goto lbl_154; -} -lbl_154: -{ -uint32 x_173; uint8 x_174; -x_173 = 70; -x_174 = x_151 <= x_173; -if (x_174 == 0) -{ -obj* x_175; obj* x_176; obj* x_177; obj* x_179; obj* x_180; obj* x_181; obj* x_182; obj* x_184; obj* x_186; obj* x_189; obj* x_190; -x_175 = l_char_quote__core(x_151); -x_176 = l_char_has__repr___closed__1; -x_177 = lean::string_append(x_176, x_175); -lean::dec(x_175); -x_179 = lean::string_append(x_177, x_176); -x_180 = lean::box(0); -x_181 = l_mjoin___rarg___closed__1; -x_182 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_179, x_181, x_180, x_180, x_0, x_1, x_45); -lean::dec(x_1); -x_184 = lean::cnstr_get(x_182, 0); -lean::inc(x_184); -x_186 = lean::cnstr_get(x_182, 1); -lean::inc(x_186); -lean::dec(x_182); -x_189 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_190 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_189, x_184); -x_134 = x_190; -x_135 = x_186; -goto lbl_136; +x_145 = lean::cnstr_get(x_143, 0); +lean::inc(x_145); +x_147 = lean::cnstr_get(x_143, 1); +lean::inc(x_147); +lean::dec(x_143); +x_150 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_151 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_150, x_145); +x_116 = x_151; +x_117 = x_147; +goto lbl_118; } else { +uint32 x_152; uint8 x_153; +x_152 = 70; +x_153 = x_133 <= x_152; if (x_153 == 0) { -obj* x_191; obj* x_192; obj* x_193; obj* x_195; obj* x_196; obj* x_197; obj* x_198; obj* x_200; obj* x_202; obj* x_205; obj* x_206; -x_191 = l_char_quote__core(x_151); -x_192 = l_char_has__repr___closed__1; -x_193 = lean::string_append(x_192, x_191); -lean::dec(x_191); -x_195 = lean::string_append(x_193, x_192); -x_196 = lean::box(0); -x_197 = l_mjoin___rarg___closed__1; -x_198 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_195, x_197, x_196, x_196, x_0, x_1, x_45); +obj* x_154; obj* x_155; obj* x_156; obj* x_158; obj* x_159; obj* x_160; obj* x_161; obj* x_163; obj* x_165; obj* x_168; obj* x_169; +x_154 = l_char_quote__core(x_133); +x_155 = l_char_has__repr___closed__1; +x_156 = lean::string_append(x_155, x_154); +lean::dec(x_154); +x_158 = lean::string_append(x_156, x_155); +x_159 = lean::box(0); +x_160 = l_mjoin___rarg___closed__1; +x_161 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(x_158, x_160, x_159, x_159, x_0, x_1, x_45); lean::dec(x_1); -x_200 = lean::cnstr_get(x_198, 0); -lean::inc(x_200); -x_202 = lean::cnstr_get(x_198, 1); -lean::inc(x_202); -lean::dec(x_198); -x_205 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_206 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_205, x_200); -x_134 = x_206; -x_135 = x_202; -goto lbl_136; +x_163 = lean::cnstr_get(x_161, 0); +lean::inc(x_163); +x_165 = lean::cnstr_get(x_161, 1); +lean::inc(x_165); +lean::dec(x_161); +x_168 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_169 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_168, x_163); +x_116 = x_169; +x_117 = x_165; +goto lbl_118; } else { -obj* x_207; obj* x_208; obj* x_209; obj* x_210; -x_207 = l_string_iterator_next___main(x_1); -x_208 = lean::box(0); -x_209 = lean::box_uint32(x_151); -x_210 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_210, 0, x_209); -lean::cnstr_set(x_210, 1, x_207); -lean::cnstr_set(x_210, 2, x_208); -x_134 = x_210; -x_135 = x_45; -goto lbl_136; -} +obj* x_170; obj* x_171; obj* x_172; obj* x_173; +x_170 = l_string_iterator_next___main(x_1); +x_171 = lean::box(0); +x_172 = lean::box_uint32(x_133); +x_173 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_173, 0, x_172); +lean::cnstr_set(x_173, 1, x_170); +lean::cnstr_set(x_173, 2, x_171); +x_116 = x_173; +x_117 = x_45; +goto lbl_118; } } } } else { -obj* x_213; obj* x_214; obj* x_215; obj* x_216; -lean::dec(x_131); +obj* x_176; obj* x_177; obj* x_178; obj* x_179; +lean::dec(x_113); lean::dec(x_1); -x_213 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_44); -x_214 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_215 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_213, x_214); -x_216 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_216, 0, x_215); -lean::cnstr_set(x_216, 1, x_45); -return x_216; +x_176 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_44); +x_177 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_178 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_176, x_177); +x_179 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_179, 0, x_178); +lean::cnstr_set(x_179, 1, x_45); +return x_179; } -lbl_136: +lbl_118: { -if (lean::obj_tag(x_134) == 0) +if (lean::obj_tag(x_116) == 0) { -obj* x_217; obj* x_219; obj* x_221; obj* x_223; uint32 x_224; obj* x_225; obj* x_226; obj* x_227; obj* x_229; obj* x_230; obj* x_232; obj* x_233; obj* x_234; obj* x_235; obj* x_236; obj* x_237; obj* x_238; obj* x_239; -x_217 = lean::cnstr_get(x_134, 0); -x_219 = lean::cnstr_get(x_134, 1); -x_221 = lean::cnstr_get(x_134, 2); -if (lean::is_exclusive(x_134)) { - x_223 = x_134; +obj* x_180; obj* x_182; obj* x_184; obj* x_186; uint32 x_187; obj* x_188; obj* x_189; obj* x_190; obj* x_192; obj* x_193; obj* x_195; obj* x_196; obj* x_197; obj* x_198; obj* x_199; obj* x_200; obj* x_201; obj* x_202; +x_180 = lean::cnstr_get(x_116, 0); +x_182 = lean::cnstr_get(x_116, 1); +x_184 = lean::cnstr_get(x_116, 2); +if (lean::is_exclusive(x_116)) { + x_186 = x_116; } else { - lean::inc(x_217); - lean::inc(x_219); - lean::inc(x_221); - lean::dec(x_134); - x_223 = lean::box(0); + lean::inc(x_180); + lean::inc(x_182); + lean::inc(x_184); + lean::dec(x_116); + x_186 = lean::box(0); } -x_224 = lean::unbox_uint32(x_217); -x_225 = lean::uint32_to_nat(x_224); -x_226 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; -x_227 = lean::nat_sub(x_225, x_226); -lean::dec(x_225); -x_229 = lean::mk_nat_obj(10u); -x_230 = lean::nat_add(x_229, x_227); -lean::dec(x_227); -x_232 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_223)) { - x_233 = lean::alloc_cnstr(0, 3, 0); +x_187 = lean::unbox_uint32(x_180); +x_188 = lean::uint32_to_nat(x_187); +x_189 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; +x_190 = lean::nat_sub(x_188, x_189); +lean::dec(x_188); +x_192 = lean::mk_nat_obj(10u); +x_193 = lean::nat_add(x_192, x_190); +lean::dec(x_190); +x_195 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_186)) { + x_196 = lean::alloc_cnstr(0, 3, 0); } else { - x_233 = x_223; + x_196 = x_186; } -lean::cnstr_set(x_233, 0, x_230); -lean::cnstr_set(x_233, 1, x_219); -lean::cnstr_set(x_233, 2, x_232); -x_234 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_221, x_233); -x_235 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_131, x_234); -x_236 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_235); -x_237 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_238 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_236, x_237); -x_239 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_239, 0, x_238); -lean::cnstr_set(x_239, 1, x_135); -return x_239; +lean::cnstr_set(x_196, 0, x_193); +lean::cnstr_set(x_196, 1, x_182); +lean::cnstr_set(x_196, 2, x_195); +x_197 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_184, x_196); +x_198 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_113, x_197); +x_199 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_198); +x_200 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_201 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_199, x_200); +x_202 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_202, 0, x_201); +lean::cnstr_set(x_202, 1, x_117); +return x_202; } else { -obj* x_240; uint8 x_242; obj* x_243; obj* x_244; obj* x_245; obj* x_246; obj* x_247; obj* x_248; obj* x_249; obj* x_250; -x_240 = lean::cnstr_get(x_134, 0); -x_242 = lean::cnstr_get_scalar(x_134, sizeof(void*)*1); -if (lean::is_exclusive(x_134)) { - x_243 = x_134; +obj* x_203; uint8 x_205; obj* x_206; obj* x_207; obj* x_208; obj* x_209; obj* x_210; obj* x_211; obj* x_212; obj* x_213; +x_203 = lean::cnstr_get(x_116, 0); +x_205 = lean::cnstr_get_scalar(x_116, sizeof(void*)*1); +if (lean::is_exclusive(x_116)) { + x_206 = x_116; } else { - lean::inc(x_240); - lean::dec(x_134); - x_243 = lean::box(0); + lean::inc(x_203); + lean::dec(x_116); + x_206 = lean::box(0); } -if (lean::is_scalar(x_243)) { - x_244 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_206)) { + x_207 = lean::alloc_cnstr(1, 1, 1); } else { - x_244 = x_243; + x_207 = x_206; } -lean::cnstr_set(x_244, 0, x_240); -lean::cnstr_set_scalar(x_244, sizeof(void*)*1, x_242); -x_245 = x_244; -x_246 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_131, x_245); -x_247 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_246); -x_248 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_249 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_247, x_248); -x_250 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_250, 0, x_249); -lean::cnstr_set(x_250, 1, x_135); -return x_250; +lean::cnstr_set(x_207, 0, x_203); +lean::cnstr_set_scalar(x_207, sizeof(void*)*1, x_205); +x_208 = x_207; +x_209 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_113, x_208); +x_210 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_41, x_209); +x_211 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_212 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_210, x_211); +x_213 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_213, 0, x_212); +lean::cnstr_set(x_213, 1, x_117); +return x_213; } } } @@ -19567,62 +19078,62 @@ lbl_49: { if (lean::obj_tag(x_47) == 0) { -obj* x_251; obj* x_253; obj* x_255; obj* x_257; uint32 x_258; obj* x_259; obj* x_260; obj* x_261; obj* x_263; obj* x_264; obj* x_266; obj* x_267; obj* x_268; -x_251 = lean::cnstr_get(x_47, 0); -x_253 = lean::cnstr_get(x_47, 1); -x_255 = lean::cnstr_get(x_47, 2); +obj* x_214; obj* x_216; obj* x_218; obj* x_220; uint32 x_221; obj* x_222; obj* x_223; obj* x_224; obj* x_226; obj* x_227; obj* x_229; obj* x_230; obj* x_231; +x_214 = lean::cnstr_get(x_47, 0); +x_216 = lean::cnstr_get(x_47, 1); +x_218 = lean::cnstr_get(x_47, 2); if (lean::is_exclusive(x_47)) { - x_257 = x_47; + x_220 = x_47; } else { - lean::inc(x_251); - lean::inc(x_253); - lean::inc(x_255); + lean::inc(x_214); + lean::inc(x_216); + lean::inc(x_218); lean::dec(x_47); - x_257 = lean::box(0); + x_220 = lean::box(0); } -x_258 = lean::unbox_uint32(x_251); -x_259 = lean::uint32_to_nat(x_258); -x_260 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; -x_261 = lean::nat_sub(x_259, x_260); -lean::dec(x_259); -x_263 = lean::mk_nat_obj(10u); -x_264 = lean::nat_add(x_263, x_261); -lean::dec(x_261); -x_266 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_257)) { - x_267 = lean::alloc_cnstr(0, 3, 0); +x_221 = lean::unbox_uint32(x_214); +x_222 = lean::uint32_to_nat(x_221); +x_223 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; +x_224 = lean::nat_sub(x_222, x_223); +lean::dec(x_222); +x_226 = lean::mk_nat_obj(10u); +x_227 = lean::nat_add(x_226, x_224); +lean::dec(x_224); +x_229 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_220)) { + x_230 = lean::alloc_cnstr(0, 3, 0); } else { - x_267 = x_257; + x_230 = x_220; } -lean::cnstr_set(x_267, 0, x_264); -lean::cnstr_set(x_267, 1, x_253); -lean::cnstr_set(x_267, 2, x_266); -x_268 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_255, x_267); -x_44 = x_268; +lean::cnstr_set(x_230, 0, x_227); +lean::cnstr_set(x_230, 1, x_216); +lean::cnstr_set(x_230, 2, x_229); +x_231 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_218, x_230); +x_44 = x_231; x_45 = x_48; goto lbl_46; } else { -obj* x_269; uint8 x_271; obj* x_272; obj* x_273; obj* x_274; -x_269 = lean::cnstr_get(x_47, 0); -x_271 = lean::cnstr_get_scalar(x_47, sizeof(void*)*1); +obj* x_232; uint8 x_234; obj* x_235; obj* x_236; obj* x_237; +x_232 = lean::cnstr_get(x_47, 0); +x_234 = lean::cnstr_get_scalar(x_47, sizeof(void*)*1); if (lean::is_exclusive(x_47)) { - x_272 = x_47; + x_235 = x_47; } else { - lean::inc(x_269); + lean::inc(x_232); lean::dec(x_47); - x_272 = lean::box(0); + x_235 = lean::box(0); } -if (lean::is_scalar(x_272)) { - x_273 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_235)) { + x_236 = lean::alloc_cnstr(1, 1, 1); } else { - x_273 = x_272; + x_236 = x_235; } -lean::cnstr_set(x_273, 0, x_269); -lean::cnstr_set_scalar(x_273, sizeof(void*)*1, x_271); -x_274 = x_273; -x_44 = x_274; +lean::cnstr_set(x_236, 0, x_232); +lean::cnstr_set_scalar(x_236, sizeof(void*)*1, x_234); +x_237 = x_236; +x_44 = x_237; x_45 = x_48; goto lbl_46; } @@ -19641,7 +19152,7 @@ x_5 = lean::cnstr_get(x_4, 0); lean::inc(x_5); if (lean::obj_tag(x_5) == 0) { -obj* x_7; obj* x_9; obj* x_10; obj* x_12; obj* x_14; obj* x_16; obj* x_17; obj* x_19; obj* x_21; uint32 x_23; uint32 x_24; uint8 x_25; +obj* x_7; obj* x_9; obj* x_10; obj* x_12; obj* x_14; obj* x_16; uint32 x_17; uint32 x_18; uint8 x_19; x_7 = lean::cnstr_get(x_4, 1); if (lean::is_exclusive(x_4)) { lean::cnstr_release(x_4, 0); @@ -19667,566 +19178,597 @@ if (lean::is_exclusive(x_5)) { lean::dec(x_5); x_16 = lean::box(0); } -x_23 = 92; -x_24 = lean::unbox_uint32(x_10); -x_25 = x_24 == x_23; +x_17 = 92; +x_18 = lean::unbox_uint32(x_10); +x_19 = x_18 == x_17; +if (x_19 == 0) +{ +uint32 x_20; uint8 x_21; +x_20 = 34; +x_21 = x_18 == x_20; +if (x_21 == 0) +{ +uint32 x_22; uint8 x_23; +x_22 = 39; +x_23 = x_18 == x_22; +if (x_23 == 0) +{ +uint32 x_24; uint8 x_25; +x_24 = 110; +x_25 = x_18 == x_24; if (x_25 == 0) { -obj* x_26; -x_26 = lean::box(0); -x_21 = x_26; -goto lbl_22; -} -else +uint32 x_26; uint8 x_27; +x_26 = 116; +x_27 = x_18 == x_26; +if (x_27 == 0) { -obj* x_30; obj* x_31; obj* x_32; obj* x_33; obj* x_34; obj* x_35; +uint32 x_30; uint8 x_31; lean::dec(x_16); lean::dec(x_9); -lean::dec(x_1); -x_30 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_31 = lean::box_uint32(x_23); -x_32 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_32, 0, x_31); -lean::cnstr_set(x_32, 1, x_12); -lean::cnstr_set(x_32, 2, x_30); -x_33 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_32); -x_34 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_30, x_33); -x_35 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_35, 0, x_34); -lean::cnstr_set(x_35, 1, x_7); -return x_35; -} -lbl_18: +x_30 = 120; +x_31 = x_18 == x_30; +if (x_31 == 0) { -uint32 x_37; uint32 x_38; uint8 x_39; -lean::dec(x_17); -x_37 = 117; -x_38 = lean::unbox_uint32(x_10); -x_39 = x_38 == x_37; -if (x_39 == 0) +uint32 x_32; uint8 x_33; +x_32 = 117; +x_33 = x_18 == x_32; +if (x_33 == 0) { -obj* x_40; obj* x_41; obj* x_43; obj* x_45; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51; -x_40 = l_lean_parser_parse__quoted__char___rarg___lambda__7___closed__1; -x_41 = l_lean_parser_monad__parsec_unexpected__at___at_lean_parser_string__lit_x_27___spec__4___rarg(x_40, x_1, x_0, x_12, x_7); +obj* x_34; obj* x_35; obj* x_37; obj* x_39; obj* x_41; obj* x_42; obj* x_43; obj* x_44; obj* x_45; +x_34 = l_lean_parser_parse__quoted__char___rarg___lambda__7___closed__1; +x_35 = l_lean_parser_monad__parsec_unexpected__at___at_lean_parser_string__lit_x_27___spec__4___rarg(x_34, x_1, x_0, x_12, x_7); lean::dec(x_12); -x_43 = lean::cnstr_get(x_41, 0); -x_45 = lean::cnstr_get(x_41, 1); -if (lean::is_exclusive(x_41)) { - x_47 = x_41; +x_37 = lean::cnstr_get(x_35, 0); +x_39 = lean::cnstr_get(x_35, 1); +if (lean::is_exclusive(x_35)) { + x_41 = x_35; } else { - lean::inc(x_43); - lean::inc(x_45); - lean::dec(x_41); - x_47 = lean::box(0); + lean::inc(x_37); + lean::inc(x_39); + lean::dec(x_35); + x_41 = lean::box(0); } -x_48 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_43); -x_49 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_50 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_49, x_48); -if (lean::is_scalar(x_47)) { - x_51 = lean::alloc_cnstr(0, 2, 0); +x_42 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_37); +x_43 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_44 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_43, x_42); +if (lean::is_scalar(x_41)) { + x_45 = lean::alloc_cnstr(0, 2, 0); } else { - x_51 = x_47; + x_45 = x_41; } -lean::cnstr_set(x_51, 0, x_50); -lean::cnstr_set(x_51, 1, x_45); -return x_51; +lean::cnstr_set(x_45, 0, x_44); +lean::cnstr_set(x_45, 1, x_39); +return x_45; } else { -obj* x_53; obj* x_54; +obj* x_47; obj* x_48; lean::dec(x_1); -x_53 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_12, x_7); -x_54 = lean::cnstr_get(x_53, 0); -lean::inc(x_54); -if (lean::obj_tag(x_54) == 0) +x_47 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_12, x_7); +x_48 = lean::cnstr_get(x_47, 0); +lean::inc(x_48); +if (lean::obj_tag(x_48) == 0) { -obj* x_56; obj* x_59; obj* x_61; obj* x_63; obj* x_66; obj* x_67; -x_56 = lean::cnstr_get(x_53, 1); -lean::inc(x_56); -lean::dec(x_53); -x_59 = lean::cnstr_get(x_54, 0); -lean::inc(x_59); -x_61 = lean::cnstr_get(x_54, 1); +obj* x_50; obj* x_53; obj* x_55; obj* x_57; obj* x_60; obj* x_61; +x_50 = lean::cnstr_get(x_47, 1); +lean::inc(x_50); +lean::dec(x_47); +x_53 = lean::cnstr_get(x_48, 0); +lean::inc(x_53); +x_55 = lean::cnstr_get(x_48, 1); +lean::inc(x_55); +x_57 = lean::cnstr_get(x_48, 2); +lean::inc(x_57); +lean::dec(x_48); +x_60 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_55, x_50); +x_61 = lean::cnstr_get(x_60, 0); lean::inc(x_61); -x_63 = lean::cnstr_get(x_54, 2); +if (lean::obj_tag(x_61) == 0) +{ +obj* x_63; obj* x_66; obj* x_68; obj* x_70; obj* x_73; obj* x_74; +x_63 = lean::cnstr_get(x_60, 1); lean::inc(x_63); -lean::dec(x_54); -x_66 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_61, x_56); -x_67 = lean::cnstr_get(x_66, 0); -lean::inc(x_67); -if (lean::obj_tag(x_67) == 0) -{ -obj* x_69; obj* x_72; obj* x_74; obj* x_76; obj* x_79; obj* x_80; -x_69 = lean::cnstr_get(x_66, 1); -lean::inc(x_69); -lean::dec(x_66); -x_72 = lean::cnstr_get(x_67, 0); -lean::inc(x_72); -x_74 = lean::cnstr_get(x_67, 1); +lean::dec(x_60); +x_66 = lean::cnstr_get(x_61, 0); +lean::inc(x_66); +x_68 = lean::cnstr_get(x_61, 1); +lean::inc(x_68); +x_70 = lean::cnstr_get(x_61, 2); +lean::inc(x_70); +lean::dec(x_61); +x_73 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_68, x_63); +x_74 = lean::cnstr_get(x_73, 0); lean::inc(x_74); -x_76 = lean::cnstr_get(x_67, 2); +if (lean::obj_tag(x_74) == 0) +{ +obj* x_76; obj* x_79; obj* x_81; obj* x_83; obj* x_86; obj* x_87; +x_76 = lean::cnstr_get(x_73, 1); lean::inc(x_76); -lean::dec(x_67); -x_79 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_74, x_69); -x_80 = lean::cnstr_get(x_79, 0); -lean::inc(x_80); -if (lean::obj_tag(x_80) == 0) -{ -obj* x_82; obj* x_85; obj* x_87; obj* x_89; obj* x_92; obj* x_93; -x_82 = lean::cnstr_get(x_79, 1); -lean::inc(x_82); -lean::dec(x_79); -x_85 = lean::cnstr_get(x_80, 0); -lean::inc(x_85); -x_87 = lean::cnstr_get(x_80, 1); +lean::dec(x_73); +x_79 = lean::cnstr_get(x_74, 0); +lean::inc(x_79); +x_81 = lean::cnstr_get(x_74, 1); +lean::inc(x_81); +x_83 = lean::cnstr_get(x_74, 2); +lean::inc(x_83); +lean::dec(x_74); +x_86 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_81, x_76); +x_87 = lean::cnstr_get(x_86, 0); lean::inc(x_87); -x_89 = lean::cnstr_get(x_80, 2); -lean::inc(x_89); -lean::dec(x_80); -x_92 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_87, x_82); -x_93 = lean::cnstr_get(x_92, 0); -lean::inc(x_93); -if (lean::obj_tag(x_93) == 0) +if (lean::obj_tag(x_87) == 0) { -obj* x_95; obj* x_97; obj* x_98; obj* x_100; obj* x_102; obj* x_104; obj* x_105; obj* x_106; obj* x_108; obj* x_111; obj* x_113; obj* x_116; obj* x_118; uint32 x_121; obj* x_123; obj* x_124; obj* x_125; obj* x_126; obj* x_127; obj* x_128; obj* x_129; obj* x_130; obj* x_131; obj* x_132; -x_95 = lean::cnstr_get(x_92, 1); -if (lean::is_exclusive(x_92)) { - lean::cnstr_release(x_92, 0); - x_97 = x_92; +obj* x_89; obj* x_91; obj* x_92; obj* x_94; obj* x_96; obj* x_98; obj* x_99; obj* x_100; obj* x_102; obj* x_105; obj* x_107; obj* x_110; obj* x_112; uint32 x_115; obj* x_117; obj* x_118; obj* x_119; obj* x_120; obj* x_121; obj* x_122; obj* x_123; obj* x_124; obj* x_125; obj* x_126; +x_89 = lean::cnstr_get(x_86, 1); +if (lean::is_exclusive(x_86)) { + lean::cnstr_release(x_86, 0); + x_91 = x_86; } else { - lean::inc(x_95); - lean::dec(x_92); - x_97 = lean::box(0); + lean::inc(x_89); + lean::dec(x_86); + x_91 = lean::box(0); } -x_98 = lean::cnstr_get(x_93, 0); -x_100 = lean::cnstr_get(x_93, 1); -x_102 = lean::cnstr_get(x_93, 2); -if (lean::is_exclusive(x_93)) { - x_104 = x_93; +x_92 = lean::cnstr_get(x_87, 0); +x_94 = lean::cnstr_get(x_87, 1); +x_96 = lean::cnstr_get(x_87, 2); +if (lean::is_exclusive(x_87)) { + x_98 = x_87; } else { - lean::inc(x_98); - lean::inc(x_100); - lean::inc(x_102); - lean::dec(x_93); - x_104 = lean::box(0); + lean::inc(x_92); + lean::inc(x_94); + lean::inc(x_96); + lean::dec(x_87); + x_98 = lean::box(0); } -x_105 = lean::mk_nat_obj(16u); -x_106 = lean::nat_mul(x_105, x_59); -lean::dec(x_59); -x_108 = lean::nat_add(x_106, x_72); -lean::dec(x_72); -lean::dec(x_106); -x_111 = lean::nat_mul(x_105, x_108); -lean::dec(x_108); -x_113 = lean::nat_add(x_111, x_85); -lean::dec(x_85); -lean::dec(x_111); -x_116 = lean::nat_mul(x_105, x_113); -lean::dec(x_113); -x_118 = lean::nat_add(x_116, x_98); -lean::dec(x_98); -lean::dec(x_116); -x_121 = l_char_of__nat(x_118); -lean::dec(x_118); -x_123 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_124 = lean::box_uint32(x_121); -if (lean::is_scalar(x_104)) { - x_125 = lean::alloc_cnstr(0, 3, 0); +x_99 = lean::mk_nat_obj(16u); +x_100 = lean::nat_mul(x_99, x_53); +lean::dec(x_53); +x_102 = lean::nat_add(x_100, x_66); +lean::dec(x_66); +lean::dec(x_100); +x_105 = lean::nat_mul(x_99, x_102); +lean::dec(x_102); +x_107 = lean::nat_add(x_105, x_79); +lean::dec(x_79); +lean::dec(x_105); +x_110 = lean::nat_mul(x_99, x_107); +lean::dec(x_107); +x_112 = lean::nat_add(x_110, x_92); +lean::dec(x_92); +lean::dec(x_110); +x_115 = l_char_of__nat(x_112); +lean::dec(x_112); +x_117 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_118 = lean::box_uint32(x_115); +if (lean::is_scalar(x_98)) { + x_119 = lean::alloc_cnstr(0, 3, 0); } else { - x_125 = x_104; + x_119 = x_98; } -lean::cnstr_set(x_125, 0, x_124); -lean::cnstr_set(x_125, 1, x_100); -lean::cnstr_set(x_125, 2, x_123); -x_126 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_102, x_125); -x_127 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_89, x_126); -x_128 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_76, x_127); -x_129 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_63, x_128); -x_130 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_129); -x_131 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_123, x_130); -if (lean::is_scalar(x_97)) { - x_132 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_119, 0, x_118); +lean::cnstr_set(x_119, 1, x_94); +lean::cnstr_set(x_119, 2, x_117); +x_120 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_96, x_119); +x_121 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_83, x_120); +x_122 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_70, x_121); +x_123 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_57, x_122); +x_124 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_123); +x_125 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_117, x_124); +if (lean::is_scalar(x_91)) { + x_126 = lean::alloc_cnstr(0, 2, 0); } else { - x_132 = x_97; + x_126 = x_91; } -lean::cnstr_set(x_132, 0, x_131); -lean::cnstr_set(x_132, 1, x_95); -return x_132; +lean::cnstr_set(x_126, 0, x_125); +lean::cnstr_set(x_126, 1, x_89); +return x_126; } else { -obj* x_136; obj* x_138; obj* x_139; uint8 x_141; obj* x_142; obj* x_143; obj* x_144; obj* x_145; obj* x_146; obj* x_147; obj* x_148; obj* x_149; obj* x_150; obj* x_151; -lean::dec(x_72); -lean::dec(x_59); -lean::dec(x_85); -x_136 = lean::cnstr_get(x_92, 1); -if (lean::is_exclusive(x_92)) { - lean::cnstr_release(x_92, 0); - x_138 = x_92; +obj* x_130; obj* x_132; obj* x_133; uint8 x_135; obj* x_136; obj* x_137; obj* x_138; obj* x_139; obj* x_140; obj* x_141; obj* x_142; obj* x_143; obj* x_144; obj* x_145; +lean::dec(x_53); +lean::dec(x_66); +lean::dec(x_79); +x_130 = lean::cnstr_get(x_86, 1); +if (lean::is_exclusive(x_86)) { + lean::cnstr_release(x_86, 0); + x_132 = x_86; } else { - lean::inc(x_136); - lean::dec(x_92); - x_138 = lean::box(0); + lean::inc(x_130); + lean::dec(x_86); + x_132 = lean::box(0); } -x_139 = lean::cnstr_get(x_93, 0); -x_141 = lean::cnstr_get_scalar(x_93, sizeof(void*)*1); -if (lean::is_exclusive(x_93)) { - x_142 = x_93; +x_133 = lean::cnstr_get(x_87, 0); +x_135 = lean::cnstr_get_scalar(x_87, sizeof(void*)*1); +if (lean::is_exclusive(x_87)) { + x_136 = x_87; } else { - lean::inc(x_139); - lean::dec(x_93); - x_142 = lean::box(0); + lean::inc(x_133); + lean::dec(x_87); + x_136 = lean::box(0); } -if (lean::is_scalar(x_142)) { - x_143 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_136)) { + x_137 = lean::alloc_cnstr(1, 1, 1); } else { - x_143 = x_142; + x_137 = x_136; } -lean::cnstr_set(x_143, 0, x_139); -lean::cnstr_set_scalar(x_143, sizeof(void*)*1, x_141); -x_144 = x_143; -x_145 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_89, x_144); -x_146 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_76, x_145); -x_147 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_63, x_146); -x_148 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_147); -x_149 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_150 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_149, x_148); -if (lean::is_scalar(x_138)) { - x_151 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_137, 0, x_133); +lean::cnstr_set_scalar(x_137, sizeof(void*)*1, x_135); +x_138 = x_137; +x_139 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_83, x_138); +x_140 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_70, x_139); +x_141 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_57, x_140); +x_142 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_141); +x_143 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_144 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_143, x_142); +if (lean::is_scalar(x_132)) { + x_145 = lean::alloc_cnstr(0, 2, 0); } else { - x_151 = x_138; + x_145 = x_132; } -lean::cnstr_set(x_151, 0, x_150); -lean::cnstr_set(x_151, 1, x_136); -return x_151; +lean::cnstr_set(x_145, 0, x_144); +lean::cnstr_set(x_145, 1, x_130); +return x_145; } } else { -obj* x_154; obj* x_156; obj* x_157; uint8 x_159; obj* x_160; obj* x_161; obj* x_162; obj* x_163; obj* x_164; obj* x_165; obj* x_166; obj* x_167; obj* x_168; -lean::dec(x_72); -lean::dec(x_59); -x_154 = lean::cnstr_get(x_79, 1); -if (lean::is_exclusive(x_79)) { - lean::cnstr_release(x_79, 0); - x_156 = x_79; +obj* x_148; obj* x_150; obj* x_151; uint8 x_153; obj* x_154; obj* x_155; obj* x_156; obj* x_157; obj* x_158; obj* x_159; obj* x_160; obj* x_161; obj* x_162; +lean::dec(x_53); +lean::dec(x_66); +x_148 = lean::cnstr_get(x_73, 1); +if (lean::is_exclusive(x_73)) { + lean::cnstr_release(x_73, 0); + x_150 = x_73; } else { - lean::inc(x_154); - lean::dec(x_79); - x_156 = lean::box(0); + lean::inc(x_148); + lean::dec(x_73); + x_150 = lean::box(0); } -x_157 = lean::cnstr_get(x_80, 0); -x_159 = lean::cnstr_get_scalar(x_80, sizeof(void*)*1); -if (lean::is_exclusive(x_80)) { - x_160 = x_80; +x_151 = lean::cnstr_get(x_74, 0); +x_153 = lean::cnstr_get_scalar(x_74, sizeof(void*)*1); +if (lean::is_exclusive(x_74)) { + x_154 = x_74; } else { - lean::inc(x_157); - lean::dec(x_80); - x_160 = lean::box(0); + lean::inc(x_151); + lean::dec(x_74); + x_154 = lean::box(0); } -if (lean::is_scalar(x_160)) { - x_161 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_154)) { + x_155 = lean::alloc_cnstr(1, 1, 1); } else { - x_161 = x_160; + x_155 = x_154; } -lean::cnstr_set(x_161, 0, x_157); -lean::cnstr_set_scalar(x_161, sizeof(void*)*1, x_159); -x_162 = x_161; -x_163 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_76, x_162); -x_164 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_63, x_163); -x_165 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_164); -x_166 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_167 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_166, x_165); -if (lean::is_scalar(x_156)) { - x_168 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_155, 0, x_151); +lean::cnstr_set_scalar(x_155, sizeof(void*)*1, x_153); +x_156 = x_155; +x_157 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_70, x_156); +x_158 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_57, x_157); +x_159 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_158); +x_160 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_161 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_160, x_159); +if (lean::is_scalar(x_150)) { + x_162 = lean::alloc_cnstr(0, 2, 0); } else { - x_168 = x_156; + x_162 = x_150; } -lean::cnstr_set(x_168, 0, x_167); -lean::cnstr_set(x_168, 1, x_154); -return x_168; +lean::cnstr_set(x_162, 0, x_161); +lean::cnstr_set(x_162, 1, x_148); +return x_162; } } else { -obj* x_170; obj* x_172; obj* x_173; uint8 x_175; obj* x_176; obj* x_177; obj* x_178; obj* x_179; obj* x_180; obj* x_181; obj* x_182; obj* x_183; -lean::dec(x_59); -x_170 = lean::cnstr_get(x_66, 1); -if (lean::is_exclusive(x_66)) { - lean::cnstr_release(x_66, 0); - x_172 = x_66; +obj* x_164; obj* x_166; obj* x_167; uint8 x_169; obj* x_170; obj* x_171; obj* x_172; obj* x_173; obj* x_174; obj* x_175; obj* x_176; obj* x_177; +lean::dec(x_53); +x_164 = lean::cnstr_get(x_60, 1); +if (lean::is_exclusive(x_60)) { + lean::cnstr_release(x_60, 0); + x_166 = x_60; } else { - lean::inc(x_170); - lean::dec(x_66); - x_172 = lean::box(0); + lean::inc(x_164); + lean::dec(x_60); + x_166 = lean::box(0); } -x_173 = lean::cnstr_get(x_67, 0); -x_175 = lean::cnstr_get_scalar(x_67, sizeof(void*)*1); -if (lean::is_exclusive(x_67)) { - x_176 = x_67; +x_167 = lean::cnstr_get(x_61, 0); +x_169 = lean::cnstr_get_scalar(x_61, sizeof(void*)*1); +if (lean::is_exclusive(x_61)) { + x_170 = x_61; } else { - lean::inc(x_173); - lean::dec(x_67); - x_176 = lean::box(0); + lean::inc(x_167); + lean::dec(x_61); + x_170 = lean::box(0); } -if (lean::is_scalar(x_176)) { - x_177 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_170)) { + x_171 = lean::alloc_cnstr(1, 1, 1); } else { - x_177 = x_176; + x_171 = x_170; } -lean::cnstr_set(x_177, 0, x_173); -lean::cnstr_set_scalar(x_177, sizeof(void*)*1, x_175); -x_178 = x_177; -x_179 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_63, x_178); -x_180 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_179); -x_181 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_182 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_181, x_180); -if (lean::is_scalar(x_172)) { - x_183 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_171, 0, x_167); +lean::cnstr_set_scalar(x_171, sizeof(void*)*1, x_169); +x_172 = x_171; +x_173 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_57, x_172); +x_174 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_173); +x_175 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_176 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_175, x_174); +if (lean::is_scalar(x_166)) { + x_177 = lean::alloc_cnstr(0, 2, 0); } else { - x_183 = x_172; + x_177 = x_166; } -lean::cnstr_set(x_183, 0, x_182); -lean::cnstr_set(x_183, 1, x_170); -return x_183; +lean::cnstr_set(x_177, 0, x_176); +lean::cnstr_set(x_177, 1, x_164); +return x_177; } } else { -obj* x_184; obj* x_186; obj* x_187; uint8 x_189; obj* x_190; obj* x_191; obj* x_192; obj* x_193; obj* x_194; obj* x_195; obj* x_196; -x_184 = lean::cnstr_get(x_53, 1); -if (lean::is_exclusive(x_53)) { - lean::cnstr_release(x_53, 0); - x_186 = x_53; +obj* x_178; obj* x_180; obj* x_181; uint8 x_183; obj* x_184; obj* x_185; obj* x_186; obj* x_187; obj* x_188; obj* x_189; obj* x_190; +x_178 = lean::cnstr_get(x_47, 1); +if (lean::is_exclusive(x_47)) { + lean::cnstr_release(x_47, 0); + x_180 = x_47; } else { - lean::inc(x_184); - lean::dec(x_53); - x_186 = lean::box(0); + lean::inc(x_178); + lean::dec(x_47); + x_180 = lean::box(0); } -x_187 = lean::cnstr_get(x_54, 0); -x_189 = lean::cnstr_get_scalar(x_54, sizeof(void*)*1); -if (lean::is_exclusive(x_54)) { - x_190 = x_54; +x_181 = lean::cnstr_get(x_48, 0); +x_183 = lean::cnstr_get_scalar(x_48, sizeof(void*)*1); +if (lean::is_exclusive(x_48)) { + x_184 = x_48; } else { - lean::inc(x_187); - lean::dec(x_54); - x_190 = lean::box(0); + lean::inc(x_181); + lean::dec(x_48); + x_184 = lean::box(0); } -if (lean::is_scalar(x_190)) { - x_191 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_184)) { + x_185 = lean::alloc_cnstr(1, 1, 1); } else { - x_191 = x_190; + x_185 = x_184; } -lean::cnstr_set(x_191, 0, x_187); -lean::cnstr_set_scalar(x_191, sizeof(void*)*1, x_189); -x_192 = x_191; -x_193 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_192); -x_194 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_195 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_194, x_193); -if (lean::is_scalar(x_186)) { - x_196 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_185, 0, x_181); +lean::cnstr_set_scalar(x_185, sizeof(void*)*1, x_183); +x_186 = x_185; +x_187 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_186); +x_188 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_189 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_188, x_187); +if (lean::is_scalar(x_180)) { + x_190 = lean::alloc_cnstr(0, 2, 0); } else { - x_196 = x_186; + x_190 = x_180; } -lean::cnstr_set(x_196, 0, x_195); -lean::cnstr_set(x_196, 1, x_184); -return x_196; +lean::cnstr_set(x_190, 0, x_189); +lean::cnstr_set(x_190, 1, x_178); +return x_190; } } } -lbl_20: -{ -uint32 x_198; uint32 x_199; uint8 x_200; -lean::dec(x_19); -x_198 = 116; -x_199 = lean::unbox_uint32(x_10); -x_200 = x_199 == x_198; -if (x_200 == 0) -{ -uint32 x_203; uint8 x_204; -lean::dec(x_16); -lean::dec(x_9); -x_203 = 120; -x_204 = x_199 == x_203; -if (x_204 == 0) -{ -obj* x_205; -x_205 = lean::box(0); -x_17 = x_205; -goto lbl_18; -} else { -obj* x_207; obj* x_208; +obj* x_192; obj* x_193; lean::dec(x_1); -x_207 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_12, x_7); -x_208 = lean::cnstr_get(x_207, 0); -lean::inc(x_208); -if (lean::obj_tag(x_208) == 0) +x_192 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_12, x_7); +x_193 = lean::cnstr_get(x_192, 0); +lean::inc(x_193); +if (lean::obj_tag(x_193) == 0) { -obj* x_210; obj* x_213; obj* x_215; obj* x_217; obj* x_220; obj* x_221; -x_210 = lean::cnstr_get(x_207, 1); -lean::inc(x_210); -lean::dec(x_207); -x_213 = lean::cnstr_get(x_208, 0); -lean::inc(x_213); -x_215 = lean::cnstr_get(x_208, 1); -lean::inc(x_215); -x_217 = lean::cnstr_get(x_208, 2); -lean::inc(x_217); -lean::dec(x_208); -x_220 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_215, x_210); -x_221 = lean::cnstr_get(x_220, 0); -lean::inc(x_221); -if (lean::obj_tag(x_221) == 0) +obj* x_195; obj* x_198; obj* x_200; obj* x_202; obj* x_205; obj* x_206; +x_195 = lean::cnstr_get(x_192, 1); +lean::inc(x_195); +lean::dec(x_192); +x_198 = lean::cnstr_get(x_193, 0); +lean::inc(x_198); +x_200 = lean::cnstr_get(x_193, 1); +lean::inc(x_200); +x_202 = lean::cnstr_get(x_193, 2); +lean::inc(x_202); +lean::dec(x_193); +x_205 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5(x_0, x_200, x_195); +x_206 = lean::cnstr_get(x_205, 0); +lean::inc(x_206); +if (lean::obj_tag(x_206) == 0) { -obj* x_223; obj* x_225; obj* x_226; obj* x_228; obj* x_230; obj* x_232; obj* x_233; obj* x_234; obj* x_236; uint32 x_239; obj* x_241; obj* x_242; obj* x_243; obj* x_244; obj* x_245; obj* x_246; obj* x_247; obj* x_248; -x_223 = lean::cnstr_get(x_220, 1); -if (lean::is_exclusive(x_220)) { - lean::cnstr_release(x_220, 0); - x_225 = x_220; +obj* x_208; obj* x_210; obj* x_211; obj* x_213; obj* x_215; obj* x_217; obj* x_218; obj* x_219; obj* x_221; uint32 x_224; obj* x_226; obj* x_227; obj* x_228; obj* x_229; obj* x_230; obj* x_231; obj* x_232; obj* x_233; +x_208 = lean::cnstr_get(x_205, 1); +if (lean::is_exclusive(x_205)) { + lean::cnstr_release(x_205, 0); + x_210 = x_205; } else { - lean::inc(x_223); - lean::dec(x_220); - x_225 = lean::box(0); + lean::inc(x_208); + lean::dec(x_205); + x_210 = lean::box(0); } -x_226 = lean::cnstr_get(x_221, 0); -x_228 = lean::cnstr_get(x_221, 1); -x_230 = lean::cnstr_get(x_221, 2); -if (lean::is_exclusive(x_221)) { - x_232 = x_221; +x_211 = lean::cnstr_get(x_206, 0); +x_213 = lean::cnstr_get(x_206, 1); +x_215 = lean::cnstr_get(x_206, 2); +if (lean::is_exclusive(x_206)) { + x_217 = x_206; } else { - lean::inc(x_226); - lean::inc(x_228); - lean::inc(x_230); - lean::dec(x_221); - x_232 = lean::box(0); + lean::inc(x_211); + lean::inc(x_213); + lean::inc(x_215); + lean::dec(x_206); + x_217 = lean::box(0); } -x_233 = lean::mk_nat_obj(16u); -x_234 = lean::nat_mul(x_233, x_213); -lean::dec(x_213); -x_236 = lean::nat_add(x_234, x_226); -lean::dec(x_226); -lean::dec(x_234); -x_239 = l_char_of__nat(x_236); -lean::dec(x_236); -x_241 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_242 = lean::box_uint32(x_239); -if (lean::is_scalar(x_232)) { - x_243 = lean::alloc_cnstr(0, 3, 0); +x_218 = lean::mk_nat_obj(16u); +x_219 = lean::nat_mul(x_218, x_198); +lean::dec(x_198); +x_221 = lean::nat_add(x_219, x_211); +lean::dec(x_211); +lean::dec(x_219); +x_224 = l_char_of__nat(x_221); +lean::dec(x_221); +x_226 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_227 = lean::box_uint32(x_224); +if (lean::is_scalar(x_217)) { + x_228 = lean::alloc_cnstr(0, 3, 0); } else { - x_243 = x_232; + x_228 = x_217; } -lean::cnstr_set(x_243, 0, x_242); -lean::cnstr_set(x_243, 1, x_228); -lean::cnstr_set(x_243, 2, x_241); -x_244 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_230, x_243); -x_245 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_217, x_244); -x_246 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_245); -x_247 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_241, x_246); -if (lean::is_scalar(x_225)) { +lean::cnstr_set(x_228, 0, x_227); +lean::cnstr_set(x_228, 1, x_213); +lean::cnstr_set(x_228, 2, x_226); +x_229 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_215, x_228); +x_230 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_202, x_229); +x_231 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_230); +x_232 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_226, x_231); +if (lean::is_scalar(x_210)) { + x_233 = lean::alloc_cnstr(0, 2, 0); +} else { + x_233 = x_210; +} +lean::cnstr_set(x_233, 0, x_232); +lean::cnstr_set(x_233, 1, x_208); +return x_233; +} +else +{ +obj* x_235; obj* x_237; obj* x_238; uint8 x_240; obj* x_241; obj* x_242; obj* x_243; obj* x_244; obj* x_245; obj* x_246; obj* x_247; obj* x_248; +lean::dec(x_198); +x_235 = lean::cnstr_get(x_205, 1); +if (lean::is_exclusive(x_205)) { + lean::cnstr_release(x_205, 0); + x_237 = x_205; +} else { + lean::inc(x_235); + lean::dec(x_205); + x_237 = lean::box(0); +} +x_238 = lean::cnstr_get(x_206, 0); +x_240 = lean::cnstr_get_scalar(x_206, sizeof(void*)*1); +if (lean::is_exclusive(x_206)) { + x_241 = x_206; +} else { + lean::inc(x_238); + lean::dec(x_206); + x_241 = lean::box(0); +} +if (lean::is_scalar(x_241)) { + x_242 = lean::alloc_cnstr(1, 1, 1); +} else { + x_242 = x_241; +} +lean::cnstr_set(x_242, 0, x_238); +lean::cnstr_set_scalar(x_242, sizeof(void*)*1, x_240); +x_243 = x_242; +x_244 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_202, x_243); +x_245 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_244); +x_246 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_247 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_246, x_245); +if (lean::is_scalar(x_237)) { x_248 = lean::alloc_cnstr(0, 2, 0); } else { - x_248 = x_225; + x_248 = x_237; } lean::cnstr_set(x_248, 0, x_247); -lean::cnstr_set(x_248, 1, x_223); +lean::cnstr_set(x_248, 1, x_235); return x_248; } -else -{ -obj* x_250; obj* x_252; obj* x_253; uint8 x_255; obj* x_256; obj* x_257; obj* x_258; obj* x_259; obj* x_260; obj* x_261; obj* x_262; obj* x_263; -lean::dec(x_213); -x_250 = lean::cnstr_get(x_220, 1); -if (lean::is_exclusive(x_220)) { - lean::cnstr_release(x_220, 0); - x_252 = x_220; -} else { - lean::inc(x_250); - lean::dec(x_220); - x_252 = lean::box(0); -} -x_253 = lean::cnstr_get(x_221, 0); -x_255 = lean::cnstr_get_scalar(x_221, sizeof(void*)*1); -if (lean::is_exclusive(x_221)) { - x_256 = x_221; -} else { - lean::inc(x_253); - lean::dec(x_221); - x_256 = lean::box(0); -} -if (lean::is_scalar(x_256)) { - x_257 = lean::alloc_cnstr(1, 1, 1); -} else { - x_257 = x_256; -} -lean::cnstr_set(x_257, 0, x_253); -lean::cnstr_set_scalar(x_257, sizeof(void*)*1, x_255); -x_258 = x_257; -x_259 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_217, x_258); -x_260 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_259); -x_261 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_262 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_261, x_260); -if (lean::is_scalar(x_252)) { - x_263 = lean::alloc_cnstr(0, 2, 0); -} else { - x_263 = x_252; -} -lean::cnstr_set(x_263, 0, x_262); -lean::cnstr_set(x_263, 1, x_250); -return x_263; -} } else { -obj* x_264; obj* x_266; obj* x_267; uint8 x_269; obj* x_270; obj* x_271; obj* x_272; obj* x_273; obj* x_274; obj* x_275; obj* x_276; -x_264 = lean::cnstr_get(x_207, 1); -if (lean::is_exclusive(x_207)) { - lean::cnstr_release(x_207, 0); - x_266 = x_207; +obj* x_249; obj* x_251; obj* x_252; uint8 x_254; obj* x_255; obj* x_256; obj* x_257; obj* x_258; obj* x_259; obj* x_260; obj* x_261; +x_249 = lean::cnstr_get(x_192, 1); +if (lean::is_exclusive(x_192)) { + lean::cnstr_release(x_192, 0); + x_251 = x_192; } else { - lean::inc(x_264); - lean::dec(x_207); - x_266 = lean::box(0); + lean::inc(x_249); + lean::dec(x_192); + x_251 = lean::box(0); } -x_267 = lean::cnstr_get(x_208, 0); -x_269 = lean::cnstr_get_scalar(x_208, sizeof(void*)*1); -if (lean::is_exclusive(x_208)) { - x_270 = x_208; +x_252 = lean::cnstr_get(x_193, 0); +x_254 = lean::cnstr_get_scalar(x_193, sizeof(void*)*1); +if (lean::is_exclusive(x_193)) { + x_255 = x_193; } else { - lean::inc(x_267); - lean::dec(x_208); - x_270 = lean::box(0); + lean::inc(x_252); + lean::dec(x_193); + x_255 = lean::box(0); } -if (lean::is_scalar(x_270)) { - x_271 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_255)) { + x_256 = lean::alloc_cnstr(1, 1, 1); } else { - x_271 = x_270; + x_256 = x_255; } -lean::cnstr_set(x_271, 0, x_267); -lean::cnstr_set_scalar(x_271, sizeof(void*)*1, x_269); -x_272 = x_271; -x_273 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_272); -x_274 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_275 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_274, x_273); -if (lean::is_scalar(x_266)) { - x_276 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_256, 0, x_252); +lean::cnstr_set_scalar(x_256, sizeof(void*)*1, x_254); +x_257 = x_256; +x_258 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_257); +x_259 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_260 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_259, x_258); +if (lean::is_scalar(x_251)) { + x_261 = lean::alloc_cnstr(0, 2, 0); } else { - x_276 = x_266; + x_261 = x_251; } -lean::cnstr_set(x_276, 0, x_275); -lean::cnstr_set(x_276, 1, x_264); -return x_276; +lean::cnstr_set(x_261, 0, x_260); +lean::cnstr_set(x_261, 1, x_249); +return x_261; } } } else { -uint32 x_278; obj* x_279; obj* x_280; obj* x_281; obj* x_282; obj* x_283; obj* x_284; +uint32 x_263; obj* x_264; obj* x_265; obj* x_266; obj* x_267; obj* x_268; obj* x_269; +lean::dec(x_1); +x_263 = 9; +x_264 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_265 = lean::box_uint32(x_263); +if (lean::is_scalar(x_16)) { + x_266 = lean::alloc_cnstr(0, 3, 0); +} else { + x_266 = x_16; +} +lean::cnstr_set(x_266, 0, x_265); +lean::cnstr_set(x_266, 1, x_12); +lean::cnstr_set(x_266, 2, x_264); +x_267 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_266); +x_268 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_264, x_267); +if (lean::is_scalar(x_9)) { + x_269 = lean::alloc_cnstr(0, 2, 0); +} else { + x_269 = x_9; +} +lean::cnstr_set(x_269, 0, x_268); +lean::cnstr_set(x_269, 1, x_7); +return x_269; +} +} +else +{ +uint32 x_271; obj* x_272; obj* x_273; obj* x_274; obj* x_275; obj* x_276; obj* x_277; +lean::dec(x_1); +x_271 = 10; +x_272 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_273 = lean::box_uint32(x_271); +if (lean::is_scalar(x_16)) { + x_274 = lean::alloc_cnstr(0, 3, 0); +} else { + x_274 = x_16; +} +lean::cnstr_set(x_274, 0, x_273); +lean::cnstr_set(x_274, 1, x_12); +lean::cnstr_set(x_274, 2, x_272); +x_275 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_274); +x_276 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_272, x_275); +if (lean::is_scalar(x_9)) { + x_277 = lean::alloc_cnstr(0, 2, 0); +} else { + x_277 = x_9; +} +lean::cnstr_set(x_277, 0, x_276); +lean::cnstr_set(x_277, 1, x_7); +return x_277; +} +} +else +{ +obj* x_279; obj* x_280; obj* x_281; obj* x_282; obj* x_283; obj* x_284; lean::dec(x_1); -x_278 = 9; x_279 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_280 = lean::box_uint32(x_278); +x_280 = lean::box_uint32(x_22); if (lean::is_scalar(x_16)) { x_281 = lean::alloc_cnstr(0, 3, 0); } else { @@ -20247,132 +19789,98 @@ lean::cnstr_set(x_284, 1, x_7); return x_284; } } -lbl_22: -{ -uint32 x_286; uint32 x_287; uint8 x_288; -lean::dec(x_21); -x_286 = 34; -x_287 = lean::unbox_uint32(x_10); -x_288 = x_287 == x_286; -if (x_288 == 0) -{ -uint32 x_289; uint8 x_290; -x_289 = 39; -x_290 = x_287 == x_289; -if (x_290 == 0) -{ -uint32 x_291; uint8 x_292; -x_291 = 110; -x_292 = x_287 == x_291; -if (x_292 == 0) -{ -obj* x_293; -x_293 = lean::box(0); -x_19 = x_293; -goto lbl_20; -} else { -uint32 x_297; obj* x_298; obj* x_299; obj* x_300; obj* x_301; obj* x_302; obj* x_303; -lean::dec(x_16); -lean::dec(x_9); +obj* x_286; obj* x_287; obj* x_288; obj* x_289; obj* x_290; obj* x_291; lean::dec(x_1); -x_297 = 10; -x_298 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_299 = lean::box_uint32(x_297); -x_300 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_300, 0, x_299); -lean::cnstr_set(x_300, 1, x_12); -lean::cnstr_set(x_300, 2, x_298); -x_301 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_300); -x_302 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_298, x_301); -x_303 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_303, 0, x_302); -lean::cnstr_set(x_303, 1, x_7); -return x_303; +x_286 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_287 = lean::box_uint32(x_20); +if (lean::is_scalar(x_16)) { + x_288 = lean::alloc_cnstr(0, 3, 0); +} else { + x_288 = x_16; +} +lean::cnstr_set(x_288, 0, x_287); +lean::cnstr_set(x_288, 1, x_12); +lean::cnstr_set(x_288, 2, x_286); +x_289 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_288); +x_290 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_286, x_289); +if (lean::is_scalar(x_9)) { + x_291 = lean::alloc_cnstr(0, 2, 0); +} else { + x_291 = x_9; +} +lean::cnstr_set(x_291, 0, x_290); +lean::cnstr_set(x_291, 1, x_7); +return x_291; } } else { -obj* x_307; obj* x_308; obj* x_309; obj* x_310; obj* x_311; obj* x_312; -lean::dec(x_16); -lean::dec(x_9); +obj* x_293; obj* x_294; obj* x_295; obj* x_296; obj* x_297; obj* x_298; lean::dec(x_1); -x_307 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_308 = lean::box_uint32(x_289); -x_309 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_309, 0, x_308); -lean::cnstr_set(x_309, 1, x_12); -lean::cnstr_set(x_309, 2, x_307); -x_310 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_309); -x_311 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_307, x_310); -x_312 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_312, 0, x_311); -lean::cnstr_set(x_312, 1, x_7); -return x_312; +x_293 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_294 = lean::box_uint32(x_17); +if (lean::is_scalar(x_16)) { + x_295 = lean::alloc_cnstr(0, 3, 0); +} else { + x_295 = x_16; +} +lean::cnstr_set(x_295, 0, x_294); +lean::cnstr_set(x_295, 1, x_12); +lean::cnstr_set(x_295, 2, x_293); +x_296 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_295); +x_297 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_293, x_296); +if (lean::is_scalar(x_9)) { + x_298 = lean::alloc_cnstr(0, 2, 0); +} else { + x_298 = x_9; +} +lean::cnstr_set(x_298, 0, x_297); +lean::cnstr_set(x_298, 1, x_7); +return x_298; } } else { -obj* x_316; obj* x_317; obj* x_318; obj* x_319; obj* x_320; obj* x_321; -lean::dec(x_16); -lean::dec(x_9); +obj* x_300; obj* x_302; obj* x_303; uint8 x_305; obj* x_306; obj* x_307; obj* x_308; obj* x_309; obj* x_310; obj* x_311; lean::dec(x_1); -x_316 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_317 = lean::box_uint32(x_286); -x_318 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_318, 0, x_317); -lean::cnstr_set(x_318, 1, x_12); -lean::cnstr_set(x_318, 2, x_316); -x_319 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_318); -x_320 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_316, x_319); -x_321 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_321, 0, x_320); -lean::cnstr_set(x_321, 1, x_7); -return x_321; -} -} -} -else -{ -obj* x_323; obj* x_325; obj* x_326; uint8 x_328; obj* x_329; obj* x_330; obj* x_331; obj* x_332; obj* x_333; obj* x_334; -lean::dec(x_1); -x_323 = lean::cnstr_get(x_4, 1); +x_300 = lean::cnstr_get(x_4, 1); if (lean::is_exclusive(x_4)) { lean::cnstr_release(x_4, 0); - x_325 = x_4; + x_302 = x_4; } else { - lean::inc(x_323); + lean::inc(x_300); lean::dec(x_4); - x_325 = lean::box(0); + x_302 = lean::box(0); } -x_326 = lean::cnstr_get(x_5, 0); -x_328 = lean::cnstr_get_scalar(x_5, sizeof(void*)*1); +x_303 = lean::cnstr_get(x_5, 0); +x_305 = lean::cnstr_get_scalar(x_5, sizeof(void*)*1); if (lean::is_exclusive(x_5)) { - x_329 = x_5; + x_306 = x_5; } else { - lean::inc(x_326); + lean::inc(x_303); lean::dec(x_5); - x_329 = lean::box(0); + x_306 = lean::box(0); } -if (lean::is_scalar(x_329)) { - x_330 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_306)) { + x_307 = lean::alloc_cnstr(1, 1, 1); } else { - x_330 = x_329; + x_307 = x_306; } -lean::cnstr_set(x_330, 0, x_326); -lean::cnstr_set_scalar(x_330, sizeof(void*)*1, x_328); -x_331 = x_330; -x_332 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_333 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_332, x_331); -if (lean::is_scalar(x_325)) { - x_334 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_307, 0, x_303); +lean::cnstr_set_scalar(x_307, sizeof(void*)*1, x_305); +x_308 = x_307; +x_309 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_310 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_309, x_308); +if (lean::is_scalar(x_302)) { + x_311 = lean::alloc_cnstr(0, 2, 0); } else { - x_334 = x_325; + x_311 = x_302; } -lean::cnstr_set(x_334, 0, x_333); -lean::cnstr_set(x_334, 1, x_323); -return x_334; +lean::cnstr_set(x_311, 0, x_310); +lean::cnstr_set(x_311, 1, x_300); +return x_311; } } } @@ -23467,7 +22975,7 @@ x_4 = lean::mk_nat_obj(0u); x_5 = lean::nat_dec_eq(x_2, x_4); if (x_5 == 0) { -obj* x_6; obj* x_7; uint32 x_9; uint8 x_10; obj* x_11; obj* x_13; obj* x_14; +obj* x_6; obj* x_7; uint32 x_9; uint8 x_10; obj* x_11; obj* x_13; x_6 = lean::mk_nat_obj(1u); x_7 = lean::nat_sub(x_2, x_6); lean::dec(x_2); @@ -23478,85 +22986,77 @@ lean::dec(x_3); x_13 = l_string_iterator_next___main(x_1); if (x_10 == 0) { -obj* x_16; -x_16 = lean::box(0); -x_14 = x_16; -goto lbl_15; -} -else +uint32 x_14; uint8 x_15; +x_14 = 97; +x_15 = x_14 <= x_9; +if (x_15 == 0) { -obj* x_17; obj* x_18; obj* x_19; obj* x_21; -x_17 = lean::uint32_to_nat(x_9); -x_18 = l___private_init_data_string_basic_9__to__nat__core___main___closed__1; -x_19 = lean::nat_sub(x_17, x_18); -lean::dec(x_17); -x_21 = lean::nat_add(x_11, x_19); -lean::dec(x_19); +obj* x_16; obj* x_17; obj* x_18; obj* x_20; +x_16 = lean::uint32_to_nat(x_9); +x_17 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; +x_18 = lean::nat_sub(x_16, x_17); +lean::dec(x_16); +x_20 = lean::nat_add(x_11, x_18); +lean::dec(x_18); lean::dec(x_11); x_1 = x_13; x_2 = x_7; -x_3 = x_21; +x_3 = x_20; goto _start; } -lbl_15: +else { -uint32 x_26; uint8 x_27; -lean::dec(x_14); -x_26 = 97; -x_27 = x_26 <= x_9; -if (x_27 == 0) +uint32 x_24; uint8 x_25; +x_24 = 102; +x_25 = x_9 <= x_24; +if (x_25 == 0) { -obj* x_28; obj* x_29; obj* x_30; obj* x_32; -x_28 = lean::uint32_to_nat(x_9); -x_29 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; -x_30 = lean::nat_sub(x_28, x_29); +obj* x_26; obj* x_27; obj* x_28; obj* x_30; +x_26 = lean::uint32_to_nat(x_9); +x_27 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; +x_28 = lean::nat_sub(x_26, x_27); +lean::dec(x_26); +x_30 = lean::nat_add(x_11, x_28); lean::dec(x_28); -x_32 = lean::nat_add(x_11, x_30); -lean::dec(x_30); lean::dec(x_11); x_1 = x_13; x_2 = x_7; -x_3 = x_32; +x_3 = x_30; goto _start; } else { -uint32 x_36; uint8 x_37; -x_36 = 102; -x_37 = x_9 <= x_36; -if (x_37 == 0) -{ -obj* x_38; obj* x_39; obj* x_40; obj* x_42; -x_38 = lean::uint32_to_nat(x_9); -x_39 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; -x_40 = lean::nat_sub(x_38, x_39); -lean::dec(x_38); -x_42 = lean::nat_add(x_11, x_40); -lean::dec(x_40); +obj* x_34; obj* x_35; obj* x_36; obj* x_38; +x_34 = lean::uint32_to_nat(x_9); +x_35 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; +x_36 = lean::nat_sub(x_34, x_35); +lean::dec(x_34); +x_38 = lean::nat_add(x_11, x_36); +lean::dec(x_36); lean::dec(x_11); x_1 = x_13; x_2 = x_7; -x_3 = x_42; +x_3 = x_38; goto _start; } +} +} else { -obj* x_46; obj* x_47; obj* x_48; obj* x_50; -x_46 = lean::uint32_to_nat(x_9); -x_47 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; -x_48 = lean::nat_sub(x_46, x_47); -lean::dec(x_46); -x_50 = lean::nat_add(x_11, x_48); -lean::dec(x_48); +obj* x_42; obj* x_43; obj* x_44; obj* x_46; +x_42 = lean::uint32_to_nat(x_9); +x_43 = l___private_init_data_string_basic_9__to__nat__core___main___closed__1; +x_44 = lean::nat_sub(x_42, x_43); +lean::dec(x_42); +x_46 = lean::nat_add(x_11, x_44); +lean::dec(x_44); lean::dec(x_11); x_1 = x_13; x_2 = x_7; -x_3 = x_50; +x_3 = x_46; goto _start; } } -} -} else { lean::dec(x_1); @@ -24362,357 +23862,308 @@ goto lbl_41; } else { -uint32 x_47; uint32 x_48; uint8 x_49; uint8 x_51; +uint32 x_47; uint32 x_48; uint8 x_49; x_47 = l_string_iterator_curr___main(x_0); x_48 = 97; -x_51 = x_48 <= x_47; -if (x_51 == 0) -{ -obj* x_52; obj* x_53; obj* x_54; obj* x_56; obj* x_57; obj* x_58; obj* x_59; -x_52 = l_char_quote__core(x_47); -x_53 = l_char_has__repr___closed__1; -x_54 = lean::string_append(x_53, x_52); -lean::dec(x_52); -x_56 = lean::string_append(x_54, x_53); -x_57 = lean::box(0); -x_58 = l_mjoin___rarg___closed__1; -x_59 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_56, x_58, x_57, x_57, x_0); -x_40 = x_59; -goto lbl_41; -} -else -{ -uint8 x_60; -x_60 = 1; -x_49 = x_60; -goto lbl_50; -} -lbl_50: -{ -uint32 x_61; uint8 x_62; -x_61 = 102; -x_62 = x_47 <= x_61; -if (x_62 == 0) -{ -obj* x_63; obj* x_64; obj* x_65; obj* x_67; obj* x_68; obj* x_69; obj* x_70; -x_63 = l_char_quote__core(x_47); -x_64 = l_char_has__repr___closed__1; -x_65 = lean::string_append(x_64, x_63); -lean::dec(x_63); -x_67 = lean::string_append(x_65, x_64); -x_68 = lean::box(0); -x_69 = l_mjoin___rarg___closed__1; -x_70 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_67, x_69, x_68, x_68, x_0); -x_40 = x_70; -goto lbl_41; -} -else -{ +x_49 = x_48 <= x_47; if (x_49 == 0) { -obj* x_71; obj* x_72; obj* x_73; obj* x_75; obj* x_76; obj* x_77; obj* x_78; -x_71 = l_char_quote__core(x_47); -x_72 = l_char_has__repr___closed__1; -x_73 = lean::string_append(x_72, x_71); -lean::dec(x_71); -x_75 = lean::string_append(x_73, x_72); -x_76 = lean::box(0); -x_77 = l_mjoin___rarg___closed__1; -x_78 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_75, x_77, x_76, x_76, x_0); -x_40 = x_78; +obj* x_50; obj* x_51; obj* x_52; obj* x_54; obj* x_55; obj* x_56; obj* x_57; +x_50 = l_char_quote__core(x_47); +x_51 = l_char_has__repr___closed__1; +x_52 = lean::string_append(x_51, x_50); +lean::dec(x_50); +x_54 = lean::string_append(x_52, x_51); +x_55 = lean::box(0); +x_56 = l_mjoin___rarg___closed__1; +x_57 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_54, x_56, x_55, x_55, x_0); +x_40 = x_57; goto lbl_41; } else { -obj* x_80; obj* x_81; obj* x_82; obj* x_83; -lean::inc(x_0); -x_80 = l_string_iterator_next___main(x_0); -x_81 = lean::box(0); -x_82 = lean::box_uint32(x_47); -x_83 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_83, 0, x_82); -lean::cnstr_set(x_83, 1, x_80); -lean::cnstr_set(x_83, 2, x_81); -x_40 = x_83; +uint32 x_58; uint8 x_59; +x_58 = 102; +x_59 = x_47 <= x_58; +if (x_59 == 0) +{ +obj* x_60; obj* x_61; obj* x_62; obj* x_64; obj* x_65; obj* x_66; obj* x_67; +x_60 = l_char_quote__core(x_47); +x_61 = l_char_has__repr___closed__1; +x_62 = lean::string_append(x_61, x_60); +lean::dec(x_60); +x_64 = lean::string_append(x_62, x_61); +x_65 = lean::box(0); +x_66 = l_mjoin___rarg___closed__1; +x_67 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_64, x_66, x_65, x_65, x_0); +x_40 = x_67; goto lbl_41; } +else +{ +obj* x_69; obj* x_70; obj* x_71; obj* x_72; +lean::inc(x_0); +x_69 = l_string_iterator_next___main(x_0); +x_70 = lean::box(0); +x_71 = lean::box_uint32(x_47); +x_72 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_72, 0, x_71); +lean::cnstr_set(x_72, 1, x_69); +lean::cnstr_set(x_72, 2, x_70); +x_40 = x_72; +goto lbl_41; } } } lbl_41: { -obj* x_84; obj* x_85; -x_84 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_85 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_84, x_40); -if (lean::obj_tag(x_85) == 0) +obj* x_73; obj* x_74; +x_73 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_74 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_73, x_40); +if (lean::obj_tag(x_74) == 0) { -obj* x_86; obj* x_88; obj* x_90; obj* x_92; uint32 x_93; obj* x_94; obj* x_95; obj* x_96; obj* x_98; obj* x_99; obj* x_101; obj* x_102; -x_86 = lean::cnstr_get(x_85, 0); -x_88 = lean::cnstr_get(x_85, 1); -x_90 = lean::cnstr_get(x_85, 2); -if (lean::is_exclusive(x_85)) { - x_92 = x_85; +obj* x_75; obj* x_77; obj* x_79; obj* x_81; uint32 x_82; obj* x_83; obj* x_84; obj* x_85; obj* x_87; obj* x_88; obj* x_90; obj* x_91; +x_75 = lean::cnstr_get(x_74, 0); +x_77 = lean::cnstr_get(x_74, 1); +x_79 = lean::cnstr_get(x_74, 2); +if (lean::is_exclusive(x_74)) { + x_81 = x_74; } else { - lean::inc(x_86); - lean::inc(x_88); - lean::inc(x_90); - lean::dec(x_85); - x_92 = lean::box(0); + lean::inc(x_75); + lean::inc(x_77); + lean::inc(x_79); + lean::dec(x_74); + x_81 = lean::box(0); } -x_93 = lean::unbox_uint32(x_86); -x_94 = lean::uint32_to_nat(x_93); -x_95 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; -x_96 = lean::nat_sub(x_94, x_95); -lean::dec(x_94); -x_98 = lean::mk_nat_obj(10u); -x_99 = lean::nat_add(x_98, x_96); -lean::dec(x_96); -if (lean::is_scalar(x_92)) { - x_101 = lean::alloc_cnstr(0, 3, 0); +x_82 = lean::unbox_uint32(x_75); +x_83 = lean::uint32_to_nat(x_82); +x_84 = l_lean_parser_parse__hex__digit___rarg___lambda__3___closed__1; +x_85 = lean::nat_sub(x_83, x_84); +lean::dec(x_83); +x_87 = lean::mk_nat_obj(10u); +x_88 = lean::nat_add(x_87, x_85); +lean::dec(x_85); +if (lean::is_scalar(x_81)) { + x_90 = lean::alloc_cnstr(0, 3, 0); } else { - x_101 = x_92; + x_90 = x_81; } -lean::cnstr_set(x_101, 0, x_99); -lean::cnstr_set(x_101, 1, x_88); -lean::cnstr_set(x_101, 2, x_84); -x_102 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_90, x_101); -if (lean::obj_tag(x_102) == 0) +lean::cnstr_set(x_90, 0, x_88); +lean::cnstr_set(x_90, 1, x_77); +lean::cnstr_set(x_90, 2, x_73); +x_91 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_79, x_90); +if (lean::obj_tag(x_91) == 0) { -obj* x_104; obj* x_105; obj* x_106; +obj* x_93; obj* x_94; obj* x_95; lean::dec(x_0); -x_104 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_102); -x_105 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_106 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_104, x_105); -return x_106; +x_93 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_91); +x_94 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_95 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_93, x_94); +return x_95; } else { -obj* x_107; uint8 x_109; -x_107 = lean::cnstr_get(x_102, 0); -lean::inc(x_107); -x_109 = lean::cnstr_get_scalar(x_102, sizeof(void*)*1); -x_35 = x_102; -x_36 = x_107; -x_37 = x_109; +obj* x_96; uint8 x_98; +x_96 = lean::cnstr_get(x_91, 0); +lean::inc(x_96); +x_98 = lean::cnstr_get_scalar(x_91, sizeof(void*)*1); +x_35 = x_91; +x_36 = x_96; +x_37 = x_98; goto lbl_38; } } else { -obj* x_110; uint8 x_112; obj* x_113; obj* x_115; obj* x_116; -x_110 = lean::cnstr_get(x_85, 0); -x_112 = lean::cnstr_get_scalar(x_85, sizeof(void*)*1); -if (lean::is_exclusive(x_85)) { - x_113 = x_85; +obj* x_99; uint8 x_101; obj* x_102; obj* x_104; obj* x_105; +x_99 = lean::cnstr_get(x_74, 0); +x_101 = lean::cnstr_get_scalar(x_74, sizeof(void*)*1); +if (lean::is_exclusive(x_74)) { + x_102 = x_74; } else { - lean::inc(x_110); - lean::dec(x_85); - x_113 = lean::box(0); + lean::inc(x_99); + lean::dec(x_74); + x_102 = lean::box(0); } -lean::inc(x_110); -if (lean::is_scalar(x_113)) { - x_115 = lean::alloc_cnstr(1, 1, 1); +lean::inc(x_99); +if (lean::is_scalar(x_102)) { + x_104 = lean::alloc_cnstr(1, 1, 1); } else { - x_115 = x_113; + x_104 = x_102; } -lean::cnstr_set(x_115, 0, x_110); -lean::cnstr_set_scalar(x_115, sizeof(void*)*1, x_112); -x_116 = x_115; -x_35 = x_116; -x_36 = x_110; -x_37 = x_112; +lean::cnstr_set(x_104, 0, x_99); +lean::cnstr_set_scalar(x_104, sizeof(void*)*1, x_101); +x_105 = x_104; +x_35 = x_105; +x_36 = x_99; +x_37 = x_101; goto lbl_38; } } } else { -obj* x_119; obj* x_120; +obj* x_108; obj* x_109; lean::dec(x_0); lean::dec(x_2); -x_119 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_120 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_1, x_119); -return x_120; +x_108 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_109 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_1, x_108); +return x_109; } lbl_38: { if (x_37 == 0) { -obj* x_122; uint8 x_124; +obj* x_111; uint8 x_113; lean::dec(x_35); -x_124 = l_string_iterator_has__next___main(x_0); -if (x_124 == 0) +x_113 = l_string_iterator_has__next___main(x_0); +if (x_113 == 0) { -obj* x_125; obj* x_126; obj* x_127; obj* x_128; -x_125 = lean::box(0); -x_126 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; -x_127 = l_mjoin___rarg___closed__1; -x_128 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_126, x_127, x_125, x_125, x_0); +obj* x_114; obj* x_115; obj* x_116; obj* x_117; +x_114 = lean::box(0); +x_115 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; +x_116 = l_mjoin___rarg___closed__1; +x_117 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_115, x_116, x_114, x_114, x_0); lean::dec(x_0); -x_122 = x_128; -goto lbl_123; +x_111 = x_117; +goto lbl_112; } else { -uint32 x_130; uint32 x_131; uint8 x_132; uint8 x_134; -x_130 = l_string_iterator_curr___main(x_0); -x_131 = 65; -x_134 = x_131 <= x_130; -if (x_134 == 0) +uint32 x_119; uint32 x_120; uint8 x_121; +x_119 = l_string_iterator_curr___main(x_0); +x_120 = 65; +x_121 = x_120 <= x_119; +if (x_121 == 0) { -obj* x_135; obj* x_136; obj* x_137; obj* x_139; obj* x_140; obj* x_141; obj* x_142; -x_135 = l_char_quote__core(x_130); -x_136 = l_char_has__repr___closed__1; -x_137 = lean::string_append(x_136, x_135); -lean::dec(x_135); -x_139 = lean::string_append(x_137, x_136); -x_140 = lean::box(0); -x_141 = l_mjoin___rarg___closed__1; -x_142 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_139, x_141, x_140, x_140, x_0); +obj* x_122; obj* x_123; obj* x_124; obj* x_126; obj* x_127; obj* x_128; obj* x_129; +x_122 = l_char_quote__core(x_119); +x_123 = l_char_has__repr___closed__1; +x_124 = lean::string_append(x_123, x_122); +lean::dec(x_122); +x_126 = lean::string_append(x_124, x_123); +x_127 = lean::box(0); +x_128 = l_mjoin___rarg___closed__1; +x_129 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_126, x_128, x_127, x_127, x_0); lean::dec(x_0); -x_122 = x_142; -goto lbl_123; -} -else -{ -uint8 x_144; -x_144 = 1; -x_132 = x_144; -goto lbl_133; -} -lbl_133: -{ -uint32 x_145; uint8 x_146; -x_145 = 70; -x_146 = x_130 <= x_145; -if (x_146 == 0) -{ -obj* x_147; obj* x_148; obj* x_149; obj* x_151; obj* x_152; obj* x_153; obj* x_154; -x_147 = l_char_quote__core(x_130); -x_148 = l_char_has__repr___closed__1; -x_149 = lean::string_append(x_148, x_147); -lean::dec(x_147); -x_151 = lean::string_append(x_149, x_148); -x_152 = lean::box(0); -x_153 = l_mjoin___rarg___closed__1; -x_154 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_151, x_153, x_152, x_152, x_0); -lean::dec(x_0); -x_122 = x_154; -goto lbl_123; +x_111 = x_129; +goto lbl_112; } else { +uint32 x_131; uint8 x_132; +x_131 = 70; +x_132 = x_119 <= x_131; if (x_132 == 0) { -obj* x_156; obj* x_157; obj* x_158; obj* x_160; obj* x_161; obj* x_162; obj* x_163; -x_156 = l_char_quote__core(x_130); -x_157 = l_char_has__repr___closed__1; -x_158 = lean::string_append(x_157, x_156); +obj* x_133; obj* x_134; obj* x_135; obj* x_137; obj* x_138; obj* x_139; obj* x_140; +x_133 = l_char_quote__core(x_119); +x_134 = l_char_has__repr___closed__1; +x_135 = lean::string_append(x_134, x_133); +lean::dec(x_133); +x_137 = lean::string_append(x_135, x_134); +x_138 = lean::box(0); +x_139 = l_mjoin___rarg___closed__1; +x_140 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_137, x_139, x_138, x_138, x_0); +lean::dec(x_0); +x_111 = x_140; +goto lbl_112; +} +else +{ +obj* x_142; obj* x_143; obj* x_144; obj* x_145; +x_142 = l_string_iterator_next___main(x_0); +x_143 = lean::box(0); +x_144 = lean::box_uint32(x_119); +x_145 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_145, 0, x_144); +lean::cnstr_set(x_145, 1, x_142); +lean::cnstr_set(x_145, 2, x_143); +x_111 = x_145; +goto lbl_112; +} +} +} +lbl_112: +{ +obj* x_146; obj* x_147; +x_146 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_147 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_146, x_111); +if (lean::obj_tag(x_147) == 0) +{ +obj* x_148; obj* x_150; obj* x_152; obj* x_154; uint32 x_155; obj* x_156; obj* x_157; obj* x_158; obj* x_160; obj* x_161; obj* x_163; obj* x_164; obj* x_165; obj* x_166; obj* x_167; obj* x_168; +x_148 = lean::cnstr_get(x_147, 0); +x_150 = lean::cnstr_get(x_147, 1); +x_152 = lean::cnstr_get(x_147, 2); +if (lean::is_exclusive(x_147)) { + x_154 = x_147; +} else { + lean::inc(x_148); + lean::inc(x_150); + lean::inc(x_152); + lean::dec(x_147); + x_154 = lean::box(0); +} +x_155 = lean::unbox_uint32(x_148); +x_156 = lean::uint32_to_nat(x_155); +x_157 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; +x_158 = lean::nat_sub(x_156, x_157); lean::dec(x_156); -x_160 = lean::string_append(x_158, x_157); -x_161 = lean::box(0); -x_162 = l_mjoin___rarg___closed__1; -x_163 = l_lean_parser_monad__parsec_error___at_lean_parser_string__lit_view_value___spec__3___rarg(x_160, x_162, x_161, x_161, x_0); +x_160 = lean::mk_nat_obj(10u); +x_161 = lean::nat_add(x_160, x_158); +lean::dec(x_158); +if (lean::is_scalar(x_154)) { + x_163 = lean::alloc_cnstr(0, 3, 0); +} else { + x_163 = x_154; +} +lean::cnstr_set(x_163, 0, x_161); +lean::cnstr_set(x_163, 1, x_150); +lean::cnstr_set(x_163, 2, x_146); +x_164 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_152, x_163); +x_165 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_164); +x_166 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_165); +x_167 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_168 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_166, x_167); +return x_168; +} +else +{ +obj* x_169; uint8 x_171; obj* x_172; obj* x_173; obj* x_174; obj* x_175; obj* x_176; obj* x_177; obj* x_178; +x_169 = lean::cnstr_get(x_147, 0); +x_171 = lean::cnstr_get_scalar(x_147, sizeof(void*)*1); +if (lean::is_exclusive(x_147)) { + x_172 = x_147; +} else { + lean::inc(x_169); + lean::dec(x_147); + x_172 = lean::box(0); +} +if (lean::is_scalar(x_172)) { + x_173 = lean::alloc_cnstr(1, 1, 1); +} else { + x_173 = x_172; +} +lean::cnstr_set(x_173, 0, x_169); +lean::cnstr_set_scalar(x_173, sizeof(void*)*1, x_171); +x_174 = x_173; +x_175 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_174); +x_176 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_175); +x_177 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_178 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_176, x_177); +return x_178; +} +} +} +else +{ +obj* x_181; obj* x_182; obj* x_183; lean::dec(x_0); -x_122 = x_163; -goto lbl_123; -} -else -{ -obj* x_165; obj* x_166; obj* x_167; obj* x_168; -x_165 = l_string_iterator_next___main(x_0); -x_166 = lean::box(0); -x_167 = lean::box_uint32(x_130); -x_168 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_168, 0, x_167); -lean::cnstr_set(x_168, 1, x_165); -lean::cnstr_set(x_168, 2, x_166); -x_122 = x_168; -goto lbl_123; -} -} -} -} -lbl_123: -{ -obj* x_169; obj* x_170; -x_169 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_170 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_169, x_122); -if (lean::obj_tag(x_170) == 0) -{ -obj* x_171; obj* x_173; obj* x_175; obj* x_177; uint32 x_178; obj* x_179; obj* x_180; obj* x_181; obj* x_183; obj* x_184; obj* x_186; obj* x_187; obj* x_188; obj* x_189; obj* x_190; obj* x_191; -x_171 = lean::cnstr_get(x_170, 0); -x_173 = lean::cnstr_get(x_170, 1); -x_175 = lean::cnstr_get(x_170, 2); -if (lean::is_exclusive(x_170)) { - x_177 = x_170; -} else { - lean::inc(x_171); - lean::inc(x_173); - lean::inc(x_175); - lean::dec(x_170); - x_177 = lean::box(0); -} -x_178 = lean::unbox_uint32(x_171); -x_179 = lean::uint32_to_nat(x_178); -x_180 = l_lean_parser_parse__hex__digit___rarg___lambda__5___closed__1; -x_181 = lean::nat_sub(x_179, x_180); -lean::dec(x_179); -x_183 = lean::mk_nat_obj(10u); -x_184 = lean::nat_add(x_183, x_181); -lean::dec(x_181); -if (lean::is_scalar(x_177)) { - x_186 = lean::alloc_cnstr(0, 3, 0); -} else { - x_186 = x_177; -} -lean::cnstr_set(x_186, 0, x_184); -lean::cnstr_set(x_186, 1, x_173); -lean::cnstr_set(x_186, 2, x_169); -x_187 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_175, x_186); -x_188 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_187); -x_189 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_188); -x_190 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_191 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_189, x_190); -return x_191; -} -else -{ -obj* x_192; uint8 x_194; obj* x_195; obj* x_196; obj* x_197; obj* x_198; obj* x_199; obj* x_200; obj* x_201; -x_192 = lean::cnstr_get(x_170, 0); -x_194 = lean::cnstr_get_scalar(x_170, sizeof(void*)*1); -if (lean::is_exclusive(x_170)) { - x_195 = x_170; -} else { - lean::inc(x_192); - lean::dec(x_170); - x_195 = lean::box(0); -} -if (lean::is_scalar(x_195)) { - x_196 = lean::alloc_cnstr(1, 1, 1); -} else { - x_196 = x_195; -} -lean::cnstr_set(x_196, 0, x_192); -lean::cnstr_set_scalar(x_196, sizeof(void*)*1, x_194); -x_197 = x_196; -x_198 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_36, x_197); -x_199 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_198); -x_200 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_201 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_199, x_200); -return x_201; -} -} -} -else -{ -obj* x_204; obj* x_205; obj* x_206; lean::dec(x_36); -lean::dec(x_0); -x_204 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_35); -x_205 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; -x_206 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_204, x_205); -return x_206; +x_181 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_2, x_35); +x_182 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_x_27___spec__5___closed__1; +x_183 = l_lean_parser_parsec__t_labels__mk__res___rarg(x_181, x_182); +return x_183; } } } @@ -24726,7 +24177,7 @@ lean::inc(x_0); x_2 = l_lean_parser_monad__parsec_any___at_lean_parser_string__lit_view_value___spec__5(x_0); if (lean::obj_tag(x_2) == 0) { -obj* x_3; obj* x_5; obj* x_7; obj* x_9; obj* x_10; obj* x_12; obj* x_14; uint32 x_16; uint32 x_17; uint8 x_18; +obj* x_3; obj* x_5; obj* x_7; obj* x_9; uint32 x_10; uint32 x_11; uint8 x_12; x_3 = lean::cnstr_get(x_2, 0); x_5 = lean::cnstr_get(x_2, 1); x_7 = lean::cnstr_get(x_2, 2); @@ -24742,392 +24193,413 @@ if (lean::is_exclusive(x_2)) { lean::dec(x_2); x_9 = lean::box(0); } -x_16 = 92; -x_17 = lean::unbox_uint32(x_3); -x_18 = x_17 == x_16; +x_10 = 92; +x_11 = lean::unbox_uint32(x_3); +x_12 = x_11 == x_10; +if (x_12 == 0) +{ +uint32 x_13; uint8 x_14; +x_13 = 34; +x_14 = x_11 == x_13; +if (x_14 == 0) +{ +uint32 x_15; uint8 x_16; +x_15 = 39; +x_16 = x_11 == x_15; +if (x_16 == 0) +{ +uint32 x_17; uint8 x_18; +x_17 = 110; +x_18 = x_11 == x_17; if (x_18 == 0) { -obj* x_19; -x_19 = lean::box(0); -x_14 = x_19; -goto lbl_15; -} -else +uint32 x_19; uint8 x_20; +x_19 = 116; +x_20 = x_11 == x_19; +if (x_20 == 0) { -obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; +uint32 x_22; uint8 x_23; lean::dec(x_9); -lean::dec(x_0); -x_22 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_23 = lean::box_uint32(x_16); -x_24 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_24, 0, x_23); -lean::cnstr_set(x_24, 1, x_5); -lean::cnstr_set(x_24, 2, x_22); -x_25 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_24); -x_26 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_22, x_25); -return x_26; -} -lbl_11: +x_22 = 120; +x_23 = x_11 == x_22; +if (x_23 == 0) { -uint32 x_28; uint32 x_29; uint8 x_30; -lean::dec(x_10); -x_28 = 117; -x_29 = lean::unbox_uint32(x_3); -x_30 = x_29 == x_28; -if (x_30 == 0) +uint32 x_24; uint8 x_25; +x_24 = 117; +x_25 = x_11 == x_24; +if (x_25 == 0) { -obj* x_31; obj* x_32; obj* x_34; obj* x_35; obj* x_36; -x_31 = l_lean_parser_parse__quoted__char___rarg___lambda__7___closed__1; -x_32 = l_lean_parser_monad__parsec_unexpected__at___at_lean_parser_string__lit_view_value___spec__7___rarg(x_31, x_0, x_5); +obj* x_26; obj* x_27; obj* x_29; obj* x_30; obj* x_31; +x_26 = l_lean_parser_parse__quoted__char___rarg___lambda__7___closed__1; +x_27 = l_lean_parser_monad__parsec_unexpected__at___at_lean_parser_string__lit_view_value___spec__7___rarg(x_26, x_0, x_5); lean::dec(x_5); -x_34 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_32); -x_35 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_36 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_35, x_34); -return x_36; +x_29 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_27); +x_30 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_31 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_30, x_29); +return x_31; } else { -obj* x_38; +obj* x_33; lean::dec(x_0); -x_38 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_5); -if (lean::obj_tag(x_38) == 0) +x_33 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_5); +if (lean::obj_tag(x_33) == 0) { -obj* x_39; obj* x_41; obj* x_43; obj* x_46; -x_39 = lean::cnstr_get(x_38, 0); -lean::inc(x_39); -x_41 = lean::cnstr_get(x_38, 1); -lean::inc(x_41); -x_43 = lean::cnstr_get(x_38, 2); -lean::inc(x_43); -lean::dec(x_38); -x_46 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_41); -if (lean::obj_tag(x_46) == 0) +obj* x_34; obj* x_36; obj* x_38; obj* x_41; +x_34 = lean::cnstr_get(x_33, 0); +lean::inc(x_34); +x_36 = lean::cnstr_get(x_33, 1); +lean::inc(x_36); +x_38 = lean::cnstr_get(x_33, 2); +lean::inc(x_38); +lean::dec(x_33); +x_41 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_36); +if (lean::obj_tag(x_41) == 0) { -obj* x_47; obj* x_49; obj* x_51; obj* x_54; -x_47 = lean::cnstr_get(x_46, 0); -lean::inc(x_47); -x_49 = lean::cnstr_get(x_46, 1); -lean::inc(x_49); -x_51 = lean::cnstr_get(x_46, 2); -lean::inc(x_51); -lean::dec(x_46); -x_54 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_49); -if (lean::obj_tag(x_54) == 0) +obj* x_42; obj* x_44; obj* x_46; obj* x_49; +x_42 = lean::cnstr_get(x_41, 0); +lean::inc(x_42); +x_44 = lean::cnstr_get(x_41, 1); +lean::inc(x_44); +x_46 = lean::cnstr_get(x_41, 2); +lean::inc(x_46); +lean::dec(x_41); +x_49 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_44); +if (lean::obj_tag(x_49) == 0) { -obj* x_55; obj* x_57; obj* x_59; obj* x_62; -x_55 = lean::cnstr_get(x_54, 0); -lean::inc(x_55); -x_57 = lean::cnstr_get(x_54, 1); -lean::inc(x_57); -x_59 = lean::cnstr_get(x_54, 2); -lean::inc(x_59); -lean::dec(x_54); -x_62 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_57); -if (lean::obj_tag(x_62) == 0) +obj* x_50; obj* x_52; obj* x_54; obj* x_57; +x_50 = lean::cnstr_get(x_49, 0); +lean::inc(x_50); +x_52 = lean::cnstr_get(x_49, 1); +lean::inc(x_52); +x_54 = lean::cnstr_get(x_49, 2); +lean::inc(x_54); +lean::dec(x_49); +x_57 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_52); +if (lean::obj_tag(x_57) == 0) { -obj* x_63; obj* x_65; obj* x_67; obj* x_69; obj* x_70; obj* x_71; obj* x_73; obj* x_76; obj* x_78; obj* x_81; obj* x_83; uint32 x_86; obj* x_88; obj* x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; obj* x_94; obj* x_95; obj* x_96; -x_63 = lean::cnstr_get(x_62, 0); -x_65 = lean::cnstr_get(x_62, 1); -x_67 = lean::cnstr_get(x_62, 2); -if (lean::is_exclusive(x_62)) { - x_69 = x_62; +obj* x_58; obj* x_60; obj* x_62; obj* x_64; obj* x_65; obj* x_66; obj* x_68; obj* x_71; obj* x_73; obj* x_76; obj* x_78; uint32 x_81; obj* x_83; obj* x_84; obj* x_85; obj* x_86; obj* x_87; obj* x_88; obj* x_89; obj* x_90; obj* x_91; +x_58 = lean::cnstr_get(x_57, 0); +x_60 = lean::cnstr_get(x_57, 1); +x_62 = lean::cnstr_get(x_57, 2); +if (lean::is_exclusive(x_57)) { + x_64 = x_57; } else { - lean::inc(x_63); - lean::inc(x_65); - lean::inc(x_67); - lean::dec(x_62); - x_69 = lean::box(0); + lean::inc(x_58); + lean::inc(x_60); + lean::inc(x_62); + lean::dec(x_57); + x_64 = lean::box(0); } -x_70 = lean::mk_nat_obj(16u); -x_71 = lean::nat_mul(x_70, x_39); -lean::dec(x_39); -x_73 = lean::nat_add(x_71, x_47); -lean::dec(x_47); +x_65 = lean::mk_nat_obj(16u); +x_66 = lean::nat_mul(x_65, x_34); +lean::dec(x_34); +x_68 = lean::nat_add(x_66, x_42); +lean::dec(x_42); +lean::dec(x_66); +x_71 = lean::nat_mul(x_65, x_68); +lean::dec(x_68); +x_73 = lean::nat_add(x_71, x_50); +lean::dec(x_50); lean::dec(x_71); -x_76 = lean::nat_mul(x_70, x_73); +x_76 = lean::nat_mul(x_65, x_73); lean::dec(x_73); -x_78 = lean::nat_add(x_76, x_55); -lean::dec(x_55); +x_78 = lean::nat_add(x_76, x_58); +lean::dec(x_58); lean::dec(x_76); -x_81 = lean::nat_mul(x_70, x_78); +x_81 = l_char_of__nat(x_78); lean::dec(x_78); -x_83 = lean::nat_add(x_81, x_63); -lean::dec(x_63); -lean::dec(x_81); -x_86 = l_char_of__nat(x_83); -lean::dec(x_83); -x_88 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_89 = lean::box_uint32(x_86); -if (lean::is_scalar(x_69)) { - x_90 = lean::alloc_cnstr(0, 3, 0); +x_83 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_84 = lean::box_uint32(x_81); +if (lean::is_scalar(x_64)) { + x_85 = lean::alloc_cnstr(0, 3, 0); } else { - x_90 = x_69; + x_85 = x_64; } -lean::cnstr_set(x_90, 0, x_89); -lean::cnstr_set(x_90, 1, x_65); -lean::cnstr_set(x_90, 2, x_88); -x_91 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_67, x_90); -x_92 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_59, x_91); -x_93 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_51, x_92); -x_94 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_43, x_93); -x_95 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_94); -x_96 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_88, x_95); -return x_96; +lean::cnstr_set(x_85, 0, x_84); +lean::cnstr_set(x_85, 1, x_60); +lean::cnstr_set(x_85, 2, x_83); +x_86 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_62, x_85); +x_87 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_54, x_86); +x_88 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_46, x_87); +x_89 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_38, x_88); +x_90 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_89); +x_91 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_83, x_90); +return x_91; } else { -obj* x_100; uint8 x_102; obj* x_103; obj* x_104; obj* x_105; obj* x_106; obj* x_107; obj* x_108; obj* x_109; obj* x_110; obj* x_111; -lean::dec(x_47); -lean::dec(x_55); -lean::dec(x_39); -x_100 = lean::cnstr_get(x_62, 0); -x_102 = lean::cnstr_get_scalar(x_62, sizeof(void*)*1); -if (lean::is_exclusive(x_62)) { - x_103 = x_62; +obj* x_95; uint8 x_97; obj* x_98; obj* x_99; obj* x_100; obj* x_101; obj* x_102; obj* x_103; obj* x_104; obj* x_105; obj* x_106; +lean::dec(x_42); +lean::dec(x_50); +lean::dec(x_34); +x_95 = lean::cnstr_get(x_57, 0); +x_97 = lean::cnstr_get_scalar(x_57, sizeof(void*)*1); +if (lean::is_exclusive(x_57)) { + x_98 = x_57; } else { - lean::inc(x_100); - lean::dec(x_62); - x_103 = lean::box(0); + lean::inc(x_95); + lean::dec(x_57); + x_98 = lean::box(0); } -if (lean::is_scalar(x_103)) { - x_104 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_98)) { + x_99 = lean::alloc_cnstr(1, 1, 1); } else { - x_104 = x_103; + x_99 = x_98; } -lean::cnstr_set(x_104, 0, x_100); -lean::cnstr_set_scalar(x_104, sizeof(void*)*1, x_102); -x_105 = x_104; -x_106 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_59, x_105); -x_107 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_51, x_106); -x_108 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_43, x_107); -x_109 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_108); -x_110 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_111 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_110, x_109); -return x_111; +lean::cnstr_set(x_99, 0, x_95); +lean::cnstr_set_scalar(x_99, sizeof(void*)*1, x_97); +x_100 = x_99; +x_101 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_54, x_100); +x_102 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_46, x_101); +x_103 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_38, x_102); +x_104 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_103); +x_105 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_106 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_105, x_104); +return x_106; } } else { -obj* x_114; uint8 x_116; obj* x_117; obj* x_118; obj* x_119; obj* x_120; obj* x_121; obj* x_122; obj* x_123; obj* x_124; -lean::dec(x_47); -lean::dec(x_39); -x_114 = lean::cnstr_get(x_54, 0); -x_116 = lean::cnstr_get_scalar(x_54, sizeof(void*)*1); -if (lean::is_exclusive(x_54)) { - x_117 = x_54; +obj* x_109; uint8 x_111; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_117; obj* x_118; obj* x_119; +lean::dec(x_42); +lean::dec(x_34); +x_109 = lean::cnstr_get(x_49, 0); +x_111 = lean::cnstr_get_scalar(x_49, sizeof(void*)*1); +if (lean::is_exclusive(x_49)) { + x_112 = x_49; } else { - lean::inc(x_114); - lean::dec(x_54); - x_117 = lean::box(0); + lean::inc(x_109); + lean::dec(x_49); + x_112 = lean::box(0); } -if (lean::is_scalar(x_117)) { - x_118 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_112)) { + x_113 = lean::alloc_cnstr(1, 1, 1); } else { - x_118 = x_117; + x_113 = x_112; } -lean::cnstr_set(x_118, 0, x_114); -lean::cnstr_set_scalar(x_118, sizeof(void*)*1, x_116); -x_119 = x_118; -x_120 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_51, x_119); -x_121 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_43, x_120); -x_122 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_121); -x_123 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_124 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_123, x_122); -return x_124; +lean::cnstr_set(x_113, 0, x_109); +lean::cnstr_set_scalar(x_113, sizeof(void*)*1, x_111); +x_114 = x_113; +x_115 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_46, x_114); +x_116 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_38, x_115); +x_117 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_116); +x_118 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_119 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_118, x_117); +return x_119; } } else { -obj* x_126; uint8 x_128; obj* x_129; obj* x_130; obj* x_131; obj* x_132; obj* x_133; obj* x_134; obj* x_135; -lean::dec(x_39); -x_126 = lean::cnstr_get(x_46, 0); -x_128 = lean::cnstr_get_scalar(x_46, sizeof(void*)*1); -if (lean::is_exclusive(x_46)) { - x_129 = x_46; +obj* x_121; uint8 x_123; obj* x_124; obj* x_125; obj* x_126; obj* x_127; obj* x_128; obj* x_129; obj* x_130; +lean::dec(x_34); +x_121 = lean::cnstr_get(x_41, 0); +x_123 = lean::cnstr_get_scalar(x_41, sizeof(void*)*1); +if (lean::is_exclusive(x_41)) { + x_124 = x_41; } else { - lean::inc(x_126); - lean::dec(x_46); - x_129 = lean::box(0); + lean::inc(x_121); + lean::dec(x_41); + x_124 = lean::box(0); } -if (lean::is_scalar(x_129)) { - x_130 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_124)) { + x_125 = lean::alloc_cnstr(1, 1, 1); } else { - x_130 = x_129; + x_125 = x_124; } -lean::cnstr_set(x_130, 0, x_126); -lean::cnstr_set_scalar(x_130, sizeof(void*)*1, x_128); -x_131 = x_130; -x_132 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_43, x_131); -x_133 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_132); -x_134 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_135 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_134, x_133); -return x_135; +lean::cnstr_set(x_125, 0, x_121); +lean::cnstr_set_scalar(x_125, sizeof(void*)*1, x_123); +x_126 = x_125; +x_127 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_38, x_126); +x_128 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_127); +x_129 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_130 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_129, x_128); +return x_130; } } else { -obj* x_136; uint8 x_138; obj* x_139; obj* x_140; obj* x_141; obj* x_142; obj* x_143; obj* x_144; -x_136 = lean::cnstr_get(x_38, 0); -x_138 = lean::cnstr_get_scalar(x_38, sizeof(void*)*1); -if (lean::is_exclusive(x_38)) { - x_139 = x_38; +obj* x_131; uint8 x_133; obj* x_134; obj* x_135; obj* x_136; obj* x_137; obj* x_138; obj* x_139; +x_131 = lean::cnstr_get(x_33, 0); +x_133 = lean::cnstr_get_scalar(x_33, sizeof(void*)*1); +if (lean::is_exclusive(x_33)) { + x_134 = x_33; } else { - lean::inc(x_136); - lean::dec(x_38); - x_139 = lean::box(0); + lean::inc(x_131); + lean::dec(x_33); + x_134 = lean::box(0); } -if (lean::is_scalar(x_139)) { - x_140 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_134)) { + x_135 = lean::alloc_cnstr(1, 1, 1); } else { - x_140 = x_139; + x_135 = x_134; } -lean::cnstr_set(x_140, 0, x_136); -lean::cnstr_set_scalar(x_140, sizeof(void*)*1, x_138); -x_141 = x_140; -x_142 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_141); -x_143 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_144 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_143, x_142); -return x_144; +lean::cnstr_set(x_135, 0, x_131); +lean::cnstr_set_scalar(x_135, sizeof(void*)*1, x_133); +x_136 = x_135; +x_137 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_136); +x_138 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_139 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_138, x_137); +return x_139; } } } -lbl_13: -{ -uint32 x_146; uint32 x_147; uint8 x_148; -lean::dec(x_12); -x_146 = 116; -x_147 = lean::unbox_uint32(x_3); -x_148 = x_147 == x_146; -if (x_148 == 0) -{ -uint32 x_150; uint8 x_151; -lean::dec(x_9); -x_150 = 120; -x_151 = x_147 == x_150; -if (x_151 == 0) -{ -obj* x_152; -x_152 = lean::box(0); -x_10 = x_152; -goto lbl_11; -} else { -obj* x_154; +obj* x_141; lean::dec(x_0); -x_154 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_5); -if (lean::obj_tag(x_154) == 0) +x_141 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_5); +if (lean::obj_tag(x_141) == 0) { -obj* x_155; obj* x_157; obj* x_159; obj* x_162; -x_155 = lean::cnstr_get(x_154, 0); -lean::inc(x_155); -x_157 = lean::cnstr_get(x_154, 1); -lean::inc(x_157); -x_159 = lean::cnstr_get(x_154, 2); -lean::inc(x_159); -lean::dec(x_154); -x_162 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_157); -if (lean::obj_tag(x_162) == 0) +obj* x_142; obj* x_144; obj* x_146; obj* x_149; +x_142 = lean::cnstr_get(x_141, 0); +lean::inc(x_142); +x_144 = lean::cnstr_get(x_141, 1); +lean::inc(x_144); +x_146 = lean::cnstr_get(x_141, 2); +lean::inc(x_146); +lean::dec(x_141); +x_149 = l_lean_parser_parse__hex__digit___at_lean_parser_string__lit_view_value___spec__8(x_144); +if (lean::obj_tag(x_149) == 0) { -obj* x_163; obj* x_165; obj* x_167; obj* x_169; obj* x_170; obj* x_171; obj* x_173; uint32 x_176; obj* x_178; obj* x_179; obj* x_180; obj* x_181; obj* x_182; obj* x_183; obj* x_184; -x_163 = lean::cnstr_get(x_162, 0); -x_165 = lean::cnstr_get(x_162, 1); -x_167 = lean::cnstr_get(x_162, 2); -if (lean::is_exclusive(x_162)) { - x_169 = x_162; +obj* x_150; obj* x_152; obj* x_154; obj* x_156; obj* x_157; obj* x_158; obj* x_160; uint32 x_163; obj* x_165; obj* x_166; obj* x_167; obj* x_168; obj* x_169; obj* x_170; obj* x_171; +x_150 = lean::cnstr_get(x_149, 0); +x_152 = lean::cnstr_get(x_149, 1); +x_154 = lean::cnstr_get(x_149, 2); +if (lean::is_exclusive(x_149)) { + x_156 = x_149; } else { - lean::inc(x_163); - lean::inc(x_165); - lean::inc(x_167); - lean::dec(x_162); - x_169 = lean::box(0); + lean::inc(x_150); + lean::inc(x_152); + lean::inc(x_154); + lean::dec(x_149); + x_156 = lean::box(0); } -x_170 = lean::mk_nat_obj(16u); -x_171 = lean::nat_mul(x_170, x_155); -lean::dec(x_155); -x_173 = lean::nat_add(x_171, x_163); -lean::dec(x_163); -lean::dec(x_171); -x_176 = l_char_of__nat(x_173); -lean::dec(x_173); -x_178 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_179 = lean::box_uint32(x_176); -if (lean::is_scalar(x_169)) { - x_180 = lean::alloc_cnstr(0, 3, 0); +x_157 = lean::mk_nat_obj(16u); +x_158 = lean::nat_mul(x_157, x_142); +lean::dec(x_142); +x_160 = lean::nat_add(x_158, x_150); +lean::dec(x_150); +lean::dec(x_158); +x_163 = l_char_of__nat(x_160); +lean::dec(x_160); +x_165 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_166 = lean::box_uint32(x_163); +if (lean::is_scalar(x_156)) { + x_167 = lean::alloc_cnstr(0, 3, 0); } else { - x_180 = x_169; + x_167 = x_156; } -lean::cnstr_set(x_180, 0, x_179); -lean::cnstr_set(x_180, 1, x_165); -lean::cnstr_set(x_180, 2, x_178); -x_181 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_167, x_180); -x_182 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_159, x_181); -x_183 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_182); -x_184 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_178, x_183); -return x_184; +lean::cnstr_set(x_167, 0, x_166); +lean::cnstr_set(x_167, 1, x_152); +lean::cnstr_set(x_167, 2, x_165); +x_168 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_154, x_167); +x_169 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_146, x_168); +x_170 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_169); +x_171 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_165, x_170); +return x_171; } else { -obj* x_186; uint8 x_188; obj* x_189; obj* x_190; obj* x_191; obj* x_192; obj* x_193; obj* x_194; obj* x_195; -lean::dec(x_155); -x_186 = lean::cnstr_get(x_162, 0); -x_188 = lean::cnstr_get_scalar(x_162, sizeof(void*)*1); -if (lean::is_exclusive(x_162)) { - x_189 = x_162; +obj* x_173; uint8 x_175; obj* x_176; obj* x_177; obj* x_178; obj* x_179; obj* x_180; obj* x_181; obj* x_182; +lean::dec(x_142); +x_173 = lean::cnstr_get(x_149, 0); +x_175 = lean::cnstr_get_scalar(x_149, sizeof(void*)*1); +if (lean::is_exclusive(x_149)) { + x_176 = x_149; } else { - lean::inc(x_186); - lean::dec(x_162); - x_189 = lean::box(0); + lean::inc(x_173); + lean::dec(x_149); + x_176 = lean::box(0); } -if (lean::is_scalar(x_189)) { - x_190 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_176)) { + x_177 = lean::alloc_cnstr(1, 1, 1); } else { - x_190 = x_189; + x_177 = x_176; } -lean::cnstr_set(x_190, 0, x_186); -lean::cnstr_set_scalar(x_190, sizeof(void*)*1, x_188); -x_191 = x_190; -x_192 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_159, x_191); -x_193 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_192); +lean::cnstr_set(x_177, 0, x_173); +lean::cnstr_set_scalar(x_177, sizeof(void*)*1, x_175); +x_178 = x_177; +x_179 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_146, x_178); +x_180 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_179); +x_181 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_182 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_181, x_180); +return x_182; +} +} +else +{ +obj* x_183; uint8 x_185; obj* x_186; obj* x_187; obj* x_188; obj* x_189; obj* x_190; obj* x_191; +x_183 = lean::cnstr_get(x_141, 0); +x_185 = lean::cnstr_get_scalar(x_141, sizeof(void*)*1); +if (lean::is_exclusive(x_141)) { + x_186 = x_141; +} else { + lean::inc(x_183); + lean::dec(x_141); + x_186 = lean::box(0); +} +if (lean::is_scalar(x_186)) { + x_187 = lean::alloc_cnstr(1, 1, 1); +} else { + x_187 = x_186; +} +lean::cnstr_set(x_187, 0, x_183); +lean::cnstr_set_scalar(x_187, sizeof(void*)*1, x_185); +x_188 = x_187; +x_189 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_188); +x_190 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_191 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_190, x_189); +return x_191; +} +} +} +else +{ +uint32 x_193; obj* x_194; obj* x_195; obj* x_196; obj* x_197; obj* x_198; +lean::dec(x_0); +x_193 = 9; x_194 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_195 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_194, x_193); -return x_195; +x_195 = lean::box_uint32(x_193); +if (lean::is_scalar(x_9)) { + x_196 = lean::alloc_cnstr(0, 3, 0); +} else { + x_196 = x_9; +} +lean::cnstr_set(x_196, 0, x_195); +lean::cnstr_set(x_196, 1, x_5); +lean::cnstr_set(x_196, 2, x_194); +x_197 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_196); +x_198 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_194, x_197); +return x_198; } } else { -obj* x_196; uint8 x_198; obj* x_199; obj* x_200; obj* x_201; obj* x_202; obj* x_203; obj* x_204; -x_196 = lean::cnstr_get(x_154, 0); -x_198 = lean::cnstr_get_scalar(x_154, sizeof(void*)*1); -if (lean::is_exclusive(x_154)) { - x_199 = x_154; -} else { - lean::inc(x_196); - lean::dec(x_154); - x_199 = lean::box(0); -} -if (lean::is_scalar(x_199)) { - x_200 = lean::alloc_cnstr(1, 1, 1); -} else { - x_200 = x_199; -} -lean::cnstr_set(x_200, 0, x_196); -lean::cnstr_set_scalar(x_200, sizeof(void*)*1, x_198); -x_201 = x_200; -x_202 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_201); -x_203 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_204 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_203, x_202); -return x_204; -} -} -} -else -{ -uint32 x_206; obj* x_207; obj* x_208; obj* x_209; obj* x_210; obj* x_211; +uint32 x_200; obj* x_201; obj* x_202; obj* x_203; obj* x_204; obj* x_205; +lean::dec(x_0); +x_200 = 10; +x_201 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_202 = lean::box_uint32(x_200); +if (lean::is_scalar(x_9)) { + x_203 = lean::alloc_cnstr(0, 3, 0); +} else { + x_203 = x_9; +} +lean::cnstr_set(x_203, 0, x_202); +lean::cnstr_set(x_203, 1, x_5); +lean::cnstr_set(x_203, 2, x_201); +x_204 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_203); +x_205 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_201, x_204); +return x_205; +} +} +else +{ +obj* x_207; obj* x_208; obj* x_209; obj* x_210; obj* x_211; lean::dec(x_0); -x_206 = 9; x_207 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_208 = lean::box_uint32(x_206); +x_208 = lean::box_uint32(x_15); if (lean::is_scalar(x_9)) { x_209 = lean::alloc_cnstr(0, 3, 0); } else { @@ -25141,104 +24613,68 @@ x_211 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_207, x_210); return x_211; } } -lbl_15: -{ -uint32 x_213; uint32 x_214; uint8 x_215; -lean::dec(x_14); -x_213 = 34; -x_214 = lean::unbox_uint32(x_3); -x_215 = x_214 == x_213; -if (x_215 == 0) -{ -uint32 x_216; uint8 x_217; -x_216 = 39; -x_217 = x_214 == x_216; -if (x_217 == 0) -{ -uint32 x_218; uint8 x_219; -x_218 = 110; -x_219 = x_214 == x_218; -if (x_219 == 0) -{ -obj* x_220; -x_220 = lean::box(0); -x_12 = x_220; -goto lbl_13; -} else { -uint32 x_223; obj* x_224; obj* x_225; obj* x_226; obj* x_227; obj* x_228; -lean::dec(x_9); +obj* x_213; obj* x_214; obj* x_215; obj* x_216; obj* x_217; lean::dec(x_0); -x_223 = 10; -x_224 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_225 = lean::box_uint32(x_223); -x_226 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_226, 0, x_225); -lean::cnstr_set(x_226, 1, x_5); -lean::cnstr_set(x_226, 2, x_224); -x_227 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_226); -x_228 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_224, x_227); -return x_228; +x_213 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_214 = lean::box_uint32(x_13); +if (lean::is_scalar(x_9)) { + x_215 = lean::alloc_cnstr(0, 3, 0); +} else { + x_215 = x_9; +} +lean::cnstr_set(x_215, 0, x_214); +lean::cnstr_set(x_215, 1, x_5); +lean::cnstr_set(x_215, 2, x_213); +x_216 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_215); +x_217 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_213, x_216); +return x_217; } } else { -obj* x_231; obj* x_232; obj* x_233; obj* x_234; obj* x_235; -lean::dec(x_9); +obj* x_219; obj* x_220; obj* x_221; obj* x_222; obj* x_223; lean::dec(x_0); -x_231 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_232 = lean::box_uint32(x_216); -x_233 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_233, 0, x_232); -lean::cnstr_set(x_233, 1, x_5); -lean::cnstr_set(x_233, 2, x_231); -x_234 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_233); -x_235 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_231, x_234); -return x_235; +x_219 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_220 = lean::box_uint32(x_10); +if (lean::is_scalar(x_9)) { + x_221 = lean::alloc_cnstr(0, 3, 0); +} else { + x_221 = x_9; +} +lean::cnstr_set(x_221, 0, x_220); +lean::cnstr_set(x_221, 1, x_5); +lean::cnstr_set(x_221, 2, x_219); +x_222 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_221); +x_223 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_219, x_222); +return x_223; } } else { -obj* x_238; obj* x_239; obj* x_240; obj* x_241; obj* x_242; -lean::dec(x_9); +obj* x_225; uint8 x_227; obj* x_228; obj* x_229; obj* x_230; obj* x_231; obj* x_232; lean::dec(x_0); -x_238 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_239 = lean::box_uint32(x_213); -x_240 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_240, 0, x_239); -lean::cnstr_set(x_240, 1, x_5); -lean::cnstr_set(x_240, 2, x_238); -x_241 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_7, x_240); -x_242 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_238, x_241); -return x_242; -} -} -} -else -{ -obj* x_244; uint8 x_246; obj* x_247; obj* x_248; obj* x_249; obj* x_250; obj* x_251; -lean::dec(x_0); -x_244 = lean::cnstr_get(x_2, 0); -x_246 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); +x_225 = lean::cnstr_get(x_2, 0); +x_227 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); if (lean::is_exclusive(x_2)) { - x_247 = x_2; + x_228 = x_2; } else { - lean::inc(x_244); + lean::inc(x_225); lean::dec(x_2); - x_247 = lean::box(0); + x_228 = lean::box(0); } -if (lean::is_scalar(x_247)) { - x_248 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_228)) { + x_229 = lean::alloc_cnstr(1, 1, 1); } else { - x_248 = x_247; + x_229 = x_228; } -lean::cnstr_set(x_248, 0, x_244); -lean::cnstr_set_scalar(x_248, sizeof(void*)*1, x_246); -x_249 = x_248; -x_250 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_251 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_250, x_249); -return x_251; +lean::cnstr_set(x_229, 0, x_225); +lean::cnstr_set_scalar(x_229, sizeof(void*)*1, x_227); +x_230 = x_229; +x_231 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_232 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_231, x_230); +return x_232; } } } diff --git a/src/boot/init/lean/trace.cpp b/src/boot/init/lean/trace.cpp index 2435708b19..9930da547f 100644 --- a/src/boot/init/lean/trace.cpp +++ b/src/boot/init/lean/trace.cpp @@ -660,7 +660,7 @@ return x_13; obj* l_lean_trace_lean_trace_monad__tracer___rarg___lambda__4(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { _start: { -obj* x_7; obj* x_9; obj* x_11; obj* x_12; obj* x_14; obj* x_17; +obj* x_7; obj* x_9; obj* x_11; obj* x_12; obj* x_15; x_7 = lean::cnstr_get(x_6, 0); x_9 = lean::cnstr_get(x_6, 1); if (lean::is_exclusive(x_6)) { @@ -673,88 +673,91 @@ if (lean::is_exclusive(x_6)) { lean::dec(x_6); x_11 = lean::box(0); } -x_14 = lean::cnstr_get(x_7, 0); -lean::inc(x_14); +x_12 = lean::cnstr_get(x_7, 0); +lean::inc(x_12); lean::dec(x_7); -x_17 = l_lean_kvmap_get__bool(x_14, x_5); -if (lean::obj_tag(x_17) == 0) +x_15 = l_lean_kvmap_get__bool(x_12, x_0); +if (lean::obj_tag(x_15) == 0) { -obj* x_23; obj* x_25; +obj* x_21; obj* x_23; +lean::dec(x_5); lean::dec(x_11); lean::dec(x_4); -lean::dec(x_1); lean::dec(x_3); -lean::dec(x_0); -x_23 = lean::thunk_get(x_2); lean::dec(x_2); -x_25 = lean::apply_1(x_23, x_9); -return x_25; +x_21 = lean::thunk_get(x_1); +lean::dec(x_1); +x_23 = lean::apply_1(x_21, x_9); +return x_23; } else { -obj* x_26; uint8 x_29; -x_26 = lean::cnstr_get(x_17, 0); -lean::inc(x_26); -lean::dec(x_17); -x_29 = lean::unbox(x_26); -if (x_29 == 0) -{ -obj* x_35; obj* x_37; -lean::dec(x_11); -lean::dec(x_4); -lean::dec(x_1); -lean::dec(x_3); -lean::dec(x_0); -x_35 = lean::thunk_get(x_2); -lean::dec(x_2); -x_37 = lean::apply_1(x_35, x_9); -return x_37; -} -else -{ -obj* x_38; -x_38 = lean::box(0); -x_12 = x_38; -goto lbl_13; -} -} -lbl_13: -{ -obj* x_40; obj* x_42; obj* x_46; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_52; obj* x_54; obj* x_55; -lean::dec(x_12); -x_40 = lean::cnstr_get(x_9, 0); -lean::inc(x_40); -x_42 = lean::cnstr_get(x_9, 1); -lean::inc(x_42); -lean::dec(x_9); -lean::inc(x_0); -x_46 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_46, 0, x_0); -x_47 = lean::box(0); -x_48 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_48, 0, x_40); -lean::cnstr_set(x_48, 1, x_42); -lean::cnstr_set(x_48, 2, x_46); -lean::cnstr_set(x_48, 3, x_47); -x_49 = lean::box(0); -if (lean::is_scalar(x_11)) { - x_50 = lean::alloc_cnstr(0, 2, 0); +obj* x_24; obj* x_26; uint8 x_27; +x_24 = lean::cnstr_get(x_15, 0); +if (lean::is_exclusive(x_15)) { + lean::cnstr_set(x_15, 0, lean::box(0)); + x_26 = x_15; } else { - x_50 = x_11; + lean::inc(x_24); + lean::dec(x_15); + x_26 = lean::box(0); +} +x_27 = lean::unbox(x_24); +if (x_27 == 0) +{ +obj* x_34; obj* x_36; +lean::dec(x_5); +lean::dec(x_11); +lean::dec(x_4); +lean::dec(x_3); +lean::dec(x_2); +lean::dec(x_26); +x_34 = lean::thunk_get(x_1); +lean::dec(x_1); +x_36 = lean::apply_1(x_34, x_9); +return x_36; +} +else +{ +obj* x_37; obj* x_39; obj* x_43; obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_49; obj* x_51; obj* x_52; +x_37 = lean::cnstr_get(x_9, 0); +lean::inc(x_37); +x_39 = lean::cnstr_get(x_9, 1); +lean::inc(x_39); +lean::dec(x_9); +lean::inc(x_2); +if (lean::is_scalar(x_26)) { + x_43 = lean::alloc_cnstr(1, 1, 0); +} else { + x_43 = x_26; +} +lean::cnstr_set(x_43, 0, x_2); +x_44 = lean::box(0); +x_45 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_45, 0, x_37); +lean::cnstr_set(x_45, 1, x_39); +lean::cnstr_set(x_45, 2, x_43); +lean::cnstr_set(x_45, 3, x_44); +x_46 = lean::box(0); +if (lean::is_scalar(x_11)) { + x_47 = lean::alloc_cnstr(0, 2, 0); +} else { + x_47 = x_11; +} +lean::cnstr_set(x_47, 0, x_46); +lean::cnstr_set(x_47, 1, x_45); +lean::inc(x_3); +x_49 = lean::apply_2(x_3, lean::box(0), x_47); +lean::inc(x_5); +x_51 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__3___boxed), 6, 5); +lean::closure_set(x_51, 0, x_1); +lean::closure_set(x_51, 1, x_4); +lean::closure_set(x_51, 2, x_2); +lean::closure_set(x_51, 3, x_3); +lean::closure_set(x_51, 4, x_5); +x_52 = lean::apply_4(x_5, lean::box(0), lean::box(0), x_49, x_51); +return x_52; } -lean::cnstr_set(x_50, 0, x_49); -lean::cnstr_set(x_50, 1, x_48); -lean::inc(x_1); -x_52 = lean::apply_2(x_1, lean::box(0), x_50); -lean::inc(x_4); -x_54 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__3___boxed), 6, 5); -lean::closure_set(x_54, 0, x_2); -lean::closure_set(x_54, 1, x_3); -lean::closure_set(x_54, 2, x_0); -lean::closure_set(x_54, 3, x_1); -lean::closure_set(x_54, 4, x_4); -x_55 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_52, x_54); -return x_55; } } } @@ -778,12 +781,12 @@ lean::inc(x_12); x_18 = lean::apply_2(x_12, lean::box(0), x_16); lean::inc(x_7); x_20 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__4___boxed), 7, 6); -lean::closure_set(x_20, 0, x_2); -lean::closure_set(x_20, 1, x_12); -lean::closure_set(x_20, 2, x_5); -lean::closure_set(x_20, 3, x_4); -lean::closure_set(x_20, 4, x_7); -lean::closure_set(x_20, 5, x_3); +lean::closure_set(x_20, 0, x_3); +lean::closure_set(x_20, 1, x_5); +lean::closure_set(x_20, 2, x_2); +lean::closure_set(x_20, 3, x_12); +lean::closure_set(x_20, 4, x_4); +lean::closure_set(x_20, 5, x_7); x_21 = lean::apply_4(x_7, lean::box(0), lean::box(0), x_18, x_20); return x_21; } @@ -910,7 +913,7 @@ if (lean::obj_tag(x_9) == 0) { obj* x_17; obj* x_20; obj* x_22; lean::dec(x_5); -lean::dec(x_4); +lean::dec(x_7); lean::dec(x_1); lean::dec(x_6); lean::dec(x_3); @@ -925,7 +928,7 @@ return x_22; } else { -obj* x_24; obj* x_26; obj* x_27; obj* x_29; obj* x_31; obj* x_34; +obj* x_24; obj* x_26; obj* x_27; obj* x_29; obj* x_32; lean::dec(x_9); x_24 = lean::cnstr_get(x_8, 1); if (lean::is_exclusive(x_8)) { @@ -940,92 +943,84 @@ if (lean::is_exclusive(x_8)) { x_27 = lean::cnstr_get(x_1, 0); lean::inc(x_27); lean::inc(x_27); -x_34 = l_lean_kvmap_get__bool(x_27, x_7); -if (lean::obj_tag(x_34) == 0) +x_32 = l_lean_kvmap_get__bool(x_27, x_4); +if (lean::obj_tag(x_32) == 0) { -obj* x_39; +obj* x_37; lean::dec(x_5); lean::dec(x_26); -lean::dec(x_4); +lean::dec(x_7); lean::dec(x_6); -x_39 = lean::box(0); -x_29 = x_39; +x_37 = lean::box(0); +x_29 = x_37; goto lbl_30; } else { -obj* x_40; uint8 x_43; -x_40 = lean::cnstr_get(x_34, 0); -lean::inc(x_40); -lean::dec(x_34); -x_43 = lean::unbox(x_40); -if (x_43 == 0) +obj* x_38; uint8 x_41; +x_38 = lean::cnstr_get(x_32, 0); +lean::inc(x_38); +lean::dec(x_32); +x_41 = lean::unbox(x_38); +if (x_41 == 0) { -obj* x_48; +obj* x_46; lean::dec(x_5); lean::dec(x_26); -lean::dec(x_4); +lean::dec(x_7); lean::dec(x_6); -x_48 = lean::box(0); -x_29 = x_48; +x_46 = lean::box(0); +x_29 = x_46; goto lbl_30; } else { -obj* x_51; +obj* x_49; obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_56; obj* x_58; obj* x_59; lean::dec(x_3); lean::dec(x_24); +x_49 = lean::cnstr_get(x_1, 1); +lean::inc(x_49); x_51 = lean::box(0); -x_31 = x_51; -goto lbl_32; +x_52 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_52, 0, x_27); +lean::cnstr_set(x_52, 1, x_49); +lean::cnstr_set(x_52, 2, x_2); +lean::cnstr_set(x_52, 3, x_51); +x_53 = lean::box(0); +if (lean::is_scalar(x_26)) { + x_54 = lean::alloc_cnstr(0, 2, 0); +} else { + x_54 = x_26; +} +lean::cnstr_set(x_54, 0, x_53); +lean::cnstr_set(x_54, 1, x_52); +lean::inc(x_5); +x_56 = lean::apply_2(x_5, lean::box(0), x_54); +lean::inc(x_7); +x_58 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__9___boxed), 7, 6); +lean::closure_set(x_58, 0, x_0); +lean::closure_set(x_58, 1, x_1); +lean::closure_set(x_58, 2, x_6); +lean::closure_set(x_58, 3, x_51); +lean::closure_set(x_58, 4, x_5); +lean::closure_set(x_58, 5, x_7); +x_59 = lean::apply_4(x_7, lean::box(0), lean::box(0), x_56, x_58); +return x_59; } } lbl_30: { -obj* x_53; obj* x_54; obj* x_55; obj* x_57; +obj* x_61; obj* x_62; obj* x_63; obj* x_65; lean::dec(x_29); -x_53 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__6___boxed), 3, 2); -lean::closure_set(x_53, 0, x_1); -lean::closure_set(x_53, 1, x_27); -x_54 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__7), 2, 1); -lean::closure_set(x_54, 0, x_2); -x_55 = lean::thunk_get(x_0); +x_61 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__6___boxed), 3, 2); +lean::closure_set(x_61, 0, x_1); +lean::closure_set(x_61, 1, x_27); +x_62 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__7), 2, 1); +lean::closure_set(x_62, 0, x_2); +x_63 = lean::thunk_get(x_0); lean::dec(x_0); -x_57 = l_monad__state__adapter_adapt__state_x_27___at_lean_trace_lean_trace_monad__tracer___spec__4___rarg(x_3, lean::box(0), x_53, x_54, x_55, x_24); -return x_57; -} -lbl_32: -{ -obj* x_59; obj* x_61; obj* x_62; obj* x_63; obj* x_64; obj* x_66; obj* x_68; obj* x_69; -lean::dec(x_31); -x_59 = lean::cnstr_get(x_1, 1); -lean::inc(x_59); -x_61 = lean::box(0); -x_62 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_62, 0, x_27); -lean::cnstr_set(x_62, 1, x_59); -lean::cnstr_set(x_62, 2, x_2); -lean::cnstr_set(x_62, 3, x_61); -x_63 = lean::box(0); -if (lean::is_scalar(x_26)) { - x_64 = lean::alloc_cnstr(0, 2, 0); -} else { - x_64 = x_26; -} -lean::cnstr_set(x_64, 0, x_63); -lean::cnstr_set(x_64, 1, x_62); -lean::inc(x_4); -x_66 = lean::apply_2(x_4, lean::box(0), x_64); -lean::inc(x_6); -x_68 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__9___boxed), 7, 6); -lean::closure_set(x_68, 0, x_0); -lean::closure_set(x_68, 1, x_1); -lean::closure_set(x_68, 2, x_5); -lean::closure_set(x_68, 3, x_61); -lean::closure_set(x_68, 4, x_4); -lean::closure_set(x_68, 5, x_6); -x_69 = lean::apply_4(x_6, lean::box(0), lean::box(0), x_66, x_68); -return x_69; +x_65 = l_monad__state__adapter_adapt__state_x_27___at_lean_trace_lean_trace_monad__tracer___spec__4___rarg(x_3, lean::box(0), x_61, x_62, x_63, x_24); +return x_65; } } } @@ -1056,17 +1051,17 @@ lean::cnstr_set(x_15, 0, x_12); lean::cnstr_set(x_15, 1, x_9); lean::inc(x_0); x_17 = lean::apply_2(x_0, lean::box(0), x_15); -lean::inc(x_4); +lean::inc(x_5); x_19 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad__tracer___rarg___lambda__10___boxed), 9, 8); lean::closure_set(x_19, 0, x_1); lean::closure_set(x_19, 1, x_7); lean::closure_set(x_19, 2, x_12); lean::closure_set(x_19, 3, x_2); -lean::closure_set(x_19, 4, x_0); -lean::closure_set(x_19, 5, x_3); +lean::closure_set(x_19, 4, x_3); +lean::closure_set(x_19, 5, x_0); lean::closure_set(x_19, 6, x_4); lean::closure_set(x_19, 7, x_5); -x_20 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_17, x_19); +x_20 = lean::apply_4(x_5, lean::box(0), lean::box(0), x_17, x_19); return x_20; } } @@ -1092,9 +1087,9 @@ x_18 = lean::alloc_closure(reinterpret_cast(l_lean_trace_lean_trace_monad lean::closure_set(x_18, 0, x_10); lean::closure_set(x_18, 1, x_4); lean::closure_set(x_18, 2, x_0); -lean::closure_set(x_18, 3, x_3); -lean::closure_set(x_18, 4, x_6); -lean::closure_set(x_18, 5, x_2); +lean::closure_set(x_18, 3, x_2); +lean::closure_set(x_18, 4, x_3); +lean::closure_set(x_18, 5, x_6); x_19 = lean::apply_4(x_6, lean::box(0), lean::box(0), x_16, x_18); return x_19; } @@ -1154,7 +1149,7 @@ _start: { obj* x_7; x_7 = l_lean_trace_lean_trace_monad__tracer___rarg___lambda__4(x_0, x_1, x_2, x_3, x_4, x_5, x_6); -lean::dec(x_5); +lean::dec(x_0); return x_7; } } @@ -1190,7 +1185,7 @@ _start: { obj* x_9; x_9 = l_lean_trace_lean_trace_monad__tracer___rarg___lambda__10(x_0, x_1, x_2, x_3, x_4, x_5, x_6, x_7, x_8); -lean::dec(x_7); +lean::dec(x_4); return x_9; } }