You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by xu...@apache.org on 2009/06/23 04:34:50 UTC
svn commit: r787519 [1/2] - in
/geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser:
ELParser.html ELParser.java ELParser.jjt ELParserConstants.java
ELParserTokenManager.java
Author: xuhaihong
Date: Tue Jun 23 02:34:50 2009
New Revision: 787519
URL: http://svn.apache.org/viewvc?rev=787519&view=rev
Log:
Apply the extra patch for ELParser, for it caused much JSP parse error
Modified:
geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.html
geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.java
geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.jjt
geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParserConstants.java
geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParserTokenManager.java
Modified: geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.html
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.html?rev=787519&r1=787518&r2=787519&view=diff
==============================================================================
--- geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.html (original)
+++ geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.html Tue Jun 23 02:34:50 2009
@@ -51,7 +51,7 @@
<TR>
<TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod6">Choice</A></TD>
<TD ALIGN=CENTER VALIGN=BASELINE>::=</TD>
-<TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod7">Or</A> ( <QUESTIONMARK> <A HREF="#prod6">Choice</A> <COLON> <A HREF="#prod6">Choice</A> )*</TD>
+<TD ALIGN=LEFT VALIGN=BASELINE><A HREF="#prod7">Or</A> ( <QUESTIONMARK> <A HREF="#prod7">Or</A> <COLON> <A HREF="#prod6">Choice</A> )*</TD>
</TR>
<TR>
<TD ALIGN=RIGHT VALIGN=BASELINE><A NAME="prod7">Or</A></TD>
Modified: geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.java
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.java?rev=787519&r1=787518&r2=787519&view=diff
==============================================================================
--- geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.java (original)
+++ geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.java Tue Jun 23 02:34:50 2009
@@ -27,6 +27,15 @@
throw new ELException(pe.getMessage());
}
}
+
+ public static void main(String[] argv) throws Exception {
+ String[] str = { "${foo()}", "${fn.fn:foo() ? a : b}", "${fn:foo() ? (fn_af.f:fd() ? a : b) : b}", "${a.b.c ? a : b}" };
+ for (int i = 0; i < str.length; i++) {
+ SimpleNode sn = (SimpleNode) ELParser.parse(str[i]);
+ System.out.println("====\n" + str[i]);
+ sn.dump("\t");
+ }
+ }
/*
* CompositeExpression
@@ -207,31 +216,31 @@
break label_2;
}
jj_consume_token(QUESTIONMARK);
- Choice();
+ Or();
jj_consume_token(COLON);
- AstChoice jjtn001 = new AstChoice(JJTCHOICE);
- boolean jjtc001 = true;
- jjtree.openNodeScope(jjtn001);
+ AstChoice jjtn001 = new AstChoice(JJTCHOICE);
+ boolean jjtc001 = true;
+ jjtree.openNodeScope(jjtn001);
try {
Choice();
} 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;}
+ 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);
- }
+ if (jjtc001) {
+ jjtree.closeNodeScope(jjtn001, 3);
+ }
}
}
}
@@ -963,7 +972,7 @@
case NULL:
case LPAREN:
case IDENTIFIER:
- case FUNCTION_CALL:
+ case NAMESPACE:
Value();
break;
default:
@@ -1033,7 +1042,7 @@
break;
case LPAREN:
case IDENTIFIER:
- case FUNCTION_CALL:
+ case NAMESPACE:
NonLiteral();
break;
default:
@@ -1176,9 +1185,25 @@
/*@bgen(jjtree) Function */
AstFunction jjtn000 = new AstFunction(JJTFUNCTION);
boolean jjtc000 = true;
- jjtree.openNodeScope(jjtn000);Token tx = null;
+ jjtree.openNodeScope(jjtn000);Token t0 = null;
+ Token t1 = null;
try {
- tx = jj_consume_token(FUNCTION_CALL);
+ 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:
@@ -1192,7 +1217,7 @@
case EMPTY:
case MINUS:
case IDENTIFIER:
- case FUNCTION_CALL:
+ case NAMESPACE:
Expression();
label_10:
while (true) {
@@ -1201,7 +1226,7 @@
;
break;
default:
- jj_la1[30] = jj_gen;
+ jj_la1[31] = jj_gen;
break label_10;
}
jj_consume_token(COMMA);
@@ -1209,19 +1234,10 @@
}
break;
default:
- jj_la1[31] = jj_gen;
+ jj_la1[32] = jj_gen;
;
}
jj_consume_token(RPAREN);
- jjtree.closeNodeScope(jjtn000, true);
- jjtc000 = false;
- int split = tx.image.indexOf(":");
- if (split!=-1) {
- jjtn000.setPrefix(tx.image.substring(0, split));
- jjtn000.setLocalName(tx.image.substring(split + 1, tx.image.length() - 1));
- } else {
- jjtn000.setLocalName(tx.image.substring(0, tx.image.length() - 1));
- }
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
@@ -1266,7 +1282,7 @@
Null();
break;
default:
- jj_la1[32] = jj_gen;
+ jj_la1[33] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1303,7 +1319,7 @@
}
break;
default:
- jj_la1[33] = jj_gen;
+ jj_la1[34] = jj_gen;
jj_consume_token(-1);
throw new ParseException();
}
@@ -1398,61 +1414,34 @@
}
final private boolean jj_3R_11() {
- if (jj_scan_token(FUNCTION_CALL)) return true;
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_28() {
- if (jj_3R_34()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_35()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- final private boolean jj_3R_37() {
- if (jj_scan_token(MINUS)) return true;
- return false;
- }
-
- final private boolean jj_3R_29() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_36()) {
- jj_scanpos = xsp;
- if (jj_3R_37()) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_36() {
- if (jj_scan_token(PLUS)) return true;
+ final private boolean jj_3R_20() {
+ if (jj_3R_21()) return true;
return false;
}
- final private boolean jj_3R_69() {
+ final private boolean jj_3R_44() {
if (jj_scan_token(IDENTIFIER)) return true;
return false;
}
- final private boolean jj_3R_61() {
- if (jj_3R_69()) return true;
+ final private boolean jj_3R_19() {
+ if (jj_3R_20()) return true;
return false;
}
- final private boolean jj_3R_24() {
- if (jj_3R_28()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_29()) { jj_scanpos = xsp; break; }
- }
+ final private boolean jj_3R_38() {
+ if (jj_3R_44()) return true;
return false;
}
@@ -1461,434 +1450,206 @@
return false;
}
- final private boolean jj_3R_33() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(29)) {
- jj_scanpos = xsp;
- if (jj_scan_token(30)) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_60() {
- if (jj_scan_token(LPAREN)) return true;
- if (jj_3R_13()) return true;
- return false;
- }
-
- final private boolean jj_3R_52() {
+ final private boolean jj_3R_31() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_60()) {
+ if (jj_3R_37()) {
jj_scanpos = xsp;
if (jj_3_1()) {
jj_scanpos = xsp;
- if (jj_3R_61()) return true;
+ if (jj_3R_38()) return true;
}
}
return false;
}
- final private boolean jj_3R_32() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(31)) {
- jj_scanpos = xsp;
- if (jj_scan_token(32)) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_31() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(25)) {
- jj_scanpos = xsp;
- if (jj_scan_token(26)) return true;
- }
+ final private boolean jj_3R_37() {
+ if (jj_scan_token(LPAREN)) return true;
return false;
}
- final private boolean jj_3R_68() {
+ final private boolean jj_3R_43() {
if (jj_scan_token(NULL)) return true;
return false;
}
- final private boolean jj_3R_25() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_30()) {
- jj_scanpos = xsp;
- if (jj_3R_31()) {
- jj_scanpos = xsp;
- if (jj_3R_32()) {
- jj_scanpos = xsp;
- if (jj_3R_33()) return true;
- }
- }
- }
- return false;
- }
-
- final private boolean jj_3R_30() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(27)) {
- jj_scanpos = xsp;
- if (jj_scan_token(28)) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_63() {
- if (jj_scan_token(LBRACK)) return true;
- return false;
- }
-
- final private boolean jj_3R_67() {
+ final private boolean jj_3R_42() {
if (jj_scan_token(STRING_LITERAL)) return true;
return false;
}
- final private boolean jj_3R_54() {
- if (jj_3R_63()) return true;
- return false;
- }
-
- final private boolean jj_3R_22() {
- if (jj_3R_24()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_25()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- final private boolean jj_3R_27() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(35)) {
- jj_scanpos = xsp;
- if (jj_scan_token(36)) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_62() {
- if (jj_scan_token(DOT)) return true;
- return false;
- }
-
- final private boolean jj_3R_26() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(33)) {
- jj_scanpos = xsp;
- if (jj_scan_token(34)) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_23() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_26()) {
- jj_scanpos = xsp;
- if (jj_3R_27()) return true;
- }
+ final private boolean jj_3R_18() {
+ if (jj_3R_19()) return true;
return false;
}
- final private boolean jj_3R_66() {
+ final private boolean jj_3R_41() {
if (jj_scan_token(INTEGER_LITERAL)) return true;
return false;
}
- final private boolean jj_3R_21() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(39)) {
- jj_scanpos = xsp;
- if (jj_scan_token(40)) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_53() {
- if (jj_3R_62()) return true;
- return false;
- }
-
- final private boolean jj_3R_50() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_53()) {
- jj_scanpos = xsp;
- if (jj_3R_54()) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_20() {
- if (jj_3R_22()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_23()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- final private boolean jj_3R_47() {
- if (jj_3R_50()) return true;
+ final private boolean jj_3R_17() {
+ if (jj_3R_18()) return true;
return false;
}
- final private boolean jj_3R_65() {
+ final private boolean jj_3R_40() {
if (jj_scan_token(FLOATING_POINT_LITERAL)) return true;
return false;
}
- final private boolean jj_3R_49() {
- if (jj_3R_52()) return true;
- return false;
- }
-
- final private boolean jj_3R_14() {
- if (jj_scan_token(COMMA)) return true;
+ final private boolean jj_3R_29() {
+ if (jj_3R_31()) return true;
return false;
}
- final private boolean jj_3R_71() {
+ final private boolean jj_3R_46() {
if (jj_scan_token(FALSE)) return true;
return false;
}
- final private boolean jj_3R_48() {
- if (jj_3R_51()) return true;
+ final private boolean jj_3R_16() {
+ if (jj_3R_17()) return true;
return false;
}
- final private boolean jj_3R_46() {
+ final private boolean jj_3R_27() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_48()) {
+ if (jj_3R_28()) {
jj_scanpos = xsp;
- if (jj_3R_49()) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_18() {
- if (jj_3R_20()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_21()) { jj_scanpos = xsp; break; }
+ if (jj_3R_29()) return true;
}
return false;
}
- final private boolean jj_3R_19() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(41)) {
- jj_scanpos = xsp;
- if (jj_scan_token(42)) return true;
- }
+ final private boolean jj_3R_28() {
+ if (jj_3R_30()) return true;
return false;
}
- final private boolean jj_3R_70() {
+ final private boolean jj_3R_45() {
if (jj_scan_token(TRUE)) return true;
return false;
}
- final private boolean jj_3R_64() {
+ final private boolean jj_3R_39() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_70()) {
+ if (jj_3R_45()) {
jj_scanpos = xsp;
- if (jj_3R_71()) return true;
- }
- return false;
- }
-
- final private boolean jj_3R_45() {
if (jj_3R_46()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_47()) { jj_scanpos = xsp; break; }
}
return false;
}
- final private boolean jj_3R_16() {
- if (jj_3R_18()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_19()) { jj_scanpos = xsp; break; }
- }
+ final private boolean jj_3R_15() {
+ if (jj_3R_16()) return true;
return false;
}
- final private boolean jj_3R_41() {
- if (jj_3R_45()) return true;
+ final private boolean jj_3R_26() {
+ if (jj_3R_27()) return true;
return false;
}
- final private boolean jj_3R_59() {
- if (jj_3R_68()) return true;
+ final private boolean jj_3R_25() {
+ if (jj_3R_26()) return true;
return false;
}
- final private boolean jj_3R_58() {
- if (jj_3R_67()) return true;
+ final private boolean jj_3R_36() {
+ if (jj_3R_43()) return true;
return false;
}
- final private boolean jj_3R_17() {
- if (jj_scan_token(QUESTIONMARK)) return true;
+ final private boolean jj_3R_35() {
+ if (jj_3R_42()) return true;
return false;
}
- final private boolean jj_3R_40() {
+ final private boolean jj_3R_24() {
if (jj_scan_token(EMPTY)) return true;
- if (jj_3R_34()) return true;
- return false;
- }
-
- final private boolean jj_3R_57() {
- if (jj_3R_66()) return true;
return false;
}
- final private boolean jj_3R_12() {
- if (jj_3R_13()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_14()) { jj_scanpos = xsp; break; }
- }
+ final private boolean jj_3R_34() {
+ if (jj_3R_41()) return true;
return false;
}
- final private boolean jj_3R_56() {
- if (jj_3R_65()) return true;
+ final private boolean jj_3R_33() {
+ if (jj_3R_40()) return true;
return false;
}
- final private boolean jj_3R_39() {
+ final private boolean jj_3R_23() {
Token xsp;
xsp = jj_scanpos;
if (jj_scan_token(37)) {
jj_scanpos = xsp;
if (jj_scan_token(38)) return true;
}
- if (jj_3R_34()) return true;
return false;
}
- final private boolean jj_3R_34() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_38()) {
- jj_scanpos = xsp;
- if (jj_3R_39()) {
- jj_scanpos = xsp;
- if (jj_3R_40()) {
- jj_scanpos = xsp;
- if (jj_3R_41()) return true;
- }
- }
- }
+ final private boolean jj_3R_12() {
+ if (jj_3R_13()) return true;
return false;
}
- final private boolean jj_3R_38() {
+ final private boolean jj_3R_22() {
if (jj_scan_token(MINUS)) return true;
- if (jj_3R_34()) return true;
- return false;
- }
-
- final private boolean jj_3R_55() {
- if (jj_3R_64()) return true;
return false;
}
- final private boolean jj_3R_51() {
+ final private boolean jj_3R_21() {
Token xsp;
xsp = jj_scanpos;
- if (jj_3R_55()) {
+ if (jj_3R_22()) {
jj_scanpos = xsp;
- if (jj_3R_56()) {
+ if (jj_3R_23()) {
jj_scanpos = xsp;
- if (jj_3R_57()) {
+ if (jj_3R_24()) {
jj_scanpos = xsp;
- if (jj_3R_58()) {
- jj_scanpos = xsp;
- if (jj_3R_59()) return true;
- }
+ if (jj_3R_25()) return true;
}
}
}
return false;
}
- final private boolean jj_3R_15() {
- if (jj_3R_16()) return true;
- Token xsp;
- while (true) {
- xsp = jj_scanpos;
- if (jj_3R_17()) { jj_scanpos = xsp; break; }
- }
- return false;
- }
-
- final private boolean jj_3R_44() {
+ final private boolean jj_3R_30() {
Token xsp;
xsp = jj_scanpos;
- if (jj_scan_token(51)) {
+ if (jj_3R_32()) {
+ jj_scanpos = xsp;
+ if (jj_3R_33()) {
+ jj_scanpos = xsp;
+ if (jj_3R_34()) {
jj_scanpos = xsp;
- if (jj_scan_token(52)) return true;
+ if (jj_3R_35()) {
+ jj_scanpos = xsp;
+ if (jj_3R_36()) return true;
+ }
+ }
+ }
}
return false;
}
- final private boolean jj_3R_13() {
- if (jj_3R_15()) return true;
- return false;
- }
-
- final private boolean jj_3R_43() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_scan_token(49)) {
- jj_scanpos = xsp;
- if (jj_scan_token(50)) return true;
- }
+ final private boolean jj_3R_32() {
+ if (jj_3R_39()) return true;
return false;
}
- final private boolean jj_3R_35() {
- Token xsp;
- xsp = jj_scanpos;
- if (jj_3R_42()) {
- jj_scanpos = xsp;
- if (jj_3R_43()) {
- jj_scanpos = xsp;
- if (jj_3R_44()) return true;
- }
- }
+ final private boolean jj_3R_14() {
+ if (jj_3R_15()) return true;
return false;
}
- final private boolean jj_3R_42() {
- if (jj_scan_token(MULT)) return true;
+ final private boolean jj_3R_13() {
+ if (jj_3R_14()) return true;
return false;
}
@@ -1901,7 +1662,7 @@
public boolean lookingAhead = false;
private boolean jj_semLA;
private int jj_gen;
- final private int[] jj_la1 = new int[34];
+ final private int[] jj_la1 = new int[35];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static {
@@ -1909,10 +1670,10 @@
jj_la1_1();
}
private static void jj_la1_0() {
- jj_la1_0 = new int[] {0xe,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe000000,0x18000000,0x6000000,0x80000000,0x60000000,0xfe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9d600,0x240000,0x9d600,0x240000,0x80000,0x0,0x1000000,0x9d600,0x1d600,0xc000,};
+ jj_la1_0 = new int[] {0xe,0xe,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfe000000,0x18000000,0x6000000,0x80000000,0x60000000,0xfe000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x9d600,0x240000,0x9d600,0x240000,0x80000,0x0,0x0,0x1000000,0x9d600,0x1d600,0xc000,};
}
private static void jj_la1_1() {
- jj_la1_1 = new int[] {0x0,0x0,0x10000,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x1208860,0x0,0x1200000,0x0,0x0,0x200000,0x0,0x1208860,0x0,0x0,};
+ jj_la1_1 = new int[] {0x0,0x0,0x10000,0x600,0x600,0x180,0x180,0x1e,0x6,0x18,0x1e,0x1,0x0,0x0,0x1,0x0,0x1,0xc000,0xc000,0x1e2000,0x60000,0x180000,0x1e2000,0x60,0x608860,0x0,0x600000,0x0,0x0,0x200000,0x400000,0x0,0x608860,0x0,0x0,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[1];
private boolean jj_rescan = false;
@@ -1927,7 +1688,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 34; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 35; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -1941,7 +1702,7 @@
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
- for (int i = 0; i < 34; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 35; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -1951,7 +1712,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 34; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 35; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -1962,7 +1723,7 @@
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
- for (int i = 0; i < 34; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 35; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -1971,7 +1732,7 @@
token = new Token();
jj_ntk = -1;
jj_gen = 0;
- for (int i = 0; i < 34; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 35; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -1981,7 +1742,7 @@
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
- for (int i = 0; i < 34; i++) jj_la1[i] = -1;
+ for (int i = 0; i < 35; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
@@ -2092,15 +1853,15 @@
public ParseException generateParseException() {
jj_expentries.removeAllElements();
- boolean[] la1tokens = new boolean[62];
- for (int i = 0; i < 62; i++) {
+ boolean[] la1tokens = new boolean[60];
+ for (int i = 0; i < 60; i++) {
la1tokens[i] = false;
}
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
- for (int i = 0; i < 34; i++) {
+ for (int i = 0; i < 35; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
@@ -2112,7 +1873,7 @@
}
}
}
- for (int i = 0; i < 62; i++) {
+ for (int i = 0; i < 60; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
Modified: geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.jjt
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.jjt?rev=787519&r1=787518&r2=787519&view=diff
==============================================================================
--- geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.jjt (original)
+++ geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParser.jjt Tue Jun 23 02:34:50 2009
@@ -31,7 +31,7 @@
NODE_DEFAULT_VOID=true;
JAVA_UNICODE_ESCAPE=false;
UNICODE_INPUT=true;
- BUILD_NODE_FILES=false;
+ BUILD_NODE_FILES=true;
}
/* == Parser Declaration == */
@@ -104,7 +104,7 @@
*/
void Choice() : {}
{
- Or() (<QUESTIONMARK> Choice() <COLON> Choice() #Choice(3))*
+ Or() (<QUESTIONMARK> Or() <COLON> Choice() #Choice(3))*
}
/*
@@ -274,19 +274,20 @@
*/
void Function() #Function :
{
- Token tx = null;
+ Token t0 = null;
+ Token t1 = null;
}
{
- (tx=<FUNCTION_CALL>) (Expression() (<COMMA> Expression())*)? <RPAREN>
+ (t0=<NAMESPACE>)? t1=<IDENTIFIER>
{
- int split = tx.image.indexOf(":");
- if (split!=-1) {
- jjtThis.setPrefix(tx.image.substring(0, split));
- jjtThis.setLocalName(tx.image.substring(split + 1, tx.image.length() - 1));
+ if (t0 != null) {
+ jjtThis.setPrefix(t0.image.substring(0, t0.image.length() - 1));
+ jjtThis.setLocalName(t1.image);
} else {
- jjtThis.setLocalName(tx.image.substring(0, tx.image.length() - 1));
+ jjtThis.setLocalName(t1.image);
}
}
+ <LPAREN> (Expression() (<COMMA> Expression())*)? <RPAREN>
}
/*
@@ -427,9 +428,7 @@
| < MOD0 : "%" >
| < MOD1 : "mod" >
| < IDENTIFIER : (<LETTER>|<IMPL_OBJ_START>) (<LETTER>|<DIGIT>)* >
-| < #NAMESPACE : ( <NAMESPACE_NAME> <COLON>) >
-| < #NAMESPACE_NAME: (<IDENTIFIER> (<LETTER>|<DIGIT>|<MINUS>|<DOT>)*) >
-| < FUNCTION_CALL: (<NAMESPACE>)? <IDENTIFIER> <LPAREN> >
+| < NAMESPACE : (<IDENTIFIER> (<IDENTIFIER>|<MINUS>|<DOT>)* <COLON>) >
| < FUNCTIONSUFFIX : (<IDENTIFIER>) >
| < #IMPL_OBJ_START: "#" >
| < #LETTER:
Modified: geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParserConstants.java
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParserConstants.java?rev=787519&r1=787518&r2=787519&view=diff
==============================================================================
--- geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParserConstants.java (original)
+++ geronimo/external/trunk/tomcat-parent-6.0.18/jasper-el/src/main/java/org/apache/el/parser/ELParserConstants.java Tue Jun 23 02:34:50 2009
@@ -19,130 +19,131 @@
public interface ELParserConstants {
- int EOF = 0;
- int LITERAL_EXPRESSION = 1;
- int START_DYNAMIC_EXPRESSION = 2;
- int START_DEFERRED_EXPRESSION = 3;
- int INTEGER_LITERAL = 9;
- int FLOATING_POINT_LITERAL = 10;
- int EXPONENT = 11;
- int STRING_LITERAL = 12;
- int BADLY_ESCAPED_STRING_LITERAL = 13;
- int TRUE = 14;
- int FALSE = 15;
- int NULL = 16;
- int END_EXPRESSION = 17;
- int DOT = 18;
- int LPAREN = 19;
- int RPAREN = 20;
- int LBRACK = 21;
- int RBRACK = 22;
- int COLON = 23;
- int COMMA = 24;
- int GT0 = 25;
- int GT1 = 26;
- int LT0 = 27;
- int LT1 = 28;
- int GE0 = 29;
- int GE1 = 30;
- int LE0 = 31;
- int LE1 = 32;
- int EQ0 = 33;
- int EQ1 = 34;
- int NE0 = 35;
- int NE1 = 36;
- int NOT0 = 37;
- int NOT1 = 38;
- int AND0 = 39;
- int AND1 = 40;
- int OR0 = 41;
- int OR1 = 42;
- int EMPTY = 43;
- int INSTANCEOF = 44;
- int MULT = 45;
- int PLUS = 46;
- int MINUS = 47;
- int QUESTIONMARK = 48;
- int DIV0 = 49;
- int DIV1 = 50;
- int MOD0 = 51;
- int MOD1 = 52;
- int IDENTIFIER = 53;
- int NAMESPACE = 54;
- int NAMESPACE_NAME = 55;
- int FUNCTION_CALL = 56;
- int FUNCTIONSUFFIX = 57;
- int IMPL_OBJ_START = 58;
- int LETTER = 59;
- int DIGIT = 60;
- int ILLEGAL_CHARACTER = 61;
-
- int DEFAULT = 0;
- int IN_EXPRESSION = 1;
-
- String[] tokenImage = {
- "<EOF>",
- "<LITERAL_EXPRESSION>",
- "\"${\"",
- "\"#{\"",
- "\"\\\\\"",
- "\" \"",
- "\"\\t\"",
- "\"\\n\"",
- "\"\\r\"",
- "<INTEGER_LITERAL>",
- "<FLOATING_POINT_LITERAL>",
- "<EXPONENT>",
- "<STRING_LITERAL>",
- "<BADLY_ESCAPED_STRING_LITERAL>",
- "\"true\"",
- "\"false\"",
- "\"null\"",
- "\"}\"",
- "\".\"",
- "\"(\"",
- "\")\"",
- "\"[\"",
- "\"]\"",
- "\":\"",
- "\",\"",
- "\">\"",
- "\"gt\"",
- "\"<\"",
- "\"lt\"",
- "\">=\"",
- "\"ge\"",
- "\"<=\"",
- "\"le\"",
- "\"==\"",
- "\"eq\"",
- "\"!=\"",
- "\"ne\"",
- "\"!\"",
- "\"not\"",
- "\"&&\"",
- "\"and\"",
- "\"||\"",
- "\"or\"",
- "\"empty\"",
- "\"instanceof\"",
- "\"*\"",
- "\"+\"",
- "\"-\"",
- "\"?\"",
- "\"/\"",
- "\"div\"",
- "\"%\"",
- "\"mod\"",
- "<IDENTIFIER>",
- "<NAMESPACE>",
- "<NAMESPACE_NAME>",
- "<FUNCTION_CALL>",
- "<FUNCTIONSUFFIX>",
- "\"#\"",
- "<LETTER>",
- "<DIGIT>",
- "<ILLEGAL_CHARACTER>",
- };
+ int EOF = 0;
+
+ int LITERAL_EXPRESSION = 1;
+
+ int START_DYNAMIC_EXPRESSION = 2;
+
+ int START_DEFERRED_EXPRESSION = 3;
+
+ int INTEGER_LITERAL = 9;
+
+ int FLOATING_POINT_LITERAL = 10;
+
+ int EXPONENT = 11;
+
+ int STRING_LITERAL = 12;
+
+ int BADLY_ESCAPED_STRING_LITERAL = 13;
+
+ int TRUE = 14;
+
+ int FALSE = 15;
+
+ int NULL = 16;
+
+ int END_EXPRESSION = 17;
+
+ int DOT = 18;
+
+ int LPAREN = 19;
+
+ int RPAREN = 20;
+
+ int LBRACK = 21;
+
+ int RBRACK = 22;
+
+ int COLON = 23;
+
+ int COMMA = 24;
+
+ int GT0 = 25;
+
+ int GT1 = 26;
+
+ int LT0 = 27;
+
+ int LT1 = 28;
+
+ int GE0 = 29;
+
+ int GE1 = 30;
+
+ int LE0 = 31;
+
+ int LE1 = 32;
+
+ int EQ0 = 33;
+
+ int EQ1 = 34;
+
+ int NE0 = 35;
+
+ int NE1 = 36;
+
+ int NOT0 = 37;
+
+ int NOT1 = 38;
+
+ int AND0 = 39;
+
+ int AND1 = 40;
+
+ int OR0 = 41;
+
+ int OR1 = 42;
+
+ int EMPTY = 43;
+
+ int INSTANCEOF = 44;
+
+ int MULT = 45;
+
+ int PLUS = 46;
+
+ int MINUS = 47;
+
+ int QUESTIONMARK = 48;
+
+ int DIV0 = 49;
+
+ int DIV1 = 50;
+
+ int MOD0 = 51;
+
+ int MOD1 = 52;
+
+ int IDENTIFIER = 53;
+
+ int NAMESPACE = 54;
+
+ int FUNCTIONSUFFIX = 55;
+
+ int IMPL_OBJ_START = 56;
+
+ int LETTER = 57;
+
+ int DIGIT = 58;
+
+ int ILLEGAL_CHARACTER = 59;
+
+ int DEFAULT = 0;
+
+ int IN_EXPRESSION = 1;
+
+ String[] tokenImage = { "<EOF>", "<LITERAL_EXPRESSION>", "\"${\"",
+ "\"#{\"", "\"\\\\\"", "\" \"", "\"\\t\"", "\"\\n\"", "\"\\r\"",
+ "<INTEGER_LITERAL>", "<FLOATING_POINT_LITERAL>", "<EXPONENT>",
+ "<STRING_LITERAL>", "<BADLY_ESCAPED_STRING_LITERAL>", "\"true\"",
+ "\"false\"", "\"null\"", "\"}\"", "\".\"", "\"(\"", "\")\"",
+ "\"[\"", "\"]\"", "\":\"", "\",\"", "\">\"", "\"gt\"", "\"<\"",
+ "\"lt\"", "\">=\"", "\"ge\"", "\"<=\"", "\"le\"", "\"==\"",
+ "\"eq\"", "\"!=\"", "\"ne\"", "\"!\"", "\"not\"", "\"&&\"",
+ "\"and\"", "\"||\"", "\"or\"", "\"empty\"", "\"instanceof\"",
+ "\"*\"", "\"+\"", "\"-\"", "\"?\"", "\"/\"", "\"div\"", "\"%\"",
+ "\"mod\"", "<IDENTIFIER>", "<NAMESPACE>", "<FUNCTIONSUFFIX>",
+ "\"#\"", "<LETTER>", "<DIGIT>", "<ILLEGAL_CHARACTER>", };
}