Skip to main content

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

Project description

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

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

pytch-0.0.1.tar.gz (41.7 kB view details)

Uploaded Source

Built Distribution

pytch-0.0.1-py3-none-any.whl (194.9 kB view details)

Uploaded Python 3

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

Hashes for pytch-0.0.1.tar.gz
Algorithm Hash digest
SHA256 0b0e829f251f2299b88f7d967afa5e643c921d7fc587339e88e7352ebeb2f2d0
MD5 c1c7ddb191d63cf20bb2e3e9050562e6
BLAKE2b-256 1b89c996eda217c944b5b86973c6c96cda5a9da7097a0f8301b45c7eeef93e53

See more details on using hashes here.

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

Hashes for pytch-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7a2efe81c0400fdbdeed2c736cadabf1c9032b697d0b1624ec5eb16b7019329a
MD5 8eeb7ae7cfcf7d0e3ecff0a19dc559a5
BLAKE2b-256 cda51df349be29890532721c3a6219137e1fc2dd2445dc8bfa4ea9254b87d8ef

See more details on using hashes here.

Supported by

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