diff options
Diffstat (limited to 'src/lisp/ao_lisp_make_builtin')
| -rw-r--r-- | src/lisp/ao_lisp_make_builtin | 17 | 
1 files changed, 17 insertions, 0 deletions
| diff --git a/src/lisp/ao_lisp_make_builtin b/src/lisp/ao_lisp_make_builtin index b7b17cf4..ddc9a0b3 100644 --- a/src/lisp/ao_lisp_make_builtin +++ b/src/lisp/ao_lisp_make_builtin @@ -142,6 +142,22 @@ dump_consts(builtin_t[*] builtins) {  	printf("#endif /* AO_LISP_BUILTIN_CONSTS */\n");  } +void +dump_atoms(builtin_t[*] builtins) { +	printf("#ifdef AO_LISP_BUILTIN_ATOMS\n"); +	printf("#undef AO_LISP_BUILTIN_ATOMS\n"); +	for (int i = 0; i < dim(builtins); i++) { +		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("#endif /* AO_LISP_BUILTIN_ATOMS */\n"); +} +  void main() {  	if (dim(argv) < 2) {  		File::fprintf(stderr, "usage: %s <file>\n", argv[0]); @@ -155,6 +171,7 @@ void main() {  		dump_funcs(builtins);  		dump_decls(builtins);  		dump_consts(builtins); +		dump_atoms(builtins);  	}  } | 
