public class Lexer extends Object
| 限定符和类型 | 类和说明 |
|---|---|
static interface |
Lexer.CommentHandler |
static class |
Lexer.SavePoint |
| 限定符和类型 | 字段和说明 |
|---|---|
private boolean |
allowComment |
protected char[] |
buf |
protected int |
bufPos |
protected char |
ch |
protected int |
commentCount |
protected Lexer.CommentHandler |
commentHandler |
protected List<String> |
comments |
protected String |
dbType |
private static int[] |
digits |
protected boolean |
endOfComment |
protected int |
features |
protected long |
hash |
protected long |
hash_lower |
protected boolean |
keepComments |
protected Keywords |
keywods |
protected int |
line |
protected int |
lines |
protected int |
mark |
private static long |
MULTMIN_RADIX_TEN |
private static long |
N_MULTMAX_RADIX_TEN |
protected boolean |
optimizedForParameterized |
protected int |
pos |
private int |
posColumn |
private int |
posLine |
private Lexer.SavePoint |
savePoint |
protected boolean |
skipComment |
private int |
startPos |
protected String |
stringVal |
protected static SymbolTable |
symbols_l2 |
String |
text |
protected Token |
token |
private int |
varIndex |
| 构造器和说明 |
|---|
Lexer(char[] input,
int inputLength,
boolean skipComment) |
Lexer(String input) |
Lexer(String input,
boolean skipComment) |
Lexer(String input,
Lexer.CommentHandler commentHandler) |
Lexer(String input,
Lexer.CommentHandler commentHandler,
String dbType) |
| 限定符和类型 | 方法和说明 |
|---|---|
protected void |
addComment(String comment) |
String |
addSymbol() |
void |
arraycopy(int srcPos,
char[] dest,
int destPos,
int length) |
int |
bp() |
char |
charAt(int index) |
void |
computeRowAndColumn() |
void |
config(SQLParserFeature feature,
boolean state) |
char |
current() |
BigDecimal |
decimalValue() |
int |
getCommentCount() |
Lexer.CommentHandler |
getCommentHandler() |
String |
getDbType() |
Keywords |
getKeywods() |
int |
getLine() |
int |
getPosColumn() |
int |
getPosLine() |
String |
getSource() |
boolean |
hasComment() |
long |
hash_lower() |
String |
hexString() |
boolean |
identifierEquals(long hash_lower) |
boolean |
identifierEquals(String text) |
String |
info() |
protected void |
initBuff(int size) |
Number |
integerValue() |
boolean |
isAllowComment() |
boolean |
isDigit(char ch) |
boolean |
isEnabled(SQLParserFeature feature) |
boolean |
isEndOfComment() |
boolean |
isEOF() |
boolean |
isKeepComments() |
private boolean |
isOperator(char ch) |
protected boolean |
isSafeComment(String comment) |
protected void |
lexError(String key,
Object... args)
Report an error at the given position using the provided arguments.
|
Lexer.SavePoint |
mark() |
void |
nextToken() |
void |
nextTokenBy() |
void |
nextTokenComma() |
void |
nextTokenCommaValue() |
void |
nextTokenEq() |
void |
nextTokenIdent() |
void |
nextTokenLParen() |
void |
nextTokenNotOrNull() |
void |
nextTokenValue() |
int |
nextVarIndex() |
SQLNumberExpr |
numberExpr() |
SQLNumberExpr |
numberExpr(boolean negate) |
String |
numberString() |
static String |
parameterize(String sql,
String dbType) |
int |
pos()
Return the current token's position: a 0-based offset from beginning of the raw input stream (before unicode
translation)
|
protected void |
putChar(char ch)
Append a character to sbuf.
|
List<String> |
readAndResetComments() |
void |
reset() |
void |
reset(int pos) |
void |
reset(int mark,
char markChar,
Token token) |
void |
reset(Lexer.SavePoint savePoint) |
protected void |
scanAlias() |
protected void |
scanChar() |
void |
scanComment() |
void |
scanHexaDecimal() |
void |
scanIdentifier() |
protected void |
scanLBracket() |
private void |
scanMultiLineComment() |
void |
scanNumber() |
private void |
scanOperator() |
void |
scanSharp() |
private void |
scanSingleLineComment() |
protected void |
scanString() |
protected void |
scanString2_d() |
protected void |
scanString2() |
protected void |
scanVariable_at() |
void |
scanVariable() |
void |
setAllowComment(boolean allowComment) |
void |
setCommentHandler(Lexer.CommentHandler commentHandler) |
void |
setKeepComments(boolean keepComments) |
void |
skipToEOF() |
String |
stringVal()
The value of a literal token, recorded as a string.
|
private void |
stringVal(StringBuffer out) |
char[] |
sub_chars(int offset,
int count) |
String |
subString(int offset,
int count) |
Token |
token()
Return the current token, set by nextToken().
|
protected void |
unscan() |
protected static SymbolTable symbols_l2
protected int features
public final String text
protected int pos
protected int mark
protected char ch
protected char[] buf
protected int bufPos
protected Token token
protected Keywords keywods
protected String stringVal
protected long hash_lower
protected long hash
protected int commentCount
protected boolean skipComment
private Lexer.SavePoint savePoint
private boolean allowComment
private int varIndex
protected Lexer.CommentHandler commentHandler
protected boolean endOfComment
protected boolean keepComments
protected int line
protected int lines
protected String dbType
protected boolean optimizedForParameterized
private int startPos
private int posLine
private int posColumn
private static final long MULTMIN_RADIX_TEN
private static final long N_MULTMAX_RADIX_TEN
private static final int[] digits
public Lexer(String input)
public Lexer(String input, Lexer.CommentHandler commentHandler)
public Lexer(String input, Lexer.CommentHandler commentHandler, String dbType)
public Lexer(String input, boolean skipComment)
public Lexer(char[] input,
int inputLength,
boolean skipComment)
public boolean isKeepComments()
public void setKeepComments(boolean keepComments)
public Lexer.CommentHandler getCommentHandler()
public void setCommentHandler(Lexer.CommentHandler commentHandler)
public final char charAt(int index)
public final String addSymbol()
public final String subString(int offset, int count)
public final char[] sub_chars(int offset,
int count)
protected void initBuff(int size)
public void arraycopy(int srcPos,
char[] dest,
int destPos,
int length)
public boolean isAllowComment()
public void setAllowComment(boolean allowComment)
public int nextVarIndex()
public Keywords getKeywods()
public Lexer.SavePoint mark()
public void reset(Lexer.SavePoint savePoint)
public void reset()
public void reset(int pos)
protected final void scanChar()
protected void unscan()
public boolean isEOF()
protected void lexError(String key, Object... args)
public final Token token()
public final String getDbType()
public String info()
public final void nextTokenComma()
public final void nextTokenCommaValue()
public final void nextTokenEq()
public final void nextTokenLParen()
public final void nextTokenValue()
public final void nextTokenBy()
public final void nextTokenNotOrNull()
public final void nextTokenIdent()
public final void nextToken()
protected void scanLBracket()
private final void scanOperator()
protected void scanString()
protected final void scanString2()
protected final void scanString2_d()
protected final void scanAlias()
public void scanSharp()
public void scanVariable()
protected void scanVariable_at()
public void scanComment()
private void scanMultiLineComment()
private void scanSingleLineComment()
public void scanIdentifier()
public void scanNumber()
public void scanHexaDecimal()
public String hexString()
public final boolean isDigit(char ch)
protected final void putChar(char ch)
public final int pos()
public final String stringVal()
private final void stringVal(StringBuffer out)
public final boolean identifierEquals(String text)
public final boolean identifierEquals(long hash_lower)
public final long hash_lower()
private boolean isOperator(char ch)
public Number integerValue()
public int bp()
public char current()
public void reset(int mark,
char markChar,
Token token)
public final String numberString()
public BigDecimal decimalValue()
public SQLNumberExpr numberExpr()
public SQLNumberExpr numberExpr(boolean negate)
public boolean hasComment()
public int getCommentCount()
public void skipToEOF()
public boolean isEndOfComment()
protected boolean isSafeComment(String comment)
protected void addComment(String comment)
public int getLine()
public void computeRowAndColumn()
public int getPosLine()
public int getPosColumn()
public void config(SQLParserFeature feature, boolean state)
public final boolean isEnabled(SQLParserFeature feature)
public String getSource()
Copyright © 2013–2019 Alibaba Group. All rights reserved.