Skip to main content

A compiler which translates a subset of Python to the Aporia language

Project description

Aporia AST

This package compiles a subset of Python to Aporia. The Aporia language is described in this paper.

The Backus-Naur-Form Grammar of the Python source language subset is specified here: L_if bnf

Installation

You can install the package with

pip install aporiapy

Usage

Command Line Interface

You can use the compiler via the command line interface

aporiapy file_to_be_compiled.py

This will generate an spp file containing the Aporia source code. Additional options can be found with aporiapy -h

Contributing

Dependency management and the publishing of packages is managed by uv. You can install it with pip install uv. The interpreter can be run with uv run aporiapy. Tests can be run with uv run pytest

Acknowledgements

This project builds upon the work done in the seminar Interpretation and Compilation of Programming Languages at the University of Basel. Thanks to the contributions of Ruben Hutter, Luca Gloor, and Ephraim Siegfried, as well as the guidance from the seminar instructors Ali Ajorian and Erick Lavoie.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aporiapy-0.1.1.tar.gz (90.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

aporiapy-0.1.1-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file aporiapy-0.1.1.tar.gz.

File metadata

  • Download URL: aporiapy-0.1.1.tar.gz
  • Upload date:
  • Size: 90.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.0

File hashes

Hashes for aporiapy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 76cb637d62052e13e56bd9e5ce567aef1beec1a0bd1762078289afb31d9dd6ae
MD5 f9d747292e6273201d93cd88dc8e76c0
BLAKE2b-256 24288321ac7071d6bafed9dfa761ec3f6213068b46a8808266e469d64de09b1a

See more details on using hashes here.

File details

Details for the file aporiapy-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: aporiapy-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.6.0

File hashes

Hashes for aporiapy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 99c433b287b5f9122a834033adb3527fd8e881f8502c10420e487978d0527772
MD5 6c006577649df62ab69ca88d09828c98
BLAKE2b-256 937b9ac0e3a433908ed7c9e367db18f808becf6e4bdbda704682d19ffcea5a93

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page