Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
net.sourceforge.pmd.lang.jsp.ast.JspParserImpl Maven / Gradle / Ivy
/* Generated By:JJTree&JavaCC: Do not edit this line. JspParserImpl.java */
package net.sourceforge.pmd.lang.jsp.ast;
import static net.sourceforge.pmd.lang.jsp.ast.JspTokenKinds.*;
/**
* JSP Parser for PMD.
* @author Pieter, Application Engineers NV/SA, http://www.ae.be
* @deprecated Since 7.5.0. JspParserImpl should have been package private because this is an implementation class
* that should not be used directly.
*/
@Deprecated
public class JspParserImpl/*@bgen(jjtree)*/implements JspParserImplTreeConstants {/*@bgen(jjtree)*/
protected net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeBuilder jjtree = new net.sourceforge.pmd.lang.ast.impl.javacc.JjtreeBuilder();
/**
* Counter used to keep track of unclosed tags
*/
private OpenTagRegister tagRegister = new OpenTagRegister();
/**
* Return the contents of a quote.
* @param quote String - starting and ending with " or '
* @return String a substring of quote: quote without the first and list
* character.
*/
private static String quoteContent(String quote) {
return quote.substring(1, quote.length()-1);
}
/**
* Return the contents of a EL expression or a Value Binding expression.
* @param expression String - starting with ${ or #{ and ending with }
* @return String a substring of expression: expression without the first two and list
* characters.
*/
private static String expressionContent(String expression) {
return expression.substring(2, expression.length()-1).trim();
}
/** ******************************************************************** */
/** ************************* JSP GRAMMAR **************************** */
/** ******************************************************************** */
/**
* The root of the AST of a JSP.
*/
final public ASTCompilationUnit CompilationUnit() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) CompilationUnit */
ASTCompilationUnit jjtn000 = new ASTCompilationUnit(JJTCOMPILATIONUNIT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));
try {
Prolog();
Content();
jj_consume_token(0);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
{if (true) return jjtn000;}
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
/**
* The optional prolog of a JSP, including (xml) declarations and DTD.
*/
final public void Prolog() throws net.sourceforge.pmd.lang.ast.ParseException {
if (jj_2_1(2147483647)) {
label_1:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMENT_START:
case JSP_COMMENT_START:
;
break;
default:
jj_la1[0] = jj_gen;
break label_1;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMENT_START:
CommentTag();
break;
case JSP_COMMENT_START:
JspComment();
break;
default:
jj_la1[1] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
}
Declaration();
} else {
;
}
if (jj_2_2(2147483647)) {
label_2:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMENT_START:
case JSP_COMMENT_START:
;
break;
default:
jj_la1[2] = jj_gen;
break label_2;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMENT_START:
CommentTag();
break;
case JSP_COMMENT_START:
JspComment();
break;
default:
jj_la1[3] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
}
DoctypeDeclaration();
} else {
;
}
}
/**
* Everything between a start-tag and the corresponding end-tag of an element (if an end tag exists).
*/
final public void Content() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) Content */
ASTContent jjtn000 = new ASTContent(JJTCONTENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));
try {
label_3:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TAG_START:
case COMMENT_START:
case CDATA_START:
case JSP_COMMENT_START:
case JSP_DECLARATION_START:
case JSP_EXPRESSION_START:
case JSP_SCRIPTLET_START:
case JSP_DIRECTIVE_START:
case HTML_SCRIPT_START:
case EL_EXPRESSION:
case UNPARSED_TEXT:
;
break;
default:
jj_la1[4] = jj_gen;
break label_3;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EL_EXPRESSION:
case UNPARSED_TEXT:
Text();
break;
case TAG_START:
case COMMENT_START:
case CDATA_START:
case JSP_COMMENT_START:
case JSP_DECLARATION_START:
case JSP_EXPRESSION_START:
case JSP_SCRIPTLET_START:
case JSP_DIRECTIVE_START:
case HTML_SCRIPT_START:
ContentElement();
break;
default:
jj_la1[5] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
}
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
/**
* A single (non-text) element that can occur between a start-tag and end-tag of an element.
*
*/
final public void ContentElement() throws net.sourceforge.pmd.lang.ast.ParseException {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMENT_START:
CommentTag();
break;
case TAG_START:
Element();
break;
case CDATA_START:
CData();
break;
case JSP_COMMENT_START:
JspComment();
break;
case JSP_DECLARATION_START:
JspDeclaration();
break;
case JSP_EXPRESSION_START:
JspExpression();
break;
case JSP_SCRIPTLET_START:
JspScriptlet();
break;
case JSP_DIRECTIVE_START:
JspDirective();
break;
case HTML_SCRIPT_START:
HtmlScript();
break;
default:
jj_la1[6] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
}
final public void JspDirective() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspDirective */
ASTJspDirective jjtn000 = new ASTJspDirective(JJTJSPDIRECTIVE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(JSP_DIRECTIVE_START);
t = jj_consume_token(JSP_DIRECTIVE_NAME);
jjtn000.setName(t.getImage());
label_4:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case JSP_DIRECTIVE_ATTRIBUTE_NAME:
;
break;
default:
jj_la1[7] = jj_gen;
break label_4;
}
JspDirectiveAttribute();
}
jj_consume_token(JSP_DIRECTIVE_END);
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void JspDirectiveAttribute() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspDirectiveAttribute */
ASTJspDirectiveAttribute jjtn000 = new ASTJspDirectiveAttribute(JJTJSPDIRECTIVEATTRIBUTE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(JSP_DIRECTIVE_ATTRIBUTE_NAME);
jjtn000.setName(t.getImage());
jj_consume_token(JSP_DIRECTIVE_ATTRIBUTE_EQUALS);
t = jj_consume_token(JSP_DIRECTIVE_ATTRIBUTE_VALUE);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setValue(quoteContent(t.getImage()));
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void JspScriptlet() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspScriptlet */
ASTJspScriptlet jjtn000 = new ASTJspScriptlet(JJTJSPSCRIPTLET);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(JSP_SCRIPTLET_START);
t = jj_consume_token(JSP_SCRIPTLET);
jjtn000.setContent(t.getImage().trim());
jj_consume_token(JSP_SCRIPTLET_END);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void JspExpression() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspExpression */
ASTJspExpression jjtn000 = new ASTJspExpression(JJTJSPEXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(JSP_EXPRESSION_START);
t = jj_consume_token(JSP_EXPRESSION);
jjtn000.setContent(t.getImage().trim());
jj_consume_token(JSP_EXPRESSION_END);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void JspDeclaration() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspDeclaration */
ASTJspDeclaration jjtn000 = new ASTJspDeclaration(JJTJSPDECLARATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(JSP_DECLARATION_START);
t = jj_consume_token(JSP_DECLARATION);
jjtn000.setContent(t.getImage().trim());
jj_consume_token(JSP_DECLARATION_END);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void JspComment() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspComment */
ASTJspComment jjtn000 = new ASTJspComment(JJTJSPCOMMENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(JSP_COMMENT_START);
t = jj_consume_token(JSP_COMMENT_CONTENT);
jjtn000.setContent(t.getImage().trim());
jj_consume_token(JSP_COMMENT_END);
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
/**
* This production groups all characters between two tags, where
* tag is an xml-tag "<...>" or a jsp-page-tag "<%...%>" or CDATA "<![CDATA[...]]>".
* Text consists of unparsed text and/or Expression Language expressions.
*/
final public void Text() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) Text */
ASTText jjtn000 = new ASTText(JJTTEXT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));StringBuilder content = new StringBuilder();
String tmp;
try {
label_5:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case UNPARSED_TEXT:
tmp = UnparsedText();
content.append(tmp);
break;
case EL_EXPRESSION:
tmp = ElExpression();
content.append(tmp);
break;
default:
jj_la1[8] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EL_EXPRESSION:
case UNPARSED_TEXT:
;
break;
default:
jj_la1[9] = jj_gen;
break label_5;
}
}
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(content.toString());
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public String UnparsedText() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) UnparsedText */
ASTUnparsedText jjtn000 = new ASTUnparsedText(JJTUNPARSEDTEXT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(UNPARSED_TEXT);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(t.getImage());
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
final public String UnparsedTextNoWhitespace() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) UnparsedText */
ASTUnparsedText jjtn000 = new ASTUnparsedText(JJTUNPARSEDTEXT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(UNPARSED_TEXT_NO_WHITESPACE);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(t.getImage());
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
/**
* Text that contains no single quotes, and that does not contain the start
* of a EL expression or value binding.
*/
final public String UnparsedTextNoSingleQuotes() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) UnparsedText */
ASTUnparsedText jjtn000 = new ASTUnparsedText(JJTUNPARSEDTEXT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(UNPARSED_TEXT_NO_SINGLE_QUOTES);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(t.getImage());
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
/**
* Text that contains no double quotes, and that does not contain the start
* of a EL expression or value binding.
*/
final public String UnparsedTextNoDoubleQuotes() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) UnparsedText */
ASTUnparsedText jjtn000 = new ASTUnparsedText(JJTUNPARSEDTEXT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(UNPARSED_TEXT_NO_DOUBLE_QUOTES);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(t.getImage());
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
/**
* An EL expression, not within an attribute value.
*/
final public String ElExpression() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) ElExpression */
ASTElExpression jjtn000 = new ASTElExpression(JJTELEXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(EL_EXPRESSION);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(expressionContent(t.getImage()));
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
final public String ValueBindingInAttribute() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) ValueBinding */
ASTValueBinding jjtn000 = new ASTValueBinding(JJTVALUEBINDING);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(VALUE_BINDING_IN_ATTRIBUTE);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(expressionContent(t.getImage()));
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
final public String ElExpressionInAttribute() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) ElExpression */
ASTElExpression jjtn000 = new ASTElExpression(JJTELEXPRESSION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(EL_EXPRESSION_IN_ATTRIBUTE);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(expressionContent(t.getImage()));
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
final public void CData() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) CData */
ASTCData jjtn000 = new ASTCData(JJTCDATA);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));StringBuilder content = new StringBuilder();
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(CDATA_START);
label_6:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case UNPARSED:
;
break;
default:
jj_la1[10] = jj_gen;
break label_6;
}
t = jj_consume_token(UNPARSED);
content.append(t.getImage());
}
jj_consume_token(CDATA_END);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(content.toString());
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
/**
* A XML element, either with a single empty tag, or with a starting and closing tag
* with optional contained content.
*/
final public void Element() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) Element */
ASTElement jjtn000 = new ASTElement(JJTELEMENT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken startTag;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken endTag;
String tagName;
try {
jj_consume_token(TAG_START);
startTag = jj_consume_token(TAG_NAME);
tagName = startTag.getImage();
jjtn000.setName(tagName);
tagRegister.openTag(jjtn000);
label_7:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ATTR_NAME:
;
break;
default:
jj_la1[11] = jj_gen;
break label_7;
}
Attribute();
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TAG_END:
jj_consume_token(TAG_END);
jjtn000.setEmpty(false);
Content();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ENDTAG_START:
jj_consume_token(ENDTAG_START);
endTag = jj_consume_token(TAG_NAME);
tagRegister.closeTag(endTag.getImage());
jj_consume_token(TAG_END);
break;
default:
jj_la1[12] = jj_gen;
;
}
break;
case TAG_SLASHEND:
jj_consume_token(TAG_SLASHEND);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setEmpty(true);
jjtn000.setUnclosed(false);
break;
default:
jj_la1[13] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void Attribute() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) Attribute */
ASTAttribute jjtn000 = new ASTAttribute(JJTATTRIBUTE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(ATTR_NAME);
jjtn000.setName(t.getImage());
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ATTR_EQ:
jj_consume_token(ATTR_EQ);
AttributeValue();
break;
default:
jj_la1[14] = jj_gen;
;
}
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
/**
* The value of an attribute of an element.
* EL expressions, JSF value bindings, and JSP expressions
* are parsed as sub-nodes of the AttributeValue node.
*/
final public void AttributeValue() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) AttributeValue */
ASTAttributeValue jjtn000 = new ASTAttributeValue(JJTATTRIBUTEVALUE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));StringBuilder content = new StringBuilder();
String tmp;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t = null ;
try {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case DOUBLE_QUOTE:
jj_consume_token(DOUBLE_QUOTE);
label_8:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EL_EXPRESSION_IN_ATTRIBUTE:
case VALUE_BINDING_IN_ATTRIBUTE:
case JSP_EXPRESSION_IN_ATTRIBUTE:
case UNPARSED_TEXT_NO_DOUBLE_QUOTES:
;
break;
default:
jj_la1[15] = jj_gen;
break label_8;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case UNPARSED_TEXT_NO_DOUBLE_QUOTES:
tmp = UnparsedTextNoDoubleQuotes();
break;
case EL_EXPRESSION_IN_ATTRIBUTE:
case VALUE_BINDING_IN_ATTRIBUTE:
case JSP_EXPRESSION_IN_ATTRIBUTE:
tmp = QuoteIndependentAttributeValueContent();
break;
default:
jj_la1[16] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
content.append(tmp);
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ENDING_DOUBLE_QUOTE:
jj_consume_token(ENDING_DOUBLE_QUOTE);
break;
case DOLLAR_OR_HASH_DOUBLE_QUOTE:
t = jj_consume_token(DOLLAR_OR_HASH_DOUBLE_QUOTE);
content.append(t.getImage().substring(0, 1));
break;
default:
jj_la1[17] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
break;
case SINGLE_QUOTE:
jj_consume_token(SINGLE_QUOTE);
label_9:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EL_EXPRESSION_IN_ATTRIBUTE:
case VALUE_BINDING_IN_ATTRIBUTE:
case JSP_EXPRESSION_IN_ATTRIBUTE:
case UNPARSED_TEXT_NO_SINGLE_QUOTES:
;
break;
default:
jj_la1[18] = jj_gen;
break label_9;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case UNPARSED_TEXT_NO_SINGLE_QUOTES:
tmp = UnparsedTextNoSingleQuotes();
break;
case EL_EXPRESSION_IN_ATTRIBUTE:
case VALUE_BINDING_IN_ATTRIBUTE:
case JSP_EXPRESSION_IN_ATTRIBUTE:
tmp = QuoteIndependentAttributeValueContent();
break;
default:
jj_la1[19] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
content.append(tmp);
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ENDING_SINGLE_QUOTE:
jj_consume_token(ENDING_SINGLE_QUOTE);
break;
case DOLLAR_OR_HASH_SINGLE_QUOTE:
t = jj_consume_token(DOLLAR_OR_HASH_SINGLE_QUOTE);
content.append(t.getImage().substring(0, 1));
break;
default:
jj_la1[20] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
break;
case NO_QUOTE_NO_WHITESPACE:
jj_consume_token(NO_QUOTE_NO_WHITESPACE);
label_10:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EL_EXPRESSION_IN_ATTRIBUTE:
case VALUE_BINDING_IN_ATTRIBUTE:
case JSP_EXPRESSION_IN_ATTRIBUTE:
case UNPARSED_TEXT_NO_WHITESPACE:
;
break;
default:
jj_la1[21] = jj_gen;
break label_10;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case UNPARSED_TEXT_NO_WHITESPACE:
tmp = UnparsedTextNoWhitespace();
break;
case EL_EXPRESSION_IN_ATTRIBUTE:
case VALUE_BINDING_IN_ATTRIBUTE:
case JSP_EXPRESSION_IN_ATTRIBUTE:
tmp = QuoteIndependentAttributeValueContent();
break;
default:
jj_la1[22] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
content.append(tmp);
}
jj_consume_token(ENDING_WHITESPACE);
break;
case IN_ATTR_WHITESPACE:
jj_consume_token(IN_ATTR_WHITESPACE);
break;
default:
jj_la1[23] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setValue( content.toString() );
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
/**
* Partial content of an attribute value that can contain all quotes.
* This groups EL expressions, value bindings, and JSP expressions.
*/
final public String QuoteIndependentAttributeValueContent() throws net.sourceforge.pmd.lang.ast.ParseException {
String tmp;
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case EL_EXPRESSION_IN_ATTRIBUTE:
tmp = ElExpressionInAttribute();
break;
case VALUE_BINDING_IN_ATTRIBUTE:
tmp = ValueBindingInAttribute();
break;
case JSP_EXPRESSION_IN_ATTRIBUTE:
tmp = JspExpressionInAttribute();
break;
default:
jj_la1[24] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
{if (true) return tmp;}
throw new Error("Missing return statement in function");
}
final public String JspExpressionInAttribute() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) JspExpressionInAttribute */
ASTJspExpressionInAttribute jjtn000 = new ASTJspExpressionInAttribute(JJTJSPEXPRESSIONINATTRIBUTE);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
t = jj_consume_token(JSP_EXPRESSION_IN_ATTRIBUTE);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(t.getImage().substring(3, t.getImage().length()-2).trim()); // without <% and %>
{if (true) return t.getImage();}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
throw new Error("Missing return statement in function");
}
final public void CommentTag() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) CommentTag */
ASTCommentTag jjtn000 = new ASTCommentTag(JJTCOMMENTTAG);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));StringBuilder content = new StringBuilder();
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(COMMENT_START);
label_11:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case COMMENT_TEXT:
;
break;
default:
jj_la1[25] = jj_gen;
break label_11;
}
t = jj_consume_token(COMMENT_TEXT);
content.append(t.getImage());
}
jj_consume_token(COMMENT_END);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(content.toString().trim());
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void Declaration() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) Declaration */
ASTDeclaration jjtn000 = new ASTDeclaration(JJTDECLARATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(DECL_START);
t = jj_consume_token(TAG_NAME);
jjtn000.setName(t.getImage());
label_12:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ATTR_NAME:
;
break;
default:
jj_la1[26] = jj_gen;
break label_12;
}
Attribute();
}
jj_consume_token(DECL_END);
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void DoctypeDeclaration() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) DoctypeDeclaration */
ASTDoctypeDeclaration jjtn000 = new ASTDoctypeDeclaration(JJTDOCTYPEDECLARATION);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(DOCTYPE_DECL_START);
jj_consume_token(WHITESPACES);
t = jj_consume_token(NAME);
jjtn000.setName(t.getImage());
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACES:
jj_consume_token(WHITESPACES);
break;
default:
jj_la1[27] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case PUBLIC:
case SYSTEM:
DoctypeExternalId();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHITESPACES:
jj_consume_token(WHITESPACES);
break;
default:
jj_la1[28] = jj_gen;
;
}
break;
default:
jj_la1[29] = jj_gen;
;
}
jj_consume_token(DOCTYPE_DECL_END);
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void DoctypeExternalId() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) DoctypeExternalId */
ASTDoctypeExternalId jjtn000 = new ASTDoctypeExternalId(JJTDOCTYPEEXTERNALID);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken systemLiteral;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken pubIdLiteral;
try {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case SYSTEM:
jj_consume_token(SYSTEM);
jj_consume_token(WHITESPACES);
systemLiteral = jj_consume_token(QUOTED_LITERAL);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setUri(quoteContent(systemLiteral.getImage()));
break;
case PUBLIC:
jj_consume_token(PUBLIC);
jj_consume_token(WHITESPACES);
pubIdLiteral = jj_consume_token(QUOTED_LITERAL);
jjtn000.setPublicId(quoteContent(pubIdLiteral.getImage()));
jj_consume_token(WHITESPACES);
systemLiteral = jj_consume_token(QUOTED_LITERAL);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setUri(quoteContent(systemLiteral.getImage()));
break;
default:
jj_la1[30] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
final public void HtmlScript() throws net.sourceforge.pmd.lang.ast.ParseException {
/*@bgen(jjtree) HtmlScript */
ASTHtmlScript jjtn000 = new ASTHtmlScript(JJTHTMLSCRIPT);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000, getToken(1));StringBuilder content = new StringBuilder();
String tagName;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t;
try {
jj_consume_token(HTML_SCRIPT_START);
label_13:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ATTR_NAME:
;
break;
default:
jj_la1[31] = jj_gen;
break label_13;
}
Attribute();
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case TAG_END:
jj_consume_token(TAG_END);
token_source.SwitchTo(HtmlScriptContentState);
label_14:
while (true) {
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case HTML_SCRIPT_CONTENT:
;
break;
default:
jj_la1[32] = jj_gen;
break label_14;
}
t = jj_consume_token(HTML_SCRIPT_CONTENT);
content.append(t.getImage());
}
jj_consume_token(HTML_SCRIPT_END_TAG);
jjtree.closeNodeScope(jjtn000, true, getToken(0));
jjtc000 = false;
jjtn000.setContent(content.toString().trim());
break;
case TAG_SLASHEND:
jj_consume_token(TAG_SLASHEND);
break;
default:
jj_la1[33] = jj_gen;
jj_consume_token(-1);
throw net.sourceforge.pmd.util.AssertionUtil.shouldNotReachHere("consumetoken(-1) should have thrown");
}
} 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 net.sourceforge.pmd.lang.ast.ParseException) {
{if (true) throw (net.sourceforge.pmd.lang.ast.ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true, getToken(0));
}
}
}
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); }
}
private boolean jj_2_2(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_2(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(1, xla); }
}
private boolean jj_3R_23() {
if (jj_3R_26()) return true;
return false;
}
private boolean jj_3R_57() {
if (jj_scan_token(JSP_EXPRESSION_IN_ATTRIBUTE)) return true;
return false;
}
private boolean jj_3R_54() {
if (jj_3R_57()) return true;
return false;
}
private boolean jj_3R_53() {
if (jj_3R_56()) return true;
return false;
}
private boolean jj_3R_52() {
if (jj_3R_55()) return true;
return false;
}
private boolean jj_3R_20() {
if (jj_3R_26()) return true;
return false;
}
private boolean jj_3R_51() {
if (jj_scan_token(UNPARSED_TEXT_NO_WHITESPACE)) return true;
return false;
}
private boolean jj_3R_46() {
if (jj_3R_51()) return true;
return false;
}
private boolean jj_3R_49() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_52()) {
jj_scanpos = xsp;
if (jj_3R_53()) {
jj_scanpos = xsp;
if (jj_3R_54()) return true;
}
}
return false;
}
private boolean jj_3R_41() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_46()) {
jj_scanpos = xsp;
if (jj_3R_47()) return true;
}
return false;
}
private boolean jj_3R_22() {
if (jj_3R_25()) return true;
return false;
}
private boolean jj_3R_17() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_22()) {
jj_scanpos = xsp;
if (jj_3R_23()) return true;
}
return false;
}
private boolean jj_3R_40() {
if (jj_scan_token(DOLLAR_OR_HASH_SINGLE_QUOTE)) return true;
return false;
}
private boolean jj_3_2() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_17()) { jj_scanpos = xsp; break; }
}
if (jj_3R_18()) return true;
return false;
}
private boolean jj_3R_44() {
if (jj_3R_50()) return true;
return false;
}
private boolean jj_3R_38() {
if (jj_scan_token(DOLLAR_OR_HASH_DOUBLE_QUOTE)) return true;
return false;
}
private boolean jj_3R_39() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_44()) {
jj_scanpos = xsp;
if (jj_3R_45()) return true;
}
return false;
}
private boolean jj_3R_15() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_19()) {
jj_scanpos = xsp;
if (jj_3R_20()) return true;
}
return false;
}
private boolean jj_3R_19() {
if (jj_3R_25()) return true;
return false;
}
private boolean jj_3R_43() {
if (jj_3R_49()) return true;
return false;
}
private boolean jj_3_1() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_15()) { jj_scanpos = xsp; break; }
}
if (jj_3R_16()) return true;
return false;
}
private boolean jj_3R_36() {
if (jj_scan_token(NO_QUOTE_NO_WHITESPACE)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_41()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(ENDING_WHITESPACE)) return true;
return false;
}
private boolean jj_3R_42() {
if (jj_3R_48()) return true;
return false;
}
private boolean jj_3R_37() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_42()) {
jj_scanpos = xsp;
if (jj_3R_43()) return true;
}
return false;
}
private boolean jj_3R_35() {
if (jj_scan_token(SINGLE_QUOTE)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_39()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_scan_token(76)) {
jj_scanpos = xsp;
if (jj_3R_40()) return true;
}
return false;
}
private boolean jj_3R_55() {
if (jj_scan_token(EL_EXPRESSION_IN_ATTRIBUTE)) return true;
return false;
}
private boolean jj_3R_32() {
if (jj_scan_token(PUBLIC)) return true;
if (jj_scan_token(WHITESPACES)) return true;
if (jj_scan_token(QUOTED_LITERAL)) return true;
if (jj_scan_token(WHITESPACES)) return true;
if (jj_scan_token(QUOTED_LITERAL)) return true;
return false;
}
private boolean jj_3R_34() {
if (jj_scan_token(DOUBLE_QUOTE)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_37()) { jj_scanpos = xsp; break; }
}
xsp = jj_scanpos;
if (jj_scan_token(79)) {
jj_scanpos = xsp;
if (jj_3R_38()) return true;
}
return false;
}
private boolean jj_3R_26() {
if (jj_scan_token(JSP_COMMENT_START)) return true;
if (jj_scan_token(JSP_COMMENT_CONTENT)) return true;
if (jj_scan_token(JSP_COMMENT_END)) return true;
return false;
}
private boolean jj_3R_28() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_31()) {
jj_scanpos = xsp;
if (jj_3R_32()) return true;
}
return false;
}
private boolean jj_3R_31() {
if (jj_scan_token(SYSTEM)) return true;
if (jj_scan_token(WHITESPACES)) return true;
if (jj_scan_token(QUOTED_LITERAL)) return true;
return false;
}
private boolean jj_3R_56() {
if (jj_scan_token(VALUE_BINDING_IN_ATTRIBUTE)) return true;
return false;
}
private boolean jj_3R_33() {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_34()) {
jj_scanpos = xsp;
if (jj_3R_35()) {
jj_scanpos = xsp;
if (jj_3R_36()) {
jj_scanpos = xsp;
if (jj_scan_token(70)) return true;
}
}
}
return false;
}
private boolean jj_3R_24() {
if (jj_3R_28()) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_scan_token(51)) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_18() {
if (jj_scan_token(DOCTYPE_DECL_START)) return true;
if (jj_scan_token(WHITESPACES)) return true;
if (jj_scan_token(NAME)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_scan_token(51)) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3R_24()) jj_scanpos = xsp;
if (jj_scan_token(DOCTYPE_DECL_END)) return true;
return false;
}
private boolean jj_3R_30() {
if (jj_scan_token(ATTR_EQ)) return true;
if (jj_3R_33()) return true;
return false;
}
private boolean jj_3R_48() {
if (jj_scan_token(UNPARSED_TEXT_NO_DOUBLE_QUOTES)) return true;
return false;
}
private boolean jj_3R_47() {
if (jj_3R_49()) return true;
return false;
}
private boolean jj_3R_27() {
if (jj_scan_token(ATTR_NAME)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
xsp = jj_scanpos;
if (jj_3R_30()) jj_scanpos = xsp;
return false;
}
private boolean jj_3R_21() {
if (jj_3R_27()) return true;
return false;
}
private boolean jj_3R_45() {
if (jj_3R_49()) return true;
return false;
}
private boolean jj_3R_16() {
if (jj_scan_token(DECL_START)) return true;
if (jj_scan_token(TAG_NAME)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_21()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(DECL_END)) return true;
return false;
}
private boolean jj_3R_50() {
if (jj_scan_token(UNPARSED_TEXT_NO_SINGLE_QUOTES)) return true;
return false;
}
private boolean jj_3R_29() {
if (jj_scan_token(COMMENT_TEXT)) return true;
return false;
}
private boolean jj_3R_25() {
if (jj_scan_token(COMMENT_START)) return true;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3R_29()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(COMMENT_END)) return true;
return false;
}
/** Generated net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken Manager. */
public JspParserImplTokenManager token_source;
/** Current token. */
public net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken token;
/** Next token. */
public net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken jj_nt;
private int jj_ntk;
private net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken jj_scanpos, jj_lastpos;
private int jj_la;
private int jj_gen;
final private int[] jj_la1 = new int[34];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
static {
jj_la1_init_0();
jj_la1_init_1();
jj_la1_init_2();
}
private static void jj_la1_init_0() {
jj_la1_0 = new int[] {0x44000000,0x44000000,0x44000000,0x44000000,0xe5000000,0xe5000000,0xe5000000,0x0,0x0,0x0,0x0,0x0,0x2000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,};
}
private static void jj_la1_init_1() {
jj_la1_1 = new int[] {0x0,0x0,0x0,0x0,0x3f,0x3f,0xf,0x80,0x30,0x30,0x2000000,0x20000000,0x0,0x40000000,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20000000,0x80000,0x80000,0x600000,0x600000,0x20000000,0x0,0x40000000,};
}
private static void jj_la1_init_2() {
jj_la1_2 = new int[] {0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x2,0x10380,0x10380,0x28000,0x2380,0x2380,0x5000,0xb80,0xb80,0x78,0x380,0x80000,0x0,0x0,0x0,0x0,0x0,0x0,0x100000,0x1,};
}
final private JJCalls[] jj_2_rtns = new JJCalls[2];
private boolean jj_rescan = false;
private int jj_gc = 0;
/** Constructor with user supplied net.sourceforge.pmd.lang.ast.impl.javacc.CharStream. */
public JspParserImpl(net.sourceforge.pmd.lang.ast.impl.javacc.CharStream stream) {
token_source = new JspParserImplTokenManager(stream);
token = token_source.input_stream.getTokenDocument().open();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 34; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Reinitialise. */
public void ReInit(net.sourceforge.pmd.lang.ast.impl.javacc.CharStream stream) {
token_source.ReInit(stream);
token = token_source.input_stream.getTokenDocument().open();
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
for (int i = 0; i < 34; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Constructor with generated net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken Manager. */
public JspParserImpl(JspParserImplTokenManager tm) {
token_source = tm;
token = token_source.input_stream.getTokenDocument().open();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 34; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
/** Reinitialise. */
public void ReInit(JspParserImplTokenManager tm) {
token_source = tm;
token = token_source.input_stream.getTokenDocument().open();
jj_ntk = -1;
jjtree.reset();
jj_gen = 0;
for (int i = 0; i < 34; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
private net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken jj_consume_token(int kind) throws net.sourceforge.pmd.lang.ast.ParseException {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken oldToken;
if ((oldToken = token).next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
if (token.kind == kind) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
for (int i = 0; i < jj_2_rtns.length; i++) {
JJCalls c = jj_2_rtns[i];
while (c != null) {
if (c.gen < jj_gen) c.first = null;
c = c.next;
}
}
}
return token;
}
token = oldToken;
jj_kind = kind;
throw generateParseException();
}
static private final class LookaheadSuccess extends java.lang.Error { }
final private LookaheadSuccess jj_ls = new LookaheadSuccess();
private boolean jj_scan_token(int kind) {
if (jj_scanpos == jj_lastpos) {
jj_la--;
if (jj_scanpos.next == null) {
jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
} else {
jj_lastpos = jj_scanpos = jj_scanpos.next;
}
} else {
jj_scanpos = jj_scanpos.next;
}
if (jj_rescan) {
int i = 0; net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken tok = token;
while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
if (tok != null) jj_add_error_token(kind, i);
}
if (jj_scanpos.kind != kind) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
return false;
}
/** Get the next net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken. */
final public net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken getNextToken() {
if (token.next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
jj_gen++;
return token;
}
/** Get the specific net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken. */
final public net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken getToken(int index) {
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken t = token;
for (int i = 0; i < index; i++) {
if (t.next != null) t = t.next;
else t = t.next = token_source.getNextToken();
}
return t;
}
private int jj_ntk() {
if ((jj_nt=token.next) == null)
return (jj_ntk = (token.next=token_source.getNextToken()).kind);
else
return (jj_ntk = jj_nt.kind);
}
private java.util.List jj_expentries = new java.util.ArrayList();
private int[] jj_expentry;
private int jj_kind = -1;
private int[] jj_lasttokens = new int[100];
private int jj_endpos;
private void jj_add_error_token(int kind, int pos) {
if (pos >= 100) return;
if (pos == jj_endpos + 1) {
jj_lasttokens[jj_endpos++] = kind;
} else if (jj_endpos != 0) {
jj_expentry = new int[jj_endpos];
for (int i = 0; i < jj_endpos; i++) {
jj_expentry[i] = jj_lasttokens[i];
}
jj_entries_loop: for (java.util.Iterator> it = jj_expentries.iterator(); it.hasNext();) {
int[] oldentry = (int[])(it.next());
if (oldentry.length == jj_expentry.length) {
for (int i = 0; i < jj_expentry.length; i++) {
if (oldentry[i] != jj_expentry[i]) {
continue jj_entries_loop;
}
}
jj_expentries.add(jj_expentry);
break jj_entries_loop;
}
}
if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
}
}
/** Generate net.sourceforge.pmd.lang.ast.ParseException. */
public net.sourceforge.pmd.lang.ast.ParseException generateParseException() {
jj_expentries.clear();
boolean[] la1tokens = new boolean[86];
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
for (int i = 0; i < 34; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1< jj_gen) {
jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
switch (i) {
case 0: jj_3_1(); break;
case 1: jj_3_2(); break;
}
}
p = p.next;
} while (p != null);
} catch(LookaheadSuccess ls) { }
}
jj_rescan = false;
}
private void jj_save(int index, int xla) {
JJCalls p = jj_2_rtns[index];
while (p.gen > jj_gen) {
if (p.next == null) { p = p.next = new JJCalls(); break; }
p = p.next;
}
p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
}
static final class JJCalls {
int gen;
net.sourceforge.pmd.lang.ast.impl.javacc.JavaccToken first;
int arg;
JJCalls next;
}
}