Releases: rpinchbeck/Abnf-To-Antlr
Releases · rpinchbeck/Abnf-To-Antlr
Version 1.7.2
- Support case-insensitive prefixes on num-val and char-val
- Support case-insensitive hex-val
- Test EOF after rules and comments
- Test return value from console application
Version 1.7.1
Fix bug with forward references to lexer rules.
Add full grammar tests for more comprehensive testing.
Version 1.7
- Support rules with incremental alternatives (=/ operator)
- Rely on Antlr3.Runtime assembly reference instead of NuGet package.
- Bug fix to add parentheses around long repetitions
Version 1.6
- Support RFC 7405 (Case-Sensitive String Support in ABNF).
- Support Errata 5334 [Single-quoted strings are case-sensitive].
- Show detailed ANTLR error messages with line number and column number.
- Treat all ANTLR errors as exceptions (ignores ANTLR auto recovery).
- Treat repetitions as greedy (e.g.,
1*4"8"
translates to''8' (('8' '8' '8') | ('8' '8') | '8'?)
instead of'8' ('8'? | ('8' '8') | ('8' '8' '8'))
. - Add comprehensive file-driven unit tests with 95% code coverage.
- Fix num-val concatenations (e.g.,
%x41.42
translates to('\u0041' '\u0042')
instead of('\u0041'|'\u0042')
) - Fix command line to support
--direct
parameter correctly - Add generator solution for editing AbnfAst.g3 and generating parser and lexer files in Visual Studio.
Version 1.5.1
Ensure that uppercase and lowercase characters are added to distinct character collection for char-val nodes.
Version 1.5
Add case-insensitivity for char-val nodes per https://tools.ietf.org/html/rfc5234#section-2.3 which states...
ABNF strings are case insensitive and the character set for these strings is US-ASCII.
Hence:
rulename = "abc"
and:
rulename = "aBc"
will match "abc", "Abc", "aBc", "abC", "ABc", "aBC", "AbC", and "ABC".
To specify a rule that is case sensitive, specify the characters individually.
For example:
rulename = %d97 %d98 %d99
or
rulename = %d97.98.99
will match only the string that comprises only the lowercase characters, abc.
Version 1.4 imported from SourceForge
v1.4 Version 1.4 imported from SourceForge.
Version 1.3 imported from SourceForge
v1.3 Version 1.3 imported from SourceForge.
Version 1.2 imported from SourceForge
v1.2 Version 1.2 imported from SourceForge.
Version 1.1 imported from SourceForge
v1.1 Version 1.1 imported from SourceForge.