450f8da6d5
akin to what Pedro Souza and Wojciech Koszek did in the lua GSoC with interp.h, interp_simple.c and changes to interp.c and interp_forth.c, but completely redone from scratch. This effectively restores the spirit of r326712 (my first attempt to bring in Pedro's and Wojciech's work) updated for new requirements that had silently broke their original work. This change also differs by using fixed function names instead of function pointers to simply things. Only one interpreter at a time may be compiled in. Also of note: we take a mutable string, pass it in via a const char * pointer into intrp_forth's interp_run(). We then cast away the const to pass into ficlExec since ficl would require extensive changes to properly const-poison. See Sections 6.5.2.5 and 6.7.3 of C11 standard noting it's only UB if you modify a const object through a non-const pointer, but not char [] -> const char * -> char * as here. |
||
---|---|---|
.. | ||
bcache.c | ||
boot.c | ||
bootstrap.h | ||
commands.c | ||
console.c | ||
dev_net.c | ||
dev_net.h | ||
devopen.c | ||
disk.c | ||
disk.h | ||
help.common | ||
install.c | ||
interp_backslash.c | ||
interp_forth.c | ||
interp_parse.c | ||
interp_simple.c | ||
interp.c | ||
isapnp.c | ||
isapnp.h | ||
load_elf32_obj.c | ||
load_elf32.c | ||
load_elf64_obj.c | ||
load_elf64.c | ||
load_elf_obj.c | ||
load_elf.c | ||
ls.c | ||
Makefile.depend | ||
md.c | ||
merge_help.awk | ||
misc.c | ||
module.c | ||
newvers.sh | ||
part.c | ||
part.h | ||
paths.h | ||
pnp.c | ||
rbx.h | ||
reloc_elf32.c | ||
reloc_elf64.c | ||
reloc_elf.c | ||
self_reloc.c |