📄 josqlparser.java
字号:
jj_la1[38] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public InExpression InExpression() throws ParseException {
InExpression result = new InExpression();
List items = null;
Expression left = null;
left = SimpleExpression();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_NOT:
jj_consume_token(K_NOT);
result.setNot(true);
break;
default:
jj_la1[39] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 63:
jj_consume_token(63);
result.setIgnoreCase (true);
break;
default:
jj_la1[40] = jj_gen;
;
}
jj_consume_token(K_IN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 63:
jj_consume_token(63);
result.setIgnoreCase (true);
break;
default:
jj_la1[41] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_LIKE:
jj_consume_token(K_LIKE);
result.setDoLike (true);
break;
default:
jj_la1[42] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_ALL:
jj_consume_token(K_ALL);
result.setAll (true);
break;
default:
jj_la1[43] = jj_gen;
;
}
jj_consume_token(59);
items = SQLExpressionList();
jj_consume_token(60);
if (!(left instanceof ValueExpression))
{
{if (true) throw new ParseException ("The left-hand side of an [NOT] IN clause must be a value expression.");}
}
result.setLeft ((ValueExpression) left);
for (int i = 0; i < items.size (); i++)
{
if (!(items.get (i) instanceof ValueExpression))
{
{if (true) throw new ParseException ("Item: " + (i + 1) + " from the [NOT] IN clause is NOT a value expression, is: \"" + items.get (i).toString () + "\"");}
}
}
result.setItems (items);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public BetweenExpression BetweenExpression() throws ParseException {
BetweenExpression result = new BetweenExpression ();
Expression left = null;
Expression start = null;
Expression end = null;
left = SimpleExpression();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_NOT:
jj_consume_token(K_NOT);
result.setNot(true);
break;
default:
jj_la1[44] = jj_gen;
;
}
jj_consume_token(K_BETWEEN);
start = SimpleExpression();
jj_consume_token(K_AND);
end = SimpleExpression();
if (!(left instanceof ValueExpression))
{
{if (true) throw new ParseException ("The left-hand side of an [NOT] BETWEEN clause must be a value expression, is: \"" + left + "\"");}
}
if (!(start instanceof ValueExpression))
{
{if (true) throw new ParseException ("The START value of an [NOT] BETWEEN clause must be a value expression, is: \"" + start + "\"");}
}
if (!(end instanceof ValueExpression))
{
{if (true) throw new ParseException ("The END value of an [NOT] BETWEEN clause must be a value expression, is: \"" + end + "\"");}
}
result.setLeft ((ValueExpression) left);
result.setStart ((ValueExpression) start);
result.setEnd ((ValueExpression) end);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public LikeExpression LikeExpression() throws ParseException {
LikeExpression result = new LikeExpression ();
Expression left = null;
Expression right = null;
left = SimpleExpression();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_NOT:
jj_consume_token(K_NOT);
result.setNot (true);
break;
default:
jj_la1[45] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 63:
jj_consume_token(63);
result.setIgnoreCase (true);
break;
default:
jj_la1[46] = jj_gen;
;
}
jj_consume_token(K_LIKE);
right = SimpleExpression();
result.setLeft (left);
result.setRight (right);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public IsNullExpression IsNullExpression() throws ParseException {
IsNullExpression result = new IsNullExpression ();
Expression left = null;
left = SimpleExpression();
jj_consume_token(K_IS);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_NOT:
jj_consume_token(K_NOT);
result.setNot (true);
break;
default:
jj_la1[47] = jj_gen;
;
}
jj_consume_token(K_NULL);
result.setLeft (left);
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public List SQLExpressionList() throws ParseException {
List expressions = new ArrayList();
Expression expr = null;
expr = OrExpression();
expressions.add(expr);
label_11:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 55:
;
break;
default:
jj_la1[48] = jj_gen;
break label_11;
}
jj_consume_token(55);
expr = OrExpression();
expressions.add(expr);
}
{if (true) return expressions;}
throw new Error("Missing return statement in function");
}
final public List AliasedSQLExpressionList() throws ParseException {
List expressions = new ArrayList();
AliasedExpression aexp = null;
Expression expr = null;
String alias = null;
expr = OrExpression();
aexp = new AliasedExpression (); aexp.setExpression (expr); expressions.add (aexp);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_AS:
case S_IDENTIFIER:
case S_CHAR_LITERAL:
case S_CHAR_LITERAL2:
alias = Alias();
aexp.setAlias (alias);
break;
default:
jj_la1[49] = jj_gen;
;
}
label_12:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 55:
;
break;
default:
jj_la1[50] = jj_gen;
break label_12;
}
jj_consume_token(55);
expr = OrExpression();
aexp = new AliasedExpression (); aexp.setExpression (expr); expressions.add (aexp);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_AS:
case S_IDENTIFIER:
case S_CHAR_LITERAL:
case S_CHAR_LITERAL2:
alias = Alias();
aexp.setAlias (alias);
break;
default:
jj_la1[51] = jj_gen;
;
}
}
{if (true) return expressions;}
throw new Error("Missing return statement in function");
}
final public Expression SimpleExpression() throws ParseException {
Expression result = null;
if (jj_2_17(3)) {
result = AdditiveExpression();
} else if (jj_2_18(3)) {
result = MultiplicativeExpression();
} else if (jj_2_19(3)) {
result = PrimaryExpression();
} else {
jj_consume_token(-1);
throw new ParseException();
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression AdditiveExpression() throws ParseException {
Expression result = null;
Expression left = null;
Expression right = null;
int type = -1;
left = MultiplicativeExpression();
result = left;
label_13:
while (true) {
if (jj_2_20(2)) {
;
} else {
break label_13;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 71:
jj_consume_token(71);
type = ArithmeticExpression.ADDITION;
break;
case 72:
jj_consume_token(72);
type = ArithmeticExpression.SUBTRACT;
break;
default:
jj_la1[52] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
right = AdditiveExpression();
if (!(left instanceof ValueExpression))
{
{if (true) throw new ParseException ("The left-hand side of an arithmetic expresion (+, -, *, / or %) must be a value expression.");}
}
if (!(right instanceof ValueExpression))
{
{if (true) throw new ParseException ("The right-hand side of an arithmetic expresion (+, -, *, / or %) must be a value expression.");}
}
ArithmeticExpression ae = new ArithmeticExpression ();
ae.setLeft ((ValueExpression) left);
ae.setRight ((ValueExpression) right);
result = ae;
ae.setType (type);
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression MultiplicativeExpression() throws ParseException {
Expression result = null;
Expression left = null;
Expression right = null;
int type = -1;
left = PrimaryExpression();
result = left;
label_14:
while (true) {
if (jj_2_21(2)) {
;
} else {
break label_14;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 56:
jj_consume_token(56);
type = ArithmeticExpression.MULTIPLY;
break;
case 73:
jj_consume_token(73);
type = ArithmeticExpression.DIVIDE;
break;
case 74:
jj_consume_token(74);
type = ArithmeticExpression.MODULUS;
break;
default:
jj_la1[53] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
right = AdditiveExpression();
if (!(left instanceof ValueExpression))
{
{if (true) throw new ParseException ("The left-hand side of an arithmetic expresion (+, -, *, / or %) must be a value expression.");}
}
if (!(right instanceof ValueExpression))
{
{if (true) throw new ParseException ("The right-hand side of an arithmetic expresion (+, -, *, / or %) must be a value expression.");}
}
ArithmeticExpression ae = new ArithmeticExpression ();
ae.setLeft ((ValueExpression) left);
ae.setRight ((ValueExpression) right);
result = ae;
ae.setType (type);
}
{if (true) return result;}
throw new Error("Missing return statement in function");
}
final public Expression PrimaryExpression() throws ParseException {
Expression retval = null;
Token token = null;
boolean isInverse = false;
String tmp = "";
String accName = null;
if (jj_2_22(2)) {
retval = NewObjectExpression();
} else if (jj_2_23(2)) {
retval = SubQueryExpression();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case K_NULL:
jj_consume_token(K_NULL);
retval = new ConstantExpression (); ConstantExpression ce = (ConstantExpression) retval; ce.setValue (null);
break;
default:
jj_la1[64] = jj_gen;
if (jj_2_24(2)) {
jj_consume_token(K_TRUE);
retval = new BooleanExpression (); BooleanExpression be = (BooleanExpression) retval; be.setValue (Boolean.TRUE);
} else if (jj_2_25(2)) {
jj_consume_token(K_FALSE);
retval = new BooleanExpression (); BooleanExpression be = (BooleanExpression) retval; be.setValue (Boolean.FALSE);
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 49:
case 50:
case 51:
retval = BindVariable();
break;
case 53:
retval = SaveValue();
break;
default:
jj_la1[65] = jj_gen;
if (jj_2_26(2147483647)) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 71:
case 72:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 71:
jj_consume_token(71);
break;
case 72:
jj_consume_token(72);
isInverse = true;
break;
default:
jj_la1[54] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
break;
default:
jj_la1[55] = jj_gen;
;
}
retval = Function();
} else if (jj_2_27(2147483647)) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 71:
case 72:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 71:
jj_consume_token(71);
break;
case 72:
jj_consume_token(72);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -