This repository contains tools to parse and manipulate SyGuS files.
Bug reports are very much appreciated, while pull requests with fixes for the bugs are even more highly appreciated!
Use the install_deps.sh
script to install Python 3+ dependencies.
- Checking if a file conforms to the SyGuS language standard:
# Check if /path/to/file.sl is a valid SyGuS v2 file
python3 -m sygus.bin.check -s 2 /path/to/file.sl
- Converting a file to a different version of the SyGuS language standard:
# Convert /path/to/file.sl from SyGuS v1 to SyGuS v2
python3 -m sygus.bin.convert -s 1 -t 2 /path/to/file.sl
- Use the
batch-check.sh
script to check entire directories (recursively):
./scripts/batch-check.sh -s 1 /path/to/dir_1 /path/to/dir_2
See ./scripts/batch-check.sh -h
for more options.
- Use the
batch-convert.sh
script to convert an entire directory (recursively):
./scripts/batch-convert.sh -s 1 -t 2 -o /path/to/out_dir /path/to/in_dir
The script generates an identical directory structure under the out_dir
output directory.
It generates a file named sygus.sl
for every successfully converted sygus.sl
file,
and a file named sygus.sl.err
with the error messages for every sygus.sl
file that it failed to convert.
See ./scripts/batch-convert.sh -h
for more options.