Andrea Fioraldi b4e15fe9f3
Bridge grammartec from Nautilus to libafl (#342)
* nautilus dep

* nautilus generation

* fix mutator

* start new mutator for nautilus

* other mutators

* baby

* ci

* NautilusFeedback

* fix unparse

* ci

* ci

* ci

* ci

* nigghtly clippy

* ci

* fix

* ci

* ci

* update construct automatata

* fix

* ci

* clippy

* clippy

* nightly clippy

* more clippy

* minor clippy

Co-authored-by: Dominik Maier <domenukk@gmail.com>
2021-11-06 02:21:53 +01:00

18 lines
693 B
Markdown

# Gramatron preprocessing scripts
In this folder live the scripts to convert a grammar (some examples in the `grammars/` subfolder) into a serialized Automaton.
You need as first to convert the grammar to the GNF form using the `gnf_converter.py` Python script.
Then use the output as input of the `construct_automata` crate.
Here an example using the Ruby grammar:
```
./gnf_converter.py --gf grammars/ruby_grammar.json --out ruby_gnf.json --start PROGRAM
cd construct_automata
RUSTFLAGS="-C target-cpu=native" cargo run --release -- --gf ../ruby_gnf.json --out ../ruby_automaton.postcard
```
You can add the `--limit` flag to limit the stack size, as described in the Gramatron paper.