Class ShuntingYard
- java.lang.Object
-
- org.junit.platform.launcher.tagexpression.ShuntingYard
-
class ShuntingYard extends java.lang.Object
This is based on a modified version of the Shunting-yard algorithm.- Since:
- 1.1
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description ShuntingYard(java.util.List<Token> tokens)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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)
-
-
-
Field Detail
-
RightParenthesis
private static final Operator RightParenthesis
-
LeftParenthesis
private static final Operator LeftParenthesis
-
Sentinel
private static final Operator Sentinel
-
SentinelToken
private static final Token SentinelToken
-
validOperators
private final Operators validOperators
-
expressions
private final Stack<TokenWith<TagExpression>> expressions
-
tokens
private final java.util.List<Token> tokens
-
-
Constructor Detail
-
ShuntingYard
ShuntingYard(java.util.List<Token> tokens)
-
-
Method Detail
-
execute
public ParseResult execute()
-
processTokens
private ParseStatus processTokens()
-
process
private ParseStatus process(Token token)
-
findMatchingLeftParenthesis
private ParseStatus findMatchingLeftParenthesis(Token token)
-
findOperands
private ParseStatus findOperands(Token token, Operator currentOperator)
-
previousOperator
private Operator previousOperator()
-
pushExpressionAt
private void pushExpressionAt(Token token, TagExpression tagExpression)
-
consumeRemainingOperators
private ParseStatus consumeRemainingOperators()
-
ensureOnlySingleExpressionRemains
private ParseStatus ensureOnlySingleExpressionRemains()
-
-