This repository provides
- the language definition for Mini Python, and
- a Java-based builder, and
- a compatible C runtime environment.
The builder emits code via API calls (analogous to LLVM): To generate code for a Mini Python program, you call the builder functions while traversing the AST. Based on that, the generation of, e.g. C code, takes place; this 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 17 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.