Author: markt Date: Sat Sep 9 20:30:09 2006 New Revision: 441891 URL: http://svn.apache.org/viewvc?view=rev&rev=441891 Log: Tabs to 8 spaces. No other change.
Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELParser.java Modified: tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELParser.java URL: http://svn.apache.org/viewvc/tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELParser.java?view=diff&rev=441891&r1=441890&r2=441891 ============================================================================== --- tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELParser.java (original) +++ tomcat/jasper/tc5.5.x/src/share/org/apache/jasper/compiler/ELParser.java Sat Sep 9 20:30:09 2006 @@ -29,12 +29,12 @@ public class ELParser { - private Token curToken; // current token + private Token curToken; // current token private ELNode.Nodes expr; private ELNode.Nodes ELexpr; - private int index; // Current index of the expression - private String expression; // The EL expression - private boolean escapeBS; // is '\' an escape char in text outside EL? + private int index; // Current index of the expression + private String expression; // The EL expression + private boolean escapeBS; // is '\' an escape char in text outside EL? private static final String reservedWords[] = { "and", "div", "empty", "eq", "false", @@ -42,9 +42,9 @@ "ne", "not", "null", "or", "true"}; public ELParser(String expression) { - index = 0; - this.expression = expression; - expr = new ELNode.Nodes(); + index = 0; + this.expression = expression; + expr = new ELNode.Nodes(); } /** @@ -54,18 +54,18 @@ * @return Parsed EL expression in ELNode.Nodes */ public static ELNode.Nodes parse(String expression) { - ELParser parser = new ELParser(expression); - while (parser.hasNextChar()) { - String text = parser.skipUntilEL(); - if (text.length() > 0) { - parser.expr.add(new ELNode.Text(text)); - } - ELNode.Nodes elexpr = parser.parseEL(); - if (! elexpr.isEmpty()) { - parser.expr.add(new ELNode.Root(elexpr)); - } - } - return parser.expr; + ELParser parser = new ELParser(expression); + while (parser.hasNextChar()) { + String text = parser.skipUntilEL(); + if (text.length() > 0) { + parser.expr.add(new ELNode.Text(text)); + } + ELNode.Nodes elexpr = parser.parseEL(); + if (! elexpr.isEmpty()) { + parser.expr.add(new ELNode.Root(elexpr)); + } + } + return parser.expr; } /** @@ -76,66 +76,66 @@ */ private ELNode.Nodes parseEL() { - StringBuffer buf = new StringBuffer(); - ELexpr = new ELNode.Nodes(); - while (hasNext()) { - curToken = nextToken(); - if (curToken instanceof Char) { - if (curToken.toChar() == '}') { - break; - } - buf.append(curToken.toChar()); - } else { - // Output whatever is in buffer - if (buf.length() > 0) { - ELexpr.add(new ELNode.ELText(buf.toString())); - } - if (!parseFunction()) { - ELexpr.add(new ELNode.ELText(curToken.toString())); - } - } - } - if (buf.length() > 0) { - ELexpr.add(new ELNode.ELText(buf.toString())); - } + StringBuffer buf = new StringBuffer(); + ELexpr = new ELNode.Nodes(); + while (hasNext()) { + curToken = nextToken(); + if (curToken instanceof Char) { + if (curToken.toChar() == '}') { + break; + } + buf.append(curToken.toChar()); + } else { + // Output whatever is in buffer + if (buf.length() > 0) { + ELexpr.add(new ELNode.ELText(buf.toString())); + } + if (!parseFunction()) { + ELexpr.add(new ELNode.ELText(curToken.toString())); + } + } + } + if (buf.length() > 0) { + ELexpr.add(new ELNode.ELText(buf.toString())); + } - return ELexpr; + return ELexpr; } /** * Parse for a function * FunctionInvokation ::= (identifier ':')? identifier '(' - * (Expression (,Expression)*)? ')' + * (Expression (,Expression)*)? ')' * Note: currently we don't parse arguments */ private boolean parseFunction() { - if (! (curToken instanceof Id) || isELReserved(curToken.toString())) { - return false; - } - String s1 = null; // Function prefix - String s2 = curToken.toString(); // Function name - int mark = getIndex(); - if (hasNext()) { - Token t = nextToken(); - if (t.toChar() == ':') { - if (hasNext()) { - Token t2 = nextToken(); - if (t2 instanceof Id) { - s1 = s2; - s2 = t2.toString(); - if (hasNext()) { - t = nextToken(); - } - } - } - } - if (t.toChar() == '(') { - ELexpr.add(new ELNode.Function(s1, s2)); - return true; - } - } - setIndex(mark); - return false; + if (! (curToken instanceof Id) || isELReserved(curToken.toString())) { + return false; + } + String s1 = null; // Function prefix + String s2 = curToken.toString(); // Function name + int mark = getIndex(); + if (hasNext()) { + Token t = nextToken(); + if (t.toChar() == ':') { + if (hasNext()) { + Token t2 = nextToken(); + if (t2 instanceof Id) { + s1 = s2; + s2 = t2.toString(); + if (hasNext()) { + t = nextToken(); + } + } + } + } + if (t.toChar() == '(') { + ELexpr.add(new ELNode.Function(s1, s2)); + return true; + } + } + setIndex(mark); + return false; } /** @@ -165,37 +165,37 @@ * @return The text string up to the EL expression */ private String skipUntilEL() { - char prev = 0; - StringBuffer buf = new StringBuffer(); - while (hasNextChar()) { - char ch = nextChar(); - if (prev == '\\') { - prev = 0; - if (ch == '\\') { - buf.append('\\'); - if (!escapeBS) - prev = '\\'; - } else if (ch == '$') { - buf.append('$'); - } - // else error! - } else if (prev == '$') { - if (ch == '{') { - prev = 0; - break; - } - buf.append('$'); - buf.append(ch); - } else if (ch == '\\' || ch == '$') { - prev = ch; - } else { - buf.append(ch); - } - } - if (prev != 0) { - buf.append(prev); - } - return buf.toString(); + char prev = 0; + StringBuffer buf = new StringBuffer(); + while (hasNextChar()) { + char ch = nextChar(); + if (prev == '\\') { + prev = 0; + if (ch == '\\') { + buf.append('\\'); + if (!escapeBS) + prev = '\\'; + } else if (ch == '$') { + buf.append('$'); + } + // else error! + } else if (prev == '$') { + if (ch == '{') { + prev = 0; + break; + } + buf.append('$'); + buf.append(ch); + } else if (ch == '\\' || ch == '$') { + prev = ch; + } else { + buf.append(ch); + } + } + if (prev != 0) { + buf.append(prev); + } + return buf.toString(); } /* @@ -203,36 +203,36 @@ * than white spaces. */ private boolean hasNext() { - skipSpaces(); - return hasNextChar(); + skipSpaces(); + return hasNextChar(); } /* * @return The next token in the EL expression buffer. */ private Token nextToken() { - skipSpaces(); - if (hasNextChar()) { - char ch = nextChar(); - if (Character.isJavaIdentifierStart(ch)) { - StringBuffer buf = new StringBuffer(); - buf.append(ch); - while ((ch = peekChar()) != -1 && - Character.isJavaIdentifierPart(ch)) { - buf.append(ch); - nextChar(); - } - return new Id(buf.toString()); - } - - if (ch == '\'' || ch == '"') { - return parseQuotedChars(ch); - } else { - // For now... - return new Char(ch); - } - } - return null; + skipSpaces(); + if (hasNextChar()) { + char ch = nextChar(); + if (Character.isJavaIdentifierStart(ch)) { + StringBuffer buf = new StringBuffer(); + buf.append(ch); + while ((ch = peekChar()) != -1 && + Character.isJavaIdentifierPart(ch)) { + buf.append(ch); + nextChar(); + } + return new Id(buf.toString()); + } + + if (ch == '\'' || ch == '"') { + return parseQuotedChars(ch); + } else { + // For now... + return new Char(ch); + } + } + return null; } /* @@ -240,24 +240,24 @@ * '\\', and ('\"', or "\'") */ private Token parseQuotedChars(char quote) { - StringBuffer buf = new StringBuffer(); - buf.append(quote); - while (hasNextChar()) { - char ch = nextChar(); - if (ch == '\\') { - ch = nextChar(); - if (ch == '\\' || ch == quote) { - buf.append(ch); - } - // else error! - } else if (ch == quote) { - buf.append(ch); - break; - } else { - buf.append(ch); - } - } - return new QuotedString(buf.toString()); + StringBuffer buf = new StringBuffer(); + buf.append(quote); + while (hasNextChar()) { + char ch = nextChar(); + if (ch == '\\') { + ch = nextChar(); + if (ch == '\\' || ch == quote) { + buf.append(ch); + } + // else error! + } else if (ch == quote) { + buf.append(ch); + break; + } else { + buf.append(ch); + } + } + return new QuotedString(buf.toString()); } /* @@ -266,37 +266,37 @@ */ private void skipSpaces() { - while (hasNextChar()) { - if (expression.charAt(index) > ' ') - break; - index++; - } + while (hasNextChar()) { + if (expression.charAt(index) > ' ') + break; + index++; + } } private boolean hasNextChar() { - return index < expression.length(); + return index < expression.length(); } private char nextChar() { - if (index >= expression.length()) { - return (char)-1; - } - return expression.charAt(index++); + if (index >= expression.length()) { + return (char)-1; + } + return expression.charAt(index++); } private char peekChar() { - if (index >= expression.length()) { - return (char)-1; - } - return expression.charAt(index); + if (index >= expression.length()) { + return (char)-1; + } + return expression.charAt(index); } private int getIndex() { - return index; + return index; } private void setIndex(int i) { - index = i; + index = i; } /* @@ -304,28 +304,28 @@ */ private static class Token { - char toChar() { - return 0; - } - - public String toString() { - return ""; - } + char toChar() { + return 0; + } + + public String toString() { + return ""; + } } /* * Represents an ID token in EL */ private static class Id extends Token { - String id; + String id; - Id(String id) { - this.id = id; - } - - public String toString() { - return id; - } + Id(String id) { + this.id = id; + } + + public String toString() { + return id; + } } /* @@ -333,19 +333,19 @@ */ private static class Char extends Token { - private char ch; + private char ch; + + Char(char ch) { + this.ch = ch; + } + + char toChar() { + return ch; + } - Char(char ch) { - this.ch = ch; - } - - char toChar() { - return ch; - } - - public String toString() { - return (new Character(ch)).toString(); - } + public String toString() { + return (new Character(ch)).toString(); + } } /* @@ -353,15 +353,15 @@ */ private static class QuotedString extends Token { - private String value; + private String value; - QuotedString(String v) { - this.value = v; - } - - public String toString() { - return value; - } + QuotedString(String v) { + this.value = v; + } + + public String toString() { + return value; + } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]