class ShuntingYard
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
private Stack<TokenWith<TagExpression>> |
expressions |
private static Operator |
LeftParenthesis |
private Stack<TokenWith<Operator>> |
operators |
private static Operator |
RightParenthesis |
private static Operator |
Sentinel |
private static Token |
SentinelToken |
private java.util.List<Token> |
tokens |
private Operators |
validOperators |
Constructor and Description |
---|
ShuntingYard(java.util.List<Token> tokens) |
Modifier and Type | Method and Description |
---|---|
private ParseStatus |
consumeRemainingOperators() |
private ParseStatus |
ensureOnlySingleExpressionRemains() |
ParseResult |
execute() |
private ParseStatus |
findMatchingLeftParenthesis(Token token) |
private ParseStatus |
findOperands(Token token,
Operator currentOperator) |
private Operator |
previousOperator() |
private ParseStatus |
process(Token token) |
private ParseStatus |
processTokens() |
private void |
pushExpressionAt(Token token,
TagExpression tagExpression) |
private void |
pushOperatorAt(Token token,
Operator operator) |
private static final Operator RightParenthesis
private static final Operator LeftParenthesis
private static final Operator Sentinel
private static final Token SentinelToken
private final Operators validOperators
private final Stack<TokenWith<TagExpression>> expressions
private final java.util.List<Token> tokens
ShuntingYard(java.util.List<Token> tokens)
public ParseResult execute()
private ParseStatus processTokens()
private ParseStatus process(Token token)
private ParseStatus findMatchingLeftParenthesis(Token token)
private ParseStatus findOperands(Token token, Operator currentOperator)
private Operator previousOperator()
private void pushExpressionAt(Token token, TagExpression tagExpression)
private ParseStatus consumeRemainingOperators()
private ParseStatus ensureOnlySingleExpressionRemains()