📄 parser.java
字号:
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/**
* supports the [n..m] vector generator for use in
* the #foreach() to generate measured ranges w/o
* needing explicit support from the app/servlet
*/
final public void IntegerRange() throws ParseException {
/*@bgen(jjtree) IntegerRange */
ASTIntegerRange jjtn000 = new ASTIntegerRange(this, JJTINTEGERRANGE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LBRACKET);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[12] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
case LCURLY:
Reference();
break;
case NUMBER_LITERAL:
NumberLiteral();
break;
default:
jj_la1[13] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[14] = jj_gen;
;
}
jj_consume_token(DOUBLEDOT);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[15] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
case LCURLY:
Reference();
break;
case NUMBER_LITERAL:
NumberLiteral();
break;
default:
jj_la1[16] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[17] = jj_gen;
;
}
jj_consume_token(RBRACKET);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/**
* This method has yet to be fully implemented
* but will allow arbitrarily nested method
* calls
*/
final public void Parameter() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[18] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case STRING_LITERAL:
StringLiteral();
break;
default:
jj_la1[19] = jj_gen;
if (jj_2_5(2147483647)) {
IntegerRange();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACKET:
ObjectArray();
break;
case TRUE:
True();
break;
case FALSE:
False();
break;
case IDENTIFIER:
case LCURLY:
Reference();
break;
case NUMBER_LITERAL:
NumberLiteral();
break;
default:
jj_la1[20] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[21] = jj_gen;
;
}
}
/**
* This method has yet to be fully implemented
* but will allow arbitrarily nested method
* calls
*/
final public void Method() throws ParseException {
/*@bgen(jjtree) Method */
ASTMethod jjtn000 = new ASTMethod(this, JJTMETHOD);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
Identifier();
jj_consume_token(LPAREN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LBRACKET:
case WHITESPACE:
case STRING_LITERAL:
case TRUE:
case FALSE:
case NUMBER_LITERAL:
case IDENTIFIER:
case LCURLY:
Parameter();
label_6:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[22] = jj_gen;
break label_6;
}
jj_consume_token(COMMA);
Parameter();
}
break;
default:
jj_la1[23] = jj_gen;
;
}
jj_consume_token(REFMOD2_RPAREN);
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
final public void Reference() throws ParseException {
/*@bgen(jjtree) Reference */
ASTReference jjtn000 = new ASTReference(this, JJTREFERENCE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
jj_consume_token(IDENTIFIER);
label_7:
while (true) {
if (jj_2_6(2)) {
;
} else {
break label_7;
}
jj_consume_token(DOT);
if (jj_2_7(3)) {
Method();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
Identifier();
break;
default:
jj_la1[24] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
break;
case LCURLY:
jj_consume_token(LCURLY);
jj_consume_token(IDENTIFIER);
label_8:
while (true) {
if (jj_2_8(2)) {
;
} else {
break label_8;
}
jj_consume_token(DOT);
if (jj_2_9(3)) {
Method();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
Identifier();
break;
default:
jj_la1[25] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
jj_consume_token(RCURLY);
break;
default:
jj_la1[26] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
final public void True() throws ParseException {
/*@bgen(jjtree) True */
ASTTrue jjtn000 = new ASTTrue(this, JJTTRUE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(TRUE);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
final public void False() throws ParseException {
/*@bgen(jjtree) False */
ASTFalse jjtn000 = new ASTFalse(this, JJTFALSE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(FALSE);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/**
* This method is responsible for allowing
* all non-grammar text to pass through
* unscathed.
*/
final public void Text() throws ParseException {
/*@bgen(jjtree) Text */
ASTText jjtn000 = new ASTText(this, JJTTEXT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TEXT:
jj_consume_token(TEXT);
break;
case DOT:
jj_consume_token(DOT);
break;
case RPAREN:
jj_consume_token(RPAREN);
break;
case LPAREN:
jj_consume_token(LPAREN);
break;
case NUMBER_LITERAL:
jj_consume_token(NUMBER_LITERAL);
break;
case STRING_LITERAL:
jj_consume_token(STRING_LITERAL);
break;
case ESCAPE:
jj_consume_token(ESCAPE);
break;
case LCURLY:
jj_consume_token(LCURLY);
break;
case RCURLY:
jj_consume_token(RCURLY);
break;
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/* -----------------------------------------------------------------------
*
* Defined Directive Syntax
*
* ----------------------------------------------------------------------*/
final public void IfStatement() throws ParseException {
/*@bgen(jjtree) IfStatement */
ASTIfStatement jjtn000 = new ASTIfStatement(this, JJTIFSTATEMENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(IF_DIRECTIVE);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACE:
jj_consume_token(WHITESPACE);
break;
default:
jj_la1[28] = jj_gen;
;
}
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
ASTBlock jjtn001 = new ASTBlock(this, JJTBLOCK);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
label_9:
while (true) {
Statement();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LPAREN:
case RPAREN:
case ESCAPE_DIRECTIVE:
case SET_DIRECTIVE:
case DOUBLE_ESCAPE:
case ESCAPE:
case TEXT:
case SINGLE_LINE_COMMENT:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -