Yet another statically typed compiled programming language.
  • C 97.3%
  • Perl 2.1%
  • Makefile 0.6%
Find a file
2026-04-09 17:49:38 -04:00
compiler sema,sym: move symbol search code to symbol.c 2026-04-09 17:49:38 -04:00
docs grammar: allow prefix @ in ident for builtins 2026-04-04 17:26:53 -03:00
stdlib add license files 2025-04-16 21:45:23 -04:00
test tests: use cint for main return type 2026-04-06 13:56:21 -04:00
.editorconfig update editorconfig 2025-07-17 13:52:53 -04:00
.gitignore update gitignore 2025-07-18 01:04:01 -04:00
config.mk define rutilec macros from makefile 2025-09-25 14:38:16 -03:00
Makefile define rutilec macros from makefile 2025-09-25 14:38:16 -03:00
README.md readme: debloat, update 2025-09-24 22:13:36 -03:00
rutilec.c remove pointless field in compiler state struct 2026-04-09 13:54:20 -04:00

Rutile

Yet another compiled programming language. Very unstable and in early development.

Think of it as yet another "modernized" C.

Check the test/ folder for some syntax examples. Not very different from your expectations.

Building

Build time dependencies

  • C11 C compiler (tested on GCC, Clang and TCC)
  • The C standard library
  • GNU Make
  • POSIX shell

Dependencies for the test suite

  • Perl (for the test runner script)

Build time dependencies (single header libraries)

These are contained in compiler/libs.

Procedure

Note that the default CFLAGS and LDFLAGS are meant for development builds. You can either override the flags from the command line (like shown below) or edit config.mk.

# debug build (uses default flags):
make -j$(nproc) rutilec
# release build:
make -j$(nproc) rutilec CFLAGS='-O2 -DNDEBUG' LDFLAGS='' ASAN=''

License

  • Compiler code (in compiler/) is under the GNU GPLv3 License.
  • Standard library, runtime code and test files are under the BSD 3-clause License.
  • External libraries have their own licenses.
  • Any other file is under the BSD 3-clause license by default unless otherwise stated.

Acknowledgements

  • Christopher Wellons, for his public domain libraries.
  • Sean Barrett's stb_ds.h.