📄 elparser.java
字号:
break;
default:
jj_la1[24] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
/*
* Value
* Defines Prefix plus zero or more Suffixes
*/
final public void Value() throws ParseException {
AstValue jjtn001 = new AstValue(JJTVALUE);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
ValuePrefix();
label_9:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DOT:
case LBRACK:
;
break;
default:
jj_la1[25] = jj_gen;
break label_9;
}
ValueSuffix();
}
} catch (Throwable jjte001) {
if (jjtc001) {
jjtree.clearNodeScope(jjtn001);
jjtc001 = false;
} else {
jjtree.popNode();
}
if (jjte001 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte001;}
}
if (jjte001 instanceof ParseException) {
{if (true) throw (ParseException)jjte001;}
}
{if (true) throw (Error)jjte001;}
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, jjtree.nodeArity() > 1);
}
}
}
/*
* ValuePrefix
* For Literals, Variables, and Functions
*/
final public void ValuePrefix() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case STRING_LITERAL:
case TRUE:
case FALSE:
case NULL:
Literal();
break;
case LPAREN:
case IDENTIFIER:
case NAMESPACE:
NonLiteral();
break;
default:
jj_la1[26] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
/*
* ValueSuffix
* Either dot or bracket notation
*/
final public void ValueSuffix() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DOT:
DotSuffix();
break;
case LBRACK:
BracketSuffix();
break;
default:
jj_la1[27] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
/*
* DotSuffix
* Dot Property
*/
final public void DotSuffix() throws ParseException {
/*@bgen(jjtree) DotSuffix */
AstDotSuffix jjtn000 = new AstDotSuffix(JJTDOTSUFFIX);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t = null;
try {
jj_consume_token(DOT);
t = jj_consume_token(IDENTIFIER);
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
jjtn000.setImage(t.image);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/*
* BracketSuffix
* Sub Expression Suffix
*/
final public void BracketSuffix() throws ParseException {
/*@bgen(jjtree) BracketSuffix */
AstBracketSuffix jjtn000 = new AstBracketSuffix(JJTBRACKETSUFFIX);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(LBRACK);
Expression();
jj_consume_token(RBRACK);
} 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);
}
}
}
/*
* NonLiteral
* For Grouped Operations, Identifiers, and Functions
*/
final public void NonLiteral() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case LPAREN:
jj_consume_token(LPAREN);
Expression();
jj_consume_token(RPAREN);
break;
default:
jj_la1[28] = jj_gen;
if (jj_2_1(3)) {
Function();
} else {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case IDENTIFIER:
Identifier();
break;
default:
jj_la1[29] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
}
}
/*
* Identifier
* Java Language Identifier
*/
final public void Identifier() throws ParseException {
/*@bgen(jjtree) Identifier */
AstIdentifier jjtn000 = new AstIdentifier(JJTIDENTIFIER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t = null;
try {
t = jj_consume_token(IDENTIFIER);
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
jjtn000.setImage(t.image);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/*
* Function
* Namespace:Name(a,b,c)
*/
final public void Function() throws ParseException {
/*@bgen(jjtree) Function */
AstFunction jjtn000 = new AstFunction(JJTFUNCTION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t0 = null;
Token t1 = null;
try {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case NAMESPACE:
t0 = jj_consume_token(NAMESPACE);
break;
default:
jj_la1[30] = jj_gen;
;
}
t1 = jj_consume_token(IDENTIFIER);
if (t0 != null) {
jjtn000.setPrefix(t0.image.substring(0, t0.image.length() - 1));
jjtn000.setLocalName(t1.image);
} else {
jjtn000.setLocalName(t1.image);
}
jj_consume_token(LPAREN);
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case INTEGER_LITERAL:
case FLOATING_POINT_LITERAL:
case STRING_LITERAL:
case TRUE:
case FALSE:
case NULL:
case LPAREN:
case NOT0:
case NOT1:
case EMPTY:
case MINUS:
case IDENTIFIER:
case NAMESPACE:
Expression();
label_10:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMA:
;
break;
default:
jj_la1[31] = jj_gen;
break label_10;
}
jj_consume_token(COMMA);
Expression();
}
break;
default:
jj_la1[32] = jj_gen;
;
}
jj_consume_token(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);
}
}
}
/*
* Literal
* Reserved Keywords
*/
final public void Literal() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TRUE:
case FALSE:
Boolean();
break;
case FLOATING_POINT_LITERAL:
FloatingPoint();
break;
case INTEGER_LITERAL:
Integer();
break;
case STRING_LITERAL:
String();
break;
case NULL:
Null();
break;
default:
jj_la1[33] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
/*
* Boolean
* For 'true' 'false'
*/
final public void Boolean() throws ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TRUE:
AstTrue jjtn001 = new AstTrue(JJTTRUE);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
jj_consume_token(TRUE);
} finally {
if (jjtc001) {
jjtree.closeNodeScope(jjtn001, true);
}
}
break;
case FALSE:
AstFalse jjtn002 = new AstFalse(JJTFALSE);
boolean jjtc002 = true;
jjtree.openNodeScope(jjtn002);
try {
jj_consume_token(FALSE);
} finally {
if (jjtc002) {
jjtree.closeNodeScope(jjtn002, true);
}
}
break;
default:
jj_la1[34] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
}
/*
* FloatinPoint
* For Decimal and Floating Point Literals
*/
final public void FloatingPoint() throws ParseException {
/*@bgen(jjtree) FloatingPoint */
AstFloatingPoint jjtn000 = new AstFloatingPoint(JJTFLOATINGPOINT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t = null;
try {
t = jj_consume_token(FLOATING_POINT_LITERAL);
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
jjtn000.setImage(t.image);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/*
* Integer
* For Simple Numeric Literals
*/
final public void Integer() throws ParseException {
/*@bgen(jjtree) Integer */
AstInteger jjtn000 = new AstInteger(JJTINTEGER);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t = null;
try {
t = jj_consume_token(INTEGER_LITERAL);
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
jjtn000.setImage(t.image);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/*
* String
* For Quoted Literals
*/
final public void String() throws ParseException {
/*@bgen(jjtree) String */
AstString jjtn000 = new AstString(JJTSTRING);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);Token t = null;
try {
t = jj_consume_token(STRING_LITERAL);
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
jjtn000.setImage(t.image);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
/*
* Null
* For 'null'
*/
final public void Null() throws ParseException {
/*@bgen(jjtree) Null */
AstNull jjtn000 = new AstNull(JJTNULL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
jj_consume_token(NULL);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
}
final private boolean jj_2_1(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_1(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(0, xla); }
}
final private boolean jj_3R_11() {
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(54)) jj_scanpos = xsp;
if (jj_scan_token(IDENTIFIER)) return true;
if (jj_scan_token(LPAREN)) return true;
xsp = jj_scanpos;
if (jj_3R_12()) jj_scanpos = xsp;
if (jj_scan_token(RPAREN)) return true;
return false;
}
final private boolean jj_3R_20() {
if (jj_3R_21()) return true;
return false;
}
final private boolean jj_3R_44() {
if (jj_scan_token(IDENTIFIER)) return true;
return false;
}
final private boolean jj_3R_19() {
if (jj_3R_20()) return true;
return false;
}
final private boolean jj_3R_38() {
if (jj_3R_44()) return true;
return false;
}
final private boolean jj_3_1() {
if (jj_3R_11()) return true;
return false;
}
final private boolean jj_3R_31() {
Token xsp;
xsp = jj_scanpos;
if (jj_3R_37()) {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -