54 lines
1.5 KiB
Plaintext
54 lines
1.5 KiB
Plaintext
┌───────────────────────┐
|
|
│ _ ____ _ │
|
|
│ / \ | _ \| | │
|
|
│ / _ \ | |_) | | │
|
|
│ / ___ \| _ <| |___ │
|
|
│ /_/ \_\_| \_\_____| │
|
|
└───────────────────────┘
|
|
|
|
Similar to Forth.
|
|
|
|
-----
|
|
Goals
|
|
-----
|
|
- Complete operational transpiler, with C as a provisional working target
|
|
- Ability to reuse compiled code (as object code) in top level ARL code.
|
|
- Static type system with informative errors
|
|
|
|
-------------
|
|
Issue tracker
|
|
-------------
|
|
See arl.org.
|
|
|
|
------------
|
|
Requirements
|
|
------------
|
|
- C compiler with support for C23, accessible via PATH
|
|
- GNU Make
|
|
|
|
------------------
|
|
Build instructions
|
|
------------------
|
|
$ make
|
|
... will generate a binary "arlc.out" in the build folder, which may be used to
|
|
compile ".arl" files into native code.
|
|
|
|
$ make MODE=debug
|
|
... will generate a debug binary that may be used for further examination and
|
|
logging.
|
|
|
|
You may specify the folder build artifacts are generated in by setting the DIST
|
|
variable in your make invocation i.e.
|
|
$ make DIST=<folder>
|
|
|
|
Similarly, the general flags used in the C compiler may be set via the CFLAGS
|
|
variable, with linking arguments set via the LDFLAGS variable.
|
|
|
|
------------------
|
|
Usage instructions
|
|
------------------
|
|
Once built, simply use the built binary like so:
|
|
$ ./build/arl.out <filename>
|
|
|
|
Alternatively, you can run the examples automatically via the Makefile:
|
|
$ make examples |