Releases: dryruby/ebnf
Releases · dryruby/ebnf
Release 2.6.0
PEG parser improvements, and default EBNF parser is now the PEG version.
- CI on Ruby 3.3.
- Add dependency on base64 gem.
- Revise logging to use standard RDF log facility.
- Example JSON grammars
EBNF grammar ambiguity
- Allow angle brackets around EBNF symbols. (Fixes #15).
- Parsers determine the if grammar rules start with an identifier followed by a symbol and dynamically set the terminal regular expressions accordingly. Subsequent rules must either all begin with an identifier, or only a symbol.
PEG parser
- Add informative/progress output for entry to productions as well as exit.
- Pass options recursively to parsers, and allow handlers to specify options. (Used for ignore_strings).
- Check for terminals that also match a string production but match longer than that string; they should not match.
- Add some missing unscans to PEG rule parser.
Release 2.5.0
- Keep single-quote and double-quote strings separate. (Depends on updated support in SXP 2.0).
- Fix unescaping strings in native parser containing ECHARs or UCHARs.
Release 2.4.0
- Updates to version 2.4.0, depends on RDF.rb 3.3 and Ruby 3.
- Update Nokogiri to 1.15 (>= 1.15.4) to address critical vulnerabilities.
Release 2.3.5
- Use wider range of escapes for showing character escapes in HTML.
Release 3.2.4
- Fix line folding on alt in HTML.
- Mark other EBNF strings using grammar-literal in HTML output.
- Mark declarations in HTML output with a class to allow CSS targeting.
Release 3.2.3
- Add HTML classes to some grammar code elements.
- Fix native parsing of RANGE containing a backslash.
Release 3.2.2
Updates for ABNF:
- Correct the ABNF example.
- Fix bug writing ABNF to HTML.
- ABNF HEX representation is upper case.
- Rept spacing.
Other:
- Fix document YAML.
- Fix problem loading Nokogiri in writer when validating.
Release 2.3.1
ABNF improvements (@AaronLasseigne)
- fix code examples for parsing alternate formats.
- escape troublesome characters in regexp expressions.
Also:
- Update documentation links to use gh-pages, and add action to publish gh-pages from Yard docs.
Release 2.3.0
- Minimum Ruby version now 2.5.
- Don't use bundler for 'ebnf' cli, which interferes when used in projects.
Release 2.2.0
- Don't use Nokogumbo directly, as it's included in Nokogiri >= 1.12.
- Move string unescaping from LL1::Lexter to new Unescape module.
- Implement :unescape option to PEG terminals.
- Allow start_production for PEG to specify case insensitive_strings, mapping to either :upper or :lower. Transforms the matched string component of a production to either upper or lower case.