Skip to content
master
Switch branches/tags
Go to file
Code

Latest commit

* Rewrote interp() and pretty() to use transformers

* Using hand-written Transformer, instead of Lark's builtin.

* Reverted ex2.py, and created ex2t.py as an alternative
f5dcc44

Git stats

Files

Permalink
Failed to load latest commit information.

README.md

minsynth

These are supporting materials for a lecture on program synthesis in the Sketch tradition.

Install Z3 with its Python 3 bindings. With Homebrew:

$ brew install z3 --with-python

Install our only Python dependency, Lark:

$ pip3 install --user lark-parser

Witness the magic of Z3:

$ python3 ex0.py

Run a simple example to see how to synthesize values, which is stolen from Aws Albarghouthi's primer:

$ python3 ex1.py

Run a more complete synthesis engine for a little arithmetic language:

$ python3 ex2.py < sketches/s1.txt