New features
- Deterministic repetition syntax:
<foo>{1,5}
(up to five of<foo>
),"bar"{10}
(exactly ten ofbar
). - Tail-recursive implementation, no more depth limit.
- [CLI] New debugging option:
--dump-stack
(displays the current symbol stack at every step). - [CLI] Improved and more details
--debug
output. - [CLI] New
--max-nonproductive-reductions <int>
option to limit reductions that don't produce any terminals and prevent useless loops.
Internal modules are also available as an OCaml library now, see src/lib/bnfgen.mli
.
Breaking changes
- [CLI] The
--max-depth
option was removed since there's no real "depth" anymore. You can use--max-reductions
instead to limit the total number of symbol reductions performed if you want to prevent looping rules and/or infinitely large outputs.