refactor(kernel/environment,library/private,library/init/lean/environment): move main module name to header

This commit is contained in:
Leonardo de Moura 2019-06-03 09:14:23 -07:00
parent 23029cb386
commit cd73105dff
13 changed files with 194 additions and 275 deletions

View file

@ -56,10 +56,14 @@ env.constants.contains n
def imports (env : Environment) : Array Name :=
env.header.imports
@[export lean.environment_set_main_module_name_core]
def setMainModuleName (env : Environment) (m : Name) : Environment :=
@[export lean.environment_set_main_module_core]
def setMainModule (env : Environment) (m : Name) : Environment :=
{ header := { mainModule := m, .. env.header }, .. env }
@[export lean.environment_main_module_core]
def mainModule (env : Environment) : Name :=
env.header.mainModule
/- Switch environment to "shared" mode. -/
@[export lean.environment_switch_core]
private def switch (env : Environment) : Environment :=

View file

@ -26,6 +26,8 @@ object* register_extension_core(object*);
object* get_extension_core(object*, object*);
object* set_extension_core(object*, object*, object*);
object* environment_switch_core(object*);
object * environment_set_main_module_core(object*, object*);
object * environment_main_module_core(object*);
object* mk_empty_environment(uint32 trust_lvl) {
object* r = mk_empty_environment_core(trust_lvl, io_mk_world());
@ -41,6 +43,14 @@ environment::environment(unsigned trust_lvl):
object_ref(environment_switch_core(mk_empty_environment(trust_lvl))) {
}
void environment::set_main_module(name const & n) {
m_obj = environment_set_main_module_core(m_obj, n.to_obj_arg());
}
name environment::get_main_module() const {
return name(environment_main_module_core(to_obj_arg()), true);
}
unsigned environment::trust_lvl() const {
return environment_trust_level_core(to_obj_arg());
}

View file

@ -61,6 +61,10 @@ public:
bool is_quot_initialized() const;
void set_main_module(name const & n);
name get_main_module() const;
/** \brief Return information for the constant with name \c n (if it is defined in this environment). */
optional<constant_info> find(name const & n) const;

View file

@ -18,7 +18,6 @@ struct private_ext : public environment_extension {
/* We store private prefixes to make sure register_private_name is used correctly.
This information does not need to be stored in .olean files. */
name_set m_private_prefixes;
name m_mod_name;
private_ext():m_counter(1) {}
};
@ -35,12 +34,6 @@ static environment update(environment const & env, private_ext const & ext) {
return env.update(g_ext->m_ext_id, new private_ext(ext));
}
environment set_main_module_name(environment const & env, name const & mod_name) {
private_ext ext = get_extension(env);
ext.m_mod_name = mod_name;
return update(env, ext);
}
static name * g_private = nullptr;
struct private_modification : public modification {
@ -77,7 +70,7 @@ static environment preserve_private_data(environment const & env, name const & r
static name mk_private_name_core(environment const & env, name const & n) {
private_ext const & ext = get_extension(env);
return name(name(*g_private) + ext.m_mod_name, ext.m_counter) + n;
return name(name(*g_private) + env.get_main_module(), ext.m_counter) + n;
}
pair<environment, name> add_private_name(environment const & env, name const & n) {

View file

@ -10,7 +10,6 @@ Author: Leonardo de Moura
#include "kernel/environment.h"
namespace lean {
environment set_main_module_name(environment const & env, name const & mod_name);
/**
\brief This is an auxiliary function used to simulate private declarations.
*/

View file

@ -505,7 +505,7 @@ int main(int argc, char ** argv) {
bool ok;
if (new_frontend) {
env = set_main_module_name(env, main_module_name);
env.set_main_module(main_module_name);
// Some C++ parts like profiling need a global message log. We may want to refactor them into a
// message_log-passing state monad in the future.
message_log l;
@ -531,7 +531,7 @@ int main(int argc, char ** argv) {
} else {
env = import_modules(trust_lvl, imports);
}
env = set_main_module_name(env, main_module_name);
env.set_main_module(main_module_name);
p.set_env(env);
p.parse_commands();

View file

@ -24,7 +24,6 @@ obj* l_PersistentArray_collectStats(obj*);
obj* l_PersistentArray_collectStats___main___rarg___boxed(obj*, obj*, obj*);
obj* l_PersistentArray_stats(obj*);
obj* l_PersistentArray_mkNewTail(obj*);
obj* l_PersistentArray_push___rarg___closed__1;
obj* l_Array_miterateAux___main___at_PersistentArray_collectStats___main___spec__1___rarg(obj*, obj*, obj*, obj*, obj*);
obj* l_PersistentArray_mmap___rarg(obj*, obj*, obj*);
extern obj* l_Array_empty___closed__1;
@ -40,7 +39,6 @@ obj* l_PersistentArray_mfoldlAux___main___rarg(obj*, obj*, obj*, obj*);
obj* l_PersistentArray_mmap___at_PersistentArray_map___spec__1___rarg(obj*, obj*);
obj* l_PersistentArray_insertNewLeaf___main(obj*);
uint8 l_USize_decLt(usize, usize);
obj* l_PersistentArray_mkNewPath___main___rarg___closed__1;
obj* l_Array_ummapAux___main___at_PersistentArray_map___spec__5(obj*, obj*);
obj* l_PersistentArray_getAux___main___rarg(obj*, obj*, usize, usize);
obj* l_Array_ummapAux___main___at_PersistentArray_map___spec__4(obj*, obj*);
@ -62,7 +60,6 @@ obj* l_PersistentArray_insertNewLeaf___main___rarg(obj*, usize, usize, obj*);
obj* l_List_reverse___rarg(obj*);
obj* l_List_toPersistentArrayAux(obj*);
obj* l_Array_miterateAux___main___at_PersistentArray_mfoldlAux___main___spec__1___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
usize l_PersistentArray_insertNewLeaf___main___rarg___closed__1;
obj* l_PersistentArray_getAux(obj*);
usize l_USize_sub(usize, usize);
obj* l_PersistentArray_mmapAux___boxed(obj*, obj*, obj*);
@ -169,7 +166,6 @@ obj* l_PersistentArray_Inhabited(obj*);
obj* l_PersistentArray_mfoldlAux___main___boxed(obj*, obj*, obj*);
obj* l_PersistentArray_collectStats___rarg(obj*, obj*, obj*);
obj* l_PersistentArray_mkNewPath___main___rarg(usize, obj*);
obj* l_Nat_pow___main(obj*, obj*);
obj* l_Array_ummapAux___main___at_PersistentArray_mmapAux___main___spec__1___boxed(obj*, obj*, obj*);
obj* l_PersistentArray_insertNewLeaf___rarg___boxed(obj*, obj*, obj*, obj*);
obj* l_PersistentArray_getAux___rarg(obj*, obj*, usize, usize);
@ -273,42 +269,29 @@ return x_1;
usize _init_l_PersistentArray_branching() {
_start:
{
usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5;
x_1 = 5;
x_2 = lean::usize_to_nat(x_1);
x_3 = lean::mk_nat_obj(2u);
x_4 = l_Nat_pow___main(x_3, x_2);
lean::dec(x_2);
x_5 = lean::usize_of_nat(x_4);
lean::dec(x_4);
return x_5;
usize x_1;
x_1 = 32;
return x_1;
}
}
obj* _init_l_PersistentArray_Inhabited___closed__1() {
_start:
{
usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; obj* x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10;
x_1 = 5;
x_2 = lean::usize_to_nat(x_1);
x_3 = lean::mk_nat_obj(2u);
x_4 = l_Nat_pow___main(x_3, x_2);
lean::dec(x_2);
x_5 = lean::usize_of_nat(x_4);
lean::dec(x_4);
x_6 = lean::usize_to_nat(x_5);
x_7 = lean::mk_empty_array(x_6);
lean::dec(x_6);
lean::inc(x_7);
x_8 = lean::alloc_cnstr(0, 1, 0);
lean::cnstr_set(x_8, 0, x_7);
x_9 = lean::mk_nat_obj(0u);
x_10 = lean::alloc_cnstr(0, 4, sizeof(size_t)*1);
lean::cnstr_set(x_10, 0, x_8);
lean::cnstr_set(x_10, 1, x_7);
lean::cnstr_set(x_10, 2, x_9);
lean::cnstr_set(x_10, 3, x_9);
lean::cnstr_set_scalar(x_10, sizeof(void*)*4, x_1);
return x_10;
obj* x_1; obj* x_2; obj* x_3; usize x_4; obj* x_5; obj* x_6;
x_1 = lean::mk_nat_obj(32u);
x_2 = lean::mk_empty_array(x_1);
lean::inc(x_2);
x_3 = lean::alloc_cnstr(0, 1, 0);
lean::cnstr_set(x_3, 0, x_2);
x_4 = 5;
x_5 = lean::mk_nat_obj(0u);
x_6 = lean::alloc_cnstr(0, 4, sizeof(size_t)*1);
lean::cnstr_set(x_6, 0, x_3);
lean::cnstr_set(x_6, 1, x_2);
lean::cnstr_set(x_6, 2, x_5);
lean::cnstr_set(x_6, 3, x_5);
lean::cnstr_set_scalar(x_6, sizeof(void*)*4, x_4);
return x_6;
}
}
obj* l_PersistentArray_Inhabited(obj* x_1) {
@ -322,18 +305,10 @@ return x_2;
obj* _init_l_PersistentArray_mkEmptyArray___closed__1() {
_start:
{
usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; obj* x_6; obj* x_7;
x_1 = 5;
x_2 = lean::usize_to_nat(x_1);
x_3 = lean::mk_nat_obj(2u);
x_4 = l_Nat_pow___main(x_3, x_2);
lean::dec(x_2);
x_5 = lean::usize_of_nat(x_4);
lean::dec(x_4);
x_6 = lean::usize_to_nat(x_5);
x_7 = lean::mk_empty_array(x_6);
lean::dec(x_6);
return x_7;
obj* x_1; obj* x_2;
x_1 = lean::mk_nat_obj(32u);
x_2 = lean::mk_empty_array(x_1);
return x_2;
}
}
obj* l_PersistentArray_mkEmptyArray(obj* x_1) {
@ -809,14 +784,6 @@ lean::dec(x_2);
return x_4;
}
}
obj* _init_l_PersistentArray_mkNewPath___main___rarg___closed__1() {
_start:
{
obj* x_1;
x_1 = l_PersistentArray_mkEmptyArray(lean::box(0));
return x_1;
}
}
obj* l_PersistentArray_mkNewPath___main___rarg(usize x_1, obj* x_2) {
_start:
{
@ -829,7 +796,7 @@ usize x_5; usize x_6; obj* x_7; obj* x_8; obj* x_9; obj* x_10;
x_5 = 5;
x_6 = x_1 - x_5;
x_7 = l_PersistentArray_mkNewPath___main___rarg(x_6, x_2);
x_8 = l_PersistentArray_mkNewPath___main___rarg___closed__1;
x_8 = l_PersistentArray_mkEmptyArray___closed__1;
x_9 = lean::array_push(x_8, x_7);
x_10 = lean::alloc_cnstr(0, 1, 0);
lean::cnstr_set(x_10, 0, x_9);
@ -888,20 +855,6 @@ x_4 = l_PersistentArray_mkNewPath___rarg(x_3, x_2);
return x_4;
}
}
usize _init_l_PersistentArray_insertNewLeaf___main___rarg___closed__1() {
_start:
{
usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5;
x_1 = 5;
x_2 = lean::usize_to_nat(x_1);
x_3 = lean::mk_nat_obj(2u);
x_4 = l_Nat_pow___main(x_3, x_2);
lean::dec(x_2);
x_5 = lean::usize_of_nat(x_4);
lean::dec(x_4);
return x_5;
}
}
obj* l_PersistentArray_insertNewLeaf___main___rarg(obj* x_1, usize x_2, usize x_3, obj* x_4) {
_start:
{
@ -911,21 +864,21 @@ uint8 x_5;
x_5 = !lean::is_exclusive(x_1);
if (x_5 == 0)
{
obj* x_6; usize x_7; usize x_8; uint8 x_9;
obj* x_6; usize x_7; uint8 x_8;
x_6 = lean::cnstr_get(x_1, 0);
x_7 = 5;
x_8 = l_PersistentArray_insertNewLeaf___main___rarg___closed__1;
x_9 = x_2 < x_8;
if (x_9 == 0)
x_7 = 32;
x_8 = x_2 < x_7;
if (x_8 == 0)
{
usize x_10; usize x_11; usize x_12; usize x_13; usize x_14; usize x_15; obj* x_16; obj* x_17; uint8 x_18;
x_10 = x_2 >> x_3;
x_11 = 1;
x_12 = x_11 << x_3;
x_13 = x_12 - x_11;
x_14 = x_2 & x_13;
x_15 = x_3 - x_7;
x_16 = lean::usize_to_nat(x_10);
usize x_9; usize x_10; usize x_11; usize x_12; usize x_13; usize x_14; usize x_15; obj* x_16; obj* x_17; uint8 x_18;
x_9 = x_2 >> x_3;
x_10 = 1;
x_11 = x_10 << x_3;
x_12 = x_11 - x_10;
x_13 = x_2 & x_12;
x_14 = 5;
x_15 = x_3 - x_14;
x_16 = lean::usize_to_nat(x_9);
x_17 = lean::array_get_size(x_6);
x_18 = lean::nat_dec_lt(x_16, x_17);
lean::dec(x_17);
@ -944,7 +897,7 @@ obj* x_21; obj* x_22; obj* x_23; obj* x_24; obj* x_25;
x_21 = lean::array_fget(x_6, x_16);
x_22 = l_PersistentArrayNode_inhabited___closed__1;
x_23 = lean::array_fset(x_6, x_16, x_22);
x_24 = l_PersistentArray_insertNewLeaf___main___rarg(x_21, x_14, x_15, x_4);
x_24 = l_PersistentArray_insertNewLeaf___main___rarg(x_21, x_13, x_15, x_4);
x_25 = lean::array_fset(x_23, x_16, x_24);
lean::dec(x_16);
lean::cnstr_set(x_1, 0, x_25);
@ -964,23 +917,23 @@ return x_27;
}
else
{
obj* x_28; usize x_29; usize x_30; uint8 x_31;
obj* x_28; usize x_29; uint8 x_30;
x_28 = lean::cnstr_get(x_1, 0);
lean::inc(x_28);
lean::dec(x_1);
x_29 = 5;
x_30 = l_PersistentArray_insertNewLeaf___main___rarg___closed__1;
x_31 = x_2 < x_30;
if (x_31 == 0)
x_29 = 32;
x_30 = x_2 < x_29;
if (x_30 == 0)
{
usize x_32; usize x_33; usize x_34; usize x_35; usize x_36; usize x_37; obj* x_38; obj* x_39; uint8 x_40;
x_32 = x_2 >> x_3;
x_33 = 1;
x_34 = x_33 << x_3;
x_35 = x_34 - x_33;
x_36 = x_2 & x_35;
x_37 = x_3 - x_29;
x_38 = lean::usize_to_nat(x_32);
usize x_31; usize x_32; usize x_33; usize x_34; usize x_35; usize x_36; usize x_37; obj* x_38; obj* x_39; uint8 x_40;
x_31 = x_2 >> x_3;
x_32 = 1;
x_33 = x_32 << x_3;
x_34 = x_33 - x_32;
x_35 = x_2 & x_34;
x_36 = 5;
x_37 = x_3 - x_36;
x_38 = lean::usize_to_nat(x_31);
x_39 = lean::array_get_size(x_28);
x_40 = lean::nat_dec_lt(x_38, x_39);
lean::dec(x_39);
@ -1000,7 +953,7 @@ obj* x_44; obj* x_45; obj* x_46; obj* x_47; obj* x_48; obj* x_49;
x_44 = lean::array_fget(x_28, x_38);
x_45 = l_PersistentArrayNode_inhabited___closed__1;
x_46 = lean::array_fset(x_28, x_38, x_45);
x_47 = l_PersistentArray_insertNewLeaf___main___rarg(x_44, x_36, x_37, x_4);
x_47 = l_PersistentArray_insertNewLeaf___main___rarg(x_44, x_35, x_37, x_4);
x_48 = lean::array_fset(x_46, x_38, x_47);
lean::dec(x_38);
x_49 = lean::alloc_cnstr(0, 1, 0);
@ -1099,7 +1052,7 @@ lean::dec(x_12);
if (x_13 == 0)
{
obj* x_14; obj* x_15; obj* x_16; obj* x_17; obj* x_18; obj* x_19;
x_14 = l_PersistentArray_mkNewPath___main___rarg___closed__1;
x_14 = l_PersistentArray_mkEmptyArray___closed__1;
x_15 = lean::array_push(x_14, x_3);
x_16 = l_PersistentArray_mkNewPath___main___rarg(x_6, x_4);
x_17 = lean::array_push(x_15, x_16);
@ -1121,7 +1074,7 @@ x_21 = lean::nat_sub(x_5, x_20);
x_22 = lean::usize_of_nat(x_21);
lean::dec(x_21);
x_23 = l_PersistentArray_insertNewLeaf___main___rarg(x_3, x_22, x_6, x_4);
x_24 = l_PersistentArray_mkNewPath___main___rarg___closed__1;
x_24 = l_PersistentArray_mkEmptyArray___closed__1;
lean::inc(x_5);
lean::cnstr_set(x_1, 3, x_5);
lean::cnstr_set(x_1, 1, x_24);
@ -1150,7 +1103,7 @@ lean::dec(x_33);
if (x_34 == 0)
{
obj* x_35; obj* x_36; obj* x_37; obj* x_38; obj* x_39; obj* x_40; obj* x_41;
x_35 = l_PersistentArray_mkNewPath___main___rarg___closed__1;
x_35 = l_PersistentArray_mkEmptyArray___closed__1;
x_36 = lean::array_push(x_35, x_25);
x_37 = l_PersistentArray_mkNewPath___main___rarg(x_28, x_26);
x_38 = lean::array_push(x_36, x_37);
@ -1174,7 +1127,7 @@ x_43 = lean::nat_sub(x_27, x_42);
x_44 = lean::usize_of_nat(x_43);
lean::dec(x_43);
x_45 = l_PersistentArray_insertNewLeaf___main___rarg(x_25, x_44, x_28, x_26);
x_46 = l_PersistentArray_mkNewPath___main___rarg___closed__1;
x_46 = l_PersistentArray_mkEmptyArray___closed__1;
lean::inc(x_27);
x_47 = lean::alloc_cnstr(0, 4, sizeof(size_t)*1);
lean::cnstr_set(x_47, 0, x_45);
@ -1205,21 +1158,6 @@ x_3 = lean::nat_div(x_1, x_2);
return x_3;
}
}
obj* _init_l_PersistentArray_push___rarg___closed__1() {
_start:
{
usize x_1; obj* x_2; obj* x_3; obj* x_4; usize x_5; obj* x_6;
x_1 = 5;
x_2 = lean::usize_to_nat(x_1);
x_3 = lean::mk_nat_obj(2u);
x_4 = l_Nat_pow___main(x_3, x_2);
lean::dec(x_2);
x_5 = lean::usize_of_nat(x_4);
lean::dec(x_4);
x_6 = lean::usize_to_nat(x_5);
return x_6;
}
}
obj* l_PersistentArray_push___rarg(obj* x_1, obj* x_2) {
_start:
{
@ -1238,7 +1176,7 @@ lean::cnstr_set(x_1, 2, x_8);
lean::cnstr_set(x_1, 1, x_6);
x_9 = lean::array_get_size(x_6);
lean::dec(x_6);
x_10 = l_PersistentArray_push___rarg___closed__1;
x_10 = lean::mk_nat_obj(32u);
x_11 = lean::nat_dec_lt(x_9, x_10);
lean::dec(x_9);
if (x_11 == 0)
@ -1289,7 +1227,7 @@ lean::cnstr_set(x_23, 3, x_19);
lean::cnstr_set_scalar(x_23, sizeof(void*)*4, x_18);
x_24 = lean::array_get_size(x_20);
lean::dec(x_20);
x_25 = l_PersistentArray_push___rarg___closed__1;
x_25 = lean::mk_nat_obj(32u);
x_26 = lean::nat_dec_lt(x_24, x_25);
lean::dec(x_24);
if (x_26 == 0)
@ -3295,13 +3233,8 @@ l_PersistentArray_mkEmptyArray___closed__1 = _init_l_PersistentArray_mkEmptyArra
lean::mark_persistent(l_PersistentArray_mkEmptyArray___closed__1);
l_PersistentArray_getAux___main___rarg___closed__1 = _init_l_PersistentArray_getAux___main___rarg___closed__1();
lean::mark_persistent(l_PersistentArray_getAux___main___rarg___closed__1);
l_PersistentArray_mkNewPath___main___rarg___closed__1 = _init_l_PersistentArray_mkNewPath___main___rarg___closed__1();
lean::mark_persistent(l_PersistentArray_mkNewPath___main___rarg___closed__1);
l_PersistentArray_insertNewLeaf___main___rarg___closed__1 = _init_l_PersistentArray_insertNewLeaf___main___rarg___closed__1();
l_PersistentArray_tooBig = _init_l_PersistentArray_tooBig();
lean::mark_persistent(l_PersistentArray_tooBig);
l_PersistentArray_push___rarg___closed__1 = _init_l_PersistentArray_push___rarg___closed__1();
lean::mark_persistent(l_PersistentArray_push___rarg___closed__1);
l_PersistentArray_mmapAux___main___rarg___closed__1 = _init_l_PersistentArray_mmapAux___main___rarg___closed__1();
lean::mark_persistent(l_PersistentArray_mmapAux___main___rarg___closed__1);
l_PersistentArray_mmapAux___main___rarg___closed__2 = _init_l_PersistentArray_mmapAux___main___rarg___closed__2();

View file

@ -26,7 +26,6 @@ obj* l_String_mkIterator(obj*);
obj* l___private_init_data_string_basic_4__utf8SetAux(uint32, obj*, obj*, obj*);
obj* l_String_posOf___boxed(obj*, obj*);
obj* l_Substring_takeWhileAux(obj*, obj*, obj*, obj*);
obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
uint8 l_Substring_all(obj*, obj*);
obj* l_String_Iterator_hasPrev___main___boxed(obj*);
obj* l_List_asString(obj*);
@ -2959,15 +2958,6 @@ x_4 = l_String_mapAux___main(x_1, x_3, x_2);
return x_4;
}
}
obj* _init_l_String_foldlAux___main___at_String_toNat___spec__1___closed__1() {
_start:
{
uint32 x_1; obj* x_2;
x_1 = 48;
x_2 = lean::uint32_to_nat(x_1);
return x_2;
}
}
obj* l_String_foldlAux___main___at_String_toNat___spec__1(obj* x_1, obj* x_2, obj* x_3, obj* x_4) {
_start:
{
@ -2983,7 +2973,7 @@ x_8 = lean::mk_nat_obj(10u);
x_9 = lean::nat_mul(x_4, x_8);
lean::dec(x_4);
x_10 = lean::uint32_to_nat(x_7);
x_11 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_11 = lean::mk_nat_obj(48u);
x_12 = lean::nat_sub(x_10, x_11);
lean::dec(x_10);
x_13 = lean::nat_add(x_9, x_12);
@ -5642,8 +5632,6 @@ l_String_HasAppend = _init_l_String_HasAppend();
lean::mark_persistent(l_String_HasAppend);
l_String_lineColumn___closed__1 = _init_l_String_lineColumn___closed__1();
lean::mark_persistent(l_String_lineColumn___closed__1);
l_String_foldlAux___main___at_String_toNat___spec__1___closed__1 = _init_l_String_foldlAux___main___at_String_toNat___spec__1___closed__1();
lean::mark_persistent(l_String_foldlAux___main___at_String_toNat___spec__1___closed__1);
l_Substring_drop___main___closed__1 = _init_l_Substring_drop___main___closed__1();
lean::mark_persistent(l_Substring_drop___main___closed__1);
l_Substring_extract___main___closed__1 = _init_l_Substring_extract___main___closed__1();

View file

@ -256,89 +256,89 @@ x_5 = lean::mk_string("toNat");
lean::inc(x_5);
lean::inc(x_2);
x_6 = lean_name_mk_string(x_2, x_5);
x_7 = lean::mk_nat_obj(2u);
x_8 = l_Nat_pow___main(x_7, x_1);
x_9 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_9, 0, x_1);
lean::cnstr_set(x_9, 1, x_2);
lean::cnstr_set(x_9, 2, x_4);
lean::cnstr_set(x_9, 3, x_6);
lean::cnstr_set(x_9, 4, x_8);
x_10 = lean::mk_nat_obj(16u);
x_11 = l_Lean_Compiler_mkUIntTypeName(x_10);
x_7 = lean::mk_nat_obj(256u);
x_8 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_8, 0, x_1);
lean::cnstr_set(x_8, 1, x_2);
lean::cnstr_set(x_8, 2, x_4);
lean::cnstr_set(x_8, 3, x_6);
lean::cnstr_set(x_8, 4, x_7);
x_9 = lean::mk_nat_obj(16u);
x_10 = l_Lean_Compiler_mkUIntTypeName(x_9);
lean::inc(x_3);
lean::inc(x_11);
x_12 = lean_name_mk_string(x_11, x_3);
lean::inc(x_10);
x_11 = lean_name_mk_string(x_10, x_3);
lean::inc(x_5);
lean::inc(x_11);
x_13 = lean_name_mk_string(x_11, x_5);
x_14 = l_Nat_pow___main(x_7, x_10);
x_15 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_15, 0, x_10);
lean::cnstr_set(x_15, 1, x_11);
lean::cnstr_set(x_15, 2, x_12);
lean::cnstr_set(x_15, 3, x_13);
lean::cnstr_set(x_15, 4, x_14);
x_16 = lean::mk_nat_obj(32u);
x_17 = l_Lean_Compiler_mkUIntTypeName(x_16);
lean::inc(x_10);
x_12 = lean_name_mk_string(x_10, x_5);
x_13 = lean::mk_nat_obj(65536u);
x_14 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_14, 0, x_9);
lean::cnstr_set(x_14, 1, x_10);
lean::cnstr_set(x_14, 2, x_11);
lean::cnstr_set(x_14, 3, x_12);
lean::cnstr_set(x_14, 4, x_13);
x_15 = lean::mk_nat_obj(32u);
x_16 = l_Lean_Compiler_mkUIntTypeName(x_15);
lean::inc(x_3);
lean::inc(x_17);
x_18 = lean_name_mk_string(x_17, x_3);
lean::inc(x_16);
x_17 = lean_name_mk_string(x_16, x_3);
lean::inc(x_5);
lean::inc(x_17);
x_19 = lean_name_mk_string(x_17, x_5);
x_20 = l_Nat_pow___main(x_7, x_16);
x_21 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_21, 0, x_16);
lean::cnstr_set(x_21, 1, x_17);
lean::cnstr_set(x_21, 2, x_18);
lean::cnstr_set(x_21, 3, x_19);
lean::cnstr_set(x_21, 4, x_20);
x_22 = lean::mk_nat_obj(64u);
x_23 = l_Lean_Compiler_mkUIntTypeName(x_22);
lean::inc(x_16);
x_18 = lean_name_mk_string(x_16, x_5);
x_19 = lean::mk_nat_obj(lean::mpz("4294967296"));
x_20 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_20, 0, x_15);
lean::cnstr_set(x_20, 1, x_16);
lean::cnstr_set(x_20, 2, x_17);
lean::cnstr_set(x_20, 3, x_18);
lean::cnstr_set(x_20, 4, x_19);
x_21 = lean::mk_nat_obj(64u);
x_22 = l_Lean_Compiler_mkUIntTypeName(x_21);
lean::inc(x_3);
lean::inc(x_23);
x_24 = lean_name_mk_string(x_23, x_3);
lean::inc(x_22);
x_23 = lean_name_mk_string(x_22, x_3);
lean::inc(x_5);
lean::inc(x_23);
x_25 = lean_name_mk_string(x_23, x_5);
x_26 = l_Nat_pow___main(x_7, x_22);
x_27 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_27, 0, x_22);
lean::cnstr_set(x_27, 1, x_23);
lean::cnstr_set(x_27, 2, x_24);
lean::cnstr_set(x_27, 3, x_25);
lean::cnstr_set(x_27, 4, x_26);
x_28 = lean::box(0);
x_29 = lean::mk_string("USize");
x_30 = lean_name_mk_string(x_28, x_29);
lean::inc(x_30);
x_31 = lean_name_mk_string(x_30, x_3);
lean::inc(x_30);
x_32 = lean_name_mk_string(x_30, x_5);
lean::inc(x_22);
x_24 = lean_name_mk_string(x_22, x_5);
x_25 = lean::mk_nat_obj(lean::mpz("18446744073709551616"));
x_26 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_26, 0, x_21);
lean::cnstr_set(x_26, 1, x_22);
lean::cnstr_set(x_26, 2, x_23);
lean::cnstr_set(x_26, 3, x_24);
lean::cnstr_set(x_26, 4, x_25);
x_27 = lean::box(0);
x_28 = lean::mk_string("USize");
x_29 = lean_name_mk_string(x_27, x_28);
lean::inc(x_29);
x_30 = lean_name_mk_string(x_29, x_3);
lean::inc(x_29);
x_31 = lean_name_mk_string(x_29, x_5);
x_32 = lean::mk_nat_obj(2u);
x_33 = l_System_platform_nbits;
x_34 = l_Nat_pow___main(x_7, x_33);
x_34 = l_Nat_pow___main(x_32, x_33);
x_35 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_35, 0, x_33);
lean::cnstr_set(x_35, 1, x_30);
lean::cnstr_set(x_35, 2, x_31);
lean::cnstr_set(x_35, 3, x_32);
lean::cnstr_set(x_35, 1, x_29);
lean::cnstr_set(x_35, 2, x_30);
lean::cnstr_set(x_35, 3, x_31);
lean::cnstr_set(x_35, 4, x_34);
x_36 = lean::box(0);
x_37 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_37, 0, x_35);
lean::cnstr_set(x_37, 1, x_36);
x_38 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_38, 0, x_27);
lean::cnstr_set(x_38, 0, x_26);
lean::cnstr_set(x_38, 1, x_37);
x_39 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_39, 0, x_21);
lean::cnstr_set(x_39, 0, x_20);
lean::cnstr_set(x_39, 1, x_38);
x_40 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_40, 0, x_15);
lean::cnstr_set(x_40, 0, x_14);
lean::cnstr_set(x_40, 1, x_39);
x_41 = lean::alloc_cnstr(1, 2, 0);
lean::cnstr_set(x_41, 0, x_9);
lean::cnstr_set(x_41, 0, x_8);
lean::cnstr_set(x_41, 1, x_40);
return x_41;
}
@ -697,7 +697,7 @@ return x_3;
obj* _init_l_Lean_Compiler_mkUInt32Lit___closed__1() {
_start:
{
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;
obj* x_1; obj* x_2; obj* x_3; obj* x_4; obj* x_5; obj* x_6; obj* x_7; obj* x_8;
x_1 = lean::mk_nat_obj(32u);
x_2 = l_Lean_Compiler_mkUIntTypeName(x_1);
x_3 = lean::mk_string("ofNat");
@ -706,15 +706,14 @@ x_4 = lean_name_mk_string(x_2, x_3);
x_5 = lean::mk_string("toNat");
lean::inc(x_2);
x_6 = lean_name_mk_string(x_2, x_5);
x_7 = lean::mk_nat_obj(2u);
x_8 = l_Nat_pow___main(x_7, x_1);
x_9 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_9, 0, x_1);
lean::cnstr_set(x_9, 1, x_2);
lean::cnstr_set(x_9, 2, x_4);
lean::cnstr_set(x_9, 3, x_6);
lean::cnstr_set(x_9, 4, x_8);
return x_9;
x_7 = lean::mk_nat_obj(lean::mpz("4294967296"));
x_8 = lean::alloc_cnstr(0, 5, 0);
lean::cnstr_set(x_8, 0, x_1);
lean::cnstr_set(x_8, 1, x_2);
lean::cnstr_set(x_8, 2, x_4);
lean::cnstr_set(x_8, 3, x_6);
lean::cnstr_set(x_8, 4, x_7);
return x_8;
}
}
obj* l_Lean_Compiler_mkUInt32Lit(obj* x_1) {

View file

@ -31,7 +31,13 @@ obj* l_Lean_performModifications___boxed(obj*, obj*, obj*);
extern "C" uint8 lean_name_dec_eq(obj*, obj*);
obj* l_Array_miterateAux___main___at_Lean_importModules___spec__12___boxed(obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_SMap_find_x27___main___at_Lean_Environment_find___spec__1___boxed(obj*, obj*);
namespace lean {
obj* environment_set_main_module_core(obj*, obj*);
}
obj* l_Lean_PersistentEnvExtension_inhabited___rarg(obj*);
namespace lean {
obj* environment_main_module_core(obj*);
}
obj* l_HashMapImp_find___at_Lean_Environment_find___spec__2___boxed(obj*, obj*);
obj* l_Lean_EnvExtension_modifyStateUnsafe___rarg(obj*, obj*, obj*);
obj* l_Array_miterateAux___main___at_Lean_Environment_displayStats___spec__8___boxed(obj*, obj*, obj*, obj*, obj*);
@ -86,9 +92,6 @@ obj* l_Lean_SMap_insert___main___at_Lean_Environment_add___spec__1(obj*, obj*, o
obj* l_List_reverse___rarg(obj*);
obj* l_List_toStringAux___main___at_Lean_Environment_displayStats___spec__2___boxed(obj*, obj*);
uint8 l_List_isEmpty___main___rarg(obj*);
namespace lean {
obj* environment_set_main_module_name_core(obj*, obj*);
}
obj* l_List_foldr___main___at_Lean_PersistentEnvExtension_forceStateAux___spec__1___rarg___boxed(obj*, obj*, obj*);
obj* l_HashMapImp_moveEntries___main___at_Lean_Environment_add___spec__7(obj*, obj*, obj*);
obj* l_AssocList_foldl___main___at_Lean_Environment_add___spec__8(obj*, obj*);
@ -3650,7 +3653,7 @@ return x_2;
}
}
namespace lean {
obj* environment_set_main_module_name_core(obj* x_1, obj* x_2) {
obj* environment_set_main_module_core(obj* x_1, obj* x_2) {
_start:
{
uint8 x_3;
@ -3728,6 +3731,21 @@ return x_20;
}
}
}
namespace lean {
obj* environment_main_module_core(obj* x_1) {
_start:
{
obj* x_2; obj* x_3;
x_2 = lean::cnstr_get(x_1, 3);
lean::inc(x_2);
lean::dec(x_1);
x_3 = lean::cnstr_get(x_2, 0);
lean::inc(x_3);
lean::dec(x_2);
return x_3;
}
}
}
obj* l_Lean_SMap_switch___at___private_init_lean_environment_1__switch___spec__1(obj* x_1) {
_start:
{

View file

@ -20,7 +20,6 @@ namespace lean {
obj* mk_extern_attr_data_core(obj*, obj*);
}
obj* l_Lean_expandExternPatternAux(obj*, obj*, obj*, obj*);
extern obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
obj* l_Lean_getExternNameFor(obj*, obj*, obj*);
obj* l_Lean_getExternNameFor___boxed(obj*, obj*, obj*);
extern "C" uint8 lean_name_dec_eq(obj*, obj*);
@ -223,7 +222,7 @@ x_18 = lean::mk_nat_obj(10u);
x_19 = lean::nat_mul(x_3, x_18);
lean::dec(x_3);
x_20 = lean::uint32_to_nat(x_10);
x_21 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_21 = lean::mk_nat_obj(48u);
x_22 = lean::nat_sub(x_20, x_21);
lean::dec(x_20);
x_23 = lean::nat_add(x_19, x_22);

View file

@ -14,9 +14,7 @@ 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_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
obj* l_Lean_Parser_parseStringLiteralAux___main___rarg___lambda__2(obj*, obj*, obj*, obj*, obj*, obj*, uint32);
extern obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
obj* l_Lean_Parser_parseHexDigit___rarg___lambda__1(obj*, uint32);
obj* l_Lean_Parser_parseQuotedChar___rarg___lambda__7(obj*, obj*, obj*, obj*, obj*, uint32);
obj* l_DList_singleton___elambda__1___rarg(obj*, obj*);
@ -25,7 +23,6 @@ namespace lean {
obj* nat_sub(obj*, obj*);
}
obj* l_Lean_Parser_MonadParsec_satisfy___rarg___lambda__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
extern obj* l_mjoin___rarg___closed__1;
obj* l_Lean_Parser_parseStringLiteralAux(obj*, obj*);
obj* l_Lean_Parser_parseStringLiteralAux___main___rarg___lambda__1___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
@ -115,7 +112,7 @@ x_4 = lean::cnstr_get(x_3, 1);
lean::inc(x_4);
lean::dec(x_3);
x_5 = lean::uint32_to_nat(x_2);
x_6 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_6 = lean::mk_nat_obj(48u);
x_7 = lean::nat_sub(x_5, x_6);
lean::dec(x_5);
x_8 = lean::apply_2(x_4, lean::box(0), x_7);
@ -194,15 +191,6 @@ return x_30;
}
}
}
obj* _init_l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1() {
_start:
{
uint32 x_1; obj* x_2;
x_1 = 97;
x_2 = lean::uint32_to_nat(x_1);
return x_2;
}
}
obj* l_Lean_Parser_parseHexDigit___rarg___lambda__3(obj* x_1, uint32 x_2) {
_start:
{
@ -214,7 +202,7 @@ x_4 = lean::cnstr_get(x_3, 1);
lean::inc(x_4);
lean::dec(x_3);
x_5 = lean::uint32_to_nat(x_2);
x_6 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
x_6 = lean::mk_nat_obj(97u);
x_7 = lean::nat_sub(x_5, x_6);
lean::dec(x_5);
x_8 = lean::mk_nat_obj(10u);
@ -296,15 +284,6 @@ return x_30;
}
}
}
obj* _init_l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1() {
_start:
{
uint32 x_1; obj* x_2;
x_1 = 65;
x_2 = lean::uint32_to_nat(x_1);
return x_2;
}
}
obj* l_Lean_Parser_parseHexDigit___rarg___lambda__5(obj* x_1, uint32 x_2) {
_start:
{
@ -316,7 +295,7 @@ x_4 = lean::cnstr_get(x_3, 1);
lean::inc(x_4);
lean::dec(x_3);
x_5 = lean::uint32_to_nat(x_2);
x_6 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_6 = lean::mk_nat_obj(65u);
x_7 = lean::nat_sub(x_5, x_6);
lean::dec(x_5);
x_8 = lean::mk_nat_obj(10u);
@ -1098,10 +1077,6 @@ _G_initialized = true;
if (io_result_is_error(w)) return w;
w = initialize_init_lean_parser_parsec(w);
if (io_result_is_error(w)) return w;
l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1 = _init_l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1();
lean::mark_persistent(l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1);
l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1 = _init_l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1();
lean::mark_persistent(l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1);
l_Lean_Parser_parseHexDigit___rarg___closed__1 = _init_l_Lean_Parser_parseHexDigit___rarg___closed__1();
lean::mark_persistent(l_Lean_Parser_parseHexDigit___rarg___closed__1);
l_Lean_Parser_parseQuotedChar___rarg___lambda__7___closed__1 = _init_l_Lean_Parser_parseQuotedChar___rarg___lambda__7___closed__1();

View file

@ -16,7 +16,6 @@ typedef lean::uint32 uint32; typedef lean::uint64 uint64;
#endif
obj* l_Lean_Parser_ParsecT_failure___at_Lean_Parser_token___spec__4(obj*, obj*);
obj* l_Lean_Parser_MonadParsec_error___at___private_init_lean_parser_token_1__finishCommentBlockAux___main___spec__1___rarg___boxed(obj*, obj*, obj*, obj*, obj*, obj*, obj*);
extern obj* l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
obj* l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_detailIdentPart_Parser_Lean_Parser_HasTokens___spec__1(obj*, obj*, obj*);
obj* l_Lean_Parser_withTrailing___rarg___lambda__1(obj*, obj*);
obj* l_Lean_Parser_rawStr_Lean_Parser_HasTokens___boxed(obj*, obj*, obj*, obj*, obj*, obj*);
@ -27,7 +26,6 @@ obj* l_Lean_Parser_raw_view___rarg(obj*, obj*, obj*, obj*, obj*, uint8);
obj* l_List_mfoldr___main___at_Lean_Parser_number_x27___spec__9(obj*, obj*, obj*, obj*, obj*, obj*, obj*, obj*);
obj* l_Lean_Parser_MonadParsec_takeWhile1___at_Lean_Parser_detailIdentPart_Parser_Lean_Parser_HasTokens___spec__1___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_rawStr_Lean_Parser_HasView___rarg___boxed(obj*, obj*, obj*, obj*, obj*);
extern obj* l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
obj* l_Lean_Parser_stringLit;
obj* l_fixCore___rarg___boxed(obj*, obj*, obj*);
obj* l_Lean_Parser_MonadParsec_takeWhileCont___at___private_init_lean_parser_token_4__ident_x27___spec__4___boxed(obj*, obj*, obj*, obj*);
@ -80,7 +78,6 @@ uint8 l_String_isEmpty(obj*);
obj* l_Lean_Parser_detailIdent_HasView_x27___lambda__1___closed__1;
obj* l___private_init_lean_parser_token_2__whitespaceAux___main___boxed(obj*, obj*, obj*, obj*);
obj* l___private_init_lean_parser_token_7__toNatCore___boxed(obj*, obj*, obj*, obj*);
extern obj* l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
obj* l_Lean_Parser_stringLit_Parser___rarg(obj*);
extern obj* l_Lean_Parser_Combinators_choiceAux___main___rarg___closed__1;
obj* l_Lean_Parser_number_HasView_x27___elambda__1___closed__3;
@ -20963,7 +20960,7 @@ x_193 = lean::cnstr_get(x_189, 2);
x_194 = lean::unbox_uint32(x_192);
lean::dec(x_192);
x_195 = lean::uint32_to_nat(x_194);
x_196 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_196 = lean::mk_nat_obj(48u);
x_197 = lean::nat_sub(x_195, x_196);
lean::dec(x_195);
x_198 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1;
@ -20987,7 +20984,7 @@ lean::dec(x_189);
x_203 = lean::unbox_uint32(x_200);
lean::dec(x_200);
x_204 = lean::uint32_to_nat(x_203);
x_205 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_205 = lean::mk_nat_obj(48u);
x_206 = lean::nat_sub(x_204, x_205);
lean::dec(x_204);
x_207 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1;
@ -21301,7 +21298,7 @@ x_23 = lean::cnstr_get(x_19, 2);
x_24 = lean::unbox_uint32(x_22);
lean::dec(x_22);
x_25 = lean::uint32_to_nat(x_24);
x_26 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_26 = lean::mk_nat_obj(65u);
x_27 = lean::nat_sub(x_25, x_26);
lean::dec(x_25);
x_28 = lean::mk_nat_obj(10u);
@ -21333,7 +21330,7 @@ lean::dec(x_19);
x_40 = lean::unbox_uint32(x_37);
lean::dec(x_37);
x_41 = lean::uint32_to_nat(x_40);
x_42 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_42 = lean::mk_nat_obj(65u);
x_43 = lean::nat_sub(x_41, x_42);
lean::dec(x_41);
x_44 = lean::mk_nat_obj(10u);
@ -21408,7 +21405,7 @@ x_118 = lean::cnstr_get(x_114, 2);
x_119 = lean::unbox_uint32(x_117);
lean::dec(x_117);
x_120 = lean::uint32_to_nat(x_119);
x_121 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
x_121 = lean::mk_nat_obj(97u);
x_122 = lean::nat_sub(x_120, x_121);
lean::dec(x_120);
x_123 = lean::mk_nat_obj(10u);
@ -21435,7 +21432,7 @@ lean::dec(x_114);
x_130 = lean::unbox_uint32(x_127);
lean::dec(x_127);
x_131 = lean::uint32_to_nat(x_130);
x_132 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
x_132 = lean::mk_nat_obj(97u);
x_133 = lean::nat_sub(x_131, x_132);
lean::dec(x_131);
x_134 = lean::mk_nat_obj(10u);
@ -28843,7 +28840,7 @@ if (x_14 == 0)
{
obj* x_15; obj* x_16; obj* x_17; obj* x_18;
x_15 = lean::uint32_to_nat(x_9);
x_16 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_16 = lean::mk_nat_obj(65u);
x_17 = lean::nat_sub(x_15, x_16);
lean::dec(x_15);
x_18 = lean::nat_add(x_11, x_17);
@ -28863,7 +28860,7 @@ if (x_21 == 0)
{
obj* x_22; obj* x_23; obj* x_24; obj* x_25;
x_22 = lean::uint32_to_nat(x_9);
x_23 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_23 = lean::mk_nat_obj(65u);
x_24 = lean::nat_sub(x_22, x_23);
lean::dec(x_22);
x_25 = lean::nat_add(x_11, x_24);
@ -28878,7 +28875,7 @@ else
{
obj* x_27; obj* x_28; obj* x_29; obj* x_30;
x_27 = lean::uint32_to_nat(x_9);
x_28 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
x_28 = lean::mk_nat_obj(97u);
x_29 = lean::nat_sub(x_27, x_28);
lean::dec(x_27);
x_30 = lean::nat_add(x_11, x_29);
@ -28895,7 +28892,7 @@ else
{
obj* x_32; obj* x_33; obj* x_34; obj* x_35;
x_32 = lean::uint32_to_nat(x_9);
x_33 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_33 = lean::mk_nat_obj(48u);
x_34 = lean::nat_sub(x_32, x_33);
lean::dec(x_32);
x_35 = lean::nat_add(x_11, x_34);
@ -29819,7 +29816,7 @@ x_160 = lean::cnstr_get(x_157, 2);
x_161 = lean::unbox_uint32(x_159);
lean::dec(x_159);
x_162 = lean::uint32_to_nat(x_161);
x_163 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_163 = lean::mk_nat_obj(48u);
x_164 = lean::nat_sub(x_162, x_163);
lean::dec(x_162);
x_165 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1;
@ -29859,7 +29856,7 @@ lean::dec(x_157);
x_174 = lean::unbox_uint32(x_171);
lean::dec(x_171);
x_175 = lean::uint32_to_nat(x_174);
x_176 = l_String_foldlAux___main___at_String_toNat___spec__1___closed__1;
x_176 = lean::mk_nat_obj(48u);
x_177 = lean::nat_sub(x_175, x_176);
lean::dec(x_175);
x_178 = l_Lean_Parser_Parsec_Result_mkEps___rarg___closed__1;
@ -30014,7 +30011,7 @@ x_90 = lean::cnstr_get(x_87, 2);
x_91 = lean::unbox_uint32(x_89);
lean::dec(x_89);
x_92 = lean::uint32_to_nat(x_91);
x_93 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
x_93 = lean::mk_nat_obj(97u);
x_94 = lean::nat_sub(x_92, x_93);
lean::dec(x_92);
x_95 = lean::mk_nat_obj(10u);
@ -30057,7 +30054,7 @@ lean::dec(x_87);
x_106 = lean::unbox_uint32(x_103);
lean::dec(x_103);
x_107 = lean::uint32_to_nat(x_106);
x_108 = l_Lean_Parser_parseHexDigit___rarg___lambda__3___closed__1;
x_108 = lean::mk_nat_obj(97u);
x_109 = lean::nat_sub(x_107, x_108);
lean::dec(x_107);
x_110 = lean::mk_nat_obj(10u);
@ -30221,7 +30218,7 @@ x_13 = lean::cnstr_get(x_10, 2);
x_14 = lean::unbox_uint32(x_12);
lean::dec(x_12);
x_15 = lean::uint32_to_nat(x_14);
x_16 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_16 = lean::mk_nat_obj(65u);
x_17 = lean::nat_sub(x_15, x_16);
lean::dec(x_15);
x_18 = lean::mk_nat_obj(10u);
@ -30249,7 +30246,7 @@ lean::dec(x_10);
x_28 = lean::unbox_uint32(x_25);
lean::dec(x_25);
x_29 = lean::uint32_to_nat(x_28);
x_30 = l_Lean_Parser_parseHexDigit___rarg___lambda__5___closed__1;
x_30 = lean::mk_nat_obj(65u);
x_31 = lean::nat_sub(x_29, x_30);
lean::dec(x_29);
x_32 = lean::mk_nat_obj(10u);