Antlr4cs Versions Save

The original, highly-optimized C# Target for ANTLR 4

v4.5.3

7 years ago

v4.5-alpha003

8 years ago

ANTLR 4.5 C# Target Preview Release

This release is available through NuGet, with complete installation instructions described in the Readme.md.

Changes since 4.5-alpha002

  • Other Changes
    • Support .NET 4.6
    • Fix build warnings in some generated documentation XML comments
    • Fall back to IKVM to remove the requirement that Java be installed to use ANTLR
  • Commits since 4.5-alpha002

Acknowledgements

Thank you goes to all of the following users, who contributed feedback, bug reports, code submissions, testing, and reviews which helped in this release. In alphabetical order by username. This list does not include people who contacted us through other channels, but your feedback is no less valuable so we thank you as well.

  • @afscrome
  • @brwml
  • @doucette
  • @fedotovalex
  • @lextm
  • @ViceIce

v4.5-alpha002

9 years ago

ANTLR 4.5 C# Target Preview Release

This release is available through NuGet, with complete installation instructions described in the Readme.md.

Changes since 4.4.1-alpha001

Some non-breaking changes included in this release are not yet described in these release notes.

  • This code is now based on commit fc5b7c5, which is equivalent to the 4.5-opt release.
  • Breaking changes
    • The assembly strong name key and policy changed to allow library developers to more easily use ANTLR across an array of runtime environments.
    • Changed the signature of the AmbiguityInfo constructor.
    • IEdgeMap<T>.ToMap() now returns a ReadOnlyDictionary<int, T> for all runtimes.
    • DFAState.EdgeMap and DFAState.ContextEdgeMap are now ReadOnlyDictionary<int, DFAState> for all runtimes.
    • ParserRuleContext.GetTokens now returns ITerminalNode[] in all runtimes (previously .NET 4.5+ did not).
      • Note that IReadOnlyList<ITerminalNode> x = context.GetTokens(Type); will still work, because ITerminalNode[] implements IReadOnlyList<ITerminalNode> in .NET 4.5.
    • ParserRuleContext.GetRuleContexts<T>() now returns T[] in all runtimes (previously .NET 4.5+ did not).
    • The signature of generated context accessors was changed to ContextType[] in all runtimes (previously .NET 4.5+ returned IReadOnlyList<ContextType>)
    • The Func<...> delegates for runtimes prior to .NET 3.5 were moved from namespace Antlr4.Runtime.Sharpen to System.
    • The HashSet<T> class for runtimes prior to .NET 3.5 were moved from Antlr4.Runtime.Sharpen to System.Collections.Generic.
  • Other Changes
  • Commits since 4.4.1-alpha001

v4.4.1-alpha001

9 years ago

ANTLR 4.4.1 C# Target Preview Release

This release is available through NuGet, with complete installation instructions described in the Readme.md.

Changes since 4.3.0

Some non-breaking changes included in this release are not yet described in these release notes.

  • This code is now based on commit 407abf7, which is a pre-release version of the "optimized" fork ANTLR 4.4.1.
  • Breaking changes
    • Added the IRecognizer.Vocabulary property
    • Changed the signature of ParserATNSimulator.CreateDFAState
    • Changed the signature of the DFAState constructor
    • Remove ParserATNSimulator.ResolveToMinAlt
  • Other Changes
    • Marked the parser generator NuGet packages as development dependencies (#62)
    • Fix several bugs in the adaptivePredict prediction algorithm
    • Dramatically improved performance on highly parallel machines
  • Commits since 4.3.0

Known issues (regressions)

  • The abstract grammar option does not produce abstract classes. This affects both options { abstract = true; } and the -Dabstract=true command line option.

v4.3.0

9 years ago

ANTLR 4.3 C# Target Release

This release is available through NuGet, with complete installation instructions described in the Readme.md.

Changes since 4.2.2-alpha001

  • This code is now based on the 4.3-opt release of ANTLR 4.
  • Breaking changes
    • Several methods have been changed to properties. For details, see sharwell/antlr4@1930a7b29d4e0bcc47f22d68282d70ad2552dc2e.
    • Sharpen helper classes moved from Sharpen namespace to Antlr4.Runtime.Sharpen, and several of the the classes are now marked internal.
  • Other Changes
    • Support explicitly specifying the path to a Java executable (#32, #34)
    • Fix code generation for .NET 4.5.1
    • Support additional frameworks
    • Fix issues with string.Format (#40)
    • Fix license issue (#48)
    • Updated raw Sharpen translation to address many discrepancies compared to the master branch
  • Commits since 4.2.2-alpha001

v4.2.2-alpha001

10 years ago

ANTLR 4.2.2 C# Target Preview Release

This release is available through NuGet, with complete installation instructions described in the Readme.md.

Changes since 4.2.1-alpha001

  • This code is now based on the 4.2.2-opt release of ANTLR 4.

Users updating from earlier than 4.2.0-alpha001

If you are updating from a version of the C# target prior to 4.2.0-alpha001, make sure to read the release notes for 4.2.0-alpha001 as well, as several changes were made that affect the usage of this target.

v4.2.1-alpha001

10 years ago

ANTLR 4.2.1 C# Target Preview Release

This release is available through NuGet, with complete installation instructions described in the Readme.md.

Changes since 4.2.1-alpha001

  • This code is now based on the 4.2.1-opt release of ANTLR 4.

Users updating from earlier than 4.2.0-alpha001

If you are updating from a version of the C# target prior to 4.2.0-alpha001, make sure to read the release notes for 4.2.0-alpha001 as well, as several changes were made that affect the usage of this target.

v4.2.0-alpha001

10 years ago

ANTLR 4.2 C# Target Preview Release

This release is available through NuGet, as described in the Readme.md.

Changes since 4.1.0-alpha003

  • This code is now based on the 4.2-opt release of ANTLR 4.
  • Runtime/Semantics
    • Improved support for the HIDDEN and EOF constants in the grammar. It is no longer necessary to declare these in an @members{} block in order to use them.
    • By default, the DFA will not be used for full-context parsing. This decision is due to substantial performance improvements such that the memory overhead of using the DFA for full-context parsing is no longer an obvious win. The old behavior can be enabled by setting parser.Interpreter.enable_global_context_dfa = true.
    • The lexer semantics now match the reference release of ANTLR 4, so #28 is no longer a problem.
  • Build
    • Improved detection of Java for the build process.
    • Improved installation instructions.