Microcontroller Port of CBQN
Go to file
2021-06-21 17:45:57 +03:00
obj JIT isn't happy with functions being in far away places 2021-06-19 04:51:34 +03:00
src shut up gcc 2021-06-21 17:45:57 +03:00
.gitignore proper ASM printing toggle, include function names 2021-06-16 03:48:40 +03:00
build inline scope variable setting 2021-06-19 21:03:33 +03:00
buildg inline scope variable setting 2021-06-19 21:03:33 +03:00
cc.bqn optional source for precompiled programs 2021-05-16 13:42:58 +03:00
debugBuild inline scope variable setting 2021-06-19 21:03:33 +03:00
genRuntime incremental compilation 2021-05-23 21:55:49 +03:00
genRuntimeSrc incremental compilation 2021-05-23 21:55:49 +03:00
LICENSE license 2021-04-20 14:26:56 +03:00
makefile faster i32arrOfBools/ 2021-06-06 15:15:18 +03:00
precompiled.bqn store directly needed blocks in bodies 2021-05-26 14:45:29 +03:00
README.md fix gcc, more readme changes 2021-06-11 04:59:31 +03:00
test.bqn stacktraces 2021-05-10 02:44:26 +03:00

Build & run (tl;dr: make; rlwrap ./BQN):

  1. (optional) Run ./genRuntime path/to/mlochbaum/BQN; Otherwise, the necessary precompiled bytecode will be retrieved from remotes/origin/bytecode
  2. If wanted, customize settings in src/h.h
  3. make
    • Options: make o3, make debug (make rtperf, make heapverify and make rtverify also exist for further testing/debugging)
    • Do make clean or make [o3|debug|…]-clean beforehand to force recompile
    • ./build and ./debugBuild compile everything at once and allow specifying extra compiler arguments, but may be slower
  4. ./BQN (or rlwrap ./BQN for a better REPL)

Run tests with ./BQN mlochbaum/BQN/test/this.bqn (with -noerr for a heapverify build).

Time REPL-executed safe prim tests: ./test.bqn mlochbaum/BQN -s prim > SP; time ./BQN<SP>/dev/null

Test precompiled expression: ./precompiled.bqn mlochbaum/BQN "$PATH" '2+2'

Any file without an explicit copyright message is copyright (c) 2021 dzaima, GNU GPLv3 - see LICENSE