From 89f692f5488252932c67463ef538b09ad67f22ea Mon Sep 17 00:00:00 2001 From: Leonardo de Moura Date: Wed, 6 Mar 2019 17:06:54 -0800 Subject: [PATCH] chore(boot): update --- src/boot/init/core.cpp | 6 - src/boot/init/data/fin/basic.cpp | 6 - src/boot/init/data/nat/div.cpp | 28 +- src/boot/init/lean/compiler/ir.cpp | 513 +++++++++++++++- src/boot/init/lean/elaborator.cpp | 14 +- src/boot/init/lean/expander.cpp | 6 +- src/boot/init/lean/level.cpp | 4 +- src/boot/init/lean/name.cpp | 886 +++++++++++++++++++++++++++- src/boot/init/lean/parser/basic.cpp | 779 +++++++++++------------- src/boot/init/lean/parser/term.cpp | 34 +- src/boot/init/lean/parser/token.cpp | 18 +- 11 files changed, 1792 insertions(+), 502 deletions(-) diff --git a/src/boot/init/core.cpp b/src/boot/init/core.cpp index 2c9d1f09ef..c57be3fd3c 100644 --- a/src/boot/init/core.cpp +++ b/src/boot/init/core.cpp @@ -2787,10 +2787,7 @@ return x_0; obj* l_false_elim(obj* x_0, uint8 x_1) { _start: { -obj* x_2; lean_unreachable(); -x_2 = lean::box(0); -return x_2; } } obj* l_false_elim___boxed(obj* x_0, obj* x_1) { @@ -2806,10 +2803,7 @@ return x_3; obj* l_absurd(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { -obj* x_4; lean_unreachable(); -x_4 = lean::box(0); -return x_4; } } obj* l_absurd___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { diff --git a/src/boot/init/data/fin/basic.cpp b/src/boot/init/data/fin/basic.cpp index 40db3a777d..a9aa924a54 100644 --- a/src/boot/init/data/fin/basic.cpp +++ b/src/boot/init/data/fin/basic.cpp @@ -221,10 +221,7 @@ return x_1; obj* l_fin_elim0___main(obj* x_0, obj* x_1) { _start: { -obj* x_2; lean_unreachable(); -x_2 = lean::box(0); -return x_2; } } obj* l_fin_elim0___main___boxed(obj* x_0, obj* x_1) { @@ -240,10 +237,7 @@ return x_2; obj* l_fin_elim0(obj* x_0, obj* x_1) { _start: { -obj* x_2; lean_unreachable(); -x_2 = lean::box(0); -return x_2; } } obj* l_fin_elim0___boxed(obj* x_0, obj* x_1) { diff --git a/src/boot/init/data/nat/div.cpp b/src/boot/init/data/nat/div.cpp index 93fe8b6fe4..772b491a6d 100644 --- a/src/boot/init/data/nat/div.cpp +++ b/src/boot/init/data/nat/div.cpp @@ -57,33 +57,29 @@ x_3 = lean::mk_nat_obj(0u); x_4 = lean::nat_dec_lt(x_3, x_2); if (x_4 == 0) { -obj* x_7; lean::dec(x_1); lean::dec(x_2); -x_7 = lean::mk_nat_obj(0u); -return x_7; +return x_3; } else { -uint8 x_8; -x_8 = lean::nat_dec_le(x_2, x_0); -if (x_8 == 0) +uint8 x_7; +x_7 = lean::nat_dec_le(x_2, x_0); +if (x_7 == 0) { -obj* x_11; lean::dec(x_1); lean::dec(x_2); -x_11 = lean::mk_nat_obj(0u); -return x_11; +return x_3; } else { -obj* x_12; obj* x_13; obj* x_14; obj* x_15; -x_12 = lean::nat_sub(x_0, x_2); -x_13 = lean::apply_3(x_1, x_12, lean::box(0), x_2); -x_14 = lean::mk_nat_obj(1u); -x_15 = lean::nat_add(x_13, x_14); -lean::dec(x_13); -return x_15; +obj* x_10; obj* x_11; obj* x_12; obj* x_13; +x_10 = lean::nat_sub(x_0, x_2); +x_11 = lean::apply_3(x_1, x_10, lean::box(0), x_2); +x_12 = lean::mk_nat_obj(1u); +x_13 = lean::nat_add(x_11, x_12); +lean::dec(x_11); +return x_13; } } } diff --git a/src/boot/init/lean/compiler/ir.cpp b/src/boot/init/lean/compiler/ir.cpp index 7414b9c37b..91bf3dc0a4 100644 --- a/src/boot/init/lean/compiler/ir.cpp +++ b/src/boot/init/lean/compiler/ir.cpp @@ -15,22 +15,47 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif obj* l_lean_ir_alts_is__pure(obj*); +uint8 l_lean_ir_ctor__info_beq___main(obj*, obj*); obj* l_lean_ir_jpid; +obj* l_lean_ir_args_alpha__eqv___boxed(obj*, obj*, obj*); +obj* l_lean_ir_ctor__info_beq___main___boxed(obj*, obj*); +obj* l_lean_ir_expr_alpha__eqv___boxed(obj*, obj*, obj*); +obj* l_lean_ir_args_alpha__eqv___main___boxed(obj*, obj*, obj*); uint8 l_lean_ir_expr_is__pure___main(obj*); uint8 l_lean_ir_expr_is__pure(obj*); obj* l_lean_ir_alts_is__pure___boxed(obj*); +obj* l_lean_ir_arg_alpha__eqv___main___boxed(obj*, obj*, obj*); obj* l_lean_ir_fnbody_is__pure(obj*); +obj* l_lean_ir_ctor__info_beq___boxed(obj*, obj*); obj* l_lean_ir_alt_is__pure___main___boxed(obj*); obj* l_lean_ir_fnbody_is__pure___main___boxed(obj*); +obj* l_lean_ir_expr_alpha__eqv___main(obj*, obj*, obj*); +obj* l_rbmap_find___main___at_lean_ir_varid_alpha__eqv___spec__1___boxed(obj*, obj*); +namespace lean { +uint8 nat_dec_eq(obj*, obj*); +} +obj* l_lean_ir_args_alpha__eqv___main(obj*, obj*, obj*); obj* l_lean_ir_alts_is__pure___main(obj*); obj* l_lean_ir_fnbody_is__pure___main(obj*); obj* l_lean_ir_fnbody_is__pure___boxed(obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); +obj* l_lean_ir_expr_alpha__eqv(obj*, obj*, obj*); +obj* l_lean_ir_varid_alpha__eqv___boxed(obj*, obj*, obj*); +obj* l_lean_ir_arg_alpha__eqv___boxed(obj*, obj*, obj*); +extern "C" uint8 lean_name_dec_eq(obj*, obj*); +uint8 l_lean_ir_varid_alpha__eqv(obj*, obj*, obj*); +obj* l_lean_ir_expr_alpha__eqv___main___boxed(obj*, obj*, obj*); +obj* l_rbmap_find___main___at_lean_ir_varid_alpha__eqv___spec__1(obj*, obj*); obj* l_lean_ir_fid; obj* l_lean_ir_varid; obj* l_lean_ir_alt_is__pure___boxed(obj*); +uint8 l_lean_ir_ctor__info_beq(obj*, obj*); obj* l_lean_ir_alt_is__pure(obj*); +uint8 l_lean_ir_arg_alpha__eqv___main(obj*, obj*, obj*); obj* l_lean_ir_expr_is__pure___main___boxed(obj*); +obj* l_lean_ir_args_alpha__eqv(obj*, obj*, obj*); obj* l_lean_ir_alts_is__pure___main___boxed(obj*); +uint8 l_lean_ir_arg_alpha__eqv(obj*, obj*, obj*); obj* l_lean_ir_alt_is__pure___main(obj*); obj* l_lean_ir_expr_is__pure___boxed(obj*); obj* _init_l_lean_ir_varid() { @@ -57,6 +82,96 @@ x_0 = lean::box(0); return x_0; } } +uint8 l_lean_ir_ctor__info_beq___main(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; uint8 x_10; +x_2 = lean::cnstr_get(x_0, 0); +x_3 = lean::cnstr_get(x_0, 1); +x_4 = lean::cnstr_get(x_0, 2); +x_5 = lean::cnstr_get(x_0, 3); +x_6 = lean::cnstr_get(x_1, 0); +x_7 = lean::cnstr_get(x_1, 1); +x_8 = lean::cnstr_get(x_1, 2); +x_9 = lean::cnstr_get(x_1, 3); +x_10 = lean_name_dec_eq(x_2, x_6); +if (x_10 == 0) +{ +uint8 x_11; +x_11 = 0; +return x_11; +} +else +{ +uint8 x_12; +x_12 = lean::nat_dec_eq(x_3, x_7); +if (x_12 == 0) +{ +uint8 x_13; +x_13 = 0; +return x_13; +} +else +{ +uint8 x_14; +x_14 = lean::nat_dec_eq(x_4, x_8); +if (x_14 == 0) +{ +uint8 x_15; +x_15 = 0; +return x_15; +} +else +{ +uint8 x_16; +x_16 = lean::nat_dec_eq(x_5, x_9); +if (x_16 == 0) +{ +uint8 x_17; +x_17 = 0; +return x_17; +} +else +{ +uint8 x_18; +x_18 = 1; +return x_18; +} +} +} +} +} +} +obj* l_lean_ir_ctor__info_beq___main___boxed(obj* x_0, obj* x_1) { +_start: +{ +uint8 x_2; obj* x_3; +x_2 = l_lean_ir_ctor__info_beq___main(x_0, x_1); +x_3 = lean::box(x_2); +lean::dec(x_0); +lean::dec(x_1); +return x_3; +} +} +uint8 l_lean_ir_ctor__info_beq(obj* x_0, obj* x_1) { +_start: +{ +uint8 x_2; +x_2 = l_lean_ir_ctor__info_beq___main(x_0, x_1); +return x_2; +} +} +obj* l_lean_ir_ctor__info_beq___boxed(obj* x_0, obj* x_1) { +_start: +{ +uint8 x_2; obj* x_3; +x_2 = l_lean_ir_ctor__info_beq(x_0, x_1); +x_3 = lean::box(x_2); +lean::dec(x_0); +lean::dec(x_1); +return x_3; +} +} uint8 l_lean_ir_expr_is__pure___main(obj* x_0) { _start: { @@ -216,13 +331,20 @@ x_21 = 1; x_22 = lean::box(x_21); return x_22; } -default: +case 14: { uint8 x_23; obj* x_24; -x_23 = 0; +x_23 = 1; x_24 = lean::box(x_23); return x_24; } +default: +{ +uint8 x_25; obj* x_26; +x_25 = 0; +x_26 = lean::box(x_25); +return x_26; +} } } } @@ -352,6 +474,393 @@ lean::dec(x_0); return x_1; } } +obj* l_rbmap_find___main___at_lean_ir_varid_alpha__eqv___spec__1(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +return x_2; +} +} +uint8 l_lean_ir_varid_alpha__eqv(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; +x_3 = lean_name_dec_eq(x_1, x_2); +if (x_3 == 0) +{ +obj* x_4; +x_4 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +if (lean::obj_tag(x_4) == 0) +{ +uint8 x_5; +x_5 = 0; +return x_5; +} +else +{ +obj* x_6; uint8 x_9; +x_6 = lean::cnstr_get(x_4, 0); +lean::inc(x_6); +lean::dec(x_4); +x_9 = lean_name_dec_eq(x_6, x_2); +lean::dec(x_6); +if (x_9 == 0) +{ +uint8 x_11; +x_11 = 0; +return x_11; +} +else +{ +uint8 x_12; +x_12 = 1; +return x_12; +} +} +} +else +{ +uint8 x_14; +lean::dec(x_0); +x_14 = 1; +return x_14; +} +} +} +obj* l_rbmap_find___main___at_lean_ir_varid_alpha__eqv___spec__1___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbmap_find___main___at_lean_ir_varid_alpha__eqv___spec__1(x_0, x_1); +lean::dec(x_1); +return x_2; +} +} +obj* l_lean_ir_varid_alpha__eqv___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; obj* x_4; +x_3 = l_lean_ir_varid_alpha__eqv(x_0, x_1, x_2); +x_4 = lean::box(x_3); +lean::dec(x_1); +lean::dec(x_2); +return x_4; +} +} +uint8 l_lean_ir_arg_alpha__eqv___main(obj* 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; obj* x_4; uint8 x_5; +x_3 = lean::cnstr_get(x_1, 0); +x_4 = lean::cnstr_get(x_2, 0); +x_5 = l_lean_ir_varid_alpha__eqv(x_0, x_3, x_4); +return x_5; +} +else +{ +uint8 x_7; +lean::dec(x_0); +x_7 = 0; +return x_7; +} +} +else +{ +lean::dec(x_0); +if (lean::obj_tag(x_2) == 0) +{ +uint8 x_9; +x_9 = 0; +return x_9; +} +else +{ +uint8 x_10; +x_10 = 1; +return x_10; +} +} +} +} +obj* l_lean_ir_arg_alpha__eqv___main___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; obj* x_4; +x_3 = l_lean_ir_arg_alpha__eqv___main(x_0, x_1, x_2); +x_4 = lean::box(x_3); +lean::dec(x_1); +lean::dec(x_2); +return x_4; +} +} +uint8 l_lean_ir_arg_alpha__eqv(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; +x_3 = l_lean_ir_arg_alpha__eqv___main(x_0, x_1, x_2); +return x_3; +} +} +obj* l_lean_ir_arg_alpha__eqv___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; obj* x_4; +x_3 = l_lean_ir_arg_alpha__eqv(x_0, x_1, x_2); +x_4 = lean::box(x_3); +lean::dec(x_1); +lean::dec(x_2); +return x_4; +} +} +obj* l_lean_ir_args_alpha__eqv___main(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_1) == 0) +{ +lean::dec(x_0); +if (lean::obj_tag(x_2) == 0) +{ +uint8 x_4; obj* x_5; +x_4 = 1; +x_5 = lean::box(x_4); +return x_5; +} +else +{ +uint8 x_6; obj* x_7; +x_6 = 0; +x_7 = lean::box(x_6); +return x_7; +} +} +else +{ +if (lean::obj_tag(x_2) == 0) +{ +uint8 x_9; obj* x_10; +lean::dec(x_0); +x_9 = 0; +x_10 = lean::box(x_9); +return x_10; +} +else +{ +obj* x_11; obj* x_12; obj* x_13; obj* x_14; uint8 x_16; +x_11 = lean::cnstr_get(x_1, 0); +x_12 = lean::cnstr_get(x_1, 1); +x_13 = lean::cnstr_get(x_2, 0); +x_14 = lean::cnstr_get(x_2, 1); +lean::inc(x_0); +x_16 = l_lean_ir_arg_alpha__eqv___main(x_0, x_11, x_13); +if (x_16 == 0) +{ +obj* x_18; +lean::dec(x_0); +x_18 = lean::box(x_16); +return x_18; +} +else +{ +x_1 = x_12; +x_2 = x_14; +goto _start; +} +} +} +} +} +obj* l_lean_ir_args_alpha__eqv___main___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_lean_ir_args_alpha__eqv___main(x_0, x_1, x_2); +lean::dec(x_1); +lean::dec(x_2); +return x_3; +} +} +obj* l_lean_ir_args_alpha__eqv(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_lean_ir_args_alpha__eqv___main(x_0, x_1, x_2); +return x_3; +} +} +obj* l_lean_ir_args_alpha__eqv___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_lean_ir_args_alpha__eqv(x_0, x_1, x_2); +lean::dec(x_1); +lean::dec(x_2); +return x_3; +} +} +obj* l_lean_ir_expr_alpha__eqv___main(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +switch (lean::obj_tag(x_1)) { +case 0: +{ +switch (lean::obj_tag(x_2)) { +case 0: +{ +obj* x_3; obj* x_4; obj* x_5; obj* x_6; uint8 x_7; +x_3 = lean::cnstr_get(x_1, 0); +x_4 = lean::cnstr_get(x_1, 1); +x_5 = lean::cnstr_get(x_2, 0); +x_6 = lean::cnstr_get(x_2, 1); +x_7 = l_lean_ir_ctor__info_beq___main(x_3, x_5); +if (x_7 == 0) +{ +obj* x_9; +lean::dec(x_0); +x_9 = lean::box(x_7); +return x_9; +} +else +{ +obj* x_10; +x_10 = l_lean_ir_args_alpha__eqv___main(x_0, x_4, x_6); +return x_10; +} +} +default: +{ +uint8 x_12; obj* x_13; +lean::dec(x_0); +x_12 = 0; +x_13 = lean::box(x_12); +return x_13; +} +} +} +case 1: +{ +switch (lean::obj_tag(x_2)) { +case 1: +{ +obj* x_14; obj* x_15; uint8 x_16; obj* x_17; +x_14 = lean::cnstr_get(x_1, 0); +x_15 = lean::cnstr_get(x_2, 0); +x_16 = l_lean_ir_varid_alpha__eqv(x_0, x_14, x_15); +x_17 = lean::box(x_16); +return x_17; +} +default: +{ +uint8 x_19; obj* x_20; +lean::dec(x_0); +x_19 = 0; +x_20 = lean::box(x_19); +return x_20; +} +} +} +case 2: +{ +switch (lean::obj_tag(x_2)) { +case 2: +{ +obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; uint8 x_28; +x_21 = lean::cnstr_get(x_1, 0); +x_22 = lean::cnstr_get(x_1, 1); +x_23 = lean::cnstr_get(x_1, 2); +x_24 = lean::cnstr_get(x_2, 0); +x_25 = lean::cnstr_get(x_2, 1); +x_26 = lean::cnstr_get(x_2, 2); +lean::inc(x_0); +x_28 = l_lean_ir_varid_alpha__eqv(x_0, x_21, x_24); +if (x_28 == 0) +{ +if (x_28 == 0) +{ +obj* x_30; +lean::dec(x_0); +x_30 = lean::box(x_28); +return x_30; +} +else +{ +obj* x_31; +x_31 = l_lean_ir_args_alpha__eqv___main(x_0, x_23, x_26); +return x_31; +} +} +else +{ +uint8 x_32; +x_32 = l_lean_ir_ctor__info_beq___main(x_22, x_25); +if (x_32 == 0) +{ +obj* x_34; +lean::dec(x_0); +x_34 = lean::box(x_32); +return x_34; +} +else +{ +obj* x_35; +x_35 = l_lean_ir_args_alpha__eqv___main(x_0, x_23, x_26); +return x_35; +} +} +} +default: +{ +uint8 x_37; obj* x_38; +lean::dec(x_0); +x_37 = 0; +x_38 = lean::box(x_37); +return x_38; +} +} +} +default: +{ +uint8 x_40; obj* x_41; +lean::dec(x_0); +x_40 = 0; +x_41 = lean::box(x_40); +return x_41; +} +} +} +} +obj* l_lean_ir_expr_alpha__eqv___main___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_lean_ir_expr_alpha__eqv___main(x_0, x_1, x_2); +lean::dec(x_1); +lean::dec(x_2); +return x_3; +} +} +obj* l_lean_ir_expr_alpha__eqv(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_lean_ir_expr_alpha__eqv___main(x_0, x_1, x_2); +return x_3; +} +} +obj* l_lean_ir_expr_alpha__eqv___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_lean_ir_expr_alpha__eqv(x_0, x_1, x_2); +lean::dec(x_1); +lean::dec(x_2); +return x_3; +} +} void initialize_init_default(); void initialize_init_lean_name(); void initialize_init_lean_kvmap(); diff --git a/src/boot/init/lean/elaborator.cpp b/src/boot/init/lean/elaborator.cpp index f2dbf6ca93..df18302ebb 100644 --- a/src/boot/init/lean/elaborator.cpp +++ b/src/boot/init/lean/elaborator.cpp @@ -290,7 +290,6 @@ extern obj* l_lean_parser_command_section_has__view; obj* l_list_map___main___at_lean_elaborator_declaration_elaborate___spec__2(obj*); obj* l_lean_elaborator_mk__notation__kind___boxed(obj*); obj* l_list_join___main___rarg(obj*); -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(obj*, obj*); obj* l_lean_elaborator_mangle__ident(obj*); obj* l_lean_elaborator_universe_elaborate(obj*, obj*, obj*); obj* l_lean_elaborator_ordered__rbmap_of__list(obj*, obj*, obj*); @@ -480,6 +479,7 @@ extern "C" obj* lean_expr_mk_let(obj*, obj*, obj*, obj*); extern obj* l_lean_parser_term_app_has__view; obj* l_rbnode_insert___at_lean_elaborator_ordered__rbmap_insert___spec__2___rarg(obj*, obj*, obj*, obj*); obj* l_list_foldr___main___at_lean_elaborator_to__level___main___spec__2___boxed(obj*, obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); obj* l_list_mfoldl___main___at_lean_elaborator_update__parser__config___spec__2(obj*, obj*, obj*, obj*); obj* l_lean_elaborator_decl__modifiers__to__pexpr___closed__6; obj* l_reader__t_monad__reader__adapter___boxed(obj*, obj*, obj*, obj*, obj*); @@ -3526,7 +3526,7 @@ obj* l_rbmap_find___main___at_lean_elaborator_to__level___main___spec__6(obj* x_ _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -3537,7 +3537,7 @@ obj* x_2; obj* x_5; x_2 = lean::cnstr_get(x_0, 1); lean::inc(x_2); lean::dec(x_0); -x_5 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_2, x_1); +x_5 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_2, x_1); return x_5; } } @@ -20148,7 +20148,7 @@ obj* l_rbmap_find___main___at_lean_elaborator_variables_elaborate___spec__2(obj* _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -20159,7 +20159,7 @@ obj* x_2; obj* x_5; x_2 = lean::cnstr_get(x_0, 1); lean::inc(x_2); lean::dec(x_0); -x_5 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_2, x_1); +x_5 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_2, x_1); return x_5; } } @@ -29132,7 +29132,7 @@ obj* l_rbmap_find___main___at_lean_elaborator_run___spec__4(obj* x_0, obj* x_1) _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -29522,7 +29522,7 @@ x_16 = lean::cnstr_get(x_13, 0); lean::inc(x_16); lean::dec(x_13); x_19 = l_lean_elaborator_elaborators; -x_20 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_19, x_16); +x_20 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_19, x_16); lean::inc(x_4); x_22 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_run___lambda__2), 2, 1); lean::closure_set(x_22, 0, x_4); diff --git a/src/boot/init/lean/expander.cpp b/src/boot/init/lean/expander.cpp index 5573a8da1f..51b7ca4202 100644 --- a/src/boot/init/lean/expander.cpp +++ b/src/boot/init/lean/expander.cpp @@ -151,7 +151,6 @@ obj* l_lean_expander_mixfix__to__notation__spec___closed__2; obj* l_lean_expander_error___at_lean_expander_mk__notation__transformer___spec__1___rarg(obj*, obj*, obj*); obj* l_list_map___main___at_lean_expander_expand__bracketed__binder___main___spec__15___boxed(obj*, obj*, obj*); obj* l_list_join___main___rarg(obj*); -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(obj*, obj*); obj* l_coe___at_lean_expander_mk__notation__transformer___spec__2(obj*); obj* l_list_mmap___main___at_lean_expander_variables_transform___spec__1___closed__1; obj* l_lean_parser_syntax_get__pos(obj*); @@ -238,6 +237,7 @@ obj* l_except__t_monad___rarg(obj*); extern obj* l_lean_parser_term_app_has__view; obj* l_lean_expander_expander__config_has__lift(obj*); obj* l_lean_expander_error___at___private_init_lean_expander_1__pop__stx__arg___spec__1(obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); obj* l_list_mmap___main___at_lean_expander_bracketed__binders_transform___spec__1(obj*, obj*); obj* l_list_foldr1__opt___main___at_lean_expander_paren_transform___spec__2(obj*, obj*); obj* l_list_map___main___at_lean_expander_mk__notation__transformer___spec__3(obj*); @@ -10564,7 +10564,7 @@ obj* l_rbmap_find___main___at___private_init_lean_expander_2__expand__core___mai _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -10928,7 +10928,7 @@ x_19 = lean::cnstr_get(x_3, 1); lean::inc(x_19); x_21 = lean::cnstr_get(x_13, 0); lean::inc(x_21); -x_23 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_19, x_21); +x_23 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_19, x_21); if (lean::obj_tag(x_23) == 0) { obj* x_24; obj* x_27; diff --git a/src/boot/init/lean/level.cpp b/src/boot/init/lean/level.cpp index f7ee0ed4ed..fbfd30447e 100644 --- a/src/boot/init/lean/level.cpp +++ b/src/boot/init/lean/level.cpp @@ -349,9 +349,7 @@ return x_4; } else { -obj* x_5; -x_5 = lean::mk_nat_obj(0u); -return x_5; +return x_2; } } } diff --git a/src/boot/init/lean/name.cpp b/src/boot/init/lean/name.cpp index c3d347ba80..8f6bfcc9c8 100644 --- a/src/boot/init/lean/name.cpp +++ b/src/boot/init/lean/name.cpp @@ -1,6 +1,6 @@ // Lean compiler output // Module: init.lean.name -// Imports: init.data.string.basic init.coe init.data.uint init.data.to_string init.lean.format init.data.hashable +// Imports: init.data.string.basic init.coe init.data.uint init.data.to_string init.lean.format init.data.hashable init.data.rbmap.default #include "runtime/object.h" #include "runtime/apply.h" typedef lean::object obj; typedef lean::usize usize; @@ -15,48 +15,80 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif obj* l_lean_string__to__name; +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2(obj*); +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1(obj*); +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1___boxed(obj*); obj* l_lean_name_has__append; obj* l_lean_name_quick__lt__core(obj*, obj*); obj* l_lean_name_replace__prefix___boxed(obj*, obj*, obj*); obj* l_lean_name_decidable__eq; obj* l_lean_mk__str__name(obj*, obj*); +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__3___boxed(obj*); obj* l___private_init_lean_name_1__hash__aux___main___boxed(obj*, obj*); obj* l_lean_name_components_x_27(obj*); +obj* l_lean_name__map_find___rarg___boxed(obj*, obj*); obj* l_lean_name_quick__lt__core___main___boxed(obj*, obj*); +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1___boxed(obj*); +obj* l_lean_name__map_insert(obj*); obj* l_lean_name_to__string(obj*); obj* l_list_reverse___rarg(obj*); extern "C" usize lean_name_hash_usize(obj*); extern "C" obj* lean_name_mk_string(obj*, obj*); obj* l_lean_name_has__lt__quick; obj* l_lean_name_replace__prefix(obj*, obj*, obj*); +obj* l_rbmap_insert___main___at_lean_name__map_insert___spec__1___rarg(obj*, obj*, obj*); obj* l_lean_name_get__prefix___main___boxed(obj*); +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1(obj*); obj* l_lean_inhabited; obj* l_lean_name_quick__lt__core___boxed(obj*, obj*); +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1___rarg(obj*, obj*); obj* l_lean_name_to__string___closed__1; +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__3(obj*); namespace lean { obj* string_append(obj*, obj*); } +obj* l_lean_name__map_insert___rarg(obj*, obj*, obj*); +obj* l_lean_name__map_contains___boxed(obj*); obj* l_lean_name_append___boxed(obj*, obj*); uint8 l_lean_name_decidable__rel(obj*, obj*); +uint8 l_option_is__some___main___rarg(obj*); +obj* l_lean_name__map_contains___rarg___boxed(obj*, obj*); obj* l_lean_name_append(obj*, obj*); +obj* l_rbnode_insert___at_lean_name__map_insert___spec__2___rarg(obj*, obj*, obj*); obj* l_lean_name_hashable; obj* l_lean_name_replace__prefix___main(obj*, obj*, obj*); obj* l_lean_name_components(obj*); +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1___rarg(obj*, obj*); namespace lean { uint8 string_dec_lt(obj*, obj*); } +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(obj*, obj*, obj*); obj* l_lean_name_to__string__with__sep___main(obj*, obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg___boxed(obj*, obj*); +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__4(obj*); +obj* l_rbnode_insert___at_lean_name__map_insert___spec__2___boxed(obj*); namespace lean { uint8 nat_dec_eq(obj*, obj*); } obj* l_lean_name_update__prefix(obj*, obj*); obj* l_lean_name_components_x_27___main(obj*); +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1___rarg___boxed(obj*, obj*); obj* l_lean_name_append___main(obj*, obj*); obj* l_lean_name_to__string__with__sep(obj*, obj*); obj* l_lean_name_to__string__with__sep___main___boxed(obj*, obj*); obj* l_lean_name_dec__eq___boxed(obj*, obj*); obj* l___private_init_lean_name_1__hash__aux(obj*, usize); +obj* l_rbmap_insert___main___at_lean_name__map_insert___spec__1___boxed(obj*); +obj* l_lean_name__map_insert___boxed(obj*); obj* l_lean_name_quick__lt___boxed(obj*, obj*); +obj* l_rbnode_balance2___main___rarg(obj*, obj*); +obj* l_rbmap_insert___main___at_lean_name__map_insert___spec__1(obj*); +obj* l_lean_name__map_contains(obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); +obj* l_rbnode_insert___at_lean_name__map_insert___spec__2(obj*); +uint8 l_lean_name__map_contains___rarg(obj*, obj*); +obj* l_lean_name__map_find___rarg(obj*, obj*); +obj* l_lean_mk__name__map(obj*); obj* l_lean_name_replace__prefix___main___boxed(obj*, obj*, obj*); extern "C" uint8 lean_name_dec_eq(obj*, obj*); namespace lean { @@ -69,24 +101,35 @@ obj* l_lean_name_lean_has__to__format(obj*); namespace lean { usize usize_of_nat(obj*); } +obj* l_rbnode_balance1___main___rarg(obj*, obj*); obj* l___private_init_lean_name_1__hash__aux___boxed(obj*, obj*); obj* l_lean_name_to__string__with__sep___boxed(obj*, obj*); +obj* l_lean_name__map_find(obj*); obj* l_lean_name_update__prefix___main(obj*, obj*); obj* l_lean_name_get__prefix(obj*); +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(obj*, obj*, obj*); obj* l___private_init_lean_name_1__hash__aux___main(obj*, usize); +obj* l_lean_name__map; +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1___rarg___boxed(obj*, obj*); extern "C" obj* lean_name_mk_numeral(obj*, obj*); obj* l_nat_repr(obj*); obj* l_lean_name_get__prefix___main(obj*); +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__4___boxed(obj*); obj* l_lean_name_hash___boxed(obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___boxed(obj*); +uint8 l_rbnode_is__red___main___rarg(obj*); obj* l_lean_name_append___main___boxed(obj*, obj*); obj* l_lean_name_quick__lt__core___main(obj*, obj*); obj* l_lean_name_to__string__with__sep___main___closed__1; +obj* l_lean_mk__name__map___boxed(obj*); obj* l_lean_name_get__prefix___boxed(obj*); obj* l_lean_name_has__to__string; namespace lean { uint8 nat_dec_lt(obj*, obj*); } +obj* l_rbnode_set__black___main___rarg(obj*); obj* l_lean_name_decidable__rel___boxed(obj*, obj*); +obj* l_lean_name__map_find___boxed(obj*); obj* _init_l_lean_inhabited() { _start: { @@ -898,12 +941,850 @@ lean::cnstr_set(x_3, 0, x_2); return x_3; } } +obj* _init_l_lean_name__map() { +_start: +{ +obj* x_0; +x_0 = lean::box(0); +return x_0; +} +} +obj* l_lean_mk__name__map(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::box(0); +return x_1; +} +} +obj* l_lean_mk__name__map___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_mk__name__map(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_0) == 0) +{ +uint8 x_3; obj* x_4; obj* x_5; +x_3 = 0; +x_4 = lean::alloc_cnstr(1, 4, 1); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +lean::cnstr_set(x_4, 2, x_2); +lean::cnstr_set(x_4, 3, x_0); +lean::cnstr_set_scalar(x_4, sizeof(void*)*4, x_3); +x_5 = x_4; +return x_5; +} +else +{ +uint8 x_6; +x_6 = lean::cnstr_get_scalar(x_0, sizeof(void*)*4); +if (x_6 == 0) +{ +obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_15; obj* x_16; uint8 x_17; +x_7 = lean::cnstr_get(x_0, 0); +x_9 = lean::cnstr_get(x_0, 1); +x_11 = lean::cnstr_get(x_0, 2); +x_13 = lean::cnstr_get(x_0, 3); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + lean::cnstr_set(x_0, 2, lean::box(0)); + lean::cnstr_set(x_0, 3, lean::box(0)); + x_15 = x_0; +} else { + lean::inc(x_7); + lean::inc(x_9); + lean::inc(x_11); + lean::inc(x_13); + lean::dec(x_0); + x_15 = lean::box(0); +} +x_16 = l_lean_name_quick__lt(x_1, x_9); +x_17 = lean::unbox(x_16); +if (x_17 == 0) +{ +obj* x_18; uint8 x_19; +x_18 = l_lean_name_quick__lt(x_9, x_1); +x_19 = lean::unbox(x_18); +if (x_19 == 0) +{ +obj* x_22; obj* x_23; +lean::dec(x_9); +lean::dec(x_11); +if (lean::is_scalar(x_15)) { + x_22 = lean::alloc_cnstr(1, 4, 1); +} else { + x_22 = x_15; +} +lean::cnstr_set(x_22, 0, x_7); +lean::cnstr_set(x_22, 1, x_1); +lean::cnstr_set(x_22, 2, x_2); +lean::cnstr_set(x_22, 3, x_13); +lean::cnstr_set_scalar(x_22, sizeof(void*)*4, x_6); +x_23 = x_22; +return x_23; +} +else +{ +obj* x_24; obj* x_25; obj* x_26; +x_24 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_13, x_1, x_2); +if (lean::is_scalar(x_15)) { + x_25 = lean::alloc_cnstr(1, 4, 1); +} else { + x_25 = x_15; +} +lean::cnstr_set(x_25, 0, x_7); +lean::cnstr_set(x_25, 1, x_9); +lean::cnstr_set(x_25, 2, x_11); +lean::cnstr_set(x_25, 3, x_24); +lean::cnstr_set_scalar(x_25, sizeof(void*)*4, x_6); +x_26 = x_25; +return x_26; +} +} +else +{ +obj* x_27; obj* x_28; obj* x_29; +x_27 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_7, x_1, x_2); +if (lean::is_scalar(x_15)) { + x_28 = lean::alloc_cnstr(1, 4, 1); +} else { + x_28 = x_15; +} +lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_28, 1, x_9); +lean::cnstr_set(x_28, 2, x_11); +lean::cnstr_set(x_28, 3, x_13); +lean::cnstr_set_scalar(x_28, sizeof(void*)*4, x_6); +x_29 = x_28; +return x_29; +} +} +else +{ +obj* x_30; obj* x_32; obj* x_34; obj* x_36; obj* x_38; obj* x_39; uint8 x_40; +x_30 = lean::cnstr_get(x_0, 0); +x_32 = lean::cnstr_get(x_0, 1); +x_34 = lean::cnstr_get(x_0, 2); +x_36 = lean::cnstr_get(x_0, 3); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + lean::cnstr_set(x_0, 2, lean::box(0)); + lean::cnstr_set(x_0, 3, lean::box(0)); + x_38 = x_0; +} else { + lean::inc(x_30); + lean::inc(x_32); + lean::inc(x_34); + lean::inc(x_36); + lean::dec(x_0); + x_38 = lean::box(0); +} +x_39 = l_lean_name_quick__lt(x_1, x_32); +x_40 = lean::unbox(x_39); +if (x_40 == 0) +{ +obj* x_41; uint8 x_42; +x_41 = l_lean_name_quick__lt(x_32, x_1); +x_42 = lean::unbox(x_41); +if (x_42 == 0) +{ +obj* x_45; obj* x_46; +lean::dec(x_34); +lean::dec(x_32); +if (lean::is_scalar(x_38)) { + x_45 = lean::alloc_cnstr(1, 4, 1); +} else { + x_45 = x_38; +} +lean::cnstr_set(x_45, 0, x_30); +lean::cnstr_set(x_45, 1, x_1); +lean::cnstr_set(x_45, 2, x_2); +lean::cnstr_set(x_45, 3, x_36); +lean::cnstr_set_scalar(x_45, sizeof(void*)*4, x_6); +x_46 = x_45; +return x_46; +} +else +{ +uint8 x_47; +x_47 = l_rbnode_is__red___main___rarg(x_36); +if (x_47 == 0) +{ +obj* x_48; obj* x_49; obj* x_50; +x_48 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_36, x_1, x_2); +if (lean::is_scalar(x_38)) { + x_49 = lean::alloc_cnstr(1, 4, 1); +} else { + x_49 = x_38; +} +lean::cnstr_set(x_49, 0, x_30); +lean::cnstr_set(x_49, 1, x_32); +lean::cnstr_set(x_49, 2, x_34); +lean::cnstr_set(x_49, 3, x_48); +lean::cnstr_set_scalar(x_49, sizeof(void*)*4, x_6); +x_50 = x_49; +return x_50; +} +else +{ +obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; +x_51 = lean::box(0); +if (lean::is_scalar(x_38)) { + x_52 = lean::alloc_cnstr(1, 4, 1); +} else { + x_52 = x_38; +} +lean::cnstr_set(x_52, 0, x_30); +lean::cnstr_set(x_52, 1, x_32); +lean::cnstr_set(x_52, 2, x_34); +lean::cnstr_set(x_52, 3, x_51); +lean::cnstr_set_scalar(x_52, sizeof(void*)*4, x_6); +x_53 = x_52; +x_54 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_36, x_1, x_2); +x_55 = l_rbnode_balance2___main___rarg(x_53, x_54); +return x_55; +} +} +} +else +{ +uint8 x_56; +x_56 = l_rbnode_is__red___main___rarg(x_30); +if (x_56 == 0) +{ +obj* x_57; obj* x_58; obj* x_59; +x_57 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_30, x_1, x_2); +if (lean::is_scalar(x_38)) { + x_58 = lean::alloc_cnstr(1, 4, 1); +} else { + x_58 = x_38; +} +lean::cnstr_set(x_58, 0, x_57); +lean::cnstr_set(x_58, 1, x_32); +lean::cnstr_set(x_58, 2, x_34); +lean::cnstr_set(x_58, 3, x_36); +lean::cnstr_set_scalar(x_58, sizeof(void*)*4, x_6); +x_59 = x_58; +return x_59; +} +else +{ +obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; +x_60 = lean::box(0); +if (lean::is_scalar(x_38)) { + x_61 = lean::alloc_cnstr(1, 4, 1); +} else { + x_61 = x_38; +} +lean::cnstr_set(x_61, 0, x_60); +lean::cnstr_set(x_61, 1, x_32); +lean::cnstr_set(x_61, 2, x_34); +lean::cnstr_set(x_61, 3, x_36); +lean::cnstr_set_scalar(x_61, sizeof(void*)*4, x_6); +x_62 = x_61; +x_63 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_30, x_1, x_2); +x_64 = l_rbnode_balance1___main___rarg(x_62, x_63); +return x_64; +} +} +} +} +} +} +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__3(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg), 3, 0); +return x_1; +} +} +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_0) == 0) +{ +uint8 x_3; obj* x_4; obj* x_5; +x_3 = 0; +x_4 = lean::alloc_cnstr(1, 4, 1); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +lean::cnstr_set(x_4, 2, x_2); +lean::cnstr_set(x_4, 3, x_0); +lean::cnstr_set_scalar(x_4, sizeof(void*)*4, x_3); +x_5 = x_4; +return x_5; +} +else +{ +uint8 x_6; +x_6 = lean::cnstr_get_scalar(x_0, sizeof(void*)*4); +if (x_6 == 0) +{ +obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_15; obj* x_16; uint8 x_17; +x_7 = lean::cnstr_get(x_0, 0); +x_9 = lean::cnstr_get(x_0, 1); +x_11 = lean::cnstr_get(x_0, 2); +x_13 = lean::cnstr_get(x_0, 3); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + lean::cnstr_set(x_0, 2, lean::box(0)); + lean::cnstr_set(x_0, 3, lean::box(0)); + x_15 = x_0; +} else { + lean::inc(x_7); + lean::inc(x_9); + lean::inc(x_11); + lean::inc(x_13); + lean::dec(x_0); + x_15 = lean::box(0); +} +x_16 = l_lean_name_quick__lt(x_1, x_9); +x_17 = lean::unbox(x_16); +if (x_17 == 0) +{ +obj* x_18; uint8 x_19; +x_18 = l_lean_name_quick__lt(x_9, x_1); +x_19 = lean::unbox(x_18); +if (x_19 == 0) +{ +obj* x_22; obj* x_23; +lean::dec(x_9); +lean::dec(x_11); +if (lean::is_scalar(x_15)) { + x_22 = lean::alloc_cnstr(1, 4, 1); +} else { + x_22 = x_15; +} +lean::cnstr_set(x_22, 0, x_7); +lean::cnstr_set(x_22, 1, x_1); +lean::cnstr_set(x_22, 2, x_2); +lean::cnstr_set(x_22, 3, x_13); +lean::cnstr_set_scalar(x_22, sizeof(void*)*4, x_6); +x_23 = x_22; +return x_23; +} +else +{ +obj* x_24; obj* x_25; obj* x_26; +x_24 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_13, x_1, x_2); +if (lean::is_scalar(x_15)) { + x_25 = lean::alloc_cnstr(1, 4, 1); +} else { + x_25 = x_15; +} +lean::cnstr_set(x_25, 0, x_7); +lean::cnstr_set(x_25, 1, x_9); +lean::cnstr_set(x_25, 2, x_11); +lean::cnstr_set(x_25, 3, x_24); +lean::cnstr_set_scalar(x_25, sizeof(void*)*4, x_6); +x_26 = x_25; +return x_26; +} +} +else +{ +obj* x_27; obj* x_28; obj* x_29; +x_27 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_7, x_1, x_2); +if (lean::is_scalar(x_15)) { + x_28 = lean::alloc_cnstr(1, 4, 1); +} else { + x_28 = x_15; +} +lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_28, 1, x_9); +lean::cnstr_set(x_28, 2, x_11); +lean::cnstr_set(x_28, 3, x_13); +lean::cnstr_set_scalar(x_28, sizeof(void*)*4, x_6); +x_29 = x_28; +return x_29; +} +} +else +{ +obj* x_30; obj* x_32; obj* x_34; obj* x_36; obj* x_38; obj* x_39; uint8 x_40; +x_30 = lean::cnstr_get(x_0, 0); +x_32 = lean::cnstr_get(x_0, 1); +x_34 = lean::cnstr_get(x_0, 2); +x_36 = lean::cnstr_get(x_0, 3); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + lean::cnstr_set(x_0, 2, lean::box(0)); + lean::cnstr_set(x_0, 3, lean::box(0)); + x_38 = x_0; +} else { + lean::inc(x_30); + lean::inc(x_32); + lean::inc(x_34); + lean::inc(x_36); + lean::dec(x_0); + x_38 = lean::box(0); +} +x_39 = l_lean_name_quick__lt(x_1, x_32); +x_40 = lean::unbox(x_39); +if (x_40 == 0) +{ +obj* x_41; uint8 x_42; +x_41 = l_lean_name_quick__lt(x_32, x_1); +x_42 = lean::unbox(x_41); +if (x_42 == 0) +{ +obj* x_45; obj* x_46; +lean::dec(x_34); +lean::dec(x_32); +if (lean::is_scalar(x_38)) { + x_45 = lean::alloc_cnstr(1, 4, 1); +} else { + x_45 = x_38; +} +lean::cnstr_set(x_45, 0, x_30); +lean::cnstr_set(x_45, 1, x_1); +lean::cnstr_set(x_45, 2, x_2); +lean::cnstr_set(x_45, 3, x_36); +lean::cnstr_set_scalar(x_45, sizeof(void*)*4, x_6); +x_46 = x_45; +return x_46; +} +else +{ +uint8 x_47; +x_47 = l_rbnode_is__red___main___rarg(x_36); +if (x_47 == 0) +{ +obj* x_48; obj* x_49; obj* x_50; +x_48 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_36, x_1, x_2); +if (lean::is_scalar(x_38)) { + x_49 = lean::alloc_cnstr(1, 4, 1); +} else { + x_49 = x_38; +} +lean::cnstr_set(x_49, 0, x_30); +lean::cnstr_set(x_49, 1, x_32); +lean::cnstr_set(x_49, 2, x_34); +lean::cnstr_set(x_49, 3, x_48); +lean::cnstr_set_scalar(x_49, sizeof(void*)*4, x_6); +x_50 = x_49; +return x_50; +} +else +{ +obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; +x_51 = lean::box(0); +if (lean::is_scalar(x_38)) { + x_52 = lean::alloc_cnstr(1, 4, 1); +} else { + x_52 = x_38; +} +lean::cnstr_set(x_52, 0, x_30); +lean::cnstr_set(x_52, 1, x_32); +lean::cnstr_set(x_52, 2, x_34); +lean::cnstr_set(x_52, 3, x_51); +lean::cnstr_set_scalar(x_52, sizeof(void*)*4, x_6); +x_53 = x_52; +x_54 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_36, x_1, x_2); +x_55 = l_rbnode_balance2___main___rarg(x_53, x_54); +return x_55; +} +} +} +else +{ +uint8 x_56; +x_56 = l_rbnode_is__red___main___rarg(x_30); +if (x_56 == 0) +{ +obj* x_57; obj* x_58; obj* x_59; +x_57 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_30, x_1, x_2); +if (lean::is_scalar(x_38)) { + x_58 = lean::alloc_cnstr(1, 4, 1); +} else { + x_58 = x_38; +} +lean::cnstr_set(x_58, 0, x_57); +lean::cnstr_set(x_58, 1, x_32); +lean::cnstr_set(x_58, 2, x_34); +lean::cnstr_set(x_58, 3, x_36); +lean::cnstr_set_scalar(x_58, sizeof(void*)*4, x_6); +x_59 = x_58; +return x_59; +} +else +{ +obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; +x_60 = lean::box(0); +if (lean::is_scalar(x_38)) { + x_61 = lean::alloc_cnstr(1, 4, 1); +} else { + x_61 = x_38; +} +lean::cnstr_set(x_61, 0, x_60); +lean::cnstr_set(x_61, 1, x_32); +lean::cnstr_set(x_61, 2, x_34); +lean::cnstr_set(x_61, 3, x_36); +lean::cnstr_set_scalar(x_61, sizeof(void*)*4, x_6); +x_62 = x_61; +x_63 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_30, x_1, x_2); +x_64 = l_rbnode_balance1___main___rarg(x_62, x_63); +return x_64; +} +} +} +} +} +} +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__4(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg), 3, 0); +return x_1; +} +} +obj* l_rbnode_insert___at_lean_name__map_insert___spec__2___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; +x_3 = l_rbnode_is__red___main___rarg(x_0); +if (x_3 == 0) +{ +obj* x_4; +x_4 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3___rarg(x_0, x_1, x_2); +return x_4; +} +else +{ +obj* x_5; obj* x_6; +x_5 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4___rarg(x_0, x_1, x_2); +x_6 = l_rbnode_set__black___main___rarg(x_5); +return x_6; +} +} +} +obj* l_rbnode_insert___at_lean_name__map_insert___spec__2(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_insert___at_lean_name__map_insert___spec__2___rarg), 3, 0); +return x_1; +} +} +obj* l_rbmap_insert___main___at_lean_name__map_insert___spec__1___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_rbnode_insert___at_lean_name__map_insert___spec__2___rarg(x_0, x_1, x_2); +return x_3; +} +} +obj* l_rbmap_insert___main___at_lean_name__map_insert___spec__1(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_insert___main___at_lean_name__map_insert___spec__1___rarg), 3, 0); +return x_1; +} +} +obj* l_lean_name__map_insert___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_rbnode_insert___at_lean_name__map_insert___spec__2___rarg(x_0, x_1, x_2); +return x_3; +} +} +obj* l_lean_name__map_insert(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_name__map_insert___rarg), 3, 0); +return x_1; +} +} +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__3___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbnode_ins___main___at_lean_name__map_insert___spec__3(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbnode_ins___main___at_lean_name__map_insert___spec__4___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbnode_ins___main___at_lean_name__map_insert___spec__4(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbnode_insert___at_lean_name__map_insert___spec__2___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbnode_insert___at_lean_name__map_insert___spec__2(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbmap_insert___main___at_lean_name__map_insert___spec__1___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbmap_insert___main___at_lean_name__map_insert___spec__1(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_lean_name__map_insert___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_name__map_insert(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj* x_0, obj* x_1) { +_start: +{ +if (lean::obj_tag(x_0) == 0) +{ +obj* x_2; +x_2 = lean::box(0); +return x_2; +} +else +{ +obj* x_3; obj* x_5; obj* x_7; obj* x_9; obj* x_12; uint8 x_13; +x_3 = lean::cnstr_get(x_0, 0); +lean::inc(x_3); +x_5 = lean::cnstr_get(x_0, 1); +lean::inc(x_5); +x_7 = lean::cnstr_get(x_0, 2); +lean::inc(x_7); +x_9 = lean::cnstr_get(x_0, 3); +lean::inc(x_9); +lean::dec(x_0); +x_12 = l_lean_name_quick__lt(x_1, x_5); +x_13 = lean::unbox(x_12); +if (x_13 == 0) +{ +obj* x_15; uint8 x_17; +lean::dec(x_3); +x_15 = l_lean_name_quick__lt(x_5, x_1); +lean::dec(x_5); +x_17 = lean::unbox(x_15); +if (x_17 == 0) +{ +obj* x_19; +lean::dec(x_9); +x_19 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_19, 0, x_7); +return x_19; +} +else +{ +lean::dec(x_7); +x_0 = x_9; +goto _start; +} +} +else +{ +lean::dec(x_7); +lean::dec(x_9); +lean::dec(x_5); +x_0 = x_3; +goto _start; +} +} +} +} +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg___boxed), 2, 0); +return x_1; +} +} +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1___rarg(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +return x_2; +} +} +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_find___main___at_lean_name__map_contains___spec__1___rarg___boxed), 2, 0); +return x_1; +} +} +uint8 l_lean_name__map_contains___rarg(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; uint8 x_3; +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +x_3 = l_option_is__some___main___rarg(x_2); +lean::dec(x_2); +return x_3; +} +} +obj* l_lean_name__map_contains(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_name__map_contains___rarg___boxed), 2, 0); +return x_1; +} +} +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +lean::dec(x_1); +return x_2; +} +} +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbnode_find___main___at_lean_name__map_contains___spec__2(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1___rarg___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbmap_find___main___at_lean_name__map_contains___spec__1___rarg(x_0, x_1); +lean::dec(x_1); +return x_2; +} +} +obj* l_rbmap_find___main___at_lean_name__map_contains___spec__1___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbmap_find___main___at_lean_name__map_contains___spec__1(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_lean_name__map_contains___rarg___boxed(obj* x_0, obj* x_1) { +_start: +{ +uint8 x_2; obj* x_3; +x_2 = l_lean_name__map_contains___rarg(x_0, x_1); +x_3 = lean::box(x_2); +lean::dec(x_1); +return x_3; +} +} +obj* l_lean_name__map_contains___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_name__map_contains(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1___rarg(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +return x_2; +} +} +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_find___main___at_lean_name__map_find___spec__1___rarg___boxed), 2, 0); +return x_1; +} +} +obj* l_lean_name__map_find___rarg(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); +return x_2; +} +} +obj* l_lean_name__map_find(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_name__map_find___rarg___boxed), 2, 0); +return x_1; +} +} +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1___rarg___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_rbmap_find___main___at_lean_name__map_find___spec__1___rarg(x_0, x_1); +lean::dec(x_1); +return x_2; +} +} +obj* l_rbmap_find___main___at_lean_name__map_find___spec__1___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbmap_find___main___at_lean_name__map_find___spec__1(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_lean_name__map_find___rarg___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_lean_name__map_find___rarg(x_0, x_1); +lean::dec(x_1); +return x_2; +} +} +obj* l_lean_name__map_find___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_name__map_find(x_0); +lean::dec(x_0); +return x_1; +} +} void initialize_init_data_string_basic(); void initialize_init_coe(); void initialize_init_data_uint(); void initialize_init_data_to__string(); void initialize_init_lean_format(); void initialize_init_data_hashable(); +void initialize_init_data_rbmap_default(); static bool _G_initialized = false; void initialize_init_lean_name() { if (_G_initialized) return; @@ -914,6 +1795,7 @@ void initialize_init_lean_name() { initialize_init_data_to__string(); initialize_init_lean_format(); initialize_init_data_hashable(); + initialize_init_data_rbmap_default(); l_lean_inhabited = _init_l_lean_inhabited(); lean::mark_persistent(l_lean_inhabited); l_lean_string__to__name = _init_l_lean_string__to__name(); @@ -932,4 +1814,6 @@ lean::mark_persistent(l_lean_name_to__string__with__sep___main___closed__1); lean::mark_persistent(l_lean_name_to__string___closed__1); l_lean_name_has__to__string = _init_l_lean_name_has__to__string(); lean::mark_persistent(l_lean_name_has__to__string); + l_lean_name__map = _init_l_lean_name__map(); +lean::mark_persistent(l_lean_name__map); } diff --git a/src/boot/init/lean/parser/basic.cpp b/src/boot/init/lean/parser/basic.cpp index a61e12b966..a50ea2aa0d 100644 --- a/src/boot/init/lean/parser/basic.cpp +++ b/src/boot/init/lean/parser/basic.cpp @@ -15,11 +15,11 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif obj* l_lean_parser_put__cache(obj*, obj*, obj*, obj*); -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__4(obj*); obj* l_lean_parser_token__map_insert___rarg(obj*, obj*, obj*); obj* l_lean_parser_parser__t_monad___rarg(obj*); obj* l_lean_parser_run___boxed(obj*, obj*, obj*); obj* l_lean_parser_has__view_default(obj*); +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___rarg(obj*, obj*, obj*); obj* l_lean_parser_command__parser__config__coe__parser__config___boxed(obj*); obj* l_lean_parser_parser__core__t_lean_parser_monad__parsec(obj*); obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5___rarg(obj*, obj*, obj*); @@ -28,40 +28,38 @@ obj* l_id___boxed(obj*); obj* l_lean_parser_parser__t_monad__except___boxed(obj*, obj*); obj* l_lean_parser_monad__basic__parser; obj* l_lean_parser_parser__core__t; -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___boxed(obj*); obj* l_lean_parser_get__cache___rarg(obj*, obj*); obj* l_lean_parser_parsec__t_monad__except___rarg(obj*, obj*); -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(obj*, obj*, obj*); obj* l_lean_parser_parsec__t_alternative___rarg(obj*, obj*); -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7(obj*); obj* l_lean_parser_trailing__term__parser__m_monad__except; obj* l_lean_parser_command__parser__m_basic__parser___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_command__parser__m_lean_parser_monad__rec___boxed(obj*); obj* l_lean_parser_mk__token__trie(obj*); obj* l_lean_parser_term__parser__m_lean_parser_monad__basic__parser; -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___boxed(obj*); extern obj* l_mjoin___rarg___closed__1; +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6___rarg(obj*, obj*, obj*); obj* l_lean_parser_token__map__cons_tokens___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_basic__parser__m_monad; obj* l_list_mfoldl___main___at_lean_parser_mk__token__trie___spec__1(obj*, obj*); obj* l_list_mfoldl___main___at_lean_parser_mk__token__trie___spec__1___closed__2; +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2___boxed(obj*); obj* l_rbmap_find___main___at_lean_parser_token__map_insert___spec__1___rarg(obj*, obj*); obj* l_lean_parser_command__parser__m; obj* l_lean_parser_list_cons_tokens___rarg(obj*, obj*); obj* l_lean_parser_has__view_default___rarg___boxed(obj*); +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8(obj*); obj* l_reader__t_lift___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_trie_find___rarg(obj*, obj*); obj* l_lean_parser_parsec__t_monad___rarg(obj*, obj*); obj* l_lean_parser_command__parser__m_lean_parser_monad__rec(obj*); obj* l_lean_parser_command__parser__m_monad__except___closed__1; obj* l_reader__t_alternative___rarg(obj*, obj*); -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___rarg(obj*, obj*, obj*); obj* l_lean_parser_token__map_of__list___main___boxed(obj*); obj* l_lean_parser_run(obj*, obj*, obj*); obj* l_lean_parser_parser__t_monad(obj*, obj*); obj* l_lean_parser_command__parser__m_monad__reader__adapter(obj*, obj*); -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___boxed(obj*); uint8 l_lean_parser_syntax_is__of__kind___main(obj*, obj*); +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2(obj*); obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5(obj*); obj* l_id___rarg___boxed(obj*); obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__9___rarg(obj*, obj*, obj*); @@ -70,7 +68,6 @@ obj* l_lean_parser_command__parser__m_basic__parser___rarg(obj*, obj*, obj*, obj obj* l_lean_parser_command__parser__m_lean_parser_monad__parsec(obj*); obj* l_lean_parser_parser__t_alternative___boxed(obj*, obj*); obj* l_lean_parser_command__parser__m_monad___closed__1; -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7___rarg(obj*, obj*, obj*); obj* l_lean_parser_token__map_of__list___rarg(obj*); obj* l_lean_parser_message__of__parsec__message___rarg(obj*, obj*); obj* l_lean_parser_token__map; @@ -99,10 +96,7 @@ obj* l_lean_parser_parser__t_alternative___rarg(obj*); obj* l_lean_parser_list_cons_tokens___boxed(obj*, obj*, obj*); obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__9___boxed(obj*); extern obj* l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7___boxed(obj*); obj* l_lean_parser_parser__core__t_alternative(obj*); -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(obj*, obj*); -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__8(obj*); obj* l_lean_parser_token__map_of__list(obj*); obj* l_lean_parser_command__parser__m_lean_parser_monad__parsec___closed__1; obj* l_lean_parser_parser__core__t_monad___boxed(obj*); @@ -111,16 +105,16 @@ obj* l_lean_parser_list_cons_tokens(obj*, obj*, obj*); obj* l_lean_parser_parsec__t_run___at_lean_parser_run___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_run___at_lean_parser_run___spec__1___rarg___lambda__1(obj*, obj*); obj* l_lean_parser_command__parser__m_monad__reader(obj*); -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3___rarg(obj*, obj*, obj*); obj* l_lean_parser_tokens___rarg(obj*); obj* l_lean_parser_parser__t; +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4(obj*); obj* l_lean_parser_token__map__cons_tokens(obj*, obj*, obj*, obj*); obj* l_lean_parser_parser__t_monad__reader___boxed(obj*, obj*); obj* l_lean_parser_parser__core__t_monad(obj*); obj* l_lean_parser_log__message___rarg(obj*, obj*, obj*, obj*, obj*); extern obj* l_lean_parser_trie_mk___closed__1; obj* l_lean_parser_lean_parser_monad__parsec___rarg(obj*); -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6(obj*); +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2___rarg(obj*, obj*, obj*); extern obj* l_lean_message__log_empty; namespace lean { uint8 nat_dec_eq(obj*, obj*); @@ -128,11 +122,13 @@ uint8 nat_dec_eq(obj*, obj*); obj* l_lean_parser_token__map__cons_tokens___rarg(obj*, obj*); obj* l_lean_parser_command__parser__m_basic__parser(obj*); obj* l_lean_parser_term__parser__m_lean_parser_monad__parsec; +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6(obj*); obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5___boxed(obj*); obj* l_lean_parser_parser__core__t_monad___rarg(obj*); +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(obj*, obj*, obj*); obj* l_lean_parser_basic__parser__m_monad__reader; obj* l_lean_parser_term__parser__m_monad; -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2(obj*); +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(obj*, obj*, obj*); obj* l_lean_parser_trailing__term__parser__m; obj* l_lean_parser_tokens___rarg___boxed(obj*); obj* l_rbmap_find___main___at_lean_parser_token__map_insert___spec__1___rarg___boxed(obj*, obj*); @@ -151,10 +147,10 @@ obj* l_lean_parser_token__map_of__list___main___rarg(obj*); obj* l_lean_parser_message__of__parsec__message___boxed(obj*); obj* l_rbnode_balance2___main___rarg(obj*, obj*); obj* l_lean_parser_get__cache(obj*); -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3(obj*); obj* l_lean_parser_run___rarg___closed__1; obj* l_lean_parser_command__parser__config__coe__parser__config(obj*); obj* l_lean_parser_try__view___rarg(obj*, obj*, obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); obj* l_reader__t_monad__reader__adapter___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_mk__token__trie___closed__1; obj* l_lean_parser_has__view_default___boxed(obj*); @@ -166,23 +162,22 @@ obj* l_lean_parser_parsec_message_text___rarg(obj*); namespace lean { obj* string_iterator_offset(obj*); } +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6___boxed(obj*); obj* l_id_monad___lambda__1___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_list_cons_tokens___rarg___boxed(obj*, obj*); obj* l_lean_parser_token__map_of__list___main(obj*); -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(obj*, obj*, obj*); obj* l_list_mfoldl___main___at_lean_parser_mk__token__trie___spec__1___closed__3; obj* l_lean_parser_parser__t_lean_parser_monad__parsec___boxed(obj*, obj*); obj* l_state__t_monad___rarg(obj*); obj* l_list_mfoldl___main___at_lean_parser_mk__token__trie___spec__1___closed__1; obj* l_lean_parser_has__tokens_inhabited(obj*, obj*); obj* l_lean_parser_trailing__term__parser__m_monad__reader; -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___boxed(obj*); obj* l_lean_parser_parser__core__t_monad__except___boxed(obj*); obj* l_lean_parser_token__map__nil_tokens(obj*); obj* l_lean_parser_command__parser__m_lean_parser_monad__parsec___boxed(obj*); obj* l_lean_parser_log__message___rarg___lambda__1(obj*, obj*, obj*, obj*); -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___rarg(obj*, obj*, obj*); obj* l_lean_parser_rec__t_recurse___rarg(obj*, obj*, obj*); +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__3(obj*); obj* l_rbmap_find___main___at_lean_parser_token__map_insert___spec__1___boxed(obj*); obj* l_option_get___main___at_lean_parser_run___spec__2___boxed(obj*); obj* l_lean_name_quick__lt(obj*, obj*); @@ -194,6 +189,7 @@ obj* string_mk_iterator(obj*); } obj* l_lean_parser_basic__parser__m_alternative; obj* l_reader__t_lift___rarg___boxed(obj*, obj*); +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___boxed(obj*); obj* l_lean_parser_parser__core__t_lean_parser_monad__parsec___boxed(obj*); obj* l_rbnode_balance1___main___rarg(obj*, obj*); obj* l_lean_parser_parser__t_alternative(obj*, obj*); @@ -210,28 +206,29 @@ obj* l_lean_parser_log__message___boxed(obj*, obj*, obj*); obj* l_has__monad__lift__t__trans___rarg___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_run___at_lean_parser_run___spec__1___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_parser__t_monad__except___rarg(obj*); -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg___boxed(obj*, obj*); +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___boxed(obj*); obj* l_reader__t_monad___rarg(obj*); obj* l_lean_parser_trailing__term__parser__m_alternative; obj* l_lean_parser_basic__parser; obj* l_nat_repr(obj*); -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___boxed(obj*); +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___boxed(obj*); obj* l_lean_parser_command__parser__m_monad___boxed(obj*); obj* l_id_bind___boxed(obj*, obj*); obj* l_lean_parser_parser__t_monad___boxed(obj*, obj*); obj* l_lean_parser_command__parser__m_lean_parser_monad__rec___closed__1; obj* l_lean_parser_term__parser__m_lean_parser_monad__rec; obj* l_lean_parser_parser__core__t_alternative___rarg(obj*); -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10(obj*); +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__7(obj*); obj* l_lean_parser_token__map_insert(obj*); obj* l_lean_parser_parsec__t_run___at_lean_parser_run___spec__1(obj*); -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3___boxed(obj*); +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___rarg(obj*, obj*, obj*); obj* l_lean_parser_trailing__term__parser__m_lean_parser_monad__rec; obj* l_lean_parser_parser__t_monad__reader(obj*, obj*); obj* l_lean_file__map_to__position(obj*, obj*); obj* l_lean_parser_basic__parser__m_lean_parser_monad__parsec; obj* l_lean_parser_parser__t_lean_parser_monad__parsec___rarg(obj*); uint8 l_rbnode_is__red___main___rarg(obj*); +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___boxed(obj*); obj* l_lean_parser_put__cache___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_basic__parser__m_monad__except; obj* l_list_append___rarg(obj*, obj*); @@ -2207,75 +2204,11 @@ x_0 = lean::box(0); return x_0; } } -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(obj* x_0, obj* x_1) { -_start: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_2; -x_2 = lean::box(0); -return x_2; -} -else -{ -obj* x_3; obj* x_5; obj* x_7; obj* x_9; obj* x_12; uint8 x_13; -x_3 = lean::cnstr_get(x_0, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_0, 1); -lean::inc(x_5); -x_7 = lean::cnstr_get(x_0, 2); -lean::inc(x_7); -x_9 = lean::cnstr_get(x_0, 3); -lean::inc(x_9); -lean::dec(x_0); -x_12 = l_lean_name_quick__lt(x_1, x_5); -x_13 = lean::unbox(x_12); -if (x_13 == 0) -{ -obj* x_15; uint8 x_17; -lean::dec(x_3); -x_15 = l_lean_name_quick__lt(x_5, x_1); -lean::dec(x_5); -x_17 = lean::unbox(x_15); -if (x_17 == 0) -{ -obj* x_19; -lean::dec(x_9); -x_19 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_19, 0, x_7); -return x_19; -} -else -{ -lean::dec(x_7); -x_0 = x_9; -goto _start; -} -} -else -{ -lean::dec(x_7); -lean::dec(x_9); -lean::dec(x_5); -x_0 = x_3; -goto _start; -} -} -} -} -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg___boxed), 2, 0); -return x_1; -} -} obj* l_rbmap_find___main___at_lean_parser_token__map_insert___spec__1___rarg(obj* x_0, obj* x_1) { _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -2287,6 +2220,249 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_find___main___at_lean_ return x_1; } } +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_0) == 0) +{ +uint8 x_3; obj* x_4; obj* x_5; +x_3 = 0; +x_4 = lean::alloc_cnstr(1, 4, 1); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +lean::cnstr_set(x_4, 2, x_2); +lean::cnstr_set(x_4, 3, x_0); +lean::cnstr_set_scalar(x_4, sizeof(void*)*4, x_3); +x_5 = x_4; +return x_5; +} +else +{ +uint8 x_6; +x_6 = lean::cnstr_get_scalar(x_0, sizeof(void*)*4); +if (x_6 == 0) +{ +obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_15; obj* x_16; uint8 x_17; +x_7 = lean::cnstr_get(x_0, 0); +x_9 = lean::cnstr_get(x_0, 1); +x_11 = lean::cnstr_get(x_0, 2); +x_13 = lean::cnstr_get(x_0, 3); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + lean::cnstr_set(x_0, 2, lean::box(0)); + lean::cnstr_set(x_0, 3, lean::box(0)); + x_15 = x_0; +} else { + lean::inc(x_7); + lean::inc(x_9); + lean::inc(x_11); + lean::inc(x_13); + lean::dec(x_0); + x_15 = lean::box(0); +} +x_16 = l_lean_name_quick__lt(x_1, x_9); +x_17 = lean::unbox(x_16); +if (x_17 == 0) +{ +obj* x_18; uint8 x_19; +x_18 = l_lean_name_quick__lt(x_9, x_1); +x_19 = lean::unbox(x_18); +if (x_19 == 0) +{ +obj* x_22; obj* x_23; +lean::dec(x_9); +lean::dec(x_11); +if (lean::is_scalar(x_15)) { + x_22 = lean::alloc_cnstr(1, 4, 1); +} else { + x_22 = x_15; +} +lean::cnstr_set(x_22, 0, x_7); +lean::cnstr_set(x_22, 1, x_1); +lean::cnstr_set(x_22, 2, x_2); +lean::cnstr_set(x_22, 3, x_13); +lean::cnstr_set_scalar(x_22, sizeof(void*)*4, x_6); +x_23 = x_22; +return x_23; +} +else +{ +obj* x_24; obj* x_25; obj* x_26; +x_24 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_13, x_1, x_2); +if (lean::is_scalar(x_15)) { + x_25 = lean::alloc_cnstr(1, 4, 1); +} else { + x_25 = x_15; +} +lean::cnstr_set(x_25, 0, x_7); +lean::cnstr_set(x_25, 1, x_9); +lean::cnstr_set(x_25, 2, x_11); +lean::cnstr_set(x_25, 3, x_24); +lean::cnstr_set_scalar(x_25, sizeof(void*)*4, x_6); +x_26 = x_25; +return x_26; +} +} +else +{ +obj* x_27; obj* x_28; obj* x_29; +x_27 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_7, x_1, x_2); +if (lean::is_scalar(x_15)) { + x_28 = lean::alloc_cnstr(1, 4, 1); +} else { + x_28 = x_15; +} +lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_28, 1, x_9); +lean::cnstr_set(x_28, 2, x_11); +lean::cnstr_set(x_28, 3, x_13); +lean::cnstr_set_scalar(x_28, sizeof(void*)*4, x_6); +x_29 = x_28; +return x_29; +} +} +else +{ +obj* x_30; obj* x_32; obj* x_34; obj* x_36; obj* x_38; obj* x_39; uint8 x_40; +x_30 = lean::cnstr_get(x_0, 0); +x_32 = lean::cnstr_get(x_0, 1); +x_34 = lean::cnstr_get(x_0, 2); +x_36 = lean::cnstr_get(x_0, 3); +if (lean::is_exclusive(x_0)) { + lean::cnstr_set(x_0, 0, lean::box(0)); + lean::cnstr_set(x_0, 1, lean::box(0)); + lean::cnstr_set(x_0, 2, lean::box(0)); + lean::cnstr_set(x_0, 3, lean::box(0)); + x_38 = x_0; +} else { + lean::inc(x_30); + lean::inc(x_32); + lean::inc(x_34); + lean::inc(x_36); + lean::dec(x_0); + x_38 = lean::box(0); +} +x_39 = l_lean_name_quick__lt(x_1, x_32); +x_40 = lean::unbox(x_39); +if (x_40 == 0) +{ +obj* x_41; uint8 x_42; +x_41 = l_lean_name_quick__lt(x_32, x_1); +x_42 = lean::unbox(x_41); +if (x_42 == 0) +{ +obj* x_45; obj* x_46; +lean::dec(x_34); +lean::dec(x_32); +if (lean::is_scalar(x_38)) { + x_45 = lean::alloc_cnstr(1, 4, 1); +} else { + x_45 = x_38; +} +lean::cnstr_set(x_45, 0, x_30); +lean::cnstr_set(x_45, 1, x_1); +lean::cnstr_set(x_45, 2, x_2); +lean::cnstr_set(x_45, 3, x_36); +lean::cnstr_set_scalar(x_45, sizeof(void*)*4, x_6); +x_46 = x_45; +return x_46; +} +else +{ +uint8 x_47; +x_47 = l_rbnode_is__red___main___rarg(x_36); +if (x_47 == 0) +{ +obj* x_48; obj* x_49; obj* x_50; +x_48 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_36, x_1, x_2); +if (lean::is_scalar(x_38)) { + x_49 = lean::alloc_cnstr(1, 4, 1); +} else { + x_49 = x_38; +} +lean::cnstr_set(x_49, 0, x_30); +lean::cnstr_set(x_49, 1, x_32); +lean::cnstr_set(x_49, 2, x_34); +lean::cnstr_set(x_49, 3, x_48); +lean::cnstr_set_scalar(x_49, sizeof(void*)*4, x_6); +x_50 = x_49; +return x_50; +} +else +{ +obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; +x_51 = lean::box(0); +if (lean::is_scalar(x_38)) { + x_52 = lean::alloc_cnstr(1, 4, 1); +} else { + x_52 = x_38; +} +lean::cnstr_set(x_52, 0, x_30); +lean::cnstr_set(x_52, 1, x_32); +lean::cnstr_set(x_52, 2, x_34); +lean::cnstr_set(x_52, 3, x_51); +lean::cnstr_set_scalar(x_52, sizeof(void*)*4, x_6); +x_53 = x_52; +x_54 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_36, x_1, x_2); +x_55 = l_rbnode_balance2___main___rarg(x_53, x_54); +return x_55; +} +} +} +else +{ +uint8 x_56; +x_56 = l_rbnode_is__red___main___rarg(x_30); +if (x_56 == 0) +{ +obj* x_57; obj* x_58; obj* x_59; +x_57 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_30, x_1, x_2); +if (lean::is_scalar(x_38)) { + x_58 = lean::alloc_cnstr(1, 4, 1); +} else { + x_58 = x_38; +} +lean::cnstr_set(x_58, 0, x_57); +lean::cnstr_set(x_58, 1, x_32); +lean::cnstr_set(x_58, 2, x_34); +lean::cnstr_set(x_58, 3, x_36); +lean::cnstr_set_scalar(x_58, sizeof(void*)*4, x_6); +x_59 = x_58; +return x_59; +} +else +{ +obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; +x_60 = lean::box(0); +if (lean::is_scalar(x_38)) { + x_61 = lean::alloc_cnstr(1, 4, 1); +} else { + x_61 = x_38; +} +lean::cnstr_set(x_61, 0, x_60); +lean::cnstr_set(x_61, 1, x_32); +lean::cnstr_set(x_61, 2, x_34); +lean::cnstr_set(x_61, 3, x_36); +lean::cnstr_set_scalar(x_61, sizeof(void*)*4, x_6); +x_62 = x_61; +x_63 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_30, x_1, x_2); +x_64 = l_rbnode_balance1___main___rarg(x_62, x_63); +return x_64; +} +} +} +} +} +} +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg), 3, 0); +return x_1; +} +} obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5___rarg(obj* x_0, obj* x_1, obj* x_2) { _start: { @@ -2530,7 +2706,51 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_ return x_1; } } -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(obj* x_0, obj* x_1, obj* x_2) { +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +uint8 x_3; +x_3 = l_rbnode_is__red___main___rarg(x_0); +if (x_3 == 0) +{ +obj* x_4; +x_4 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___rarg(x_0, x_1, x_2); +return x_4; +} +else +{ +obj* x_5; obj* x_6; +x_5 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5___rarg(x_0, x_1, x_2); +x_6 = l_rbnode_set__black___main___rarg(x_5); +return x_6; +} +} +} +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__3(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___rarg), 3, 0); +return x_1; +} +} +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2___rarg(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___rarg(x_0, x_1, x_2); +return x_3; +} +} +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2___rarg), 3, 0); +return x_1; +} +} +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(obj* x_0, obj* x_1, obj* x_2) { _start: { if (lean::obj_tag(x_0) == 0) @@ -2599,7 +2819,7 @@ return x_23; else { obj* x_24; obj* x_25; obj* x_26; -x_24 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_13, x_1, x_2); +x_24 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_13, x_1, x_2); if (lean::is_scalar(x_15)) { x_25 = lean::alloc_cnstr(1, 4, 1); } else { @@ -2617,7 +2837,7 @@ return x_26; else { obj* x_27; obj* x_28; obj* x_29; -x_27 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_7, x_1, x_2); +x_27 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_7, x_1, x_2); if (lean::is_scalar(x_15)) { x_28 = lean::alloc_cnstr(1, 4, 1); } else { @@ -2685,7 +2905,7 @@ x_47 = l_rbnode_is__red___main___rarg(x_36); if (x_47 == 0) { obj* x_48; obj* x_49; obj* x_50; -x_48 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_36, x_1, x_2); +x_48 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_36, x_1, x_2); if (lean::is_scalar(x_38)) { x_49 = lean::alloc_cnstr(1, 4, 1); } else { @@ -2714,7 +2934,7 @@ lean::cnstr_set(x_52, 2, x_34); lean::cnstr_set(x_52, 3, x_51); lean::cnstr_set_scalar(x_52, sizeof(void*)*4, x_6); x_53 = x_52; -x_54 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_36, x_1, x_2); +x_54 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_36, x_1, x_2); x_55 = l_rbnode_balance2___main___rarg(x_53, x_54); return x_55; } @@ -2727,7 +2947,7 @@ x_56 = l_rbnode_is__red___main___rarg(x_30); if (x_56 == 0) { obj* x_57; obj* x_58; obj* x_59; -x_57 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_30, x_1, x_2); +x_57 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_30, x_1, x_2); if (lean::is_scalar(x_38)) { x_58 = lean::alloc_cnstr(1, 4, 1); } else { @@ -2756,7 +2976,7 @@ lean::cnstr_set(x_61, 2, x_34); lean::cnstr_set(x_61, 3, x_36); lean::cnstr_set_scalar(x_61, sizeof(void*)*4, x_6); x_62 = x_61; -x_63 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_30, x_1, x_2); +x_63 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_30, x_1, x_2); x_64 = l_rbnode_balance1___main___rarg(x_62, x_63); return x_64; } @@ -2765,55 +2985,11 @@ return x_64; } } } -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6(obj* x_0) { +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8(obj* x_0) { _start: { obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg), 3, 0); -return x_1; -} -} -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___rarg(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -uint8 x_3; -x_3 = l_rbnode_is__red___main___rarg(x_0); -if (x_3 == 0) -{ -obj* x_4; -x_4 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5___rarg(x_0, x_1, x_2); -return x_4; -} -else -{ -obj* x_5; obj* x_6; -x_5 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___rarg(x_0, x_1, x_2); -x_6 = l_rbnode_set__black___main___rarg(x_5); -return x_6; -} -} -} -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__4(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___rarg), 3, 0); -return x_1; -} -} -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3___rarg(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; -x_3 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___rarg(x_0, x_1, x_2); -return x_3; -} -} -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3___rarg), 3, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg), 3, 0); return x_1; } } @@ -3060,250 +3236,7 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_ return x_1; } } -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -if (lean::obj_tag(x_0) == 0) -{ -uint8 x_3; obj* x_4; obj* x_5; -x_3 = 0; -x_4 = lean::alloc_cnstr(1, 4, 1); -lean::cnstr_set(x_4, 0, x_0); -lean::cnstr_set(x_4, 1, x_1); -lean::cnstr_set(x_4, 2, x_2); -lean::cnstr_set(x_4, 3, x_0); -lean::cnstr_set_scalar(x_4, sizeof(void*)*4, x_3); -x_5 = x_4; -return x_5; -} -else -{ -uint8 x_6; -x_6 = lean::cnstr_get_scalar(x_0, sizeof(void*)*4); -if (x_6 == 0) -{ -obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_15; obj* x_16; uint8 x_17; -x_7 = lean::cnstr_get(x_0, 0); -x_9 = lean::cnstr_get(x_0, 1); -x_11 = lean::cnstr_get(x_0, 2); -x_13 = lean::cnstr_get(x_0, 3); -if (lean::is_exclusive(x_0)) { - lean::cnstr_set(x_0, 0, lean::box(0)); - lean::cnstr_set(x_0, 1, lean::box(0)); - lean::cnstr_set(x_0, 2, lean::box(0)); - lean::cnstr_set(x_0, 3, lean::box(0)); - x_15 = x_0; -} else { - lean::inc(x_7); - lean::inc(x_9); - lean::inc(x_11); - lean::inc(x_13); - lean::dec(x_0); - x_15 = lean::box(0); -} -x_16 = l_lean_name_quick__lt(x_1, x_9); -x_17 = lean::unbox(x_16); -if (x_17 == 0) -{ -obj* x_18; uint8 x_19; -x_18 = l_lean_name_quick__lt(x_9, x_1); -x_19 = lean::unbox(x_18); -if (x_19 == 0) -{ -obj* x_22; obj* x_23; -lean::dec(x_9); -lean::dec(x_11); -if (lean::is_scalar(x_15)) { - x_22 = lean::alloc_cnstr(1, 4, 1); -} else { - x_22 = x_15; -} -lean::cnstr_set(x_22, 0, x_7); -lean::cnstr_set(x_22, 1, x_1); -lean::cnstr_set(x_22, 2, x_2); -lean::cnstr_set(x_22, 3, x_13); -lean::cnstr_set_scalar(x_22, sizeof(void*)*4, x_6); -x_23 = x_22; -return x_23; -} -else -{ -obj* x_24; obj* x_25; obj* x_26; -x_24 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_13, x_1, x_2); -if (lean::is_scalar(x_15)) { - x_25 = lean::alloc_cnstr(1, 4, 1); -} else { - x_25 = x_15; -} -lean::cnstr_set(x_25, 0, x_7); -lean::cnstr_set(x_25, 1, x_9); -lean::cnstr_set(x_25, 2, x_11); -lean::cnstr_set(x_25, 3, x_24); -lean::cnstr_set_scalar(x_25, sizeof(void*)*4, x_6); -x_26 = x_25; -return x_26; -} -} -else -{ -obj* x_27; obj* x_28; obj* x_29; -x_27 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_7, x_1, x_2); -if (lean::is_scalar(x_15)) { - x_28 = lean::alloc_cnstr(1, 4, 1); -} else { - x_28 = x_15; -} -lean::cnstr_set(x_28, 0, x_27); -lean::cnstr_set(x_28, 1, x_9); -lean::cnstr_set(x_28, 2, x_11); -lean::cnstr_set(x_28, 3, x_13); -lean::cnstr_set_scalar(x_28, sizeof(void*)*4, x_6); -x_29 = x_28; -return x_29; -} -} -else -{ -obj* x_30; obj* x_32; obj* x_34; obj* x_36; obj* x_38; obj* x_39; uint8 x_40; -x_30 = lean::cnstr_get(x_0, 0); -x_32 = lean::cnstr_get(x_0, 1); -x_34 = lean::cnstr_get(x_0, 2); -x_36 = lean::cnstr_get(x_0, 3); -if (lean::is_exclusive(x_0)) { - lean::cnstr_set(x_0, 0, lean::box(0)); - lean::cnstr_set(x_0, 1, lean::box(0)); - lean::cnstr_set(x_0, 2, lean::box(0)); - lean::cnstr_set(x_0, 3, lean::box(0)); - x_38 = x_0; -} else { - lean::inc(x_30); - lean::inc(x_32); - lean::inc(x_34); - lean::inc(x_36); - lean::dec(x_0); - x_38 = lean::box(0); -} -x_39 = l_lean_name_quick__lt(x_1, x_32); -x_40 = lean::unbox(x_39); -if (x_40 == 0) -{ -obj* x_41; uint8 x_42; -x_41 = l_lean_name_quick__lt(x_32, x_1); -x_42 = lean::unbox(x_41); -if (x_42 == 0) -{ -obj* x_45; obj* x_46; -lean::dec(x_34); -lean::dec(x_32); -if (lean::is_scalar(x_38)) { - x_45 = lean::alloc_cnstr(1, 4, 1); -} else { - x_45 = x_38; -} -lean::cnstr_set(x_45, 0, x_30); -lean::cnstr_set(x_45, 1, x_1); -lean::cnstr_set(x_45, 2, x_2); -lean::cnstr_set(x_45, 3, x_36); -lean::cnstr_set_scalar(x_45, sizeof(void*)*4, x_6); -x_46 = x_45; -return x_46; -} -else -{ -uint8 x_47; -x_47 = l_rbnode_is__red___main___rarg(x_36); -if (x_47 == 0) -{ -obj* x_48; obj* x_49; obj* x_50; -x_48 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_36, x_1, x_2); -if (lean::is_scalar(x_38)) { - x_49 = lean::alloc_cnstr(1, 4, 1); -} else { - x_49 = x_38; -} -lean::cnstr_set(x_49, 0, x_30); -lean::cnstr_set(x_49, 1, x_32); -lean::cnstr_set(x_49, 2, x_34); -lean::cnstr_set(x_49, 3, x_48); -lean::cnstr_set_scalar(x_49, sizeof(void*)*4, x_6); -x_50 = x_49; -return x_50; -} -else -{ -obj* x_51; obj* x_52; obj* x_53; obj* x_54; obj* x_55; -x_51 = lean::box(0); -if (lean::is_scalar(x_38)) { - x_52 = lean::alloc_cnstr(1, 4, 1); -} else { - x_52 = x_38; -} -lean::cnstr_set(x_52, 0, x_30); -lean::cnstr_set(x_52, 1, x_32); -lean::cnstr_set(x_52, 2, x_34); -lean::cnstr_set(x_52, 3, x_51); -lean::cnstr_set_scalar(x_52, sizeof(void*)*4, x_6); -x_53 = x_52; -x_54 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_36, x_1, x_2); -x_55 = l_rbnode_balance2___main___rarg(x_53, x_54); -return x_55; -} -} -} -else -{ -uint8 x_56; -x_56 = l_rbnode_is__red___main___rarg(x_30); -if (x_56 == 0) -{ -obj* x_57; obj* x_58; obj* x_59; -x_57 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_30, x_1, x_2); -if (lean::is_scalar(x_38)) { - x_58 = lean::alloc_cnstr(1, 4, 1); -} else { - x_58 = x_38; -} -lean::cnstr_set(x_58, 0, x_57); -lean::cnstr_set(x_58, 1, x_32); -lean::cnstr_set(x_58, 2, x_34); -lean::cnstr_set(x_58, 3, x_36); -lean::cnstr_set_scalar(x_58, sizeof(void*)*4, x_6); -x_59 = x_58; -return x_59; -} -else -{ -obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; -x_60 = lean::box(0); -if (lean::is_scalar(x_38)) { - x_61 = lean::alloc_cnstr(1, 4, 1); -} else { - x_61 = x_38; -} -lean::cnstr_set(x_61, 0, x_60); -lean::cnstr_set(x_61, 1, x_32); -lean::cnstr_set(x_61, 2, x_34); -lean::cnstr_set(x_61, 3, x_36); -lean::cnstr_set_scalar(x_61, sizeof(void*)*4, x_6); -x_62 = x_61; -x_63 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_30, x_1, x_2); -x_64 = l_rbnode_balance1___main___rarg(x_62, x_63); -return x_64; -} -} -} -} -} -} -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg), 3, 0); -return x_1; -} -} -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___rarg(obj* x_0, obj* x_1, obj* x_2) { +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___rarg(obj* x_0, obj* x_1, obj* x_2) { _start: { uint8 x_3; @@ -3311,39 +3244,39 @@ x_3 = l_rbnode_is__red___main___rarg(x_0); if (x_3 == 0) { obj* x_4; -x_4 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__9___rarg(x_0, x_1, x_2); +x_4 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___rarg(x_0, x_1, x_2); return x_4; } else { obj* x_5; obj* x_6; -x_5 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___rarg(x_0, x_1, x_2); +x_5 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__9___rarg(x_0, x_1, x_2); x_6 = l_rbnode_set__black___main___rarg(x_5); return x_6; } } } -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__8(obj* x_0) { +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__7(obj* x_0) { _start: { obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___rarg), 3, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___rarg), 3, 0); return x_1; } } -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7___rarg(obj* x_0, obj* x_1, obj* x_2) { +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6___rarg(obj* x_0, obj* x_1, obj* x_2) { _start: { obj* x_3; -x_3 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___rarg(x_0, x_1, x_2); +x_3 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___rarg(x_0, x_1, x_2); return x_3; } } -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7(obj* x_0) { +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6(obj* x_0) { _start: { obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7___rarg), 3, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6___rarg), 3, 0); return x_1; } } @@ -3352,7 +3285,7 @@ _start: { obj* x_4; lean::inc(x_0); -x_4 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_4 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); if (lean::obj_tag(x_4) == 0) { obj* x_5; obj* x_6; obj* x_7; @@ -3360,7 +3293,7 @@ x_5 = lean::box(0); x_6 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_6, 0, x_2); lean::cnstr_set(x_6, 1, x_5); -x_7 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___rarg(x_0, x_1, x_6); +x_7 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___rarg(x_0, x_1, x_6); return x_7; } else @@ -3372,7 +3305,7 @@ lean::dec(x_4); x_11 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_11, 0, x_2); lean::cnstr_set(x_11, 1, x_8); -x_12 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___rarg(x_0, x_1, x_11); +x_12 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___rarg(x_0, x_1, x_11); return x_12; } } @@ -3385,24 +3318,6 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_token__map_inser return x_1; } } -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg___boxed(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); -lean::dec(x_1); -return x_2; -} -} -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___boxed(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2(x_0); -lean::dec(x_0); -return x_1; -} -} obj* l_rbmap_find___main___at_lean_parser_token__map_insert___spec__1___rarg___boxed(obj* x_0, obj* x_1) { _start: { @@ -3421,6 +3336,15 @@ lean::dec(x_0); return x_1; } } +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__4(x_0); +lean::dec(x_0); +return x_1; +} +} obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__5___boxed(obj* x_0) { _start: { @@ -3430,29 +3354,29 @@ lean::dec(x_0); return x_1; } } -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6___boxed(obj* x_0) { +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__3___boxed(obj* x_0) { _start: { obj* x_1; -x_1 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__6(x_0); +x_1 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__3(x_0); lean::dec(x_0); return x_1; } } -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__4___boxed(obj* x_0) { +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2___boxed(obj* x_0) { _start: { obj* x_1; -x_1 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__4(x_0); +x_1 = l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__2(x_0); lean::dec(x_0); return x_1; } } -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3___boxed(obj* x_0) { +obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8___boxed(obj* x_0) { _start: { obj* x_1; -x_1 = l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__3(x_0); +x_1 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__8(x_0); lean::dec(x_0); return x_1; } @@ -3466,29 +3390,20 @@ lean::dec(x_0); return x_1; } } -obj* l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10___boxed(obj* x_0) { +obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__7___boxed(obj* x_0) { _start: { obj* x_1; -x_1 = l_rbnode_ins___main___at_lean_parser_token__map_insert___spec__10(x_0); +x_1 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__7(x_0); lean::dec(x_0); return x_1; } } -obj* l_rbnode_insert___at_lean_parser_token__map_insert___spec__8___boxed(obj* x_0) { +obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6___boxed(obj* x_0) { _start: { obj* x_1; -x_1 = l_rbnode_insert___at_lean_parser_token__map_insert___spec__8(x_0); -lean::dec(x_0); -return x_1; -} -} -obj* l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7___boxed(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__7(x_0); +x_1 = l_rbmap_insert___main___at_lean_parser_token__map_insert___spec__6(x_0); lean::dec(x_0); return x_1; } diff --git a/src/boot/init/lean/parser/term.cpp b/src/boot/init/lean/parser/term.cpp index 50508ed9a6..60857a610a 100644 --- a/src/boot/init/lean/parser/term.cpp +++ b/src/boot/init/lean/parser/term.cpp @@ -404,7 +404,6 @@ obj* l_lean_parser_indexed___at___private_init_lean_parser_term_2__leading___spe obj* l_lean_parser_combinators_any__of___at___private_init_lean_parser_term_1__trailing___spec__10(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l___private_init_lean_parser_parsec_1__str__aux___main(obj*, obj*, obj*); obj* l_list_join___main___rarg(obj*); -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(obj*, obj*); obj* l_lean_parser_term_have__proof_has__view_x_27___lambda__2(obj*); obj* l_lean_parser_term_let__lhs_has__view_x_27___lambda__1___closed__1; obj* l_lean_parser_term_tuple_has__view_x_27; @@ -624,6 +623,7 @@ obj* l_lean_parser_term_have_has__view_x_27; obj* l_lean_parser_monad__parsec_str__core___at_lean_parser_term_projection_parser_lean_parser_has__view___spec__1(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_term_bracketed__binders_has__view_x_27___lambda__1___closed__2; obj* l_lean_parser_term_app_has__view; +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); obj* l_lean_parser_ident__univ__spec_parser_lean_parser_has__view; obj* l_lean_parser_term_simple__explicit__binder_has__view_x_27___lambda__1___closed__1; obj* l_lean_parser_term_binder_parser___closed__1; @@ -51992,7 +51992,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_1__trailing___spec _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -52008,7 +52008,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_1__trailing___spec _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -52024,7 +52024,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_1__trailing___spec _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -52040,7 +52040,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_1__trailing___spec _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -52130,7 +52130,7 @@ lean::inc(x_50); lean::dec(x_39); x_53 = lean::box(0); x_54 = lean_name_mk_string(x_53, x_50); -x_55 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_54); +x_55 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_54); lean::dec(x_54); x_57 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_55, x_3, x_45, x_42); lean::dec(x_3); @@ -52169,7 +52169,7 @@ x_74 = lean::cnstr_get(x_9, 2); lean::inc(x_74); lean::dec(x_9); x_77 = l_lean_parser_indexed___rarg___lambda__1___closed__1; -x_78 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_77); +x_78 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_77); x_79 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_78, x_3, x_72, x_69); lean::dec(x_3); x_81 = lean::cnstr_get(x_79, 0); @@ -52211,7 +52211,7 @@ lean::dec(x_36); x_101 = lean::cnstr_get(x_98, 0); lean::inc(x_101); lean::dec(x_98); -x_104 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_101); +x_104 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_101); lean::dec(x_101); x_106 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_104, x_3, x_93, x_90); lean::dec(x_3); @@ -52268,7 +52268,7 @@ lean::inc(x_137); x_139 = lean::cnstr_get(x_130, 2); lean::inc(x_139); lean::dec(x_130); -x_142 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_135); +x_142 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_135); lean::dec(x_135); x_144 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_142, x_3, x_137, x_132); lean::dec(x_3); @@ -53766,7 +53766,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_2__leading___spec_ _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -53782,7 +53782,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_2__leading___spec_ _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -53798,7 +53798,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_2__leading___spec_ _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -53814,7 +53814,7 @@ obj* l_rbmap_find___main___at___private_init_lean_parser_term_2__leading___spec_ _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -53904,7 +53904,7 @@ lean::inc(x_49); lean::dec(x_38); x_52 = lean::box(0); x_53 = lean_name_mk_string(x_52, x_49); -x_54 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_53); +x_54 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_53); lean::dec(x_53); x_56 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_54, x_2, x_44, x_41); lean::dec(x_2); @@ -53943,7 +53943,7 @@ x_73 = lean::cnstr_get(x_8, 2); lean::inc(x_73); lean::dec(x_8); x_76 = l_lean_parser_indexed___rarg___lambda__1___closed__1; -x_77 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_76); +x_77 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_76); x_78 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_77, x_2, x_71, x_68); lean::dec(x_2); x_80 = lean::cnstr_get(x_78, 0); @@ -53985,7 +53985,7 @@ lean::dec(x_35); x_100 = lean::cnstr_get(x_97, 0); lean::inc(x_100); lean::dec(x_97); -x_103 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_100); +x_103 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_100); lean::dec(x_100); x_105 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_103, x_2, x_92, x_89); lean::dec(x_2); @@ -54042,7 +54042,7 @@ lean::inc(x_136); x_138 = lean::cnstr_get(x_129, 2); lean::inc(x_138); lean::dec(x_129); -x_141 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_134); +x_141 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_134); lean::dec(x_134); x_143 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_141, x_2, x_136, x_131); lean::dec(x_2); diff --git a/src/boot/init/lean/parser/token.cpp b/src/boot/init/lean/parser/token.cpp index 9e30ff33e2..f6e4549acd 100644 --- a/src/boot/init/lean/parser/token.cpp +++ b/src/boot/init/lean/parser/token.cpp @@ -325,7 +325,6 @@ obj* l_lean_parser_monad__parsec_take__while1___at_lean_parser_parse__hex__lit__ obj* l_lean_parser_whitespace___boxed(obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_take__while___at_lean_parser_detail__ident__part_parser_lean_parser_has__tokens___spec__21___rarg(obj*, obj*); obj* l___private_init_lean_parser_parsec_1__str__aux___main(obj*, obj*, obj*); -obj* l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(obj*, obj*); obj* l_reader__t_bind___at_lean_parser_with__trailing___spec__2___rarg(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_number_has__view_x_27___lambda__1___closed__4; obj* l_option_to__monad___main___at_lean_parser_indexed___spec__2(obj*); @@ -487,6 +486,7 @@ obj* l___private_init_lean_parser_token_5__mk__consume__token(obj*, obj*, obj*, obj* l_lean_parser_raw__ident_parser___rarg___closed__1; obj* l_lean_parser_ident_parser___rarg___lambda__1(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_take__while__cont___at_lean_parser_parse__oct__lit___spec__2(uint32, obj*, obj*, obj*); +obj* l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(obj*, obj*); obj* l_list_map___main___at_lean_parser_number_x_27___spec__9___lambda__1(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_take__while__cont___at_lean_parser_detail__ident__part_parser_lean_parser_has__view___spec__4___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_combinators_longest__choice___at_lean_parser_number_x_27___spec__8(obj*, obj*, obj*, obj*); @@ -27098,7 +27098,7 @@ obj* l_rbmap_find___main___at_lean_parser_indexed___spec__1___rarg(obj* x_0, obj _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -27149,7 +27149,7 @@ obj* l_rbmap_find___main___at_lean_parser_indexed___spec__3___rarg(obj* x_0, obj _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -27165,7 +27165,7 @@ obj* l_rbmap_find___main___at_lean_parser_indexed___spec__4___rarg(obj* x_0, obj _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -27181,7 +27181,7 @@ obj* l_rbmap_find___main___at_lean_parser_indexed___spec__5___rarg(obj* x_0, obj _start: { obj* x_2; -x_2 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_1); +x_2 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_1); return x_2; } } @@ -27236,7 +27236,7 @@ lean::inc(x_18); lean::dec(x_15); x_21 = lean::box(0); x_22 = lean_name_mk_string(x_21, x_18); -x_23 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_22); +x_23 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_22); lean::dec(x_22); x_25 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_23, x_2, x_3, x_4); x_26 = lean::cnstr_get(x_25, 0); @@ -27265,7 +27265,7 @@ case 1: obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_40; obj* x_42; obj* x_43; obj* x_44; obj* x_45; lean::dec(x_12); x_35 = l_lean_parser_indexed___rarg___lambda__1___closed__1; -x_36 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_35); +x_36 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_35); x_37 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_36, x_2, x_3, x_4); x_38 = lean::cnstr_get(x_37, 0); x_40 = lean::cnstr_get(x_37, 1); @@ -27297,7 +27297,7 @@ lean::dec(x_12); x_49 = lean::cnstr_get(x_46, 0); lean::inc(x_49); lean::dec(x_46); -x_52 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_49); +x_52 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_49); lean::dec(x_49); x_54 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_52, x_2, x_3, x_4); x_55 = lean::cnstr_get(x_54, 0); @@ -27344,7 +27344,7 @@ lean::inc(x_75); x_77 = lean::cnstr_get(x_68, 2); lean::inc(x_77); lean::dec(x_68); -x_80 = l_rbnode_find___main___at_lean_parser_token__map_insert___spec__2___rarg(x_0, x_73); +x_80 = l_rbnode_find___main___at_lean_name__map_contains___spec__2___rarg(x_0, x_73); lean::dec(x_73); x_82 = l_option_to__monad___main___at_lean_parser_indexed___spec__2___rarg(x_80, x_2, x_75, x_70); x_83 = lean::cnstr_get(x_82, 0);