Class ShuntingYard
- java.lang.Object
-
- org.junit.platform.launcher.tagexpression.ShuntingYard
-
class ShuntingYard extends java.lang.ObjectThis 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>>expressionsprivate static OperatorLeftParenthesisprivate Stack<TokenWith<Operator>>operatorsprivate static OperatorRightParenthesisprivate static OperatorSentinelprivate static TokenSentinelTokenprivate java.util.List<Token>tokensprivate OperatorsvalidOperators
-
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 ParseStatusconsumeRemainingOperators()private TagExpressionconvertLeafTokenToExpression(java.lang.String trimmed)private ParseStatusensureOnlySingleExpressionRemains()ParseResultexecute()private ParseStatusfindMatchingLeftParenthesis(Token token)private ParseStatusfindOperands(Token token, Operator currentOperator)private OperatorpreviousOperator()private ParseStatusprocess(Token token)private ParseStatusprocessTokens()private voidpushExpressionAt(Token token, TagExpression tagExpression)private voidpushOperatorAt(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)
-
convertLeafTokenToExpression
private TagExpression convertLeafTokenToExpression(java.lang.String trimmed)
-
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()
-
-