6d507e239c3d7ddeafebcdbc1b12b9fc5510dd70
commit1588e7b46dAuthor: Aryadev Chavali <aryadev@aryadevchavali.com> Date: Sat Jan 24 02:55:12 2026 +0000 parser/parser: parse_symbol now supports primitives parse_symbol now investigates if the parsed symbol data is actually just a primitive (linear search through all primitives). If it is, return a primitive first. Otherwise, generate a symbol as per previous form of routine. commit62c91990c4Author: Aryadev Chavali <aryadev@aryadevchavali.com> Date: Sat Jan 24 02:40:26 2026 +0000 parser/ast: Added support for node level primitives These are just an enumeration of primitives we already expect to be present within a program. Instead of leaving everything as a symbol, we can compile certain symbols into the enumeration ahead of time to make later stages easier.
┌───────────────────────┐ │ _ ____ _ │ │ / \ | _ \| | │ │ / _ \ | |_) | | │ │ / ___ \| _ <| |___ │ │ /_/ \_\_| \_\_____| │ └───────────────────────┘ Similar to Forth. Compiles to C. Native speed with simple semantics. ----- Goals ----- - Complete operational transpiler to C - 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.
Languages
C
95.6%
Makefile
4.4%