An expression-oriented, tooling-focused language that compiles down to Python.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pytch-0.0.1.tar.gz
(41.7 kB
view details)
Built Distribution
pytch-0.0.1-py3-none-any.whl
(194.9 kB
view details)
File details
Details for the file pytch-0.0.1.tar.gz
.
File metadata
- Download URL: pytch-0.0.1.tar.gz
- Upload date:
- Size: 41.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b0e829f251f2299b88f7d967afa5e643c921d7fc587339e88e7352ebeb2f2d0 |
|
MD5 | c1c7ddb191d63cf20bb2e3e9050562e6 |
|
BLAKE2b-256 | 1b89c996eda217c944b5b86973c6c96cda5a9da7097a0f8301b45c7eeef93e53 |
File details
Details for the file pytch-0.0.1-py3-none-any.whl
.
File metadata
- Download URL: pytch-0.0.1-py3-none-any.whl
- Upload date:
- Size: 194.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.23.3 CPython/2.7.15
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7a2efe81c0400fdbdeed2c736cadabf1c9032b697d0b1624ec5eb16b7019329a |
|
MD5 | 8eeb7ae7cfcf7d0e3ecff0a19dc559a5 |
|
BLAKE2b-256 | cda51df349be29890532721c3a6219137e1fc2dd2445dc8bfa4ea9254b87d8ef |