You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.