This repository provides
- the language definition for Mini Python, and
- a Java-based builder, and
- a compatible C runtime environment.
The builder emits C code via API calls (analogous to LLVM): To generate C code for a Mini Python program, you call the builder functions while traversing the AST. This generated code can be compiled into an executable application using a standard C compiler and the C runtime environment provided here.
For details please refer to the documentation.
To work with the builder, you need Java. The actual release does not really matter (Java 9 and newer should work), however JDK 21 LTS is recommended.
To compile the generated C code, you need make and a C compiler (e.g. gcc or clang).
You also need a POSIX-compatible operating system. For details see Verwendung des generierten C-Codes im Mini-Python-CBuilder.
Questions, bug reports and feature requests are very welcome.
Please check first whether your request has already been addressed in other (open or closed) topics. Feel free to reopen closed issues if necessary.
This work by Florian Warzecha, Sebastian Steinmeyer, Michael Peters, BC George, Carsten Gips, and contributors is licensed under MIT.