sampsyo / minisynth

program synthesis is possible

Home Page:https://www.cs.cornell.edu/~asampson/blog/minisynth.html

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

program synthesis is possible

https://www.cs.cornell.edu/~asampson/blog/minisynth.html

License:MIT License


Languages

Language:Python 100.0%