pytch

An expression-oriented, tooling-focused language that compiles down to Python.


Keywords
programming-language, python
License
MIT
Install
pip install pytch==0.0.1

Documentation

Build Status

Development

Setup

The Pytch compiler is currently written in Python 3.7.

To install the development environment, run

$ poetry install

Running

To launch the REPL:

$ poetry run pytch repl

To execute a file as a Pytch script:

$ poetry run pytch run file.pytch

Updating the syntax trees

To modify the syntax tree node types, update pytch/syntax_tree.txt, then run:

$ ./bin/generate_syntax_trees.sh

Fuzzing the parser

To run the fuzzer on the Pytch parser, first be sure that the AFL fuzzer is installed (e.g. with brew install afl-fuzz). Next, install the fuzzing dependencies:

$ poetry install --extras fuzz

Then you can run:

$ ./bin/fuzz.sh