Microcontroller Port of CBQN
Go to file
2021-11-02 18:32:25 +02:00
SingeliClone@45cf1b94d5 array-scalar comparison function lookup table 2021-10-24 21:12:39 +03:00
src more consistent print method naming scheme 2021-11-02 18:32:25 +02:00
.gitignore singeli 2021-10-22 00:17:44 +03:00
.gitmodules singeli 2021-10-22 00:17:44 +03:00
cc.bqn native ⥊ 2021-07-27 19:48:22 +03:00
genRuntime refresh precompiled bytecode until genRuntime 2021-07-16 23:25:00 +03:00
genRuntimeSrc refresh precompiled bytecode until genRuntime 2021-07-16 23:25:00 +03:00
LICENSE license 2021-04-20 14:26:56 +03:00
makefile clean runtime, don't needlessly enable PIE 2021-10-28 16:16:45 +03:00
precompiled.bqn make precompiled.bqn run within CBQN 2021-10-30 12:05:38 +03:00
README.md squeeze & hash fixes 2021-09-09 16:59:47 +03:00
SingeliMake.bqn singeli 2021-10-22 00:17:44 +03:00
test.bqn update test.bqn 2021-09-26 23:30:05 +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 (the default), make debug (more presets exist for more specific debugging)
    • make CC=gcc can be used to compile with gcc. Otherwise, clang is used.
    • Do make clean or make t=[o3|debug|…] clean beforehand to force recompile
    • make single-(o3|o3g|debug|c) compile everything as a single translation unit and thus will compile slower, but allows specifying extra compiler arguments with make f='…' single-… and allows the compiler to optimize more
  4. ./BQN (or rlwrap ./BQN for a better REPL; see ./BQN --help for more options)

Run tests with ./BQN mlochbaum/BQN/test/this.bqn (add -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