Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


  • Source: Deprecated hamcrest matchers were removed in preference to Fest-assertions.
  • Behavioral: No No difference between usual grammar rule and "recovery rule" - both will be presented in AST and so can be handled via AST visitor. Thus ParseErrorCheck in SonarQube plugins must be reworked, if plugin uses "recovery rule".
  • Behavioral: Modifications made in grammar do not affect lexerless parser, which was created before those modifications.
  • Behavioral: Previously was possible to execute parser with grammar, which contains references on undefined rules, but now this is forbidden.
  • Behavioral: Replace AuditListener by AstScannerExceptionHandler by AstScannerExceptionHandler to subscribe to errors
  • Deprecation: Old ways to construct Grammars were marked as deprecated - use Builders instead.


  • Deprecation: Replace "GrammarFunctions.Standard.or(" by "GrammarFunctions.Standard.firstOf(". In most cases you should be able to do this by using "find text and replace".
  • Deprecation: Replace the hamcrest parse() and notParse() matches by Fest ones: Use a global regular expression based find & replace: "assertThat\(p, parse\((.*?)\)\);" by ".matches\($1\)" and add the assertThat(Parser) and final semicolon manually. Do the same for notParse().

SSLR 1.15

  • Source: Replace artifactId "sslr-devkit" by "sslr-toolkit".