diff --git a/src/boot/init/lean/elaborator.cpp b/src/boot/init/lean/elaborator.cpp index e65f135383..100fe5343b 100644 --- a/src/boot/init/lean/elaborator.cpp +++ b/src/boot/init/lean/elaborator.cpp @@ -363,7 +363,6 @@ obj* l_lean_elaborator_to__pexpr___main___closed__10; obj* l_rbmap_insert___main___at_lean_elaborator_include_elaborate___spec__1(obj*, obj*, obj*); uint8 l_list_foldr___main___at_lean_elaborator_is__open__namespace___main___spec__2(obj*, obj*); obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed(obj*, obj*); obj* l_lean_elaborator_commands_elaborate___main___lambda__3___closed__2; obj* l_lean_elaborator_run(obj*); obj* l_list_foldr___main___at_lean_elaborator_notation_elaborate___spec__1___boxed(obj*); @@ -596,6 +595,7 @@ extern obj* l_lean_parser_syntax_reprint__lst___main___closed__1; obj* l_lean_elaborator_end__scope___lambda__2(obj*, obj*, obj*, obj*, obj*); obj* l_rbmap_from__list___at_lean_elaborator_elaborators___spec__1___lambda__17(obj*, obj*); obj* l_lean_elaborator_to__pexpr___main___closed__22; +obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed(obj*, obj*); obj* l_list_map___main___at_lean_elaborator_elab__def__like___spec__7(obj*); obj* l_lean_parser_term_binder__ident_parser(obj*, obj*, obj*, obj*, obj*); obj* l_lean_elaborator_locally___at_lean_elaborator_declaration_elaborate___spec__14(obj*, obj*, obj*); @@ -743,6 +743,7 @@ extern obj* l_lean_parser_number_has__view_x_27___lambda__1___closed__6; extern obj* l_lean_expander_no__expansion___closed__1; extern "C" obj* lean_expr_mk_bvar(obj*); obj* l_lean_elaborator_to__pexpr___main___closed__40; +obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1(obj*, obj*); obj* l_rbmap_insert___main___at_lean_elaborator_ordered__rbmap_of__list___spec__2___rarg(obj*, obj*, obj*, obj*); obj* l_list_foldl___main___at_lean_parser_term_mk__app___spec__1(obj*, obj*); obj* l_list_map___main___at_lean_elaborator_declaration_elaborate___spec__4(obj*); @@ -2738,12 +2739,21 @@ lean::dec(x_0); return x_1; } } +obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_2, 0, x_0); +return x_2; +} +} obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { obj* x_4; obj* x_5; x_4 = lean::apply_2(x_0, x_2, x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_5 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_5, 0, x_4); return x_5; } @@ -2756,6 +2766,15 @@ x_1 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__ return x_1; } } +obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1(x_0, x_1); +lean::dec(x_1); +return x_2; +} +} obj* l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { @@ -2795,7 +2814,7 @@ if (lean::is_scalar(x_5)) { x_6 = x_5; } lean::cnstr_set(x_6, 0, x_3); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_7 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_7, 0, x_6); return x_7; } @@ -2828,7 +2847,7 @@ x_5 = lean::cnstr_get(x_2, 1); lean::inc(x_5); lean::dec(x_2); x_8 = lean::apply_3(x_0, x_3, x_1, x_5); -x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_9 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_9, 0, x_8); return x_9; } @@ -25714,7 +25733,7 @@ lean::cnstr_set(x_7, 0, x_6); lean::cnstr_set(x_7, 1, x_3); x_8 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_8, 0, x_7); -x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_9 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_9, 0, x_8); return x_9; } @@ -26041,7 +26060,7 @@ lean::cnstr_set(x_48, 0, x_47); lean::cnstr_set(x_48, 1, x_6); x_49 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_49, 0, x_48); -x_50 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_50 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_50, 0, x_49); return x_50; } @@ -26092,7 +26111,7 @@ lean::cnstr_set(x_62, 0, x_61); lean::cnstr_set(x_62, 1, x_6); x_63 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_63, 0, x_62); -x_64 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_64 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_64, 0, x_63); return x_64; } @@ -26196,7 +26215,7 @@ lean::cnstr_set(x_8, 0, x_7); lean::cnstr_set(x_8, 1, x_4); x_9 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_9, 0, x_8); -x_10 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_10 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_10, 0, x_9); return x_10; } @@ -26253,7 +26272,7 @@ lean::cnstr_set(x_18, 0, x_17); lean::cnstr_set(x_18, 1, x_7); x_19 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_19, 0, x_18); -x_20 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_20 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_20, 0, x_19); return x_20; } @@ -26311,7 +26330,7 @@ lean::cnstr_set(x_39, 0, x_38); lean::cnstr_set(x_39, 1, x_7); x_40 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_40, 0, x_39); -x_41 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_41 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_41, 0, x_40); return x_41; } @@ -26549,7 +26568,7 @@ lean::cnstr_set(x_28, 0, x_27); lean::cnstr_set(x_28, 1, x_26); x_29 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_29, 0, x_28); -x_30 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_30 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_30, 0, x_29); return x_30; } @@ -27288,7 +27307,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_module_header_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27319,7 +27338,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_notation_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27350,7 +27369,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_reserve__notation_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27381,7 +27400,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_universe_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27412,7 +27431,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_variables_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27443,7 +27462,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_include_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27474,7 +27493,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_locally___at_lean_elaborator_declaration_elaborate___spec__14(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27505,7 +27524,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_attribute_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27536,7 +27555,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_open_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27567,7 +27586,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_export_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27598,7 +27617,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_check_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -27631,7 +27650,7 @@ lean::dec(x_1); x_7 = l_lean_elaborator_init__quot_elaborate___closed__1; x_8 = l_lean_elaborator_old__elab__command(x_2, x_7, x_0, x_4); lean::dec(x_2); -x_10 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_10 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_10, 0, x_8); return x_10; } @@ -27662,7 +27681,7 @@ x_4 = lean::cnstr_get(x_1, 1); lean::inc(x_4); lean::dec(x_1); x_7 = l_lean_elaborator_set__option_elaborate(x_2, x_0, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_8 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_8, 0, x_7); return x_8; } @@ -29121,7 +29140,7 @@ lean::cnstr_set(x_4, 0, x_0); lean::cnstr_set(x_4, 1, x_3); x_5 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_5, 0, x_4); -x_6 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_6 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_6, 0, x_5); return x_6; } @@ -29237,7 +29256,7 @@ lean::cnstr_set(x_30, 0, x_29); lean::cnstr_set(x_30, 1, x_28); x_31 = lean::alloc_cnstr(1, 1, 0); lean::cnstr_set(x_31, 0, x_30); -x_32 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_32 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_32, 0, x_31); return x_32; } @@ -29305,7 +29324,7 @@ if (lean::is_scalar(x_4)) { lean::cnstr_set_tag(x_4, 1); } lean::cnstr_set(x_32, 0, x_31); -x_33 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_33 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_33, 0, x_32); return x_33; } @@ -29313,7 +29332,7 @@ else { obj* x_35; lean::dec(x_0); -x_35 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_35 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_35, 0, x_1); return x_35; } @@ -29643,7 +29662,7 @@ x_4 = l_lean_message__log_empty; x_5 = lean::alloc_cnstr(1, 2, 0); lean::cnstr_set(x_5, 0, x_1); lean::cnstr_set(x_5, 1, x_4); -x_6 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_6 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_6, 0, x_5); return x_6; } @@ -29659,7 +29678,7 @@ lean::dec(x_7); x_13 = lean::cnstr_get(x_10, 5); lean::inc(x_13); lean::dec(x_10); -x_16 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); +x_16 = lean::alloc_closure(reinterpret_cast(l_lean_elaborator_elaborator__m__coe__coelaborator__m___rarg___lambda__1___boxed), 2, 1); lean::closure_set(x_16, 0, x_13); return x_16; } diff --git a/src/boot/init/lean/frontend.cpp b/src/boot/init/lean/frontend.cpp index 1bae3f240a..2ff0430ae6 100644 --- a/src/boot/init/lean/frontend.cpp +++ b/src/boot/init/lean/frontend.cpp @@ -14,104 +14,92 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #pragma GCC diagnostic ignored "-Wunused-label" #pragma GCC diagnostic ignored "-Wunused-but-set-variable" #endif -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__1; obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__12(obj*, obj*, obj*); obj* l___private_init_io_12__put__str___at_lean_run__frontend___spec__5(obj*, obj*); -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__2(obj*, obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__3; obj* l_lean_run__frontend___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_lean_expander_expand(obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___boxed(obj*, obj*, obj*, obj*); extern obj* l_lean_elaborator_notation_elaborate___closed__1; -extern obj* l_lean_parser_module_tokens; -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___boxed(obj*, obj*); obj* l_lean_parser_mk__token__trie(obj*); -obj* l_lean_parser_run___at_lean_run__frontend___spec__1(obj*, obj*, obj*); obj* l_lean_process__file___lambda__1___closed__6; -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2(obj*, obj*); extern "C" obj* lean_io_prim_put_str(obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__6; obj* l_lean_process__file___lambda__1___closed__3; obj* l_list_reverse___rarg(obj*); uint8 l_lean_parser_syntax_is__of__kind___main(obj*, obj*); +obj* l_lean_parser_parse__command(obj*, obj*); +extern obj* l_lean_expander_expand__bracketed__binder___main___closed__4; obj* l_string_quote(obj*); -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5; -obj* l_lean_parser_message__of__parsec__message___rarg(obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__1; extern obj* l_lean_expander_builtin__transformers; obj* l_lean_mk__config(obj*, obj*); -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg(obj*, obj*, obj*, obj*); obj* l_lean_process__file___lambda__1___closed__5; obj* l_lean_process__file___lambda__1___closed__8; obj* lean_process_file(obj*, obj*, uint8, obj*); obj* l_lean_run__frontend(obj*, obj*, obj*, uint8, obj*); -obj* l_lean_parser_module_parser(obj*, obj*, obj*); namespace lean { obj* string_append(obj*, obj*); } obj* l_lean_process__file___lambda__1___closed__2; +obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__1(obj*, obj*, obj*); obj* l_lean_process__file___closed__1; obj* l_io_println___at_lean_run__frontend___spec__3___boxed(obj*, obj*); extern obj* l_lean_parser_term_builtin__trailing__parsers_lean_parser_has__tokens; -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4; extern obj* l_lean_parser_term_builtin__leading__parsers; -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___boxed(obj*, obj*, obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11(obj*, uint8, obj*, obj*); obj* l_lean_process__file___lambda__1___closed__1; -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___lambda__1___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_tokens___rarg(obj*); obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__8(obj*, obj*, obj*); -obj* l_lean_parser_run___at_lean_run__frontend___spec__1___lambda__1(obj*, obj*); extern obj* l_lean_parser_module_eoi; -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___closed__1; -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed(obj*, obj*); obj* l_lean_elaborator_run(obj*); -extern obj* l_lean_message__log_empty; extern obj* l_lean_format_be___main___closed__1; -obj* l_coroutine_bind___main___rarg(obj*, obj*, obj*); extern obj* l_string_join___closed__1; -obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__11(obj*, obj*, obj*); obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__6(obj*, obj*, obj*); -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___boxed(obj*, obj*, obj*, obj*); -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14(obj*, uint8, obj*, obj*); -extern obj* l_lean_parser_run___rarg___closed__1; +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__4; obj* l_lean_process__file___lambda__1___boxed(obj*, obj*, obj*); +obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__10(obj*, obj*, obj*, uint8, obj*, obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__1(obj*, obj*, obj*); obj* l_lean_message_to__string(obj*); obj* l_lean_process__file___lambda__1___closed__7; +namespace lean { +obj* string_iterator_offset(obj*); +} obj* l_lean_file__map_from__string(obj*); +extern obj* l_lean_parser_module_header_parser_lean_parser_has__tokens; obj* l_lean_process__file___boxed(obj*, obj*, obj*, obj*); extern obj* l_lean_parser_term_builtin__leading__parsers_lean_parser_has__tokens; -obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__10(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___closed__1; -namespace lean { -obj* string_mk_iterator(obj*); -} +obj* l_lean_parser_parse__header(obj*); obj* l_reader__t_monad___rarg___lambda__9___boxed(obj*, obj*, obj*); obj* l_io_print___at_lean_run__frontend___spec__4(obj*, obj*); -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6; extern obj* l_lean_parser_command_builtin__command__parsers; -obj* l_option_get___main___at_lean_parser_run___spec__2(obj*); +obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__1___boxed(obj*, obj*, obj*); obj* l_io_println___at_lean_run__frontend___spec__3(obj*, obj*); -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13(obj*, obj*, obj*, uint8, obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__2(obj*, obj*, obj*); extern obj* l_lean_parser_command_builtin__command__parsers_lean_parser_has__tokens; extern obj* l_lean_parser_term_builtin__trailing__parsers; obj* l_nat_repr(obj*); -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1___boxed(obj*, obj*, obj*); obj* l_lean_process__file___lambda__1___closed__9; -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__2; obj* l_io_print___at_lean_run__frontend___spec__4___boxed(obj*, obj*); -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___lambda__1(obj*, obj*, obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__2___boxed(obj*, obj*, obj*); +obj* l_lean_file__map_to__position(obj*, obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__2; +obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__10___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_list_append___rarg(obj*, obj*); obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__9(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___lambda__1(obj*); +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5; obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__7(obj*, obj*, obj*); -obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; obj* l___private_init_io_12__put__str___at_lean_run__frontend___spec__5___boxed(obj*, obj*); obj* l_lean_process__file___lambda__1(uint8, obj*, obj*); obj* l_lean_profileit__pure___rarg(obj*, obj*, obj*, obj*); obj* l_lean_process__file___lambda__1___closed__4; -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3; obj* l_lean_mk__config(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; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_2 = l_lean_parser_module_tokens; +x_2 = l_lean_parser_module_header_parser_lean_parser_has__tokens; x_3 = l_lean_parser_tokens___rarg(x_2); x_4 = l_lean_parser_command_builtin__command__parsers_lean_parser_has__tokens; x_5 = l_lean_parser_tokens___rarg(x_4); @@ -187,199 +175,166 @@ return x_33; } } } -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___lambda__1(obj* x_0) { +obj* _init_l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1() { +_start: +{ +obj* x_0; obj* x_1; +x_0 = lean::box(0); +x_1 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_1, 0, x_0); +return x_1; +} +} +obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__1(obj* x_0, obj* x_1, obj* x_2) { _start: { -obj* x_1; -x_1 = lean::cnstr_get(x_0, 0); -lean::inc(x_1); if (lean::obj_tag(x_1) == 0) { -obj* x_3; obj* x_5; obj* x_6; obj* x_9; obj* x_10; obj* x_11; -x_3 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - lean::cnstr_release(x_0, 0); - x_5 = x_0; -} else { - lean::inc(x_3); - lean::dec(x_0); - x_5 = lean::box(0); +obj* x_4; obj* x_5; +lean::dec(x_0); +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; +x_5 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_5, 0, x_4); +lean::cnstr_set(x_5, 1, x_2); +return x_5; } +else +{ +obj* x_6; obj* x_8; obj* x_12; obj* x_13; x_6 = lean::cnstr_get(x_1, 0); lean::inc(x_6); -lean::dec(x_1); -x_9 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_9, 0, x_6); -if (lean::is_scalar(x_5)) { - x_10 = lean::alloc_cnstr(0, 2, 0); -} else { - x_10 = x_5; -} -lean::cnstr_set(x_10, 0, x_9); -lean::cnstr_set(x_10, 1, x_3); -x_11 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_11, 0, x_10); -return x_11; -} -else -{ -obj* x_12; obj* x_14; obj* x_15; obj* x_18; obj* x_19; obj* x_20; -x_12 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - lean::cnstr_release(x_0, 0); - x_14 = x_0; -} else { - lean::inc(x_12); - lean::dec(x_0); - x_14 = lean::box(0); -} -x_15 = lean::cnstr_get(x_1, 0); -lean::inc(x_15); -lean::dec(x_1); -x_18 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_18, 0, x_15); -if (lean::is_scalar(x_14)) { - x_19 = lean::alloc_cnstr(0, 2, 0); -} else { - x_19 = x_14; -} -lean::cnstr_set(x_19, 0, x_18); -lean::cnstr_set(x_19, 1, x_12); -x_20 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_20, 0, x_19); -return x_20; -} -} -} -obj* _init_l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___lambda__1), 1, 0); -return x_0; -} -} -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_6; obj* x_7; -x_4 = lean::string_mk_iterator(x_1); -x_5 = lean::apply_2(x_0, x_4, x_3); -x_6 = l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___closed__1; -x_7 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_7, 0, x_5); -lean::closure_set(x_7, 1, x_6); -return x_7; -} -} -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___boxed), 4, 0); -return x_2; -} -} -obj* l_lean_parser_run___at_lean_run__frontend___spec__1___lambda__1(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; obj* x_4; -x_2 = lean::cnstr_get(x_1, 0); -if (lean::is_exclusive(x_1)) { - lean::cnstr_set(x_1, 0, lean::box(0)); - lean::cnstr_release(x_1, 1); - x_4 = x_1; -} else { - lean::inc(x_2); - lean::dec(x_1); - x_4 = lean::box(0); -} -if (lean::obj_tag(x_2) == 0) -{ -obj* x_5; obj* x_8; obj* x_10; obj* x_12; obj* x_13; obj* x_16; obj* x_19; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; -x_5 = lean::cnstr_get(x_2, 0); -lean::inc(x_5); -lean::dec(x_2); -x_8 = lean::cnstr_get(x_5, 3); +x_8 = lean::cnstr_get(x_1, 1); lean::inc(x_8); -x_10 = l_option_get___main___at_lean_parser_run___spec__2(x_8); -lean::dec(x_8); -x_12 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_12, 0, x_10); -x_13 = lean::cnstr_get(x_0, 0); +lean::dec(x_1); +lean::inc(x_0); +x_12 = lean::apply_2(x_0, x_6, x_2); +x_13 = lean::cnstr_get(x_12, 0); lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; obj* x_24; +lean::dec(x_8); lean::dec(x_0); -x_16 = lean::cnstr_get(x_13, 0); -lean::inc(x_16); -lean::dec(x_13); -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = l_lean_parser_message__of__parsec__message___rarg(x_19, x_5); -x_23 = l_lean_message__log_empty; -x_24 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_24, 0, x_22); -lean::cnstr_set(x_24, 1, x_23); -if (lean::is_scalar(x_4)) { - x_25 = lean::alloc_cnstr(0, 2, 0); +x_17 = lean::cnstr_get(x_12, 1); +if (lean::is_exclusive(x_12)) { + lean::cnstr_release(x_12, 0); + x_19 = x_12; } else { - x_25 = x_4; + lean::inc(x_17); + lean::dec(x_12); + x_19 = lean::box(0); } -lean::cnstr_set(x_25, 0, x_12); -lean::cnstr_set(x_25, 1, x_24); -x_26 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_26, 0, x_25); -return x_26; +x_20 = lean::cnstr_get(x_13, 0); +if (lean::is_exclusive(x_13)) { + x_22 = x_13; +} else { + lean::inc(x_20); + lean::dec(x_13); + x_22 = lean::box(0); +} +if (lean::is_scalar(x_22)) { + x_23 = lean::alloc_cnstr(0, 1, 0); +} else { + x_23 = x_22; +} +lean::cnstr_set(x_23, 0, x_20); +if (lean::is_scalar(x_19)) { + x_24 = lean::alloc_cnstr(0, 2, 0); +} else { + x_24 = x_19; +} +lean::cnstr_set(x_24, 0, x_23); +lean::cnstr_set(x_24, 1, x_17); +return x_24; } else { -obj* x_29; obj* x_32; obj* x_34; obj* x_36; obj* x_37; obj* x_38; obj* x_39; -lean::dec(x_4); -lean::dec(x_0); -x_29 = lean::cnstr_get(x_2, 0); -lean::inc(x_29); -lean::dec(x_2); -x_32 = lean::cnstr_get(x_29, 0); -x_34 = lean::cnstr_get(x_29, 1); -if (lean::is_exclusive(x_29)) { - x_36 = x_29; -} else { - lean::inc(x_32); - lean::inc(x_34); - lean::dec(x_29); - x_36 = lean::box(0); -} -x_37 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_37, 0, x_32); -if (lean::is_scalar(x_36)) { - x_38 = lean::alloc_cnstr(0, 2, 0); -} else { - x_38 = x_36; -} -lean::cnstr_set(x_38, 0, x_37); -lean::cnstr_set(x_38, 1, x_34); -x_39 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_39, 0, x_38); -return x_39; +obj* x_26; +lean::dec(x_13); +x_26 = lean::cnstr_get(x_12, 1); +lean::inc(x_26); +lean::dec(x_12); +x_1 = x_8; +x_2 = x_26; +goto _start; } } } -obj* l_lean_parser_run___at_lean_run__frontend___spec__1(obj* x_0, obj* x_1, obj* x_2) { +} +obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__2(obj* x_0, obj* x_1, obj* x_2) { _start: { -obj* x_3; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; -x_3 = l_lean_message__log_empty; +if (lean::obj_tag(x_1) == 0) +{ +obj* x_4; obj* x_5; +lean::dec(x_0); +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; +x_5 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_5, 0, x_4); +lean::cnstr_set(x_5, 1, x_2); +return x_5; +} +else +{ +obj* x_6; obj* x_8; obj* x_12; obj* x_13; +x_6 = lean::cnstr_get(x_1, 0); +lean::inc(x_6); +x_8 = lean::cnstr_get(x_1, 1); +lean::inc(x_8); +lean::dec(x_1); lean::inc(x_0); -x_5 = lean::apply_2(x_2, x_3, x_0); -x_6 = l_string_join___closed__1; -x_7 = l_lean_parser_run___rarg___closed__1; -x_8 = l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg(x_5, x_1, x_6, x_7); -x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_run___at_lean_run__frontend___spec__1___lambda__1), 2, 1); -lean::closure_set(x_9, 0, x_0); -x_10 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_10, 0, x_8); -lean::closure_set(x_10, 1, x_9); -return x_10; +x_12 = lean::apply_2(x_0, x_6, x_2); +x_13 = lean::cnstr_get(x_12, 0); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; obj* x_24; +lean::dec(x_8); +lean::dec(x_0); +x_17 = lean::cnstr_get(x_12, 1); +if (lean::is_exclusive(x_12)) { + lean::cnstr_release(x_12, 0); + x_19 = x_12; +} else { + lean::inc(x_17); + lean::dec(x_12); + x_19 = lean::box(0); +} +x_20 = lean::cnstr_get(x_13, 0); +if (lean::is_exclusive(x_13)) { + x_22 = x_13; +} else { + lean::inc(x_20); + lean::dec(x_13); + x_22 = lean::box(0); +} +if (lean::is_scalar(x_22)) { + x_23 = lean::alloc_cnstr(0, 1, 0); +} else { + x_23 = x_22; +} +lean::cnstr_set(x_23, 0, x_20); +if (lean::is_scalar(x_19)) { + x_24 = lean::alloc_cnstr(0, 2, 0); +} else { + x_24 = x_19; +} +lean::cnstr_set(x_24, 0, x_23); +lean::cnstr_set(x_24, 1, x_17); +return x_24; +} +else +{ +obj* x_26; +lean::dec(x_13); +x_26 = lean::cnstr_get(x_12, 1); +lean::inc(x_26); +lean::dec(x_12); +x_1 = x_8; +x_2 = x_26; +goto _start; +} +} } } obj* l___private_init_io_12__put__str___at_lean_run__frontend___spec__5(obj* x_0, obj* x_1) { @@ -524,16 +479,6 @@ return x_18; } } } -obj* _init_l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1() { -_start: -{ -obj* x_0; obj* x_1; -x_0 = lean::box(0); -x_1 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_1, 0, x_0); -return x_1; -} -} obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__6(obj* x_0, obj* x_1, obj* x_2) { _start: { @@ -541,7 +486,7 @@ if (lean::obj_tag(x_1) == 0) { obj* x_4; obj* x_5; lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; x_5 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_5, 0, x_4); lean::cnstr_set(x_5, 1, x_2); @@ -617,7 +562,7 @@ if (lean::obj_tag(x_1) == 0) { obj* x_4; obj* x_5; lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; x_5 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_5, 0, x_4); lean::cnstr_set(x_5, 1, x_2); @@ -693,7 +638,7 @@ if (lean::obj_tag(x_1) == 0) { obj* x_4; obj* x_5; lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; x_5 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_5, 0, x_4); lean::cnstr_set(x_5, 1, x_2); @@ -769,7 +714,7 @@ if (lean::obj_tag(x_1) == 0) { obj* x_4; obj* x_5; lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; x_5 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_5, 0, x_4); lean::cnstr_set(x_5, 1, x_2); @@ -838,246 +783,23 @@ goto _start; } } } -obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__10(obj* x_0, obj* x_1, obj* x_2) { +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__1(obj* x_0, obj* x_1, obj* x_2) { _start: { -if (lean::obj_tag(x_1) == 0) -{ -obj* x_4; obj* x_5; -lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_4); -lean::cnstr_set(x_5, 1, x_2); -return x_5; -} -else -{ -obj* x_6; obj* x_8; obj* x_12; obj* x_13; -x_6 = lean::cnstr_get(x_1, 0); -lean::inc(x_6); -x_8 = lean::cnstr_get(x_1, 1); -lean::inc(x_8); -lean::dec(x_1); -lean::inc(x_0); -x_12 = lean::apply_2(x_0, x_6, x_2); -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) -{ -obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_8); -lean::dec(x_0); -x_17 = lean::cnstr_get(x_12, 1); -if (lean::is_exclusive(x_12)) { - lean::cnstr_release(x_12, 0); - x_19 = x_12; -} else { - lean::inc(x_17); - lean::dec(x_12); - x_19 = lean::box(0); -} -x_20 = lean::cnstr_get(x_13, 0); -if (lean::is_exclusive(x_13)) { - x_22 = x_13; -} else { - lean::inc(x_20); - lean::dec(x_13); - x_22 = lean::box(0); -} -if (lean::is_scalar(x_22)) { - x_23 = lean::alloc_cnstr(0, 1, 0); -} else { - x_23 = x_22; -} -lean::cnstr_set(x_23, 0, x_20); -if (lean::is_scalar(x_19)) { - x_24 = lean::alloc_cnstr(0, 2, 0); -} else { - x_24 = x_19; -} -lean::cnstr_set(x_24, 0, x_23); -lean::cnstr_set(x_24, 1, x_17); -return x_24; -} -else -{ -obj* x_26; -lean::dec(x_13); -x_26 = lean::cnstr_get(x_12, 1); -lean::inc(x_26); -lean::dec(x_12); -x_1 = x_8; -x_2 = x_26; -goto _start; +obj* x_3; +x_3 = l_lean_parser_parse__command(x_0, x_1); +return x_3; } } -} -} -obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__11(obj* x_0, obj* x_1, obj* x_2) { +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__2(obj* x_0, obj* x_1, obj* x_2) { _start: { -if (lean::obj_tag(x_1) == 0) -{ -obj* x_4; obj* x_5; -lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_4); -lean::cnstr_set(x_5, 1, x_2); -return x_5; -} -else -{ -obj* x_6; obj* x_8; obj* x_12; obj* x_13; -x_6 = lean::cnstr_get(x_1, 0); -lean::inc(x_6); -x_8 = lean::cnstr_get(x_1, 1); -lean::inc(x_8); -lean::dec(x_1); -lean::inc(x_0); -x_12 = lean::apply_2(x_0, x_6, x_2); -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) -{ -obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_8); -lean::dec(x_0); -x_17 = lean::cnstr_get(x_12, 1); -if (lean::is_exclusive(x_12)) { - lean::cnstr_release(x_12, 0); - x_19 = x_12; -} else { - lean::inc(x_17); - lean::dec(x_12); - x_19 = lean::box(0); -} -x_20 = lean::cnstr_get(x_13, 0); -if (lean::is_exclusive(x_13)) { - x_22 = x_13; -} else { - lean::inc(x_20); - lean::dec(x_13); - x_22 = lean::box(0); -} -if (lean::is_scalar(x_22)) { - x_23 = lean::alloc_cnstr(0, 1, 0); -} else { - x_23 = x_22; -} -lean::cnstr_set(x_23, 0, x_20); -if (lean::is_scalar(x_19)) { - x_24 = lean::alloc_cnstr(0, 2, 0); -} else { - x_24 = x_19; -} -lean::cnstr_set(x_24, 0, x_23); -lean::cnstr_set(x_24, 1, x_17); -return x_24; -} -else -{ -obj* x_26; -lean::dec(x_13); -x_26 = lean::cnstr_get(x_12, 1); -lean::inc(x_26); -lean::dec(x_12); -x_1 = x_8; -x_2 = x_26; -goto _start; +obj* x_3; +x_3 = l_lean_expander_expand(x_0, x_1); +return x_3; } } -} -} -obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__12(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -if (lean::obj_tag(x_1) == 0) -{ -obj* x_4; obj* x_5; -lean::dec(x_0); -x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1; -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_4); -lean::cnstr_set(x_5, 1, x_2); -return x_5; -} -else -{ -obj* x_6; obj* x_8; obj* x_12; obj* x_13; -x_6 = lean::cnstr_get(x_1, 0); -lean::inc(x_6); -x_8 = lean::cnstr_get(x_1, 1); -lean::inc(x_8); -lean::dec(x_1); -lean::inc(x_0); -x_12 = lean::apply_2(x_0, x_6, x_2); -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) -{ -obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_8); -lean::dec(x_0); -x_17 = lean::cnstr_get(x_12, 1); -if (lean::is_exclusive(x_12)) { - lean::cnstr_release(x_12, 0); - x_19 = x_12; -} else { - lean::inc(x_17); - lean::dec(x_12); - x_19 = lean::box(0); -} -x_20 = lean::cnstr_get(x_13, 0); -if (lean::is_exclusive(x_13)) { - x_22 = x_13; -} else { - lean::inc(x_20); - lean::dec(x_13); - x_22 = lean::box(0); -} -if (lean::is_scalar(x_22)) { - x_23 = lean::alloc_cnstr(0, 1, 0); -} else { - x_23 = x_22; -} -lean::cnstr_set(x_23, 0, x_20); -if (lean::is_scalar(x_19)) { - x_24 = lean::alloc_cnstr(0, 2, 0); -} else { - x_24 = x_19; -} -lean::cnstr_set(x_24, 0, x_23); -lean::cnstr_set(x_24, 1, x_17); -return x_24; -} -else -{ -obj* x_26; -lean::dec(x_13); -x_26 = lean::cnstr_get(x_12, 1); -lean::inc(x_26); -lean::dec(x_12); -x_1 = x_8; -x_2 = x_26; -goto _start; -} -} -} -} -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_6; -x_3 = lean::cnstr_get(x_0, 0); -lean::inc(x_3); -lean::dec(x_0); -x_6 = l_lean_expander_expand(x_3, x_1); -return x_6; -} -} -obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__1() { +obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__1() { _start: { obj* x_0; @@ -1085,15 +807,7 @@ x_0 = lean::mk_string("parsing"); return x_0; } } -obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__2() { -_start: -{ -obj* x_0; -x_0 = lean::mk_string("parser died!!"); -return x_0; -} -} -obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3() { +obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__2() { _start: { obj* x_0; @@ -1101,7 +815,7 @@ x_0 = lean::mk_string("expanding"); return x_0; } } -obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4() { +obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__3() { _start: { obj* x_0; @@ -1109,7 +823,15 @@ x_0 = lean::mk_string("elaborating"); return x_0; } } -obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5() { +obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__4() { +_start: +{ +obj* x_0; +x_0 = lean::mk_string("elaborator died!!"); +return x_0; +} +} +obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5() { _start: { obj* x_0; obj* x_1; obj* x_2; obj* x_3; @@ -1122,18 +844,18 @@ lean::cnstr_set(x_3, 0, x_2); return x_3; } } -obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6() { +obj* _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__6() { _start: { obj* x_0; -x_0 = lean::mk_string("elaborator died!!"); +x_0 = lean::mk_string("parser died!!"); return x_0; } } -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14(obj* x_0, uint8 x_1, obj* x_2, obj* x_3) { +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11(obj* x_0, uint8 x_1, obj* x_2, obj* x_3) { _start: { -obj* x_4; obj* x_5; obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_16; obj* x_19; obj* x_21; obj* x_22; obj* x_24; obj* x_26; obj* x_27; obj* x_29; obj* x_30; +obj* x_4; obj* x_5; obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_16; obj* x_19; obj* x_22; obj* x_24; obj* x_27; obj* x_28; obj* x_30; obj* x_33; obj* x_36; obj* x_39; obj* x_41; obj* x_43; obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_50; x_7 = lean::cnstr_get(x_2, 1); lean::inc(x_7); x_9 = lean::cnstr_get(x_7, 1); @@ -1147,1748 +869,1140 @@ x_16 = lean::cnstr_get(x_7, 0); lean::inc(x_16); lean::dec(x_7); x_19 = lean::cnstr_get(x_9, 0); -if (lean::is_exclusive(x_9)) { - lean::cnstr_set(x_9, 0, lean::box(0)); - lean::cnstr_release(x_9, 1); - x_21 = x_9; -} else { - lean::inc(x_19); - lean::dec(x_9); - x_21 = lean::box(0); -} -x_22 = lean::cnstr_get(x_11, 0); -x_24 = lean::cnstr_get(x_11, 1); -if (lean::is_exclusive(x_11)) { - lean::cnstr_set(x_11, 0, lean::box(0)); - lean::cnstr_set(x_11, 1, lean::box(0)); - x_26 = x_11; -} else { - lean::inc(x_22); - lean::inc(x_24); - lean::dec(x_11); - x_26 = lean::box(0); -} -x_27 = lean::box(0); lean::inc(x_19); -x_29 = lean::alloc_closure(reinterpret_cast(l_reader__t_monad___rarg___lambda__9___boxed), 3, 2); -lean::closure_set(x_29, 0, x_13); -lean::closure_set(x_29, 1, x_19); -if (lean::obj_tag(x_24) == 0) +lean::dec(x_9); +x_22 = lean::cnstr_get(x_11, 0); +lean::inc(x_22); +x_24 = lean::cnstr_get(x_11, 1); +lean::inc(x_24); +lean::dec(x_11); +x_27 = lean::box(0); +x_28 = lean::cnstr_get(x_19, 0); +lean::inc(x_28); +x_30 = lean::cnstr_get(x_28, 0); +lean::inc(x_30); +lean::dec(x_28); +x_33 = lean::cnstr_get(x_30, 0); +lean::inc(x_33); +lean::dec(x_30); +x_36 = lean::cnstr_get(x_33, 2); +lean::inc(x_36); +lean::dec(x_33); +x_39 = lean::cnstr_get(x_13, 0); +lean::inc(x_39); +x_41 = lean::string_iterator_offset(x_39); +lean::dec(x_39); +x_43 = l_lean_file__map_to__position(x_36, x_41); +lean::inc(x_19); +x_45 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__1___boxed), 3, 2); +lean::closure_set(x_45, 0, x_19); +lean::closure_set(x_45, 1, x_13); +x_46 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__1; +x_47 = l_lean_profileit__pure___rarg(x_46, x_43, x_45, x_3); +x_48 = lean::cnstr_get(x_47, 0); +lean::inc(x_48); +x_50 = lean::cnstr_get(x_48, 0); +lean::inc(x_50); +if (lean::obj_tag(x_50) == 0) { -obj* x_32; -x_32 = l_lean_elaborator_notation_elaborate___closed__1; -x_30 = x_32; -goto lbl_31; +obj* x_52; obj* x_54; obj* x_55; obj* x_58; obj* x_61; obj* x_63; obj* x_65; obj* x_66; obj* x_68; obj* x_69; +x_52 = lean::cnstr_get(x_50, 0); +if (lean::is_exclusive(x_50)) { + lean::cnstr_set(x_50, 0, lean::box(0)); + x_54 = x_50; +} else { + lean::inc(x_52); + lean::dec(x_50); + x_54 = lean::box(0); +} +x_55 = lean::cnstr_get(x_47, 1); +lean::inc(x_55); +lean::dec(x_47); +x_58 = lean::cnstr_get(x_48, 1); +lean::inc(x_58); +lean::dec(x_48); +x_61 = lean::cnstr_get(x_52, 0); +x_63 = lean::cnstr_get(x_52, 1); +if (lean::is_exclusive(x_52)) { + lean::cnstr_set(x_52, 0, lean::box(0)); + lean::cnstr_set(x_52, 1, lean::box(0)); + x_65 = x_52; +} else { + lean::inc(x_61); + lean::inc(x_63); + lean::dec(x_52); + x_65 = lean::box(0); +} +x_66 = l_list_reverse___rarg(x_58); +lean::inc(x_0); +x_68 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__2(x_0, x_66, x_55); +x_69 = lean::cnstr_get(x_68, 0); +lean::inc(x_69); +if (lean::obj_tag(x_69) == 0) +{ +obj* x_80; obj* x_83; obj* x_85; obj* x_86; +lean::dec(x_16); +lean::dec(x_22); +lean::dec(x_43); +lean::dec(x_19); +lean::dec(x_24); +lean::dec(x_54); +lean::dec(x_61); +lean::dec(x_63); +lean::dec(x_65); +x_80 = lean::cnstr_get(x_68, 1); +lean::inc(x_80); +lean::dec(x_68); +x_83 = lean::cnstr_get(x_69, 0); +if (lean::is_exclusive(x_69)) { + x_85 = x_69; +} else { + lean::inc(x_83); + lean::dec(x_69); + x_85 = lean::box(0); +} +if (lean::is_scalar(x_85)) { + x_86 = lean::alloc_cnstr(0, 1, 0); +} else { + x_86 = x_85; +} +lean::cnstr_set(x_86, 0, x_83); +x_4 = x_86; +x_5 = x_80; +goto lbl_6; } else { -obj* x_33; obj* x_35; -x_33 = lean::cnstr_get(x_24, 0); -lean::inc(x_33); -x_35 = lean::cnstr_get(x_33, 3); -lean::inc(x_35); -lean::dec(x_33); -x_30 = x_35; -goto lbl_31; +obj* x_88; obj* x_90; obj* x_93; obj* x_94; obj* x_95; obj* x_96; +lean::dec(x_69); +x_88 = lean::cnstr_get(x_68, 1); +if (lean::is_exclusive(x_68)) { + lean::cnstr_release(x_68, 0); + lean::cnstr_set(x_68, 1, lean::box(0)); + x_90 = x_68; +} else { + lean::inc(x_88); + lean::dec(x_68); + x_90 = lean::box(0); +} +lean::inc(x_22); +lean::inc(x_61); +x_93 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__2___boxed), 3, 2); +lean::closure_set(x_93, 0, x_61); +lean::closure_set(x_93, 1, x_22); +x_94 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__2; +x_95 = l_lean_profileit__pure___rarg(x_94, x_43, x_93, x_88); +x_96 = lean::cnstr_get(x_95, 0); +lean::inc(x_96); +if (lean::obj_tag(x_96) == 0) +{ +lean::dec(x_43); +if (x_1 == 0) +{ +obj* x_101; obj* x_103; obj* x_104; obj* x_108; obj* x_109; +lean::dec(x_24); +lean::dec(x_61); +x_101 = lean::cnstr_get(x_95, 1); +if (lean::is_exclusive(x_95)) { + lean::cnstr_release(x_95, 0); + lean::cnstr_set(x_95, 1, lean::box(0)); + x_103 = x_95; +} else { + lean::inc(x_101); + lean::dec(x_95); + x_103 = lean::box(0); +} +x_104 = lean::cnstr_get(x_96, 0); +lean::inc(x_104); +lean::dec(x_96); +lean::inc(x_0); +x_108 = lean::apply_2(x_0, x_104, x_101); +x_109 = lean::cnstr_get(x_108, 0); +lean::inc(x_109); +if (lean::obj_tag(x_109) == 0) +{ +obj* x_119; obj* x_122; obj* x_124; obj* x_125; +lean::dec(x_16); +lean::dec(x_22); +lean::dec(x_19); +lean::dec(x_103); +lean::dec(x_54); +lean::dec(x_90); +lean::dec(x_63); +lean::dec(x_65); +x_119 = lean::cnstr_get(x_108, 1); +lean::inc(x_119); +lean::dec(x_108); +x_122 = lean::cnstr_get(x_109, 0); +if (lean::is_exclusive(x_109)) { + x_124 = x_109; +} else { + lean::inc(x_122); + lean::dec(x_109); + x_124 = lean::box(0); +} +if (lean::is_scalar(x_124)) { + x_125 = lean::alloc_cnstr(0, 1, 0); +} else { + x_125 = x_124; +} +lean::cnstr_set(x_125, 0, x_122); +x_4 = x_125; +x_5 = x_119; +goto lbl_6; +} +else +{ +obj* x_126; obj* x_127; obj* x_129; obj* x_130; obj* x_131; obj* x_132; obj* x_133; obj* x_134; obj* x_135; +if (lean::is_exclusive(x_109)) { + lean::cnstr_release(x_109, 0); + x_126 = x_109; +} else { + lean::dec(x_109); + x_126 = lean::box(0); +} +x_127 = lean::cnstr_get(x_108, 1); +if (lean::is_exclusive(x_108)) { + lean::cnstr_release(x_108, 0); + x_129 = x_108; +} else { + lean::inc(x_127); + lean::dec(x_108); + x_129 = lean::box(0); +} +if (lean::is_scalar(x_129)) { + x_130 = lean::alloc_cnstr(0, 2, 0); +} else { + x_130 = x_129; +} +lean::cnstr_set(x_130, 0, x_22); +lean::cnstr_set(x_130, 1, x_27); +if (lean::is_scalar(x_103)) { + x_131 = lean::alloc_cnstr(0, 2, 0); +} else { + x_131 = x_103; +} +lean::cnstr_set(x_131, 0, x_19); +lean::cnstr_set(x_131, 1, x_130); +if (lean::is_scalar(x_90)) { + x_132 = lean::alloc_cnstr(0, 2, 0); +} else { + x_132 = x_90; +} +lean::cnstr_set(x_132, 0, x_16); +lean::cnstr_set(x_132, 1, x_131); +if (lean::is_scalar(x_65)) { + x_133 = lean::alloc_cnstr(0, 2, 0); +} else { + x_133 = x_65; +} +lean::cnstr_set(x_133, 0, x_63); +lean::cnstr_set(x_133, 1, x_132); +if (lean::is_scalar(x_54)) { + x_134 = lean::alloc_cnstr(0, 1, 0); +} else { + x_134 = x_54; +} +lean::cnstr_set(x_134, 0, x_133); +if (lean::is_scalar(x_126)) { + x_135 = lean::alloc_cnstr(1, 1, 0); +} else { + x_135 = x_126; +} +lean::cnstr_set(x_135, 0, x_134); +x_4 = x_135; +x_5 = x_127; +goto lbl_6; +} +} +else +{ +obj* x_136; obj* x_138; obj* x_139; obj* x_143; obj* x_144; +x_136 = lean::cnstr_get(x_95, 1); +if (lean::is_exclusive(x_95)) { + lean::cnstr_release(x_95, 0); + lean::cnstr_set(x_95, 1, lean::box(0)); + x_138 = x_95; +} else { + lean::inc(x_136); + lean::dec(x_95); + x_138 = lean::box(0); +} +x_139 = lean::cnstr_get(x_96, 0); +lean::inc(x_139); +lean::dec(x_96); +lean::inc(x_0); +x_143 = lean::apply_2(x_0, x_139, x_136); +x_144 = lean::cnstr_get(x_143, 0); +lean::inc(x_144); +if (lean::obj_tag(x_144) == 0) +{ +obj* x_156; obj* x_159; obj* x_161; obj* x_162; +lean::dec(x_16); +lean::dec(x_22); +lean::dec(x_19); +lean::dec(x_24); +lean::dec(x_54); +lean::dec(x_90); +lean::dec(x_61); +lean::dec(x_63); +lean::dec(x_65); +lean::dec(x_138); +x_156 = lean::cnstr_get(x_143, 1); +lean::inc(x_156); +lean::dec(x_143); +x_159 = lean::cnstr_get(x_144, 0); +if (lean::is_exclusive(x_144)) { + x_161 = x_144; +} else { + lean::inc(x_159); + lean::dec(x_144); + x_161 = lean::box(0); +} +if (lean::is_scalar(x_161)) { + x_162 = lean::alloc_cnstr(0, 1, 0); +} else { + x_162 = x_161; +} +lean::cnstr_set(x_162, 0, x_159); +x_4 = x_162; +x_5 = x_156; +goto lbl_6; +} +else +{ +obj* x_163; obj* x_164; obj* x_166; obj* x_167; obj* x_168; obj* x_169; obj* x_170; obj* x_171; obj* x_172; obj* x_173; +if (lean::is_exclusive(x_144)) { + lean::cnstr_release(x_144, 0); + x_163 = x_144; +} else { + lean::dec(x_144); + x_163 = lean::box(0); +} +x_164 = lean::cnstr_get(x_143, 1); +if (lean::is_exclusive(x_143)) { + lean::cnstr_release(x_143, 0); + x_166 = x_143; +} else { + lean::inc(x_164); + lean::dec(x_143); + x_166 = lean::box(0); +} +x_167 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_167, 0, x_61); +lean::cnstr_set(x_167, 1, x_24); +if (lean::is_scalar(x_166)) { + x_168 = lean::alloc_cnstr(0, 2, 0); +} else { + x_168 = x_166; +} +lean::cnstr_set(x_168, 0, x_22); +lean::cnstr_set(x_168, 1, x_167); +if (lean::is_scalar(x_138)) { + x_169 = lean::alloc_cnstr(0, 2, 0); +} else { + x_169 = x_138; +} +lean::cnstr_set(x_169, 0, x_19); +lean::cnstr_set(x_169, 1, x_168); +if (lean::is_scalar(x_90)) { + x_170 = lean::alloc_cnstr(0, 2, 0); +} else { + x_170 = x_90; +} +lean::cnstr_set(x_170, 0, x_16); +lean::cnstr_set(x_170, 1, x_169); +if (lean::is_scalar(x_65)) { + x_171 = lean::alloc_cnstr(0, 2, 0); +} else { + x_171 = x_65; +} +lean::cnstr_set(x_171, 0, x_63); +lean::cnstr_set(x_171, 1, x_170); +if (lean::is_scalar(x_54)) { + x_172 = lean::alloc_cnstr(0, 1, 0); +} else { + x_172 = x_54; +} +lean::cnstr_set(x_172, 0, x_171); +if (lean::is_scalar(x_163)) { + x_173 = lean::alloc_cnstr(1, 1, 0); +} else { + x_173 = x_163; +} +lean::cnstr_set(x_173, 0, x_172); +x_4 = x_173; +x_5 = x_164; +goto lbl_6; +} +} +} +else +{ +obj* x_177; obj* x_179; obj* x_180; obj* x_184; obj* x_185; obj* x_186; obj* x_188; +lean::dec(x_22); +lean::dec(x_19); +lean::dec(x_65); +x_177 = lean::cnstr_get(x_95, 1); +if (lean::is_exclusive(x_95)) { + lean::cnstr_release(x_95, 0); + lean::cnstr_set(x_95, 1, lean::box(0)); + x_179 = x_95; +} else { + lean::inc(x_177); + lean::dec(x_95); + x_179 = lean::box(0); +} +x_180 = lean::cnstr_get(x_96, 0); +lean::inc(x_180); +lean::dec(x_96); +lean::inc(x_180); +x_184 = lean::alloc_closure(reinterpret_cast(l_reader__t_monad___rarg___lambda__9___boxed), 3, 2); +lean::closure_set(x_184, 0, x_16); +lean::closure_set(x_184, 1, x_180); +x_185 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__3; +x_186 = l_lean_profileit__pure___rarg(x_185, x_43, x_184, x_177); +lean::dec(x_43); +x_188 = lean::cnstr_get(x_186, 0); +lean::inc(x_188); +if (lean::obj_tag(x_188) == 0) +{ +obj* x_193; obj* x_196; obj* x_199; uint8 x_200; +lean::dec(x_90); +lean::dec(x_63); +lean::dec(x_179); +x_193 = lean::cnstr_get(x_186, 1); +lean::inc(x_193); +lean::dec(x_186); +x_196 = lean::cnstr_get(x_188, 0); +lean::inc(x_196); +lean::dec(x_188); +x_199 = l_lean_parser_module_eoi; +x_200 = l_lean_parser_syntax_is__of__kind___main(x_199, x_180); +lean::dec(x_180); +if (x_200 == 0) +{ +obj* x_202; obj* x_203; obj* x_204; +x_202 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__4; +x_203 = l_io_println___at_lean_run__frontend___spec__3(x_202, x_193); +x_204 = lean::cnstr_get(x_203, 0); +lean::inc(x_204); +if (lean::obj_tag(x_204) == 0) +{ +obj* x_210; obj* x_213; obj* x_215; obj* x_216; +lean::dec(x_196); +lean::dec(x_24); +lean::dec(x_54); +lean::dec(x_61); +x_210 = lean::cnstr_get(x_203, 1); +lean::inc(x_210); +lean::dec(x_203); +x_213 = lean::cnstr_get(x_204, 0); +if (lean::is_exclusive(x_204)) { + x_215 = x_204; +} else { + lean::inc(x_213); + lean::dec(x_204); + x_215 = lean::box(0); +} +if (lean::is_scalar(x_215)) { + x_216 = lean::alloc_cnstr(0, 1, 0); +} else { + x_216 = x_215; +} +lean::cnstr_set(x_216, 0, x_213); +x_4 = x_216; +x_5 = x_210; +goto lbl_6; +} +else +{ +obj* x_218; obj* x_221; obj* x_223; obj* x_224; +lean::dec(x_204); +x_218 = lean::cnstr_get(x_203, 1); +lean::inc(x_218); +lean::dec(x_203); +x_221 = l_list_reverse___rarg(x_196); +lean::inc(x_0); +x_223 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6(x_0, x_221, x_218); +x_224 = lean::cnstr_get(x_223, 0); +lean::inc(x_224); +if (lean::obj_tag(x_224) == 0) +{ +obj* x_229; obj* x_232; obj* x_234; obj* x_235; +lean::dec(x_24); +lean::dec(x_54); +lean::dec(x_61); +x_229 = lean::cnstr_get(x_223, 1); +lean::inc(x_229); +lean::dec(x_223); +x_232 = lean::cnstr_get(x_224, 0); +if (lean::is_exclusive(x_224)) { + x_234 = x_224; +} else { + lean::inc(x_232); + lean::dec(x_224); + x_234 = lean::box(0); +} +if (lean::is_scalar(x_234)) { + x_235 = lean::alloc_cnstr(0, 1, 0); +} else { + x_235 = x_234; +} +lean::cnstr_set(x_235, 0, x_232); +x_4 = x_235; +x_5 = x_229; +goto lbl_6; +} +else +{ +obj* x_236; +if (lean::is_exclusive(x_224)) { + lean::cnstr_release(x_224, 0); + x_236 = x_224; +} else { + lean::dec(x_224); + x_236 = lean::box(0); +} +if (x_1 == 0) +{ +obj* x_241; obj* x_244; +lean::dec(x_236); +lean::dec(x_24); +lean::dec(x_54); +lean::dec(x_61); +x_241 = lean::cnstr_get(x_223, 1); +lean::inc(x_241); +lean::dec(x_223); +x_244 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5; +x_4 = x_244; +x_5 = x_241; +goto lbl_6; +} +else +{ +obj* x_245; obj* x_248; obj* x_249; obj* x_250; obj* x_251; +x_245 = lean::cnstr_get(x_223, 1); +lean::inc(x_245); +lean::dec(x_223); +x_248 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_248, 0, x_61); +lean::cnstr_set(x_248, 1, x_24); +x_249 = l_list_reverse___rarg(x_248); +if (lean::is_scalar(x_54)) { + x_250 = lean::alloc_cnstr(1, 1, 0); +} else { + x_250 = x_54; + lean::cnstr_set_tag(x_54, 1); +} +lean::cnstr_set(x_250, 0, x_249); +if (lean::is_scalar(x_236)) { + x_251 = lean::alloc_cnstr(1, 1, 0); +} else { + x_251 = x_236; +} +lean::cnstr_set(x_251, 0, x_250); +x_4 = x_251; +x_5 = x_245; +goto lbl_6; +} +} +} +} +else +{ +obj* x_252; obj* x_254; obj* x_255; +x_252 = l_list_reverse___rarg(x_196); +lean::inc(x_0); +x_254 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__7(x_0, x_252, x_193); +x_255 = lean::cnstr_get(x_254, 0); +lean::inc(x_255); +if (lean::obj_tag(x_255) == 0) +{ +obj* x_260; obj* x_263; obj* x_265; obj* x_266; +lean::dec(x_24); +lean::dec(x_54); +lean::dec(x_61); +x_260 = lean::cnstr_get(x_254, 1); +lean::inc(x_260); +lean::dec(x_254); +x_263 = lean::cnstr_get(x_255, 0); +if (lean::is_exclusive(x_255)) { + x_265 = x_255; +} else { + lean::inc(x_263); + lean::dec(x_255); + x_265 = lean::box(0); +} +if (lean::is_scalar(x_265)) { + x_266 = lean::alloc_cnstr(0, 1, 0); +} else { + x_266 = x_265; +} +lean::cnstr_set(x_266, 0, x_263); +x_4 = x_266; +x_5 = x_260; +goto lbl_6; +} +else +{ +obj* x_267; +if (lean::is_exclusive(x_255)) { + lean::cnstr_release(x_255, 0); + x_267 = x_255; +} else { + lean::dec(x_255); + x_267 = lean::box(0); +} +if (x_1 == 0) +{ +obj* x_272; obj* x_275; +lean::dec(x_24); +lean::dec(x_267); +lean::dec(x_54); +lean::dec(x_61); +x_272 = lean::cnstr_get(x_254, 1); +lean::inc(x_272); +lean::dec(x_254); +x_275 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5; +x_4 = x_275; +x_5 = x_272; +goto lbl_6; +} +else +{ +obj* x_276; obj* x_279; obj* x_280; obj* x_281; obj* x_282; +x_276 = lean::cnstr_get(x_254, 1); +lean::inc(x_276); +lean::dec(x_254); +x_279 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_279, 0, x_61); +lean::cnstr_set(x_279, 1, x_24); +x_280 = l_list_reverse___rarg(x_279); +if (lean::is_scalar(x_54)) { + x_281 = lean::alloc_cnstr(1, 1, 0); +} else { + x_281 = x_54; + lean::cnstr_set_tag(x_54, 1); +} +lean::cnstr_set(x_281, 0, x_280); +if (lean::is_scalar(x_267)) { + x_282 = lean::alloc_cnstr(1, 1, 0); +} else { + x_282 = x_267; +} +lean::cnstr_set(x_282, 0, x_281); +x_4 = x_282; +x_5 = x_276; +goto lbl_6; +} +} +} +} +else +{ +obj* x_284; obj* x_286; obj* x_287; obj* x_289; obj* x_292; obj* x_294; obj* x_296; obj* x_297; +lean::dec(x_180); +x_284 = lean::cnstr_get(x_186, 1); +if (lean::is_exclusive(x_186)) { + lean::cnstr_release(x_186, 0); + lean::cnstr_set(x_186, 1, lean::box(0)); + x_286 = x_186; +} else { + lean::inc(x_284); + lean::dec(x_186); + x_286 = lean::box(0); +} +x_287 = lean::cnstr_get(x_188, 0); +lean::inc(x_287); +x_289 = lean::cnstr_get(x_188, 1); +lean::inc(x_289); +lean::dec(x_188); +x_292 = lean::cnstr_get(x_287, 5); +lean::inc(x_292); +x_294 = l_list_reverse___rarg(x_292); +lean::inc(x_0); +x_296 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__8(x_0, x_294, x_284); +x_297 = lean::cnstr_get(x_296, 0); +lean::inc(x_297); +if (lean::obj_tag(x_297) == 0) +{ +obj* x_308; obj* x_311; obj* x_313; obj* x_314; +lean::dec(x_287); +lean::dec(x_24); +lean::dec(x_286); +lean::dec(x_289); +lean::dec(x_54); +lean::dec(x_90); +lean::dec(x_61); +lean::dec(x_63); +lean::dec(x_179); +x_308 = lean::cnstr_get(x_296, 1); +lean::inc(x_308); +lean::dec(x_296); +x_311 = lean::cnstr_get(x_297, 0); +if (lean::is_exclusive(x_297)) { + x_313 = x_297; +} else { + lean::inc(x_311); + lean::dec(x_297); + x_313 = lean::box(0); +} +if (lean::is_scalar(x_313)) { + x_314 = lean::alloc_cnstr(0, 1, 0); +} else { + x_314 = x_313; +} +lean::cnstr_set(x_314, 0, x_311); +x_4 = x_314; +x_5 = x_308; +goto lbl_6; +} +else +{ +obj* x_315; +if (lean::is_exclusive(x_297)) { + lean::cnstr_release(x_297, 0); + x_315 = x_297; +} else { + lean::dec(x_297); + x_315 = lean::box(0); +} +if (x_1 == 0) +{ +obj* x_318; obj* x_320; obj* x_321; obj* x_323; obj* x_326; obj* x_327; obj* x_328; obj* x_329; obj* x_330; obj* x_331; +lean::dec(x_24); +lean::dec(x_61); +x_318 = lean::cnstr_get(x_296, 1); +if (lean::is_exclusive(x_296)) { + lean::cnstr_release(x_296, 0); + x_320 = x_296; +} else { + lean::inc(x_318); + lean::dec(x_296); + x_320 = lean::box(0); +} +x_321 = lean::cnstr_get(x_287, 6); +lean::inc(x_321); +x_323 = lean::cnstr_get(x_287, 7); +lean::inc(x_323); +lean::dec(x_287); +if (lean::is_scalar(x_320)) { + x_326 = lean::alloc_cnstr(0, 2, 0); +} else { + x_326 = x_320; +} +lean::cnstr_set(x_326, 0, x_323); +lean::cnstr_set(x_326, 1, x_27); +if (lean::is_scalar(x_286)) { + x_327 = lean::alloc_cnstr(0, 2, 0); +} else { + x_327 = x_286; +} +lean::cnstr_set(x_327, 0, x_321); +lean::cnstr_set(x_327, 1, x_326); +if (lean::is_scalar(x_179)) { + x_328 = lean::alloc_cnstr(0, 2, 0); +} else { + x_328 = x_179; +} +lean::cnstr_set(x_328, 0, x_289); +lean::cnstr_set(x_328, 1, x_327); +if (lean::is_scalar(x_90)) { + x_329 = lean::alloc_cnstr(0, 2, 0); +} else { + x_329 = x_90; +} +lean::cnstr_set(x_329, 0, x_63); +lean::cnstr_set(x_329, 1, x_328); +if (lean::is_scalar(x_54)) { + x_330 = lean::alloc_cnstr(0, 1, 0); +} else { + x_330 = x_54; +} +lean::cnstr_set(x_330, 0, x_329); +if (lean::is_scalar(x_315)) { + x_331 = lean::alloc_cnstr(1, 1, 0); +} else { + x_331 = x_315; +} +lean::cnstr_set(x_331, 0, x_330); +x_4 = x_331; +x_5 = x_318; +goto lbl_6; +} +else +{ +obj* x_332; obj* x_334; obj* x_335; obj* x_337; obj* x_340; obj* x_341; obj* x_342; obj* x_343; obj* x_344; obj* x_345; obj* x_346; +x_332 = lean::cnstr_get(x_296, 1); +if (lean::is_exclusive(x_296)) { + lean::cnstr_release(x_296, 0); + x_334 = x_296; +} else { + lean::inc(x_332); + lean::dec(x_296); + x_334 = lean::box(0); +} +x_335 = lean::cnstr_get(x_287, 6); +lean::inc(x_335); +x_337 = lean::cnstr_get(x_287, 7); +lean::inc(x_337); +lean::dec(x_287); +x_340 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_340, 0, x_61); +lean::cnstr_set(x_340, 1, x_24); +if (lean::is_scalar(x_334)) { + x_341 = lean::alloc_cnstr(0, 2, 0); +} else { + x_341 = x_334; +} +lean::cnstr_set(x_341, 0, x_337); +lean::cnstr_set(x_341, 1, x_340); +if (lean::is_scalar(x_286)) { + x_342 = lean::alloc_cnstr(0, 2, 0); +} else { + x_342 = x_286; +} +lean::cnstr_set(x_342, 0, x_335); +lean::cnstr_set(x_342, 1, x_341); +if (lean::is_scalar(x_179)) { + x_343 = lean::alloc_cnstr(0, 2, 0); +} else { + x_343 = x_179; +} +lean::cnstr_set(x_343, 0, x_289); +lean::cnstr_set(x_343, 1, x_342); +if (lean::is_scalar(x_90)) { + x_344 = lean::alloc_cnstr(0, 2, 0); +} else { + x_344 = x_90; +} +lean::cnstr_set(x_344, 0, x_63); +lean::cnstr_set(x_344, 1, x_343); +if (lean::is_scalar(x_54)) { + x_345 = lean::alloc_cnstr(0, 1, 0); +} else { + x_345 = x_54; +} +lean::cnstr_set(x_345, 0, x_344); +if (lean::is_scalar(x_315)) { + x_346 = lean::alloc_cnstr(1, 1, 0); +} else { + x_346 = x_315; +} +lean::cnstr_set(x_346, 0, x_345); +x_4 = x_346; +x_5 = x_332; +goto lbl_6; +} +} +} +} +} +} +else +{ +obj* x_351; obj* x_352; obj* x_355; obj* x_358; obj* x_359; obj* x_360; +lean::dec(x_16); +lean::dec(x_22); +lean::dec(x_43); +lean::dec(x_19); +if (lean::is_exclusive(x_50)) { + lean::cnstr_release(x_50, 0); + x_351 = x_50; +} else { + lean::dec(x_50); + x_351 = lean::box(0); +} +x_352 = lean::cnstr_get(x_47, 1); +lean::inc(x_352); +lean::dec(x_47); +x_355 = lean::cnstr_get(x_48, 1); +lean::inc(x_355); +lean::dec(x_48); +x_358 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__6; +x_359 = l_io_println___at_lean_run__frontend___spec__3(x_358, x_352); +x_360 = lean::cnstr_get(x_359, 0); +lean::inc(x_360); +if (lean::obj_tag(x_360) == 0) +{ +obj* x_365; obj* x_368; obj* x_370; obj* x_371; +lean::dec(x_24); +lean::dec(x_355); +lean::dec(x_351); +x_365 = lean::cnstr_get(x_359, 1); +lean::inc(x_365); +lean::dec(x_359); +x_368 = lean::cnstr_get(x_360, 0); +if (lean::is_exclusive(x_360)) { + x_370 = x_360; +} else { + lean::inc(x_368); + lean::dec(x_360); + x_370 = lean::box(0); +} +if (lean::is_scalar(x_370)) { + x_371 = lean::alloc_cnstr(0, 1, 0); +} else { + x_371 = x_370; +} +lean::cnstr_set(x_371, 0, x_368); +x_4 = x_371; +x_5 = x_365; +goto lbl_6; +} +else +{ +obj* x_373; obj* x_376; obj* x_378; obj* x_379; +lean::dec(x_360); +x_373 = lean::cnstr_get(x_359, 1); +lean::inc(x_373); +lean::dec(x_359); +x_376 = l_list_reverse___rarg(x_355); +lean::inc(x_0); +x_378 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__9(x_0, x_376, x_373); +x_379 = lean::cnstr_get(x_378, 0); +lean::inc(x_379); +if (lean::obj_tag(x_379) == 0) +{ +obj* x_383; obj* x_386; obj* x_388; obj* x_389; +lean::dec(x_24); +lean::dec(x_351); +x_383 = lean::cnstr_get(x_378, 1); +lean::inc(x_383); +lean::dec(x_378); +x_386 = lean::cnstr_get(x_379, 0); +if (lean::is_exclusive(x_379)) { + x_388 = x_379; +} else { + lean::inc(x_386); + lean::dec(x_379); + x_388 = lean::box(0); +} +if (lean::is_scalar(x_388)) { + x_389 = lean::alloc_cnstr(0, 1, 0); +} else { + x_389 = x_388; +} +lean::cnstr_set(x_389, 0, x_386); +x_4 = x_389; +x_5 = x_383; +goto lbl_6; +} +else +{ +obj* x_390; obj* x_391; obj* x_394; obj* x_395; obj* x_396; +if (lean::is_exclusive(x_379)) { + lean::cnstr_release(x_379, 0); + x_390 = x_379; +} else { + lean::dec(x_379); + x_390 = lean::box(0); +} +x_391 = lean::cnstr_get(x_378, 1); +lean::inc(x_391); +lean::dec(x_378); +x_394 = l_list_reverse___rarg(x_24); +if (lean::is_scalar(x_351)) { + x_395 = lean::alloc_cnstr(1, 1, 0); +} else { + x_395 = x_351; +} +lean::cnstr_set(x_395, 0, x_394); +if (lean::is_scalar(x_390)) { + x_396 = lean::alloc_cnstr(1, 1, 0); +} else { + x_396 = x_390; +} +lean::cnstr_set(x_396, 0, x_395); +x_4 = x_396; +x_5 = x_391; +goto lbl_6; +} +} } lbl_6: { if (lean::obj_tag(x_4) == 0) { -obj* x_39; obj* x_41; obj* x_42; obj* x_43; +obj* x_398; obj* x_400; obj* x_401; obj* x_402; lean::dec(x_0); -x_39 = lean::cnstr_get(x_4, 0); +x_398 = lean::cnstr_get(x_4, 0); if (lean::is_exclusive(x_4)) { - x_41 = x_4; + x_400 = x_4; } else { - lean::inc(x_39); + lean::inc(x_398); lean::dec(x_4); - x_41 = lean::box(0); + x_400 = lean::box(0); } -if (lean::is_scalar(x_41)) { - x_42 = lean::alloc_cnstr(0, 1, 0); +if (lean::is_scalar(x_400)) { + x_401 = lean::alloc_cnstr(0, 1, 0); } else { - x_42 = x_41; + x_401 = x_400; } -lean::cnstr_set(x_42, 0, x_39); -x_43 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_43, 0, x_42); -lean::cnstr_set(x_43, 1, x_5); -return x_43; +lean::cnstr_set(x_401, 0, x_398); +x_402 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_402, 0, x_401); +lean::cnstr_set(x_402, 1, x_5); +return x_402; } else { -obj* x_44; obj* x_46; -x_44 = lean::cnstr_get(x_4, 0); +obj* x_403; obj* x_405; +x_403 = lean::cnstr_get(x_4, 0); if (lean::is_exclusive(x_4)) { lean::cnstr_set(x_4, 0, lean::box(0)); - x_46 = x_4; + x_405 = x_4; } else { - lean::inc(x_44); + lean::inc(x_403); lean::dec(x_4); - x_46 = lean::box(0); + x_405 = lean::box(0); } -if (lean::obj_tag(x_44) == 0) +if (lean::obj_tag(x_403) == 0) { -obj* x_48; -lean::dec(x_46); -x_48 = lean::cnstr_get(x_44, 0); -lean::inc(x_48); -lean::dec(x_44); -x_2 = x_48; +obj* x_407; +lean::dec(x_405); +x_407 = lean::cnstr_get(x_403, 0); +lean::inc(x_407); +lean::dec(x_403); +x_2 = x_407; x_3 = x_5; goto _start; } else { -obj* x_53; obj* x_56; obj* x_57; +obj* x_412; obj* x_415; obj* x_416; lean::dec(x_0); -x_53 = lean::cnstr_get(x_44, 0); -lean::inc(x_53); -lean::dec(x_44); -if (lean::is_scalar(x_46)) { - x_56 = lean::alloc_cnstr(1, 1, 0); -} else { - x_56 = x_46; -} -lean::cnstr_set(x_56, 0, x_53); -x_57 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_57, 0, x_56); -lean::cnstr_set(x_57, 1, x_5); -return x_57; -} -} -} -lbl_31: -{ -obj* x_58; obj* x_59; obj* x_60; -x_58 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__1; -x_59 = l_lean_profileit__pure___rarg(x_58, x_30, x_29, x_3); -x_60 = lean::cnstr_get(x_59, 0); -lean::inc(x_60); -if (lean::obj_tag(x_60) == 0) -{ -obj* x_69; obj* x_72; obj* x_73; obj* x_74; -lean::dec(x_26); -lean::dec(x_16); -lean::dec(x_21); -lean::dec(x_19); -lean::dec(x_22); -lean::dec(x_60); -lean::dec(x_30); -x_69 = lean::cnstr_get(x_59, 1); -lean::inc(x_69); -lean::dec(x_59); -x_72 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__2; -x_73 = l_io_println___at_lean_run__frontend___spec__3(x_72, x_69); -x_74 = lean::cnstr_get(x_73, 0); -lean::inc(x_74); -if (lean::obj_tag(x_74) == 0) -{ -obj* x_77; obj* x_80; obj* x_82; obj* x_83; -lean::dec(x_24); -x_77 = lean::cnstr_get(x_73, 1); -lean::inc(x_77); -lean::dec(x_73); -x_80 = lean::cnstr_get(x_74, 0); -if (lean::is_exclusive(x_74)) { - x_82 = x_74; -} else { - lean::inc(x_80); - lean::dec(x_74); - x_82 = lean::box(0); -} -if (lean::is_scalar(x_82)) { - x_83 = lean::alloc_cnstr(0, 1, 0); -} else { - x_83 = x_82; -} -lean::cnstr_set(x_83, 0, x_80); -x_4 = x_83; -x_5 = x_77; -goto lbl_6; -} -else -{ -obj* x_84; obj* x_85; obj* x_88; obj* x_89; obj* x_90; -if (lean::is_exclusive(x_74)) { - lean::cnstr_release(x_74, 0); - x_84 = x_74; -} else { - lean::dec(x_74); - x_84 = lean::box(0); -} -x_85 = lean::cnstr_get(x_73, 1); -lean::inc(x_85); -lean::dec(x_73); -x_88 = l_list_reverse___rarg(x_24); -x_89 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_89, 0, x_88); -if (lean::is_scalar(x_84)) { - x_90 = lean::alloc_cnstr(1, 1, 0); -} else { - x_90 = x_84; -} -lean::cnstr_set(x_90, 0, x_89); -x_4 = x_90; -x_5 = x_85; -goto lbl_6; -} -} -else -{ -obj* x_91; obj* x_93; obj* x_94; obj* x_96; obj* x_99; obj* x_101; obj* x_103; -x_91 = lean::cnstr_get(x_59, 1); -if (lean::is_exclusive(x_59)) { - lean::cnstr_release(x_59, 0); - lean::cnstr_set(x_59, 1, lean::box(0)); - x_93 = x_59; -} else { - lean::inc(x_91); - lean::dec(x_59); - x_93 = lean::box(0); -} -x_94 = lean::cnstr_get(x_60, 0); -lean::inc(x_94); -x_96 = lean::cnstr_get(x_60, 1); -lean::inc(x_96); -lean::dec(x_60); -x_101 = lean::cnstr_get(x_94, 1); -lean::inc(x_101); -x_103 = l_list_reverse___rarg(x_101); -if (lean::obj_tag(x_103) == 0) -{ -obj* x_105; -lean::dec(x_21); -x_105 = lean::box(0); -x_99 = x_105; -goto lbl_100; -} -else -{ -obj* x_110; obj* x_111; obj* x_112; -lean::dec(x_26); -lean::dec(x_93); -lean::inc(x_103); -lean::inc(x_0); -x_110 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__9(x_0, x_103, x_91); -if (lean::is_exclusive(x_103)) { - lean::cnstr_release(x_103, 0); - lean::cnstr_release(x_103, 1); - x_111 = x_103; -} else { - lean::dec(x_103); - x_111 = lean::box(0); -} -x_112 = lean::cnstr_get(x_110, 0); -lean::inc(x_112); -if (lean::obj_tag(x_112) == 0) -{ -obj* x_123; obj* x_126; obj* x_128; obj* x_129; -lean::dec(x_16); -lean::dec(x_21); -lean::dec(x_19); -lean::dec(x_22); -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_96); -lean::dec(x_30); -lean::dec(x_111); -x_123 = lean::cnstr_get(x_110, 1); -lean::inc(x_123); -lean::dec(x_110); -x_126 = lean::cnstr_get(x_112, 0); -if (lean::is_exclusive(x_112)) { - x_128 = x_112; -} else { - lean::inc(x_126); - lean::dec(x_112); - x_128 = lean::box(0); -} -if (lean::is_scalar(x_128)) { - x_129 = lean::alloc_cnstr(0, 1, 0); -} else { - x_129 = x_128; -} -lean::cnstr_set(x_129, 0, x_126); -x_4 = x_129; -x_5 = x_123; -goto lbl_6; -} -else -{ -obj* x_131; obj* x_133; obj* x_136; obj* x_137; obj* x_138; obj* x_139; -lean::dec(x_112); -x_131 = lean::cnstr_get(x_110, 1); -if (lean::is_exclusive(x_110)) { - lean::cnstr_release(x_110, 0); - lean::cnstr_set(x_110, 1, lean::box(0)); - x_133 = x_110; -} else { - lean::inc(x_131); - lean::dec(x_110); - x_133 = lean::box(0); -} -lean::inc(x_22); -lean::inc(x_94); -x_136 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1___boxed), 3, 2); -lean::closure_set(x_136, 0, x_94); -lean::closure_set(x_136, 1, x_22); -x_137 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3; -x_138 = l_lean_profileit__pure___rarg(x_137, x_30, x_136, x_131); -x_139 = lean::cnstr_get(x_138, 0); -lean::inc(x_139); -if (lean::obj_tag(x_139) == 0) -{ -lean::dec(x_30); -if (x_1 == 0) -{ -obj* x_145; obj* x_147; obj* x_148; obj* x_152; obj* x_153; -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_111); -x_145 = lean::cnstr_get(x_138, 1); -if (lean::is_exclusive(x_138)) { - lean::cnstr_release(x_138, 0); - lean::cnstr_set(x_138, 1, lean::box(0)); - x_147 = x_138; -} else { - lean::inc(x_145); - lean::dec(x_138); - x_147 = lean::box(0); -} -x_148 = lean::cnstr_get(x_139, 0); -lean::inc(x_148); -lean::dec(x_139); -lean::inc(x_0); -x_152 = lean::apply_2(x_0, x_148, x_145); -x_153 = lean::cnstr_get(x_152, 0); -lean::inc(x_153); -if (lean::obj_tag(x_153) == 0) -{ -obj* x_162; obj* x_165; obj* x_167; obj* x_168; -lean::dec(x_16); -lean::dec(x_21); -lean::dec(x_19); -lean::dec(x_22); -lean::dec(x_96); -lean::dec(x_133); -lean::dec(x_147); -x_162 = lean::cnstr_get(x_152, 1); -lean::inc(x_162); -lean::dec(x_152); -x_165 = lean::cnstr_get(x_153, 0); -if (lean::is_exclusive(x_153)) { - x_167 = x_153; -} else { - lean::inc(x_165); - lean::dec(x_153); - x_167 = lean::box(0); -} -if (lean::is_scalar(x_167)) { - x_168 = lean::alloc_cnstr(0, 1, 0); -} else { - x_168 = x_167; -} -lean::cnstr_set(x_168, 0, x_165); -x_4 = x_168; -x_5 = x_162; -goto lbl_6; -} -else -{ -obj* x_169; obj* x_170; obj* x_172; obj* x_173; obj* x_174; obj* x_175; obj* x_176; obj* x_177; obj* x_178; -if (lean::is_exclusive(x_153)) { - lean::cnstr_release(x_153, 0); - x_169 = x_153; -} else { - lean::dec(x_153); - x_169 = lean::box(0); -} -x_170 = lean::cnstr_get(x_152, 1); -if (lean::is_exclusive(x_152)) { - lean::cnstr_release(x_152, 0); - x_172 = x_152; -} else { - lean::inc(x_170); - lean::dec(x_152); - x_172 = lean::box(0); -} -if (lean::is_scalar(x_172)) { - x_173 = lean::alloc_cnstr(0, 2, 0); -} else { - x_173 = x_172; -} -lean::cnstr_set(x_173, 0, x_22); -lean::cnstr_set(x_173, 1, x_27); -if (lean::is_scalar(x_147)) { - x_174 = lean::alloc_cnstr(0, 2, 0); -} else { - x_174 = x_147; -} -lean::cnstr_set(x_174, 0, x_19); -lean::cnstr_set(x_174, 1, x_173); -if (lean::is_scalar(x_133)) { - x_175 = lean::alloc_cnstr(0, 2, 0); -} else { - x_175 = x_133; -} -lean::cnstr_set(x_175, 0, x_16); -lean::cnstr_set(x_175, 1, x_174); -if (lean::is_scalar(x_21)) { - x_176 = lean::alloc_cnstr(0, 2, 0); -} else { - x_176 = x_21; -} -lean::cnstr_set(x_176, 0, x_96); -lean::cnstr_set(x_176, 1, x_175); -x_177 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_177, 0, x_176); -if (lean::is_scalar(x_169)) { - x_178 = lean::alloc_cnstr(1, 1, 0); -} else { - x_178 = x_169; -} -lean::cnstr_set(x_178, 0, x_177); -x_4 = x_178; -x_5 = x_170; -goto lbl_6; -} -} -else -{ -obj* x_179; obj* x_181; obj* x_182; obj* x_186; obj* x_187; -x_179 = lean::cnstr_get(x_138, 1); -if (lean::is_exclusive(x_138)) { - lean::cnstr_release(x_138, 0); - lean::cnstr_set(x_138, 1, lean::box(0)); - x_181 = x_138; -} else { - lean::inc(x_179); - lean::dec(x_138); - x_181 = lean::box(0); -} -x_182 = lean::cnstr_get(x_139, 0); -lean::inc(x_182); -lean::dec(x_139); -lean::inc(x_0); -x_186 = lean::apply_2(x_0, x_182, x_179); -x_187 = lean::cnstr_get(x_186, 0); -lean::inc(x_187); -if (lean::obj_tag(x_187) == 0) -{ -obj* x_199; obj* x_202; obj* x_204; obj* x_205; -lean::dec(x_16); -lean::dec(x_21); -lean::dec(x_19); -lean::dec(x_22); -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_96); -lean::dec(x_181); -lean::dec(x_133); -lean::dec(x_111); -x_199 = lean::cnstr_get(x_186, 1); -lean::inc(x_199); -lean::dec(x_186); -x_202 = lean::cnstr_get(x_187, 0); -if (lean::is_exclusive(x_187)) { - x_204 = x_187; -} else { - lean::inc(x_202); - lean::dec(x_187); - x_204 = lean::box(0); -} -if (lean::is_scalar(x_204)) { - x_205 = lean::alloc_cnstr(0, 1, 0); -} else { - x_205 = x_204; -} -lean::cnstr_set(x_205, 0, x_202); -x_4 = x_205; -x_5 = x_199; -goto lbl_6; -} -else -{ -obj* x_206; obj* x_207; obj* x_209; obj* x_210; obj* x_211; obj* x_212; obj* x_213; obj* x_214; obj* x_215; obj* x_216; -if (lean::is_exclusive(x_187)) { - lean::cnstr_release(x_187, 0); - x_206 = x_187; -} else { - lean::dec(x_187); - x_206 = lean::box(0); -} -x_207 = lean::cnstr_get(x_186, 1); -if (lean::is_exclusive(x_186)) { - lean::cnstr_release(x_186, 0); - x_209 = x_186; -} else { - lean::inc(x_207); - lean::dec(x_186); - x_209 = lean::box(0); -} -if (lean::is_scalar(x_111)) { - x_210 = lean::alloc_cnstr(1, 2, 0); -} else { - x_210 = x_111; -} -lean::cnstr_set(x_210, 0, x_94); -lean::cnstr_set(x_210, 1, x_24); -if (lean::is_scalar(x_209)) { - x_211 = lean::alloc_cnstr(0, 2, 0); -} else { - x_211 = x_209; -} -lean::cnstr_set(x_211, 0, x_22); -lean::cnstr_set(x_211, 1, x_210); -if (lean::is_scalar(x_181)) { - x_212 = lean::alloc_cnstr(0, 2, 0); -} else { - x_212 = x_181; -} -lean::cnstr_set(x_212, 0, x_19); -lean::cnstr_set(x_212, 1, x_211); -if (lean::is_scalar(x_133)) { - x_213 = lean::alloc_cnstr(0, 2, 0); -} else { - x_213 = x_133; -} -lean::cnstr_set(x_213, 0, x_16); -lean::cnstr_set(x_213, 1, x_212); -if (lean::is_scalar(x_21)) { - x_214 = lean::alloc_cnstr(0, 2, 0); -} else { - x_214 = x_21; -} -lean::cnstr_set(x_214, 0, x_96); -lean::cnstr_set(x_214, 1, x_213); -x_215 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_215, 0, x_214); -if (lean::is_scalar(x_206)) { - x_216 = lean::alloc_cnstr(1, 1, 0); -} else { - x_216 = x_206; -} -lean::cnstr_set(x_216, 0, x_215); -x_4 = x_216; -x_5 = x_207; -goto lbl_6; -} -} -} -else -{ -obj* x_220; obj* x_222; obj* x_223; obj* x_227; obj* x_228; obj* x_229; obj* x_231; -lean::dec(x_21); -lean::dec(x_19); -lean::dec(x_22); -x_220 = lean::cnstr_get(x_138, 1); -if (lean::is_exclusive(x_138)) { - lean::cnstr_release(x_138, 0); - lean::cnstr_set(x_138, 1, lean::box(0)); - x_222 = x_138; -} else { - lean::inc(x_220); - lean::dec(x_138); - x_222 = lean::box(0); -} -x_223 = lean::cnstr_get(x_139, 0); -lean::inc(x_223); -lean::dec(x_139); -lean::inc(x_223); -x_227 = lean::alloc_closure(reinterpret_cast(l_reader__t_monad___rarg___lambda__9___boxed), 3, 2); -lean::closure_set(x_227, 0, x_16); -lean::closure_set(x_227, 1, x_223); -x_228 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4; -x_229 = l_lean_profileit__pure___rarg(x_228, x_30, x_227, x_220); -lean::dec(x_30); -x_231 = lean::cnstr_get(x_229, 0); -lean::inc(x_231); -if (lean::obj_tag(x_231) == 0) -{ -obj* x_236; obj* x_239; obj* x_242; obj* x_244; uint8 x_245; -lean::dec(x_222); -lean::dec(x_96); -lean::dec(x_133); -x_236 = lean::cnstr_get(x_229, 1); -lean::inc(x_236); -lean::dec(x_229); -x_239 = lean::cnstr_get(x_231, 0); -lean::inc(x_239); -lean::dec(x_231); -x_244 = l_lean_parser_module_eoi; -x_245 = l_lean_parser_syntax_is__of__kind___main(x_244, x_223); -lean::dec(x_223); -if (x_245 == 0) -{ -obj* x_248; obj* x_249; obj* x_250; -lean::dec(x_111); -x_248 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6; -x_249 = l_io_println___at_lean_run__frontend___spec__3(x_248, x_236); -x_250 = lean::cnstr_get(x_249, 0); -lean::inc(x_250); -if (lean::obj_tag(x_250) == 0) -{ -obj* x_255; obj* x_258; obj* x_260; obj* x_261; -lean::dec(x_239); -lean::dec(x_24); -lean::dec(x_94); -x_255 = lean::cnstr_get(x_249, 1); -lean::inc(x_255); -lean::dec(x_249); -x_258 = lean::cnstr_get(x_250, 0); -if (lean::is_exclusive(x_250)) { - x_260 = x_250; -} else { - lean::inc(x_258); - lean::dec(x_250); - x_260 = lean::box(0); -} -if (lean::is_scalar(x_260)) { - x_261 = lean::alloc_cnstr(0, 1, 0); -} else { - x_261 = x_260; -} -lean::cnstr_set(x_261, 0, x_258); -x_4 = x_261; -x_5 = x_255; -goto lbl_6; -} -else -{ -obj* x_263; obj* x_266; obj* x_268; obj* x_269; -lean::dec(x_250); -x_263 = lean::cnstr_get(x_249, 1); -lean::inc(x_263); -lean::dec(x_249); -x_266 = l_list_reverse___rarg(x_239); -lean::inc(x_0); -x_268 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__11(x_0, x_266, x_263); -x_269 = lean::cnstr_get(x_268, 0); -lean::inc(x_269); -if (lean::obj_tag(x_269) == 0) -{ -obj* x_273; obj* x_276; obj* x_278; obj* x_279; -lean::dec(x_24); -lean::dec(x_94); -x_273 = lean::cnstr_get(x_268, 1); -lean::inc(x_273); -lean::dec(x_268); -x_276 = lean::cnstr_get(x_269, 0); -if (lean::is_exclusive(x_269)) { - x_278 = x_269; -} else { - lean::inc(x_276); - lean::dec(x_269); - x_278 = lean::box(0); -} -if (lean::is_scalar(x_278)) { - x_279 = lean::alloc_cnstr(0, 1, 0); -} else { - x_279 = x_278; -} -lean::cnstr_set(x_279, 0, x_276); -x_4 = x_279; -x_5 = x_273; -goto lbl_6; -} -else -{ -obj* x_280; -if (lean::is_exclusive(x_269)) { - lean::cnstr_release(x_269, 0); - x_280 = x_269; -} else { - lean::dec(x_269); - x_280 = lean::box(0); -} -if (x_1 == 0) -{ -obj* x_284; obj* x_287; -lean::dec(x_280); -lean::dec(x_24); -lean::dec(x_94); -x_284 = lean::cnstr_get(x_268, 1); -lean::inc(x_284); -lean::dec(x_268); -x_287 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5; -x_4 = x_287; -x_5 = x_284; -goto lbl_6; -} -else -{ -obj* x_288; obj* x_291; obj* x_292; obj* x_293; obj* x_294; -x_288 = lean::cnstr_get(x_268, 1); -lean::inc(x_288); -lean::dec(x_268); -x_291 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_291, 0, x_94); -lean::cnstr_set(x_291, 1, x_24); -x_292 = l_list_reverse___rarg(x_291); -x_293 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_293, 0, x_292); -if (lean::is_scalar(x_280)) { - x_294 = lean::alloc_cnstr(1, 1, 0); -} else { - x_294 = x_280; -} -lean::cnstr_set(x_294, 0, x_293); -x_4 = x_294; -x_5 = x_288; -goto lbl_6; -} -} -} -} -else -{ -obj* x_295; -x_295 = lean::box(0); -x_242 = x_295; -goto lbl_243; -} -lbl_243: -{ -obj* x_297; obj* x_299; obj* x_300; -lean::dec(x_242); -x_297 = l_list_reverse___rarg(x_239); -lean::inc(x_0); -x_299 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__10(x_0, x_297, x_236); -x_300 = lean::cnstr_get(x_299, 0); -lean::inc(x_300); -if (lean::obj_tag(x_300) == 0) -{ -obj* x_305; obj* x_308; obj* x_310; obj* x_311; -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_111); -x_305 = lean::cnstr_get(x_299, 1); -lean::inc(x_305); -lean::dec(x_299); -x_308 = lean::cnstr_get(x_300, 0); -if (lean::is_exclusive(x_300)) { - x_310 = x_300; -} else { - lean::inc(x_308); - lean::dec(x_300); - x_310 = lean::box(0); -} -if (lean::is_scalar(x_310)) { - x_311 = lean::alloc_cnstr(0, 1, 0); -} else { - x_311 = x_310; -} -lean::cnstr_set(x_311, 0, x_308); -x_4 = x_311; -x_5 = x_305; -goto lbl_6; -} -else -{ -obj* x_312; -if (lean::is_exclusive(x_300)) { - lean::cnstr_release(x_300, 0); - x_312 = x_300; -} else { - lean::dec(x_300); - x_312 = lean::box(0); -} -if (x_1 == 0) -{ -obj* x_317; obj* x_320; -lean::dec(x_312); -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_111); -x_317 = lean::cnstr_get(x_299, 1); -lean::inc(x_317); -lean::dec(x_299); -x_320 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5; -x_4 = x_320; -x_5 = x_317; -goto lbl_6; -} -else -{ -obj* x_321; obj* x_324; obj* x_325; obj* x_326; obj* x_327; -x_321 = lean::cnstr_get(x_299, 1); -lean::inc(x_321); -lean::dec(x_299); -if (lean::is_scalar(x_111)) { - x_324 = lean::alloc_cnstr(1, 2, 0); -} else { - x_324 = x_111; -} -lean::cnstr_set(x_324, 0, x_94); -lean::cnstr_set(x_324, 1, x_24); -x_325 = l_list_reverse___rarg(x_324); -x_326 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_326, 0, x_325); -if (lean::is_scalar(x_312)) { - x_327 = lean::alloc_cnstr(1, 1, 0); -} else { - x_327 = x_312; -} -lean::cnstr_set(x_327, 0, x_326); -x_4 = x_327; -x_5 = x_321; -goto lbl_6; -} -} -} -} -else -{ -obj* x_329; obj* x_331; obj* x_332; obj* x_334; obj* x_337; obj* x_339; obj* x_341; obj* x_342; -lean::dec(x_223); -x_329 = lean::cnstr_get(x_229, 1); -if (lean::is_exclusive(x_229)) { - lean::cnstr_release(x_229, 0); - lean::cnstr_set(x_229, 1, lean::box(0)); - x_331 = x_229; -} else { - lean::inc(x_329); - lean::dec(x_229); - x_331 = lean::box(0); -} -x_332 = lean::cnstr_get(x_231, 0); -lean::inc(x_332); -x_334 = lean::cnstr_get(x_231, 1); -lean::inc(x_334); -lean::dec(x_231); -x_337 = lean::cnstr_get(x_332, 5); -lean::inc(x_337); -x_339 = l_list_reverse___rarg(x_337); -lean::inc(x_0); -x_341 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__12(x_0, x_339, x_329); -x_342 = lean::cnstr_get(x_341, 0); -lean::inc(x_342); -if (lean::obj_tag(x_342) == 0) -{ -obj* x_353; obj* x_356; obj* x_358; obj* x_359; -lean::dec(x_222); -lean::dec(x_24); -lean::dec(x_334); -lean::dec(x_94); -lean::dec(x_96); -lean::dec(x_332); -lean::dec(x_331); -lean::dec(x_133); -lean::dec(x_111); -x_353 = lean::cnstr_get(x_341, 1); -lean::inc(x_353); -lean::dec(x_341); -x_356 = lean::cnstr_get(x_342, 0); -if (lean::is_exclusive(x_342)) { - x_358 = x_342; -} else { - lean::inc(x_356); - lean::dec(x_342); - x_358 = lean::box(0); -} -if (lean::is_scalar(x_358)) { - x_359 = lean::alloc_cnstr(0, 1, 0); -} else { - x_359 = x_358; -} -lean::cnstr_set(x_359, 0, x_356); -x_4 = x_359; -x_5 = x_353; -goto lbl_6; -} -else -{ -obj* x_360; -if (lean::is_exclusive(x_342)) { - lean::cnstr_release(x_342, 0); - x_360 = x_342; -} else { - lean::dec(x_342); - x_360 = lean::box(0); -} -if (x_1 == 0) -{ -obj* x_364; obj* x_366; obj* x_367; obj* x_369; obj* x_372; obj* x_373; obj* x_374; obj* x_375; obj* x_376; obj* x_377; -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_111); -x_364 = lean::cnstr_get(x_341, 1); -if (lean::is_exclusive(x_341)) { - lean::cnstr_release(x_341, 0); - x_366 = x_341; -} else { - lean::inc(x_364); - lean::dec(x_341); - x_366 = lean::box(0); -} -x_367 = lean::cnstr_get(x_332, 6); -lean::inc(x_367); -x_369 = lean::cnstr_get(x_332, 7); -lean::inc(x_369); -lean::dec(x_332); -if (lean::is_scalar(x_366)) { - x_372 = lean::alloc_cnstr(0, 2, 0); -} else { - x_372 = x_366; -} -lean::cnstr_set(x_372, 0, x_369); -lean::cnstr_set(x_372, 1, x_27); -if (lean::is_scalar(x_331)) { - x_373 = lean::alloc_cnstr(0, 2, 0); -} else { - x_373 = x_331; -} -lean::cnstr_set(x_373, 0, x_367); -lean::cnstr_set(x_373, 1, x_372); -if (lean::is_scalar(x_222)) { - x_374 = lean::alloc_cnstr(0, 2, 0); -} else { - x_374 = x_222; -} -lean::cnstr_set(x_374, 0, x_334); -lean::cnstr_set(x_374, 1, x_373); -if (lean::is_scalar(x_133)) { - x_375 = lean::alloc_cnstr(0, 2, 0); -} else { - x_375 = x_133; -} -lean::cnstr_set(x_375, 0, x_96); -lean::cnstr_set(x_375, 1, x_374); -x_376 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_376, 0, x_375); -if (lean::is_scalar(x_360)) { - x_377 = lean::alloc_cnstr(1, 1, 0); -} else { - x_377 = x_360; -} -lean::cnstr_set(x_377, 0, x_376); -x_4 = x_377; -x_5 = x_364; -goto lbl_6; -} -else -{ -obj* x_378; obj* x_380; obj* x_381; obj* x_383; obj* x_386; obj* x_387; obj* x_388; obj* x_389; obj* x_390; obj* x_391; obj* x_392; -x_378 = lean::cnstr_get(x_341, 1); -if (lean::is_exclusive(x_341)) { - lean::cnstr_release(x_341, 0); - x_380 = x_341; -} else { - lean::inc(x_378); - lean::dec(x_341); - x_380 = lean::box(0); -} -x_381 = lean::cnstr_get(x_332, 6); -lean::inc(x_381); -x_383 = lean::cnstr_get(x_332, 7); -lean::inc(x_383); -lean::dec(x_332); -if (lean::is_scalar(x_111)) { - x_386 = lean::alloc_cnstr(1, 2, 0); -} else { - x_386 = x_111; -} -lean::cnstr_set(x_386, 0, x_94); -lean::cnstr_set(x_386, 1, x_24); -if (lean::is_scalar(x_380)) { - x_387 = lean::alloc_cnstr(0, 2, 0); -} else { - x_387 = x_380; -} -lean::cnstr_set(x_387, 0, x_383); -lean::cnstr_set(x_387, 1, x_386); -if (lean::is_scalar(x_331)) { - x_388 = lean::alloc_cnstr(0, 2, 0); -} else { - x_388 = x_331; -} -lean::cnstr_set(x_388, 0, x_381); -lean::cnstr_set(x_388, 1, x_387); -if (lean::is_scalar(x_222)) { - x_389 = lean::alloc_cnstr(0, 2, 0); -} else { - x_389 = x_222; -} -lean::cnstr_set(x_389, 0, x_334); -lean::cnstr_set(x_389, 1, x_388); -if (lean::is_scalar(x_133)) { - x_390 = lean::alloc_cnstr(0, 2, 0); -} else { - x_390 = x_133; -} -lean::cnstr_set(x_390, 0, x_96); -lean::cnstr_set(x_390, 1, x_389); -x_391 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_391, 0, x_390); -if (lean::is_scalar(x_360)) { - x_392 = lean::alloc_cnstr(1, 1, 0); -} else { - x_392 = x_360; -} -lean::cnstr_set(x_392, 0, x_391); -x_4 = x_392; -x_5 = x_378; -goto lbl_6; -} -} -} -} -} -} -lbl_100: -{ -obj* x_396; obj* x_397; obj* x_398; obj* x_399; -lean::dec(x_99); -lean::inc(x_22); -lean::inc(x_94); -x_396 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1___boxed), 3, 2); -lean::closure_set(x_396, 0, x_94); -lean::closure_set(x_396, 1, x_22); -x_397 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3; -x_398 = l_lean_profileit__pure___rarg(x_397, x_30, x_396, x_91); -x_399 = lean::cnstr_get(x_398, 0); -lean::inc(x_399); -if (lean::obj_tag(x_399) == 0) -{ -lean::dec(x_30); -if (x_1 == 0) -{ -obj* x_404; obj* x_406; obj* x_407; obj* x_411; obj* x_412; -lean::dec(x_24); -lean::dec(x_94); -x_404 = lean::cnstr_get(x_398, 1); -if (lean::is_exclusive(x_398)) { - lean::cnstr_release(x_398, 0); - lean::cnstr_set(x_398, 1, lean::box(0)); - x_406 = x_398; -} else { - lean::inc(x_404); - lean::dec(x_398); - x_406 = lean::box(0); -} -x_407 = lean::cnstr_get(x_399, 0); -lean::inc(x_407); -lean::dec(x_399); -lean::inc(x_0); -x_411 = lean::apply_2(x_0, x_407, x_404); -x_412 = lean::cnstr_get(x_411, 0); +x_412 = lean::cnstr_get(x_403, 0); lean::inc(x_412); -if (lean::obj_tag(x_412) == 0) -{ -obj* x_421; obj* x_424; obj* x_426; obj* x_427; -lean::dec(x_26); -lean::dec(x_16); -lean::dec(x_19); -lean::dec(x_22); -lean::dec(x_96); -lean::dec(x_93); -lean::dec(x_406); -x_421 = lean::cnstr_get(x_411, 1); -lean::inc(x_421); -lean::dec(x_411); -x_424 = lean::cnstr_get(x_412, 0); -if (lean::is_exclusive(x_412)) { - x_426 = x_412; +lean::dec(x_403); +if (lean::is_scalar(x_405)) { + x_415 = lean::alloc_cnstr(1, 1, 0); } else { - lean::inc(x_424); - lean::dec(x_412); - x_426 = lean::box(0); + x_415 = x_405; } -if (lean::is_scalar(x_426)) { - x_427 = lean::alloc_cnstr(0, 1, 0); -} else { - x_427 = x_426; +lean::cnstr_set(x_415, 0, x_412); +x_416 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_416, 0, x_415); +lean::cnstr_set(x_416, 1, x_5); +return x_416; } -lean::cnstr_set(x_427, 0, x_424); -x_4 = x_427; -x_5 = x_421; -goto lbl_6; } -else -{ -obj* x_428; obj* x_429; obj* x_431; obj* x_432; obj* x_433; obj* x_434; obj* x_435; obj* x_436; obj* x_437; -if (lean::is_exclusive(x_412)) { - lean::cnstr_release(x_412, 0); - x_428 = x_412; -} else { - lean::dec(x_412); - x_428 = lean::box(0); } -x_429 = lean::cnstr_get(x_411, 1); -if (lean::is_exclusive(x_411)) { - lean::cnstr_release(x_411, 0); - x_431 = x_411; -} else { - lean::inc(x_429); - lean::dec(x_411); - x_431 = lean::box(0); } -if (lean::is_scalar(x_431)) { - x_432 = lean::alloc_cnstr(0, 2, 0); -} else { - x_432 = x_431; } -lean::cnstr_set(x_432, 0, x_22); -lean::cnstr_set(x_432, 1, x_27); -if (lean::is_scalar(x_406)) { - x_433 = lean::alloc_cnstr(0, 2, 0); -} else { - x_433 = x_406; -} -lean::cnstr_set(x_433, 0, x_19); -lean::cnstr_set(x_433, 1, x_432); -if (lean::is_scalar(x_93)) { - x_434 = lean::alloc_cnstr(0, 2, 0); -} else { - x_434 = x_93; -} -lean::cnstr_set(x_434, 0, x_16); -lean::cnstr_set(x_434, 1, x_433); -if (lean::is_scalar(x_26)) { - x_435 = lean::alloc_cnstr(0, 2, 0); -} else { - x_435 = x_26; -} -lean::cnstr_set(x_435, 0, x_96); -lean::cnstr_set(x_435, 1, x_434); -x_436 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_436, 0, x_435); -if (lean::is_scalar(x_428)) { - x_437 = lean::alloc_cnstr(1, 1, 0); -} else { - x_437 = x_428; -} -lean::cnstr_set(x_437, 0, x_436); -x_4 = x_437; -x_5 = x_429; -goto lbl_6; -} -} -else -{ -obj* x_438; obj* x_440; obj* x_441; obj* x_445; obj* x_446; -x_438 = lean::cnstr_get(x_398, 1); -if (lean::is_exclusive(x_398)) { - lean::cnstr_release(x_398, 0); - lean::cnstr_set(x_398, 1, lean::box(0)); - x_440 = x_398; -} else { - lean::inc(x_438); - lean::dec(x_398); - x_440 = lean::box(0); -} -x_441 = lean::cnstr_get(x_399, 0); -lean::inc(x_441); -lean::dec(x_399); -lean::inc(x_0); -x_445 = lean::apply_2(x_0, x_441, x_438); -x_446 = lean::cnstr_get(x_445, 0); -lean::inc(x_446); -if (lean::obj_tag(x_446) == 0) -{ -obj* x_457; obj* x_460; obj* x_462; obj* x_463; -lean::dec(x_26); -lean::dec(x_16); -lean::dec(x_19); -lean::dec(x_22); -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_96); -lean::dec(x_93); -lean::dec(x_440); -x_457 = lean::cnstr_get(x_445, 1); -lean::inc(x_457); -lean::dec(x_445); -x_460 = lean::cnstr_get(x_446, 0); -if (lean::is_exclusive(x_446)) { - x_462 = x_446; -} else { - lean::inc(x_460); - lean::dec(x_446); - x_462 = lean::box(0); -} -if (lean::is_scalar(x_462)) { - x_463 = lean::alloc_cnstr(0, 1, 0); -} else { - x_463 = x_462; -} -lean::cnstr_set(x_463, 0, x_460); -x_4 = x_463; -x_5 = x_457; -goto lbl_6; -} -else -{ -obj* x_464; obj* x_465; obj* x_467; obj* x_468; obj* x_469; obj* x_470; obj* x_471; obj* x_472; obj* x_473; obj* x_474; -if (lean::is_exclusive(x_446)) { - lean::cnstr_release(x_446, 0); - x_464 = x_446; -} else { - lean::dec(x_446); - x_464 = lean::box(0); -} -x_465 = lean::cnstr_get(x_445, 1); -if (lean::is_exclusive(x_445)) { - lean::cnstr_release(x_445, 0); - x_467 = x_445; -} else { - lean::inc(x_465); - lean::dec(x_445); - x_467 = lean::box(0); -} -x_468 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_468, 0, x_94); -lean::cnstr_set(x_468, 1, x_24); -if (lean::is_scalar(x_467)) { - x_469 = lean::alloc_cnstr(0, 2, 0); -} else { - x_469 = x_467; -} -lean::cnstr_set(x_469, 0, x_22); -lean::cnstr_set(x_469, 1, x_468); -if (lean::is_scalar(x_440)) { - x_470 = lean::alloc_cnstr(0, 2, 0); -} else { - x_470 = x_440; -} -lean::cnstr_set(x_470, 0, x_19); -lean::cnstr_set(x_470, 1, x_469); -if (lean::is_scalar(x_93)) { - x_471 = lean::alloc_cnstr(0, 2, 0); -} else { - x_471 = x_93; -} -lean::cnstr_set(x_471, 0, x_16); -lean::cnstr_set(x_471, 1, x_470); -if (lean::is_scalar(x_26)) { - x_472 = lean::alloc_cnstr(0, 2, 0); -} else { - x_472 = x_26; -} -lean::cnstr_set(x_472, 0, x_96); -lean::cnstr_set(x_472, 1, x_471); -x_473 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_473, 0, x_472); -if (lean::is_scalar(x_464)) { - x_474 = lean::alloc_cnstr(1, 1, 0); -} else { - x_474 = x_464; -} -lean::cnstr_set(x_474, 0, x_473); -x_4 = x_474; -x_5 = x_465; -goto lbl_6; -} -} -} -else -{ -obj* x_478; obj* x_480; obj* x_481; obj* x_485; obj* x_486; obj* x_487; obj* x_489; -lean::dec(x_26); -lean::dec(x_19); -lean::dec(x_22); -x_478 = lean::cnstr_get(x_398, 1); -if (lean::is_exclusive(x_398)) { - lean::cnstr_release(x_398, 0); - lean::cnstr_set(x_398, 1, lean::box(0)); - x_480 = x_398; -} else { - lean::inc(x_478); - lean::dec(x_398); - x_480 = lean::box(0); -} -x_481 = lean::cnstr_get(x_399, 0); -lean::inc(x_481); -lean::dec(x_399); -lean::inc(x_481); -x_485 = lean::alloc_closure(reinterpret_cast(l_reader__t_monad___rarg___lambda__9___boxed), 3, 2); -lean::closure_set(x_485, 0, x_16); -lean::closure_set(x_485, 1, x_481); -x_486 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4; -x_487 = l_lean_profileit__pure___rarg(x_486, x_30, x_485, x_478); -lean::dec(x_30); -x_489 = lean::cnstr_get(x_487, 0); -lean::inc(x_489); -if (lean::obj_tag(x_489) == 0) -{ -obj* x_494; obj* x_497; obj* x_500; obj* x_502; uint8 x_503; -lean::dec(x_480); -lean::dec(x_96); -lean::dec(x_93); -x_494 = lean::cnstr_get(x_487, 1); -lean::inc(x_494); -lean::dec(x_487); -x_497 = lean::cnstr_get(x_489, 0); -lean::inc(x_497); -lean::dec(x_489); -x_502 = l_lean_parser_module_eoi; -x_503 = l_lean_parser_syntax_is__of__kind___main(x_502, x_481); -lean::dec(x_481); -if (x_503 == 0) -{ -obj* x_505; obj* x_506; obj* x_507; -x_505 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6; -x_506 = l_io_println___at_lean_run__frontend___spec__3(x_505, x_494); -x_507 = lean::cnstr_get(x_506, 0); -lean::inc(x_507); -if (lean::obj_tag(x_507) == 0) -{ -obj* x_512; obj* x_515; obj* x_517; obj* x_518; -lean::dec(x_24); -lean::dec(x_497); -lean::dec(x_94); -x_512 = lean::cnstr_get(x_506, 1); -lean::inc(x_512); -lean::dec(x_506); -x_515 = lean::cnstr_get(x_507, 0); -if (lean::is_exclusive(x_507)) { - x_517 = x_507; -} else { - lean::inc(x_515); - lean::dec(x_507); - x_517 = lean::box(0); -} -if (lean::is_scalar(x_517)) { - x_518 = lean::alloc_cnstr(0, 1, 0); -} else { - x_518 = x_517; -} -lean::cnstr_set(x_518, 0, x_515); -x_4 = x_518; -x_5 = x_512; -goto lbl_6; -} -else -{ -obj* x_520; obj* x_523; obj* x_525; obj* x_526; -lean::dec(x_507); -x_520 = lean::cnstr_get(x_506, 1); -lean::inc(x_520); -lean::dec(x_506); -x_523 = l_list_reverse___rarg(x_497); -lean::inc(x_0); -x_525 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__7(x_0, x_523, x_520); -x_526 = lean::cnstr_get(x_525, 0); -lean::inc(x_526); -if (lean::obj_tag(x_526) == 0) -{ -obj* x_530; obj* x_533; obj* x_535; obj* x_536; -lean::dec(x_24); -lean::dec(x_94); -x_530 = lean::cnstr_get(x_525, 1); -lean::inc(x_530); -lean::dec(x_525); -x_533 = lean::cnstr_get(x_526, 0); -if (lean::is_exclusive(x_526)) { - x_535 = x_526; -} else { - lean::inc(x_533); - lean::dec(x_526); - x_535 = lean::box(0); -} -if (lean::is_scalar(x_535)) { - x_536 = lean::alloc_cnstr(0, 1, 0); -} else { - x_536 = x_535; -} -lean::cnstr_set(x_536, 0, x_533); -x_4 = x_536; -x_5 = x_530; -goto lbl_6; -} -else -{ -obj* x_537; -if (lean::is_exclusive(x_526)) { - lean::cnstr_release(x_526, 0); - x_537 = x_526; -} else { - lean::dec(x_526); - x_537 = lean::box(0); -} -if (x_1 == 0) -{ -obj* x_541; obj* x_544; -lean::dec(x_24); -lean::dec(x_537); -lean::dec(x_94); -x_541 = lean::cnstr_get(x_525, 1); -lean::inc(x_541); -lean::dec(x_525); -x_544 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5; -x_4 = x_544; -x_5 = x_541; -goto lbl_6; -} -else -{ -obj* x_545; obj* x_548; obj* x_549; obj* x_550; obj* x_551; -x_545 = lean::cnstr_get(x_525, 1); -lean::inc(x_545); -lean::dec(x_525); -x_548 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_548, 0, x_94); -lean::cnstr_set(x_548, 1, x_24); -x_549 = l_list_reverse___rarg(x_548); -x_550 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_550, 0, x_549); -if (lean::is_scalar(x_537)) { - x_551 = lean::alloc_cnstr(1, 1, 0); -} else { - x_551 = x_537; -} -lean::cnstr_set(x_551, 0, x_550); -x_4 = x_551; -x_5 = x_545; -goto lbl_6; -} -} -} -} -else -{ -obj* x_552; -x_552 = lean::box(0); -x_500 = x_552; -goto lbl_501; -} -lbl_501: -{ -obj* x_554; obj* x_556; obj* x_557; -lean::dec(x_500); -x_554 = l_list_reverse___rarg(x_497); -lean::inc(x_0); -x_556 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__6(x_0, x_554, x_494); -x_557 = lean::cnstr_get(x_556, 0); -lean::inc(x_557); -if (lean::obj_tag(x_557) == 0) -{ -obj* x_561; obj* x_564; obj* x_566; obj* x_567; -lean::dec(x_24); -lean::dec(x_94); -x_561 = lean::cnstr_get(x_556, 1); -lean::inc(x_561); -lean::dec(x_556); -x_564 = lean::cnstr_get(x_557, 0); -if (lean::is_exclusive(x_557)) { - x_566 = x_557; -} else { - lean::inc(x_564); - lean::dec(x_557); - x_566 = lean::box(0); -} -if (lean::is_scalar(x_566)) { - x_567 = lean::alloc_cnstr(0, 1, 0); -} else { - x_567 = x_566; -} -lean::cnstr_set(x_567, 0, x_564); -x_4 = x_567; -x_5 = x_561; -goto lbl_6; -} -else -{ -obj* x_568; -if (lean::is_exclusive(x_557)) { - lean::cnstr_release(x_557, 0); - x_568 = x_557; -} else { - lean::dec(x_557); - x_568 = lean::box(0); -} -if (x_1 == 0) -{ -obj* x_572; obj* x_575; -lean::dec(x_568); -lean::dec(x_24); -lean::dec(x_94); -x_572 = lean::cnstr_get(x_556, 1); -lean::inc(x_572); -lean::dec(x_556); -x_575 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5; -x_4 = x_575; -x_5 = x_572; -goto lbl_6; -} -else -{ -obj* x_576; obj* x_579; obj* x_580; obj* x_581; obj* x_582; -x_576 = lean::cnstr_get(x_556, 1); -lean::inc(x_576); -lean::dec(x_556); -x_579 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_579, 0, x_94); -lean::cnstr_set(x_579, 1, x_24); -x_580 = l_list_reverse___rarg(x_579); -x_581 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_581, 0, x_580); -if (lean::is_scalar(x_568)) { - x_582 = lean::alloc_cnstr(1, 1, 0); -} else { - x_582 = x_568; -} -lean::cnstr_set(x_582, 0, x_581); -x_4 = x_582; -x_5 = x_576; -goto lbl_6; -} -} -} -} -else -{ -obj* x_584; obj* x_586; obj* x_587; obj* x_589; obj* x_592; obj* x_594; obj* x_596; obj* x_597; -lean::dec(x_481); -x_584 = lean::cnstr_get(x_487, 1); -if (lean::is_exclusive(x_487)) { - lean::cnstr_release(x_487, 0); - lean::cnstr_set(x_487, 1, lean::box(0)); - x_586 = x_487; -} else { - lean::inc(x_584); - lean::dec(x_487); - x_586 = lean::box(0); -} -x_587 = lean::cnstr_get(x_489, 0); -lean::inc(x_587); -x_589 = lean::cnstr_get(x_489, 1); -lean::inc(x_589); -lean::dec(x_489); -x_592 = lean::cnstr_get(x_587, 5); -lean::inc(x_592); -x_594 = l_list_reverse___rarg(x_592); -lean::inc(x_0); -x_596 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__8(x_0, x_594, x_584); -x_597 = lean::cnstr_get(x_596, 0); -lean::inc(x_597); -if (lean::obj_tag(x_597) == 0) -{ -obj* x_607; obj* x_610; obj* x_612; obj* x_613; -lean::dec(x_480); -lean::dec(x_24); -lean::dec(x_94); -lean::dec(x_96); -lean::dec(x_93); -lean::dec(x_587); -lean::dec(x_586); -lean::dec(x_589); -x_607 = lean::cnstr_get(x_596, 1); -lean::inc(x_607); -lean::dec(x_596); -x_610 = lean::cnstr_get(x_597, 0); -if (lean::is_exclusive(x_597)) { - x_612 = x_597; -} else { - lean::inc(x_610); - lean::dec(x_597); - x_612 = lean::box(0); -} -if (lean::is_scalar(x_612)) { - x_613 = lean::alloc_cnstr(0, 1, 0); -} else { - x_613 = x_612; -} -lean::cnstr_set(x_613, 0, x_610); -x_4 = x_613; -x_5 = x_607; -goto lbl_6; -} -else -{ -obj* x_614; -if (lean::is_exclusive(x_597)) { - lean::cnstr_release(x_597, 0); - x_614 = x_597; -} else { - lean::dec(x_597); - x_614 = lean::box(0); -} -if (x_1 == 0) -{ -obj* x_617; obj* x_619; obj* x_620; obj* x_622; obj* x_625; obj* x_626; obj* x_627; obj* x_628; obj* x_629; obj* x_630; -lean::dec(x_24); -lean::dec(x_94); -x_617 = lean::cnstr_get(x_596, 1); -if (lean::is_exclusive(x_596)) { - lean::cnstr_release(x_596, 0); - x_619 = x_596; -} else { - lean::inc(x_617); - lean::dec(x_596); - x_619 = lean::box(0); -} -x_620 = lean::cnstr_get(x_587, 6); -lean::inc(x_620); -x_622 = lean::cnstr_get(x_587, 7); -lean::inc(x_622); -lean::dec(x_587); -if (lean::is_scalar(x_619)) { - x_625 = lean::alloc_cnstr(0, 2, 0); -} else { - x_625 = x_619; -} -lean::cnstr_set(x_625, 0, x_622); -lean::cnstr_set(x_625, 1, x_27); -if (lean::is_scalar(x_586)) { - x_626 = lean::alloc_cnstr(0, 2, 0); -} else { - x_626 = x_586; -} -lean::cnstr_set(x_626, 0, x_620); -lean::cnstr_set(x_626, 1, x_625); -if (lean::is_scalar(x_480)) { - x_627 = lean::alloc_cnstr(0, 2, 0); -} else { - x_627 = x_480; -} -lean::cnstr_set(x_627, 0, x_589); -lean::cnstr_set(x_627, 1, x_626); -if (lean::is_scalar(x_93)) { - x_628 = lean::alloc_cnstr(0, 2, 0); -} else { - x_628 = x_93; -} -lean::cnstr_set(x_628, 0, x_96); -lean::cnstr_set(x_628, 1, x_627); -x_629 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_629, 0, x_628); -if (lean::is_scalar(x_614)) { - x_630 = lean::alloc_cnstr(1, 1, 0); -} else { - x_630 = x_614; -} -lean::cnstr_set(x_630, 0, x_629); -x_4 = x_630; -x_5 = x_617; -goto lbl_6; -} -else -{ -obj* x_631; obj* x_633; obj* x_634; obj* x_636; obj* x_639; obj* x_640; obj* x_641; obj* x_642; obj* x_643; obj* x_644; obj* x_645; -x_631 = lean::cnstr_get(x_596, 1); -if (lean::is_exclusive(x_596)) { - lean::cnstr_release(x_596, 0); - x_633 = x_596; -} else { - lean::inc(x_631); - lean::dec(x_596); - x_633 = lean::box(0); -} -x_634 = lean::cnstr_get(x_587, 6); -lean::inc(x_634); -x_636 = lean::cnstr_get(x_587, 7); -lean::inc(x_636); -lean::dec(x_587); -x_639 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_639, 0, x_94); -lean::cnstr_set(x_639, 1, x_24); -if (lean::is_scalar(x_633)) { - x_640 = lean::alloc_cnstr(0, 2, 0); -} else { - x_640 = x_633; -} -lean::cnstr_set(x_640, 0, x_636); -lean::cnstr_set(x_640, 1, x_639); -if (lean::is_scalar(x_586)) { - x_641 = lean::alloc_cnstr(0, 2, 0); -} else { - x_641 = x_586; -} -lean::cnstr_set(x_641, 0, x_634); -lean::cnstr_set(x_641, 1, x_640); -if (lean::is_scalar(x_480)) { - x_642 = lean::alloc_cnstr(0, 2, 0); -} else { - x_642 = x_480; -} -lean::cnstr_set(x_642, 0, x_589); -lean::cnstr_set(x_642, 1, x_641); -if (lean::is_scalar(x_93)) { - x_643 = lean::alloc_cnstr(0, 2, 0); -} else { - x_643 = x_93; -} -lean::cnstr_set(x_643, 0, x_96); -lean::cnstr_set(x_643, 1, x_642); -x_644 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_644, 0, x_643); -if (lean::is_scalar(x_614)) { - x_645 = lean::alloc_cnstr(1, 1, 0); -} else { - x_645 = x_614; -} -lean::cnstr_set(x_645, 0, x_644); -x_4 = x_645; -x_5 = x_631; -goto lbl_6; -} -} -} -} -} -} -} -} -} -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___lambda__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__10(obj* x_0, obj* x_1, obj* x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { _start: { -obj* x_4; -x_4 = l_lean_parser_module_parser(x_0, x_2, x_3); -return x_4; -} -} -obj* _init_l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___lambda__1___boxed), 4, 0); -return x_0; -} -} -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13(obj* x_0, obj* x_1, obj* x_2, uint8 x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_7; obj* x_9; obj* x_10; obj* x_12; obj* x_13; obj* x_15; obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -lean::inc(x_1); -x_7 = l_lean_file__map_from__string(x_1); +obj* x_8; obj* x_9; obj* x_10; obj* x_12; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; lean::inc(x_1); +x_8 = l_lean_file__map_from__string(x_1); x_9 = lean::alloc_cnstr(0, 3, 0); lean::cnstr_set(x_9, 0, x_0); lean::cnstr_set(x_9, 1, x_1); -lean::cnstr_set(x_9, 2, x_7); +lean::cnstr_set(x_9, 2, x_8); x_10 = l_lean_expander_builtin__transformers; lean::inc(x_9); x_12 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_12, 0, x_9); lean::cnstr_set(x_12, 1, x_10); -x_13 = l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___closed__1; -lean::inc(x_5); -x_15 = l_lean_parser_run___at_lean_run__frontend___spec__1(x_5, x_1, x_13); -lean::inc(x_5); +lean::inc(x_4); +x_14 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_14, 0, x_9); +lean::cnstr_set(x_14, 1, x_4); +x_15 = l_lean_elaborator_run(x_14); +x_16 = lean::box(0); x_17 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_17, 0, x_9); -lean::cnstr_set(x_17, 1, x_5); -x_18 = l_lean_elaborator_run(x_17); -x_19 = lean::box(0); +lean::cnstr_set(x_17, 0, x_12); +lean::cnstr_set(x_17, 1, x_16); +x_18 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_18, 0, x_4); +lean::cnstr_set(x_18, 1, x_17); +x_19 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_19, 0, x_15); +lean::cnstr_set(x_19, 1, x_18); x_20 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_20, 0, x_12); +lean::cnstr_set(x_20, 0, x_5); lean::cnstr_set(x_20, 1, x_19); -x_21 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_21, 0, x_5); -lean::cnstr_set(x_21, 1, x_20); -x_22 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_22, 0, x_18); -lean::cnstr_set(x_22, 1, x_21); -x_23 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_23, 0, x_15); -lean::cnstr_set(x_23, 1, x_22); -x_24 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14(x_2, x_3, x_23, x_4); +x_21 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11(x_2, x_3, x_20, x_6); +return x_21; +} +} +obj* l_list_mmap_x_27___main___at_lean_run__frontend___spec__12(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +if (lean::obj_tag(x_1) == 0) +{ +obj* x_4; obj* x_5; +lean::dec(x_0); +x_4 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1; +x_5 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_5, 0, x_4); +lean::cnstr_set(x_5, 1, x_2); +return x_5; +} +else +{ +obj* x_6; obj* x_8; obj* x_12; obj* x_13; +x_6 = lean::cnstr_get(x_1, 0); +lean::inc(x_6); +x_8 = lean::cnstr_get(x_1, 1); +lean::inc(x_8); +lean::dec(x_1); +lean::inc(x_0); +x_12 = lean::apply_2(x_0, x_6, x_2); +x_13 = lean::cnstr_get(x_12, 0); +lean::inc(x_13); +if (lean::obj_tag(x_13) == 0) +{ +obj* x_17; obj* x_19; obj* x_20; obj* x_22; obj* x_23; obj* x_24; +lean::dec(x_8); +lean::dec(x_0); +x_17 = lean::cnstr_get(x_12, 1); +if (lean::is_exclusive(x_12)) { + lean::cnstr_release(x_12, 0); + x_19 = x_12; +} else { + lean::inc(x_17); + lean::dec(x_12); + x_19 = lean::box(0); +} +x_20 = lean::cnstr_get(x_13, 0); +if (lean::is_exclusive(x_13)) { + x_22 = x_13; +} else { + lean::inc(x_20); + lean::dec(x_13); + x_22 = lean::box(0); +} +if (lean::is_scalar(x_22)) { + x_23 = lean::alloc_cnstr(0, 1, 0); +} else { + x_23 = x_22; +} +lean::cnstr_set(x_23, 0, x_20); +if (lean::is_scalar(x_19)) { + x_24 = lean::alloc_cnstr(0, 2, 0); +} else { + x_24 = x_19; +} +lean::cnstr_set(x_24, 0, x_23); +lean::cnstr_set(x_24, 1, x_17); return x_24; } +else +{ +obj* x_26; +lean::dec(x_13); +x_26 = lean::cnstr_get(x_12, 1); +lean::inc(x_26); +lean::dec(x_12); +x_1 = x_8; +x_2 = x_26; +goto _start; +} +} +} } obj* l_lean_run__frontend(obj* x_0, obj* x_1, obj* x_2, uint8 x_3, obj* x_4) { _start: @@ -2970,33 +2084,157 @@ return x_28; } else { -obj* x_29; obj* x_32; +obj* x_29; obj* x_33; obj* x_34; x_29 = lean::cnstr_get(x_5, 0); lean::inc(x_29); lean::dec(x_5); -x_32 = l_io_prim_iterate__eio___at_lean_run__frontend___spec__13(x_0, x_1, x_2, x_3, x_6, x_29); -return x_32; -} -} -} -} -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: +lean::inc(x_29); +x_33 = l_lean_parser_parse__header(x_29); +x_34 = lean::cnstr_get(x_33, 0); +lean::inc(x_34); +if (lean::obj_tag(x_34) == 0) { -obj* x_4; -x_4 = l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg(x_0, x_1, x_2, x_3); -lean::dec(x_2); -return x_4; -} -} -obj* l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___boxed(obj* x_0, obj* x_1) { -_start: +obj* x_36; obj* x_39; obj* x_42; obj* x_45; obj* x_47; obj* x_48; +x_36 = lean::cnstr_get(x_34, 0); +lean::inc(x_36); +lean::dec(x_34); +x_39 = lean::cnstr_get(x_33, 1); +lean::inc(x_39); +lean::dec(x_33); +x_42 = lean::cnstr_get(x_36, 1); +lean::inc(x_42); +lean::dec(x_36); +x_45 = l_list_reverse___rarg(x_39); +lean::inc(x_2); +x_47 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__1(x_2, x_45, x_6); +x_48 = lean::cnstr_get(x_47, 0); +lean::inc(x_48); +if (lean::obj_tag(x_48) == 0) { -obj* x_2; -x_2 = l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2(x_0, x_1); -lean::dec(x_0); +obj* x_55; obj* x_57; obj* x_58; obj* x_60; obj* x_61; obj* x_62; lean::dec(x_1); -return x_2; +lean::dec(x_0); +lean::dec(x_2); +lean::dec(x_29); +lean::dec(x_42); +x_55 = lean::cnstr_get(x_47, 1); +if (lean::is_exclusive(x_47)) { + lean::cnstr_release(x_47, 0); + x_57 = x_47; +} else { + lean::inc(x_55); + lean::dec(x_47); + x_57 = lean::box(0); +} +x_58 = lean::cnstr_get(x_48, 0); +if (lean::is_exclusive(x_48)) { + x_60 = x_48; +} else { + lean::inc(x_58); + lean::dec(x_48); + x_60 = lean::box(0); +} +if (lean::is_scalar(x_60)) { + x_61 = lean::alloc_cnstr(0, 1, 0); +} else { + x_61 = x_60; +} +lean::cnstr_set(x_61, 0, x_58); +if (lean::is_scalar(x_57)) { + x_62 = lean::alloc_cnstr(0, 2, 0); +} else { + x_62 = x_57; +} +lean::cnstr_set(x_62, 0, x_61); +lean::cnstr_set(x_62, 1, x_55); +return x_62; +} +else +{ +obj* x_64; obj* x_67; +lean::dec(x_48); +x_64 = lean::cnstr_get(x_47, 1); +lean::inc(x_64); +lean::dec(x_47); +x_67 = l_io_prim_iterate__eio___at_lean_run__frontend___spec__10(x_0, x_1, x_2, x_3, x_29, x_42, x_64); +return x_67; +} +} +else +{ +obj* x_72; obj* x_75; obj* x_76; obj* x_77; +lean::dec(x_1); +lean::dec(x_0); +lean::dec(x_34); +lean::dec(x_29); +x_72 = lean::cnstr_get(x_33, 1); +lean::inc(x_72); +lean::dec(x_33); +x_75 = l_list_reverse___rarg(x_72); +x_76 = l_list_mmap_x_27___main___at_lean_run__frontend___spec__12(x_2, x_75, x_6); +x_77 = lean::cnstr_get(x_76, 0); +lean::inc(x_77); +if (lean::obj_tag(x_77) == 0) +{ +obj* x_79; obj* x_81; obj* x_82; obj* x_84; obj* x_85; obj* x_86; +x_79 = lean::cnstr_get(x_76, 1); +if (lean::is_exclusive(x_76)) { + lean::cnstr_release(x_76, 0); + x_81 = x_76; +} else { + lean::inc(x_79); + lean::dec(x_76); + x_81 = lean::box(0); +} +x_82 = lean::cnstr_get(x_77, 0); +if (lean::is_exclusive(x_77)) { + x_84 = x_77; +} else { + lean::inc(x_82); + lean::dec(x_77); + x_84 = lean::box(0); +} +if (lean::is_scalar(x_84)) { + x_85 = lean::alloc_cnstr(0, 1, 0); +} else { + x_85 = x_84; +} +lean::cnstr_set(x_85, 0, x_82); +if (lean::is_scalar(x_81)) { + x_86 = lean::alloc_cnstr(0, 2, 0); +} else { + x_86 = x_81; +} +lean::cnstr_set(x_86, 0, x_85); +lean::cnstr_set(x_86, 1, x_79); +return x_86; +} +else +{ +obj* x_88; obj* x_90; obj* x_91; obj* x_92; +lean::dec(x_77); +x_88 = lean::cnstr_get(x_76, 1); +if (lean::is_exclusive(x_76)) { + lean::cnstr_release(x_76, 0); + x_90 = x_76; +} else { + lean::inc(x_88); + lean::dec(x_76); + x_90 = lean::box(0); +} +x_91 = l_lean_expander_expand__bracketed__binder___main___closed__4; +if (lean::is_scalar(x_90)) { + x_92 = lean::alloc_cnstr(0, 2, 0); +} else { + x_92 = x_90; +} +lean::cnstr_set(x_92, 0, x_91); +lean::cnstr_set(x_92, 1, x_88); +return x_92; +} +} +} +} } } obj* l___private_init_io_12__put__str___at_lean_run__frontend___spec__5___boxed(obj* x_0, obj* x_1) { @@ -3026,40 +2264,40 @@ lean::dec(x_0); return x_2; } } -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2) { +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2) { _start: { obj* x_3; -x_3 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14___lambda__1(x_0, x_1, x_2); +x_3 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__1(x_0, x_1, x_2); lean::dec(x_2); return x_3; } } -obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__14___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__2___boxed(obj* x_0, obj* x_1, obj* x_2) { +_start: +{ +obj* x_3; +x_3 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11___lambda__2(x_0, x_1, x_2); +lean::dec(x_2); +return x_3; +} +} +obj* l_io_prim_iterate___main___at_lean_run__frontend___spec__11___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { uint8 x_4; obj* x_5; x_4 = lean::unbox(x_1); -x_5 = l_io_prim_iterate___main___at_lean_run__frontend___spec__14(x_0, x_4, x_2, x_3); +x_5 = l_io_prim_iterate___main___at_lean_run__frontend___spec__11(x_0, x_4, x_2, x_3); return x_5; } } -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__10___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { _start: { -obj* x_4; -x_4 = l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___lambda__1(x_0, x_1, x_2, x_3); -lean::dec(x_1); -return x_4; -} -} -obj* l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -uint8 x_6; obj* x_7; -x_6 = lean::unbox(x_3); -x_7 = l_io_prim_iterate__eio___at_lean_run__frontend___spec__13(x_0, x_1, x_2, x_6, x_4, x_5); -return x_7; +uint8 x_7; obj* x_8; +x_7 = lean::unbox(x_3); +x_8 = l_io_prim_iterate__eio___at_lean_run__frontend___spec__10(x_0, x_1, x_2, x_7, x_4, x_5, x_6); +return x_8; } } obj* l_lean_run__frontend___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { @@ -3454,24 +2692,20 @@ void initialize_init_lean_frontend() { initialize_init_lean_elaborator(); initialize_init_lean_util(); initialize_init_io(); - l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___closed__1 = _init_l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___closed__1(); -lean::mark_persistent(l_lean_parser_parsec__t_run___at_lean_run__frontend___spec__2___rarg___closed__1); - l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1 = _init_l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1(); -lean::mark_persistent(l_list_mmap_x_27___main___at_lean_run__frontend___spec__6___closed__1); - l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__1 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__1(); -lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__1); - l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__2 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__2(); -lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__2); - l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3(); -lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__3); - l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4(); -lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__4); - l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5(); -lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__5); - l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6(); -lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__14___closed__6); - l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___closed__1 = _init_l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___closed__1(); -lean::mark_persistent(l_io_prim_iterate__eio___at_lean_run__frontend___spec__13___closed__1); + l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1 = _init_l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1(); +lean::mark_persistent(l_list_mmap_x_27___main___at_lean_run__frontend___spec__1___closed__1); + l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__1 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__1(); +lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__1); + l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__2 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__2(); +lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__2); + l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__3 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__3(); +lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__3); + l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__4 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__4(); +lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__4); + l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5(); +lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__5); + l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__6 = _init_l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__6(); +lean::mark_persistent(l_io_prim_iterate___main___at_lean_run__frontend___spec__11___closed__6); l_lean_process__file___lambda__1___closed__1 = _init_l_lean_process__file___lambda__1___closed__1(); lean::mark_persistent(l_lean_process__file___lambda__1___closed__1); l_lean_process__file___lambda__1___closed__2 = _init_l_lean_process__file___lambda__1___closed__2(); diff --git a/src/boot/init/lean/parser/module.cpp b/src/boot/init/lean/parser/module.cpp index a633e658de..48596581a3 100644 --- a/src/boot/init/lean/parser/module.cpp +++ b/src/boot/init/lean/parser/module.cpp @@ -16,333 +16,235 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64; #endif obj* l_lean_parser_module__parser__m_lean_parser_monad__parsec; obj* l_lean_parser_module__parser__m_monad__except; -obj* l_lean_parser_module_parser___lambda__5(obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__1(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__15(obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__3___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_parser__t_monad___rarg(obj*); obj* l_lean_parser_parsec__t_bind__mk__res___rarg(obj*, obj*); obj* l_lean_parser_module_header_parser_lean_parser_has__view; obj* l_lean_parser_module_import__path_parser___closed__1; -obj* l_lean_parser_module_parser___lambda__6(obj*, obj*, obj*, obj*); +obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1(obj*, obj*, obj*, obj*); obj* l_lean_parser_module_prelude_has__view_x_27; -obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___lambda__1(obj*, obj*, obj*); obj* l_list_map___main___rarg(obj*, obj*); obj* l_lean_parser_module_import_has__view; -obj* l_lean_parser_module_parser___lambda__11(obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_has__monad__lift___rarg___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__3(obj*, obj*, obj*); obj* l_lean_parser_command__parser__config__coe__parser__config___boxed(obj*); extern uint8 l_true_decidable; obj* l_lean_parser_monad__parsec_str__core___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__3(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_symbol__core___at_lean_parser_unicode__symbol_lean_parser_has__tokens___spec__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__12(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_commands_parser_has__view___lambda__2(obj*); +obj* l_id___boxed(obj*); obj* l_coe__trans___rarg(obj*, obj*, obj*); extern obj* l_lean_parser_ident_parser___at_lean_parser_command_notation__spec_fold__action_parser_lean_parser_has__tokens___spec__4___rarg___closed__1; extern obj* l_lean_parser_combinators_many___rarg___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__15___boxed(obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___boxed(obj*); -obj* l_lean_parser_module_yield__command___lambda__8(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___rarg(obj*, obj*); -obj* l_lean_parser_module_yield__command___lambda__10(obj*, obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__3___closed__1; -obj* l_lean_parser_module_parser___lambda__1___boxed(obj*, obj*, obj*, obj*); +obj* l_lean_parser_resume__module__parser___rarg___lambda__1(obj*, obj*, obj*, obj*); namespace lean { obj* nat_add(obj*, obj*); } -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2(obj*, obj*, obj*); -obj* l_lean_parser_module_tokens; -obj* l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__2(obj*); +obj* l_lean_parser_parse__header___lambda__1(obj*, obj*); obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__2; obj* l_coe__b___rarg(obj*, obj*); obj* l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__4; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__21(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import__path; -obj* l_lean_parser_module_parser___lambda__1(obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__2___boxed(obj*, obj*, obj*, obj*); +obj* l_lean_parser_parse__header___lambda__3(obj*, obj*, obj*, obj*, obj*); extern obj* l_mjoin___rarg___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__1; +obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; obj* l_lean_parser_module_import_parser___closed__1; obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__6; extern obj* l_lean_parser_basic__parser__m_monad; obj* l_lean_parser_with__trailing___rarg___lambda__1(obj*, obj*); obj* l_state__t_monad__functor___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__4; +obj* l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2; obj* l_lean_parser_string__lit_has__view_x_27___lambda__1(obj*); -obj* l_lean_parser_module_parser___lambda__9(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__14___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_list_cons_tokens___rarg(obj*, obj*); -obj* l_coroutine_monad__reader___rarg(obj*); +obj* l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1; +obj* l_lean_parser_module_eoi_parser___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_token_1__finish__comment__block__aux___main___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_try__mk__res___rarg(obj*); -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2(obj*, obj*, obj*); -obj* l_lean_parser_module_commands_parser___lambda__1(obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___boxed(obj*, obj*, obj*, obj*, obj*); extern obj* l_lean_parser_monad__parsec_eoi___rarg___lambda__1___closed__1; obj* l_lean_parser_module_header_has__view_x_27___lambda__2___closed__1; extern "C" obj* lean_name_mk_string(obj*, obj*); obj* l_lean_parser_module_import; obj* l_lean_parser_module__parser__m_lift__parser__t___boxed(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__5___boxed(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module__parser__m_monad__coroutine; -obj* l_lean_parser_module_yield__command___lambda__2___boxed(obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__20(uint8, obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_labels__mk__res___rarg(obj*, obj*); extern obj* l___private_init_lean_parser_combinators_1__many1__aux___main___rarg___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__1(obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main(uint8, obj*, obj*, obj*, obj*); +obj* l_id___rarg___boxed(obj*); +obj* l_lean_parser_parse__command(obj*, obj*); +obj* l_lean_parser_parse__header___lambda__3___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_string_quote(obj*); extern obj* l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; obj* l_lean_parser_module__parser__config__coe___boxed(obj*); obj* l_lean_parser_module_header_has__view_x_27___lambda__2(obj*); obj* l_lean_parser_combinators_many___at_lean_parser_module_import__path_parser_lean_parser_has__view___spec__1(obj*, obj*, obj*, obj*); +obj* l_list_zip___rarg___lambda__1(obj*, obj*); namespace lean { obj* string_iterator_next(obj*); } -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__3(obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__16(uint8, obj*); +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_message__of__parsec__message___rarg(obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__10(obj*, obj*); obj* l_lean_parser_module_header_parser(obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__4(obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__1(obj*, uint32, obj*, obj*); -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1(obj*); +obj* l_lean_parser_parser__t_monad__reader___rarg(obj*); +obj* l_lean_parser_parse__command___lambda__1(obj*, obj*); +obj* l___private_init_lean_parser_module_1__command__wrec__aux___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_resume__module__parser___rarg(obj*, obj*, obj*, obj*); obj* l_coe__t___rarg(obj*, obj*); obj* l_lean_parser_module_import_has__view_x_27; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__13(obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__2___closed__1; obj* l_state__t_monad__state___rarg(obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__2(obj*, obj*, obj*, obj*, obj*); -obj* l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__1(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__9(obj*, obj*); +obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__1(obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2(obj*); namespace lean { uint32 string_iterator_curr(obj*); } obj* l_lean_parser_module__parser__m_monad__reader; -obj* l_lean_parser_module_yield__command___lambda__2(obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_parser(obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___lambda__7___boxed(obj*, obj*, obj*, obj*); extern obj* l_lean_name_to__string___closed__1; extern obj* l_lean_parser_command_parser___rarg___closed__1; namespace lean { obj* string_append(obj*, obj*); } obj* l_lean_parser_module_import_has__view_x_27___lambda__1___closed__2; -obj* l_lean_parser_module_yield__command___lambda__5___boxed(obj*, obj*, obj*, obj*); obj* l_function_comp___rarg(obj*, obj*, obj*); obj* l_lean_parser_module_prelude_has__view_x_27___lambda__1___closed__1; +obj* l_state__t_bind___at_lean_parser_parse__header___spec__1(obj*, obj*); +obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module__parser__config__coe(obj*); +obj* l_lean_parser_module_eoi_parser(obj*, obj*, obj*, obj*); obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__3; obj* l_lean_parser_module_import__path_has__view_x_27___lambda__2(obj*); obj* l_lean_parser_module_import__path_has__view_x_27; -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3___lambda__1(obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___lambda__7___closed__1; -obj* l_lean_parser_module_yield__command___lambda__5(obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__14(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_parser__t_alternative___rarg(obj*); extern obj* l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__17(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__8___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_state__t_bind___at_lean_parser_parse__header___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_reader__t_bind___at_lean_parser_with__trailing___spec__2___rarg(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__10(obj*, obj*, obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__1___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__5___closed__1; +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2___boxed(obj*, obj*, obj*, obj*); namespace lean { obj* string_iterator_to_end(obj*); } -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__5(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__11(obj*, obj*); obj* l_lean_parser_module_prelude_has__view; +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg(obj*, obj*, obj*, obj*); obj* l_lean_parser_tokens___rarg(obj*); -extern obj* l_lean_parser_command_parser_lean_parser_has__tokens; obj* l_option_get__or__else___main___rarg(obj*, obj*); -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___closed__1; +obj* l_lean_parser_parse__header___lambda__2(obj*, obj*, obj*, obj*); obj* l_lean_parser_module_header; -obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1(obj*, obj*, obj*); extern obj* l_lean_parser_no__kind; obj* l_lean_parser_syntax_as__node___main(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__7(obj*, obj*); obj* l_lean_parser_module_prelude; obj* l_lean_parser_module_eoi; obj* l_lean_parser_module_prelude_parser_lean_parser_has__tokens; -obj* l_monad__coroutine__trans___rarg(obj*, obj*, obj*); obj* l_lean_parser_module_import_parser_lean_parser_has__view; namespace lean { uint8 string_iterator_has_next(obj*); } obj* l_lean_parser_module__parser__m_monad__state; -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed(obj*, obj*); +obj* l_state__t_bind___at_lean_parser_parse__header___spec__1___boxed(obj*, obj*); obj* l_lean_parser_module_prelude_parser(obj*, obj*, obj*); obj* l_lean_parser_symbol_tokens___rarg(obj*, obj*); extern obj* l_lean_message__log_empty; namespace lean { uint8 nat_dec_eq(obj*, obj*); } -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__9(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; obj* l_lean_parser_mk__raw__res(obj*, obj*); obj* l_lean_parser_module_import__path_parser_lean_parser_has__view; extern obj* l_char_has__repr___closed__1; obj* l_lean_parser_module__parser__m_monad; -obj* l_coroutine_bind___main___rarg(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__6___boxed(obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___lambda__4(obj*, obj*, obj*); +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___boxed(obj*, obj*); +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(obj*, obj*, obj*, obj*); obj* l_lean_parser_module__parser; -obj* l_lean_parser_module_yield__command(obj*, obj*, obj*, obj*); +obj* l_lean_parser_resume__module__parser___boxed(obj*); +obj* l_lean_parser_parse__header___lambda__2___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_command__parser_run(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_combinators_node_view___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__3(obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__10___boxed(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3(obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__12(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_module_parse__command__with__recovery___boxed(obj*, obj*, obj*, obj*, obj*); +obj* l___private_init_lean_parser_module_1__command__wrec__aux___main(uint8, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_module_parse__command__with__recovery(uint8, obj*, obj*, obj*, obj*); +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); extern obj* l_lean_parser_finish__comment__block___closed__2; extern obj* l_string_join___closed__1; obj* l_reader__t_lift___at_lean_parser_with__trailing___spec__1___rarg___boxed(obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__13___closed__1; -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__3; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__19(obj*, obj*, obj*, uint8, obj*, obj*, obj*); extern obj* l_lean_parser_ident_parser_view___rarg___lambda__1___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__8(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1(obj*, obj*); obj* l_lean_parser_command_parser___boxed(obj*); -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1; -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__12___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_ident_parser___at_lean_parser_module_import__path_parser_lean_parser_has__view___spec__2(obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___lambda__3(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_syntax_mk__node(obj*, obj*); -obj* l_coroutine_yield___rarg___boxed(obj*, obj*); +extern obj* l_lean_parser_run___rarg___closed__1; obj* l_lean_parser_module_import__path_parser_lean_parser_has__view___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__11___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___closed__1; obj* l_lean_parser_module_import__path_parser_lean_parser_has__view___lambda__1(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_commands_tokens; obj* l_lean_parser_module__parser__m_basic__parser__m___closed__1; obj* l_lean_parser_combinators_many1___at_lean_parser_ident__univ__spec_parser_lean_parser_has__tokens___spec__1(obj*, obj*, obj*, obj*); obj* l_state__t_monad__except___rarg(obj*, obj*, obj*); obj* l_lean_parser_token(obj*, obj*, obj*); obj* l_lean_parser_whitespace(obj*, obj*, obj*); -obj* l_lean_parser_module_commands_parser(obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__2(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec__trans___rarg(obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__5___closed__1; namespace lean { obj* string_iterator_offset(obj*); } -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__1(obj*, obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__2(obj*); +obj* l_id_monad___lambda__1___boxed(obj*, obj*, obj*, obj*); obj* l_state__t_lift___rarg___boxed(obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__7(obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__16___boxed(obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__4(obj*, obj*); obj* l_state__t_monad___rarg(obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___closed__1; obj* l_lean_parser_combinators_node___at_lean_parser_detail__ident__part_parser_lean_parser_has__tokens___spec__15(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_header_parser_lean_parser_has__tokens; -obj* l___private_init_lean_parser_module_1__commands__aux___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_commands_parser_has__view___lambda__1(obj*); -obj* l_lean_parser_module_yield__command___lambda__9(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*); -extern obj* l_coroutine_monad___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__22(obj*, obj*, obj*, uint8, obj*, obj*, obj*); +obj* l_lean_parser_parse__header___closed__1; obj* l_lean_parser_combinators_optional___at_lean_parser_module_header_parser_lean_parser_has__view___spec__1(obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___boxed(obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__22___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_module_header_has__view; -obj* l_lean_parser_module_commands_parser_has__view; -obj* l___private_init_lean_parser_module_1__commands__aux(uint8, obj*, obj*, obj*, obj*); obj* l_state__t_alternative___rarg(obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__1(obj*); -obj* l_lean_parser_module_parser___closed__1; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__5(obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___closed__2; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__3(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__3; obj* l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__2; obj* l_list_map___main___at_lean_parser_module_import__path_has__view_x_27___spec__2(obj*); +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___boxed(obj*); obj* l_lean_parser_module_import__path_has__view_x_27___lambda__1___closed__1; namespace lean { obj* string_iterator_remaining(obj*); } +namespace lean { +obj* string_mk_iterator(obj*); +} +obj* l_lean_parser_parse__header(obj*); extern obj* l_lean_parser_basic__parser__m_alternative; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__20___boxed(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__8(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import_parser(obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__7(obj*, obj*, obj*, obj*); obj* l_lean_parser_module__parser__m_lift__parser__t___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import__path_has__view_x_27___lambda__1(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__2(obj*, obj*); obj* l_string_trim(obj*); -obj* l_lean_parser_module_commands_parser___closed__1; obj* l_option_get___main___at_lean_parser_run___spec__2(obj*); +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_module__parser__m_basic__parser__m___boxed(obj*, obj*); obj* l_lean_parser_module__parser__m_lift__parser__t___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__14(obj*, obj*, obj*, obj*); -extern obj* l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__1___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_module_import_parser_lean_parser_has__tokens; -obj* l_lean_parser_parser__core__t_lean_parser_monad__parsec___rarg(obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__13(obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__2; obj* l_lean_parser_module_header_has__view_x_27___lambda__1(obj*); -obj* l_lean_parser_module_yield__command___lambda__4___boxed(obj*, obj*, obj*); +obj* l_lean_parser_parser__t_monad__except___rarg(obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__2___closed__1; -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__10(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__8(obj*, obj*, obj*); -obj* l_lean_parser_module_parser___lambda__7___boxed(obj*, obj*, obj*, obj*); +obj* l_id_bind___boxed(obj*, obj*); extern obj* l_lean_parser_parsec__t_monad__fail___rarg___closed__1; -obj* l_lean_parser_parser__core__t_alternative___rarg(obj*); obj* l_lean_parser_module_prelude_parser_lean_parser_has__view; +obj* l_lean_parser_resume__module__parser(obj*); obj* l_lean_parser_module_prelude_has__view_x_27___lambda__1(obj*); obj* l_lean_parser_module_import_has__view_x_27___lambda__1___closed__3; obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__5; -obj* l_lean_parser_module_yield__command___lambda__7(obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__4(obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__2(obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1(obj*, obj*); obj* l_lean_parser_module_header_parser___closed__1; obj* l_lean_parser_module__parser__m_basic__parser__m(obj*, obj*); obj* l_lean_parser_module_import__path_has__view; namespace lean { obj* nat_sub(obj*, obj*); } -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__4(obj*, obj*, obj*, obj*); -obj* l_lean_file__map_to__position(obj*, obj*); obj* l_lean_parser_module_import__path_parser(obj*, obj*, obj*); extern obj* l_lean_parser_basic__parser__m_lean_parser_monad__parsec; +obj* l_lean_parser_parser__t_lean_parser_monad__parsec___rarg(obj*); obj* l_dlist_singleton___rarg(obj*, obj*); extern obj* l_lean_parser_basic__parser__m_monad__except; obj* l_lean_parser_parsec__t_orelse__mk__res___rarg(obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__18(obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__3(obj*, obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__2(obj*, uint32, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__2; -obj* l_list_append___rarg(obj*, obj*); -obj* l_lean_parser_module_parser___lambda__6___closed__1; +obj* l___private_init_lean_parser_module_1__command__wrec__aux(uint8, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_module__parser__m_alternative; obj* l_lean_parser_module__parser__m; -obj* l_lean_parser_module_yield__command___lambda__11(obj*, obj*, obj*, obj*, obj*, obj*); extern obj* l_lean_parser_raw_view___rarg___lambda__2___closed__1; obj* l_lean_parser_module_header_has__view_x_27___lambda__1___closed__1; -obj* l_lean_parser_parser__core__t_monad__except___rarg(obj*); obj* l_list_map___main___at_lean_parser_module_import__path_has__view_x_27___spec__1(obj*); obj* l_lean_parser_substring_of__string(obj*); -obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___closed__1; -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2(obj*, obj*, obj*, obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__11(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__6(obj*, obj*, obj*, obj*); -obj* l_lean_parser_module_yield__command___lambda__6(obj*, obj*, obj*, obj*, obj*); -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1(obj*); +obj* l_id_monad___lambda__2___boxed(obj*, obj*, obj*, obj*); +obj* l___private_init_lean_parser_module_1__command__wrec__aux___main___boxed(obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_id_monad___lambda__3___boxed(obj*, obj*, obj*, obj*); obj* l_char_quote__core(uint32); -obj* l_lean_parser_module_parser___closed__2; -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__6(obj*, obj*, obj*); obj* l_lean_parser_module_header_has__view_x_27; obj* l_lean_parser_module_prelude_parser___closed__1; -obj* l_lean_parser_module_yield__command___lambda__1(obj*, obj*, obj*); obj* l_lean_parser_module_import__path_parser_lean_parser_has__tokens; obj* l_lean_parser_module__parser__m_lift__parser__t(obj*); -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__1; obj* l_lean_parser_module__parser__config__coe(obj* x_0) { _start: { @@ -364,122 +266,190 @@ return x_1; obj* _init_l_lean_parser_module__parser__m_monad() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); -x_2 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -x_3 = l_state__t_monad___rarg(x_2); -return x_3; +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; +x_0 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__1___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__2___boxed), 4, 0); +lean::inc(x_1); +lean::inc(x_0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +x_5 = lean::alloc_closure(reinterpret_cast(l_id___boxed), 1, 0); +x_6 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__3___boxed), 4, 0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_id_bind___boxed), 2, 0); +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_7); +lean::cnstr_set(x_9, 1, x_8); +x_10 = l_lean_parser_parser__t_monad___rarg(x_9); +x_11 = l_state__t_monad___rarg(x_10); +return x_11; } } obj* _init_l_lean_parser_module__parser__m_alternative() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); -x_2 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -x_3 = l_lean_parser_parser__core__t_alternative___rarg(x_0); -x_4 = l_state__t_alternative___rarg(x_2, x_3); -return x_4; +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; +x_0 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__1___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__2___boxed), 4, 0); +lean::inc(x_1); +lean::inc(x_0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +x_5 = lean::alloc_closure(reinterpret_cast(l_id___boxed), 1, 0); +x_6 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__3___boxed), 4, 0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_id_bind___boxed), 2, 0); +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_7); +lean::cnstr_set(x_9, 1, x_8); +lean::inc(x_9); +x_11 = l_lean_parser_parser__t_monad___rarg(x_9); +x_12 = l_lean_parser_parser__t_alternative___rarg(x_9); +x_13 = l_state__t_alternative___rarg(x_11, x_12); +return x_13; } } obj* _init_l_lean_parser_module__parser__m_monad__reader() { _start: { -obj* x_0; obj* x_1; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; +x_0 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__1___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__2___boxed), 4, 0); lean::inc(x_1); -x_3 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -x_4 = lean::alloc_closure(reinterpret_cast(l_coroutine_monad__reader___rarg), 1, 0); -x_5 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 3); -lean::closure_set(x_5, 0, x_0); -lean::closure_set(x_5, 1, lean::box(0)); -lean::closure_set(x_5, 2, x_4); -x_6 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_has__monad__lift___rarg___boxed), 5, 4); -lean::closure_set(x_6, 0, x_1); -lean::closure_set(x_6, 1, lean::box(0)); -lean::closure_set(x_6, 2, lean::box(0)); -lean::closure_set(x_6, 3, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 3); -lean::closure_set(x_7, 0, x_3); -lean::closure_set(x_7, 1, lean::box(0)); -lean::closure_set(x_7, 2, x_6); -return x_7; +lean::inc(x_0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +x_5 = lean::alloc_closure(reinterpret_cast(l_id___boxed), 1, 0); +x_6 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__3___boxed), 4, 0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_id_bind___boxed), 2, 0); +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_7); +lean::cnstr_set(x_9, 1, x_8); +lean::inc(x_9); +x_11 = l_lean_parser_parser__t_monad___rarg(x_9); +x_12 = l_lean_parser_parser__t_monad__reader___rarg(x_9); +x_13 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 3); +lean::closure_set(x_13, 0, x_11); +lean::closure_set(x_13, 1, lean::box(0)); +lean::closure_set(x_13, 2, x_12); +return x_13; } } obj* _init_l_lean_parser_module__parser__m_monad__state() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); -x_2 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -x_3 = l_state__t_monad__state___rarg(x_2); -return x_3; +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; +x_0 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__1___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__2___boxed), 4, 0); +lean::inc(x_1); +lean::inc(x_0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +x_5 = lean::alloc_closure(reinterpret_cast(l_id___boxed), 1, 0); +x_6 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__3___boxed), 4, 0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_id_bind___boxed), 2, 0); +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_7); +lean::cnstr_set(x_9, 1, x_8); +x_10 = l_lean_parser_parser__t_monad___rarg(x_9); +x_11 = l_state__t_monad__state___rarg(x_10); +return x_11; } } obj* _init_l_lean_parser_module__parser__m_lean_parser_monad__parsec() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_8; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); -x_2 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -lean::inc(x_2); -x_4 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 1); -lean::closure_set(x_4, 0, x_2); -lean::inc(x_2); -x_6 = lean::alloc_closure(reinterpret_cast(l_state__t_monad__functor___boxed), 6, 5); -lean::closure_set(x_6, 0, lean::box(0)); -lean::closure_set(x_6, 1, lean::box(0)); -lean::closure_set(x_6, 2, lean::box(0)); -lean::closure_set(x_6, 3, x_2); -lean::closure_set(x_6, 4, x_2); -x_7 = l_lean_parser_parser__core__t_lean_parser_monad__parsec___rarg(x_0); -x_8 = l_lean_parser_monad__parsec__trans___rarg(x_4, x_6, x_7); -return x_8; +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_11; obj* x_13; obj* x_15; obj* x_16; obj* x_17; +x_0 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__1___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__2___boxed), 4, 0); +lean::inc(x_1); +lean::inc(x_0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +x_5 = lean::alloc_closure(reinterpret_cast(l_id___boxed), 1, 0); +x_6 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__3___boxed), 4, 0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_id_bind___boxed), 2, 0); +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_7); +lean::cnstr_set(x_9, 1, x_8); +lean::inc(x_9); +x_11 = l_lean_parser_parser__t_monad___rarg(x_9); +lean::inc(x_11); +x_13 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 1); +lean::closure_set(x_13, 0, x_11); +lean::inc(x_11); +x_15 = lean::alloc_closure(reinterpret_cast(l_state__t_monad__functor___boxed), 6, 5); +lean::closure_set(x_15, 0, lean::box(0)); +lean::closure_set(x_15, 1, lean::box(0)); +lean::closure_set(x_15, 2, lean::box(0)); +lean::closure_set(x_15, 3, x_11); +lean::closure_set(x_15, 4, x_11); +x_16 = l_lean_parser_parser__t_lean_parser_monad__parsec___rarg(x_9); +x_17 = l_lean_parser_monad__parsec__trans___rarg(x_13, x_15, x_16); +return x_17; } } obj* _init_l_lean_parser_module__parser__m_monad__except() { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); -x_2 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -x_3 = l_lean_parser_parser__core__t_monad__except___rarg(x_0); -x_4 = l_state__t_monad__except___rarg(x_2, lean::box(0), x_3); -return x_4; -} -} -obj* _init_l_lean_parser_module__parser__m_monad__coroutine() { -_start: -{ -obj* x_0; obj* x_1; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10; -x_0 = l_coroutine_monad___closed__1; -x_1 = l_state__t_monad___rarg(x_0); +obj* x_0; obj* x_1; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; +x_0 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__1___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__2___boxed), 4, 0); lean::inc(x_1); -x_3 = l_lean_parser_parsec__t_monad_x_27___rarg(x_1, lean::box(0)); -x_4 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 1); -lean::closure_set(x_4, 0, x_3); -x_5 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_has__monad__lift___rarg___boxed), 5, 2); -lean::closure_set(x_5, 0, x_1); -lean::closure_set(x_5, 1, lean::box(0)); -x_6 = lean::alloc_closure(reinterpret_cast(l_state__t_lift___rarg___boxed), 4, 1); -lean::closure_set(x_6, 0, x_0); -x_7 = lean::alloc_closure(reinterpret_cast(l_coroutine_yield___rarg___boxed), 2, 0); -x_8 = lean::alloc_closure(reinterpret_cast(l_monad__coroutine__trans___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -x_9 = lean::alloc_closure(reinterpret_cast(l_monad__coroutine__trans___rarg), 3, 2); -lean::closure_set(x_9, 0, x_5); -lean::closure_set(x_9, 1, x_8); -x_10 = lean::alloc_closure(reinterpret_cast(l_monad__coroutine__trans___rarg), 3, 2); -lean::closure_set(x_10, 0, x_4); -lean::closure_set(x_10, 1, x_9); -return x_10; +lean::inc(x_0); +x_4 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_4, 0, x_0); +lean::cnstr_set(x_4, 1, x_1); +x_5 = lean::alloc_closure(reinterpret_cast(l_id___boxed), 1, 0); +x_6 = lean::alloc_closure(reinterpret_cast(l_id_monad___lambda__3___boxed), 4, 0); +x_7 = lean::alloc_cnstr(0, 5, 0); +lean::cnstr_set(x_7, 0, x_4); +lean::cnstr_set(x_7, 1, x_5); +lean::cnstr_set(x_7, 2, x_0); +lean::cnstr_set(x_7, 3, x_1); +lean::cnstr_set(x_7, 4, x_6); +x_8 = lean::alloc_closure(reinterpret_cast(l_id_bind___boxed), 2, 0); +x_9 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_9, 0, x_7); +lean::cnstr_set(x_9, 1, x_8); +lean::inc(x_9); +x_11 = l_lean_parser_parser__t_monad___rarg(x_9); +x_12 = l_lean_parser_parser__t_monad__except___rarg(x_9); +x_13 = l_state__t_monad__except___rarg(x_11, lean::box(0), x_12); +return x_13; } } obj* _init_l_lean_parser_module__parser__m() { @@ -502,13 +472,13 @@ obj* l_lean_parser_module__parser__m_lift__parser__t___rarg(obj* x_0, obj* x_1, _start: { obj* x_7; obj* x_8; obj* x_9; -x_7 = lean::apply_1(x_0, x_6); -x_8 = lean::apply_3(x_2, x_7, x_4, x_5); +x_7 = lean::apply_1(x_0, x_4); +x_8 = lean::apply_3(x_2, x_7, x_5, x_6); x_9 = lean::cnstr_get(x_8, 0); lean::inc(x_9); if (lean::obj_tag(x_9) == 0) { -obj* x_11; obj* x_13; obj* x_14; obj* x_16; obj* x_18; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; +obj* x_11; obj* x_13; obj* x_14; obj* x_16; obj* x_18; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; x_11 = lean::cnstr_get(x_8, 1); if (lean::is_exclusive(x_8)) { lean::cnstr_release(x_8, 0); @@ -550,50 +520,46 @@ x_24 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_18, x_23); x_25 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_25, 0, x_24); lean::cnstr_set(x_25, 1, x_11); -x_26 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_26, 0, x_25); -return x_26; +return x_25; } else { -obj* x_28; obj* x_30; obj* x_31; uint8 x_33; obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_38; +obj* x_27; obj* x_29; obj* x_30; uint8 x_32; obj* x_33; obj* x_34; obj* x_35; obj* x_36; lean::dec(x_3); -x_28 = lean::cnstr_get(x_8, 1); +x_27 = lean::cnstr_get(x_8, 1); if (lean::is_exclusive(x_8)) { lean::cnstr_release(x_8, 0); - x_30 = x_8; + x_29 = x_8; } else { - lean::inc(x_28); + lean::inc(x_27); lean::dec(x_8); - x_30 = lean::box(0); + x_29 = lean::box(0); } -x_31 = lean::cnstr_get(x_9, 0); -x_33 = lean::cnstr_get_scalar(x_9, sizeof(void*)*1); +x_30 = lean::cnstr_get(x_9, 0); +x_32 = lean::cnstr_get_scalar(x_9, sizeof(void*)*1); if (lean::is_exclusive(x_9)) { - x_34 = x_9; + x_33 = x_9; } else { - lean::inc(x_31); + lean::inc(x_30); lean::dec(x_9); - x_34 = lean::box(0); + x_33 = lean::box(0); } -if (lean::is_scalar(x_34)) { - x_35 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_33)) { + x_34 = lean::alloc_cnstr(1, 1, 1); } else { - x_35 = x_34; + x_34 = x_33; } -lean::cnstr_set(x_35, 0, x_31); -lean::cnstr_set_scalar(x_35, sizeof(void*)*1, x_33); -x_36 = x_35; -if (lean::is_scalar(x_30)) { - x_37 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_34, 0, x_30); +lean::cnstr_set_scalar(x_34, sizeof(void*)*1, x_32); +x_35 = x_34; +if (lean::is_scalar(x_29)) { + x_36 = lean::alloc_cnstr(0, 2, 0); } else { - x_37 = x_30; + x_36 = x_29; } -lean::cnstr_set(x_37, 0, x_36); -lean::cnstr_set(x_37, 1, x_28); -x_38 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_38, 0, x_37); -return x_38; +lean::cnstr_set(x_36, 0, x_35); +lean::cnstr_set(x_36, 1, x_27); +return x_36; } } } @@ -659,1125 +625,6 @@ lean::dec(x_1); return x_2; } } -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_2, 0, x_0); -return x_2; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__2(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_6; obj* x_7; obj* x_9; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_15; obj* x_16; -x_4 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_6 = x_1; -} else { - lean::inc(x_4); - lean::dec(x_1); - x_6 = lean::box(0); -} -x_7 = lean::cnstr_get(x_2, 0); -x_9 = lean::cnstr_get(x_2, 1); -if (lean::is_exclusive(x_2)) { - lean::cnstr_release(x_2, 2); - x_11 = x_2; -} else { - lean::inc(x_7); - lean::inc(x_9); - lean::dec(x_2); - x_11 = lean::box(0); -} -x_12 = lean::apply_1(x_0, x_7); -x_13 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_11)) { - x_14 = lean::alloc_cnstr(0, 3, 0); -} else { - x_14 = x_11; -} -lean::cnstr_set(x_14, 0, x_12); -lean::cnstr_set(x_14, 1, x_9); -lean::cnstr_set(x_14, 2, x_13); -if (lean::is_scalar(x_6)) { - x_15 = lean::alloc_cnstr(0, 2, 0); -} else { - x_15 = x_6; -} -lean::cnstr_set(x_15, 0, x_14); -lean::cnstr_set(x_15, 1, x_4); -x_16 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_16, 0, x_15); -return x_16; -} -else -{ -obj* x_18; obj* x_20; obj* x_21; uint8 x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28; -lean::dec(x_0); -x_18 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_20 = x_1; -} else { - lean::inc(x_18); - lean::dec(x_1); - x_20 = lean::box(0); -} -x_21 = lean::cnstr_get(x_2, 0); -x_23 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (lean::is_exclusive(x_2)) { - x_24 = x_2; -} else { - lean::inc(x_21); - lean::dec(x_2); - x_24 = lean::box(0); -} -if (lean::is_scalar(x_24)) { - x_25 = lean::alloc_cnstr(1, 1, 1); -} else { - x_25 = x_24; -} -lean::cnstr_set(x_25, 0, x_21); -lean::cnstr_set_scalar(x_25, sizeof(void*)*1, x_23); -x_26 = x_25; -if (lean::is_scalar(x_20)) { - x_27 = lean::alloc_cnstr(0, 2, 0); -} else { - x_27 = x_20; -} -lean::cnstr_set(x_27, 0, x_26); -lean::cnstr_set(x_27, 1, x_18); -x_28 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_28, 0, x_27); -return x_28; -} -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_8; -x_6 = lean::apply_2(x_3, x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__2), 2, 1); -lean::closure_set(x_7, 0, x_2); -x_8 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -return x_8; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__4(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_6; obj* x_7; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_4 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_6 = x_1; -} else { - lean::inc(x_4); - lean::dec(x_1); - x_6 = lean::box(0); -} -x_7 = lean::cnstr_get(x_2, 1); -if (lean::is_exclusive(x_2)) { - lean::cnstr_release(x_2, 0); - lean::cnstr_release(x_2, 2); - x_9 = x_2; -} else { - lean::inc(x_7); - lean::dec(x_2); - x_9 = lean::box(0); -} -x_10 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_9)) { - x_11 = lean::alloc_cnstr(0, 3, 0); -} else { - x_11 = x_9; -} -lean::cnstr_set(x_11, 0, x_0); -lean::cnstr_set(x_11, 1, x_7); -lean::cnstr_set(x_11, 2, x_10); -if (lean::is_scalar(x_6)) { - x_12 = lean::alloc_cnstr(0, 2, 0); -} else { - x_12 = x_6; -} -lean::cnstr_set(x_12, 0, x_11); -lean::cnstr_set(x_12, 1, x_4); -x_13 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_13, 0, x_12); -return x_13; -} -else -{ -obj* x_15; obj* x_17; obj* x_18; uint8 x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; -lean::dec(x_0); -x_15 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_17 = x_1; -} else { - lean::inc(x_15); - lean::dec(x_1); - x_17 = lean::box(0); -} -x_18 = lean::cnstr_get(x_2, 0); -x_20 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (lean::is_exclusive(x_2)) { - x_21 = x_2; -} else { - lean::inc(x_18); - lean::dec(x_2); - x_21 = lean::box(0); -} -if (lean::is_scalar(x_21)) { - x_22 = lean::alloc_cnstr(1, 1, 1); -} else { - x_22 = x_21; -} -lean::cnstr_set(x_22, 0, x_18); -lean::cnstr_set_scalar(x_22, sizeof(void*)*1, x_20); -x_23 = x_22; -if (lean::is_scalar(x_17)) { - x_24 = lean::alloc_cnstr(0, 2, 0); -} else { - x_24 = x_17; -} -lean::cnstr_set(x_24, 0, x_23); -lean::cnstr_set(x_24, 1, x_15); -x_25 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_25, 0, x_24); -return x_25; -} -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__5(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_8; -x_6 = lean::apply_2(x_3, x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__4), 2, 1); -lean::closure_set(x_7, 0, x_2); -x_8 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -return x_8; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__6(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_6; obj* x_7; -x_4 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_5 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_5, 0, x_1); -lean::cnstr_set(x_5, 1, x_2); -lean::cnstr_set(x_5, 2, x_4); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_5); -lean::cnstr_set(x_6, 1, x_3); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_7, 0, x_6); -return x_7; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__7(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_7; obj* x_9; obj* x_12; obj* x_13; obj* x_14; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_2, 0); -lean::inc(x_7); -x_9 = lean::cnstr_get(x_2, 1); -lean::inc(x_9); -lean::dec(x_2); -x_12 = lean::apply_2(x_0, x_9, x_4); -x_13 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__2), 2, 1); -lean::closure_set(x_13, 0, x_7); -x_14 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_14, 0, x_12); -lean::closure_set(x_14, 1, x_13); -return x_14; -} -else -{ -obj* x_16; obj* x_18; obj* x_19; uint8 x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; -lean::dec(x_0); -x_16 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_18 = x_1; -} else { - lean::inc(x_16); - lean::dec(x_1); - x_18 = lean::box(0); -} -x_19 = lean::cnstr_get(x_2, 0); -x_21 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (lean::is_exclusive(x_2)) { - x_22 = x_2; -} else { - lean::inc(x_19); - lean::dec(x_2); - x_22 = lean::box(0); -} -if (lean::is_scalar(x_22)) { - x_23 = lean::alloc_cnstr(1, 1, 1); -} else { - x_23 = x_22; -} -lean::cnstr_set(x_23, 0, x_19); -lean::cnstr_set_scalar(x_23, sizeof(void*)*1, x_21); -x_24 = x_23; -if (lean::is_scalar(x_18)) { - x_25 = lean::alloc_cnstr(0, 2, 0); -} else { - x_25 = x_18; -} -lean::cnstr_set(x_25, 0, x_24); -lean::cnstr_set(x_25, 1, x_16); -x_26 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_26, 0, x_25); -return x_26; -} -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__8(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_8; -x_6 = lean::apply_2(x_2, x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__7), 2, 1); -lean::closure_set(x_7, 0, x_3); -x_8 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -return x_8; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__9(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_7; obj* x_9; obj* x_12; obj* x_13; obj* x_14; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_2, 0); -lean::inc(x_7); -x_9 = lean::cnstr_get(x_2, 1); -lean::inc(x_9); -lean::dec(x_2); -x_12 = lean::apply_2(x_0, x_9, x_4); -x_13 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__4), 2, 1); -lean::closure_set(x_13, 0, x_7); -x_14 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_14, 0, x_12); -lean::closure_set(x_14, 1, x_13); -return x_14; -} -else -{ -obj* x_16; obj* x_18; obj* x_19; uint8 x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; -lean::dec(x_0); -x_16 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_18 = x_1; -} else { - lean::inc(x_16); - lean::dec(x_1); - x_18 = lean::box(0); -} -x_19 = lean::cnstr_get(x_2, 0); -x_21 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (lean::is_exclusive(x_2)) { - x_22 = x_2; -} else { - lean::inc(x_19); - lean::dec(x_2); - x_22 = lean::box(0); -} -if (lean::is_scalar(x_22)) { - x_23 = lean::alloc_cnstr(1, 1, 1); -} else { - x_23 = x_22; -} -lean::cnstr_set(x_23, 0, x_19); -lean::cnstr_set_scalar(x_23, sizeof(void*)*1, x_21); -x_24 = x_23; -if (lean::is_scalar(x_18)) { - x_25 = lean::alloc_cnstr(0, 2, 0); -} else { - x_25 = x_18; -} -lean::cnstr_set(x_25, 0, x_24); -lean::cnstr_set(x_25, 1, x_16); -x_26 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_26, 0, x_25); -return x_26; -} -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__10(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_8; -x_6 = lean::apply_2(x_2, x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__9), 2, 1); -lean::closure_set(x_7, 0, x_3); -x_8 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -return x_8; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__11(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_7; obj* x_10; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_2, 1); -lean::inc(x_7); -lean::dec(x_2); -x_10 = lean::apply_2(x_0, x_7, x_4); -return x_10; -} -else -{ -obj* x_12; obj* x_14; obj* x_15; uint8 x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; -lean::dec(x_0); -x_12 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_14 = x_1; -} else { - lean::inc(x_12); - lean::dec(x_1); - x_14 = lean::box(0); -} -x_15 = lean::cnstr_get(x_2, 0); -x_17 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (lean::is_exclusive(x_2)) { - x_18 = x_2; -} else { - lean::inc(x_15); - lean::dec(x_2); - x_18 = lean::box(0); -} -if (lean::is_scalar(x_18)) { - x_19 = lean::alloc_cnstr(1, 1, 1); -} else { - x_19 = x_18; -} -lean::cnstr_set(x_19, 0, x_15); -lean::cnstr_set_scalar(x_19, sizeof(void*)*1, x_17); -x_20 = x_19; -if (lean::is_scalar(x_14)) { - x_21 = lean::alloc_cnstr(0, 2, 0); -} else { - x_21 = x_14; -} -lean::cnstr_set(x_21, 0, x_20); -lean::cnstr_set(x_21, 1, x_12); -x_22 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_22, 0, x_21); -return x_22; -} -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__12(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_8; -x_6 = lean::apply_2(x_2, x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__11), 2, 1); -lean::closure_set(x_7, 0, x_3); -x_8 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -return x_8; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__13(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_7; obj* x_9; obj* x_12; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_2, 0); -lean::inc(x_7); -x_9 = lean::cnstr_get(x_2, 1); -lean::inc(x_9); -lean::dec(x_2); -x_12 = lean::apply_3(x_0, x_7, x_9, x_4); -return x_12; -} -else -{ -obj* x_14; obj* x_16; obj* x_17; uint8 x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -lean::dec(x_0); -x_14 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_16 = x_1; -} else { - lean::inc(x_14); - lean::dec(x_1); - x_16 = lean::box(0); -} -x_17 = lean::cnstr_get(x_2, 0); -x_19 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (lean::is_exclusive(x_2)) { - x_20 = x_2; -} else { - lean::inc(x_17); - lean::dec(x_2); - x_20 = lean::box(0); -} -if (lean::is_scalar(x_20)) { - x_21 = lean::alloc_cnstr(1, 1, 1); -} else { - x_21 = x_20; -} -lean::cnstr_set(x_21, 0, x_17); -lean::cnstr_set_scalar(x_21, sizeof(void*)*1, x_19); -x_22 = x_21; -if (lean::is_scalar(x_16)) { - x_23 = lean::alloc_cnstr(0, 2, 0); -} else { - x_23 = x_16; -} -lean::cnstr_set(x_23, 0, x_22); -lean::cnstr_set(x_23, 1, x_14); -x_24 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_24, 0, x_23); -return x_24; -} -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__14(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_8; -x_6 = lean::apply_2(x_2, x_4, x_5); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__13), 2, 1); -lean::closure_set(x_7, 0, x_3); -x_8 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_8, 0, x_6); -lean::closure_set(x_8, 1, x_7); -return x_8; -} -} -obj* _init_l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__3___boxed), 6, 0); -x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__5___boxed), 6, 0); -x_2 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_2, 0, x_0); -lean::cnstr_set(x_2, 1, x_1); -x_3 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__6___boxed), 4, 0); -x_4 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__8___boxed), 6, 0); -x_5 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__10___boxed), 6, 0); -x_6 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__12___boxed), 6, 0); -x_7 = lean::alloc_cnstr(0, 5, 0); -lean::cnstr_set(x_7, 0, x_2); -lean::cnstr_set(x_7, 1, x_3); -lean::cnstr_set(x_7, 2, x_4); -lean::cnstr_set(x_7, 3, x_5); -lean::cnstr_set(x_7, 4, x_6); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__14___boxed), 6, 0); -x_9 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_9, 0, x_7); -lean::cnstr_set(x_9, 1, x_8); -return x_9; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -return x_1; -} -} -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__1(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; obj* x_4; obj* x_5; obj* x_6; -x_2 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -lean::inc(x_0); -x_4 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_4, 0, x_0); -lean::cnstr_set(x_4, 1, x_0); -lean::cnstr_set(x_4, 2, x_2); -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_4); -lean::cnstr_set(x_5, 1, x_1); -x_6 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_6, 0, x_5); -return x_6; -} -} -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_8; obj* x_11; obj* x_12; -x_5 = lean::cnstr_get(x_0, 0); -lean::inc(x_5); -lean::dec(x_0); -x_8 = lean::cnstr_get(x_5, 1); -lean::inc(x_8); -lean::dec(x_5); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_2); -lean::cnstr_set(x_11, 1, x_1); -x_12 = lean::apply_4(x_8, lean::box(0), x_11, x_3, x_4); -return x_12; -} -} -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_11; obj* x_14; obj* x_17; obj* x_18; -x_4 = lean::cnstr_get(x_1, 0); -x_6 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - x_8 = x_1; -} else { - lean::inc(x_4); - lean::inc(x_6); - lean::dec(x_1); - x_8 = lean::box(0); -} -x_9 = lean::string_iterator_offset(x_4); -lean::dec(x_4); -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = lean::cnstr_get(x_11, 1); -lean::inc(x_14); -lean::dec(x_11); -if (lean::is_scalar(x_8)) { - x_17 = lean::alloc_cnstr(0, 2, 0); -} else { - x_17 = x_8; -} -lean::cnstr_set(x_17, 0, x_9); -lean::cnstr_set(x_17, 1, x_6); -x_18 = lean::apply_4(x_14, lean::box(0), x_17, x_2, x_3); -return x_18; -} -} -obj* _init_l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1() { -_start: -{ -obj* x_0; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -return x_0; -} -} -obj* _init_l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__1), 2, 0); -return x_0; -} -} -obj* _init_l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__3() { -_start: -{ -obj* x_0; obj* x_1; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__3), 4, 1); -lean::closure_set(x_1, 0, x_0); -return x_1; -} -} -obj* l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_4; obj* x_7; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; -x_3 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_4 = lean::cnstr_get(x_3, 1); -lean::inc(x_4); -lean::dec(x_3); -x_7 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1; -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__2), 5, 2); -lean::closure_set(x_8, 0, x_7); -lean::closure_set(x_8, 1, x_0); -x_9 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; -lean::inc(x_4); -x_11 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_9, x_8); -x_12 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__3; -x_13 = lean::apply_6(x_4, lean::box(0), lean::box(0), x_11, x_12, x_1, x_2); -return x_13; -} -} -obj* l_lean_parser_module_yield__command___lambda__1(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_4; obj* x_5; obj* x_6; -x_3 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_4 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_4, 0, x_2); -lean::cnstr_set(x_4, 1, x_0); -lean::cnstr_set(x_4, 2, x_3); -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_4); -lean::cnstr_set(x_5, 1, x_1); -x_6 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_6, 0, x_5); -return x_6; -} -} -obj* l_lean_parser_module_yield__command___lambda__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; -lean::inc(x_2); -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_2); -lean::cnstr_set(x_5, 1, x_0); -x_6 = l_lean_parser_finish__comment__block___closed__2; -x_7 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_7, 0, x_5); -lean::cnstr_set(x_7, 1, x_1); -lean::cnstr_set(x_7, 2, x_6); -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_7); -lean::cnstr_set(x_8, 1, x_2); -x_9 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_9, 0, x_8); -return x_9; -} -} -obj* l_lean_parser_module_yield__command___lambda__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_7; obj* x_9; obj* x_10; obj* x_11; obj* x_12; -x_5 = lean::cnstr_get(x_2, 0); -x_7 = lean::cnstr_get(x_2, 1); -if (lean::is_exclusive(x_2)) { - x_9 = x_2; -} else { - lean::inc(x_5); - lean::inc(x_7); - lean::dec(x_2); - x_9 = lean::box(0); -} -x_10 = l_lean_file__map_to__position(x_0, x_5); -if (lean::is_scalar(x_9)) { - x_11 = lean::alloc_cnstr(0, 2, 0); -} else { - x_11 = x_9; -} -lean::cnstr_set(x_11, 0, x_10); -lean::cnstr_set(x_11, 1, x_7); -x_12 = lean::apply_4(x_1, lean::box(0), x_11, x_3, x_4); -return x_12; -} -} -obj* l_lean_parser_module_yield__command___lambda__4(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; -x_3 = lean::box(0); -x_4 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -x_5 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_5, 0, x_3); -lean::cnstr_set(x_5, 1, x_0); -lean::cnstr_set(x_5, 2, x_4); -x_6 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_6, 0, x_5); -lean::cnstr_set(x_6, 1, x_1); -x_7 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_7, 0, x_6); -return x_7; -} -} -obj* l_lean_parser_module_yield__command___lambda__5(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; -x_4 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__4___boxed), 3, 2); -lean::closure_set(x_4, 0, x_1); -lean::closure_set(x_4, 1, x_2); -x_5 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_5, 0, x_0); -lean::cnstr_set(x_5, 1, x_4); -return x_5; -} -} -obj* l_lean_parser_module_yield__command___lambda__6(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_6; -x_5 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_5, 0, x_2); -lean::cnstr_set(x_5, 1, x_0); -x_6 = lean::apply_4(x_1, lean::box(0), x_5, x_3, x_4); -return x_6; -} -} -obj* _init_l_lean_parser_module_yield__command___lambda__7___closed__1() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; -x_0 = lean::box(0); -x_1 = l_lean_message__log_empty; -x_2 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_2, 0, x_0); -lean::cnstr_set(x_2, 1, x_1); -return x_2; -} -} -obj* l_lean_parser_module_yield__command___lambda__7(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; -x_4 = l_lean_parser_module_yield__command___lambda__7___closed__1; -x_5 = lean::apply_4(x_0, lean::box(0), x_4, x_2, x_3); -return x_5; -} -} -obj* l_lean_parser_module_yield__command___lambda__8(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) { -_start: -{ -obj* x_8; obj* x_10; obj* x_13; obj* x_14; obj* x_16; obj* x_18; obj* x_19; obj* x_20; -x_8 = lean::cnstr_get(x_5, 0); -lean::inc(x_8); -x_10 = lean::cnstr_get(x_5, 1); -lean::inc(x_10); -lean::dec(x_5); -x_13 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_13, 0, x_0); -lean::cnstr_set(x_13, 1, x_1); -lean::cnstr_set(x_13, 2, x_2); -lean::cnstr_set(x_13, 3, x_8); -x_14 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__5___boxed), 4, 1); -lean::closure_set(x_14, 0, x_13); -lean::inc(x_3); -x_16 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__6), 5, 2); -lean::closure_set(x_16, 0, x_10); -lean::closure_set(x_16, 1, x_3); -lean::inc(x_4); -x_18 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_14, x_16); -x_19 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__7___boxed), 4, 1); -lean::closure_set(x_19, 0, x_3); -x_20 = lean::apply_6(x_4, lean::box(0), lean::box(0), x_18, x_19, x_6, x_7); -return x_20; -} -} -obj* l_lean_parser_module_yield__command___lambda__9(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) { -_start: -{ -obj* x_8; obj* x_10; obj* x_13; obj* x_16; obj* x_19; obj* x_22; obj* x_25; obj* x_27; obj* x_29; obj* x_31; obj* x_32; -x_8 = lean::cnstr_get(x_5, 0); -lean::inc(x_8); -x_10 = lean::cnstr_get(x_5, 1); -lean::inc(x_10); -lean::dec(x_5); -x_13 = lean::cnstr_get(x_0, 0); -lean::inc(x_13); -lean::dec(x_0); -x_16 = lean::cnstr_get(x_13, 0); -lean::inc(x_16); -lean::dec(x_13); -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::cnstr_get(x_19, 2); -lean::inc(x_22); -lean::dec(x_19); -x_25 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2), 3, 1); -lean::closure_set(x_25, 0, x_10); -lean::inc(x_1); -x_27 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__3), 5, 2); -lean::closure_set(x_27, 0, x_22); -lean::closure_set(x_27, 1, x_1); -lean::inc(x_2); -x_29 = lean::apply_4(x_2, lean::box(0), lean::box(0), x_25, x_27); -lean::inc(x_2); -x_31 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__8), 8, 5); -lean::closure_set(x_31, 0, x_3); -lean::closure_set(x_31, 1, x_4); -lean::closure_set(x_31, 2, x_8); -lean::closure_set(x_31, 3, x_1); -lean::closure_set(x_31, 4, x_2); -x_32 = lean::apply_6(x_2, lean::box(0), lean::box(0), x_29, x_31, x_6, x_7); -return x_32; -} -} -obj* l_lean_parser_module_yield__command___lambda__10(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -obj* x_7; obj* x_9; obj* x_12; obj* x_14; obj* x_15; -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -x_9 = lean::cnstr_get(x_4, 1); -lean::inc(x_9); -lean::dec(x_4); -x_12 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__2___boxed), 4, 1); -lean::closure_set(x_12, 0, x_9); -lean::inc(x_2); -x_14 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__9), 8, 5); -lean::closure_set(x_14, 0, x_0); -lean::closure_set(x_14, 1, x_1); -lean::closure_set(x_14, 2, x_2); -lean::closure_set(x_14, 3, x_3); -lean::closure_set(x_14, 4, x_7); -x_15 = lean::apply_6(x_2, lean::box(0), lean::box(0), x_12, x_14, x_5, x_6); -return x_15; -} -} -obj* l_lean_parser_module_yield__command___lambda__11(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_8; obj* x_10; obj* x_11; obj* x_14; obj* x_18; obj* x_20; obj* x_22; obj* x_23; -x_6 = lean::cnstr_get(x_3, 0); -x_8 = lean::cnstr_get(x_3, 1); -if (lean::is_exclusive(x_3)) { - x_10 = x_3; -} else { - lean::inc(x_6); - lean::inc(x_8); - lean::dec(x_3); - x_10 = lean::box(0); -} -x_11 = lean::cnstr_get(x_0, 0); -lean::inc(x_11); -lean::dec(x_0); -x_14 = lean::cnstr_get(x_11, 1); -lean::inc(x_14); -lean::dec(x_11); -lean::inc(x_8); -if (lean::is_scalar(x_10)) { - x_18 = lean::alloc_cnstr(0, 2, 0); -} else { - x_18 = x_10; -} -lean::cnstr_set(x_18, 0, x_8); -lean::cnstr_set(x_18, 1, x_8); -lean::inc(x_14); -x_20 = lean::apply_2(x_14, lean::box(0), x_18); -lean::inc(x_1); -x_22 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__10), 7, 4); -lean::closure_set(x_22, 0, x_6); -lean::closure_set(x_22, 1, x_14); -lean::closure_set(x_22, 2, x_1); -lean::closure_set(x_22, 3, x_2); -x_23 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_20, x_22, x_4, x_5); -return x_23; -} -} -obj* _init_l_lean_parser_module_yield__command___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__1), 3, 0); -return x_0; -} -} -obj* _init_l_lean_parser_module_yield__command___closed__2() { -_start: -{ -obj* x_0; obj* x_1; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_1 = lean::cnstr_get(x_0, 1); -lean::inc(x_1); -lean::dec(x_0); -return x_1; -} -} -obj* l_lean_parser_module_yield__command(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_8; obj* x_9; obj* x_10; obj* x_12; obj* x_13; obj* x_14; obj* x_15; -x_4 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_5 = lean::cnstr_get(x_4, 1); -lean::inc(x_5); -lean::dec(x_4); -x_8 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1; -x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___lambda__2), 5, 2); -lean::closure_set(x_9, 0, x_8); -lean::closure_set(x_9, 1, x_1); -x_10 = l_lean_parser_module_yield__command___closed__1; -lean::inc(x_5); -x_12 = lean::apply_4(x_5, lean::box(0), lean::box(0), x_10, x_9); -x_13 = l_lean_parser_module_yield__command___closed__2; -x_14 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command___lambda__11), 6, 3); -lean::closure_set(x_14, 0, x_8); -lean::closure_set(x_14, 1, x_13); -lean::closure_set(x_14, 2, x_0); -x_15 = lean::apply_6(x_5, lean::box(0), lean::box(0), x_12, x_14, x_2, x_3); -return x_15; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1(x_0, x_1); -lean::dec(x_1); -return x_2; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__3___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__3(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__5___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__5(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__6___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; -x_4 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__6(x_0, x_1, x_2, x_3); -lean::dec(x_0); -return x_4; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__8___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__8(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__10___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__10(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__12___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__12(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__14___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__14(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___boxed(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1(x_0); -lean::dec(x_0); -return x_1; -} -} -obj* l_lean_parser_module_yield__command___lambda__2___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; -x_4 = l_lean_parser_module_yield__command___lambda__2(x_0, x_1, x_2, x_3); -lean::dec(x_3); -return x_4; -} -} -obj* l_lean_parser_module_yield__command___lambda__4___boxed(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; -x_3 = l_lean_parser_module_yield__command___lambda__4(x_0, x_1, x_2); -lean::dec(x_2); -return x_3; -} -} -obj* l_lean_parser_module_yield__command___lambda__5___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; -x_4 = l_lean_parser_module_yield__command___lambda__5(x_0, x_1, x_2, x_3); -lean::dec(x_3); -return x_4; -} -} -obj* l_lean_parser_module_yield__command___lambda__7___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; -x_4 = l_lean_parser_module_yield__command___lambda__7(x_0, x_1, x_2, x_3); -lean::dec(x_1); -return x_4; -} -} obj* _init_l_lean_parser_module_prelude() { _start: { @@ -4420,1739 +3267,6 @@ x_5 = l_lean_parser_combinators_node___at_lean_parser_detail__ident__part_parser return x_5; } } -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; uint8 x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; -x_6 = l_option_get__or__else___main___rarg(x_0, x_4); -x_7 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_7, 0, x_6); -lean::cnstr_set(x_7, 1, x_1); -lean::cnstr_set(x_7, 2, x_2); -lean::cnstr_set(x_7, 3, x_3); -x_8 = 0; -x_9 = lean::alloc_cnstr(1, 1, 1); -lean::cnstr_set(x_9, 0, x_7); -lean::cnstr_set_scalar(x_9, sizeof(void*)*1, x_8); -x_10 = x_9; -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_10); -lean::cnstr_set(x_11, 1, x_5); -x_12 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_12, 0, x_11); -return x_12; -} -} -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_8; obj* x_11; obj* x_12; -x_4 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_5 = lean::cnstr_get(x_4, 0); -lean::inc(x_5); -lean::dec(x_4); -x_8 = lean::cnstr_get(x_5, 1); -lean::inc(x_8); -lean::dec(x_5); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_1); -lean::cnstr_set(x_11, 1, x_0); -x_12 = lean::apply_4(x_8, lean::box(0), x_11, x_2, x_3); -return x_12; -} -} -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -obj* x_7; obj* x_8; obj* x_9; obj* x_12; obj* x_13; -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__1___boxed), 6, 4); -lean::closure_set(x_7, 0, x_2); -lean::closure_set(x_7, 1, x_0); -lean::closure_set(x_7, 2, x_1); -lean::closure_set(x_7, 3, x_3); -x_8 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_9 = lean::cnstr_get(x_8, 1); -lean::inc(x_9); -lean::dec(x_8); -x_12 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_12, 0, x_4); -x_13 = lean::apply_6(x_9, lean::box(0), lean::box(0), x_7, x_12, x_5, x_6); -return x_13; -} -} -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg), 7, 0); -return x_1; -} -} -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__1(obj* x_0, uint32 x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; -x_4 = lean::string_iterator_next(x_0); -x_5 = lean::box(0); -x_6 = lean::box_uint32(x_1); -x_7 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_7, 0, x_6); -lean::cnstr_set(x_7, 1, x_4); -lean::cnstr_set(x_7, 2, x_5); -x_8 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_8, 0, x_7); -lean::cnstr_set(x_8, 1, x_3); -x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_9, 0, x_8); -return x_9; -} -} -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__2(obj* x_0, uint32 x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; -x_4 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_5 = lean::cnstr_get(x_4, 0); -lean::inc(x_5); -lean::dec(x_4); -x_8 = lean::cnstr_get(x_5, 1); -lean::inc(x_8); -lean::dec(x_5); -x_11 = lean::box_uint32(x_1); -x_12 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_12, 0, x_11); -lean::cnstr_set(x_12, 1, x_0); -x_13 = lean::apply_4(x_8, lean::box(0), x_12, x_2, x_3); -return x_13; -} -} -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_6; uint8 x_9; -x_4 = lean::cnstr_get(x_1, 0); -lean::inc(x_4); -x_6 = lean::cnstr_get(x_1, 1); -lean::inc(x_6); -lean::dec(x_1); -x_9 = lean::string_iterator_has_next(x_4); -if (x_9 == 0) -{ -obj* x_12; obj* x_13; obj* x_14; obj* x_15; -lean::dec(x_4); -lean::dec(x_0); -x_12 = lean::box(0); -x_13 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; -x_14 = l_mjoin___rarg___closed__1; -x_15 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg(x_13, x_14, x_12, x_12, x_6, x_2, x_3); -return x_15; -} -else -{ -uint32 x_16; uint8 x_17; -x_16 = lean::string_iterator_curr(x_4); -x_17 = l_true_decidable; -if (x_17 == 0) -{ -obj* x_20; obj* x_21; obj* x_22; obj* x_24; obj* x_25; obj* x_26; obj* x_27; -lean::dec(x_4); -lean::dec(x_0); -x_20 = l_char_quote__core(x_16); -x_21 = l_char_has__repr___closed__1; -x_22 = lean::string_append(x_21, x_20); -lean::dec(x_20); -x_24 = lean::string_append(x_22, x_21); -x_25 = lean::box(0); -x_26 = l_mjoin___rarg___closed__1; -x_27 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg(x_24, x_26, x_25, x_25, x_6, x_2, x_3); -return x_27; -} -else -{ -obj* x_28; obj* x_29; obj* x_30; obj* x_31; -x_28 = lean::box_uint32(x_16); -x_29 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__1___boxed), 4, 2); -lean::closure_set(x_29, 0, x_4); -lean::closure_set(x_29, 1, x_28); -x_30 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__2___boxed), 4, 1); -lean::closure_set(x_30, 0, x_6); -x_31 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_29, x_30, x_2, x_3); -return x_31; -} -} -} -} -obj* _init_l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___closed__1() { -_start: -{ -obj* x_0; obj* x_1; obj* x_4; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_1 = lean::cnstr_get(x_0, 1); -lean::inc(x_1); -lean::dec(x_0); -x_4 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__3), 4, 1); -lean::closure_set(x_4, 0, x_1); -return x_4; -} -} -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_4; obj* x_7; obj* x_8; obj* x_10; obj* x_11; obj* x_12; -x_3 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_4 = lean::cnstr_get(x_3, 1); -lean::inc(x_4); -lean::dec(x_3); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_7, 0, x_0); -x_8 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; -lean::inc(x_4); -x_10 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_8, x_7); -x_11 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___closed__1; -x_12 = lean::apply_6(x_4, lean::box(0), lean::box(0), x_10, x_11, x_1, x_2); -return x_12; -} -} -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3___lambda__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_6; obj* x_8; obj* x_9; obj* x_10; obj* x_13; obj* x_16; obj* x_19; obj* x_22; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; -x_4 = lean::cnstr_get(x_1, 0); -x_6 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - x_8 = x_1; -} else { - lean::inc(x_4); - lean::inc(x_6); - lean::dec(x_1); - x_8 = lean::box(0); -} -x_9 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -lean::dec(x_9); -x_13 = lean::cnstr_get(x_10, 1); -lean::inc(x_13); -lean::dec(x_10); -x_16 = lean::cnstr_get(x_4, 0); -lean::inc(x_16); -lean::dec(x_4); -x_19 = lean::cnstr_get(x_16, 0); -lean::inc(x_19); -lean::dec(x_16); -x_22 = lean::cnstr_get(x_19, 0); -lean::inc(x_22); -lean::dec(x_19); -x_25 = l_lean_parser_message__of__parsec__message___rarg(x_22, x_0); -x_26 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_26, 0, x_25); -lean::cnstr_set(x_26, 1, x_6); -x_27 = lean::box(0); -if (lean::is_scalar(x_8)) { - x_28 = lean::alloc_cnstr(0, 2, 0); -} else { - x_28 = x_8; -} -lean::cnstr_set(x_28, 0, x_27); -lean::cnstr_set(x_28, 1, x_26); -x_29 = lean::apply_4(x_13, lean::box(0), x_28, x_2, x_3); -return x_29; -} -} -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; -x_4 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_5 = lean::cnstr_get(x_4, 1); -lean::inc(x_5); -lean::dec(x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_8, 0, x_1); -x_9 = l_lean_parser_module_yield__command___closed__1; -lean::inc(x_5); -x_11 = lean::apply_4(x_5, lean::box(0), lean::box(0), x_9, x_8); -x_12 = lean::alloc_closure(reinterpret_cast(l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3___lambda__1), 4, 1); -lean::closure_set(x_12, 0, x_0); -x_13 = lean::apply_6(x_5, lean::box(0), lean::box(0), x_11, x_12, x_2, x_3); -return x_13; -} -} -obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__4(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_5; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; -x_4 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_5 = lean::cnstr_get(x_4, 1); -lean::inc(x_5); -lean::dec(x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_8, 0, x_1); -x_9 = l_lean_parser_module_yield__command___closed__1; -lean::inc(x_5); -x_11 = lean::apply_4(x_5, lean::box(0), lean::box(0), x_9, x_8); -x_12 = lean::alloc_closure(reinterpret_cast(l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3___lambda__1), 4, 1); -lean::closure_set(x_12, 0, x_0); -x_13 = lean::apply_6(x_5, lean::box(0), lean::box(0), x_11, x_12, x_2, x_3); -return x_13; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__1(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_7; obj* x_8; obj* x_10; obj* x_11; obj* x_14; obj* x_17; obj* x_18; -x_3 = lean::cnstr_get(x_0, 0); -x_5 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - x_7 = x_0; -} else { - lean::inc(x_3); - lean::inc(x_5); - lean::dec(x_0); - x_7 = lean::box(0); -} -x_8 = lean::string_iterator_remaining(x_3); -lean::dec(x_3); -x_10 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_11 = lean::cnstr_get(x_10, 0); -lean::inc(x_11); -lean::dec(x_10); -x_14 = lean::cnstr_get(x_11, 1); -lean::inc(x_14); -lean::dec(x_11); -if (lean::is_scalar(x_7)) { - x_17 = lean::alloc_cnstr(0, 2, 0); -} else { - x_17 = x_7; -} -lean::cnstr_set(x_17, 0, x_8); -lean::cnstr_set(x_17, 1, x_5); -x_18 = lean::apply_4(x_14, lean::box(0), x_17, x_1, x_2); -return x_18; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__2___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__1), 3, 0); -return x_0; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_7; obj* x_8; obj* x_9; -x_5 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_5, 0, x_0); -lean::inc(x_1); -x_7 = lean::apply_4(x_1, lean::box(0), lean::box(0), x_2, x_5); -x_8 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__2___closed__1; -x_9 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_7, x_8, x_3, x_4); -return x_9; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__3___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_command_parser___boxed), 1, 0); -return x_0; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_8; obj* x_9; obj* x_10; -x_5 = lean::cnstr_get(x_4, 0); -lean::inc(x_5); -lean::dec(x_4); -x_8 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__3___closed__1; -x_9 = l_lean_parser_command__parser_run(x_0, x_8, x_5, x_2, x_3); -x_10 = lean::cnstr_get(x_9, 0); -lean::inc(x_10); -if (lean::obj_tag(x_10) == 0) -{ -obj* x_12; obj* x_14; obj* x_15; obj* x_17; obj* x_19; obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; -x_12 = lean::cnstr_get(x_9, 1); -if (lean::is_exclusive(x_9)) { - lean::cnstr_release(x_9, 0); - x_14 = x_9; -} else { - lean::inc(x_12); - lean::dec(x_9); - x_14 = lean::box(0); -} -x_15 = lean::cnstr_get(x_10, 0); -x_17 = lean::cnstr_get(x_10, 1); -x_19 = lean::cnstr_get(x_10, 2); -if (lean::is_exclusive(x_10)) { - x_21 = x_10; -} else { - lean::inc(x_15); - lean::inc(x_17); - lean::inc(x_19); - lean::dec(x_10); - x_21 = lean::box(0); -} -if (lean::is_scalar(x_14)) { - x_22 = lean::alloc_cnstr(0, 2, 0); -} else { - x_22 = x_14; -} -lean::cnstr_set(x_22, 0, x_15); -lean::cnstr_set(x_22, 1, x_1); -x_23 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_21)) { - x_24 = lean::alloc_cnstr(0, 3, 0); -} else { - x_24 = x_21; -} -lean::cnstr_set(x_24, 0, x_22); -lean::cnstr_set(x_24, 1, x_17); -lean::cnstr_set(x_24, 2, x_23); -x_25 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_19, x_24); -x_26 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_26, 0, x_25); -lean::cnstr_set(x_26, 1, x_12); -x_27 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_27, 0, x_26); -return x_27; -} -else -{ -obj* x_29; obj* x_31; obj* x_32; uint8 x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39; -lean::dec(x_1); -x_29 = lean::cnstr_get(x_9, 1); -if (lean::is_exclusive(x_9)) { - lean::cnstr_release(x_9, 0); - x_31 = x_9; -} else { - lean::inc(x_29); - lean::dec(x_9); - x_31 = lean::box(0); -} -x_32 = lean::cnstr_get(x_10, 0); -x_34 = lean::cnstr_get_scalar(x_10, sizeof(void*)*1); -if (lean::is_exclusive(x_10)) { - x_35 = x_10; -} else { - lean::inc(x_32); - lean::dec(x_10); - x_35 = lean::box(0); -} -if (lean::is_scalar(x_35)) { - x_36 = lean::alloc_cnstr(1, 1, 1); -} else { - x_36 = x_35; -} -lean::cnstr_set(x_36, 0, x_32); -lean::cnstr_set_scalar(x_36, sizeof(void*)*1, x_34); -x_37 = x_36; -if (lean::is_scalar(x_31)) { - x_38 = lean::alloc_cnstr(0, 2, 0); -} else { - x_38 = x_31; -} -lean::cnstr_set(x_38, 0, x_37); -lean::cnstr_set(x_38, 1, x_29); -x_39 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_39, 0, x_38); -return x_39; -} -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__4(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_7; obj* x_8; uint8 x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_16; obj* x_19; obj* x_20; -x_3 = lean::cnstr_get(x_0, 0); -x_5 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - x_7 = x_0; -} else { - lean::inc(x_3); - lean::inc(x_5); - lean::dec(x_0); - x_7 = lean::box(0); -} -x_8 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_8, 0, x_3); -x_9 = 0; -x_10 = lean::box(x_9); -if (lean::is_scalar(x_7)) { - x_11 = lean::alloc_cnstr(0, 2, 0); -} else { - x_11 = x_7; -} -lean::cnstr_set(x_11, 0, x_10); -lean::cnstr_set(x_11, 1, x_8); -x_12 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -lean::dec(x_12); -x_16 = lean::cnstr_get(x_13, 1); -lean::inc(x_16); -lean::dec(x_13); -x_19 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_19, 0, x_11); -lean::cnstr_set(x_19, 1, x_5); -x_20 = lean::apply_4(x_16, lean::box(0), x_19, x_1, x_2); -return x_20; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__5___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__4), 3, 0); -return x_0; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__5(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_6; obj* x_9; obj* x_12; obj* x_13; obj* x_14; -x_4 = lean::cnstr_get(x_1, 0); -lean::inc(x_4); -x_6 = lean::cnstr_get(x_1, 1); -lean::inc(x_6); -lean::dec(x_1); -x_9 = lean::cnstr_get(x_4, 1); -lean::inc(x_9); -lean::dec(x_4); -x_12 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__3), 5, 2); -lean::closure_set(x_12, 0, x_9); -lean::closure_set(x_12, 1, x_6); -x_13 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__5___closed__1; -x_14 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_12, x_13, x_2, x_3); -return x_14; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__6(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_6; obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_3 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - lean::cnstr_release(x_0, 0); - x_5 = x_0; -} else { - lean::inc(x_3); - lean::dec(x_0); - x_5 = lean::box(0); -} -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -lean::dec(x_6); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = lean::box(0); -if (lean::is_scalar(x_5)) { - x_14 = lean::alloc_cnstr(0, 2, 0); -} else { - x_14 = x_5; -} -lean::cnstr_set(x_14, 0, x_13); -lean::cnstr_set(x_14, 1, x_3); -x_15 = lean::apply_4(x_10, lean::box(0), x_14, x_1, x_2); -return x_15; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__7(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_7; obj* x_10; obj* x_11; -x_4 = lean::cnstr_get(x_3, 0); -lean::inc(x_4); -lean::dec(x_3); -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = l_lean_parser_token(x_7, x_1, x_2); -x_11 = lean::cnstr_get(x_10, 0); -lean::inc(x_11); -if (lean::obj_tag(x_11) == 0) -{ -obj* x_13; obj* x_15; obj* x_16; obj* x_18; obj* x_20; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28; -x_13 = lean::cnstr_get(x_10, 1); -if (lean::is_exclusive(x_10)) { - lean::cnstr_release(x_10, 0); - x_15 = x_10; -} else { - lean::inc(x_13); - lean::dec(x_10); - x_15 = lean::box(0); -} -x_16 = lean::cnstr_get(x_11, 0); -x_18 = lean::cnstr_get(x_11, 1); -x_20 = lean::cnstr_get(x_11, 2); -if (lean::is_exclusive(x_11)) { - x_22 = x_11; -} else { - lean::inc(x_16); - lean::inc(x_18); - lean::inc(x_20); - lean::dec(x_11); - x_22 = lean::box(0); -} -if (lean::is_scalar(x_15)) { - x_23 = lean::alloc_cnstr(0, 2, 0); -} else { - x_23 = x_15; -} -lean::cnstr_set(x_23, 0, x_16); -lean::cnstr_set(x_23, 1, x_0); -x_24 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_22)) { - x_25 = lean::alloc_cnstr(0, 3, 0); -} else { - x_25 = x_22; -} -lean::cnstr_set(x_25, 0, x_23); -lean::cnstr_set(x_25, 1, x_18); -lean::cnstr_set(x_25, 2, x_24); -x_26 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_20, x_25); -x_27 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_27, 0, x_26); -lean::cnstr_set(x_27, 1, x_13); -x_28 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_28, 0, x_27); -return x_28; -} -else -{ -obj* x_30; obj* x_32; obj* x_33; uint8 x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39; obj* x_40; -lean::dec(x_0); -x_30 = lean::cnstr_get(x_10, 1); -if (lean::is_exclusive(x_10)) { - lean::cnstr_release(x_10, 0); - x_32 = x_10; -} else { - lean::inc(x_30); - lean::dec(x_10); - x_32 = lean::box(0); -} -x_33 = lean::cnstr_get(x_11, 0); -x_35 = lean::cnstr_get_scalar(x_11, sizeof(void*)*1); -if (lean::is_exclusive(x_11)) { - x_36 = x_11; -} else { - lean::inc(x_33); - lean::dec(x_11); - x_36 = lean::box(0); -} -if (lean::is_scalar(x_36)) { - x_37 = lean::alloc_cnstr(1, 1, 1); -} else { - x_37 = x_36; -} -lean::cnstr_set(x_37, 0, x_33); -lean::cnstr_set_scalar(x_37, sizeof(void*)*1, x_35); -x_38 = x_37; -if (lean::is_scalar(x_32)) { - x_39 = lean::alloc_cnstr(0, 2, 0); -} else { - x_39 = x_32; -} -lean::cnstr_set(x_39, 0, x_38); -lean::cnstr_set(x_39, 1, x_30); -x_40 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_40, 0, x_39); -return x_40; -} -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__8(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_6; obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_3 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - lean::cnstr_release(x_0, 0); - x_5 = x_0; -} else { - lean::inc(x_3); - lean::dec(x_0); - x_5 = lean::box(0); -} -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -lean::dec(x_6); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = lean::box(0); -if (lean::is_scalar(x_5)) { - x_14 = lean::alloc_cnstr(0, 2, 0); -} else { - x_14 = x_5; -} -lean::cnstr_set(x_14, 0, x_13); -lean::cnstr_set(x_14, 1, x_3); -x_15 = lean::apply_4(x_10, lean::box(0), x_14, x_1, x_2); -return x_15; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__9(obj* x_0) { -_start: -{ -obj* x_1; obj* x_3; obj* x_5; obj* x_6; obj* x_7; obj* x_8; -x_1 = lean::cnstr_get(x_0, 0); -x_3 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - x_5 = x_0; -} else { - lean::inc(x_1); - lean::inc(x_3); - lean::dec(x_0); - x_5 = lean::box(0); -} -x_6 = l_lean_parser_parsec__t_try__mk__res___rarg(x_1); -if (lean::is_scalar(x_5)) { - x_7 = lean::alloc_cnstr(0, 2, 0); -} else { - x_7 = x_5; -} -lean::cnstr_set(x_7, 0, x_6); -lean::cnstr_set(x_7, 1, x_3); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_8, 0, x_7); -return x_8; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__10(obj* x_0, obj* x_1) { -_start: -{ -obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_8; obj* x_9; -x_2 = lean::cnstr_get(x_1, 0); -x_4 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - x_6 = x_1; -} else { - lean::inc(x_2); - lean::inc(x_4); - lean::dec(x_1); - x_6 = lean::box(0); -} -x_7 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_0, x_2); -if (lean::is_scalar(x_6)) { - x_8 = lean::alloc_cnstr(0, 2, 0); -} else { - x_8 = x_6; -} -lean::cnstr_set(x_8, 0, x_7); -lean::cnstr_set(x_8, 1, x_4); -x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_9, 0, x_8); -return x_9; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__11(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; -x_5 = lean::cnstr_get(x_4, 0); -lean::inc(x_5); -if (lean::obj_tag(x_5) == 0) -{ -obj* x_11; obj* x_13; obj* x_14; obj* x_15; -lean::dec(x_1); -lean::dec(x_3); -lean::dec(x_0); -lean::dec(x_2); -x_11 = lean::cnstr_get(x_4, 1); -if (lean::is_exclusive(x_4)) { - lean::cnstr_release(x_4, 0); - x_13 = x_4; -} else { - lean::inc(x_11); - lean::dec(x_4); - x_13 = lean::box(0); -} -if (lean::is_scalar(x_13)) { - x_14 = lean::alloc_cnstr(0, 2, 0); -} else { - x_14 = x_13; -} -lean::cnstr_set(x_14, 0, x_5); -lean::cnstr_set(x_14, 1, x_11); -x_15 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_15, 0, x_14); -return x_15; -} -else -{ -uint8 x_16; -x_16 = lean::cnstr_get_scalar(x_5, sizeof(void*)*1); -if (x_16 == 0) -{ -obj* x_17; obj* x_20; obj* x_23; obj* x_24; obj* x_25; -x_17 = lean::cnstr_get(x_4, 1); -lean::inc(x_17); -lean::dec(x_4); -x_20 = lean::cnstr_get(x_5, 0); -lean::inc(x_20); -lean::dec(x_5); -x_23 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_1, x_2, x_3, x_17); -x_24 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__10), 2, 1); -lean::closure_set(x_24, 0, x_20); -x_25 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_25, 0, x_23); -lean::closure_set(x_25, 1, x_24); -return x_25; -} -else -{ -obj* x_30; obj* x_32; obj* x_33; obj* x_34; -lean::dec(x_1); -lean::dec(x_3); -lean::dec(x_0); -lean::dec(x_2); -x_30 = lean::cnstr_get(x_4, 1); -if (lean::is_exclusive(x_4)) { - lean::cnstr_release(x_4, 0); - x_32 = x_4; -} else { - lean::inc(x_30); - lean::dec(x_4); - x_32 = lean::box(0); -} -if (lean::is_scalar(x_32)) { - x_33 = lean::alloc_cnstr(0, 2, 0); -} else { - x_33 = x_32; -} -lean::cnstr_set(x_33, 0, x_5); -lean::cnstr_set(x_33, 1, x_30); -x_34 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_34, 0, x_33); -return x_34; -} -} -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__8), 3, 0); -return x_0; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__2() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__9), 1, 0); -return x_0; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__12(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; obj* x_7; obj* x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; -x_6 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__7), 4, 1); -lean::closure_set(x_6, 0, x_0); -x_7 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__1; -lean::inc(x_4); -lean::inc(x_1); -x_10 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_6, x_7, x_4, x_5); -x_11 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__2; -x_12 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_12, 0, x_10); -lean::closure_set(x_12, 1, x_11); -x_13 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__11), 5, 4); -lean::closure_set(x_13, 0, x_1); -lean::closure_set(x_13, 1, x_2); -lean::closure_set(x_13, 2, x_3); -lean::closure_set(x_13, 3, x_4); -x_14 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_14, 0, x_12); -lean::closure_set(x_14, 1, x_13); -return x_14; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__13___closed__1() { -_start: -{ -obj* x_0; uint8 x_1; obj* x_2; obj* x_3; -x_0 = lean::box(0); -x_1 = 1; -x_2 = lean::box(x_1); -x_3 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_3, 0, x_2); -lean::cnstr_set(x_3, 1, x_0); -return x_3; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__13(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_6; obj* x_7; obj* x_10; obj* x_13; obj* x_14; obj* x_15; -x_3 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - lean::cnstr_release(x_0, 0); - x_5 = x_0; -} else { - lean::inc(x_3); - lean::dec(x_0); - x_5 = lean::box(0); -} -x_6 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_7 = lean::cnstr_get(x_6, 0); -lean::inc(x_7); -lean::dec(x_6); -x_10 = lean::cnstr_get(x_7, 1); -lean::inc(x_10); -lean::dec(x_7); -x_13 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__13___closed__1; -if (lean::is_scalar(x_5)) { - x_14 = lean::alloc_cnstr(0, 2, 0); -} else { - x_14 = x_5; -} -lean::cnstr_set(x_14, 0, x_13); -lean::cnstr_set(x_14, 1, x_3); -x_15 = lean::apply_4(x_10, lean::box(0), x_14, x_1, x_2); -return x_15; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__6), 3, 0); -return x_0; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__2() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__13), 3, 0); -return x_0; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__14(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_8; obj* x_9; obj* x_11; obj* x_12; obj* x_13; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -lean::inc(x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2), 3, 1); -lean::closure_set(x_8, 0, x_4); -x_9 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__1; -lean::inc(x_0); -x_11 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__12), 6, 4); -lean::closure_set(x_11, 0, x_4); -lean::closure_set(x_11, 1, x_0); -lean::closure_set(x_11, 2, x_8); -lean::closure_set(x_11, 3, x_9); -x_12 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__2; -x_13 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_11, x_12, x_2, x_3); -return x_13; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__15(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_6; obj* x_7; obj* x_8; obj* x_9; uint8 x_10; obj* x_11; obj* x_12; obj* x_13; obj* x_14; obj* x_17; obj* x_20; obj* x_21; -x_4 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_6 = x_1; -} else { - lean::inc(x_4); - lean::dec(x_1); - x_6 = lean::box(0); -} -x_7 = lean::cnstr_get(x_0, 3); -x_8 = l_option_get___main___at_lean_parser_run___spec__2(x_7); -x_9 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_9, 0, x_8); -x_10 = 1; -x_11 = lean::box(x_10); -if (lean::is_scalar(x_6)) { - x_12 = lean::alloc_cnstr(0, 2, 0); -} else { - x_12 = x_6; -} -lean::cnstr_set(x_12, 0, x_11); -lean::cnstr_set(x_12, 1, x_9); -x_13 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_14 = lean::cnstr_get(x_13, 0); -lean::inc(x_14); -lean::dec(x_13); -x_17 = lean::cnstr_get(x_14, 1); -lean::inc(x_17); -lean::dec(x_14); -x_20 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_20, 0, x_12); -lean::cnstr_set(x_20, 1, x_4); -x_21 = lean::apply_4(x_17, lean::box(0), x_20, x_2, x_3); -return x_21; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__16(uint8 x_0, obj* x_1) { -_start: -{ -obj* x_2; -x_2 = lean::cnstr_get(x_1, 0); -lean::inc(x_2); -if (lean::obj_tag(x_2) == 0) -{ -obj* x_4; obj* x_6; obj* x_7; obj* x_8; -x_4 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_6 = x_1; -} else { - lean::inc(x_4); - lean::dec(x_1); - x_6 = lean::box(0); -} -if (lean::is_scalar(x_6)) { - x_7 = lean::alloc_cnstr(0, 2, 0); -} else { - x_7 = x_6; -} -lean::cnstr_set(x_7, 0, x_2); -lean::cnstr_set(x_7, 1, x_4); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_8, 0, x_7); -return x_8; -} -else -{ -uint8 x_9; -x_9 = lean::cnstr_get_scalar(x_2, sizeof(void*)*1); -if (x_0 == 0) -{ -obj* x_10; obj* x_12; obj* x_13; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; -x_10 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_12 = x_1; -} else { - lean::inc(x_10); - lean::dec(x_1); - x_12 = lean::box(0); -} -x_13 = lean::cnstr_get(x_2, 0); -if (lean::is_exclusive(x_2)) { - x_15 = x_2; -} else { - lean::inc(x_13); - lean::dec(x_2); - x_15 = lean::box(0); -} -if (lean::is_scalar(x_15)) { - x_16 = lean::alloc_cnstr(1, 1, 1); -} else { - x_16 = x_15; -} -lean::cnstr_set(x_16, 0, x_13); -lean::cnstr_set_scalar(x_16, sizeof(void*)*1, x_9); -x_17 = x_16; -if (lean::is_scalar(x_12)) { - x_18 = lean::alloc_cnstr(0, 2, 0); -} else { - x_18 = x_12; -} -lean::cnstr_set(x_18, 0, x_17); -lean::cnstr_set(x_18, 1, x_10); -x_19 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_19, 0, x_18); -return x_19; -} -else -{ -obj* x_20; obj* x_22; obj* x_23; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; -x_20 = lean::cnstr_get(x_1, 1); -if (lean::is_exclusive(x_1)) { - lean::cnstr_release(x_1, 0); - x_22 = x_1; -} else { - lean::inc(x_20); - lean::dec(x_1); - x_22 = lean::box(0); -} -x_23 = lean::cnstr_get(x_2, 0); -if (lean::is_exclusive(x_2)) { - x_25 = x_2; -} else { - lean::inc(x_23); - lean::dec(x_2); - x_25 = lean::box(0); -} -if (lean::is_scalar(x_25)) { - x_26 = lean::alloc_cnstr(1, 1, 1); -} else { - x_26 = x_25; -} -lean::cnstr_set(x_26, 0, x_23); -lean::cnstr_set_scalar(x_26, sizeof(void*)*1, x_0); -x_27 = x_26; -if (lean::is_scalar(x_22)) { - x_28 = lean::alloc_cnstr(0, 2, 0); -} else { - x_28 = x_22; -} -lean::cnstr_set(x_28, 0, x_27); -lean::cnstr_set(x_28, 1, x_20); -x_29 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_29, 0, x_28); -return x_29; -} -} -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__17(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; -x_3 = lean::cnstr_get(x_2, 0); -lean::inc(x_3); -if (lean::obj_tag(x_3) == 0) -{ -obj* x_7; obj* x_9; obj* x_10; obj* x_11; -lean::dec(x_1); -lean::dec(x_0); -x_7 = lean::cnstr_get(x_2, 1); -if (lean::is_exclusive(x_2)) { - lean::cnstr_release(x_2, 0); - x_9 = x_2; -} else { - lean::inc(x_7); - lean::dec(x_2); - x_9 = lean::box(0); -} -if (lean::is_scalar(x_9)) { - x_10 = lean::alloc_cnstr(0, 2, 0); -} else { - x_10 = x_9; -} -lean::cnstr_set(x_10, 0, x_3); -lean::cnstr_set(x_10, 1, x_7); -x_11 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_11, 0, x_10); -return x_11; -} -else -{ -obj* x_12; obj* x_15; uint8 x_17; obj* x_19; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; -x_12 = lean::cnstr_get(x_2, 1); -lean::inc(x_12); -lean::dec(x_2); -x_15 = lean::cnstr_get(x_3, 0); -lean::inc(x_15); -x_17 = lean::cnstr_get_scalar(x_3, sizeof(void*)*1); -lean::dec(x_3); -x_19 = lean::cnstr_get(x_15, 0); -lean::inc(x_19); -lean::inc(x_15); -x_22 = lean::alloc_closure(reinterpret_cast(l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3), 4, 2); -lean::closure_set(x_22, 0, x_15); -lean::closure_set(x_22, 1, x_0); -x_23 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__15___boxed), 4, 1); -lean::closure_set(x_23, 0, x_15); -x_24 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_22, x_23, x_19, x_12); -x_25 = lean::box(x_17); -x_26 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__16___boxed), 2, 1); -lean::closure_set(x_26, 0, x_25); -x_27 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_27, 0, x_24); -lean::closure_set(x_27, 1, x_26); -return x_27; -} -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__18(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; -x_3 = lean::cnstr_get(x_0, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_0, 1); -lean::inc(x_5); -lean::dec(x_0); -x_8 = l_string_join___closed__1; -x_9 = l_lean_parser_command_parser___rarg___closed__1; -x_10 = l_lean_parser_parsec__t_monad__fail___rarg___closed__1; -x_11 = lean::alloc_cnstr(0, 4, 0); -lean::cnstr_set(x_11, 0, x_3); -lean::cnstr_set(x_11, 1, x_8); -lean::cnstr_set(x_11, 2, x_9); -lean::cnstr_set(x_11, 3, x_10); -x_12 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__4(x_11, x_5, x_1, x_2); -return x_12; -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__18), 3, 0); -return x_0; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__19(obj* x_0, obj* x_1, obj* x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -obj* x_8; obj* x_11; obj* x_13; obj* x_15; obj* x_18; obj* x_21; -lean::inc(x_0); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_8, 0, x_0); -lean::inc(x_8); -lean::inc(x_1); -x_11 = lean::apply_4(x_1, lean::box(0), lean::box(0), x_2, x_8); -lean::inc(x_1); -x_13 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__5), 4, 1); -lean::closure_set(x_13, 0, x_1); -lean::inc(x_1); -x_15 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__14), 4, 1); -lean::closure_set(x_15, 0, x_1); -lean::inc(x_5); -lean::inc(x_1); -x_18 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_11, x_13, x_5, x_6); -lean::inc(x_1); -lean::inc(x_0); -x_21 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__17), 3, 2); -lean::closure_set(x_21, 0, x_0); -lean::closure_set(x_21, 1, x_1); -if (x_3 == 0) -{ -obj* x_24; obj* x_25; obj* x_28; obj* x_31; obj* x_32; obj* x_33; obj* x_34; obj* x_35; obj* x_36; -lean::dec(x_8); -lean::dec(x_4); -x_24 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_25 = lean::cnstr_get(x_24, 0); -lean::inc(x_25); -lean::dec(x_24); -x_28 = lean::cnstr_get(x_25, 1); -lean::inc(x_28); -lean::dec(x_25); -x_31 = lean::box(0); -x_32 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_32, 0, x_31); -lean::cnstr_set(x_32, 1, x_0); -x_33 = lean::apply_2(x_28, lean::box(0), x_32); -x_34 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__11), 5, 4); -lean::closure_set(x_34, 0, x_1); -lean::closure_set(x_34, 1, x_33); -lean::closure_set(x_34, 2, x_15); -lean::closure_set(x_34, 3, x_5); -x_35 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_35, 0, x_18); -lean::closure_set(x_35, 1, x_34); -x_36 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_36, 0, x_35); -lean::closure_set(x_36, 1, x_21); -return x_36; -} -else -{ -obj* x_39; obj* x_40; obj* x_42; obj* x_43; obj* x_44; obj* x_45; -lean::dec(x_0); -lean::inc(x_1); -x_39 = lean::apply_4(x_1, lean::box(0), lean::box(0), x_4, x_8); -x_40 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___closed__1; -lean::inc(x_1); -x_42 = lean::apply_4(x_1, lean::box(0), lean::box(0), x_39, x_40); -x_43 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__11), 5, 4); -lean::closure_set(x_43, 0, x_1); -lean::closure_set(x_43, 1, x_42); -lean::closure_set(x_43, 2, x_15); -lean::closure_set(x_43, 3, x_5); -x_44 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_44, 0, x_18); -lean::closure_set(x_44, 1, x_43); -x_45 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_45, 0, x_44); -lean::closure_set(x_45, 1, x_21); -return x_45; -} -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__20(uint8 x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_8; -x_5 = lean::cnstr_get(x_2, 1); -lean::inc(x_5); -lean::dec(x_2); -x_8 = l___private_init_lean_parser_module_1__commands__aux___main(x_0, x_1, x_5, x_3, x_4); -return x_8; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__21(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; obj* x_7; -x_5 = lean::cnstr_get(x_2, 0); -lean::inc(x_5); -x_7 = lean::cnstr_get(x_5, 1); -lean::inc(x_7); -if (lean::obj_tag(x_7) == 0) -{ -obj* x_10; obj* x_13; uint8 x_16; obj* x_17; -lean::dec(x_1); -x_10 = lean::cnstr_get(x_2, 1); -lean::inc(x_10); -lean::dec(x_2); -x_13 = lean::cnstr_get(x_5, 0); -lean::inc(x_13); -lean::dec(x_5); -x_16 = lean::unbox(x_13); -x_17 = l___private_init_lean_parser_module_1__commands__aux___main(x_16, x_0, x_10, x_3, x_4); -lean::dec(x_0); -return x_17; -} -else -{ -obj* x_19; obj* x_22; obj* x_25; obj* x_28; obj* x_29; obj* x_30; -x_19 = lean::cnstr_get(x_2, 1); -lean::inc(x_19); -lean::dec(x_2); -x_22 = lean::cnstr_get(x_5, 0); -lean::inc(x_22); -lean::dec(x_5); -x_25 = lean::cnstr_get(x_7, 0); -lean::inc(x_25); -lean::dec(x_7); -x_28 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_yield__command), 4, 2); -lean::closure_set(x_28, 0, x_25); -lean::closure_set(x_28, 1, x_19); -x_29 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__20___boxed), 5, 2); -lean::closure_set(x_29, 0, x_22); -lean::closure_set(x_29, 1, x_0); -x_30 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_28, x_29, x_3, x_4); -return x_30; -} -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__22(obj* x_0, obj* x_1, obj* x_2, uint8 x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -obj* x_7; obj* x_9; obj* x_11; obj* x_12; uint8 x_13; -x_7 = lean::cnstr_get(x_4, 0); -x_9 = lean::cnstr_get(x_4, 1); -if (lean::is_exclusive(x_4)) { - lean::cnstr_set(x_4, 0, lean::box(0)); - lean::cnstr_set(x_4, 1, lean::box(0)); - x_11 = x_4; -} else { - lean::inc(x_7); - lean::inc(x_9); - lean::dec(x_4); - x_11 = lean::box(0); -} -x_12 = lean::mk_nat_obj(0u); -x_13 = lean::nat_dec_eq(x_7, x_12); -lean::dec(x_7); -if (x_13 == 0) -{ -uint8 x_16; -lean::dec(x_11); -if (x_3 == 0) -{ -uint8 x_18; -x_18 = 1; -x_16 = x_18; -goto lbl_17; -} -else -{ -uint8 x_19; -x_19 = 0; -x_16 = x_19; -goto lbl_17; -} -lbl_17: -{ -obj* x_20; obj* x_21; obj* x_23; obj* x_25; obj* x_26; -x_20 = l_lean_parser_module_yield__command___closed__1; -x_21 = lean::box(x_16); -lean::inc(x_0); -x_23 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___boxed), 7, 5); -lean::closure_set(x_23, 0, x_9); -lean::closure_set(x_23, 1, x_0); -lean::closure_set(x_23, 2, x_20); -lean::closure_set(x_23, 3, x_21); -lean::closure_set(x_23, 4, x_1); -lean::inc(x_0); -x_25 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__21), 5, 2); -lean::closure_set(x_25, 0, x_2); -lean::closure_set(x_25, 1, x_0); -x_26 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_23, x_25, x_5, x_6); -return x_26; -} -} -else -{ -obj* x_30; obj* x_31; obj* x_34; obj* x_37; obj* x_38; obj* x_39; -lean::dec(x_1); -lean::dec(x_0); -lean::dec(x_2); -x_30 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_31 = lean::cnstr_get(x_30, 0); -lean::inc(x_31); -lean::dec(x_30); -x_34 = lean::cnstr_get(x_31, 1); -lean::inc(x_34); -lean::dec(x_31); -x_37 = lean::box(0); -if (lean::is_scalar(x_11)) { - x_38 = lean::alloc_cnstr(0, 2, 0); -} else { - x_38 = x_11; -} -lean::cnstr_set(x_38, 0, x_37); -lean::cnstr_set(x_38, 1, x_9); -x_39 = lean::apply_4(x_34, lean::box(0), x_38, x_5, x_6); -return x_39; -} -} -} -obj* _init_l___private_init_lean_parser_module_1__commands__aux___main___closed__1() { -_start: -{ -obj* x_0; obj* x_1; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_1 = lean::cnstr_get(x_0, 1); -lean::inc(x_1); -lean::dec(x_0); -return x_1; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main(uint8 x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; uint8 x_6; -x_5 = lean::mk_nat_obj(0u); -x_6 = lean::nat_dec_eq(x_1, x_5); -if (x_6 == 0) -{ -obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; -x_7 = lean::mk_nat_obj(1u); -x_8 = lean::nat_sub(x_1, x_7); -x_9 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_10 = lean::cnstr_get(x_9, 1); -lean::inc(x_10); -lean::dec(x_9); -x_13 = l___private_init_lean_parser_module_1__commands__aux___main___closed__1; -x_14 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; -x_15 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__2), 5, 3); -lean::closure_set(x_15, 0, x_2); -lean::closure_set(x_15, 1, x_13); -lean::closure_set(x_15, 2, x_14); -x_16 = lean::box(x_0); -x_17 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__22___boxed), 7, 4); -lean::closure_set(x_17, 0, x_13); -lean::closure_set(x_17, 1, x_14); -lean::closure_set(x_17, 2, x_8); -lean::closure_set(x_17, 3, x_16); -x_18 = lean::apply_6(x_10, lean::box(0), lean::box(0), x_15, x_17, x_3, x_4); -return x_18; -} -else -{ -obj* x_19; obj* x_20; obj* x_21; obj* x_22; -x_19 = lean::box(0); -x_20 = l___private_init_lean_parser_combinators_1__many1__aux___main___rarg___closed__1; -x_21 = l_mjoin___rarg___closed__1; -x_22 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg(x_20, x_21, x_19, x_19, x_2, x_3, x_4); -return x_22; -} -} -} -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_6; -x_6 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__1(x_0, x_1, x_2, x_3, x_4, x_5); -lean::dec(x_0); -lean::dec(x_4); -return x_6; -} -} -obj* l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___boxed(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1(x_0); -lean::dec(x_0); -return x_1; -} -} -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -uint32 x_4; obj* x_5; -x_4 = lean::unbox_uint32(x_1); -x_5 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__1(x_0, x_4, x_2, x_3); -lean::dec(x_2); -return x_5; -} -} -obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__2___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -uint32 x_4; obj* x_5; -x_4 = lean::unbox_uint32(x_1); -x_5 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___lambda__2(x_0, x_4, x_2, x_3); -return x_5; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__15___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; -x_4 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__15(x_0, x_1, x_2, x_3); -lean::dec(x_0); -return x_4; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__16___boxed(obj* x_0, obj* x_1) { -_start: -{ -uint8 x_2; obj* x_3; -x_2 = lean::unbox(x_0); -x_3 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__16(x_2, x_1); -return x_3; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -uint8 x_7; obj* x_8; -x_7 = lean::unbox(x_3); -x_8 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__19(x_0, x_1, x_2, x_7, x_4, x_5, x_6); -return x_8; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__20___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -uint8 x_5; obj* x_6; -x_5 = lean::unbox(x_0); -x_6 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__20(x_5, x_1, x_2, x_3, x_4); -lean::dec(x_1); -return x_6; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___lambda__22___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6) { -_start: -{ -uint8 x_7; obj* x_8; -x_7 = lean::unbox(x_3); -x_8 = l___private_init_lean_parser_module_1__commands__aux___main___lambda__22(x_0, x_1, x_2, x_7, x_4, x_5, x_6); -return x_8; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___main___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -uint8 x_5; obj* x_6; -x_5 = lean::unbox(x_0); -x_6 = l___private_init_lean_parser_module_1__commands__aux___main(x_5, x_1, x_2, x_3, x_4); -lean::dec(x_1); -return x_6; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux(uint8 x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -obj* x_5; -x_5 = l___private_init_lean_parser_module_1__commands__aux___main(x_0, x_1, x_2, x_3, x_4); -return x_5; -} -} -obj* l___private_init_lean_parser_module_1__commands__aux___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { -_start: -{ -uint8 x_5; obj* x_6; -x_5 = lean::unbox(x_0); -x_6 = l___private_init_lean_parser_module_1__commands__aux(x_5, x_1, x_2, x_3, x_4); -lean::dec(x_1); -return x_6; -} -} -obj* l_lean_parser_module_commands_parser___lambda__1(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_8; obj* x_9; uint8 x_11; obj* x_12; -x_3 = lean::cnstr_get(x_0, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_0, 1); -lean::inc(x_5); -lean::dec(x_0); -x_8 = lean::mk_nat_obj(1u); -x_9 = lean::nat_add(x_3, x_8); -lean::dec(x_3); -x_11 = 0; -x_12 = l___private_init_lean_parser_module_1__commands__aux___main(x_11, x_9, x_5, x_1, x_2); -lean::dec(x_9); -return x_12; -} -} -obj* _init_l_lean_parser_module_commands_parser___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_commands_parser___lambda__1), 3, 0); -return x_0; -} -} -obj* l_lean_parser_module_commands_parser(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_4; obj* x_7; obj* x_8; obj* x_9; obj* x_10; obj* x_11; -x_3 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_4 = lean::cnstr_get(x_3, 1); -lean::inc(x_4); -lean::dec(x_3); -x_7 = l___private_init_lean_parser_module_1__commands__aux___main___closed__1; -x_8 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; -x_9 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__2), 5, 3); -lean::closure_set(x_9, 0, x_0); -lean::closure_set(x_9, 1, x_7); -lean::closure_set(x_9, 2, x_8); -x_10 = l_lean_parser_module_commands_parser___closed__1; -x_11 = lean::apply_6(x_4, lean::box(0), lean::box(0), x_9, x_10, x_1, x_2); -return x_11; -} -} -obj* _init_l_lean_parser_module_commands_tokens() { -_start: -{ -obj* x_0; obj* x_1; -x_0 = l_lean_parser_command_parser_lean_parser_has__tokens; -x_1 = l_lean_parser_tokens___rarg(x_0); -return x_1; -} -} -obj* l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__1(obj* x_0) { -_start: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_1; -x_1 = lean::box(0); -return x_1; -} -else -{ -obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_8; -x_2 = lean::cnstr_get(x_0, 0); -x_4 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - x_6 = x_0; -} else { - lean::inc(x_2); - lean::inc(x_4); - lean::dec(x_0); - x_6 = lean::box(0); -} -x_7 = l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__1(x_4); -if (lean::is_scalar(x_6)) { - x_8 = lean::alloc_cnstr(1, 2, 0); -} else { - x_8 = x_6; -} -lean::cnstr_set(x_8, 0, x_2); -lean::cnstr_set(x_8, 1, x_7); -return x_8; -} -} -} -obj* l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__2(obj* x_0) { -_start: -{ -if (lean::obj_tag(x_0) == 0) -{ -obj* x_1; -x_1 = lean::box(0); -return x_1; -} -else -{ -obj* x_2; obj* x_4; obj* x_6; obj* x_7; obj* x_8; -x_2 = lean::cnstr_get(x_0, 0); -x_4 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - x_6 = x_0; -} else { - lean::inc(x_2); - lean::inc(x_4); - lean::dec(x_0); - x_6 = lean::box(0); -} -x_7 = l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__2(x_4); -if (lean::is_scalar(x_6)) { - x_8 = lean::alloc_cnstr(1, 2, 0); -} else { - x_8 = x_6; -} -lean::cnstr_set(x_8, 0, x_2); -lean::cnstr_set(x_8, 1, x_7); -return x_8; -} -} -} -obj* l_lean_parser_module_commands_parser_has__view___lambda__1(obj* x_0) { -_start: -{ -obj* x_1; -x_1 = l_lean_parser_syntax_as__node___main(x_0); -if (lean::obj_tag(x_1) == 0) -{ -obj* x_2; -x_2 = l_lean_parser_ident__univ__spec_has__view_x_27___lambda__1___closed__1; -return x_2; -} -else -{ -obj* x_3; obj* x_6; obj* x_9; -x_3 = lean::cnstr_get(x_1, 0); -lean::inc(x_3); -lean::dec(x_1); -x_6 = lean::cnstr_get(x_3, 1); -lean::inc(x_6); -lean::dec(x_3); -x_9 = l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__1(x_6); -return x_9; -} -} -} -obj* l_lean_parser_module_commands_parser_has__view___lambda__2(obj* x_0) { -_start: -{ -obj* x_1; obj* x_2; obj* x_3; -x_1 = l_list_map___main___at_lean_parser_module_commands_parser_has__view___spec__2(x_0); -x_2 = l_lean_parser_no__kind; -x_3 = l_lean_parser_syntax_mk__node(x_2, x_1); -return x_3; -} -} -obj* _init_l_lean_parser_module_commands_parser_has__view() { -_start: -{ -obj* x_0; obj* x_1; obj* x_2; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_commands_parser_has__view___lambda__1), 1, 0); -x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_commands_parser_has__view___lambda__2), 1, 0); -x_2 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_2, 0, x_0); -lean::cnstr_set(x_2, 1, x_1); -return x_2; -} -} obj* _init_l_lean_parser_module_eoi() { _start: { @@ -6169,104 +3283,2215 @@ x_8 = lean_name_mk_string(x_6, x_7); return x_8; } } -obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___lambda__1(obj* x_0, obj* x_1, obj* x_2) { +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) { _start: { -obj* x_3; obj* x_5; obj* x_7; obj* x_8; obj* x_9; uint8 x_10; -x_3 = lean::cnstr_get(x_0, 0); -x_5 = lean::cnstr_get(x_0, 1); -if (lean::is_exclusive(x_0)) { - lean::cnstr_set(x_0, 0, lean::box(0)); - lean::cnstr_set(x_0, 1, lean::box(0)); - x_7 = x_0; -} else { - lean::inc(x_3); - lean::inc(x_5); - lean::dec(x_0); - x_7 = lean::box(0); +obj* x_8; obj* x_9; uint8 x_10; obj* x_11; obj* x_12; obj* x_13; +x_8 = l_option_get__or__else___main___rarg(x_2, x_6); +x_9 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_9, 0, x_8); +lean::cnstr_set(x_9, 1, x_0); +lean::cnstr_set(x_9, 2, x_1); +lean::cnstr_set(x_9, 3, x_3); +x_10 = 0; +x_11 = lean::alloc_cnstr(1, 1, 1); +lean::cnstr_set(x_11, 0, x_9); +lean::cnstr_set_scalar(x_11, sizeof(void*)*1, x_10); +x_12 = x_11; +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_12); +lean::cnstr_set(x_13, 1, x_7); +return x_13; } -x_8 = lean::string_iterator_remaining(x_3); -x_9 = lean::mk_nat_obj(0u); -x_10 = lean::nat_dec_eq(x_8, x_9); -lean::dec(x_8); -if (x_10 == 0) +} +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2(obj* x_0) { +_start: { -uint32 x_13; obj* x_15; obj* x_16; obj* x_17; obj* x_19; obj* x_20; obj* x_21; obj* x_22; -lean::dec(x_7); -x_13 = lean::string_iterator_curr(x_3); -lean::dec(x_3); -x_15 = l_char_quote__core(x_13); -x_16 = l_char_has__repr___closed__1; -x_17 = lean::string_append(x_16, x_15); -lean::dec(x_15); -x_19 = lean::string_append(x_17, x_16); -x_20 = lean::box(0); -x_21 = l_lean_parser_monad__parsec_eoi___rarg___lambda__1___closed__1; -x_22 = l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg(x_19, x_21, x_20, x_20, x_5, x_1, x_2); -return x_22; +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg___boxed), 8, 0); +return x_1; +} +} +obj* _init_l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1() { +_start: +{ +obj* x_0; obj* x_3; obj* x_4; obj* x_5; +x_0 = lean::alloc_closure(reinterpret_cast(l_id___rarg___boxed), 1, 0); +lean::inc(x_0); +lean::inc(x_0); +x_3 = lean::alloc_closure(reinterpret_cast(l_function_comp___rarg), 3, 2); +lean::closure_set(x_3, 0, x_0); +lean::closure_set(x_3, 1, x_0); +x_4 = lean::alloc_closure(reinterpret_cast(l_function_comp___rarg), 3, 2); +lean::closure_set(x_4, 0, x_3); +lean::closure_set(x_4, 1, x_0); +x_5 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_5, 0, x_4); +return x_5; +} +} +obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; obj* x_5; uint8 x_6; +x_4 = lean::string_iterator_remaining(x_2); +x_5 = lean::mk_nat_obj(0u); +x_6 = lean::nat_dec_eq(x_4, x_5); +lean::dec(x_4); +if (x_6 == 0) +{ +uint32 x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_13; obj* x_14; obj* x_15; obj* x_16; obj* x_19; obj* x_21; obj* x_23; obj* x_24; obj* x_25; obj* x_26; +x_8 = lean::string_iterator_curr(x_2); +x_9 = l_char_quote__core(x_8); +x_10 = l_char_has__repr___closed__1; +x_11 = lean::string_append(x_10, x_9); +lean::dec(x_9); +x_13 = lean::string_append(x_11, x_10); +x_14 = lean::box(0); +x_15 = l_lean_parser_monad__parsec_eoi___rarg___lambda__1___closed__1; +x_16 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_13, x_15, x_14, x_14, x_0, x_1, x_2, x_3); +lean::dec(x_2); +lean::dec(x_0); +x_19 = lean::cnstr_get(x_16, 0); +x_21 = lean::cnstr_get(x_16, 1); +if (lean::is_exclusive(x_16)) { + x_23 = x_16; +} else { + lean::inc(x_19); + lean::inc(x_21); + lean::dec(x_16); + x_23 = lean::box(0); +} +x_24 = l_lean_parser_finish__comment__block___closed__2; +x_25 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_24, x_19); +if (lean::is_scalar(x_23)) { + x_26 = lean::alloc_cnstr(0, 2, 0); +} else { + x_26 = x_23; +} +lean::cnstr_set(x_26, 0, x_25); +lean::cnstr_set(x_26, 1, x_21); +return x_26; } else { -obj* x_24; obj* x_25; obj* x_28; obj* x_31; obj* x_32; obj* x_33; -lean::dec(x_3); -x_24 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_25 = lean::cnstr_get(x_24, 0); -lean::inc(x_25); -lean::dec(x_24); -x_28 = lean::cnstr_get(x_25, 1); -lean::inc(x_28); -lean::dec(x_25); -x_31 = lean::box(0); -if (lean::is_scalar(x_7)) { - x_32 = lean::alloc_cnstr(0, 2, 0); +obj* x_27; obj* x_28; obj* x_29; obj* x_30; obj* x_31; +x_27 = lean::box(0); +x_28 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_28, 0, x_27); +lean::cnstr_set(x_28, 1, x_0); +x_29 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_30 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_30, 0, x_28); +lean::cnstr_set(x_30, 1, x_2); +lean::cnstr_set(x_30, 2, x_29); +x_31 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_31, 0, x_30); +lean::cnstr_set(x_31, 1, x_3); +return x_31; +} +} +} +obj* l_lean_parser_module_eoi_parser(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; obj* x_5; +x_4 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1(x_0, x_1, x_2, x_3); +x_5 = lean::cnstr_get(x_4, 0); +lean::inc(x_5); +if (lean::obj_tag(x_5) == 0) +{ +obj* x_7; obj* x_9; obj* x_11; obj* x_12; obj* x_14; obj* x_16; obj* x_17; obj* x_19; obj* x_21; obj* x_24; obj* x_25; obj* x_28; obj* x_29; obj* x_30; obj* x_31; obj* x_32; obj* x_33; obj* x_34; obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39; obj* x_40; obj* x_41; +x_7 = lean::cnstr_get(x_5, 0); +lean::inc(x_7); +x_9 = lean::cnstr_get(x_4, 1); +if (lean::is_exclusive(x_4)) { + lean::cnstr_release(x_4, 0); + x_11 = x_4; } else { - x_32 = x_7; + lean::inc(x_9); + lean::dec(x_4); + x_11 = lean::box(0); } +x_12 = lean::cnstr_get(x_5, 1); +x_14 = lean::cnstr_get(x_5, 2); +if (lean::is_exclusive(x_5)) { + lean::cnstr_release(x_5, 0); + x_16 = x_5; +} else { + lean::inc(x_12); + lean::inc(x_14); + lean::dec(x_5); + x_16 = lean::box(0); +} +x_17 = lean::cnstr_get(x_7, 1); +if (lean::is_exclusive(x_7)) { + lean::cnstr_release(x_7, 0); + x_19 = x_7; +} else { + lean::inc(x_17); + lean::dec(x_7); + x_19 = lean::box(0); +} +lean::inc(x_12); +x_21 = lean::string_iterator_to_end(x_12); +lean::inc(x_21); +lean::inc(x_21); +x_24 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_24, 0, x_21); +lean::cnstr_set(x_24, 1, x_21); +x_25 = lean::string_iterator_offset(x_21); +lean::dec(x_21); +lean::inc(x_24); +x_28 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_28, 0, x_24); +lean::cnstr_set(x_28, 1, x_25); +lean::cnstr_set(x_28, 2, x_24); +x_29 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_29, 0, x_28); +x_30 = l_string_join___closed__1; +x_31 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_31, 0, x_29); +lean::cnstr_set(x_31, 1, x_30); +x_32 = lean::alloc_cnstr(0, 1, 0); lean::cnstr_set(x_32, 0, x_31); -lean::cnstr_set(x_32, 1, x_5); -x_33 = lean::apply_4(x_28, lean::box(0), x_32, x_1, x_2); -return x_33; +x_33 = lean::box(0); +x_34 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_34, 0, x_32); +lean::cnstr_set(x_34, 1, x_33); +x_35 = l_lean_parser_module_eoi; +x_36 = l_lean_parser_syntax_mk__node(x_35, x_34); +if (lean::is_scalar(x_19)) { + x_37 = lean::alloc_cnstr(0, 2, 0); +} else { + x_37 = x_19; +} +lean::cnstr_set(x_37, 0, x_36); +lean::cnstr_set(x_37, 1, x_17); +x_38 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +if (lean::is_scalar(x_16)) { + x_39 = lean::alloc_cnstr(0, 3, 0); +} else { + x_39 = x_16; +} +lean::cnstr_set(x_39, 0, x_37); +lean::cnstr_set(x_39, 1, x_12); +lean::cnstr_set(x_39, 2, x_38); +x_40 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_14, x_39); +if (lean::is_scalar(x_11)) { + x_41 = lean::alloc_cnstr(0, 2, 0); +} else { + x_41 = x_11; +} +lean::cnstr_set(x_41, 0, x_40); +lean::cnstr_set(x_41, 1, x_9); +return x_41; +} +else +{ +obj* x_42; obj* x_44; obj* x_45; uint8 x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51; +x_42 = lean::cnstr_get(x_4, 1); +if (lean::is_exclusive(x_4)) { + lean::cnstr_release(x_4, 0); + x_44 = x_4; +} else { + lean::inc(x_42); + lean::dec(x_4); + x_44 = lean::box(0); +} +x_45 = lean::cnstr_get(x_5, 0); +x_47 = lean::cnstr_get_scalar(x_5, sizeof(void*)*1); +if (lean::is_exclusive(x_5)) { + x_48 = x_5; +} else { + lean::inc(x_45); + lean::dec(x_5); + x_48 = lean::box(0); +} +if (lean::is_scalar(x_48)) { + x_49 = lean::alloc_cnstr(1, 1, 1); +} else { + x_49 = x_48; +} +lean::cnstr_set(x_49, 0, x_45); +lean::cnstr_set_scalar(x_49, sizeof(void*)*1, x_47); +x_50 = x_49; +if (lean::is_scalar(x_44)) { + x_51 = lean::alloc_cnstr(0, 2, 0); +} else { + x_51 = x_44; +} +lean::cnstr_set(x_51, 0, x_50); +lean::cnstr_set(x_51, 1, x_42); +return x_51; } } } -obj* _init_l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___closed__1() { +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5, obj* x_6, obj* x_7) { +_start: +{ +obj* x_8; +x_8 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_0, x_1, x_2, x_3, x_4, x_5, x_6, x_7); +lean::dec(x_2); +lean::dec(x_4); +lean::dec(x_5); +lean::dec(x_6); +return x_8; +} +} +obj* l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1(x_0, x_1, x_2, x_3); +lean::dec(x_1); +return x_4; +} +} +obj* l_lean_parser_module_eoi_parser___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_lean_parser_module_eoi_parser(x_0, x_1, x_2, x_3); +lean::dec(x_1); +return x_4; +} +} +obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { +_start: +{ +obj* x_5; obj* x_8; obj* x_11; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 0); +lean::inc(x_8); +lean::dec(x_5); +x_11 = lean::cnstr_get(x_8, 0); +lean::inc(x_11); +lean::dec(x_8); +x_14 = l_lean_parser_message__of__parsec__message___rarg(x_11, x_0); +x_15 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_15, 0, x_14); +lean::cnstr_set(x_15, 1, x_1); +x_16 = lean::box(0); +x_17 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_17, 0, x_16); +lean::cnstr_set(x_17, 1, x_15); +x_18 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_19 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_19, 0, x_17); +lean::cnstr_set(x_19, 1, x_3); +lean::cnstr_set(x_19, 2, x_18); +x_20 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_20, 0, x_19); +lean::cnstr_set(x_20, 1, x_4); +return x_20; +} +} +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +uint8 x_4; +x_4 = lean::string_iterator_has_next(x_2); +if (x_4 == 0) +{ +obj* x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_11; obj* x_13; obj* x_15; obj* x_16; obj* x_17; obj* x_18; +x_5 = lean::box(0); +x_6 = l_lean_parser_monad__parsec_eoi__error___rarg___closed__1; +x_7 = l_mjoin___rarg___closed__1; +x_8 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_6, x_7, x_5, x_5, x_0, x_1, x_2, x_3); +lean::dec(x_2); +lean::dec(x_0); +x_11 = lean::cnstr_get(x_8, 0); +x_13 = lean::cnstr_get(x_8, 1); +if (lean::is_exclusive(x_8)) { + x_15 = x_8; +} else { + lean::inc(x_11); + lean::inc(x_13); + lean::dec(x_8); + x_15 = lean::box(0); +} +x_16 = l_lean_parser_finish__comment__block___closed__2; +x_17 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_16, x_11); +if (lean::is_scalar(x_15)) { + x_18 = lean::alloc_cnstr(0, 2, 0); +} else { + x_18 = x_15; +} +lean::cnstr_set(x_18, 0, x_17); +lean::cnstr_set(x_18, 1, x_13); +return x_18; +} +else +{ +uint32 x_19; uint8 x_20; +x_19 = lean::string_iterator_curr(x_2); +x_20 = l_true_decidable; +if (x_20 == 0) +{ +obj* x_21; obj* x_22; obj* x_23; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_31; obj* x_33; obj* x_35; obj* x_36; obj* x_37; obj* x_38; +x_21 = l_char_quote__core(x_19); +x_22 = l_char_has__repr___closed__1; +x_23 = lean::string_append(x_22, x_21); +lean::dec(x_21); +x_25 = lean::string_append(x_23, x_22); +x_26 = lean::box(0); +x_27 = l_mjoin___rarg___closed__1; +x_28 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_25, x_27, x_26, x_26, x_0, x_1, x_2, x_3); +lean::dec(x_2); +lean::dec(x_0); +x_31 = lean::cnstr_get(x_28, 0); +x_33 = lean::cnstr_get(x_28, 1); +if (lean::is_exclusive(x_28)) { + x_35 = x_28; +} else { + lean::inc(x_31); + lean::inc(x_33); + lean::dec(x_28); + x_35 = lean::box(0); +} +x_36 = l_lean_parser_finish__comment__block___closed__2; +x_37 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_36, x_31); +if (lean::is_scalar(x_35)) { + x_38 = lean::alloc_cnstr(0, 2, 0); +} else { + x_38 = x_35; +} +lean::cnstr_set(x_38, 0, x_37); +lean::cnstr_set(x_38, 1, x_33); +return x_38; +} +else +{ +obj* x_39; obj* x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_44; +x_39 = lean::string_iterator_next(x_2); +x_40 = lean::box(0); +x_41 = lean::box_uint32(x_19); +x_42 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_42, 0, x_41); +lean::cnstr_set(x_42, 1, x_0); +x_43 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_43, 0, x_42); +lean::cnstr_set(x_43, 1, x_39); +lean::cnstr_set(x_43, 2, x_40); +x_44 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_44, 0, x_43); +lean::cnstr_set(x_44, 1, x_3); +return x_44; +} +} +} +} +obj* l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { +_start: +{ +obj* x_5; obj* x_8; obj* x_11; obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 0); +lean::inc(x_8); +lean::dec(x_5); +x_11 = lean::cnstr_get(x_8, 0); +lean::inc(x_11); +lean::dec(x_8); +x_14 = l_lean_parser_message__of__parsec__message___rarg(x_11, x_0); +x_15 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_15, 0, x_14); +lean::cnstr_set(x_15, 1, x_1); +x_16 = lean::box(0); +x_17 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_17, 0, x_16); +lean::cnstr_set(x_17, 1, x_15); +x_18 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_19 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_19, 0, x_17); +lean::cnstr_set(x_19, 1, x_3); +lean::cnstr_set(x_19, 2, x_18); +x_20 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_20, 0, x_19); +lean::cnstr_set(x_20, 1, x_4); +return x_20; +} +} +obj* _init_l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1() { +_start: +{ +obj* x_0; uint8 x_1; obj* x_2; obj* x_3; +x_0 = lean::box(0); +x_1 = 1; +x_2 = lean::box(x_1); +x_3 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_3, 0, x_2); +lean::cnstr_set(x_3, 1, x_0); +return x_3; +} +} +obj* _init_l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2() { _start: { obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___lambda__1), 3, 0); +x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_command_parser___boxed), 1, 0); return x_0; } } -obj* l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1(obj* x_0, obj* x_1, obj* x_2) { +obj* l___private_init_lean_parser_module_1__command__wrec__aux___main(uint8 x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { _start: { -obj* x_3; obj* x_4; obj* x_7; obj* x_8; obj* x_10; obj* x_11; obj* x_12; -x_3 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_4 = lean::cnstr_get(x_3, 1); -lean::inc(x_4); +obj* x_6; uint8 x_7; +x_6 = lean::mk_nat_obj(0u); +x_7 = lean::nat_dec_eq(x_1, x_6); +if (x_7 == 0) +{ +obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_14; obj* x_15; uint8 x_17; uint8 x_19; +x_8 = lean::mk_nat_obj(1u); +x_9 = lean::nat_sub(x_1, x_8); +x_10 = lean::string_iterator_remaining(x_4); +x_19 = lean::nat_dec_eq(x_10, x_6); +lean::dec(x_10); +if (x_19 == 0) +{ +if (x_0 == 0) +{ +uint8 x_21; +x_21 = 1; +x_17 = x_21; +goto lbl_18; +} +else +{ +uint8 x_22; +x_22 = 0; +x_17 = x_22; +goto lbl_18; +} +} +else +{ +obj* x_24; obj* x_26; +lean::dec(x_9); +x_24 = l_lean_parser_module_eoi_parser(x_2, x_3, x_4, x_5); lean::dec(x_3); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_7, 0, x_0); -x_8 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; +x_26 = lean::cnstr_get(x_24, 0); +lean::inc(x_26); +if (lean::obj_tag(x_26) == 0) +{ +obj* x_28; obj* x_30; obj* x_32; obj* x_33; obj* x_35; obj* x_37; obj* x_38; obj* x_40; obj* x_42; uint8 x_43; obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_49; obj* x_50; obj* x_51; obj* x_52; +x_28 = lean::cnstr_get(x_26, 0); +lean::inc(x_28); +x_30 = lean::cnstr_get(x_24, 1); +if (lean::is_exclusive(x_24)) { + lean::cnstr_release(x_24, 0); + x_32 = x_24; +} else { + lean::inc(x_30); + lean::dec(x_24); + x_32 = lean::box(0); +} +x_33 = lean::cnstr_get(x_26, 1); +x_35 = lean::cnstr_get(x_26, 2); +if (lean::is_exclusive(x_26)) { + lean::cnstr_release(x_26, 0); + x_37 = x_26; +} else { + lean::inc(x_33); + lean::inc(x_35); + lean::dec(x_26); + x_37 = lean::box(0); +} +x_38 = lean::cnstr_get(x_28, 0); +x_40 = lean::cnstr_get(x_28, 1); +if (lean::is_exclusive(x_28)) { + x_42 = x_28; +} else { + lean::inc(x_38); + lean::inc(x_40); + lean::dec(x_28); + x_42 = lean::box(0); +} +x_43 = 0; +x_44 = lean::box(x_43); +if (lean::is_scalar(x_42)) { + x_45 = lean::alloc_cnstr(0, 2, 0); +} else { + x_45 = x_42; +} +lean::cnstr_set(x_45, 0, x_44); +lean::cnstr_set(x_45, 1, x_38); +if (lean::is_scalar(x_32)) { + x_46 = lean::alloc_cnstr(0, 2, 0); +} else { + x_46 = x_32; +} +lean::cnstr_set(x_46, 0, x_45); +lean::cnstr_set(x_46, 1, x_40); +x_47 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_37)) { + x_48 = lean::alloc_cnstr(0, 3, 0); +} else { + x_48 = x_37; +} +lean::cnstr_set(x_48, 0, x_46); +lean::cnstr_set(x_48, 1, x_33); +lean::cnstr_set(x_48, 2, x_47); +x_49 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_35, x_48); +x_50 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_51 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_50, x_49); +x_52 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_52, 0, x_51); +lean::cnstr_set(x_52, 1, x_30); +return x_52; +} +else +{ +obj* x_53; obj* x_55; obj* x_56; uint8 x_58; obj* x_59; obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; +x_53 = lean::cnstr_get(x_24, 1); +if (lean::is_exclusive(x_24)) { + lean::cnstr_release(x_24, 0); + x_55 = x_24; +} else { + lean::inc(x_53); + lean::dec(x_24); + x_55 = lean::box(0); +} +x_56 = lean::cnstr_get(x_26, 0); +x_58 = lean::cnstr_get_scalar(x_26, sizeof(void*)*1); +if (lean::is_exclusive(x_26)) { + x_59 = x_26; +} else { + lean::inc(x_56); + lean::dec(x_26); + x_59 = lean::box(0); +} +if (lean::is_scalar(x_59)) { + x_60 = lean::alloc_cnstr(1, 1, 1); +} else { + x_60 = x_59; +} +lean::cnstr_set(x_60, 0, x_56); +lean::cnstr_set_scalar(x_60, sizeof(void*)*1, x_58); +x_61 = x_60; +x_62 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_63 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_62, x_61); +if (lean::is_scalar(x_55)) { + x_64 = lean::alloc_cnstr(0, 2, 0); +} else { + x_64 = x_55; +} +lean::cnstr_set(x_64, 0, x_63); +lean::cnstr_set(x_64, 1, x_53); +return x_64; +} +} +lbl_13: +{ +if (lean::obj_tag(x_11) == 0) +{ +obj* x_65; obj* x_67; obj* x_69; +x_65 = lean::cnstr_get(x_11, 0); +lean::inc(x_65); +x_67 = lean::cnstr_get(x_65, 0); +lean::inc(x_67); +x_69 = lean::cnstr_get(x_67, 1); +lean::inc(x_69); +if (lean::obj_tag(x_69) == 0) +{ +obj* x_71; obj* x_73; obj* x_76; obj* x_79; uint8 x_82; obj* x_83; obj* x_85; obj* x_87; obj* x_89; obj* x_90; obj* x_91; obj* x_92; obj* x_93; +x_71 = lean::cnstr_get(x_11, 1); +lean::inc(x_71); +x_73 = lean::cnstr_get(x_11, 2); +lean::inc(x_73); +lean::dec(x_11); +x_76 = lean::cnstr_get(x_65, 1); +lean::inc(x_76); +lean::dec(x_65); +x_79 = lean::cnstr_get(x_67, 0); +lean::inc(x_79); +lean::dec(x_67); +x_82 = lean::unbox(x_79); +x_83 = l___private_init_lean_parser_module_1__command__wrec__aux___main(x_82, x_9, x_76, x_3, x_71, x_12); +lean::dec(x_9); +x_85 = lean::cnstr_get(x_83, 0); +x_87 = lean::cnstr_get(x_83, 1); +if (lean::is_exclusive(x_83)) { + x_89 = x_83; +} else { + lean::inc(x_85); + lean::inc(x_87); + lean::dec(x_83); + x_89 = lean::box(0); +} +x_90 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_73, x_85); +x_91 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_92 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_91, x_90); +if (lean::is_scalar(x_89)) { + x_93 = lean::alloc_cnstr(0, 2, 0); +} else { + x_93 = x_89; +} +lean::cnstr_set(x_93, 0, x_92); +lean::cnstr_set(x_93, 1, x_87); +return x_93; +} +else +{ +obj* x_96; obj* x_98; obj* x_100; obj* x_101; obj* x_103; obj* x_104; obj* x_106; obj* x_107; obj* x_110; obj* x_111; obj* x_112; obj* x_113; obj* x_114; obj* x_115; obj* x_116; obj* x_117; +lean::dec(x_9); +lean::dec(x_3); +x_96 = lean::cnstr_get(x_11, 1); +x_98 = lean::cnstr_get(x_11, 2); +if (lean::is_exclusive(x_11)) { + lean::cnstr_release(x_11, 0); + x_100 = x_11; +} else { + lean::inc(x_96); + lean::inc(x_98); + lean::dec(x_11); + x_100 = lean::box(0); +} +x_101 = lean::cnstr_get(x_65, 1); +if (lean::is_exclusive(x_65)) { + lean::cnstr_release(x_65, 0); + x_103 = x_65; +} else { + lean::inc(x_101); + lean::dec(x_65); + x_103 = lean::box(0); +} +x_104 = lean::cnstr_get(x_67, 0); +if (lean::is_exclusive(x_67)) { + lean::cnstr_release(x_67, 1); + x_106 = x_67; +} else { + lean::inc(x_104); + lean::dec(x_67); + x_106 = lean::box(0); +} +x_107 = lean::cnstr_get(x_69, 0); +lean::inc(x_107); +lean::dec(x_69); +if (lean::is_scalar(x_106)) { + x_110 = lean::alloc_cnstr(0, 2, 0); +} else { + x_110 = x_106; +} +lean::cnstr_set(x_110, 0, x_104); +lean::cnstr_set(x_110, 1, x_107); +if (lean::is_scalar(x_103)) { + x_111 = lean::alloc_cnstr(0, 2, 0); +} else { + x_111 = x_103; +} +lean::cnstr_set(x_111, 0, x_110); +lean::cnstr_set(x_111, 1, x_101); +x_112 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_100)) { + x_113 = lean::alloc_cnstr(0, 3, 0); +} else { + x_113 = x_100; +} +lean::cnstr_set(x_113, 0, x_111); +lean::cnstr_set(x_113, 1, x_96); +lean::cnstr_set(x_113, 2, x_112); +x_114 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_98, x_113); +x_115 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_116 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_115, x_114); +x_117 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_117, 0, x_116); +lean::cnstr_set(x_117, 1, x_12); +return x_117; +} +} +else +{ +obj* x_120; uint8 x_122; obj* x_123; obj* x_124; obj* x_125; obj* x_126; obj* x_127; obj* x_128; +lean::dec(x_9); +lean::dec(x_3); +x_120 = lean::cnstr_get(x_11, 0); +x_122 = lean::cnstr_get_scalar(x_11, sizeof(void*)*1); +if (lean::is_exclusive(x_11)) { + x_123 = x_11; +} else { + lean::inc(x_120); + lean::dec(x_11); + x_123 = lean::box(0); +} +if (lean::is_scalar(x_123)) { + x_124 = lean::alloc_cnstr(1, 1, 1); +} else { + x_124 = x_123; +} +lean::cnstr_set(x_124, 0, x_120); +lean::cnstr_set_scalar(x_124, sizeof(void*)*1, x_122); +x_125 = x_124; +x_126 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_127 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_126, x_125); +x_128 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_128, 0, x_127); +lean::cnstr_set(x_128, 1, x_12); +return x_128; +} +} +lbl_16: +{ +if (lean::obj_tag(x_14) == 0) +{ +lean::dec(x_2); +x_11 = x_14; +x_12 = x_15; +goto lbl_13; +} +else +{ +obj* x_130; uint8 x_132; obj* x_134; obj* x_138; obj* x_139; +x_130 = lean::cnstr_get(x_14, 0); +lean::inc(x_130); +x_132 = lean::cnstr_get_scalar(x_14, sizeof(void*)*1); +lean::dec(x_14); +x_134 = lean::cnstr_get(x_130, 0); +lean::inc(x_134); +lean::inc(x_3); +lean::inc(x_130); +x_138 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__1(x_130, x_2, x_3, x_134, x_15); +x_139 = lean::cnstr_get(x_138, 0); +lean::inc(x_139); +if (lean::obj_tag(x_139) == 0) +{ +obj* x_141; obj* x_143; obj* x_145; obj* x_146; obj* x_148; obj* x_150; obj* x_151; obj* x_153; obj* x_154; obj* x_157; obj* x_159; uint8 x_160; obj* x_161; obj* x_162; obj* x_163; obj* x_164; obj* x_165; obj* x_166; +x_141 = lean::cnstr_get(x_139, 0); +lean::inc(x_141); +x_143 = lean::cnstr_get(x_138, 1); +if (lean::is_exclusive(x_138)) { + lean::cnstr_release(x_138, 0); + x_145 = x_138; +} else { + lean::inc(x_143); + lean::dec(x_138); + x_145 = lean::box(0); +} +x_146 = lean::cnstr_get(x_139, 1); +x_148 = lean::cnstr_get(x_139, 2); +if (lean::is_exclusive(x_139)) { + lean::cnstr_release(x_139, 0); + x_150 = x_139; +} else { + lean::inc(x_146); + lean::inc(x_148); + lean::dec(x_139); + x_150 = lean::box(0); +} +x_151 = lean::cnstr_get(x_141, 1); +if (lean::is_exclusive(x_141)) { + lean::cnstr_release(x_141, 0); + x_153 = x_141; +} else { + lean::inc(x_151); + lean::dec(x_141); + x_153 = lean::box(0); +} +x_154 = lean::cnstr_get(x_130, 3); +lean::inc(x_154); +lean::dec(x_130); +x_157 = l_option_get___main___at_lean_parser_run___spec__2(x_154); +lean::dec(x_154); +x_159 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_159, 0, x_157); +x_160 = 1; +x_161 = lean::box(x_160); +if (lean::is_scalar(x_153)) { + x_162 = lean::alloc_cnstr(0, 2, 0); +} else { + x_162 = x_153; +} +lean::cnstr_set(x_162, 0, x_161); +lean::cnstr_set(x_162, 1, x_159); +if (lean::is_scalar(x_145)) { + x_163 = lean::alloc_cnstr(0, 2, 0); +} else { + x_163 = x_145; +} +lean::cnstr_set(x_163, 0, x_162); +lean::cnstr_set(x_163, 1, x_151); +x_164 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_150)) { + x_165 = lean::alloc_cnstr(0, 3, 0); +} else { + x_165 = x_150; +} +lean::cnstr_set(x_165, 0, x_163); +lean::cnstr_set(x_165, 1, x_146); +lean::cnstr_set(x_165, 2, x_164); +x_166 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_148, x_165); +if (lean::obj_tag(x_166) == 0) +{ +x_11 = x_166; +x_12 = x_143; +goto lbl_13; +} +else +{ +uint8 x_167; +x_167 = lean::cnstr_get_scalar(x_166, sizeof(void*)*1); +if (x_132 == 0) +{ +obj* x_168; obj* x_170; obj* x_171; obj* x_172; +x_168 = lean::cnstr_get(x_166, 0); +if (lean::is_exclusive(x_166)) { + x_170 = x_166; +} else { + lean::inc(x_168); + lean::dec(x_166); + x_170 = lean::box(0); +} +if (lean::is_scalar(x_170)) { + x_171 = lean::alloc_cnstr(1, 1, 1); +} else { + x_171 = x_170; +} +lean::cnstr_set(x_171, 0, x_168); +lean::cnstr_set_scalar(x_171, sizeof(void*)*1, x_167); +x_172 = x_171; +x_11 = x_172; +x_12 = x_143; +goto lbl_13; +} +else +{ +obj* x_173; obj* x_175; obj* x_176; obj* x_177; +x_173 = lean::cnstr_get(x_166, 0); +if (lean::is_exclusive(x_166)) { + x_175 = x_166; +} else { + lean::inc(x_173); + lean::dec(x_166); + x_175 = lean::box(0); +} +if (lean::is_scalar(x_175)) { + x_176 = lean::alloc_cnstr(1, 1, 1); +} else { + x_176 = x_175; +} +lean::cnstr_set(x_176, 0, x_173); +lean::cnstr_set_scalar(x_176, sizeof(void*)*1, x_132); +x_177 = x_176; +x_11 = x_177; +x_12 = x_143; +goto lbl_13; +} +} +} +else +{ +uint8 x_179; +lean::dec(x_130); +x_179 = lean::cnstr_get_scalar(x_139, sizeof(void*)*1); +if (x_132 == 0) +{ +obj* x_180; obj* x_183; obj* x_185; obj* x_186; obj* x_187; +x_180 = lean::cnstr_get(x_138, 1); +lean::inc(x_180); +lean::dec(x_138); +x_183 = lean::cnstr_get(x_139, 0); +if (lean::is_exclusive(x_139)) { + x_185 = x_139; +} else { + lean::inc(x_183); + lean::dec(x_139); + x_185 = lean::box(0); +} +if (lean::is_scalar(x_185)) { + x_186 = lean::alloc_cnstr(1, 1, 1); +} else { + x_186 = x_185; +} +lean::cnstr_set(x_186, 0, x_183); +lean::cnstr_set_scalar(x_186, sizeof(void*)*1, x_179); +x_187 = x_186; +x_11 = x_187; +x_12 = x_180; +goto lbl_13; +} +else +{ +obj* x_188; obj* x_191; obj* x_193; obj* x_194; obj* x_195; +x_188 = lean::cnstr_get(x_138, 1); +lean::inc(x_188); +lean::dec(x_138); +x_191 = lean::cnstr_get(x_139, 0); +if (lean::is_exclusive(x_139)) { + x_193 = x_139; +} else { + lean::inc(x_191); + lean::dec(x_139); + x_193 = lean::box(0); +} +if (lean::is_scalar(x_193)) { + x_194 = lean::alloc_cnstr(1, 1, 1); +} else { + x_194 = x_193; +} +lean::cnstr_set(x_194, 0, x_191); +lean::cnstr_set_scalar(x_194, sizeof(void*)*1, x_132); +x_195 = x_194; +x_11 = x_195; +x_12 = x_188; +goto lbl_13; +} +} +} +} +lbl_18: +{ +obj* x_196; obj* x_197; obj* x_199; obj* x_201; obj* x_203; obj* x_205; obj* x_206; +x_199 = lean::cnstr_get(x_3, 1); +lean::inc(x_199); +x_201 = lean::cnstr_get(x_3, 0); +lean::inc(x_201); +x_203 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2; lean::inc(x_4); -x_10 = lean::apply_4(x_4, lean::box(0), lean::box(0), x_8, x_7); -x_11 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___closed__1; -x_12 = lean::apply_6(x_4, lean::box(0), lean::box(0), x_10, x_11, x_1, x_2); -return x_12; +x_205 = l_lean_parser_command__parser_run(x_199, x_203, x_201, x_4, x_5); +x_206 = lean::cnstr_get(x_205, 0); +lean::inc(x_206); +if (lean::obj_tag(x_206) == 0) +{ +obj* x_208; obj* x_210; obj* x_211; obj* x_213; obj* x_215; obj* x_217; obj* x_219; obj* x_220; obj* x_221; obj* x_222; +x_208 = lean::cnstr_get(x_205, 1); +if (lean::is_exclusive(x_205)) { + lean::cnstr_release(x_205, 0); + x_210 = x_205; +} else { + lean::inc(x_208); + lean::dec(x_205); + x_210 = lean::box(0); +} +x_211 = lean::cnstr_get(x_206, 0); +x_213 = lean::cnstr_get(x_206, 1); +x_215 = lean::cnstr_get(x_206, 2); +if (lean::is_exclusive(x_206)) { + x_217 = x_206; +} else { + lean::inc(x_211); + lean::inc(x_213); + lean::inc(x_215); + lean::dec(x_206); + x_217 = lean::box(0); +} +lean::inc(x_2); +if (lean::is_scalar(x_210)) { + x_219 = lean::alloc_cnstr(0, 2, 0); +} else { + x_219 = x_210; +} +lean::cnstr_set(x_219, 0, x_211); +lean::cnstr_set(x_219, 1, x_2); +x_220 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_217)) { + x_221 = lean::alloc_cnstr(0, 3, 0); +} else { + x_221 = x_217; +} +lean::cnstr_set(x_221, 0, x_219); +lean::cnstr_set(x_221, 1, x_213); +lean::cnstr_set(x_221, 2, x_220); +x_222 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_215, x_221); +if (lean::obj_tag(x_222) == 0) +{ +obj* x_223; obj* x_225; obj* x_227; obj* x_229; obj* x_230; obj* x_232; obj* x_234; obj* x_235; uint8 x_236; obj* x_237; obj* x_238; obj* x_239; obj* x_240; obj* x_241; obj* x_242; obj* x_243; +x_223 = lean::cnstr_get(x_222, 0); +x_225 = lean::cnstr_get(x_222, 1); +x_227 = lean::cnstr_get(x_222, 2); +if (lean::is_exclusive(x_222)) { + x_229 = x_222; +} else { + lean::inc(x_223); + lean::inc(x_225); + lean::inc(x_227); + lean::dec(x_222); + x_229 = lean::box(0); +} +x_230 = lean::cnstr_get(x_223, 0); +x_232 = lean::cnstr_get(x_223, 1); +if (lean::is_exclusive(x_223)) { + x_234 = x_223; +} else { + lean::inc(x_230); + lean::inc(x_232); + lean::dec(x_223); + x_234 = lean::box(0); +} +x_235 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_235, 0, x_230); +x_236 = 0; +x_237 = lean::box(x_236); +if (lean::is_scalar(x_234)) { + x_238 = lean::alloc_cnstr(0, 2, 0); +} else { + x_238 = x_234; +} +lean::cnstr_set(x_238, 0, x_237); +lean::cnstr_set(x_238, 1, x_235); +x_239 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_239, 0, x_238); +lean::cnstr_set(x_239, 1, x_232); +if (lean::is_scalar(x_229)) { + x_240 = lean::alloc_cnstr(0, 3, 0); +} else { + x_240 = x_229; +} +lean::cnstr_set(x_240, 0, x_239); +lean::cnstr_set(x_240, 1, x_225); +lean::cnstr_set(x_240, 2, x_220); +x_241 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_227, x_240); +x_242 = l_lean_parser_finish__comment__block___closed__2; +x_243 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_242, x_241); +x_196 = x_243; +x_197 = x_208; +goto lbl_198; +} +else +{ +obj* x_244; uint8 x_246; obj* x_247; obj* x_248; obj* x_249; obj* x_250; obj* x_251; +x_244 = lean::cnstr_get(x_222, 0); +x_246 = lean::cnstr_get_scalar(x_222, sizeof(void*)*1); +if (lean::is_exclusive(x_222)) { + x_247 = x_222; +} else { + lean::inc(x_244); + lean::dec(x_222); + x_247 = lean::box(0); +} +if (lean::is_scalar(x_247)) { + x_248 = lean::alloc_cnstr(1, 1, 1); +} else { + x_248 = x_247; +} +lean::cnstr_set(x_248, 0, x_244); +lean::cnstr_set_scalar(x_248, sizeof(void*)*1, x_246); +x_249 = x_248; +x_250 = l_lean_parser_finish__comment__block___closed__2; +x_251 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_250, x_249); +x_196 = x_251; +x_197 = x_208; +goto lbl_198; } } -obj* l_lean_parser_module_parser___lambda__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +else +{ +obj* x_252; obj* x_255; uint8 x_257; obj* x_258; obj* x_259; obj* x_260; obj* x_261; obj* x_262; +x_252 = lean::cnstr_get(x_205, 1); +lean::inc(x_252); +lean::dec(x_205); +x_255 = lean::cnstr_get(x_206, 0); +x_257 = lean::cnstr_get_scalar(x_206, sizeof(void*)*1); +if (lean::is_exclusive(x_206)) { + x_258 = x_206; +} else { + lean::inc(x_255); + lean::dec(x_206); + x_258 = lean::box(0); +} +if (lean::is_scalar(x_258)) { + x_259 = lean::alloc_cnstr(1, 1, 1); +} else { + x_259 = x_258; +} +lean::cnstr_set(x_259, 0, x_255); +lean::cnstr_set_scalar(x_259, sizeof(void*)*1, x_257); +x_260 = x_259; +x_261 = l_lean_parser_finish__comment__block___closed__2; +x_262 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_261, x_260); +x_196 = x_262; +x_197 = x_252; +goto lbl_198; +} +lbl_198: +{ +if (lean::obj_tag(x_196) == 0) +{ +lean::dec(x_4); +x_14 = x_196; +x_15 = x_197; +goto lbl_16; +} +else +{ +obj* x_264; uint8 x_266; obj* x_267; obj* x_268; +x_264 = lean::cnstr_get(x_196, 0); +lean::inc(x_264); +x_266 = lean::cnstr_get_scalar(x_196, sizeof(void*)*1); +if (x_266 == 0) +{ +lean::dec(x_196); +if (x_17 == 0) +{ +obj* x_271; obj* x_273; obj* x_274; obj* x_275; +x_271 = lean::box(0); +lean::inc(x_2); +x_273 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_273, 0, x_271); +lean::cnstr_set(x_273, 1, x_2); +x_274 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +x_275 = lean::alloc_cnstr(0, 3, 0); +lean::cnstr_set(x_275, 0, x_273); +lean::cnstr_set(x_275, 1, x_4); +lean::cnstr_set(x_275, 2, x_274); +x_267 = x_275; +x_268 = x_197; +goto lbl_269; +} +else +{ +obj* x_276; obj* x_277; obj* x_278; obj* x_280; obj* x_283; obj* x_284; obj* x_286; obj* x_289; obj* x_290; +x_276 = l_string_join___closed__1; +x_277 = l_lean_parser_command_parser___rarg___closed__1; +x_278 = l_lean_parser_parsec__t_monad__fail___rarg___closed__1; +lean::inc(x_4); +x_280 = lean::alloc_cnstr(0, 4, 0); +lean::cnstr_set(x_280, 0, x_4); +lean::cnstr_set(x_280, 1, x_276); +lean::cnstr_set(x_280, 2, x_277); +lean::cnstr_set(x_280, 3, x_278); +lean::inc(x_3); +lean::inc(x_2); +x_283 = l_lean_parser_log__message___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__3(x_280, x_2, x_3, x_4, x_197); +x_284 = lean::cnstr_get(x_283, 0); +lean::inc(x_284); +x_286 = lean::cnstr_get(x_283, 1); +lean::inc(x_286); +lean::dec(x_283); +x_289 = l_lean_parser_finish__comment__block___closed__2; +x_290 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_289, x_284); +x_267 = x_290; +x_268 = x_286; +goto lbl_269; +} +} +else +{ +lean::dec(x_264); +lean::dec(x_4); +x_14 = x_196; +x_15 = x_197; +goto lbl_16; +} +lbl_269: +{ +if (lean::obj_tag(x_267) == 0) +{ +obj* x_293; obj* x_295; obj* x_297; obj* x_300; obj* x_301; obj* x_303; obj* x_306; obj* x_307; obj* x_309; obj* x_311; obj* x_315; obj* x_316; +x_293 = lean::cnstr_get(x_267, 0); +lean::inc(x_293); +x_295 = lean::cnstr_get(x_267, 1); +lean::inc(x_295); +x_297 = lean::cnstr_get(x_267, 2); +lean::inc(x_297); +lean::dec(x_267); +x_303 = lean::cnstr_get(x_293, 1); +lean::inc(x_303); +lean::dec(x_293); +x_309 = lean::cnstr_get(x_3, 0); +lean::inc(x_309); +x_311 = lean::cnstr_get(x_309, 0); +lean::inc(x_311); +lean::dec(x_309); +lean::inc(x_295); +x_315 = l_lean_parser_token(x_311, x_295, x_268); +x_316 = lean::cnstr_get(x_315, 0); +lean::inc(x_316); +if (lean::obj_tag(x_316) == 0) +{ +obj* x_318; obj* x_320; obj* x_321; obj* x_323; obj* x_325; obj* x_327; obj* x_329; obj* x_330; obj* x_331; obj* x_332; +x_318 = lean::cnstr_get(x_315, 1); +if (lean::is_exclusive(x_315)) { + lean::cnstr_release(x_315, 0); + x_320 = x_315; +} else { + lean::inc(x_318); + lean::dec(x_315); + x_320 = lean::box(0); +} +x_321 = lean::cnstr_get(x_316, 0); +x_323 = lean::cnstr_get(x_316, 1); +x_325 = lean::cnstr_get(x_316, 2); +if (lean::is_exclusive(x_316)) { + x_327 = x_316; +} else { + lean::inc(x_321); + lean::inc(x_323); + lean::inc(x_325); + lean::dec(x_316); + x_327 = lean::box(0); +} +lean::inc(x_303); +if (lean::is_scalar(x_320)) { + x_329 = lean::alloc_cnstr(0, 2, 0); +} else { + x_329 = x_320; +} +lean::cnstr_set(x_329, 0, x_321); +lean::cnstr_set(x_329, 1, x_303); +x_330 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_327)) { + x_331 = lean::alloc_cnstr(0, 3, 0); +} else { + x_331 = x_327; +} +lean::cnstr_set(x_331, 0, x_329); +lean::cnstr_set(x_331, 1, x_323); +lean::cnstr_set(x_331, 2, x_330); +x_332 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_325, x_331); +if (lean::obj_tag(x_332) == 0) +{ +obj* x_333; obj* x_335; obj* x_337; obj* x_339; obj* x_340; obj* x_342; obj* x_343; obj* x_344; obj* x_345; obj* x_346; obj* x_347; +x_333 = lean::cnstr_get(x_332, 0); +x_335 = lean::cnstr_get(x_332, 1); +x_337 = lean::cnstr_get(x_332, 2); +if (lean::is_exclusive(x_332)) { + x_339 = x_332; +} else { + lean::inc(x_333); + lean::inc(x_335); + lean::inc(x_337); + lean::dec(x_332); + x_339 = lean::box(0); +} +x_340 = lean::cnstr_get(x_333, 1); +if (lean::is_exclusive(x_333)) { + lean::cnstr_release(x_333, 0); + x_342 = x_333; +} else { + lean::inc(x_340); + lean::dec(x_333); + x_342 = lean::box(0); +} +x_343 = lean::box(0); +if (lean::is_scalar(x_342)) { + x_344 = lean::alloc_cnstr(0, 2, 0); +} else { + x_344 = x_342; +} +lean::cnstr_set(x_344, 0, x_343); +lean::cnstr_set(x_344, 1, x_340); +if (lean::is_scalar(x_339)) { + x_345 = lean::alloc_cnstr(0, 3, 0); +} else { + x_345 = x_339; +} +lean::cnstr_set(x_345, 0, x_344); +lean::cnstr_set(x_345, 1, x_335); +lean::cnstr_set(x_345, 2, x_330); +x_346 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_337, x_345); +x_347 = l_lean_parser_parsec__t_try__mk__res___rarg(x_346); +x_306 = x_347; +x_307 = x_318; +goto lbl_308; +} +else +{ +obj* x_348; obj* x_350; uint8 x_351; obj* x_352; obj* x_353; +x_348 = lean::cnstr_get(x_332, 0); +if (lean::is_exclusive(x_332)) { + x_350 = x_332; +} else { + lean::inc(x_348); + lean::dec(x_332); + x_350 = lean::box(0); +} +x_351 = 0; +if (lean::is_scalar(x_350)) { + x_352 = lean::alloc_cnstr(1, 1, 1); +} else { + x_352 = x_350; +} +lean::cnstr_set(x_352, 0, x_348); +lean::cnstr_set_scalar(x_352, sizeof(void*)*1, x_351); +x_353 = x_352; +x_306 = x_353; +x_307 = x_318; +goto lbl_308; +} +} +else +{ +obj* x_354; obj* x_357; obj* x_359; uint8 x_360; obj* x_361; obj* x_362; +x_354 = lean::cnstr_get(x_315, 1); +lean::inc(x_354); +lean::dec(x_315); +x_357 = lean::cnstr_get(x_316, 0); +if (lean::is_exclusive(x_316)) { + x_359 = x_316; +} else { + lean::inc(x_357); + lean::dec(x_316); + x_359 = lean::box(0); +} +x_360 = 0; +if (lean::is_scalar(x_359)) { + x_361 = lean::alloc_cnstr(1, 1, 1); +} else { + x_361 = x_359; +} +lean::cnstr_set(x_361, 0, x_357); +lean::cnstr_set_scalar(x_361, sizeof(void*)*1, x_360); +x_362 = x_361; +x_306 = x_362; +x_307 = x_354; +goto lbl_308; +} +lbl_302: +{ +if (lean::obj_tag(x_300) == 0) +{ +obj* x_363; obj* x_365; obj* x_367; obj* x_369; obj* x_370; obj* x_372; obj* x_373; obj* x_374; obj* x_375; obj* x_376; obj* x_377; obj* x_378; obj* x_379; +x_363 = lean::cnstr_get(x_300, 0); +x_365 = lean::cnstr_get(x_300, 1); +x_367 = lean::cnstr_get(x_300, 2); +if (lean::is_exclusive(x_300)) { + x_369 = x_300; +} else { + lean::inc(x_363); + lean::inc(x_365); + lean::inc(x_367); + lean::dec(x_300); + x_369 = lean::box(0); +} +x_370 = lean::cnstr_get(x_363, 1); +if (lean::is_exclusive(x_363)) { + lean::cnstr_release(x_363, 0); + x_372 = x_363; +} else { + lean::inc(x_370); + lean::dec(x_363); + x_372 = lean::box(0); +} +x_373 = l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1; +if (lean::is_scalar(x_372)) { + x_374 = lean::alloc_cnstr(0, 2, 0); +} else { + x_374 = x_372; +} +lean::cnstr_set(x_374, 0, x_373); +lean::cnstr_set(x_374, 1, x_370); +x_375 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_369)) { + x_376 = lean::alloc_cnstr(0, 3, 0); +} else { + x_376 = x_369; +} +lean::cnstr_set(x_376, 0, x_374); +lean::cnstr_set(x_376, 1, x_365); +lean::cnstr_set(x_376, 2, x_375); +x_377 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_367, x_376); +x_378 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_297, x_377); +x_379 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_264, x_378); +x_14 = x_379; +x_15 = x_301; +goto lbl_16; +} +else +{ +obj* x_380; uint8 x_382; obj* x_383; obj* x_384; obj* x_385; obj* x_386; obj* x_387; +x_380 = lean::cnstr_get(x_300, 0); +x_382 = lean::cnstr_get_scalar(x_300, sizeof(void*)*1); +if (lean::is_exclusive(x_300)) { + x_383 = x_300; +} else { + lean::inc(x_380); + lean::dec(x_300); + x_383 = lean::box(0); +} +if (lean::is_scalar(x_383)) { + x_384 = lean::alloc_cnstr(1, 1, 1); +} else { + x_384 = x_383; +} +lean::cnstr_set(x_384, 0, x_380); +lean::cnstr_set_scalar(x_384, sizeof(void*)*1, x_382); +x_385 = x_384; +x_386 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_297, x_385); +x_387 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_264, x_386); +x_14 = x_387; +x_15 = x_301; +goto lbl_16; +} +} +lbl_308: +{ +if (lean::obj_tag(x_306) == 0) +{ +lean::dec(x_303); +lean::dec(x_295); +x_300 = x_306; +x_301 = x_307; +goto lbl_302; +} +else +{ +uint8 x_390; +x_390 = lean::cnstr_get_scalar(x_306, sizeof(void*)*1); +if (x_390 == 0) +{ +obj* x_391; obj* x_394; obj* x_395; +x_391 = lean::cnstr_get(x_306, 0); +lean::inc(x_391); +lean::dec(x_306); +x_394 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(x_303, x_3, x_295, x_307); +x_395 = lean::cnstr_get(x_394, 0); +lean::inc(x_395); +if (lean::obj_tag(x_395) == 0) +{ +obj* x_397; obj* x_399; obj* x_402; obj* x_404; obj* x_406; obj* x_407; obj* x_409; obj* x_410; obj* x_411; obj* x_412; obj* x_413; obj* x_414; obj* x_415; +x_397 = lean::cnstr_get(x_395, 0); +lean::inc(x_397); +x_399 = lean::cnstr_get(x_394, 1); +lean::inc(x_399); +lean::dec(x_394); +x_402 = lean::cnstr_get(x_395, 1); +x_404 = lean::cnstr_get(x_395, 2); +if (lean::is_exclusive(x_395)) { + lean::cnstr_release(x_395, 0); + x_406 = x_395; +} else { + lean::inc(x_402); + lean::inc(x_404); + lean::dec(x_395); + x_406 = lean::box(0); +} +x_407 = lean::cnstr_get(x_397, 1); +if (lean::is_exclusive(x_397)) { + lean::cnstr_release(x_397, 0); + x_409 = x_397; +} else { + lean::inc(x_407); + lean::dec(x_397); + x_409 = lean::box(0); +} +x_410 = lean::box(0); +if (lean::is_scalar(x_409)) { + x_411 = lean::alloc_cnstr(0, 2, 0); +} else { + x_411 = x_409; +} +lean::cnstr_set(x_411, 0, x_410); +lean::cnstr_set(x_411, 1, x_407); +x_412 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_406)) { + x_413 = lean::alloc_cnstr(0, 3, 0); +} else { + x_413 = x_406; +} +lean::cnstr_set(x_413, 0, x_411); +lean::cnstr_set(x_413, 1, x_402); +lean::cnstr_set(x_413, 2, x_412); +x_414 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_404, x_413); +x_415 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_391, x_414); +x_300 = x_415; +x_301 = x_399; +goto lbl_302; +} +else +{ +obj* x_416; obj* x_419; uint8 x_421; obj* x_422; obj* x_423; obj* x_424; obj* x_425; +x_416 = lean::cnstr_get(x_394, 1); +lean::inc(x_416); +lean::dec(x_394); +x_419 = lean::cnstr_get(x_395, 0); +x_421 = lean::cnstr_get_scalar(x_395, sizeof(void*)*1); +if (lean::is_exclusive(x_395)) { + x_422 = x_395; +} else { + lean::inc(x_419); + lean::dec(x_395); + x_422 = lean::box(0); +} +if (lean::is_scalar(x_422)) { + x_423 = lean::alloc_cnstr(1, 1, 1); +} else { + x_423 = x_422; +} +lean::cnstr_set(x_423, 0, x_419); +lean::cnstr_set_scalar(x_423, sizeof(void*)*1, x_421); +x_424 = x_423; +x_425 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_391, x_424); +x_300 = x_425; +x_301 = x_416; +goto lbl_302; +} +} +else +{ +lean::dec(x_303); +lean::dec(x_295); +x_300 = x_306; +x_301 = x_307; +goto lbl_302; +} +} +} +} +else +{ +obj* x_428; uint8 x_430; obj* x_431; obj* x_432; obj* x_433; obj* x_434; +x_428 = lean::cnstr_get(x_267, 0); +x_430 = lean::cnstr_get_scalar(x_267, sizeof(void*)*1); +if (lean::is_exclusive(x_267)) { + x_431 = x_267; +} else { + lean::inc(x_428); + lean::dec(x_267); + x_431 = lean::box(0); +} +if (lean::is_scalar(x_431)) { + x_432 = lean::alloc_cnstr(1, 1, 1); +} else { + x_432 = x_431; +} +lean::cnstr_set(x_432, 0, x_428); +lean::cnstr_set_scalar(x_432, sizeof(void*)*1, x_430); +x_433 = x_432; +x_434 = l_lean_parser_parsec__t_orelse__mk__res___rarg(x_264, x_433); +x_14 = x_434; +x_15 = x_268; +goto lbl_16; +} +} +} +} +} +} +else +{ +obj* x_435; obj* x_436; obj* x_437; obj* x_438; +x_435 = lean::box(0); +x_436 = l___private_init_lean_parser_combinators_1__many1__aux___main___rarg___closed__1; +x_437 = l_mjoin___rarg___closed__1; +x_438 = l_lean_parser_monad__parsec_error___at_lean_parser_module_eoi_parser___spec__2___rarg(x_436, x_437, x_435, x_435, x_2, x_3, x_4, x_5); +lean::dec(x_4); +lean::dec(x_3); +lean::dec(x_2); +return x_438; +} +} +} +obj* l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__command__wrec__aux___main___spec__2(x_0, x_1, x_2, x_3); +lean::dec(x_1); +return x_4; +} +} +obj* l___private_init_lean_parser_module_1__command__wrec__aux___main___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +_start: +{ +uint8 x_6; obj* x_7; +x_6 = lean::unbox(x_0); +x_7 = l___private_init_lean_parser_module_1__command__wrec__aux___main(x_6, x_1, x_2, x_3, x_4, x_5); +lean::dec(x_1); +return x_7; +} +} +obj* l___private_init_lean_parser_module_1__command__wrec__aux(uint8 x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +_start: +{ +obj* x_6; +x_6 = l___private_init_lean_parser_module_1__command__wrec__aux___main(x_0, x_1, x_2, x_3, x_4, x_5); +return x_6; +} +} +obj* l___private_init_lean_parser_module_1__command__wrec__aux___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +_start: +{ +uint8 x_6; obj* x_7; +x_6 = lean::unbox(x_0); +x_7 = l___private_init_lean_parser_module_1__command__wrec__aux(x_6, x_1, x_2, x_3, x_4, x_5); +lean::dec(x_1); +return x_7; +} +} +obj* l_lean_parser_module_parse__command__with__recovery(uint8 x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { +_start: +{ +obj* x_5; obj* x_6; obj* x_7; obj* x_9; obj* x_11; obj* x_13; obj* x_15; obj* x_16; obj* x_17; obj* x_18; +x_5 = lean::string_iterator_remaining(x_3); +x_6 = lean::mk_nat_obj(1u); +x_7 = lean::nat_add(x_5, x_6); +lean::dec(x_5); +x_9 = l___private_init_lean_parser_module_1__command__wrec__aux___main(x_0, x_7, x_1, x_2, x_3, x_4); +lean::dec(x_7); +x_11 = lean::cnstr_get(x_9, 0); +x_13 = lean::cnstr_get(x_9, 1); +if (lean::is_exclusive(x_9)) { + x_15 = x_9; +} else { + lean::inc(x_11); + lean::inc(x_13); + lean::dec(x_9); + x_15 = lean::box(0); +} +x_16 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +x_17 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_16, x_11); +if (lean::is_scalar(x_15)) { + x_18 = lean::alloc_cnstr(0, 2, 0); +} else { + x_18 = x_15; +} +lean::cnstr_set(x_18, 0, x_17); +lean::cnstr_set(x_18, 1, x_13); +return x_18; +} +} +obj* l_lean_parser_module_parse__command__with__recovery___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { +_start: +{ +uint8 x_5; obj* x_6; +x_5 = lean::unbox(x_0); +x_6 = l_lean_parser_module_parse__command__with__recovery(x_5, x_1, x_2, x_3, x_4); +return x_6; +} +} +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; obj* x_5; +x_4 = lean::apply_2(x_0, x_1, x_3); +x_5 = lean::cnstr_get(x_4, 0); +lean::inc(x_5); +if (lean::obj_tag(x_5) == 0) +{ +obj* x_7; obj* x_9; obj* x_10; obj* x_13; obj* x_14; +x_7 = lean::cnstr_get(x_4, 1); +if (lean::is_exclusive(x_4)) { + lean::cnstr_release(x_4, 0); + x_9 = x_4; +} else { + lean::inc(x_7); + lean::dec(x_4); + x_9 = lean::box(0); +} +x_10 = lean::cnstr_get(x_5, 0); +lean::inc(x_10); +lean::dec(x_5); +x_13 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_13, 0, x_10); +if (lean::is_scalar(x_9)) { + x_14 = lean::alloc_cnstr(0, 2, 0); +} else { + x_14 = x_9; +} +lean::cnstr_set(x_14, 0, x_13); +lean::cnstr_set(x_14, 1, x_7); +return x_14; +} +else +{ +obj* x_15; obj* x_17; obj* x_18; obj* x_21; obj* x_22; +x_15 = lean::cnstr_get(x_4, 1); +if (lean::is_exclusive(x_4)) { + lean::cnstr_release(x_4, 0); + x_17 = x_4; +} else { + lean::inc(x_15); + lean::dec(x_4); + x_17 = lean::box(0); +} +x_18 = lean::cnstr_get(x_5, 0); +lean::inc(x_18); +lean::dec(x_5); +x_21 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_21, 0, x_18); +if (lean::is_scalar(x_17)) { + x_22 = lean::alloc_cnstr(0, 2, 0); +} else { + x_22 = x_17; +} +lean::cnstr_set(x_22, 0, x_21); +lean::cnstr_set(x_22, 1, x_15); +return x_22; +} +} +} +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg___boxed), 4, 0); +return x_2; +} +} +obj* l_lean_parser_resume__module__parser___rarg___lambda__1(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; obj* x_5; obj* x_6; +x_4 = l_lean_message__log_empty; +x_5 = lean::apply_4(x_0, x_4, x_1, x_2, x_3); +x_6 = lean::cnstr_get(x_5, 0); +lean::inc(x_6); +if (lean::obj_tag(x_6) == 0) +{ +obj* x_8; obj* x_10; obj* x_12; obj* x_13; obj* x_15; obj* x_17; obj* x_18; obj* x_20; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; +x_8 = lean::cnstr_get(x_6, 0); +lean::inc(x_8); +x_10 = lean::cnstr_get(x_5, 1); +if (lean::is_exclusive(x_5)) { + lean::cnstr_release(x_5, 0); + lean::cnstr_set(x_5, 1, lean::box(0)); + x_12 = x_5; +} else { + lean::inc(x_10); + lean::dec(x_5); + x_12 = lean::box(0); +} +x_13 = lean::cnstr_get(x_6, 1); +x_15 = lean::cnstr_get(x_6, 2); +if (lean::is_exclusive(x_6)) { + lean::cnstr_release(x_6, 0); + x_17 = x_6; +} else { + lean::inc(x_13); + lean::inc(x_15); + lean::dec(x_6); + x_17 = lean::box(0); +} +x_18 = lean::cnstr_get(x_8, 0); +x_20 = lean::cnstr_get(x_8, 1); +if (lean::is_exclusive(x_8)) { + x_22 = x_8; +} else { + lean::inc(x_18); + lean::inc(x_20); + lean::dec(x_8); + x_22 = lean::box(0); +} +x_23 = lean::alloc_closure(reinterpret_cast(l_list_zip___rarg___lambda__1), 2, 1); +lean::closure_set(x_23, 0, x_18); +if (lean::is_scalar(x_22)) { + x_24 = lean::alloc_cnstr(0, 2, 0); +} else { + x_24 = x_22; +} +lean::cnstr_set(x_24, 0, x_23); +lean::cnstr_set(x_24, 1, x_20); +x_25 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_17)) { + x_26 = lean::alloc_cnstr(0, 3, 0); +} else { + x_26 = x_17; +} +lean::cnstr_set(x_26, 0, x_24); +lean::cnstr_set(x_26, 1, x_13); +lean::cnstr_set(x_26, 2, x_25); +x_27 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_15, x_26); +if (lean::obj_tag(x_27) == 0) +{ +obj* x_28; obj* x_30; obj* x_32; obj* x_34; obj* x_35; obj* x_37; obj* x_39; obj* x_41; obj* x_42; obj* x_43; obj* x_44; obj* x_45; obj* x_46; +x_28 = lean::cnstr_get(x_27, 0); +x_30 = lean::cnstr_get(x_27, 1); +x_32 = lean::cnstr_get(x_27, 2); +if (lean::is_exclusive(x_27)) { + x_34 = x_27; +} else { + lean::inc(x_28); + lean::inc(x_30); + lean::inc(x_32); + lean::dec(x_27); + x_34 = lean::box(0); +} +x_35 = lean::cnstr_get(x_28, 0); +x_37 = lean::cnstr_get(x_28, 1); +if (lean::is_exclusive(x_28)) { + x_39 = x_28; +} else { + lean::inc(x_35); + lean::inc(x_37); + lean::dec(x_28); + x_39 = lean::box(0); +} +lean::inc(x_30); +x_41 = lean::apply_1(x_35, x_30); +if (lean::is_scalar(x_39)) { + x_42 = lean::alloc_cnstr(0, 2, 0); +} else { + x_42 = x_39; +} +lean::cnstr_set(x_42, 0, x_41); +lean::cnstr_set(x_42, 1, x_37); +x_43 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1; +if (lean::is_scalar(x_34)) { + x_44 = lean::alloc_cnstr(0, 3, 0); +} else { + x_44 = x_34; +} +lean::cnstr_set(x_44, 0, x_42); +lean::cnstr_set(x_44, 1, x_30); +lean::cnstr_set(x_44, 2, x_43); +x_45 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_32, x_44); +if (lean::is_scalar(x_12)) { + x_46 = lean::alloc_cnstr(0, 2, 0); +} else { + x_46 = x_12; +} +lean::cnstr_set(x_46, 0, x_45); +lean::cnstr_set(x_46, 1, x_10); +return x_46; +} +else +{ +obj* x_47; uint8 x_49; obj* x_50; obj* x_51; obj* x_52; obj* x_53; +x_47 = lean::cnstr_get(x_27, 0); +x_49 = lean::cnstr_get_scalar(x_27, sizeof(void*)*1); +if (lean::is_exclusive(x_27)) { + x_50 = x_27; +} else { + lean::inc(x_47); + lean::dec(x_27); + x_50 = lean::box(0); +} +if (lean::is_scalar(x_50)) { + x_51 = lean::alloc_cnstr(1, 1, 1); +} else { + x_51 = x_50; +} +lean::cnstr_set(x_51, 0, x_47); +lean::cnstr_set_scalar(x_51, sizeof(void*)*1, x_49); +x_52 = x_51; +if (lean::is_scalar(x_12)) { + x_53 = lean::alloc_cnstr(0, 2, 0); +} else { + x_53 = x_12; +} +lean::cnstr_set(x_53, 0, x_52); +lean::cnstr_set(x_53, 1, x_10); +return x_53; +} +} +else +{ +obj* x_54; obj* x_56; obj* x_57; uint8 x_59; obj* x_60; obj* x_61; obj* x_62; obj* x_63; +x_54 = lean::cnstr_get(x_5, 1); +if (lean::is_exclusive(x_5)) { + lean::cnstr_release(x_5, 0); + x_56 = x_5; +} else { + lean::inc(x_54); + lean::dec(x_5); + x_56 = lean::box(0); +} +x_57 = lean::cnstr_get(x_6, 0); +x_59 = lean::cnstr_get_scalar(x_6, sizeof(void*)*1); +if (lean::is_exclusive(x_6)) { + x_60 = x_6; +} else { + lean::inc(x_57); + lean::dec(x_6); + x_60 = lean::box(0); +} +if (lean::is_scalar(x_60)) { + x_61 = lean::alloc_cnstr(1, 1, 1); +} else { + x_61 = x_60; +} +lean::cnstr_set(x_61, 0, x_57); +lean::cnstr_set_scalar(x_61, sizeof(void*)*1, x_59); +x_62 = x_61; +if (lean::is_scalar(x_56)) { + x_63 = lean::alloc_cnstr(0, 2, 0); +} else { + x_63 = x_56; +} +lean::cnstr_set(x_63, 0, x_62); +lean::cnstr_set(x_63, 1, x_54); +return x_63; +} +} +} +obj* l_lean_parser_resume__module__parser___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_5; obj* x_6; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_14; +lean::inc(x_0); +x_5 = lean::alloc_closure(reinterpret_cast(l_lean_parser_resume__module__parser___rarg___lambda__1), 4, 2); +lean::closure_set(x_5, 0, x_3); +lean::closure_set(x_5, 1, x_0); +x_6 = lean::cnstr_get(x_1, 0); +lean::inc(x_6); +lean::dec(x_1); +x_9 = l_string_join___closed__1; +x_10 = l_lean_parser_run___rarg___closed__1; +x_11 = l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg(x_5, x_6, x_9, x_10); +x_12 = lean::cnstr_get(x_11, 0); +if (lean::is_exclusive(x_11)) { + lean::cnstr_set(x_11, 0, lean::box(0)); + lean::cnstr_release(x_11, 1); + x_14 = x_11; +} else { + lean::inc(x_12); + lean::dec(x_11); + x_14 = lean::box(0); +} +if (lean::obj_tag(x_12) == 0) +{ +obj* x_16; obj* x_19; obj* x_21; obj* x_23; obj* x_24; obj* x_27; obj* x_30; obj* x_33; obj* x_34; obj* x_35; obj* x_36; +lean::dec(x_2); +x_16 = lean::cnstr_get(x_12, 0); +lean::inc(x_16); +lean::dec(x_12); +x_19 = lean::cnstr_get(x_16, 3); +lean::inc(x_19); +x_21 = l_option_get___main___at_lean_parser_run___spec__2(x_19); +lean::dec(x_19); +x_23 = lean::alloc_cnstr(1, 1, 0); +lean::cnstr_set(x_23, 0, x_21); +x_24 = lean::cnstr_get(x_0, 0); +lean::inc(x_24); +lean::dec(x_0); +x_27 = lean::cnstr_get(x_24, 0); +lean::inc(x_27); +lean::dec(x_24); +x_30 = lean::cnstr_get(x_27, 0); +lean::inc(x_30); +lean::dec(x_27); +x_33 = l_lean_parser_message__of__parsec__message___rarg(x_30, x_16); +x_34 = l_lean_message__log_empty; +x_35 = lean::alloc_cnstr(1, 2, 0); +lean::cnstr_set(x_35, 0, x_33); +lean::cnstr_set(x_35, 1, x_34); +if (lean::is_scalar(x_14)) { + x_36 = lean::alloc_cnstr(0, 2, 0); +} else { + x_36 = x_14; +} +lean::cnstr_set(x_36, 0, x_23); +lean::cnstr_set(x_36, 1, x_35); +return x_36; +} +else +{ +obj* x_39; obj* x_42; obj* x_44; obj* x_47; obj* x_49; obj* x_51; obj* x_52; obj* x_53; obj* x_55; obj* x_57; uint8 x_58; obj* x_60; obj* x_61; obj* x_62; obj* x_63; obj* x_64; +lean::dec(x_14); +lean::dec(x_0); +x_39 = lean::cnstr_get(x_12, 0); +lean::inc(x_39); +lean::dec(x_12); +x_42 = lean::cnstr_get(x_39, 0); +lean::inc(x_42); +x_44 = lean::cnstr_get(x_39, 1); +lean::inc(x_44); +lean::dec(x_39); +x_47 = lean::cnstr_get(x_42, 0); +x_49 = lean::cnstr_get(x_42, 1); +if (lean::is_exclusive(x_42)) { + x_51 = x_42; +} else { + lean::inc(x_47); + lean::inc(x_49); + lean::dec(x_42); + x_51 = lean::box(0); +} +x_52 = lean::apply_1(x_2, x_47); +x_53 = lean::cnstr_get(x_52, 0); +x_55 = lean::cnstr_get(x_52, 1); +if (lean::is_exclusive(x_52)) { + x_57 = x_52; +} else { + lean::inc(x_53); + lean::inc(x_55); + lean::dec(x_52); + x_57 = lean::box(0); +} +x_58 = lean::cnstr_get_scalar(x_55, sizeof(void*)*1); +lean::dec(x_55); +x_60 = lean::alloc_cnstr(0, 1, 1); +lean::cnstr_set(x_60, 0, x_49); +lean::cnstr_set_scalar(x_60, sizeof(void*)*1, x_58); +x_61 = x_60; +if (lean::is_scalar(x_57)) { + x_62 = lean::alloc_cnstr(0, 2, 0); +} else { + x_62 = x_57; +} +lean::cnstr_set(x_62, 0, x_53); +lean::cnstr_set(x_62, 1, x_61); +x_63 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_63, 0, x_62); +if (lean::is_scalar(x_51)) { + x_64 = lean::alloc_cnstr(0, 2, 0); +} else { + x_64 = x_51; +} +lean::cnstr_set(x_64, 0, x_63); +lean::cnstr_set(x_64, 1, x_44); +return x_64; +} +} +} +obj* l_lean_parser_resume__module__parser(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_resume__module__parser___rarg), 4, 0); +return x_1; +} +} +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +_start: +{ +obj* x_4; +x_4 = l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___rarg(x_0, x_1, x_2, x_3); +lean::dec(x_2); +return x_4; +} +} +obj* l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_lean_parser_parsec__t_run__from___at_lean_parser_resume__module__parser___spec__1(x_0, x_1); +lean::dec(x_0); +lean::dec(x_1); +return x_2; +} +} +obj* l_lean_parser_resume__module__parser___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_parser_resume__module__parser(x_0); +lean::dec(x_0); +return x_1; +} +} +obj* l_state__t_bind___at_lean_parser_parse__header___spec__1___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +_start: +{ +obj* x_7; obj* x_8; +lean::inc(x_3); +x_7 = lean::apply_4(x_0, x_2, x_3, x_4, x_5); +x_8 = lean::cnstr_get(x_7, 0); +lean::inc(x_8); +if (lean::obj_tag(x_8) == 0) +{ +obj* x_10; obj* x_12; obj* x_15; obj* x_17; obj* x_20; obj* x_22; obj* x_25; obj* x_26; obj* x_28; obj* x_30; obj* x_31; obj* x_32; +x_10 = lean::cnstr_get(x_8, 0); +lean::inc(x_10); +x_12 = lean::cnstr_get(x_7, 1); +lean::inc(x_12); +lean::dec(x_7); +x_15 = lean::cnstr_get(x_8, 1); +lean::inc(x_15); +x_17 = lean::cnstr_get(x_8, 2); +lean::inc(x_17); +lean::dec(x_8); +x_20 = lean::cnstr_get(x_10, 0); +lean::inc(x_20); +x_22 = lean::cnstr_get(x_10, 1); +lean::inc(x_22); +lean::dec(x_10); +x_25 = lean::apply_5(x_1, x_20, x_22, x_3, x_15, x_12); +x_26 = lean::cnstr_get(x_25, 0); +x_28 = lean::cnstr_get(x_25, 1); +if (lean::is_exclusive(x_25)) { + x_30 = x_25; +} else { + lean::inc(x_26); + lean::inc(x_28); + lean::dec(x_25); + x_30 = lean::box(0); +} +x_31 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_17, x_26); +if (lean::is_scalar(x_30)) { + x_32 = lean::alloc_cnstr(0, 2, 0); +} else { + x_32 = x_30; +} +lean::cnstr_set(x_32, 0, x_31); +lean::cnstr_set(x_32, 1, x_28); +return x_32; +} +else +{ +obj* x_35; obj* x_37; obj* x_38; uint8 x_40; obj* x_41; obj* x_42; obj* x_43; obj* x_44; +lean::dec(x_1); +lean::dec(x_3); +x_35 = lean::cnstr_get(x_7, 1); +if (lean::is_exclusive(x_7)) { + lean::cnstr_release(x_7, 0); + x_37 = x_7; +} else { + lean::inc(x_35); + lean::dec(x_7); + x_37 = lean::box(0); +} +x_38 = lean::cnstr_get(x_8, 0); +x_40 = lean::cnstr_get_scalar(x_8, sizeof(void*)*1); +if (lean::is_exclusive(x_8)) { + x_41 = x_8; +} else { + lean::inc(x_38); + lean::dec(x_8); + x_41 = lean::box(0); +} +if (lean::is_scalar(x_41)) { + x_42 = lean::alloc_cnstr(1, 1, 1); +} else { + x_42 = x_41; +} +lean::cnstr_set(x_42, 0, x_38); +lean::cnstr_set_scalar(x_42, sizeof(void*)*1, x_40); +x_43 = x_42; +if (lean::is_scalar(x_37)) { + x_44 = lean::alloc_cnstr(0, 2, 0); +} else { + x_44 = x_37; +} +lean::cnstr_set(x_44, 0, x_43); +lean::cnstr_set(x_44, 1, x_35); +return x_44; +} +} +} +obj* l_state__t_bind___at_lean_parser_parse__header___spec__1(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_closure(reinterpret_cast(l_state__t_bind___at_lean_parser_parse__header___spec__1___rarg), 6, 0); +return x_2; +} +} +obj* l_lean_parser_parse__header___lambda__1(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_2, 0, x_1); +lean::cnstr_set(x_2, 1, x_0); +return x_2; +} +} +obj* l_lean_parser_parse__header___lambda__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { obj* x_4; obj* x_5; obj* x_6; obj* x_7; -x_4 = lean::cnstr_get(x_3, 0); +x_4 = lean::cnstr_get(x_1, 0); x_5 = lean::cnstr_get(x_4, 0); -x_6 = l_lean_parser_whitespace(x_5, x_1, x_2); +x_6 = l_lean_parser_whitespace(x_5, x_2, x_3); x_7 = lean::cnstr_get(x_6, 0); lean::inc(x_7); if (lean::obj_tag(x_7) == 0) { -obj* x_9; obj* x_11; obj* x_12; obj* x_14; obj* x_16; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; +obj* x_9; obj* x_11; obj* x_12; obj* x_14; obj* x_16; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; x_9 = lean::cnstr_get(x_6, 1); if (lean::is_exclusive(x_6)) { lean::cnstr_release(x_6, 0); @@ -6308,136 +5533,130 @@ x_22 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_16, x_21); x_23 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_23, 0, x_22); lean::cnstr_set(x_23, 1, x_9); -x_24 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_24, 0, x_23); -return x_24; +return x_23; } else { -obj* x_26; obj* x_28; obj* x_29; uint8 x_31; obj* x_32; obj* x_33; obj* x_34; obj* x_35; obj* x_36; +obj* x_25; obj* x_27; obj* x_28; uint8 x_30; obj* x_31; obj* x_32; obj* x_33; obj* x_34; lean::dec(x_0); -x_26 = lean::cnstr_get(x_6, 1); +x_25 = lean::cnstr_get(x_6, 1); if (lean::is_exclusive(x_6)) { lean::cnstr_release(x_6, 0); - x_28 = x_6; + x_27 = x_6; } else { - lean::inc(x_26); + lean::inc(x_25); lean::dec(x_6); - x_28 = lean::box(0); + x_27 = lean::box(0); } -x_29 = lean::cnstr_get(x_7, 0); -x_31 = lean::cnstr_get_scalar(x_7, sizeof(void*)*1); +x_28 = lean::cnstr_get(x_7, 0); +x_30 = lean::cnstr_get_scalar(x_7, sizeof(void*)*1); if (lean::is_exclusive(x_7)) { - x_32 = x_7; + x_31 = x_7; } else { - lean::inc(x_29); + lean::inc(x_28); lean::dec(x_7); - x_32 = lean::box(0); + x_31 = lean::box(0); } -if (lean::is_scalar(x_32)) { - x_33 = lean::alloc_cnstr(1, 1, 1); +if (lean::is_scalar(x_31)) { + x_32 = lean::alloc_cnstr(1, 1, 1); } else { - x_33 = x_32; + x_32 = x_31; } -lean::cnstr_set(x_33, 0, x_29); -lean::cnstr_set_scalar(x_33, sizeof(void*)*1, x_31); -x_34 = x_33; -if (lean::is_scalar(x_28)) { - x_35 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_32, 0, x_28); +lean::cnstr_set_scalar(x_32, sizeof(void*)*1, x_30); +x_33 = x_32; +if (lean::is_scalar(x_27)) { + x_34 = lean::alloc_cnstr(0, 2, 0); } else { - x_35 = x_28; + x_34 = x_27; } -lean::cnstr_set(x_35, 0, x_34); -lean::cnstr_set(x_35, 1, x_26); -x_36 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_36, 0, x_35); -return x_36; +lean::cnstr_set(x_34, 0, x_33); +lean::cnstr_set(x_34, 1, x_25); +return x_34; } } } -obj* l_lean_parser_module_parser___lambda__2(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_lean_parser_parse__header___lambda__3(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_4; obj* x_7; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_4 = lean::cnstr_get(x_3, 0); -lean::inc(x_4); -lean::dec(x_3); -x_7 = lean::cnstr_get(x_4, 0); -lean::inc(x_7); -lean::dec(x_4); -x_10 = l_lean_parser_module_header; -x_11 = l_lean_parser_module_header_parser___closed__1; -x_12 = l_lean_parser_combinators_node___at_lean_parser_detail__ident__part_parser_lean_parser_has__tokens___spec__15(x_10, x_11, x_7, x_1, x_2); -x_13 = lean::cnstr_get(x_12, 0); -lean::inc(x_13); -if (lean::obj_tag(x_13) == 0) +obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_13; obj* x_14; +x_5 = lean::cnstr_get(x_2, 0); +lean::inc(x_5); +lean::dec(x_2); +x_8 = lean::cnstr_get(x_5, 0); +lean::inc(x_8); +lean::dec(x_5); +x_11 = l_lean_parser_module_header; +x_12 = l_lean_parser_module_header_parser___closed__1; +x_13 = l_lean_parser_combinators_node___at_lean_parser_detail__ident__part_parser_lean_parser_has__tokens___spec__15(x_11, x_12, x_8, x_3, x_4); +x_14 = lean::cnstr_get(x_13, 0); +lean::inc(x_14); +if (lean::obj_tag(x_14) == 0) { -obj* x_15; obj* x_17; obj* x_18; obj* x_20; obj* x_22; obj* x_24; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; obj* x_30; -x_15 = lean::cnstr_get(x_12, 1); -if (lean::is_exclusive(x_12)) { - lean::cnstr_release(x_12, 0); - x_17 = x_12; -} else { - lean::inc(x_15); - lean::dec(x_12); - x_17 = lean::box(0); -} -x_18 = lean::cnstr_get(x_13, 0); -x_20 = lean::cnstr_get(x_13, 1); -x_22 = lean::cnstr_get(x_13, 2); +obj* x_16; obj* x_18; obj* x_19; obj* x_21; obj* x_23; obj* x_25; obj* x_26; obj* x_27; obj* x_28; obj* x_29; obj* x_30; +x_16 = lean::cnstr_get(x_13, 1); if (lean::is_exclusive(x_13)) { - x_24 = x_13; + lean::cnstr_release(x_13, 0); + x_18 = x_13; } else { - lean::inc(x_18); - lean::inc(x_20); - lean::inc(x_22); + lean::inc(x_16); lean::dec(x_13); - x_24 = lean::box(0); + x_18 = lean::box(0); } -if (lean::is_scalar(x_17)) { - x_25 = lean::alloc_cnstr(0, 2, 0); +x_19 = lean::cnstr_get(x_14, 0); +x_21 = lean::cnstr_get(x_14, 1); +x_23 = lean::cnstr_get(x_14, 2); +if (lean::is_exclusive(x_14)) { + x_25 = x_14; } else { - x_25 = x_17; + lean::inc(x_19); + lean::inc(x_21); + lean::inc(x_23); + lean::dec(x_14); + x_25 = lean::box(0); } -lean::cnstr_set(x_25, 0, x_18); -lean::cnstr_set(x_25, 1, x_0); -x_26 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; -if (lean::is_scalar(x_24)) { - x_27 = lean::alloc_cnstr(0, 3, 0); +if (lean::is_scalar(x_18)) { + x_26 = lean::alloc_cnstr(0, 2, 0); } else { - x_27 = x_24; + x_26 = x_18; } -lean::cnstr_set(x_27, 0, x_25); -lean::cnstr_set(x_27, 1, x_20); -lean::cnstr_set(x_27, 2, x_26); -x_28 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_22, x_27); -x_29 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_29, 0, x_28); -lean::cnstr_set(x_29, 1, x_15); -x_30 = lean::alloc_cnstr(0, 1, 0); +lean::cnstr_set(x_26, 0, x_19); +lean::cnstr_set(x_26, 1, x_1); +x_27 = l_lean_parser_parsec_result_mk__eps___rarg___closed__1; +if (lean::is_scalar(x_25)) { + x_28 = lean::alloc_cnstr(0, 3, 0); +} else { + x_28 = x_25; +} +lean::cnstr_set(x_28, 0, x_26); +lean::cnstr_set(x_28, 1, x_21); +lean::cnstr_set(x_28, 2, x_27); +x_29 = l_lean_parser_parsec__t_bind__mk__res___rarg(x_23, x_28); +x_30 = lean::alloc_cnstr(0, 2, 0); lean::cnstr_set(x_30, 0, x_29); +lean::cnstr_set(x_30, 1, x_16); return x_30; } else { -obj* x_32; obj* x_34; obj* x_35; uint8 x_37; obj* x_38; obj* x_39; obj* x_40; obj* x_41; obj* x_42; -lean::dec(x_0); -x_32 = lean::cnstr_get(x_12, 1); -if (lean::is_exclusive(x_12)) { - lean::cnstr_release(x_12, 0); - x_34 = x_12; +obj* x_32; obj* x_34; obj* x_35; uint8 x_37; obj* x_38; obj* x_39; obj* x_40; obj* x_41; +lean::dec(x_1); +x_32 = lean::cnstr_get(x_13, 1); +if (lean::is_exclusive(x_13)) { + lean::cnstr_release(x_13, 0); + x_34 = x_13; } else { lean::inc(x_32); - lean::dec(x_12); + lean::dec(x_13); x_34 = lean::box(0); } -x_35 = lean::cnstr_get(x_13, 0); -x_37 = lean::cnstr_get_scalar(x_13, sizeof(void*)*1); -if (lean::is_exclusive(x_13)) { - x_38 = x_13; +x_35 = lean::cnstr_get(x_14, 0); +x_37 = lean::cnstr_get_scalar(x_14, sizeof(void*)*1); +if (lean::is_exclusive(x_14)) { + x_38 = x_14; } else { lean::inc(x_35); - lean::dec(x_13); + lean::dec(x_14); x_38 = lean::box(0); } if (lean::is_scalar(x_38)) { @@ -6455,317 +5674,114 @@ if (lean::is_scalar(x_34)) { } lean::cnstr_set(x_41, 0, x_40); lean::cnstr_set(x_41, 1, x_32); -x_42 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_42, 0, x_41); -return x_42; +return x_41; } } } -obj* l_lean_parser_module_parser___lambda__3(obj* x_0, obj* x_1, obj* x_2) { +obj* _init_l_lean_parser_parse__header___closed__1() { _start: { -obj* x_3; obj* x_5; obj* x_8; -x_3 = lean::cnstr_get(x_0, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_0, 1); -lean::inc(x_5); -lean::dec(x_0); -x_8 = l_lean_parser_module_yield__command(x_3, x_5, x_1, x_2); -return x_8; +obj* x_0; obj* x_1; obj* x_2; +x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__header___lambda__2___boxed), 4, 0); +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__header___lambda__3___boxed), 5, 0); +x_2 = lean::alloc_closure(reinterpret_cast(l_state__t_bind___at_lean_parser_parse__header___spec__1___rarg), 6, 2); +lean::closure_set(x_2, 0, x_0); +lean::closure_set(x_2, 1, x_1); +return x_2; } } -obj* l_lean_parser_module_parser___lambda__4(obj* x_0, obj* x_1, obj* x_2) { +obj* l_lean_parser_parse__header(obj* x_0) { _start: { -obj* x_3; obj* x_6; -x_3 = lean::cnstr_get(x_0, 1); -lean::inc(x_3); -lean::dec(x_0); -x_6 = l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1(x_3, x_1, x_2); -return x_6; -} -} -obj* _init_l_lean_parser_module_parser___lambda__5___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__4), 3, 0); -return x_0; -} -} -obj* l_lean_parser_module_parser___lambda__5(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_7; obj* x_8; obj* x_9; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_commands_parser), 3, 1); -lean::closure_set(x_7, 0, x_4); -x_8 = l_lean_parser_module_parser___lambda__5___closed__1; -x_9 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_7, x_8, x_2, x_3); -return x_9; -} -} -obj* _init_l_lean_parser_module_parser___lambda__6___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__3), 3, 0); -return x_0; -} -} -obj* l_lean_parser_module_parser___lambda__6(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_7; obj* x_8; obj* x_10; obj* x_12; obj* x_13; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__2), 4, 1); -lean::closure_set(x_7, 0, x_4); -x_8 = l_lean_parser_module_parser___lambda__6___closed__1; -lean::inc(x_0); -x_10 = lean::apply_4(x_0, lean::box(0), lean::box(0), x_7, x_8); -lean::inc(x_0); -x_12 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__5), 4, 1); -lean::closure_set(x_12, 0, x_0); -x_13 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_10, x_12, x_2, x_3); -return x_13; -} -} -obj* l_lean_parser_module_parser___lambda__7(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_7; obj* x_8; obj* x_9; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::cnstr_get(x_0, 3); -x_8 = l_option_get___main___at_lean_parser_run___spec__2(x_7); -x_9 = l_lean_parser_module_yield__command(x_8, x_4, x_2, x_3); -return x_9; -} -} -obj* l_lean_parser_module_parser___lambda__8(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; -x_3 = lean::cnstr_get(x_2, 0); -lean::inc(x_3); -if (lean::obj_tag(x_3) == 0) -{ -obj* x_7; obj* x_9; obj* x_10; obj* x_11; -lean::dec(x_1); -lean::dec(x_0); -x_7 = lean::cnstr_get(x_2, 1); -if (lean::is_exclusive(x_2)) { - lean::cnstr_release(x_2, 0); - x_9 = x_2; -} else { - lean::inc(x_7); - lean::dec(x_2); - x_9 = lean::box(0); -} -if (lean::is_scalar(x_9)) { - x_10 = lean::alloc_cnstr(0, 2, 0); -} else { - x_10 = x_9; -} -lean::cnstr_set(x_10, 0, x_3); -lean::cnstr_set(x_10, 1, x_7); -x_11 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___lambda__1___boxed), 2, 1); -lean::closure_set(x_11, 0, x_10); -return x_11; -} -else -{ -obj* x_12; obj* x_15; uint8 x_17; obj* x_19; obj* x_22; obj* x_23; obj* x_24; obj* x_25; obj* x_26; obj* x_27; -x_12 = lean::cnstr_get(x_2, 1); -lean::inc(x_12); -lean::dec(x_2); -x_15 = lean::cnstr_get(x_3, 0); -lean::inc(x_15); -x_17 = lean::cnstr_get_scalar(x_3, sizeof(void*)*1); -lean::dec(x_3); -x_19 = lean::cnstr_get(x_15, 0); -lean::inc(x_19); -lean::inc(x_15); -x_22 = lean::alloc_closure(reinterpret_cast(l_lean_parser_log__message___at___private_init_lean_parser_module_1__commands__aux___main___spec__3), 4, 2); -lean::closure_set(x_22, 0, x_15); -lean::closure_set(x_22, 1, x_0); -x_23 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__7___boxed), 4, 1); -lean::closure_set(x_23, 0, x_15); -x_24 = lean::apply_6(x_1, lean::box(0), lean::box(0), x_22, x_23, x_19, x_12); -x_25 = lean::box(x_17); -x_26 = lean::alloc_closure(reinterpret_cast(l___private_init_lean_parser_module_1__commands__aux___main___lambda__16___boxed), 2, 1); -lean::closure_set(x_26, 0, x_25); -x_27 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_27, 0, x_24); -lean::closure_set(x_27, 1, x_26); -return x_27; -} -} -} -obj* l_lean_parser_module_parser___lambda__9(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { -_start: -{ -obj* x_7; obj* x_8; obj* x_9; -lean::inc(x_0); -x_7 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_1, x_2, x_4, x_5); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__8), 3, 2); -lean::closure_set(x_8, 0, x_3); -lean::closure_set(x_8, 1, x_0); -x_9 = lean::alloc_closure(reinterpret_cast(l_coroutine_bind___main___rarg), 3, 2); -lean::closure_set(x_9, 0, x_7); -lean::closure_set(x_9, 1, x_8); -return x_9; -} -} -obj* l_lean_parser_module_parser___lambda__10(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_5; obj* x_8; obj* x_11; obj* x_12; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19; obj* x_20; obj* x_21; obj* x_22; obj* x_23; obj* x_24; -x_3 = lean::cnstr_get(x_0, 0); -lean::inc(x_3); -x_5 = lean::cnstr_get(x_0, 1); -lean::inc(x_5); -lean::dec(x_0); -x_8 = lean::string_iterator_to_end(x_3); -lean::inc(x_8); -lean::inc(x_8); -x_11 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_11, 0, x_8); -lean::cnstr_set(x_11, 1, x_8); -x_12 = lean::string_iterator_offset(x_8); -lean::dec(x_8); -lean::inc(x_11); -x_15 = lean::alloc_cnstr(0, 3, 0); -lean::cnstr_set(x_15, 0, x_11); -lean::cnstr_set(x_15, 1, x_12); -lean::cnstr_set(x_15, 2, x_11); -x_16 = lean::alloc_cnstr(1, 1, 0); -lean::cnstr_set(x_16, 0, x_15); -x_17 = l_string_join___closed__1; -x_18 = lean::alloc_cnstr(0, 2, 0); -lean::cnstr_set(x_18, 0, x_16); -lean::cnstr_set(x_18, 1, x_17); -x_19 = lean::alloc_cnstr(0, 1, 0); -lean::cnstr_set(x_19, 0, x_18); -x_20 = lean::box(0); -x_21 = lean::alloc_cnstr(1, 2, 0); -lean::cnstr_set(x_21, 0, x_19); -lean::cnstr_set(x_21, 1, x_20); -x_22 = l_lean_parser_module_eoi; -x_23 = l_lean_parser_syntax_mk__node(x_22, x_21); -x_24 = l_lean_parser_module_yield__command(x_23, x_5, x_1, x_2); -return x_24; -} -} -obj* _init_l_lean_parser_module_parser___lambda__11___closed__1() { -_start: -{ -obj* x_0; -x_0 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__10), 3, 0); -return x_0; -} -} -obj* l_lean_parser_module_parser___lambda__11(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { -_start: -{ -obj* x_4; obj* x_7; obj* x_8; obj* x_10; obj* x_11; obj* x_12; -x_4 = lean::cnstr_get(x_1, 1); -lean::inc(x_4); -lean::dec(x_1); -x_7 = lean::alloc_closure(reinterpret_cast(l_lean_parser_monad__parsec_error___at___private_init_lean_parser_module_1__commands__aux___main___spec__1___rarg___lambda__2), 4, 1); -lean::closure_set(x_7, 0, x_4); -x_8 = l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2; -lean::inc(x_0); -x_10 = lean::apply_4(x_0, lean::box(0), lean::box(0), x_8, x_7); -x_11 = l_lean_parser_module_parser___lambda__11___closed__1; -x_12 = lean::apply_6(x_0, lean::box(0), lean::box(0), x_10, x_11, x_2, x_3); -return x_12; -} -} -obj* _init_l_lean_parser_module_parser___closed__1() { -_start: -{ -obj* x_0; obj* x_1; obj* x_4; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_1 = lean::cnstr_get(x_0, 1); +obj* x_1; obj* x_3; obj* x_6; obj* x_9; obj* x_12; uint8 x_13; obj* x_14; obj* x_15; obj* x_17; obj* x_18; obj* x_19; +x_1 = lean::cnstr_get(x_0, 0); lean::inc(x_1); -lean::dec(x_0); -x_4 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__6), 4, 1); -lean::closure_set(x_4, 0, x_1); -return x_4; -} -} -obj* _init_l_lean_parser_module_parser___closed__2() { -_start: -{ -obj* x_0; obj* x_1; obj* x_4; -x_0 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_1 = lean::cnstr_get(x_0, 1); -lean::inc(x_1); -lean::dec(x_0); -x_4 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__11), 4, 1); -lean::closure_set(x_4, 0, x_1); -return x_4; -} -} -obj* l_lean_parser_module_parser(obj* x_0, obj* x_1, obj* x_2) { -_start: -{ -obj* x_3; obj* x_4; obj* x_8; obj* x_9; obj* x_10; obj* x_11; obj* x_12; obj* x_13; -x_3 = l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1; -x_4 = lean::cnstr_get(x_3, 1); -lean::inc(x_4); +x_3 = lean::cnstr_get(x_1, 0); +lean::inc(x_3); +lean::dec(x_1); +x_6 = lean::cnstr_get(x_3, 0); +lean::inc(x_6); lean::dec(x_3); -lean::inc(x_0); -x_8 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__1___boxed), 4, 1); -lean::closure_set(x_8, 0, x_0); -x_9 = l___private_init_lean_parser_module_1__commands__aux___main___closed__1; -x_10 = l_lean_parser_module_parser___closed__1; -x_11 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parser___lambda__9), 6, 4); -lean::closure_set(x_11, 0, x_9); -lean::closure_set(x_11, 1, x_8); -lean::closure_set(x_11, 2, x_10); -lean::closure_set(x_11, 3, x_0); -x_12 = l_lean_parser_module_parser___closed__2; -x_13 = lean::apply_6(x_4, lean::box(0), lean::box(0), x_11, x_12, x_1, x_2); -return x_13; +x_9 = lean::cnstr_get(x_6, 1); +lean::inc(x_9); +lean::dec(x_6); +x_12 = lean::string_mk_iterator(x_9); +x_13 = 0; +x_14 = lean::alloc_cnstr(0, 1, 1); +lean::cnstr_set(x_14, 0, x_12); +lean::cnstr_set_scalar(x_14, sizeof(void*)*1, x_13); +x_15 = x_14; +lean::inc(x_15); +x_17 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__header___lambda__1), 2, 1); +lean::closure_set(x_17, 0, x_15); +x_18 = l_lean_parser_parse__header___closed__1; +x_19 = l_lean_parser_resume__module__parser___rarg(x_0, x_15, x_17, x_18); +return x_19; } } -obj* l_lean_parser_module_parser___lambda__1___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_state__t_bind___at_lean_parser_parse__header___spec__1___boxed(obj* x_0, obj* x_1) { +_start: +{ +obj* x_2; +x_2 = l_state__t_bind___at_lean_parser_parse__header___spec__1(x_0, x_1); +lean::dec(x_0); +lean::dec(x_1); +return x_2; +} +} +obj* l_lean_parser_parse__header___lambda__2___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { _start: { obj* x_4; -x_4 = l_lean_parser_module_parser___lambda__1(x_0, x_1, x_2, x_3); -lean::dec(x_3); +x_4 = l_lean_parser_parse__header___lambda__2(x_0, x_1, x_2, x_3); +lean::dec(x_1); return x_4; } } -obj* l_lean_parser_module_parser___lambda__7___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3) { +obj* l_lean_parser_parse__header___lambda__3___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: { -obj* x_4; -x_4 = l_lean_parser_module_parser___lambda__7(x_0, x_1, x_2, x_3); +obj* x_5; +x_5 = l_lean_parser_parse__header___lambda__3(x_0, x_1, x_2, x_3, x_4); lean::dec(x_0); -return x_4; +return x_5; } } -obj* _init_l_lean_parser_module_tokens() { +obj* l_lean_parser_parse__command___lambda__1(obj* x_0, obj* x_1) { _start: { -obj* x_0; obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; -x_0 = l_lean_parser_module_prelude_parser_lean_parser_has__tokens; -x_1 = l_lean_parser_tokens___rarg(x_0); -x_2 = l_lean_parser_module_import_parser_lean_parser_has__tokens; -x_3 = l_lean_parser_tokens___rarg(x_2); -x_4 = l_list_append___rarg(x_1, x_3); -x_5 = l_lean_parser_module_commands_tokens; -x_6 = l_lean_parser_tokens___rarg(x_5); -x_7 = l_list_append___rarg(x_4, x_6); +obj* x_2; obj* x_4; obj* x_7; obj* x_10; uint8 x_11; obj* x_12; obj* x_13; +x_2 = lean::cnstr_get(x_1, 1); +lean::inc(x_2); +x_4 = lean::cnstr_get(x_1, 0); +lean::inc(x_4); +lean::dec(x_1); +x_7 = lean::cnstr_get(x_0, 0); +lean::inc(x_7); +lean::dec(x_0); +x_10 = lean::alloc_cnstr(0, 1, 1); +lean::cnstr_set(x_10, 0, x_7); +x_11 = lean::unbox(x_4); +lean::cnstr_set_scalar(x_10, sizeof(void*)*1, x_11); +x_12 = x_10; +x_13 = lean::alloc_cnstr(0, 2, 0); +lean::cnstr_set(x_13, 0, x_2); +lean::cnstr_set(x_13, 1, x_12); +return x_13; +} +} +obj* l_lean_parser_parse__command(obj* x_0, obj* x_1) { +_start: +{ +obj* x_3; uint8 x_4; obj* x_5; obj* x_6; obj* x_7; +lean::inc(x_1); +x_3 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parse__command___lambda__1), 2, 1); +lean::closure_set(x_3, 0, x_1); +x_4 = lean::cnstr_get_scalar(x_1, sizeof(void*)*1); +x_5 = lean::box(x_4); +x_6 = lean::alloc_closure(reinterpret_cast(l_lean_parser_module_parse__command__with__recovery___boxed), 5, 1); +lean::closure_set(x_6, 0, x_5); +x_7 = l_lean_parser_resume__module__parser___rarg(x_0, x_1, x_3, x_6); return x_7; } } @@ -6789,26 +5805,10 @@ lean::mark_persistent(l_lean_parser_module__parser__m_monad__state); lean::mark_persistent(l_lean_parser_module__parser__m_lean_parser_monad__parsec); l_lean_parser_module__parser__m_monad__except = _init_l_lean_parser_module__parser__m_monad__except(); lean::mark_persistent(l_lean_parser_module__parser__m_monad__except); - l_lean_parser_module__parser__m_monad__coroutine = _init_l_lean_parser_module__parser__m_monad__coroutine(); -lean::mark_persistent(l_lean_parser_module__parser__m_monad__coroutine); l_lean_parser_module__parser__m = _init_l_lean_parser_module__parser__m(); l_lean_parser_module__parser = _init_l_lean_parser_module__parser(); l_lean_parser_module__parser__m_basic__parser__m___closed__1 = _init_l_lean_parser_module__parser__m_basic__parser__m___closed__1(); lean::mark_persistent(l_lean_parser_module__parser__m_basic__parser__m___closed__1); - l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1 = _init_l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1(); -lean::mark_persistent(l_lean_parser_parsec__t_monad_x_27___at_lean_parser_module_yield__command___spec__1___closed__1); - l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1 = _init_l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1(); -lean::mark_persistent(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__1); - l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2 = _init_l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2(); -lean::mark_persistent(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__2); - l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__3 = _init_l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__3(); -lean::mark_persistent(l_lean_parser_monad__parsec_pos___at_lean_parser_module_yield__command___spec__2___closed__3); - l_lean_parser_module_yield__command___lambda__7___closed__1 = _init_l_lean_parser_module_yield__command___lambda__7___closed__1(); -lean::mark_persistent(l_lean_parser_module_yield__command___lambda__7___closed__1); - l_lean_parser_module_yield__command___closed__1 = _init_l_lean_parser_module_yield__command___closed__1(); -lean::mark_persistent(l_lean_parser_module_yield__command___closed__1); - l_lean_parser_module_yield__command___closed__2 = _init_l_lean_parser_module_yield__command___closed__2(); -lean::mark_persistent(l_lean_parser_module_yield__command___closed__2); l_lean_parser_module_prelude = _init_l_lean_parser_module_prelude(); lean::mark_persistent(l_lean_parser_module_prelude); l_lean_parser_module_prelude_has__view_x_27___lambda__1___closed__1 = _init_l_lean_parser_module_prelude_has__view_x_27___lambda__1___closed__1(); @@ -6889,48 +5889,14 @@ lean::mark_persistent(l_lean_parser_module_header_parser_lean_parser_has__view); lean::mark_persistent(l_lean_parser_module_header_parser_lean_parser_has__tokens); l_lean_parser_module_header_parser___closed__1 = _init_l_lean_parser_module_header_parser___closed__1(); lean::mark_persistent(l_lean_parser_module_header_parser___closed__1); - l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___closed__1 = _init_l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___closed__1(); -lean::mark_persistent(l_lean_parser_monad__parsec_any___at___private_init_lean_parser_module_1__commands__aux___main___spec__2___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__2___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__2___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__2___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__3___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__3___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__3___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__5___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__5___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__5___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__2 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__2(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__12___closed__2); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__13___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__13___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__13___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__2 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__2(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__14___closed__2); - l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___lambda__19___closed__1); - l___private_init_lean_parser_module_1__commands__aux___main___closed__1 = _init_l___private_init_lean_parser_module_1__commands__aux___main___closed__1(); -lean::mark_persistent(l___private_init_lean_parser_module_1__commands__aux___main___closed__1); - l_lean_parser_module_commands_parser___closed__1 = _init_l_lean_parser_module_commands_parser___closed__1(); -lean::mark_persistent(l_lean_parser_module_commands_parser___closed__1); - l_lean_parser_module_commands_tokens = _init_l_lean_parser_module_commands_tokens(); -lean::mark_persistent(l_lean_parser_module_commands_tokens); - l_lean_parser_module_commands_parser_has__view = _init_l_lean_parser_module_commands_parser_has__view(); -lean::mark_persistent(l_lean_parser_module_commands_parser_has__view); l_lean_parser_module_eoi = _init_l_lean_parser_module_eoi(); lean::mark_persistent(l_lean_parser_module_eoi); - l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___closed__1 = _init_l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___closed__1(); -lean::mark_persistent(l_lean_parser_monad__parsec_eoi___at_lean_parser_module_parser___spec__1___closed__1); - l_lean_parser_module_parser___lambda__5___closed__1 = _init_l_lean_parser_module_parser___lambda__5___closed__1(); -lean::mark_persistent(l_lean_parser_module_parser___lambda__5___closed__1); - l_lean_parser_module_parser___lambda__6___closed__1 = _init_l_lean_parser_module_parser___lambda__6___closed__1(); -lean::mark_persistent(l_lean_parser_module_parser___lambda__6___closed__1); - l_lean_parser_module_parser___lambda__11___closed__1 = _init_l_lean_parser_module_parser___lambda__11___closed__1(); -lean::mark_persistent(l_lean_parser_module_parser___lambda__11___closed__1); - l_lean_parser_module_parser___closed__1 = _init_l_lean_parser_module_parser___closed__1(); -lean::mark_persistent(l_lean_parser_module_parser___closed__1); - l_lean_parser_module_parser___closed__2 = _init_l_lean_parser_module_parser___closed__2(); -lean::mark_persistent(l_lean_parser_module_parser___closed__2); - l_lean_parser_module_tokens = _init_l_lean_parser_module_tokens(); -lean::mark_persistent(l_lean_parser_module_tokens); + l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1 = _init_l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1(); +lean::mark_persistent(l_lean_parser_monad__parsec_eoi___at_lean_parser_module_eoi_parser___spec__1___closed__1); + l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1 = _init_l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1(); +lean::mark_persistent(l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__1); + l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2 = _init_l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2(); +lean::mark_persistent(l___private_init_lean_parser_module_1__command__wrec__aux___main___closed__2); + l_lean_parser_parse__header___closed__1 = _init_l_lean_parser_parse__header___closed__1(); +lean::mark_persistent(l_lean_parser_parse__header___closed__1); } diff --git a/src/boot/init/lean/parser/parsec.cpp b/src/boot/init/lean/parser/parsec.cpp index 7b153f6912..5c3afe5fe2 100644 --- a/src/boot/init/lean/parser/parsec.cpp +++ b/src/boot/init/lean/parser/parsec.cpp @@ -26,6 +26,7 @@ obj* l_lean_parser_monad__parsec_take__while1_x_27___rarg(obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_foldl__aux___boxed(obj*, obj*); obj* l_lean_parser_monad__parsec_take__while1_x_27___rarg___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_list_mfoldr___main___at_lean_parser_monad__parsec_longest__match___spec__2___boxed(obj*, obj*); +obj* l_lean_parser_parsec__t_run__from(obj*); obj* l___private_init_lean_parser_parsec_4__take__while__aux___main___at_lean_parser_monad__parsec_take__until___spec__2(obj*); obj* l_lean_parser_parsec__t_monad__fail(obj*); obj* l___private_init_lean_parser_parsec_6__take__while__aux_x_27___main___boxed(obj*); @@ -244,6 +245,7 @@ obj* l_lean_parser_monad__parsec_take__while_x_27___rarg(obj*, obj*); obj* l_lean_parser_monad__parsec_eoi___rarg___lambda__1(obj*, obj*, obj*); obj* l_lean_parser_parsec__t_labels___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_not__followed__by___rarg___lambda__3(obj*, obj*, obj*, obj*, obj*, obj*, obj*); +obj* l_lean_parser_parsec__t_run__from___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*); namespace lean { obj* string_length(obj*); } @@ -320,6 +322,7 @@ obj* l_lean_parser_monad__parsec_not__followed__by__sat___rarg___lambda__1(obj*, obj* l_lean_parser_monad__parsec_label___rarg(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_error___at_lean_parser_monad__parsec_fix__aux___main___spec__1___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_monad__fail___boxed(obj*); +obj* l_lean_parser_parsec__t_run__from___rarg(obj*, obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_parsec__t_parse__with__left__over___rarg___boxed(obj*, obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_label___rarg___boxed(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_error___at_lean_parser_monad__parsec_take__until1___spec__2___rarg(obj*, obj*, obj*, obj*, obj*, obj*); @@ -661,6 +664,7 @@ obj* l_lean_parser_parsec_message_to__string___rarg___closed__2; obj* l_lean_parser_monad__parsec_error___at_lean_parser_monad__parsec_unexpected__at___spec__1___boxed(obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_error___at_lean_parser_monad__parsec_satisfy___spec__1___rarg(obj*, obj*, obj*, obj*, obj*, obj*); obj* l___private_init_lean_parser_parsec_5__mk__consumed__result___rarg(uint8, obj*); +obj* l_lean_parser_parsec__t_run__from___boxed(obj*); obj* l_lean_parser_monad__parsec_lexeme___rarg(obj*, obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_lookahead(obj*, obj*, obj*); obj* l_lean_parser_monad__parsec_many1__aux_x_27___main___boxed(obj*, obj*); @@ -1343,6 +1347,47 @@ lean::dec(x_0); return x_1; } } +obj* l_lean_parser_parsec__t_run__from___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +_start: +{ +obj* x_6; obj* x_8; obj* x_9; obj* x_10; +x_6 = lean::cnstr_get(x_0, 1); +lean::inc(x_6); +x_8 = lean::apply_1(x_3, x_4); +x_9 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_run___rarg___lambda__1), 2, 1); +lean::closure_set(x_9, 0, x_0); +x_10 = lean::apply_4(x_6, lean::box(0), lean::box(0), x_8, x_9); +return x_10; +} +} +obj* l_lean_parser_parsec__t_run__from(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = lean::alloc_closure(reinterpret_cast(l_lean_parser_parsec__t_run__from___rarg___boxed), 6, 0); +return x_1; +} +} +obj* l_lean_parser_parsec__t_run__from___rarg___boxed(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4, obj* x_5) { +_start: +{ +obj* x_6; +x_6 = l_lean_parser_parsec__t_run__from___rarg(x_0, x_1, x_2, x_3, x_4, x_5); +lean::dec(x_1); +lean::dec(x_2); +lean::dec(x_5); +return x_6; +} +} +obj* l_lean_parser_parsec__t_run__from___boxed(obj* x_0) { +_start: +{ +obj* x_1; +x_1 = l_lean_parser_parsec__t_run__from(x_0); +lean::dec(x_0); +return x_1; +} +} obj* l_lean_parser_parsec__t_pure___rarg(obj* x_0, obj* x_1, obj* x_2, obj* x_3, obj* x_4) { _start: {