A minimalistic programming language written in C89.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Ludovic 'Archivist' Lagouardette d5f09d826f Segregated inner and outer allocations 10 months ago
test Added coroutine handling 10 months ago
.gitignore Initial commit 11 months ago
CMakeLists.txt Added README.md contents 10 months ago
LICENSE Added README.md contents 10 months ago
README.md Added README.md contents 10 months ago
bench.c Added coroutine handling 10 months ago
ink.h Segregated inner and outer allocations 10 months ago
lib.c Segregated inner and outer allocations 10 months ago
main.c Added coroutine handling 10 months ago

README.md

ink

ink is a minimalistic interpreted programming language, tentatively implemented exclusively in C98. It features coroutines and can currently only manipulate integers. Part of the code may not be compliant with C98 and I will try to fix that in time.

It is fully self-contained and doesn't rely on a working standard library beyond the following:

  • malloc
  • realloc
  • free
  • putchar

To make the library not use the standard library, build it with NOSTDLIB defined as a preprocessor directive.

All of these functions need to work for ink to work. It is easy to add new functions to the interpreter. In the future, I will add a garbage collector to handle cleaning dynamically allocated resources.