Skip to content

Latest commit

 

History

History
99 lines (59 loc) · 4.31 KB

release-notes.md

File metadata and controls

99 lines (59 loc) · 4.31 KB

antlr-ng the parser generator
Part of the Next Generation ANTLR Project


antlr-ng Release Notes

1.0.9

Removed the need for a top-level await, which gets in the way when transpiling the code to CJS (e.g. in VS Code extensions).

1.0.8

Now certain error reporting/handling types are exported, to help consumers of the tool class to handle issues reported from the tool.

1.0.7

  • Fixed a wrong match in NESTED_ACTION in the antlr-ng lexer.

1.0.6

  • Fixed semantic predicate handling in left recursive rules (which showed a flaw in the antlr-ng lexer).
  • Fixed cloning GrammarAST nodes with options.

1.0.5

  • Upgraded antlr4ng dependency to fix a bug, for which also a test was added.
  • Fixed TestRig execution.

1.0.4

Fixed some ANTLR grammar errors. The official ANTLRv4 grammar does not fully reflect the grammar used in ANTLRv4 (which is an ANTLRv3 grammar).

1.0.2 - 1.0.3

Upgraded dependencies that included the old antlr4ng-cli package.

1.0.1

The test rig and the interpreter tools work now after installation of antlr-ng. Additionally the alias grun was added for the test rig.

1.0.0

This is the first production-ready release of antlr-ng. All reported problems until now have been solved and tool shows a solid preformance, producing result just like the ANTLR4 4.13.2 release, from which it was derived.

  • Added more Unicode data files to allow using additional Unicode characters in lexer charsets (EastAsianWidth, GraphemeBreakProperty, SentenceBreakProperty).
  • Removed LexBasic.g4 grammar, which was thought as a sharable grammar, but was never used but by ANTLRv4Lexer.g4. This changed certain error messages, which now print the token text instead of a token name (e.g. ';' instead of SEMI).

0.7.0

  • All remaining ANTLR3 types have been removed or migrated.
  • The tool source is now fully cleaned up, including the comments. Removed thousands of lines of code (many from generated tree walkers and others by simplifying the overcomplicated class structure).
  • Made TestRig (grun) and Interpreter tools working.
  • Changed all embedded target templates: don't use the underscore char in template names.
  • Upgraded 3rd party libs, which required to adjust the supported parameter syntax for the tool (only one letter short parameter, so -lib became --lib)
  • Error types (now named issue types, because they include info + warning in addition to errors) converted to a simpler structure. There's now a real enum for each type and a map with the details for them. Renamed the enum/constants to camelCase for better readability. Also moved other related structures (severity) to the new implementation.
  • Converted many all-uppercase identifiers and methods to PascalCase/camelCase.
  • Fixed all reported bugs.

0.6.0

Fixed two problems in the token vocab parser (key/value parsing and import location).

The tool is now bootstrapping itself, that is, the parsers needed for the tool and its tests are now generated by the previous version of itself. No Java needed anymore!

0.5.2

Improved action escape handling. A simple search and replace doesn't work well.

0.5.1

Token vocab import handling was fixed and the lib dir parameter finally included in the import path search.

0.5.0

First public release, for public testing. Still some way to go.

0.4.0

The tool went through intensive testing by Ken Domino, who sent it through the entire grammar-v4 repository. Fixed quite a few bugs that came out of that.

0.3.0

All tool tests have been ported to TypeScript and are now running fine. The tool is now fully functional and can be used to generate parsers and lexers in TypeScript. However, the tests don't cover all features yet (listeners, visitors etc.), so there might still be some issues.

0.2.0

  • Big reorganization of the project. Everything of the TS runtime has been moved to an own project.
  • The tool files all build fine now.
  • Had to add ports for certain ANTLR3 classes for now.
  • Tool unit tests are not fixed yet.

0.1.0

  • Initial commit.
  • TypeScript files generated from Java.
  • At this point the project contained both, the ANTLR4 tool and the ANTLR4 TS runtime.