Skip to content

Compiler-CampusMinden/Mini-Python-Builder

Repository files navigation

Mini-Python Builder (Backend)

Overview

This repository provides

  1. the language definition for Mini Python, and
  2. a Java-based builder, and
  3. 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.

Required software

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.

Contributing

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.


License

This work by Florian Warzecha, Sebastian Steinmeyer, Michael Peters, BC George, Carsten Gips, and contributors is licensed under MIT.