Skip to content

Releases: dryruby/ebnf

Release 2.6.0

01 Dec 23:52
Compare
Choose a tag to compare

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

20 Dec 21:07
Compare
Choose a tag to compare
  • 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

01 Sep 20:07
Compare
Choose a tag to compare
  • 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

17 Jul 20:34
Compare
Choose a tag to compare
  • Use wider range of escapes for showing character escapes in HTML.

Release 3.2.4

10 Jun 00:40
Compare
Choose a tag to compare
  • 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

02 Jun 21:11
Compare
Choose a tag to compare
  • Add HTML classes to some grammar code elements.
  • Fix native parsing of RANGE containing a backslash.

Release 3.2.2

21 Feb 00:15
Compare
Choose a tag to compare

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

23 Feb 22:18
Compare
Choose a tag to compare

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

29 Dec 21:45
Compare
Choose a tag to compare
  • Minimum Ruby version now 2.5.
  • Don't use bundler for 'ebnf' cli, which interferes when used in projects.

Release 2.2.0

25 Aug 21:41
Compare
Choose a tag to compare
  • 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.