public class Parser
Class Parser. Provides parser functionality for the Hytale server.
java.lang.Object > Parser
Field Summary
lexer
private
Lexer
lexer
Field lexer.
context
private
LexerContext
context
Field context.
operatorStack
private
Deque
operatorStack
Field operatorStack.
bracketStack
private
Deque
bracketStack
Field bracketStack.
parsedToken2
final
ParsedToken
parsedToken2
Field parsedToken2.
otherBracket
final
Token
otherBracket
Field otherBracket.
parsedToken3
final
ParsedToken
parsedToken3
Field parsedToken3.
parsedToken4
final
ParsedToken
parsedToken4
Field parsedToken4.
parsedToken5
final
ParsedToken
parsedToken5
Field parsedToken5.
parsedToken6
final
ParsedToken
parsedToken6
Field parsedToken6.
mustBeUnary
final
boolean
mustBeUnary
Field mustBeUnary.
requiredOperands
final
int
requiredOperands
Field requiredOperands.
tokenPrecedence
final
int
tokenPrecedence
Field tokenPrecedence.
stackTokenPrecedence
final
int
stackTokenPrecedence
Field stackTokenPrecedence.
token
public
Token
token
Field token.
tokenString
public
String
tokenString
Field tokenString.
tokenNumber
public
double
tokenNumber
Field tokenNumber.
tokenPosition
public
int
tokenPosition
Field tokenPosition.
operandCount
public
int
operandCount
Field operandCount.
isTuple
public
boolean
isTuple
Field isTuple.
isFunctionCall
public
boolean
isFunctionCall
Field isFunctionCall.
tupleLength
public
int
tupleLength
Field tupleLength.
Method Detail
nextToken
private
ParsedToken
nextToken
()
Method nextToken.
parse
public
void
parse
(@Nonnull final String expression, @Nonnull final ParsedTokenConsumer tokenConsumer)
Method parse.
- Parameters:
@Nonnull final Stringexpression@Nonnull final ParsedTokenConsumertokenConsumer
ParsedToken
public
new
ParsedToken
(Token.END)
Method ParsedToken.
- Parameters:
Token.ENDToken.END
if
public
else
if
(token.isOpenBracket()
Method if.
- Parameters:
token.isOpenBracket(token.isOpenBracket(
RuntimeException
public
new
RuntimeException
("Internal parser error: " + String.valueOf(token)
Method RuntimeException.
- Parameters:
"Internal parser error: " +String.valueOf(token
peekOperator
public
ParsedToken
peekOperator
()
Method peekOperator.
validateOperandCount
private
void
validateOperandCount
(@Nonnull final ParsedToken bracket)
Method validateOperandCount.
- Parameters:
@Nonnull final ParsedTokenbracket
adjustOperandCount
private
int
adjustOperandCount
(@Nonnull final ParsedToken parsedToken, final int operandCount)
Method adjustOperandCount.
- Parameters:
@Nonnull final ParsedTokenparsedTokenfinal intoperandCount
hasLowerPrecedence
private
boolean
hasLowerPrecedence
(@Nonnull final Token token, @Nullable final ParsedToken stackToken)
Method hasLowerPrecedence.
- Parameters:
@Nonnull final Tokentoken@Nullable final ParsedTokenstackToken
fromLexer
Method fromLexer.
- Parameters:
@Nonnull final Lexerlexer@Nonnull final LexerContextcontext