Skip to content

Releases: solventum-oss/farser

v5.0.0

Choose a tag to compare

@rowsimms42 rowsimms42 released this 13 Jun 18:40

Organizational Changes

  • Node package organized into more descriptive packages.
  • Existing classes moved around to where they logically belong.

Relax AST requirements

  • The previous implementation of the AstDescentParser only returned a Boolean type from the evaluate method. A new interface called NonTerminal was added so now any type can be returned. The NonTerminal abstract class was renamed to BaseNonTerminal and the generics have been updated there to support differing return types between the non-terminal and terminal nodes contained as children.
  • BooleanNonTerminal updated to extend from BaseNonTerminal and anything that used NonTerminal now uses BooleanNonTerminal.
  • AbstractSyntaxTree no longer extends BooleanNonTerminal and instead takes an additional generic type that represents the return value from the ExpressionResult. All functionality is the same.
  • ExpressionResult was updated to be more generic. Rather than only having a matched field, it takes an additional generic type of the result. The matched field was renamed to result and the getMatched method was renamed to getResult.

Set Logic implementations Added

  • Set logic implementations for the lexer and AST were added.

v4.0.0

Choose a tag to compare

@rowsimms42 rowsimms42 released this 14 Jun 13:46

-Checkstyle fixes
-Add AST diagrams to readme
-Use single context object for nodes

v3.3.0

Choose a tag to compare

@rowsimms42 rowsimms42 released this 14 Jun 13:42
5d7242e

Initial open-source release of version 3.3.0