Awesome
42minjoy
Build | Linux | Windows | Coverity |
---|---|---|---|
status |
Joy from Sympas translated to C.
Changes
Adding a new builtin, e.g. getch or putch, requires modification of the program in 4 locations: standardident{}, initialise(), standardident_NAMES[], and joy(). After translating from Pascal to C with the help of p2c some corrections were done. Reading the library files twice is not needed, given the nature of the language and that is why this feature was removed. After some more changes it is now a small version of Joy.
Installation
mkdir build
cd build
cmake ..
cmake --build .
Debugging
Although this software contains almost no bugs, steps have been taken that make debugging easier. For a start, gdb requires that input comes from a file, so a typical session will be:
gdb joy
...
run tutorial.joy
...
quit
If the program crashes gdb sometimes answers to the command bt
with: No stack.
In that case, it might be helpful that it is also possible to compile with
-DDEBUG and get a trace of program execution in joy.log.