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.2.tar.gz (92.4 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.2-py3-none-any.whl (7.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for aporiapy-0.1.2.tar.gz
Algorithm Hash digest
SHA256 0190cc71059c7e94ee1475e6d7f33afec25d706f606e91fe10c329bffe83d6b2
MD5 ecad10c4682a65b6f2e7e90e26f4830e
BLAKE2b-256 6cee66c9c71cb12ace15c2d6f7abb30dd044f85ec003b08e719a9c1b1d236c98

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for aporiapy-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ca6b97571da6c519c1b6b487bd85bffdca548e2a86055f0dffb2f326a24cbcb8
MD5 4286deff5b51dff54bcb2937d6513474
BLAKE2b-256 359144ee7c62ad1b8d1f447380d7bfc38201893ffa840f5bce5cfd2fcff640e2

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