类 Tokenizer
java.lang.Object
cn.taketoday.expression.spel.standard.Tokenizer
Lex some input data into a stream of tokens that can then be parsed.
- 从以下版本开始:
- 4.0
- 作者:
- Andy Clement, Juergen Hoeller, Phillip Webb, Harry Yang
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明private booleanisAlphabetic(char ch) private booleanisChar(char a, char b) private booleanisDigit(char ch) private booleanisDoubleSuffix(char ch) private booleanprivate booleanisExponentChar(char ch) private booleanisFloatSuffix(char ch) private booleanisHexadecimalDigit(char ch) private booleanisIdentifier(char ch) private booleanisSign(char ch) private booleanisTwoCharToken(TokenKind kind) Check if this might be a two character token.private voidprivate voidprivate voidlexNumericLiteral(boolean firstCharIsZero) private voidprocess()private voidpushCharToken(TokenKind kind) Push a token of just one character in length.private voidpushHexIntToken(char[] data, boolean isLong, int start, int end) private voidpushIntToken(char[] data, boolean isLong, int start, int end) private voidpushOneCharOrTwoCharToken(TokenKind kind, int pos, char[] data) private voidpushPairToken(TokenKind kind) Push a token of two characters in length.private voidpushRealToken(char[] data, boolean isFloat, int start, int end) private voidraiseParseException(int start, SpelMessage msg, Object... inserts) private char[]subarray(int start, int end)
-
字段详细资料
-
ALTERNATIVE_OPERATOR_NAMES
-
FLAGS
private static final byte[] FLAGS -
IS_DIGIT
private static final byte IS_DIGIT- 另请参阅:
-
IS_HEXDIGIT
private static final byte IS_HEXDIGIT- 另请参阅:
-
expressionString
-
charsToProcess
private final char[] charsToProcess -
pos
private int pos -
max
private final int max -
tokens
-
-
构造器详细资料
-
Tokenizer
-
-
方法详细资料
-
process
-
lexQuotedStringLiteral
private void lexQuotedStringLiteral() -
lexDoubleQuotedStringLiteral
private void lexDoubleQuotedStringLiteral() -
lexNumericLiteral
private void lexNumericLiteral(boolean firstCharIsZero) -
lexIdentifier
private void lexIdentifier() -
pushIntToken
private void pushIntToken(char[] data, boolean isLong, int start, int end) -
pushHexIntToken
private void pushHexIntToken(char[] data, boolean isLong, int start, int end) -
pushRealToken
private void pushRealToken(char[] data, boolean isFloat, int start, int end) -
subarray
private char[] subarray(int start, int end) -
isTwoCharToken
Check if this might be a two character token. -
pushCharToken
Push a token of just one character in length. -
pushPairToken
Push a token of two characters in length. -
pushOneCharOrTwoCharToken
-
isIdentifier
private boolean isIdentifier(char ch) -
isChar
private boolean isChar(char a, char b) -
isExponentChar
private boolean isExponentChar(char ch) -
isFloatSuffix
private boolean isFloatSuffix(char ch) -
isDoubleSuffix
private boolean isDoubleSuffix(char ch) -
isSign
private boolean isSign(char ch) -
isDigit
private boolean isDigit(char ch) -
isAlphabetic
private boolean isAlphabetic(char ch) -
isHexadecimalDigit
private boolean isHexadecimalDigit(char ch) -
isExhausted
private boolean isExhausted() -
raiseParseException
-