/* Generated By:JJTree&JavaCC: Do not edit this line. OgnlParser.java */
package ognl;
/**
* OgnlParser is a JavaCC parser class; it translates OGNL expressions into abstract
* syntax trees (ASTs) that can then be interpreted by the getValue and setValue methods.
*/
public class OgnlParser/*@bgen(jjtree)*/implements OgnlParserTreeConstants, OgnlParserConstants {/*@bgen(jjtree)*/
protected JJTOgnlParserState jjtree = new JJTOgnlParserState();
/**
* This is the top-level construct of OGNL.
*/
final public Node topLevelExpression() throws ParseException {
expression();
jj_consume_token(0);
{if (true) return jjtree.rootNode();}
throw new Error("Missing return statement in function");
}
// sequence (level 14)
final public void expression() throws ParseException {
assignmentExpression();
label_1:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 1:
;
break;
default:
jj_la1[0] = jj_gen;
break label_1;
}
jj_consume_token(1);
ASTSequence jjtn001 = new ASTSequence(JJTSEQUENCE);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
assignmentExpression();
} 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, 2);
}
}
}
}
// assignment expression (level 13)
final public void assignmentExpression() throws ParseException {
conditionalTestExpression();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 2:
jj_consume_token(2);
ASTAssign jjtn001 = new ASTAssign(JJTASSIGN);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
assignmentExpression();
} 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, 2);
}
}
break;
default:
jj_la1[1] = jj_gen;
;
}
}
// conditional test (level 12)
final public void conditionalTestExpression() throws ParseException {
logicalOrExpression();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 3:
jj_consume_token(3);
conditionalTestExpression();
jj_consume_token(4);
ASTTest jjtn001 = new ASTTest(JJTTEST);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
conditionalTestExpression();
} 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, 3);
}
}
break;
default:
jj_la1[2] = jj_gen;
;
}
}
// logical or (||) (level 11)
final public void logicalOrExpression() throws ParseException {
logicalAndExpression();
label_2:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 5:
case 6:
;
break;
default:
jj_la1[3] = jj_gen;
break label_2;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case 5:
jj_consume_token(5);
break;
case 6:
jj_consume_token(6);
break;
default:
jj_la1[4] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
ASTOr jjtn001 = new ASTOr(JJTOR);
boolean jjtc001 = true;
jjtree.openNodeScope(jjtn001);
try {
logicalAndExpression();
} 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, 2);
}
}
}
}
// logic
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
ognl 源码: struts2 所用的 ognl 包源码 (106个子文件)
package.html 3KB
OgnlParser.java 102KB
OgnlRuntime.java 70KB
OgnlParserTokenManager.java 52KB
OgnlOps.java 28KB
Ognl.java 27KB
OgnlContext.java 22KB
JavaCharStream.java 13KB
SimpleNode.java 11KB
IntHashMap.java 11KB
Evaluation.java 11KB
ASTChain.java 10KB
ObjectArrayPool.java 6KB
ParseException.java 6KB
ArrayPropertyAccessor.java 6KB
ASTConst.java 6KB
ObjectPropertyAccessor.java 6KB
ASTCtor.java 5KB
DefaultMemberAccess.java 5KB
ObjectIndexedPropertyDescriptor.java 5KB
OgnlException.java 5KB
ListPropertyAccessor.java 5KB
EvaluationPool.java 5KB
ASTProperty.java 4KB
TokenMgrError.java 4KB
ASTMap.java 4KB
PropertyAccessor.java 4KB
ASTStaticField.java 4KB
MapPropertyAccessor.java 4KB
ASTMethod.java 4KB
ExpressionNode.java 4KB
Node.java 3KB
ASTEval.java 3KB
MethodAccessor.java 3KB
ASTStaticMethod.java 3KB
NumericTypes.java 3KB
EnumerationPropertyAccessor.java 3KB
DynamicSubscript.java 3KB
ObjectMethodAccessor.java 3KB
JJTOgnlParserState.java 3KB
IteratorPropertyAccessor.java 3KB
ASTSequence.java 3KB
SetPropertyAccessor.java 3KB
ASTAnd.java 3KB
ASTOr.java 3KB
TypeConverter.java 3KB
ElementsAccessor.java 3KB
DefaultClassResolver.java 3KB
ASTSelectLast.java 3KB
ASTSelectFirst.java 3KB
ASTSelect.java 3KB
MemberAccess.java 3KB
ASTTest.java 3KB
Token.java 3KB
ASTList.java 3KB
NumberElementsAccessor.java 3KB
ASTProject.java 3KB
NoSuchPropertyException.java 3KB
ObjectElementsAccessor.java 3KB
ASTInstanceof.java 3KB
ASTKeyValue.java 3KB
ASTMultiply.java 3KB
ASTBitAnd.java 3KB
ASTBitOr.java 3KB
ASTXor.java 3KB
ASTAdd.java 2KB
ArrayElementsAccessor.java 2KB
ASTVarRef.java 2KB
OgnlInvokePermission.java 2KB
DefaultTypeConverter.java 2KB
ASTThisVarRef.java 2KB
ASTUnsignedShiftRight.java 2KB
NullHandler.java 2KB
ASTGreaterEq.java 2KB
ASTGreater.java 2KB
ASTRootVarRef.java 2KB
ASTLessEq.java 2KB
ASTNotIn.java 2KB
ASTNotEq.java 2KB
ASTLess.java 2KB
ASTIn.java 2KB
ASTEq.java 2KB
ASTShiftRight.java 2KB
ASTShiftLeft.java 2KB
ASTRemainder.java 2KB
ASTSubtract.java 2KB
ASTDivide.java 2KB
ASTAssign.java 2KB
ObjectNullHandler.java 2KB
EnumerationIterator.java 2KB
ASTNot.java 2KB
OgnlParserTreeConstants.java 2KB
ASTBitNegate.java 2KB
ASTNegate.java 2KB
InappropriateExpressionException.java 2KB
IteratorEnumeration.java 2KB
EnumerationElementsAccessor.java 2KB
IteratorElementsAccessor.java 2KB
MapElementsAccessor.java 2KB
CollectionElementsAccessor.java 2KB
共 106 条
- 1
- 2
资源评论
- j_a_d_e2015-07-06非常有用啊,免去了很多麻烦!!!
雪峰
- 粉丝: 63
- 资源: 43
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功