📄 dqlbaseparser.java
字号:
AST y_AST = null;
try { // for error handling
relationalExpression();
x_AST = (AST)returnAST;
astFactory.addASTChild(currentAST, returnAST);
{
_loop22:
do {
if ((_tokenSet_9.member(LA(1)))) {
{
switch ( LA(1)) {
case EQ:
{
AST tmp31_AST = null;
tmp31_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp31_AST);
match(EQ);
break;
}
case IS:
{
is = LT(1);
is_AST = astFactory.create(is);
astFactory.makeASTRoot(currentAST, is_AST);
match(IS);
is_AST.setType(IS);
{
switch ( LA(1)) {
case NOT:
{
match(NOT);
is_AST.setType(NE);
break;
}
case ALL:
case ANY:
case AVG:
case COUNT:
case ELEMENTS:
case EXISTS:
case FALSE:
case INDICES:
case MAX:
case MIN:
case NULL:
case SOME:
case SUM:
case TRUE:
case CASE:
case EMPTY:
case NUM_DOUBLE:
case NUM_FLOAT:
case NUM_LONG:
case PLUS:
case MINUS:
case OPEN:
case COLON:
case PARAM:
case NUM_INT:
case QUOTED_STRING:
case IDENT:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
case NE:
{
AST tmp33_AST = null;
tmp33_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp33_AST);
match(NE);
break;
}
case SQL_NE:
{
ne = LT(1);
ne_AST = astFactory.create(ne);
astFactory.makeASTRoot(currentAST, ne_AST);
match(SQL_NE);
ne_AST.setType(NE);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
relationalExpression();
y_AST = (AST)returnAST;
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop22;
}
} while (true);
}
equalityExpression_AST = (AST)currentAST.root;
// Post process the equality expression to clean up 'is null', etc.
equalityExpression_AST = processEqualityExpression(equalityExpression_AST);
currentAST.root = equalityExpression_AST;
currentAST.child = equalityExpression_AST!=null &&equalityExpression_AST.getFirstChild()!=null ?
equalityExpression_AST.getFirstChild() : equalityExpression_AST;
currentAST.advanceChildToEnd();
equalityExpression_AST = (AST)currentAST.root;
}
catch (RecognitionException ex) {
reportError(ex);
recover(ex,_tokenSet_8);
}
returnAST = equalityExpression_AST;
}
public final void relationalExpression() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
AST relationalExpression_AST = null;
Token n = null;
AST n_AST = null;
Token i = null;
AST i_AST = null;
Token b = null;
AST b_AST = null;
Token l = null;
AST l_AST = null;
Token l2 = null;
AST l2_AST = null;
AST p_AST = null;
try { // for error handling
concatenation();
astFactory.addASTChild(currentAST, returnAST);
{
switch ( LA(1)) {
case EOF:
case AND:
case IS:
case OR:
case THEN:
case COMMA:
case EQ:
case NE:
case SQL_NE:
case LT:
case GT:
case LE:
case GE:
case CLOSE:
case CLOSE_BRACKET:
{
{
{
_loop28:
do {
if (((LA(1) >= LT && LA(1) <= GE))) {
{
switch ( LA(1)) {
case LT:
{
AST tmp34_AST = null;
tmp34_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp34_AST);
match(LT);
break;
}
case GT:
{
AST tmp35_AST = null;
tmp35_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp35_AST);
match(GT);
break;
}
case LE:
{
AST tmp36_AST = null;
tmp36_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp36_AST);
match(LE);
break;
}
case GE:
{
AST tmp37_AST = null;
tmp37_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp37_AST);
match(GE);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
additiveExpression();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop28;
}
} while (true);
}
}
break;
}
case BETWEEN:
case IN:
case LIKE:
case ILIKE:
case NOT:
case MEMBER:
{
{
switch ( LA(1)) {
case NOT:
{
n = LT(1);
n_AST = astFactory.create(n);
match(NOT);
break;
}
case BETWEEN:
case IN:
case LIKE:
case ILIKE:
case MEMBER:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
{
switch ( LA(1)) {
case IN:
{
{
i = LT(1);
i_AST = astFactory.create(i);
astFactory.makeASTRoot(currentAST, i_AST);
match(IN);
i_AST.setType( (n == null) ? IN : NOT_IN);
i_AST.setText( (n == null) ? "in" : "not in");
inList();
astFactory.addASTChild(currentAST, returnAST);
}
break;
}
case BETWEEN:
{
{
b = LT(1);
b_AST = astFactory.create(b);
astFactory.makeASTRoot(currentAST, b_AST);
match(BETWEEN);
b_AST.setType( (n == null) ? BETWEEN : NOT_BETWEEN);
b_AST.setText( (n == null) ? "between" : "not between");
betweenList();
astFactory.addASTChild(currentAST, returnAST);
}
break;
}
case LIKE:
{
{
l = LT(1);
l_AST = astFactory.create(l);
astFactory.makeASTRoot(currentAST, l_AST);
match(LIKE);
l_AST.setType( (n == null) ? LIKE : NOT_LIKE);
l_AST.setText( (n == null) ? "like" : "not like");
concatenation();
astFactory.addASTChild(currentAST, returnAST);
likeEscape();
astFactory.addASTChild(currentAST, returnAST);
}
break;
}
case ILIKE:
{
{
l2 = LT(1);
l2_AST = astFactory.create(l2);
astFactory.makeASTRoot(currentAST, l2_AST);
match(ILIKE);
l2_AST.setType( (n == null) ? ILIKE : NOT_ILIKE);
l2_AST.setText( (n == null) ? "ilike" : "not ilike");
concatenation();
astFactory.addASTChild(currentAST, returnAST);
likeEscape();
astFactory.addASTChild(currentAST, returnAST);
}
break;
}
case MEMBER:
{
{
match(MEMBER);
{
switch ( LA(1)) {
case OF:
{
match(OF);
break;
}
case IDENT:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
path();
p_AST = (AST)returnAST;
processMemberOf(n,p_AST,currentAST);
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
relationalExpression_AST = (AST)currentAST.root;
}
catch (RecognitionException ex) {
reportError(ex);
recover(ex,_tokenSet_3);
}
returnAST = relationalExpression_AST;
}
public final void additiveExpression() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
AST additiveExpression_AST = null;
try { // for error handling
multiplyExpression();
astFactory.addASTChild(currentAST, returnAST);
{
_loop48:
do {
if ((LA(1)==PLUS||LA(1)==MINUS)) {
{
switch ( LA(1)) {
case PLUS:
{
AST tmp40_AST = null;
tmp40_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp40_AST);
match(PLUS);
break;
}
case MINUS:
{
AST tmp41_AST = null;
tmp41_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp41_AST);
match(MINUS);
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
multiplyExpression();
astFactory.addASTChild(currentAST, returnAST);
}
else {
break _loop48;
}
} while (true);
}
additiveExpression_AST = (AST)currentAST.root;
}
catch (RecognitionException ex) {
reportError(ex);
recover(ex,_tokenSet_10);
}
returnAST = additiveExpression_AST;
}
public final void inList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
AST inList_AST = null;
AST x_AST = null;
try { // for error handling
compoundExpr();
x_AST = (AST)returnAST;
astFactory.addASTChild(currentAST, returnAST);
inList_AST = (AST)currentAST.root;
inList_AST = (AST)astFactory.make( (new ASTArray(2)).add(astFactory.create(IN_LIST,"inList")).add(inList_AST));
currentAST.root = inList_AST;
currentAST.child = inList_AST!=null &&inList_AST.getFirstChild()!=null ?
inList_AST.getFirstChild() : inList_AST;
currentAST.advanceChildToEnd();
inList_AST = (AST)currentAST.root;
}
catch (RecognitionException ex) {
reportError(ex);
recover(ex,_tokenSet_3);
}
returnAST = inList_AST;
}
public final void betweenList() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
AST betweenList_AST = null;
try { // for error handling
concatenation();
astFactory.addASTChild(currentAST, returnAST);
match(AND);
concatenation();
astFactory.addASTChild(currentAST, returnAST);
betweenList_AST = (AST)currentAST.root;
}
catch (RecognitionException ex) {
reportError(ex);
recover(ex,_tokenSet_3);
}
returnAST = betweenList_AST;
}
public final void likeEscape() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
AST likeEscape_AST = null;
try { // for error handling
{
switch ( LA(1)) {
case ESCAPE:
{
AST tmp43_AST = null;
tmp43_AST = astFactory.create(LT(1));
astFactory.makeASTRoot(currentAST, tmp43_AST);
match(ESCAPE);
concatenation();
astFactory.addASTChild(currentAST, returnAST);
break;
}
case EOF:
case AND:
case IS:
case OR:
case THEN:
case COMMA:
case EQ:
case NE:
case SQL_NE:
case CLOSE:
case CLOSE_BRACKET:
{
break;
}
default:
{
throw new NoViableAltException(LT(1), getFilename());
}
}
}
likeEscape_AST = (AST)currentAST.root;
}
catch (RecognitionException ex) {
reportError(ex);
recover(ex,_tokenSet_3);
}
returnAST = likeEscape_AST;
}
public final void compoundExpr() throws RecognitionException, TokenStreamException {
returnAST = null;
ASTPair currentAST = new ASTPair();
AST compoundExpr_AST = null;
try { // for error handling
switch ( LA(1)) {
case ELEMENTS:
case INDICES:
{
collectionExpr();
astFactory.addASTChild(currentAST, returnAST);
compoundExpr_AST = (AST)currentAST.root;
break;
}
case IDENT:
{
path();
astFactory.addASTChild(currentAST, returnAST);
compoundExpr_AST = (AST)currentAST.root;
break;
}
case OPEN:
{
{
match(OPEN);
{
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -