rrthomas / bee Goto Github PK
View Code? Open in Web Editor NEWA minimal-effort VM for running Forth
License: GNU General Public License v3.0
A minimal-effort VM for running Forth
License: GNU General Public License v3.0
I am trying to build bee
from source on Mac OS X (Monterey 12.2.1) using ./bootstrap
and get the following failure:
Don't forget to
- add "lib/Makefile" to AC_CONFIG_FILES in ./configure.ac,
- mention "lib" in SUBDIRS in Makefile.am,
- mention "-I m4" in ACLOCAL_AMFLAGS in Makefile.am,
- mention "m4/gnulib-cache.m4" in EXTRA_DIST in Makefile.am,
- invoke gl_EARLY in ./configure.ac, right after AC_PROG_CC_C99,
- invoke gl_INIT in ./configure.ac.
bootstrap: running: autoreconf --symlink --install
/Library/Developer/CommandLineTools/usr/bin/gm4: unrecognized option `--gnu'
Try `/Library/Developer/CommandLineTools/usr/bin/gm4 --help' for more information.
autom4te: error: /usr/bin/gm4 failed with exit status: 1
aclocal: error: autom4te failed with exit status: 1
autoreconf: error: aclocal failed with exit status: 1
I can build the distribution tarball fine.
Copy (and possibly improve) fix from mmv
.
Use a src/Makefile.am
fragment as for a typical autoconf dir variable with sed
.
These functions would be useful for debugging Bee itself, to use e.g. in vm.c.
They could also make it easier for motivated users to track down bugs!
Thanks to Eli Zaretskii for raising this question. As it says in the GDB manual: "In the below the exact meaning of signal number is defined by the header include/gdb/signals.h in the GDB source code." So in other words I should be using signal codes from that header file, not native signal codes.
With continue
it works fine.
Could either designate TRAP 0
, or allow GDB to specify some unused trap value.
.so
that gdb can load and use to navigate compiled code to extract symbol and stack frame information).file
command.Add stack access instructions of Mit (see rrthomas/mit#406).
Simple version of Mit's encoding (thanks, @apt1002 for reminding me of this option): reserve the bottom two bits of the opcode to indicate a rest-of-word instruction; otherwise, decode only one byte.
This can be used in a simple-minded way by only choosing one of two options: either use the whole word, or only use byte instructions. Actually requiring this seems attractive, because then byte opcodes in other than the first byte could use the full 8 bits, but this complicates the decoder.
To be able to get away with "only" 64 instructions, will first need traps ร la Mit.
Hello,
The README.md file claims Bee is a "minimal virtual machine". I'm curious what minimal means here?
FYI, I have written a Forth VM with just 13 instructions, which is why I'm interested in this kind of thing.
https://github.com/larsbrinkhoff/nybbleForth
Currently the instructions still end with the suffix R
and the macros with _RETURN
. Oops!
Currently this causes a compilation failure. One solution that would not complicate the relevant trap ABIs (LIBC_LSEEK
, LIBC_RESIZE_FILE
, LIBC_FILE_SIZE
) would be to check return values from system calls and throw an error if the offset cannot be represented.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.