Skip to main content

Compiler for Spring 2019 Compilers Course, implemented in python.Compiles a custom language into a subset of the 6502 opcodes.

Project description

Compyler Compyler version

Compiler for Spring 2019 Compilers Course, implemented in python. Compiles a custom language into a subset of the 6502 opcodes.

Setup

To run the Compyler it must be installed. It can be installed either from pypi or from the source code of the directory.

From PyPi

Simply use pip to install the latest release of the compyler. To do so run pip install Compyler.

From Source

Either in a Python Virtual Environment or just on your machine in the root of the directory run make install this will install the compyler from the source code in the repo using the setup.py file. If you would like to uninstall simply run make uninstall

Compiling

Once setup has been completed an Alan++ source code file can be compiled. To do so run compyler /path/to/file

Arguements

path - The path of an Alan++ source file to be compiled.

Flags

--verbose or -v - when passed all actions of compiler will be logged to stdout.

--prettytree or -p - Outputs CST and AST in a fancier form.

Example

compyler -v -p ./examples/AssignVals.txt

Releases

0.1.0 - Project1

0.2.0 - Project2

Developing

To develop the compyler it would be a nuisance to install each time a change is made, to avoid this use a python virtual environment. To create a Virtual environment or venv use the following command python3 -m venv/path/to/new/virtual/environment The path should be pointed at this repository. To enter a venv that already exists navigate to the bin dir inside of env and run source activate. In the case of this repo the command would look like this, source ./env/bin/activate.

Once in a venv to run the compyler without installing use the following format: python3 compyler /path/to/source/file while in the root of the directory.

Publishing to PyPi

To publish the latest release of the build to pypi run the following recipe: make release. This will test, build and publish the release to pypi.

Project details


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
Compyler-0.2.0.tar.gz (9.6 kB) Copy SHA256 hash SHA256 Source None

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page