Package de.xima.fc.workflow.parser.infix
Interface ISymbolTable<TConstant extends IConstant,TOperator extends IOperator>
-
- Type Parameters:
TConstant
- Type of the implementation for constant symbols.TOperator
- Type of the implementation for operator symbols.
public interface ISymbolTable<TConstant extends IConstant,TOperator extends IOperator>
A symbol table with a list of symbols that may occur in an infix expression.- Since:
- 7.0.0
- Author:
- XIMA MEDIA GmbH
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description TOperator
getBinaryOperatorExample()
TConstant
getConstant(String constantName)
ETokenKind
getIdentifierTokenKind(String identifier)
Discriminates the given identifier and decides whether it is a constant, a variable, or an operator.Iterable<TOperator>
getOperator(EOperatorType type)
TOperator
getOperator(String operatorName)
Iterable<TOperator>
getOperators()
TOperator
getUnaryPostfixOperatorExample()
TOperator
getUnaryPrefixOperatorExample()
boolean
isEndsIdentifier(int lastCodePoint, int currentCodePoint)
-
-
-
Method Detail
-
getBinaryOperatorExample
TOperator getBinaryOperatorExample()
- Returns:
- An example for a binary operator, used e.g. as an example in error messages.
-
getConstant
TConstant getConstant(String constantName)
- Parameters:
constantName
- Name of a constant symbol.- Returns:
- The descriptor for the given constant.
-
getIdentifierTokenKind
ETokenKind getIdentifierTokenKind(String identifier)
Discriminates the given identifier and decides whether it is a constant, a variable, or an operator.- Parameters:
identifier
- An identifier contained in the infix expression.- Returns:
- Whether the identifier is a
ETokenKind.CONSTANT
, anETokenKind.OPERATOR
, or aETokenKind.VARIABLE
. Must no return any other enum constant.
-
getOperator
Iterable<TOperator> getOperator(EOperatorType type)
- Parameters:
type
- Type to look for.- Returns:
- All operators which support the given type.
-
getOperator
TOperator getOperator(String operatorName)
- Parameters:
operatorName
- Name of an operator symbol.- Returns:
- The descriptor for the given operator.
-
getUnaryPostfixOperatorExample
TOperator getUnaryPostfixOperatorExample()
- Returns:
- An example for a postfix operator, used e.g. as an example in error messages.
-
getUnaryPrefixOperatorExample
TOperator getUnaryPrefixOperatorExample()
- Returns:
- An example for a prefix operator, used e.g. as an example in error messages.
-
isEndsIdentifier
boolean isEndsIdentifier(int lastCodePoint, int currentCodePoint)
- Parameters:
lastCodePoint
- A code point in the expression.currentCodePoint
- The following code point in the expression.- Returns:
true
if the text up until the last code point is one identifier and the current code point starts a new identifier. For example, if the stringa&&b
should be interpreted as 3 tokens (variablea
, operator&&
, variableb
), then the ampersand must mark the end of the variable namea
.
-
-