X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=src%2Flisp%2Fao_lisp_make_builtin;fp=src%2Flisp%2Fao_lisp_make_builtin;h=11838e33aebc160444d8f73e63173dd578b35c10;hb=e1acf5eb12aceda7aa838df031c1da1129d0fa5d;hp=ddc9a0b37ec4210abbab150d0509656206dea56d;hpb=a4e18a13029cc7b16b2ed9da84d6e606bc725ac3;p=fw%2Faltos diff --git a/src/lisp/ao_lisp_make_builtin b/src/lisp/ao_lisp_make_builtin index ddc9a0b3..11838e33 100644 --- a/src/lisp/ao_lisp_make_builtin +++ b/src/lisp/ao_lisp_make_builtin @@ -7,10 +7,12 @@ typedef struct { } builtin_t; string[string] type_map = { - "lambda" => "F_LAMBDA", + "lambda" => "LAMBDA", "nlambda" => "NLAMBDA", - "lexpr" => "F_LEXPR", + "lexpr" => "LEXPR", "macro" => "MACRO", + "f_lambda" => "F_LAMBDA", + "f_lexpr" => "F_LEXPR", }; string[*] @@ -67,8 +69,8 @@ dump_casename(builtin_t[*] builtins) { printf("static char *ao_lisp_builtin_name(enum ao_lisp_builtin_id b) {\n"); printf("\tswitch(b) {\n"); for (int i = 0; i < dim(builtins); i++) - printf("\tcase builtin_%s: return ao_lisp_poly_atom(_atom(%s))->name;\n", - builtins[i].c_name, builtins[i].c_name); + printf("\tcase builtin_%s: return ao_lisp_poly_atom(_atom(\"%s\"))->name;\n", + builtins[i].c_name, builtins[i].lisp_names[0]); printf("\tdefault: return \"???\";\n"); printf("\t}\n"); printf("}\n"); @@ -150,9 +152,7 @@ dump_atoms(builtin_t[*] builtins) { for (int j = 0; j < dim(builtins[i].lisp_names); j++) { printf("#define _ao_lisp_atom_"); cify_lisp(builtins[i].lisp_names[j]); - printf(" _atom("); - cify_lisp(builtins[i].lisp_names[j]); - printf(")\n"); + printf(" _atom(\"%s\")\n", builtins[i].lisp_names[j]); } } printf("#endif /* AO_LISP_BUILTIN_ATOMS */\n");