/* 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源码 真的是很好的东西,请大量下载
共235个文件
java:162个
old:20个
extra:10个
需积分: 0 2 下载量 45 浏览量
2009-12-08
00:43:06
上传
评论
收藏 302KB RAR 举报
温馨提示
代码为OGNL的源码,有很大的价值,很高的评价!
资源详情
资源评论
资源推荐
收起资源包目录
Ognl源码 真的是很好的东西,请大量下载 (235个子文件)
Entries 5KB
Entries 2KB
Entries 628B
Entries 168B
Entries 24B
Entries 12B
Entries 12B
Entries 12B
Entries 12B
Entries 11B
Entries.Extra 3KB
Entries.Extra 1KB
Entries.Extra 274B
Entries.Extra 84B
Entries.Extra 24B
Entries.Extra 12B
Entries.Extra 12B
Entries.Extra 12B
Entries.Extra 12B
Entries.Extra 11B
package.html 3KB
OgnlParser.java 102KB
OgnlRuntime.java 70KB
OgnlParserTokenManager.java 52KB
OgnlOps.java 28KB
Ognl.java 27KB
OgnlContext.java 22KB
NumericConversionTest.java 15KB
JavaCharStream.java 13KB
ArithmeticAndLogicalOperatorsTest.java 12KB
CompilingPropertyAccessor.java 11KB
Performance.java 11KB
SimpleNode.java 11KB
IntHashMap.java 11KB
Evaluation.java 11KB
ASTChain.java 10KB
OgnlTestCase.java 7KB
NumberFormatExceptionTest.java 7KB
ObjectArrayPool.java 6KB
ParseException.java 6KB
ArrayElementsTest.java 6KB
SetterTest.java 6KB
ObjectIndexedTest.java 6KB
Root.java 6KB
CollectionDirectPropertyTest.java 6KB
MemberAccessTest.java 6KB
PrivateAccessorTest.java 6KB
IndexedPropertyTest.java 6KB
ArrayPropertyAccessor.java 6KB
PrimitiveArrayTest.java 6KB
ASTConst.java 6KB
ArrayCreationTest.java 6KB
ObjectIndexedPropertyTest.java 6KB
MapCreationTest.java 6KB
PropertyNotFoundTest.java 6KB
ObjectPropertyAccessor.java 6KB
ConstantTest.java 6KB
PropertyTest.java 6KB
ASTCtor.java 5KB
DefaultMemberAccess.java 5KB
SetterWithConversionTest.java 5KB
InterfaceInheritanceTest.java 5KB
ObjectIndexedPropertyDescriptor.java 5KB
OperatorTest.java 5KB
OgnlException.java 5KB
ListPropertyAccessor.java 5KB
PrimitiveNullHandlingTest.java 5KB
EvaluationPool.java 5KB
StaticsAndConstructorsTest.java 5KB
NullHandlerTest.java 5KB
ConstantTreeTest.java 5KB
MethodWithConversionTest.java 5KB
NullStringCatenationTest.java 5KB
NestedMethodTest.java 4KB
LambdaExpressionTest.java 4KB
ASTProperty.java 4KB
ProjectionSelectionTest.java 4KB
SimplePropertyTreeTest.java 4KB
QuotingTest.java 4KB
ClassMethodTest.java 4KB
TokenMgrError.java 4KB
ShortCircuitingExpressionTest.java 4KB
ASTMap.java 4KB
SimpleNavigationChainTreeTest.java 4KB
Simple.java 4KB
PropertyAccessor.java 4KB
ASTStaticField.java 4KB
ContextVariableTest.java 4KB
ProtectedInnerClassTest.java 4KB
IndexAccessTest.java 4KB
MapPropertyAccessor.java 4KB
PrivateMemberTest.java 4KB
ASTMethod.java 4KB
ExpressionNode.java 4KB
MethodTest.java 3KB
Node.java 3KB
ASTEval.java 3KB
MethodAccessor.java 3KB
ASTStaticMethod.java 3KB
NumericTypes.java 3KB
共 235 条
- 1
- 2
- 3
handsomeWS
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- AIS2024 valid
- 最入门的爬虫代码 python.docx
- 爬虫零基础入门-爬取天气预报.pdf
- 最通俗易懂的 MongoDB 非结构化文档存储数据库教程.zip
- 以mongodb为数据库的订单物流小项目.zip
- 腾讯云-mongodb数据库, 项目部署.zip
- 腾讯 APIJSON 的 MongoDB 数据库插件.zip
- 理解非关系型数据库和关系型数据库的区别.zip
- 操作简单的Mongodb网页web管理工具,基于Spring Boot2.0支持mongodb集群.zip
- tms-mongodb-web,提供访问mongodb数据的REST API和可灵活扩展的mongodb web 客户端.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0