// $ANTLR 3.2 Sep 23, 2009 12:02:23 JSP.g 2019-11-14 15:50:28 | |
/** | |
* Copyright (c) 2010, 2019 Mia-Software and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v2.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/epl-v20.html | |
* | |
* Contributors: | |
* | |
* Nicolas Guyomar (Mia-Software) - initial API and implementation | |
* | |
*/ | |
package org.eclipse.modisco.jee.jsp.discoverer.parser; | |
import org.eclipse.modisco.infra.common.core.logging.MoDiscoLogger; | |
import org.eclipse.modisco.jee.jsp.*; | |
import org.eclipse.modisco.jee.jsp.impl.*; | |
import org.eclipse.modisco.xml.*; | |
import org.eclipse.modisco.xml.emf.MoDiscoXMLFactory; | |
import java.util.HashMap; | |
import org.eclipse.modisco.jee.jsp.discoverer.JspActivator; | |
import org.antlr.runtime.*; | |
import java.util.Stack; | |
import java.util.List; | |
import java.util.ArrayList; | |
public class JSPParser extends Parser { | |
public static final String[] tokenNames = new String[] { | |
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "XMLDECL", "DOCTYPE", "CDATA", "WS", "ID", "JSP_COMMENT", "LINE_COMMENT", "Digit", "SpecialCharacter", "DQUOTE", "SQUOTE", "DDOT", "EQUAL", "INTERNAL_DTD", "LETTER", "IDDigit", "WS2", "OPENCLOSE", "JSPTAGOPEN", "JSPTAGCLOSE", "JSPOPENEXPR", "JSPOPENDECL", "JSPOPENDIR", "JSPCLOSEACT", "JSPUSEBEAN", "JSPSET", "JSPGET", "JSPOPENINC", "JSPCLOSEINC", "JSPOPENFWD", "JSPCLOSEFWD", "JSPOPENPLUG", "JSPCLOSEPLUG", "JSPOPENFALL", "JSPCLOSEFALL", "JSPOPENPARA", "JSPOPENPARAS", "JSPCLOSEPARAS", "JSPOPENROOT", "JSPCLOSEROOT", "JSPOPENTEXT", "JSPCLOSETEXT", "JSPCLOSEATTR", "JSPOPENATTR", "JSPOPENBODY", "JSPCLOSEBODY", "JSPOPENINVOKE", "JSPOPENDOBODY", "JSPOPENOUTPUT", "JSPELEMENTOP", "OPENSCRIPLET", "CLOSESCRIPTLET", "OPENEXPR", "CLOSEEXPR", "OPENDECL", "CLOSEDECL", "OPENDIRECT", "OPENJSPCMT", "CLOSEJSPCMT", "OPENXMLCMT", "CLOSEXMLCMT", "XMLDECLOPEN", "'>'", "'<'", "'</jsp:element>'", "';'" | |
}; | |
public static final int DOCTYPE=5; | |
public static final int CLOSEXMLCMT=64; | |
public static final int JSPOPENATTR=47; | |
public static final int Digit=11; | |
public static final int OPENJSPCMT=61; | |
public static final int OPENDIRECT=60; | |
public static final int CLOSESCRIPTLET=55; | |
public static final int JSPOPENEXPR=24; | |
public static final int T__69=69; | |
public static final int OPENEXPR=56; | |
public static final int JSPUSEBEAN=28; | |
public static final int JSPCLOSEFALL=38; | |
public static final int JSPOPENDOBODY=51; | |
public static final int JSPCLOSEINC=32; | |
public static final int JSPCLOSEPLUG=36; | |
public static final int JSPOPENPARA=39; | |
public static final int JSPOPENROOT=42; | |
public static final int DQUOTE=13; | |
public static final int JSPOPENPLUG=35; | |
public static final int SQUOTE=14; | |
public static final int T__67=67; | |
public static final int JSPOPENPARAS=40; | |
public static final int CLOSEEXPR=57; | |
public static final int JSPCLOSEPARAS=41; | |
public static final int T__68=68; | |
public static final int OPENCLOSE=21; | |
public static final int JSPCLOSEACT=27; | |
public static final int XMLDECLOPEN=65; | |
public static final int JSPOPENDECL=25; | |
public static final int INTERNAL_DTD=17; | |
public static final int JSPOPENINC=31; | |
public static final int JSPSET=29; | |
public static final int JSPGET=30; | |
public static final int JSPOPENOUTPUT=52; | |
public static final int JSPCLOSEATTR=46; | |
public static final int OPENXMLCMT=63; | |
public static final int JSPCLOSETEXT=45; | |
public static final int ID=8; | |
public static final int JSPELEMENTOP=53; | |
public static final int LETTER=18; | |
public static final int JSPCLOSEFWD=34; | |
public static final int CDATA=6; | |
public static final int JSPOPENFWD=33; | |
public static final int JSPOPENTEXT=44; | |
public static final int SpecialCharacter=12; | |
public static final int WS=7; | |
public static final int JSPCLOSEROOT=43; | |
public static final int T__66=66; | |
public static final int JSPOPENFALL=37; | |
public static final int LINE_COMMENT=10; | |
public static final int JSPOPENINVOKE=50; | |
public static final int DDOT=15; | |
public static final int OPENDECL=58; | |
public static final int JSPOPENBODY=48; | |
public static final int EQUAL=16; | |
public static final int OPENSCRIPLET=54; | |
public static final int CLOSEJSPCMT=62; | |
public static final int EOF=-1; | |
public static final int JSPOPENDIR=26; | |
public static final int CLOSEDECL=59; | |
public static final int JSP_COMMENT=9; | |
public static final int IDDigit=19; | |
public static final int JSPTAGOPEN=22; | |
public static final int JSPTAGCLOSE=23; | |
public static final int JSPCLOSEBODY=49; | |
public static final int XMLDECL=4; | |
public static final int WS2=20; | |
// delegates | |
// delegators | |
public JSPParser(TokenStream input) { | |
this(input, new RecognizerSharedState()); | |
} | |
public JSPParser(TokenStream input, RecognizerSharedState state) { | |
super(input, state); | |
} | |
public String[] getTokenNames() { return JSPParser.tokenNames; } | |
public String getGrammarFileName() { return "JSP.g"; } | |
//This method redirect error messages from ANTLR to MoDisco Logger | |
@Override | |
public void displayRecognitionError(String[] tokenNames, | |
RecognitionException e) { | |
String hdr = getErrorHeader(e); | |
String msg = getErrorMessage(e, tokenNames); | |
MoDiscoLogger.logWarning("Parser error in "+this.page.getOriginalFilePath()+" "+hdr+" "+msg, JspActivator.getDefault()); | |
} | |
private JspFactory factory = new JspFactoryImpl(); | |
private MoDiscoXMLFactory xmlFactory = MoDiscoXMLFactory.eINSTANCE; | |
public String space = ""; | |
private ArrayList<Node> closedTagList = new ArrayList<Node>(); | |
private ArrayList<Node> tagList = new ArrayList<Node>(); | |
private ArrayList<Node> javaScriptParentList = new ArrayList<Node>(); | |
public Page page = factory.createPage(); | |
/** | |
* Method to factorize some code in the JavaScript rule | |
*/ | |
public void createJavascriptText(Element tag, String text){ | |
if(!text.equalsIgnoreCase("")){ | |
Text textElt = this.xmlFactory.createText(); | |
textElt.setName(text); | |
tag.getChildren().add(textElt); | |
} | |
} | |
/** | |
* Generic method which link a child to his parent | |
* @param parentPage The page itself | |
* @param parentTag The parent tag | |
* @param child The child | |
*/ | |
public void setParent( Element parentTag, Node child) { | |
if(parentTag!=null && child !=null) | |
{ | |
parentTag.getChildren().add(child); | |
} | |
else if(child!=null){ | |
//All tag are by default child of the page | |
this.page.getOwnedElements().add(child); | |
//We put all the tags in the list | |
tagList.add(child); | |
} | |
} | |
public void createAttributeText(Element att, String textContent){ | |
if(!textContent.equalsIgnoreCase("")&&att!=null){ | |
Text text = this.xmlFactory.createText(); | |
text.setName(textContent); | |
att.getChildren().add(text); | |
} | |
} | |
/** | |
* This method recreates the tree hierarchy of the file | |
* Given the name of a closing tag, it look in the list of all the | |
* encountered tags to find the opening one. Every tag between those two | |
* is considered to be a son of the opening one | |
* @param closeTagName the name of the closing tag encountered | |
*/ | |
public void resolveChild(String closeTagName) | |
{ | |
Element tag = null; | |
//We first need to check that this closed tag is a real one, meaning | |
//if it does have a openTag | |
int k = tagList.size()-1; | |
boolean isARealClosedTag = false; | |
while(k>=0) | |
{ | |
if(tagList.get(k)!=null){ | |
if(tagList.get(k) instanceof Element){ | |
tag = (Element) tagList.get(k); | |
//If we find the related open tag | |
if(tag.getName().equalsIgnoreCase(closeTagName)&& !closedTagList.contains(tag)){ | |
isARealClosedTag = true; | |
closedTagList.add(tag); | |
break; | |
} | |
} | |
} | |
k--; | |
} | |
int endIndex = tagList.size()-1; | |
int numberOfChildren = endIndex-k; | |
if(!tagList.isEmpty() && isARealClosedTag){ | |
for(int j=0;j<numberOfChildren;j++){ | |
tag.getChildren().add(tagList.get(k+1)); | |
tagList.remove(k+1); | |
} | |
} | |
//We are facing a closed element out of nowhere, but we still need to process it | |
else{ | |
Text elt =this.xmlFactory.createText(); | |
elt.setName("</"+closeTagName+">"); | |
this.page.getOwnedElements().add(elt); | |
} | |
} | |
/** | |
* This method concatenate every token contained within the beginning of the tag | |
* and the token matching the given token ID | |
* It is very usefull to retriveve content for JSP Scriplet for instance | |
* @param tokenID the ID of the closing token in the token list | |
* @param tag the tag we need the content for | |
*/ | |
public void getTagContent(int tokenID, Element tag){ | |
String text = ""; | |
loop1: | |
do { | |
//Avoid index out of bound exception | |
if(input.mark()== input.size()) | |
{ | |
break loop1; | |
} | |
if ( (input.LA(1)==tokenID) ) { | |
break loop1; | |
} | |
else{ | |
text+= space+input.get(input.mark()).getText(); | |
matchAny(input); | |
} | |
} while (true); | |
Text textElmt = xmlFactory.createText(); | |
while(text.startsWith("\n") ||text.startsWith(" ") ){ | |
text = text.substring(1); | |
} | |
textElmt.setName(text); | |
setParent(tag, textElmt); | |
tag.setName(""); | |
} | |
public JSPStdAction createJSPStdAction(Element parent,String name){ | |
JSPStdAction tag = this.factory.createJSPStdAction(); | |
setParent(parent, tag); | |
tag.setName(name); | |
return tag; | |
} | |
// $ANTLR start "page" | |
// JSP.g:233:1: page[String originalFilePath, String fileName] : ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] | text[null] | cData[null] )* ; | |
public final void page(String originalFilePath, String fileName) throws RecognitionException { | |
try { | |
// JSP.g:237:3: ( ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] | text[null] | cData[null] )* ) | |
// JSP.g:238:5: ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] | text[null] | cData[null] )* | |
{ | |
this.page.setOriginalFilePath(originalFilePath); | |
this.page.setName(fileName); | |
// JSP.g:242:5: ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] | text[null] | cData[null] )* | |
loop1: | |
do { | |
int alt1=9; | |
alt1 = dfa1.predict(input); | |
switch (alt1) { | |
case 1 : | |
// JSP.g:243:5: xmlDecl | |
{ | |
pushFollow(FOLLOW_xmlDecl_in_page82); | |
xmlDecl(); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:244:6: docType | |
{ | |
pushFollow(FOLLOW_docType_in_page90); | |
docType(); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:245:6: jsp_element[null] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_page98); | |
jsp_element(null); | |
state._fsp--; | |
} | |
break; | |
case 4 : | |
// JSP.g:246:6: tag[null] | |
{ | |
pushFollow(FOLLOW_tag_in_page106); | |
tag(null); | |
state._fsp--; | |
} | |
break; | |
case 5 : | |
// JSP.g:247:6: endtag | |
{ | |
pushFollow(FOLLOW_endtag_in_page114); | |
endtag(); | |
state._fsp--; | |
} | |
break; | |
case 6 : | |
// JSP.g:248:6: comment[null] | |
{ | |
pushFollow(FOLLOW_comment_in_page121); | |
comment(null); | |
state._fsp--; | |
} | |
break; | |
case 7 : | |
// JSP.g:249:6: text[null] | |
{ | |
pushFollow(FOLLOW_text_in_page132); | |
text(null); | |
state._fsp--; | |
} | |
break; | |
case 8 : | |
// JSP.g:250:6: cData[null] | |
{ | |
pushFollow(FOLLOW_cData_in_page140); | |
cData(null); | |
state._fsp--; | |
} | |
break; | |
default : | |
break loop1; | |
} | |
} while (true); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return ; | |
} | |
// $ANTLR end "page" | |
// $ANTLR start "xmlDecl" | |
// JSP.g:255:10: fragment xmlDecl : t= XMLDECL ; | |
public final void xmlDecl() throws RecognitionException { | |
Token t=null; | |
try { | |
// JSP.g:255:19: (t= XMLDECL ) | |
// JSP.g:255:22: t= XMLDECL | |
{ | |
t=(Token)match(input,XMLDECL,FOLLOW_XMLDECL_in_xmlDecl180); | |
this.page.setXmlDeclaration(t.getText()); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return ; | |
} | |
// $ANTLR end "xmlDecl" | |
// $ANTLR start "docType" | |
// JSP.g:258:10: fragment docType : t= DOCTYPE ; | |
public final void docType() throws RecognitionException { | |
Token t=null; | |
try { | |
// JSP.g:258:19: (t= DOCTYPE ) | |
// JSP.g:258:22: t= DOCTYPE | |
{ | |
t=(Token)match(input,DOCTYPE,FOLLOW_DOCTYPE_in_docType198); | |
this.page.setDoctype(t.getText()); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return ; | |
} | |
// $ANTLR end "docType" | |
// $ANTLR start "cData" | |
// JSP.g:263:10: fragment cData[Element parent] returns [CDATA tag] : cData2s= CDATA ; | |
public final CDATA cData(Element parent) throws RecognitionException { | |
CDATA tag = null; | |
Token cData2s=null; | |
try { | |
// JSP.g:264:3: (cData2s= CDATA ) | |
// JSP.g:265:9: cData2s= CDATA | |
{ | |
cData2s=(Token)match(input,CDATA,FOLLOW_CDATA_in_cData260); | |
tag = this.xmlFactory.createCDATA(); | |
tag.setName(cData2s.getText()); | |
setParent(parent, tag); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "cData" | |
// $ANTLR start "jsp_element" | |
// JSP.g:273:10: fragment jsp_element[Element parent] returns [Element tag] : ( jsp_scriplet[parent] | jsp_expression[parent] | jsp_declaration[parent] | jsp_action[ parent] | jsp_directive[parent] ); | |
public final Element jsp_element(Element parent) throws RecognitionException { | |
Element tag = null; | |
JSPScriptlet jsp_scriplet1 = null; | |
JSPExpression jsp_expression2 = null; | |
Element jsp_declaration3 = null; | |
JSPAction jsp_action4 = null; | |
Element jsp_directive5 = null; | |
try { | |
// JSP.g:274:3: ( jsp_scriplet[parent] | jsp_expression[parent] | jsp_declaration[parent] | jsp_action[ parent] | jsp_directive[parent] ) | |
int alt2=5; | |
switch ( input.LA(1) ) { | |
case JSPTAGOPEN: | |
case OPENSCRIPLET: | |
{ | |
alt2=1; | |
} | |
break; | |
case JSPOPENEXPR: | |
case OPENEXPR: | |
{ | |
alt2=2; | |
} | |
break; | |
case JSPOPENDECL: | |
case OPENDECL: | |
{ | |
alt2=3; | |
} | |
break; | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case 67: | |
{ | |
alt2=4; | |
} | |
break; | |
case JSPOPENDIR: | |
case OPENDIRECT: | |
{ | |
alt2=5; | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 2, 0, input); | |
throw nvae; | |
} | |
switch (alt2) { | |
case 1 : | |
// JSP.g:275:9: jsp_scriplet[parent] | |
{ | |
pushFollow(FOLLOW_jsp_scriplet_in_jsp_element316); | |
jsp_scriplet1=jsp_scriplet(parent); | |
state._fsp--; | |
tag=jsp_scriplet1; | |
} | |
break; | |
case 2 : | |
// JSP.g:276:10: jsp_expression[parent] | |
{ | |
pushFollow(FOLLOW_jsp_expression_in_jsp_element339); | |
jsp_expression2=jsp_expression(parent); | |
state._fsp--; | |
tag=jsp_expression2; | |
} | |
break; | |
case 3 : | |
// JSP.g:277:10: jsp_declaration[parent] | |
{ | |
pushFollow(FOLLOW_jsp_declaration_in_jsp_element354); | |
jsp_declaration3=jsp_declaration(parent); | |
state._fsp--; | |
tag=jsp_declaration3; | |
} | |
break; | |
case 4 : | |
// JSP.g:278:10: jsp_action[ parent] | |
{ | |
pushFollow(FOLLOW_jsp_action_in_jsp_element438); | |
jsp_action4=jsp_action(parent); | |
state._fsp--; | |
tag=jsp_action4; | |
} | |
break; | |
case 5 : | |
// JSP.g:279:10: jsp_directive[parent] | |
{ | |
pushFollow(FOLLOW_jsp_directive_in_jsp_element456); | |
jsp_directive5=jsp_directive(parent); | |
state._fsp--; | |
tag=jsp_directive5; | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_element" | |
// $ANTLR start "endtag" | |
// JSP.g:282:10: fragment endtag returns [Element tag] : '</' ( WS )? id1= ID ( ( WS )? ':' ( WS )? id2= ID )? ( WS )? '>' ; | |
public final Element endtag() throws RecognitionException { | |
Element tag = null; | |
Token id1=null; | |
Token id2=null; | |
try { | |
// JSP.g:283:3: ( '</' ( WS )? id1= ID ( ( WS )? ':' ( WS )? id2= ID )? ( WS )? '>' ) | |
// JSP.g:286:6: '</' ( WS )? id1= ID ( ( WS )? ':' ( WS )? id2= ID )? ( WS )? '>' | |
{ | |
match(input,OPENCLOSE,FOLLOW_OPENCLOSE_in_endtag526); | |
// JSP.g:286:11: ( WS )? | |
int alt3=2; | |
int LA3_0 = input.LA(1); | |
if ( (LA3_0==WS) ) { | |
alt3=1; | |
} | |
switch (alt3) { | |
case 1 : | |
// JSP.g:286:11: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_endtag528); | |
} | |
break; | |
} | |
id1=(Token)match(input,ID,FOLLOW_ID_in_endtag533); | |
// JSP.g:286:23: ( ( WS )? ':' ( WS )? id2= ID )? | |
int alt6=2; | |
int LA6_0 = input.LA(1); | |
if ( (LA6_0==WS) ) { | |
int LA6_1 = input.LA(2); | |
if ( (LA6_1==DDOT) ) { | |
alt6=1; | |
} | |
} | |
else if ( (LA6_0==DDOT) ) { | |
alt6=1; | |
} | |
switch (alt6) { | |
case 1 : | |
// JSP.g:286:24: ( WS )? ':' ( WS )? id2= ID | |
{ | |
// JSP.g:286:24: ( WS )? | |
int alt4=2; | |
int LA4_0 = input.LA(1); | |
if ( (LA4_0==WS) ) { | |
alt4=1; | |
} | |
switch (alt4) { | |
case 1 : | |
// JSP.g:286:24: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_endtag537); | |
} | |
break; | |
} | |
match(input,DDOT,FOLLOW_DDOT_in_endtag540); | |
// JSP.g:286:32: ( WS )? | |
int alt5=2; | |
int LA5_0 = input.LA(1); | |
if ( (LA5_0==WS) ) { | |
alt5=1; | |
} | |
switch (alt5) { | |
case 1 : | |
// JSP.g:286:32: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_endtag542); | |
} | |
break; | |
} | |
id2=(Token)match(input,ID,FOLLOW_ID_in_endtag547); | |
} | |
break; | |
} | |
// JSP.g:286:45: ( WS )? | |
int alt7=2; | |
int LA7_0 = input.LA(1); | |
if ( (LA7_0==WS) ) { | |
alt7=1; | |
} | |
switch (alt7) { | |
case 1 : | |
// JSP.g:286:45: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_endtag551); | |
} | |
break; | |
} | |
match(input,66,FOLLOW_66_in_endtag553); | |
String endTagName = id1.getText()+ (id2!=null?":"+id2.getText():"") ; //$NON-NLS-1$ | |
resolveChild(endTagName); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "endtag" | |
// $ANTLR start "tag" | |
// JSP.g:294:10: fragment tag[Element parent] returns [Element tag] : ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) ; | |
public final Element tag(Element parent) throws RecognitionException { | |
Element tag = null; | |
Token id1=null; | |
Element jsp = null; | |
try { | |
// JSP.g:295:3: ( ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) ) | |
// JSP.g:297:5: ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) | |
{ | |
// JSP.g:297:5: ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) | |
// JSP.g:298:5: '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) | |
{ | |
Boolean isJavascript = false; | |
match(input,67,FOLLOW_67_in_tag621); | |
// JSP.g:303:11: ( WS )? | |
int alt8=2; | |
int LA8_0 = input.LA(1); | |
if ( (LA8_0==WS) ) { | |
alt8=1; | |
} | |
switch (alt8) { | |
case 1 : | |
// JSP.g:303:11: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_tag623); | |
} | |
break; | |
} | |
id1=(Token)match(input,ID,FOLLOW_ID_in_tag628); | |
isJavascript = id1.getText().equalsIgnoreCase("script");//$NON-NLS-1$ | |
if(isJavascript) | |
{ | |
tag = this.factory.createJavaScript(); | |
String tmp = id1.getText() ; | |
// tag.setName(tmp); | |
setParent(parent,tag); | |
//We Should concatenate every token we found till we meet </script> | |
//But we do not want to declare "</script>" as a token because then it creates some problems | |
String text = "";//$NON-NLS-1$ | |
Boolean tagHeader = true; | |
loop1: | |
do { | |
if(input.LT(1).getText()!=null && input.LT(2).getText()!=null && input.LT(3).getText()!=null){ | |
//End of script tag | |
if (input.LT(1).getText().equalsIgnoreCase("</")//$NON-NLS-1$ | |
&& input.LT(2).getText().equalsIgnoreCase("script")//$NON-NLS-1$ | |
&& input.LT(3).getText().equalsIgnoreCase(">") ) //$NON-NLS-1$ | |
{ | |
//We need to consume the 3 next token for '</' 'script' '>' | |
input.consume(); | |
input.consume(); | |
input.consume(); | |
break loop1; | |
} | |
//end of the tag script element | |
else if(input.LT(1).getText().equalsIgnoreCase(">") && tagHeader)//$NON-NLS-1$ | |
{ | |
//We need to retrieve the content of the tag, eg : attributes | |
tag.setName(text); | |
//We do not want to change the title | |
tagHeader = false; | |
matchAny(input); | |
text=""; | |
} | |
else | |
{ | |
/**This is the part where occured the JSP element detection | |
* This part is static, meaning if some token's name is changed in the grammar rule | |
* it has to be manually changed here | |
**/ | |
switch ( input.LA(1) ) { | |
//SCRIPLET CASE | |
case JSPTAGOPEN: | |
case OPENSCRIPLET: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
jsp_scriplet(tag); | |
} | |
break; | |
//JSP EXPRESSION CASE | |
case JSPOPENEXPR: | |
case OPENEXPR: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
jsp_expression(tag); | |
} | |
break; | |
//JSP DECLARATION CASE | |
case JSPOPENDECL: | |
case OPENDECL: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
jsp_declaration(tag); | |
} | |
break; | |
//JSP STANDART ACTION CASE | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
jsp_action(tag); | |
} | |
break; | |
//JSP ACTION CASE | |
//The constant has to match to token id of the '<' caracter | |
case 67: | |
{ | |
if(input.LA(2) == ID && input.LA(3)==DDOT && input.LA(4)== ID){ | |
createJavascriptText(tag,text); text = ""; | |
jsp_action(tag); | |
} | |
else{ | |
text+=space+input.get(input.mark()).getText(); | |
matchAny(input); | |
} | |
} | |
break; | |
//JSP DIRECTIVE CASE | |
case JSPOPENDIR: | |
case OPENDIRECT: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
jsp_directive(tag); | |
} | |
break; | |
//JSP COMMENT CASE | |
case JSP_COMMENT: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
comment(tag); | |
} | |
break; | |
//Case of a closing tag | |
case 21: | |
{ | |
createJavascriptText(tag,text); text = ""; | |
Boolean parentFound = false; | |
String closingTagName=input.LT(2).getText()+ | |
input.LT(3).getText()+input.LT(4).getText(); | |
Node parentNode = null; | |
ArrayList<Node> toBeAdded = new ArrayList<Node>(); | |
for(Node node : tag.getChildren()){ | |
if(!parentFound){ | |
if(node.getName().equalsIgnoreCase(closingTagName)){ | |
parentFound = true; | |
parentNode = node; | |
} | |
}else | |
{ | |
toBeAdded.add(node); | |
} | |
} | |
for(Node child:toBeAdded){ | |
((Element)parentNode).getChildren().add(child); | |
} | |
input.consume(); | |
input.consume(); | |
input.consume(); | |
input.consume(); | |
input.consume(); | |
} | |
break; | |
default: | |
text+=space+input.get(input.mark()).getText(); | |
matchAny(input); | |
} | |
} | |
}else{ | |
//This case would appear if there is a problem in the file formation, or the | |
// abscence of the </script> tag | |
MoDiscoLogger.logInfo("The </script> was not detected ", JspActivator.getDefault()); | |
break loop1; | |
} | |
} while (true); | |
createJavascriptText(tag,text); text = ""; | |
return tag; | |
} | |
else | |
{ | |
tag = xmlFactory.createElement(); | |
} | |
String tmp = id1.getText() ; | |
tag.setName(tmp); | |
setParent(parent,tag); | |
// JSP.g:494:9: ( attribute[tag] | WS | jsp= jsp_element[tag] )* | |
loop9: | |
do { | |
int alt9=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt9=1; | |
} | |
break; | |
case WS: | |
{ | |
alt9=2; | |
} | |
break; | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 67: | |
{ | |
alt9=3; | |
} | |
break; | |
} | |
switch (alt9) { | |
case 1 : | |
// JSP.g:497:15: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_tag685); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:497:32: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_tag690); | |
} | |
break; | |
case 3 : | |
// JSP.g:499:15: jsp= jsp_element[tag] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_tag724); | |
jsp=jsp_element(tag); | |
state._fsp--; | |
//We need to know when a JSP element is contained in the tag | |
//or if it is just a casual children | |
if(jsp instanceof JSPScript){ | |
((JSPScript)jsp).setIsTagFragment(true); | |
} | |
else if(jsp instanceof JSPAction ){ | |
((JSPAction)jsp).setIsTagFragment(true); | |
} | |
else if(jsp instanceof JSPComment){ | |
((JSPComment)jsp).setIsTagFragment(true); | |
} | |
} | |
break; | |
default : | |
break loop9; | |
} | |
} while (true); | |
if ( input.LA(1)==JSPCLOSEACT||input.LA(1)==66 ) { | |
input.consume(); | |
state.errorRecovery=false; | |
} | |
else { | |
MismatchedSetException mse = new MismatchedSetException(null,input); | |
throw mse; | |
} | |
} | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "tag" | |
// $ANTLR start "jsp_scriplet" | |
// JSP.g:518:10: fragment jsp_scriplet[Element parent] returns [JSPScriptlet tag] : ( ( '<%' '%>' ) | ( '<jsp:scriptlet>' '</jsp:scriptlet>' ) ); | |
public final JSPScriptlet jsp_scriplet(Element parent) throws RecognitionException { | |
JSPScriptlet tag = null; | |
try { | |
// JSP.g:519:3: ( ( '<%' '%>' ) | ( '<jsp:scriptlet>' '</jsp:scriptlet>' ) ) | |
int alt10=2; | |
int LA10_0 = input.LA(1); | |
if ( (LA10_0==JSPTAGOPEN) ) { | |
alt10=1; | |
} | |
else if ( (LA10_0==OPENSCRIPLET) ) { | |
alt10=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 10, 0, input); | |
throw nvae; | |
} | |
switch (alt10) { | |
case 1 : | |
// JSP.g:521:11: ( '<%' '%>' ) | |
{ | |
// JSP.g:521:11: ( '<%' '%>' ) | |
// JSP.g:522:13: '<%' '%>' | |
{ | |
match(input,JSPTAGOPEN,FOLLOW_JSPTAGOPEN_in_jsp_scriplet860); | |
tag = this.factory.createJSPScriptlet(); | |
setParent(parent, tag); | |
getTagContent(JSPTAGCLOSE,tag); | |
match(input,JSPTAGCLOSE,FOLLOW_JSPTAGCLOSE_in_jsp_scriplet906); | |
} | |
} | |
break; | |
case 2 : | |
// JSP.g:534:10: ( '<jsp:scriptlet>' '</jsp:scriptlet>' ) | |
{ | |
// JSP.g:534:10: ( '<jsp:scriptlet>' '</jsp:scriptlet>' ) | |
// JSP.g:535:12: '<jsp:scriptlet>' '</jsp:scriptlet>' | |
{ | |
match(input,OPENSCRIPLET,FOLLOW_OPENSCRIPLET_in_jsp_scriplet992); | |
tag = this.factory.createJSPScriptlet(); | |
setParent( parent, tag); | |
getTagContent(CLOSESCRIPTLET,tag); | |
match(input,CLOSESCRIPTLET,FOLLOW_CLOSESCRIPTLET_in_jsp_scriplet1032); | |
} | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_scriplet" | |
// $ANTLR start "jsp_declaration" | |
// JSP.g:545:10: fragment jsp_declaration[Element parent] returns [Element tag] : ( ( '<%!' '%>' ) | ( '<jsp:declaration>' '</jsp:declaration>' ) ); | |
public final Element jsp_declaration(Element parent) throws RecognitionException { | |
Element tag = null; | |
try { | |
// JSP.g:546:3: ( ( '<%!' '%>' ) | ( '<jsp:declaration>' '</jsp:declaration>' ) ) | |
int alt11=2; | |
int LA11_0 = input.LA(1); | |
if ( (LA11_0==JSPOPENDECL) ) { | |
alt11=1; | |
} | |
else if ( (LA11_0==OPENDECL) ) { | |
alt11=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 11, 0, input); | |
throw nvae; | |
} | |
switch (alt11) { | |
case 1 : | |
// JSP.g:550:6: ( '<%!' '%>' ) | |
{ | |
// JSP.g:550:6: ( '<%!' '%>' ) | |
// JSP.g:551:9: '<%!' '%>' | |
{ | |
match(input,JSPOPENDECL,FOLLOW_JSPOPENDECL_in_jsp_declaration1100); | |
tag = this.factory.createJSPDeclaration(); | |
setParent(parent, tag); | |
getTagContent(JSPTAGCLOSE,tag); | |
match(input,JSPTAGCLOSE,FOLLOW_JSPTAGCLOSE_in_jsp_declaration1127); | |
} | |
} | |
break; | |
case 2 : | |
// JSP.g:562:6: ( '<jsp:declaration>' '</jsp:declaration>' ) | |
{ | |
// JSP.g:562:6: ( '<jsp:declaration>' '</jsp:declaration>' ) | |
// JSP.g:564:6: '<jsp:declaration>' '</jsp:declaration>' | |
{ | |
match(input,OPENDECL,FOLLOW_OPENDECL_in_jsp_declaration1174); | |
tag = this.factory.createJSPDeclaration(); | |
setParent( parent, tag); | |
getTagContent(CLOSEDECL,tag); | |
match(input,CLOSEDECL,FOLLOW_CLOSEDECL_in_jsp_declaration1198); | |
} | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_declaration" | |
// $ANTLR start "jsp_directive" | |
// JSP.g:574:10: fragment jsp_directive[Element parent] returns [Element tag] : ( '<%@' ( WS )? id1= ID ( attribute[tag] | WS )* '%>' | '<jsp:directive.' ( WS )? id2= ID ( attribute[tag] | WS )* '/>' ); | |
public final Element jsp_directive(Element parent) throws RecognitionException { | |
Element tag = null; | |
Token id1=null; | |
Token id2=null; | |
try { | |
// JSP.g:575:3: ( '<%@' ( WS )? id1= ID ( attribute[tag] | WS )* '%>' | '<jsp:directive.' ( WS )? id2= ID ( attribute[tag] | WS )* '/>' ) | |
int alt16=2; | |
int LA16_0 = input.LA(1); | |
if ( (LA16_0==JSPOPENDIR) ) { | |
alt16=1; | |
} | |
else if ( (LA16_0==OPENDIRECT) ) { | |
alt16=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 16, 0, input); | |
throw nvae; | |
} | |
switch (alt16) { | |
case 1 : | |
// JSP.g:578:4: '<%@' ( WS )? id1= ID ( attribute[tag] | WS )* '%>' | |
{ | |
match(input,JSPOPENDIR,FOLLOW_JSPOPENDIR_in_jsp_directive1240); | |
// JSP.g:578:10: ( WS )? | |
int alt12=2; | |
int LA12_0 = input.LA(1); | |
if ( (LA12_0==WS) ) { | |
alt12=1; | |
} | |
switch (alt12) { | |
case 1 : | |
// JSP.g:578:10: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_directive1242); | |
} | |
break; | |
} | |
id1=(Token)match(input,ID,FOLLOW_ID_in_jsp_directive1266); | |
if(id1.getText().equalsIgnoreCase("taglib")){//$NON-NLS-1$ | |
tag = this.factory.createJSPTagLib(); | |
}else{ | |
tag = this.factory.createJSPDirective(); | |
} | |
tag.setName(id1.getText()); | |
setParent( parent, tag); | |
// JSP.g:590:11: ( attribute[tag] | WS )* | |
loop13: | |
do { | |
int alt13=3; | |
int LA13_0 = input.LA(1); | |
if ( (LA13_0==ID) ) { | |
alt13=1; | |
} | |
else if ( (LA13_0==WS) ) { | |
alt13=2; | |
} | |
switch (alt13) { | |
case 1 : | |
// JSP.g:590:12: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_directive1294); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:590:27: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_directive1297); | |
} | |
break; | |
default : | |
break loop13; | |
} | |
} while (true); | |
match(input,JSPTAGCLOSE,FOLLOW_JSPTAGCLOSE_in_jsp_directive1315); | |
} | |
break; | |
case 2 : | |
// JSP.g:596:5: '<jsp:directive.' ( WS )? id2= ID ( attribute[tag] | WS )* '/>' | |
{ | |
tag = this.factory.createJSPDirective(); | |
setParent( parent, tag); | |
match(input,OPENDIRECT,FOLLOW_OPENDIRECT_in_jsp_directive1362); | |
// JSP.g:600:23: ( WS )? | |
int alt14=2; | |
int LA14_0 = input.LA(1); | |
if ( (LA14_0==WS) ) { | |
alt14=1; | |
} | |
switch (alt14) { | |
case 1 : | |
// JSP.g:600:23: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_directive1364); | |
} | |
break; | |
} | |
id2=(Token)match(input,ID,FOLLOW_ID_in_jsp_directive1369); | |
// JSP.g:600:34: ( attribute[tag] | WS )* | |
loop15: | |
do { | |
int alt15=3; | |
int LA15_0 = input.LA(1); | |
if ( (LA15_0==ID) ) { | |
alt15=1; | |
} | |
else if ( (LA15_0==WS) ) { | |
alt15=2; | |
} | |
switch (alt15) { | |
case 1 : | |
// JSP.g:600:35: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_directive1372); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:600:50: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_directive1375); | |
} | |
break; | |
default : | |
break loop15; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_directive1380); | |
tag.setName(id2.getText()); | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_directive" | |
// $ANTLR start "jsp_expression" | |
// JSP.g:606:10: fragment jsp_expression[Element parent] returns [JSPExpression tag] : ( ( '<%=' '%>' ) | ( '<jsp:expression>' '</jsp:expression>' ) ); | |
public final JSPExpression jsp_expression(Element parent) throws RecognitionException { | |
JSPExpression tag = null; | |
try { | |
// JSP.g:607:3: ( ( '<%=' '%>' ) | ( '<jsp:expression>' '</jsp:expression>' ) ) | |
int alt17=2; | |
int LA17_0 = input.LA(1); | |
if ( (LA17_0==JSPOPENEXPR) ) { | |
alt17=1; | |
} | |
else if ( (LA17_0==OPENEXPR) ) { | |
alt17=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 17, 0, input); | |
throw nvae; | |
} | |
switch (alt17) { | |
case 1 : | |
// JSP.g:609:8: ( '<%=' '%>' ) | |
{ | |
// JSP.g:609:8: ( '<%=' '%>' ) | |
// JSP.g:610:11: '<%=' '%>' | |
{ | |
match(input,JSPOPENEXPR,FOLLOW_JSPOPENEXPR_in_jsp_expression1435); | |
tag = this.factory.createJSPExpression(); | |
setParent( parent, tag); | |
getTagContent(JSPTAGCLOSE,tag); | |
match(input,JSPTAGCLOSE,FOLLOW_JSPTAGCLOSE_in_jsp_expression1475); | |
} | |
} | |
break; | |
case 2 : | |
// JSP.g:620:8: ( '<jsp:expression>' '</jsp:expression>' ) | |
{ | |
// JSP.g:620:8: ( '<jsp:expression>' '</jsp:expression>' ) | |
// JSP.g:621:12: '<jsp:expression>' '</jsp:expression>' | |
{ | |
match(input,OPENEXPR,FOLLOW_OPENEXPR_in_jsp_expression1525); | |
tag = this.factory.createJSPExpression(); | |
setParent( parent, tag); | |
getTagContent(CLOSEEXPR,tag); | |
match(input,CLOSEEXPR,FOLLOW_CLOSEEXPR_in_jsp_expression1570); | |
} | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_expression" | |
// $ANTLR start "jsp_action" | |
// JSP.g:632:10: fragment jsp_action[Element parent] returns [JSPAction tag] : ( ( '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) | jsp_standard_action[parent] ); | |
public final JSPAction jsp_action(Element parent) throws RecognitionException { | |
JSPAction tag = null; | |
Token id1=null; | |
Token id2=null; | |
Element jsp = null; | |
JSPStdAction jsp_standard_action6 = null; | |
try { | |
// JSP.g:633:3: ( ( '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) | jsp_standard_action[parent] ) | |
int alt22=2; | |
int LA22_0 = input.LA(1); | |
if ( (LA22_0==67) ) { | |
alt22=1; | |
} | |
else if ( ((LA22_0>=JSPUSEBEAN && LA22_0<=JSPOPENINC)||LA22_0==JSPOPENFWD||LA22_0==JSPOPENPLUG||LA22_0==JSPOPENROOT||LA22_0==JSPOPENTEXT||(LA22_0>=JSPOPENATTR && LA22_0<=JSPOPENBODY)||(LA22_0>=JSPOPENINVOKE && LA22_0<=JSPELEMENTOP)) ) { | |
alt22=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 22, 0, input); | |
throw nvae; | |
} | |
switch (alt22) { | |
case 1 : | |
// JSP.g:634:7: ( '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) | |
{ | |
// JSP.g:634:7: ( '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) ) | |
// JSP.g:635:8: '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' ) | |
{ | |
match(input,67,FOLLOW_67_in_jsp_action1625); | |
// JSP.g:635:12: ( WS )? | |
int alt18=2; | |
int LA18_0 = input.LA(1); | |
if ( (LA18_0==WS) ) { | |
alt18=1; | |
} | |
switch (alt18) { | |
case 1 : | |
// JSP.g:635:12: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_action1627); | |
} | |
break; | |
} | |
id1=(Token)match(input,ID,FOLLOW_ID_in_jsp_action1632); | |
// JSP.g:635:23: ( WS )? | |
int alt19=2; | |
int LA19_0 = input.LA(1); | |
if ( (LA19_0==WS) ) { | |
alt19=1; | |
} | |
switch (alt19) { | |
case 1 : | |
// JSP.g:635:23: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_action1634); | |
} | |
break; | |
} | |
match(input,DDOT,FOLLOW_DDOT_in_jsp_action1637); | |
// JSP.g:635:31: ( WS )? | |
int alt20=2; | |
int LA20_0 = input.LA(1); | |
if ( (LA20_0==WS) ) { | |
alt20=1; | |
} | |
switch (alt20) { | |
case 1 : | |
// JSP.g:635:31: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_action1639); | |
} | |
break; | |
} | |
id2=(Token)match(input,ID,FOLLOW_ID_in_jsp_action1644); | |
tag = this.factory.createJSPAction(); | |
tag.setName(id1.getText()+":"+id2.getText()); | |
setParent( parent, tag); | |
// JSP.g:641:9: ( attribute[tag] | WS | jsp= jsp_element[tag] )* | |
loop21: | |
do { | |
int alt21=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt21=1; | |
} | |
break; | |
case WS: | |
{ | |
alt21=2; | |
} | |
break; | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 67: | |
{ | |
alt21=3; | |
} | |
break; | |
} | |
switch (alt21) { | |
case 1 : | |
// JSP.g:642:17: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_action1681); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:643:19: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_action1704); | |
} | |
break; | |
case 3 : | |
// JSP.g:645:17: jsp= jsp_element[tag] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_jsp_action1743); | |
jsp=jsp_element(tag); | |
state._fsp--; | |
//We need to know when a JSP element is contained in the tag | |
//or if it is just a casual children | |
if(jsp instanceof JSPScript){ | |
((JSPScript)jsp).setIsTagFragment(true); | |
} | |
else if(jsp instanceof JSPAction ){ | |
((JSPAction)jsp).setIsTagFragment(true); | |
} | |
else if(jsp instanceof JSPComment){ | |
((JSPComment)jsp).setIsTagFragment(true); | |
} | |
} | |
break; | |
default : | |
break loop21; | |
} | |
} while (true); | |
if ( input.LA(1)==JSPCLOSEACT||input.LA(1)==66 ) { | |
input.consume(); | |
state.errorRecovery=false; | |
} | |
else { | |
MismatchedSetException mse = new MismatchedSetException(null,input); | |
throw mse; | |
} | |
} | |
} | |
break; | |
case 2 : | |
// JSP.g:664:4: jsp_standard_action[parent] | |
{ | |
pushFollow(FOLLOW_jsp_standard_action_in_jsp_action1816); | |
jsp_standard_action6=jsp_standard_action(parent); | |
state._fsp--; | |
tag=jsp_standard_action6; | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_action" | |
// $ANTLR start "jsp_standard_action" | |
// JSP.g:673:10: fragment jsp_standard_action[Element parent] returns [JSPStdAction tag] : ( jsp_include[parent] | jsp_plugin[parent] | jsp_getProperty[parent] | jsp_setProperty[parent] | jsp_useBean[parent] | jsp_forward[parent] | jsp_dobody[parent] | jsp_output[parent] | jsp_invoke[parent] | jsp_body[parent] | jsp_attribute[parent] | jsp_text[parent] | jsp_root[parent] | jsp_eltStdAct[parent] ); | |
public final JSPStdAction jsp_standard_action(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
JSPStdAction jsp_include7 = null; | |
JSPStdAction jsp_plugin8 = null; | |
JSPStdAction jsp_getProperty9 = null; | |
JSPStdAction jsp_setProperty10 = null; | |
JSPStdAction jsp_useBean11 = null; | |
JSPStdAction jsp_forward12 = null; | |
JSPStdAction jsp_dobody13 = null; | |
JSPStdAction jsp_output14 = null; | |
JSPStdAction jsp_invoke15 = null; | |
JSPStdAction jsp_body16 = null; | |
JSPStdAction jsp_attribute17 = null; | |
JSPStdAction jsp_text18 = null; | |
JSPStdAction jsp_root19 = null; | |
JSPStdAction jsp_eltStdAct20 = null; | |
try { | |
// JSP.g:674:3: ( jsp_include[parent] | jsp_plugin[parent] | jsp_getProperty[parent] | jsp_setProperty[parent] | jsp_useBean[parent] | jsp_forward[parent] | jsp_dobody[parent] | jsp_output[parent] | jsp_invoke[parent] | jsp_body[parent] | jsp_attribute[parent] | jsp_text[parent] | jsp_root[parent] | jsp_eltStdAct[parent] ) | |
int alt23=14; | |
switch ( input.LA(1) ) { | |
case JSPOPENINC: | |
{ | |
alt23=1; | |
} | |
break; | |
case JSPOPENPLUG: | |
{ | |
alt23=2; | |
} | |
break; | |
case JSPGET: | |
{ | |
alt23=3; | |
} | |
break; | |
case JSPSET: | |
{ | |
alt23=4; | |
} | |
break; | |
case JSPUSEBEAN: | |
{ | |
alt23=5; | |
} | |
break; | |
case JSPOPENFWD: | |
{ | |
alt23=6; | |
} | |
break; | |
case JSPOPENDOBODY: | |
{ | |
alt23=7; | |
} | |
break; | |
case JSPOPENOUTPUT: | |
{ | |
alt23=8; | |
} | |
break; | |
case JSPOPENINVOKE: | |
{ | |
alt23=9; | |
} | |
break; | |
case JSPOPENBODY: | |
{ | |
alt23=10; | |
} | |
break; | |
case JSPOPENATTR: | |
{ | |
alt23=11; | |
} | |
break; | |
case JSPOPENTEXT: | |
{ | |
alt23=12; | |
} | |
break; | |
case JSPOPENROOT: | |
{ | |
alt23=13; | |
} | |
break; | |
case JSPELEMENTOP: | |
{ | |
alt23=14; | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 23, 0, input); | |
throw nvae; | |
} | |
switch (alt23) { | |
case 1 : | |
// JSP.g:675:4: jsp_include[parent] | |
{ | |
pushFollow(FOLLOW_jsp_include_in_jsp_standard_action1850); | |
jsp_include7=jsp_include(parent); | |
state._fsp--; | |
tag=jsp_include7; | |
} | |
break; | |
case 2 : | |
// JSP.g:676:5: jsp_plugin[parent] | |
{ | |
pushFollow(FOLLOW_jsp_plugin_in_jsp_standard_action1864); | |
jsp_plugin8=jsp_plugin(parent); | |
state._fsp--; | |
tag=jsp_plugin8; | |
} | |
break; | |
case 3 : | |
// JSP.g:677:5: jsp_getProperty[parent] | |
{ | |
pushFollow(FOLLOW_jsp_getProperty_in_jsp_standard_action1878); | |
jsp_getProperty9=jsp_getProperty(parent); | |
state._fsp--; | |
tag=jsp_getProperty9; | |
} | |
break; | |
case 4 : | |
// JSP.g:678:5: jsp_setProperty[parent] | |
{ | |
pushFollow(FOLLOW_jsp_setProperty_in_jsp_standard_action1887); | |
jsp_setProperty10=jsp_setProperty(parent); | |
state._fsp--; | |
tag=jsp_setProperty10; | |
} | |
break; | |
case 5 : | |
// JSP.g:679:5: jsp_useBean[parent] | |
{ | |
pushFollow(FOLLOW_jsp_useBean_in_jsp_standard_action1896); | |
jsp_useBean11=jsp_useBean(parent); | |
state._fsp--; | |
tag=jsp_useBean11; | |
} | |
break; | |
case 6 : | |
// JSP.g:680:5: jsp_forward[parent] | |
{ | |
pushFollow(FOLLOW_jsp_forward_in_jsp_standard_action1909); | |
jsp_forward12=jsp_forward(parent); | |
state._fsp--; | |
tag=jsp_forward12; | |
} | |
break; | |
case 7 : | |
// JSP.g:681:5: jsp_dobody[parent] | |
{ | |
pushFollow(FOLLOW_jsp_dobody_in_jsp_standard_action1922); | |
jsp_dobody13=jsp_dobody(parent); | |
state._fsp--; | |
tag=jsp_dobody13; | |
} | |
break; | |
case 8 : | |
// JSP.g:682:5: jsp_output[parent] | |
{ | |
pushFollow(FOLLOW_jsp_output_in_jsp_standard_action1936); | |
jsp_output14=jsp_output(parent); | |
state._fsp--; | |
tag=jsp_output14; | |
} | |
break; | |
case 9 : | |
// JSP.g:683:5: jsp_invoke[parent] | |
{ | |
pushFollow(FOLLOW_jsp_invoke_in_jsp_standard_action1950); | |
jsp_invoke15=jsp_invoke(parent); | |
state._fsp--; | |
tag=jsp_invoke15; | |
} | |
break; | |
case 10 : | |
// JSP.g:684:5: jsp_body[parent] | |
{ | |
pushFollow(FOLLOW_jsp_body_in_jsp_standard_action1964); | |
jsp_body16=jsp_body(parent); | |
state._fsp--; | |
tag=jsp_body16; | |
} | |
break; | |
case 11 : | |
// JSP.g:685:5: jsp_attribute[parent] | |
{ | |
pushFollow(FOLLOW_jsp_attribute_in_jsp_standard_action1980); | |
jsp_attribute17=jsp_attribute(parent); | |
state._fsp--; | |
tag=jsp_attribute17; | |
} | |
break; | |
case 12 : | |
// JSP.g:686:5: jsp_text[parent] | |
{ | |
pushFollow(FOLLOW_jsp_text_in_jsp_standard_action1991); | |
jsp_text18=jsp_text(parent); | |
state._fsp--; | |
tag=jsp_text18; | |
} | |
break; | |
case 13 : | |
// JSP.g:687:5: jsp_root[parent] | |
{ | |
pushFollow(FOLLOW_jsp_root_in_jsp_standard_action2007); | |
jsp_root19=jsp_root(parent); | |
state._fsp--; | |
tag=jsp_root19; | |
} | |
break; | |
case 14 : | |
// JSP.g:688:5: jsp_eltStdAct[parent] | |
{ | |
pushFollow(FOLLOW_jsp_eltStdAct_in_jsp_standard_action2023); | |
jsp_eltStdAct20=jsp_eltStdAct(parent); | |
state._fsp--; | |
tag=jsp_eltStdAct20; | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_standard_action" | |
// $ANTLR start "jsp_eltStdAct" | |
// JSP.g:694:10: fragment jsp_eltStdAct[Element parent] returns [JSPStdAction tag] : '<jsp:element' ( attribute[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' ) ; | |
public final JSPStdAction jsp_eltStdAct(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:695:3: ( '<jsp:element' ( attribute[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' ) ) | |
// JSP.g:696:4: '<jsp:element' ( attribute[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' ) | |
{ | |
tag = createJSPStdAction(parent,"jsp:element");//$NON-NLS-1$ | |
match(input,JSPELEMENTOP,FOLLOW_JSPELEMENTOP_in_jsp_eltStdAct2070); | |
// JSP.g:700:22: ( attribute[tag] | WS )* | |
loop24: | |
do { | |
int alt24=3; | |
int LA24_0 = input.LA(1); | |
if ( (LA24_0==ID) ) { | |
alt24=1; | |
} | |
else if ( (LA24_0==WS) ) { | |
alt24=2; | |
} | |
switch (alt24) { | |
case 1 : | |
// JSP.g:700:23: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_eltStdAct2073); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:700:38: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_eltStdAct2076); | |
} | |
break; | |
default : | |
break loop24; | |
} | |
} while (true); | |
// JSP.g:702:7: ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' ) | |
int alt26=2; | |
int LA26_0 = input.LA(1); | |
if ( (LA26_0==JSPCLOSEACT) ) { | |
alt26=1; | |
} | |
else if ( (LA26_0==66) ) { | |
alt26=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 26, 0, input); | |
throw nvae; | |
} | |
switch (alt26) { | |
case 1 : | |
// JSP.g:703:7: '/>' | |
{ | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_eltStdAct2103); | |
} | |
break; | |
case 2 : | |
// JSP.g:705:7: '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' | |
{ | |
match(input,66,FOLLOW_66_in_jsp_eltStdAct2120); | |
// JSP.g:706:11: ( jsp_element[tag] | comment[tag] | WS )* | |
loop25: | |
do { | |
int alt25=4; | |
switch ( input.LA(1) ) { | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 67: | |
{ | |
alt25=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt25=2; | |
} | |
break; | |
case WS: | |
{ | |
alt25=3; | |
} | |
break; | |
} | |
switch (alt25) { | |
case 1 : | |
// JSP.g:706:12: jsp_element[tag] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_jsp_eltStdAct2139); | |
jsp_element(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:706:29: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_eltStdAct2142); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:706:43: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_eltStdAct2146); | |
} | |
break; | |
default : | |
break loop25; | |
} | |
} while (true); | |
match(input,68,FOLLOW_68_in_jsp_eltStdAct2165); | |
} | |
break; | |
} | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_eltStdAct" | |
// $ANTLR start "jsp_root" | |
// JSP.g:721:10: fragment jsp_root[Element parent] returns [JSPStdAction tag] : '<jsp:root' ( attribute[tag] | WS )* '>' ( comment[tag] | jsp_element[tag] | WS )* '</jsp:root>' ; | |
public final JSPStdAction jsp_root(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:722:3: ( '<jsp:root' ( attribute[tag] | WS )* '>' ( comment[tag] | jsp_element[tag] | WS )* '</jsp:root>' ) | |
// JSP.g:723:4: '<jsp:root' ( attribute[tag] | WS )* '>' ( comment[tag] | jsp_element[tag] | WS )* '</jsp:root>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:root");//$NON-NLS-1$ | |
match(input,JSPOPENROOT,FOLLOW_JSPOPENROOT_in_jsp_root2214); | |
// JSP.g:726:15: ( attribute[tag] | WS )* | |
loop27: | |
do { | |
int alt27=3; | |
int LA27_0 = input.LA(1); | |
if ( (LA27_0==ID) ) { | |
alt27=1; | |
} | |
else if ( (LA27_0==WS) ) { | |
alt27=2; | |
} | |
switch (alt27) { | |
case 1 : | |
// JSP.g:726:16: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_root2217); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:726:31: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_root2220); | |
} | |
break; | |
default : | |
break loop27; | |
} | |
} while (true); | |
match(input,66,FOLLOW_66_in_jsp_root2224); | |
// JSP.g:727:5: ( comment[tag] | jsp_element[tag] | WS )* | |
loop28: | |
do { | |
int alt28=4; | |
switch ( input.LA(1) ) { | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt28=1; | |
} | |
break; | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 67: | |
{ | |
alt28=2; | |
} | |
break; | |
case WS: | |
{ | |
alt28=3; | |
} | |
break; | |
} | |
switch (alt28) { | |
case 1 : | |
// JSP.g:727:6: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_root2231); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:727:19: jsp_element[tag] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_jsp_root2234); | |
jsp_element(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:727:36: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_root2237); | |
} | |
break; | |
default : | |
break loop28; | |
} | |
} while (true); | |
match(input,JSPCLOSEROOT,FOLLOW_JSPCLOSEROOT_in_jsp_root2243); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_root" | |
// $ANTLR start "jsp_include" | |
// JSP.g:731:10: fragment jsp_include[Element parent] returns [JSPStdAction tag] : '<jsp:include' ( attribute[tag] | WS )* ( '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | '/>' ) ; | |
public final JSPStdAction jsp_include(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:732:3: ( '<jsp:include' ( attribute[tag] | WS )* ( '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | '/>' ) ) | |
// JSP.g:733:5: '<jsp:include' ( attribute[tag] | WS )* ( '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | '/>' ) | |
{ | |
tag = createJSPStdAction(parent,"jsp:include");//$NON-NLS-1$ | |
match(input,JSPOPENINC,FOLLOW_JSPOPENINC_in_jsp_include2285); | |
// JSP.g:736:20: ( attribute[tag] | WS )* | |
loop29: | |
do { | |
int alt29=3; | |
int LA29_0 = input.LA(1); | |
if ( (LA29_0==ID) ) { | |
alt29=1; | |
} | |
else if ( (LA29_0==WS) ) { | |
alt29=2; | |
} | |
switch (alt29) { | |
case 1 : | |
// JSP.g:736:21: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_include2288); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:736:36: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_include2291); | |
} | |
break; | |
default : | |
break loop29; | |
} | |
} while (true); | |
// JSP.g:737:5: ( '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | '/>' ) | |
int alt31=2; | |
int LA31_0 = input.LA(1); | |
if ( (LA31_0==66) ) { | |
alt31=1; | |
} | |
else if ( (LA31_0==JSPCLOSEACT) ) { | |
alt31=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 31, 0, input); | |
throw nvae; | |
} | |
switch (alt31) { | |
case 1 : | |
// JSP.g:738:7: '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | |
{ | |
match(input,66,FOLLOW_66_in_jsp_include2308); | |
// JSP.g:739:9: ( jsp_param[tag] | comment[tag] | WS )* | |
loop30: | |
do { | |
int alt30=4; | |
switch ( input.LA(1) ) { | |
case JSPOPENPARA: | |
case JSPOPENPARAS: | |
{ | |
alt30=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt30=2; | |
} | |
break; | |
case WS: | |
{ | |
alt30=3; | |
} | |
break; | |
} | |
switch (alt30) { | |
case 1 : | |
// JSP.g:739:10: jsp_param[tag] | |
{ | |
pushFollow(FOLLOW_jsp_param_in_jsp_include2319); | |
jsp_param(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:739:27: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_include2324); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:739:40: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_include2327); | |
} | |
break; | |
default : | |
break loop30; | |
} | |
} while (true); | |
match(input,JSPCLOSEINC,FOLLOW_JSPCLOSEINC_in_jsp_include2338); | |
} | |
break; | |
case 2 : | |
// JSP.g:742:7: '/>' | |
{ | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_include2366); | |
} | |
break; | |
} | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_include" | |
// $ANTLR start "jsp_forward" | |
// JSP.g:746:10: fragment jsp_forward[Element parent] returns [JSPStdAction tag] : '<jsp:forward' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:forward>' ; | |
public final JSPStdAction jsp_forward(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:747:3: ( '<jsp:forward' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:forward>' ) | |
// JSP.g:748:5: '<jsp:forward' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:forward>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:forward");//$NON-NLS-1$ | |
match(input,JSPOPENFWD,FOLLOW_JSPOPENFWD_in_jsp_forward2409); | |
// JSP.g:751:20: ( attribute[tag] | WS )* | |
loop32: | |
do { | |
int alt32=3; | |
int LA32_0 = input.LA(1); | |
if ( (LA32_0==ID) ) { | |
alt32=1; | |
} | |
else if ( (LA32_0==WS) ) { | |
alt32=2; | |
} | |
switch (alt32) { | |
case 1 : | |
// JSP.g:751:21: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_forward2412); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:751:36: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_forward2415); | |
} | |
break; | |
default : | |
break loop32; | |
} | |
} while (true); | |
match(input,66,FOLLOW_66_in_jsp_forward2419); | |
// JSP.g:752:7: ( jsp_param[tag] | comment[tag] | WS )* | |
loop33: | |
do { | |
int alt33=4; | |
switch ( input.LA(1) ) { | |
case JSPOPENPARA: | |
case JSPOPENPARAS: | |
{ | |
alt33=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt33=2; | |
} | |
break; | |
case WS: | |
{ | |
alt33=3; | |
} | |
break; | |
} | |
switch (alt33) { | |
case 1 : | |
// JSP.g:752:8: jsp_param[tag] | |
{ | |
pushFollow(FOLLOW_jsp_param_in_jsp_forward2428); | |
jsp_param(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:752:25: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_forward2433); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:752:38: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_forward2436); | |
} | |
break; | |
default : | |
break loop33; | |
} | |
} while (true); | |
match(input,JSPCLOSEFWD,FOLLOW_JSPCLOSEFWD_in_jsp_forward2445); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_forward" | |
// $ANTLR start "jsp_plugin" | |
// JSP.g:768:10: fragment jsp_plugin[Element parent] returns [JSPStdAction tag] : '<jsp:plugin' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | jsp_fallback[tag] | comment[tag] | WS )* '</jsp:plugin>' ; | |
public final JSPStdAction jsp_plugin(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:769:3: ( '<jsp:plugin' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | jsp_fallback[tag] | comment[tag] | WS )* '</jsp:plugin>' ) | |
// JSP.g:770:5: '<jsp:plugin' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | jsp_fallback[tag] | comment[tag] | WS )* '</jsp:plugin>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:plugin");//$NON-NLS-1$ | |
match(input,JSPOPENPLUG,FOLLOW_JSPOPENPLUG_in_jsp_plugin2485); | |
// JSP.g:773:19: ( attribute[tag] | WS )* | |
loop34: | |
do { | |
int alt34=3; | |
int LA34_0 = input.LA(1); | |
if ( (LA34_0==ID) ) { | |
alt34=1; | |
} | |
else if ( (LA34_0==WS) ) { | |
alt34=2; | |
} | |
switch (alt34) { | |
case 1 : | |
// JSP.g:773:20: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_plugin2488); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:773:35: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_plugin2491); | |
} | |
break; | |
default : | |
break loop34; | |
} | |
} while (true); | |
match(input,66,FOLLOW_66_in_jsp_plugin2495); | |
// JSP.g:774:7: ( jsp_param[tag] | jsp_fallback[tag] | comment[tag] | WS )* | |
loop35: | |
do { | |
int alt35=5; | |
switch ( input.LA(1) ) { | |
case JSPOPENPARA: | |
case JSPOPENPARAS: | |
{ | |
alt35=1; | |
} | |
break; | |
case JSPOPENFALL: | |
{ | |
alt35=2; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt35=3; | |
} | |
break; | |
case WS: | |
{ | |
alt35=4; | |
} | |
break; | |
} | |
switch (alt35) { | |
case 1 : | |
// JSP.g:774:8: jsp_param[tag] | |
{ | |
pushFollow(FOLLOW_jsp_param_in_jsp_plugin2504); | |
jsp_param(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:774:25: jsp_fallback[tag] | |
{ | |
pushFollow(FOLLOW_jsp_fallback_in_jsp_plugin2509); | |
jsp_fallback(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:774:45: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_plugin2514); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 4 : | |
// JSP.g:774:58: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_plugin2517); | |
} | |
break; | |
default : | |
break loop35; | |
} | |
} while (true); | |
match(input,JSPCLOSEPLUG,FOLLOW_JSPCLOSEPLUG_in_jsp_plugin2526); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_plugin" | |
// $ANTLR start "jsp_fallback" | |
// JSP.g:781:10: fragment jsp_fallback[Element parent] returns [JSPStdAction tag] : '<jsp:fallback>' '</jsp:fallback>' ; | |
public final JSPStdAction jsp_fallback(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:782:3: ( '<jsp:fallback>' '</jsp:fallback>' ) | |
// JSP.g:783:5: '<jsp:fallback>' '</jsp:fallback>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:fallback");//$NON-NLS-1$ | |
match(input,JSPOPENFALL,FOLLOW_JSPOPENFALL_in_jsp_fallback2564); | |
getTagContent(JSPCLOSEFALL,tag); | |
match(input,JSPCLOSEFALL,FOLLOW_JSPCLOSEFALL_in_jsp_fallback2579); | |
tag.setName("jsp:fallback"); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_fallback" | |
// $ANTLR start "jsp_getProperty" | |
// JSP.g:795:10: fragment jsp_getProperty[Element parent] returns [JSPStdAction tag] : '<jsp:getProperty' ( attribute[tag] | comment[tag] | WS )* '/>' ; | |
public final JSPStdAction jsp_getProperty(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:796:3: ( '<jsp:getProperty' ( attribute[tag] | comment[tag] | WS )* '/>' ) | |
// JSP.g:797:5: '<jsp:getProperty' ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:getProperty");//$NON-NLS-1$ | |
match(input,JSPGET,FOLLOW_JSPGET_in_jsp_getProperty2628); | |
// JSP.g:800:24: ( attribute[tag] | comment[tag] | WS )* | |
loop36: | |
do { | |
int alt36=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt36=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt36=2; | |
} | |
break; | |
case WS: | |
{ | |
alt36=3; | |
} | |
break; | |
} | |
switch (alt36) { | |
case 1 : | |
// JSP.g:800:25: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_getProperty2631); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:800:40: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_getProperty2634); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:800:53: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_getProperty2637); | |
} | |
break; | |
default : | |
break loop36; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_getProperty2641); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_getProperty" | |
// $ANTLR start "jsp_setProperty" | |
// JSP.g:806:10: fragment jsp_setProperty[Element parent] returns [JSPStdAction tag] : '<jsp:setProperty' ( attribute[tag] | comment[tag] | WS )* '/>' ; | |
public final JSPStdAction jsp_setProperty(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:807:3: ( '<jsp:setProperty' ( attribute[tag] | comment[tag] | WS )* '/>' ) | |
// JSP.g:808:5: '<jsp:setProperty' ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:setProperty");//$NON-NLS-1$ | |
match(input,JSPSET,FOLLOW_JSPSET_in_jsp_setProperty2685); | |
// JSP.g:811:24: ( attribute[tag] | comment[tag] | WS )* | |
loop37: | |
do { | |
int alt37=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt37=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt37=2; | |
} | |
break; | |
case WS: | |
{ | |
alt37=3; | |
} | |
break; | |
} | |
switch (alt37) { | |
case 1 : | |
// JSP.g:811:25: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_setProperty2688); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:811:40: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_setProperty2691); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:811:53: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_setProperty2694); | |
} | |
break; | |
default : | |
break loop37; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_setProperty2698); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_setProperty" | |
// $ANTLR start "jsp_useBean" | |
// JSP.g:815:10: fragment jsp_useBean[Element parent] returns [JSPStdAction tag] : ( '<jsp:useBean' ) ( attribute[tag] | comment[tag] | WS )* '/>' ; | |
public final JSPStdAction jsp_useBean(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:816:3: ( ( '<jsp:useBean' ) ( attribute[tag] | comment[tag] | WS )* '/>' ) | |
// JSP.g:817:5: ( '<jsp:useBean' ) ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:useBean");//$NON-NLS-1$ | |
// JSP.g:820:5: ( '<jsp:useBean' ) | |
// JSP.g:820:6: '<jsp:useBean' | |
{ | |
match(input,JSPUSEBEAN,FOLLOW_JSPUSEBEAN_in_jsp_useBean2743); | |
} | |
// JSP.g:820:22: ( attribute[tag] | comment[tag] | WS )* | |
loop38: | |
do { | |
int alt38=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt38=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt38=2; | |
} | |
break; | |
case WS: | |
{ | |
alt38=3; | |
} | |
break; | |
} | |
switch (alt38) { | |
case 1 : | |
// JSP.g:820:23: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_useBean2747); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:820:38: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_useBean2750); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:820:51: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_useBean2753); | |
} | |
break; | |
default : | |
break loop38; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_useBean2757); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_useBean" | |
// $ANTLR start "jsp_param" | |
// JSP.g:824:10: fragment jsp_param[Element parent] returns [JSPStdAction tag] : ( '<jsp:param' ( attribute[tag] | comment[tag] | WS )* '/>' | '<jsp:params>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:params>' ); | |
public final JSPStdAction jsp_param(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:825:3: ( '<jsp:param' ( attribute[tag] | comment[tag] | WS )* '/>' | '<jsp:params>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:params>' ) | |
int alt41=2; | |
int LA41_0 = input.LA(1); | |
if ( (LA41_0==JSPOPENPARA) ) { | |
alt41=1; | |
} | |
else if ( (LA41_0==JSPOPENPARAS) ) { | |
alt41=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 41, 0, input); | |
throw nvae; | |
} | |
switch (alt41) { | |
case 1 : | |
// JSP.g:826:5: '<jsp:param' ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:param");//$NON-NLS-1$ | |
match(input,JSPOPENPARA,FOLLOW_JSPOPENPARA_in_jsp_param2797); | |
// JSP.g:829:18: ( attribute[tag] | comment[tag] | WS )* | |
loop39: | |
do { | |
int alt39=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt39=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt39=2; | |
} | |
break; | |
case WS: | |
{ | |
alt39=3; | |
} | |
break; | |
} | |
switch (alt39) { | |
case 1 : | |
// JSP.g:829:19: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_param2800); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:829:34: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_param2803); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:829:47: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_param2806); | |
} | |
break; | |
default : | |
break loop39; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_param2810); | |
} | |
break; | |
case 2 : | |
// JSP.g:831:5: '<jsp:params>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:params>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:params");//$NON-NLS-1$ | |
match(input,JSPOPENPARAS,FOLLOW_JSPOPENPARAS_in_jsp_param2838); | |
// JSP.g:834:20: ( jsp_param[tag] | comment[tag] | WS )* | |
loop40: | |
do { | |
int alt40=4; | |
switch ( input.LA(1) ) { | |
case JSPOPENPARA: | |
case JSPOPENPARAS: | |
{ | |
alt40=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt40=2; | |
} | |
break; | |
case WS: | |
{ | |
alt40=3; | |
} | |
break; | |
} | |
switch (alt40) { | |
case 1 : | |
// JSP.g:834:21: jsp_param[tag] | |
{ | |
pushFollow(FOLLOW_jsp_param_in_jsp_param2841); | |
jsp_param(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:834:36: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_param2844); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:834:49: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_param2847); | |
} | |
break; | |
default : | |
break loop40; | |
} | |
} while (true); | |
match(input,JSPCLOSEPARAS,FOLLOW_JSPCLOSEPARAS_in_jsp_param2851); | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_param" | |
// $ANTLR start "jsp_dobody" | |
// JSP.g:842:10: fragment jsp_dobody[Element parent] returns [JSPStdAction tag] : '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>' ; | |
public final JSPStdAction jsp_dobody(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:843:3: ( '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>' ) | |
// JSP.g:844:5: '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:doBody");//$NON-NLS-1$ | |
match(input,JSPOPENDOBODY,FOLLOW_JSPOPENDOBODY_in_jsp_dobody2885); | |
// JSP.g:847:19: ( attribute[tag] | comment[tag] | WS )* | |
loop42: | |
do { | |
int alt42=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt42=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt42=2; | |
} | |
break; | |
case WS: | |
{ | |
alt42=3; | |
} | |
break; | |
} | |
switch (alt42) { | |
case 1 : | |
// JSP.g:847:20: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_dobody2888); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:847:35: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_dobody2891); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:847:48: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_dobody2894); | |
} | |
break; | |
default : | |
break loop42; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_dobody2899); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_dobody" | |
// $ANTLR start "jsp_output" | |
// JSP.g:859:10: fragment jsp_output[Element parent] returns [JSPStdAction tag] : '<jsp:output' ( attribute[tag] | comment[tag] | WS )* '/>' ; | |
public final JSPStdAction jsp_output(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:860:3: ( '<jsp:output' ( attribute[tag] | comment[tag] | WS )* '/>' ) | |
// JSP.g:861:7: '<jsp:output' ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:output");//$NON-NLS-1$ | |
match(input,JSPOPENOUTPUT,FOLLOW_JSPOPENOUTPUT_in_jsp_output2938); | |
// JSP.g:864:21: ( attribute[tag] | comment[tag] | WS )* | |
loop43: | |
do { | |
int alt43=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt43=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt43=2; | |
} | |
break; | |
case WS: | |
{ | |
alt43=3; | |
} | |
break; | |
} | |
switch (alt43) { | |
case 1 : | |
// JSP.g:864:22: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_output2941); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:864:37: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_output2944); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:864:50: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_output2947); | |
} | |
break; | |
default : | |
break loop43; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_output2951); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_output" | |
// $ANTLR start "jsp_invoke" | |
// JSP.g:874:10: fragment jsp_invoke[Element parent] returns [JSPStdAction tag] : '<jsp:invoke' ( attribute[tag] | comment[tag] | WS )* '/>' ; | |
public final JSPStdAction jsp_invoke(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:875:3: ( '<jsp:invoke' ( attribute[tag] | comment[tag] | WS )* '/>' ) | |
// JSP.g:876:5: '<jsp:invoke' ( attribute[tag] | comment[tag] | WS )* '/>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:invoke");//$NON-NLS-1$ | |
match(input,JSPOPENINVOKE,FOLLOW_JSPOPENINVOKE_in_jsp_invoke2990); | |
// JSP.g:879:19: ( attribute[tag] | comment[tag] | WS )* | |
loop44: | |
do { | |
int alt44=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt44=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt44=2; | |
} | |
break; | |
case WS: | |
{ | |
alt44=3; | |
} | |
break; | |
} | |
switch (alt44) { | |
case 1 : | |
// JSP.g:879:20: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_invoke2993); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:879:35: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_invoke2996); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:879:48: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_invoke2999); | |
} | |
break; | |
default : | |
break loop44; | |
} | |
} while (true); | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_invoke3003); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_invoke" | |
// $ANTLR start "jsp_body" | |
// JSP.g:887:10: fragment jsp_body[Element parent] returns [JSPStdAction tag] : '<jsp:body>' ( text[tag] | jsp_element[tag] )* '</jsp:body>' ; | |
public final JSPStdAction jsp_body(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:888:3: ( '<jsp:body>' ( text[tag] | jsp_element[tag] )* '</jsp:body>' ) | |
// JSP.g:889:5: '<jsp:body>' ( text[tag] | jsp_element[tag] )* '</jsp:body>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:body");//$NON-NLS-1$ | |
match(input,JSPOPENBODY,FOLLOW_JSPOPENBODY_in_jsp_body3038); | |
// JSP.g:892:18: ( text[tag] | jsp_element[tag] )* | |
loop45: | |
do { | |
int alt45=3; | |
int LA45_0 = input.LA(1); | |
if ( ((LA45_0>=WS && LA45_0<=ID)||(LA45_0>=Digit && LA45_0<=EQUAL)) ) { | |
alt45=1; | |
} | |
else if ( (LA45_0==JSPTAGOPEN||(LA45_0>=JSPOPENEXPR && LA45_0<=JSPOPENDIR)||(LA45_0>=JSPUSEBEAN && LA45_0<=JSPOPENINC)||LA45_0==JSPOPENFWD||LA45_0==JSPOPENPLUG||LA45_0==JSPOPENROOT||LA45_0==JSPOPENTEXT||(LA45_0>=JSPOPENATTR && LA45_0<=JSPOPENBODY)||(LA45_0>=JSPOPENINVOKE && LA45_0<=OPENSCRIPLET)||LA45_0==OPENEXPR||LA45_0==OPENDECL||LA45_0==OPENDIRECT||LA45_0==67) ) { | |
alt45=2; | |
} | |
switch (alt45) { | |
case 1 : | |
// JSP.g:892:19: text[tag] | |
{ | |
pushFollow(FOLLOW_text_in_jsp_body3041); | |
text(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:892:29: jsp_element[tag] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_jsp_body3044); | |
jsp_element(tag); | |
state._fsp--; | |
} | |
break; | |
default : | |
break loop45; | |
} | |
} while (true); | |
match(input,JSPCLOSEBODY,FOLLOW_JSPCLOSEBODY_in_jsp_body3049); | |
tag.setName("jsp:body"); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_body" | |
// $ANTLR start "jsp_attribute" | |
// JSP.g:899:10: fragment jsp_attribute[Element parent] returns [JSPStdAction tag] : ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) ) ; | |
public final JSPStdAction jsp_attribute(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:900:3: ( ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) ) ) | |
// JSP.g:901:5: ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) ) | |
{ | |
tag = createJSPStdAction(parent,"jsp:attribute");//$NON-NLS-1$ | |
// JSP.g:904:5: ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) ) | |
// JSP.g:905:9: '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) | |
{ | |
match(input,JSPOPENATTR,FOLLOW_JSPOPENATTR_in_jsp_attribute3096); | |
// JSP.g:905:26: ( attribute[tag] | comment[tag] | WS )* | |
loop46: | |
do { | |
int alt46=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt46=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt46=2; | |
} | |
break; | |
case WS: | |
{ | |
alt46=3; | |
} | |
break; | |
} | |
switch (alt46) { | |
case 1 : | |
// JSP.g:905:27: attribute[tag] | |
{ | |
pushFollow(FOLLOW_attribute_in_jsp_attribute3099); | |
attribute(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:905:42: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_attribute3102); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:905:55: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_attribute3105); | |
} | |
break; | |
default : | |
break loop46; | |
} | |
} while (true); | |
// JSP.g:906:9: ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) | |
int alt48=2; | |
int LA48_0 = input.LA(1); | |
if ( (LA48_0==JSPCLOSEACT) ) { | |
alt48=1; | |
} | |
else if ( (LA48_0==66) ) { | |
alt48=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 48, 0, input); | |
throw nvae; | |
} | |
switch (alt48) { | |
case 1 : | |
// JSP.g:907:12: '/>' | |
{ | |
match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_attribute3131); | |
} | |
break; | |
case 2 : | |
// JSP.g:910:13: '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' | |
{ | |
match(input,66,FOLLOW_66_in_jsp_attribute3175); | |
// JSP.g:911:18: ( jsp_element[tag] | comment[tag] | WS )* | |
loop47: | |
do { | |
int alt47=4; | |
switch ( input.LA(1) ) { | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 67: | |
{ | |
alt47=1; | |
} | |
break; | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
{ | |
alt47=2; | |
} | |
break; | |
case WS: | |
{ | |
alt47=3; | |
} | |
break; | |
} | |
switch (alt47) { | |
case 1 : | |
// JSP.g:911:19: jsp_element[tag] | |
{ | |
pushFollow(FOLLOW_jsp_element_in_jsp_attribute3195); | |
jsp_element(tag); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:911:36: comment[tag] | |
{ | |
pushFollow(FOLLOW_comment_in_jsp_attribute3198); | |
comment(tag); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:911:49: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_jsp_attribute3201); | |
} | |
break; | |
default : | |
break loop47; | |
} | |
} while (true); | |
match(input,JSPCLOSEATTR,FOLLOW_JSPCLOSEATTR_in_jsp_attribute3217); | |
} | |
break; | |
} | |
} | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_attribute" | |
// $ANTLR start "jsp_text" | |
// JSP.g:923:10: fragment jsp_text[Element parent] returns [JSPStdAction tag] : '<jsp:text>' '</jsp:text>' ; | |
public final JSPStdAction jsp_text(Element parent) throws RecognitionException { | |
JSPStdAction tag = null; | |
try { | |
// JSP.g:924:3: ( '<jsp:text>' '</jsp:text>' ) | |
// JSP.g:925:5: '<jsp:text>' '</jsp:text>' | |
{ | |
tag = createJSPStdAction(parent,"jsp:text");//$NON-NLS-1$ | |
match(input,JSPOPENTEXT,FOLLOW_JSPOPENTEXT_in_jsp_text3269); | |
getTagContent(JSPCLOSETEXT,tag); | |
match(input,JSPCLOSETEXT,FOLLOW_JSPCLOSETEXT_in_jsp_text3273); | |
tag.setName("jsp:text"); //$NON-NLS-1$ | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_text" | |
// $ANTLR start "comment" | |
// JSP.g:939:10: fragment comment[Element parent] : ( jsp_comment[parent] | line_comment[parent] ); | |
public final void comment(Element parent) throws RecognitionException { | |
try { | |
// JSP.g:940:3: ( jsp_comment[parent] | line_comment[parent] ) | |
int alt49=2; | |
int LA49_0 = input.LA(1); | |
if ( (LA49_0==JSP_COMMENT) ) { | |
alt49=1; | |
} | |
else if ( (LA49_0==LINE_COMMENT) ) { | |
alt49=2; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 49, 0, input); | |
throw nvae; | |
} | |
switch (alt49) { | |
case 1 : | |
// JSP.g:941:5: jsp_comment[parent] | |
{ | |
pushFollow(FOLLOW_jsp_comment_in_comment3306); | |
jsp_comment(parent); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:941:25: line_comment[parent] | |
{ | |
pushFollow(FOLLOW_line_comment_in_comment3309); | |
line_comment(parent); | |
state._fsp--; | |
} | |
break; | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return ; | |
} | |
// $ANTLR end "comment" | |
// $ANTLR start "jsp_comment" | |
// JSP.g:944:10: fragment jsp_comment[Element parent] returns [JSPComment tag] : t= JSP_COMMENT ; | |
public final JSPComment jsp_comment(Element parent) throws RecognitionException { | |
JSPComment tag = null; | |
Token t=null; | |
try { | |
// JSP.g:945:3: (t= JSP_COMMENT ) | |
// JSP.g:946:5: t= JSP_COMMENT | |
{ | |
t=(Token)match(input,JSP_COMMENT,FOLLOW_JSP_COMMENT_in_jsp_comment3335); | |
tag = this.factory.createJSPComment(); | |
setParent(parent, tag); | |
tag.setName(t.getText()); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "jsp_comment" | |
// $ANTLR start "line_comment" | |
// JSP.g:954:10: fragment line_comment[Element parent] returns [Comment tag] : t= LINE_COMMENT ; | |
public final Comment line_comment(Element parent) throws RecognitionException { | |
Comment tag = null; | |
Token t=null; | |
try { | |
// JSP.g:955:3: (t= LINE_COMMENT ) | |
// JSP.g:956:4: t= LINE_COMMENT | |
{ | |
t=(Token)match(input,LINE_COMMENT,FOLLOW_LINE_COMMENT_in_line_comment3368); | |
tag = xmlFactory.createComment(); | |
setParent(parent, tag); | |
tag.setName(t.getText()); | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return tag; | |
} | |
// $ANTLR end "line_comment" | |
// $ANTLR start "text" | |
// JSP.g:965:10: fragment text[Element parent] returns [Text text] : (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL | ws= WS ) ; | |
public final Text text(Element parent) throws RecognitionException { | |
Text text = null; | |
Token id=null; | |
Token dig=null; | |
Token speChar=null; | |
Token ws=null; | |
try { | |
// JSP.g:966:3: ( (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL | ws= WS ) ) | |
// JSP.g:967:3: (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL | ws= WS ) | |
{ | |
String content = ""; | |
// JSP.g:970:3: (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL | ws= WS ) | |
int alt50=8; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt50=1; | |
} | |
break; | |
case Digit: | |
{ | |
alt50=2; | |
} | |
break; | |
case SpecialCharacter: | |
{ | |
alt50=3; | |
} | |
break; | |
case DQUOTE: | |
{ | |
alt50=4; | |
} | |
break; | |
case SQUOTE: | |
{ | |
alt50=5; | |
} | |
break; | |
case DDOT: | |
{ | |
alt50=6; | |
} | |
break; | |
case EQUAL: | |
{ | |
alt50=7; | |
} | |
break; | |
case WS: | |
{ | |
alt50=8; | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 50, 0, input); | |
throw nvae; | |
} | |
switch (alt50) { | |
case 1 : | |
// JSP.g:970:6: id= ID | |
{ | |
id=(Token)match(input,ID,FOLLOW_ID_in_text3412); | |
content+= id.getText(); | |
} | |
break; | |
case 2 : | |
// JSP.g:971:6: dig= Digit | |
{ | |
dig=(Token)match(input,Digit,FOLLOW_Digit_in_text3423); | |
content+= dig.getText(); | |
} | |
break; | |
case 3 : | |
// JSP.g:972:6: speChar= SpecialCharacter | |
{ | |
speChar=(Token)match(input,SpecialCharacter,FOLLOW_SpecialCharacter_in_text3434); | |
content+= speChar.getText(); | |
} | |
break; | |
case 4 : | |
// JSP.g:973:6: DQUOTE | |
{ | |
match(input,DQUOTE,FOLLOW_DQUOTE_in_text3443); | |
content+= "\""; | |
} | |
break; | |
case 5 : | |
// JSP.g:974:6: SQUOTE | |
{ | |
match(input,SQUOTE,FOLLOW_SQUOTE_in_text3452); | |
content+= "\'"; | |
} | |
break; | |
case 6 : | |
// JSP.g:975:6: DDOT | |
{ | |
match(input,DDOT,FOLLOW_DDOT_in_text3461); | |
content+= ":"; | |
} | |
break; | |
case 7 : | |
// JSP.g:976:6: EQUAL | |
{ | |
match(input,EQUAL,FOLLOW_EQUAL_in_text3472); | |
content+= "="; | |
} | |
break; | |
case 8 : | |
// JSP.g:977:6: ws= WS | |
{ | |
ws=(Token)match(input,WS,FOLLOW_WS_in_text3484); | |
if(!content.equalsIgnoreCase("")){ content+=ws.getText();} | |
} | |
break; | |
} | |
loop21: | |
do { | |
if(input.mark()== input.size()) | |
{ | |
break loop21; | |
} | |
switch ( input.LA(1) ) { | |
//The first case is the token number for character '<' | |
case 67: | |
case EOF: | |
case XMLDECL: | |
case DOCTYPE: | |
case JSPTAGOPEN: | |
case OPENSCRIPLET: | |
case JSPOPENEXPR: | |
case OPENEXPR: | |
case JSPOPENDECL: | |
case OPENDECL: | |
case JSPOPENINC: | |
case JSPOPENPLUG: | |
case JSPGET: | |
case JSPSET: | |
case JSPUSEBEAN: | |
case JSPOPENFWD: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPOPENINVOKE: | |
case JSPOPENBODY: | |
case JSPOPENATTR: | |
case JSPOPENTEXT: | |
case JSPOPENROOT: | |
case JSPELEMENTOP: | |
case JSPOPENDIR: | |
case OPENDIRECT: | |
case OPENCLOSE: | |
case JSP_COMMENT: | |
case LINE_COMMENT: | |
case JSPCLOSEBODY: | |
case CDATA: | |
{ | |
break loop21; | |
} | |
} | |
content+= space+input.get(input.mark()).getText(); //$NON-NLS-1$ | |
matchAny(input); | |
} while (true); | |
//We need to remove the \n character which appears at the beginning of | |
//each new line | |
while(content.startsWith("\n")){ | |
content = content.substring(1); | |
} | |
if(!content.equalsIgnoreCase("") && !content.equalsIgnoreCase("\n")){ | |
Text textElmt = xmlFactory.createText(); | |
textElmt.setName(content); | |
setParent(parent, textElmt); | |
} | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return text; | |
} | |
// $ANTLR end "text" | |
// $ANTLR start "attribute" | |
// JSP.g:1049:10: fragment attribute[Element parent] : name= ID ( ( WS )? ':' ( WS )? name2= ID )? ( ( WS )? '=' ( WS )? ( ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) ) )? ; | |
public final void attribute(Element parent) throws RecognitionException { | |
Token name=null; | |
Token name2=null; | |
Token t=null; | |
Token ws=null; | |
Token digit1=null; | |
Token id1=null; | |
Token digit2=null; | |
try { | |
// JSP.g:1050:3: (name= ID ( ( WS )? ':' ( WS )? name2= ID )? ( ( WS )? '=' ( WS )? ( ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) ) )? ) | |
// JSP.g:1051:5: name= ID ( ( WS )? ':' ( WS )? name2= ID )? ( ( WS )? '=' ( WS )? ( ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) ) )? | |
{ | |
String value=""; | |
Attribute xmlAttr = this.xmlFactory.createAttribute(); | |
ComposedAttribute compAttr = null; | |
name=(Token)match(input,ID,FOLLOW_ID_in_attribute3644); | |
// JSP.g:1069:13: ( ( WS )? ':' ( WS )? name2= ID )? | |
int alt53=2; | |
int LA53_0 = input.LA(1); | |
if ( (LA53_0==WS) ) { | |
int LA53_1 = input.LA(2); | |
if ( (LA53_1==DDOT) ) { | |
alt53=1; | |
} | |
} | |
else if ( (LA53_0==DDOT) ) { | |
alt53=1; | |
} | |
switch (alt53) { | |
case 1 : | |
// JSP.g:1069:14: ( WS )? ':' ( WS )? name2= ID | |
{ | |
// JSP.g:1069:14: ( WS )? | |
int alt51=2; | |
int LA51_0 = input.LA(1); | |
if ( (LA51_0==WS) ) { | |
alt51=1; | |
} | |
switch (alt51) { | |
case 1 : | |
// JSP.g:1069:14: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_attribute3647); | |
} | |
break; | |
} | |
match(input,DDOT,FOLLOW_DDOT_in_attribute3650); | |
// JSP.g:1069:22: ( WS )? | |
int alt52=2; | |
int LA52_0 = input.LA(1); | |
if ( (LA52_0==WS) ) { | |
alt52=1; | |
} | |
switch (alt52) { | |
case 1 : | |
// JSP.g:1069:22: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_attribute3652); | |
} | |
break; | |
} | |
name2=(Token)match(input,ID,FOLLOW_ID_in_attribute3657); | |
} | |
break; | |
} | |
String attributeName = name.getText(); | |
if(name2!=null){ | |
attributeName+=":"+name2.getText(); | |
} | |
xmlAttr.setName(attributeName); | |
// JSP.g:1080:6: ( ( WS )? '=' ( WS )? ( ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) ) )? | |
int alt66=2; | |
int LA66_0 = input.LA(1); | |
if ( (LA66_0==WS) ) { | |
int LA66_1 = input.LA(2); | |
if ( (LA66_1==EQUAL) ) { | |
alt66=1; | |
} | |
} | |
else if ( (LA66_0==EQUAL) ) { | |
alt66=1; | |
} | |
switch (alt66) { | |
case 1 : | |
// JSP.g:1080:7: ( WS )? '=' ( WS )? ( ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) ) | |
{ | |
// JSP.g:1080:7: ( WS )? | |
int alt54=2; | |
int LA54_0 = input.LA(1); | |
if ( (LA54_0==WS) ) { | |
alt54=1; | |
} | |
switch (alt54) { | |
case 1 : | |
// JSP.g:1080:7: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_attribute3693); | |
} | |
break; | |
} | |
match(input,EQUAL,FOLLOW_EQUAL_in_attribute3695); | |
// JSP.g:1080:13: ( WS )? | |
int alt55=2; | |
int LA55_0 = input.LA(1); | |
if ( (LA55_0==WS) ) { | |
alt55=1; | |
} | |
switch (alt55) { | |
case 1 : | |
// JSP.g:1080:13: WS | |
{ | |
match(input,WS,FOLLOW_WS_in_attribute3696); | |
} | |
break; | |
} | |
// JSP.g:1081:8: ( ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) ) | |
int alt65=3; | |
switch ( input.LA(1) ) { | |
case DQUOTE: | |
{ | |
alt65=1; | |
} | |
break; | |
case SQUOTE: | |
{ | |
alt65=2; | |
} | |
break; | |
case ID: | |
case Digit: | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 67: | |
{ | |
alt65=3; | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 65, 0, input); | |
throw nvae; | |
} | |
switch (alt65) { | |
case 1 : | |
// JSP.g:1082:9: ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) ( ';' )? | |
{ | |
// JSP.g:1082:9: ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) ) | |
// JSP.g:1083:11: ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) | |
{ | |
// JSP.g:1083:11: ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ ) | |
// JSP.g:1083:12: '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? ( '<' )? ( '\"' )+ | |
{ | |
match(input,DQUOTE,FOLLOW_DQUOTE_in_attribute3730); | |
// JSP.g:1084:12: ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* | |
loop56: | |
do { | |
int alt56=11; | |
alt56 = dfa56.predict(input); | |
switch (alt56) { | |
case 1 : | |
// JSP.g:1085:16: tag[compAttr] | |
{ | |
xmlAttr=null; | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
pushFollow(FOLLOW_tag_in_attribute3777); | |
tag(compAttr); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:1092:15: jsp_element[compAttr] | |
{ | |
xmlAttr=null; | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
pushFollow(FOLLOW_jsp_element_in_attribute3828); | |
jsp_element(compAttr); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:1099:16: t= SpecialCharacter | |
{ | |
t=(Token)match(input,SpecialCharacter,FOLLOW_SpecialCharacter_in_attribute3863); | |
value+=t.getText(); | |
} | |
break; | |
case 4 : | |
// JSP.g:1100:16: SQUOTE | |
{ | |
match(input,SQUOTE,FOLLOW_SQUOTE_in_attribute3885); | |
value+="'"; | |
} | |
break; | |
case 5 : | |
// JSP.g:1101:16: EQUAL | |
{ | |
match(input,EQUAL,FOLLOW_EQUAL_in_attribute3905); | |
value+="="; | |
} | |
break; | |
case 6 : | |
// JSP.g:1102:16: DDOT | |
{ | |
match(input,DDOT,FOLLOW_DDOT_in_attribute3926); | |
value+=":"; | |
} | |
break; | |
case 7 : | |
// JSP.g:1103:16: ';' | |
{ | |
match(input,69,FOLLOW_69_in_attribute3947); | |
value+=";"; | |
} | |
break; | |
case 8 : | |
// JSP.g:1104:16: ws= WS | |
{ | |
ws=(Token)match(input,WS,FOLLOW_WS_in_attribute3968); | |
value+=ws.getText(); | |
} | |
break; | |
case 9 : | |
// JSP.g:1105:16: digit1= Digit | |
{ | |
digit1=(Token)match(input,Digit,FOLLOW_Digit_in_attribute3990); | |
value+=space+digit1.getText(); | |
} | |
break; | |
case 10 : | |
// JSP.g:1106:16: id1= ID | |
{ | |
id1=(Token)match(input,ID,FOLLOW_ID_in_attribute4011); | |
value+=space+(id1!=null?id1.getText():null); | |
} | |
break; | |
default : | |
break loop56; | |
} | |
} while (true); | |
// JSP.g:1108:12: ( '>' )? | |
int alt57=2; | |
int LA57_0 = input.LA(1); | |
if ( (LA57_0==66) ) { | |
alt57=1; | |
} | |
switch (alt57) { | |
case 1 : | |
// JSP.g:1108:13: '>' | |
{ | |
match(input,66,FOLLOW_66_in_attribute4042); | |
value+=">"; | |
} | |
break; | |
} | |
// JSP.g:1109:12: ( '<' )? | |
int alt58=2; | |
int LA58_0 = input.LA(1); | |
if ( (LA58_0==67) ) { | |
alt58=1; | |
} | |
switch (alt58) { | |
case 1 : | |
// JSP.g:1109:13: '<' | |
{ | |
match(input,67,FOLLOW_67_in_attribute4059); | |
value+="<"; | |
} | |
break; | |
} | |
if(xmlAttr==null){ | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
} | |
else{xmlAttr.setValue(value);}; | |
// JSP.g:1118:11: ( '\"' )+ | |
int cnt59=0; | |
loop59: | |
do { | |
int alt59=2; | |
int LA59_0 = input.LA(1); | |
if ( (LA59_0==DQUOTE) ) { | |
alt59=1; | |
} | |
switch (alt59) { | |
case 1 : | |
// JSP.g:1118:12: '\"' | |
{ | |
match(input,DQUOTE,FOLLOW_DQUOTE_in_attribute4126); | |
} | |
break; | |
default : | |
if ( cnt59 >= 1 ) break loop59; | |
EarlyExitException eee = | |
new EarlyExitException(59, input); | |
throw eee; | |
} | |
cnt59++; | |
} while (true); | |
} | |
} | |
// JSP.g:1121:8: ( ';' )? | |
int alt60=2; | |
int LA60_0 = input.LA(1); | |
if ( (LA60_0==69) ) { | |
alt60=1; | |
} | |
switch (alt60) { | |
case 1 : | |
// JSP.g:1121:9: ';' | |
{ | |
match(input,69,FOLLOW_69_in_attribute4163); | |
if(xmlAttr==null) { | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,";");value=""; | |
} | |
else{xmlAttr.setValue(xmlAttr.getValue()+";");}; | |
} | |
break; | |
} | |
} | |
break; | |
case 2 : | |
// JSP.g:1130:7: ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | |
{ | |
// JSP.g:1130:7: ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' ) | |
// JSP.g:1130:8: '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<' )? '\\'' | |
{ | |
match(input,SQUOTE,FOLLOW_SQUOTE_in_attribute4198); | |
// JSP.g:1132:10: ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* | |
loop61: | |
do { | |
int alt61=11; | |
alt61 = dfa61.predict(input); | |
switch (alt61) { | |
case 1 : | |
// JSP.g:1133:12: tag[compAttr] | |
{ | |
xmlAttr=null; | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
pushFollow(FOLLOW_tag_in_attribute4241); | |
tag(compAttr); | |
state._fsp--; | |
} | |
break; | |
case 2 : | |
// JSP.g:1140:11: jsp_element[compAttr] | |
{ | |
xmlAttr=null; | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
pushFollow(FOLLOW_jsp_element_in_attribute4293); | |
jsp_element(compAttr); | |
state._fsp--; | |
} | |
break; | |
case 3 : | |
// JSP.g:1147:12: digit2= Digit | |
{ | |
digit2=(Token)match(input,Digit,FOLLOW_Digit_in_attribute4322); | |
value+=space+digit2.getText(); | |
} | |
break; | |
case 4 : | |
// JSP.g:1148:12: id1= ID | |
{ | |
id1=(Token)match(input,ID,FOLLOW_ID_in_attribute4340); | |
value+=space+(id1!=null?id1.getText():null); | |
} | |
break; | |
case 5 : | |
// JSP.g:1149:12: t= SpecialCharacter | |
{ | |
t=(Token)match(input,SpecialCharacter,FOLLOW_SpecialCharacter_in_attribute4364); | |
value+=t.getText(); | |
} | |
break; | |
case 6 : | |
// JSP.g:1150:12: EQUAL | |
{ | |
match(input,EQUAL,FOLLOW_EQUAL_in_attribute4382); | |
value+="="; | |
} | |
break; | |
case 7 : | |
// JSP.g:1151:12: DDOT | |
{ | |
match(input,DDOT,FOLLOW_DDOT_in_attribute4398); | |
value+=":"; | |
} | |
break; | |
case 8 : | |
// JSP.g:1152:12: ';' | |
{ | |
match(input,69,FOLLOW_69_in_attribute4415); | |
value+=";"; | |
} | |
break; | |
case 9 : | |
// JSP.g:1153:12: DQUOTE | |
{ | |
match(input,DQUOTE,FOLLOW_DQUOTE_in_attribute4430); | |
value+="\""; | |
} | |
break; | |
case 10 : | |
// JSP.g:1154:12: ws= WS | |
{ | |
ws=(Token)match(input,WS,FOLLOW_WS_in_attribute4447); | |
value+=ws.getText(); | |
} | |
break; | |
default : | |
break loop61; | |
} | |
} while (true); | |
// JSP.g:1156:9: ( '>' )? | |
int alt62=2; | |
int LA62_0 = input.LA(1); | |
if ( (LA62_0==66) ) { | |
alt62=1; | |
} | |
switch (alt62) { | |
case 1 : | |
// JSP.g:1156:10: '>' | |
{ | |
match(input,66,FOLLOW_66_in_attribute4476); | |
value+=">"; | |
} | |
break; | |
} | |
// JSP.g:1157:9: ( '<' )? | |
int alt63=2; | |
int LA63_0 = input.LA(1); | |
if ( (LA63_0==67) ) { | |
alt63=1; | |
} | |
switch (alt63) { | |
case 1 : | |
// JSP.g:1157:10: '<' | |
{ | |
match(input,67,FOLLOW_67_in_attribute4490); | |
value+="<"; | |
} | |
break; | |
} | |
if(xmlAttr==null){ | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
} | |
else{xmlAttr.setValue(value);}; | |
match(input,SQUOTE,FOLLOW_SQUOTE_in_attribute4527); | |
} | |
} | |
break; | |
case 3 : | |
// JSP.g:1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) | |
{ | |
// JSP.g:1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] ) | |
int alt64=4; | |
switch ( input.LA(1) ) { | |
case ID: | |
{ | |
alt64=1; | |
} | |
break; | |
case Digit: | |
{ | |
alt64=2; | |
} | |
break; | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
{ | |
alt64=3; | |
} | |
break; | |
case 67: | |
{ | |
int LA64_4 = input.LA(2); | |
if ( (LA64_4==WS) ) { | |
int LA64_5 = input.LA(3); | |
if ( (LA64_5==ID) ) { | |
switch ( input.LA(4) ) { | |
case WS: | |
{ | |
int LA64_7 = input.LA(5); | |
if ( ((LA64_7>=WS && LA64_7<=ID)||LA64_7==JSPTAGOPEN||(LA64_7>=JSPOPENEXPR && LA64_7<=JSPOPENINC)||LA64_7==JSPOPENFWD||LA64_7==JSPOPENPLUG||LA64_7==JSPOPENROOT||LA64_7==JSPOPENTEXT||(LA64_7>=JSPOPENATTR && LA64_7<=JSPOPENBODY)||(LA64_7>=JSPOPENINVOKE && LA64_7<=OPENSCRIPLET)||LA64_7==OPENEXPR||LA64_7==OPENDECL||LA64_7==OPENDIRECT||(LA64_7>=66 && LA64_7<=67)) ) { | |
alt64=4; | |
} | |
else if ( (LA64_7==DDOT) ) { | |
alt64=3; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 7, input); | |
throw nvae; | |
} | |
} | |
break; | |
case DDOT: | |
{ | |
alt64=3; | |
} | |
break; | |
case ID: | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPCLOSEACT: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 66: | |
case 67: | |
{ | |
alt64=4; | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 6, input); | |
throw nvae; | |
} | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 5, input); | |
throw nvae; | |
} | |
} | |
else if ( (LA64_4==ID) ) { | |
switch ( input.LA(3) ) { | |
case WS: | |
{ | |
int LA64_7 = input.LA(4); | |
if ( ((LA64_7>=WS && LA64_7<=ID)||LA64_7==JSPTAGOPEN||(LA64_7>=JSPOPENEXPR && LA64_7<=JSPOPENINC)||LA64_7==JSPOPENFWD||LA64_7==JSPOPENPLUG||LA64_7==JSPOPENROOT||LA64_7==JSPOPENTEXT||(LA64_7>=JSPOPENATTR && LA64_7<=JSPOPENBODY)||(LA64_7>=JSPOPENINVOKE && LA64_7<=OPENSCRIPLET)||LA64_7==OPENEXPR||LA64_7==OPENDECL||LA64_7==OPENDIRECT||(LA64_7>=66 && LA64_7<=67)) ) { | |
alt64=4; | |
} | |
else if ( (LA64_7==DDOT) ) { | |
alt64=3; | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 7, input); | |
throw nvae; | |
} | |
} | |
break; | |
case DDOT: | |
{ | |
alt64=3; | |
} | |
break; | |
case ID: | |
case JSPTAGOPEN: | |
case JSPOPENEXPR: | |
case JSPOPENDECL: | |
case JSPOPENDIR: | |
case JSPCLOSEACT: | |
case JSPUSEBEAN: | |
case JSPSET: | |
case JSPGET: | |
case JSPOPENINC: | |
case JSPOPENFWD: | |
case JSPOPENPLUG: | |
case JSPOPENROOT: | |
case JSPOPENTEXT: | |
case JSPOPENATTR: | |
case JSPOPENBODY: | |
case JSPOPENINVOKE: | |
case JSPOPENDOBODY: | |
case JSPOPENOUTPUT: | |
case JSPELEMENTOP: | |
case OPENSCRIPLET: | |
case OPENEXPR: | |
case OPENDECL: | |
case OPENDIRECT: | |
case 66: | |
case 67: | |
{ | |
alt64=4; | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 6, input); | |
throw nvae; | |
} | |
} | |
else { | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 4, input); | |
throw nvae; | |
} | |
} | |
break; | |
default: | |
NoViableAltException nvae = | |
new NoViableAltException("", 64, 0, input); | |
throw nvae; | |
} | |
switch (alt64) { | |
case 1 : | |
// JSP.g:1169:11: id1= ID | |
{ | |
id1=(Token)match(input,ID,FOLLOW_ID_in_attribute4559); | |
value+=space+(id1!=null?id1.getText():null); | |
} | |
break; | |
case 2 : | |
// JSP.g:1170:12: digit2= Digit | |
{ | |
digit2=(Token)match(input,Digit,FOLLOW_Digit_in_attribute4577); | |
value+=space+digit2.getText(); | |
} | |
break; | |
case 3 : | |
// JSP.g:1171:12: jsp_element[compAttr] | |
{ | |
xmlAttr=null; | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
pushFollow(FOLLOW_jsp_element_in_attribute4593); | |
jsp_element(compAttr); | |
state._fsp--; | |
} | |
break; | |
case 4 : | |
// JSP.g:1174:12: tag[compAttr] | |
{ | |
xmlAttr=null; | |
if(compAttr==null){compAttr = this.factory.createComposedAttribute(); } | |
createAttributeText(compAttr,value);value=""; | |
pushFollow(FOLLOW_tag_in_attribute4609); | |
tag(compAttr); | |
state._fsp--; | |
} | |
break; | |
} | |
if(xmlAttr!=null){xmlAttr.setValue(value);} | |
} | |
break; | |
} | |
} | |
break; | |
} | |
if(xmlAttr!=null){ | |
setParent(parent,xmlAttr); | |
} | |
else{ | |
compAttr.setName(attributeName); | |
setParent(parent,compAttr); | |
} | |
} | |
} | |
catch (RecognitionException re) { | |
reportError(re); | |
recover(input,re); | |
} | |
finally { | |
} | |
return ; | |
} | |
// $ANTLR end "attribute" | |
// Delegated rules | |
protected DFA1 dfa1 = new DFA1(this); | |
protected DFA56 dfa56 = new DFA56(this); | |
protected DFA61 dfa61 = new DFA61(this); | |
static final String DFA1_eotS = | |
"\16\uffff"; | |
static final String DFA1_eofS = | |
"\1\1\15\uffff"; | |
static final String DFA1_minS = | |
"\1\4\4\uffff\1\7\4\uffff\1\10\1\7\1\uffff\1\7"; | |
static final String DFA1_maxS = | |
"\1\103\4\uffff\1\10\4\uffff\1\10\1\103\1\uffff\1\103"; | |
static final String DFA1_acceptS = | |
"\1\uffff\1\11\1\1\1\2\1\3\1\uffff\1\5\1\6\1\7\1\10\2\uffff\1\4"+ | |
"\1\uffff"; | |
static final String DFA1_specialS = | |
"\16\uffff}>"; | |
static final String[] DFA1_transitionS = { | |
"\1\2\1\3\1\11\2\10\2\7\6\10\4\uffff\1\6\1\4\1\uffff\3\4\1\uffff"+ | |
"\4\4\1\uffff\1\4\1\uffff\1\4\6\uffff\1\4\1\uffff\1\4\2\uffff"+ | |
"\2\4\1\uffff\5\4\1\uffff\1\4\1\uffff\1\4\1\uffff\1\4\6\uffff"+ | |
"\1\5", | |
"", | |
"", | |
"", | |
"", | |
"\1\12\1\13", | |
"", | |
"", | |
"", | |
"", | |
"\1\13", | |
"\1\15\1\14\6\uffff\1\4\6\uffff\1\14\1\uffff\10\14\1\uffff"+ | |
"\1\14\1\uffff\1\14\6\uffff\1\14\1\uffff\1\14\2\uffff\2\14\1"+ | |
"\uffff\5\14\1\uffff\1\14\1\uffff\1\14\1\uffff\1\14\5\uffff\2"+ | |
"\14", | |
"", | |
"\2\14\6\uffff\1\4\6\uffff\1\14\1\uffff\10\14\1\uffff\1\14"+ | |
"\1\uffff\1\14\6\uffff\1\14\1\uffff\1\14\2\uffff\2\14\1\uffff"+ | |
"\5\14\1\uffff\1\14\1\uffff\1\14\1\uffff\1\14\5\uffff\2\14" | |
}; | |
static final short[] DFA1_eot = DFA.unpackEncodedString(DFA1_eotS); | |
static final short[] DFA1_eof = DFA.unpackEncodedString(DFA1_eofS); | |
static final char[] DFA1_min = DFA.unpackEncodedStringToUnsignedChars(DFA1_minS); | |
static final char[] DFA1_max = DFA.unpackEncodedStringToUnsignedChars(DFA1_maxS); | |
static final short[] DFA1_accept = DFA.unpackEncodedString(DFA1_acceptS); | |
static final short[] DFA1_special = DFA.unpackEncodedString(DFA1_specialS); | |
static final short[][] DFA1_transition; | |
static { | |
int numStates = DFA1_transitionS.length; | |
DFA1_transition = new short[numStates][]; | |
for (int i=0; i<numStates; i++) { | |
DFA1_transition[i] = DFA.unpackEncodedString(DFA1_transitionS[i]); | |
} | |
} | |
class DFA1 extends DFA { | |
public DFA1(BaseRecognizer recognizer) { | |
this.recognizer = recognizer; | |
this.decisionNumber = 1; | |
this.eot = DFA1_eot; | |
this.eof = DFA1_eof; | |
this.min = DFA1_min; | |
this.max = DFA1_max; | |
this.accept = DFA1_accept; | |
this.special = DFA1_special; | |
this.transition = DFA1_transition; | |
} | |
public String getDescription() { | |
return "()* loopback of 242:5: ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] | text[null] | cData[null] )*"; | |
} | |
} | |
static final String DFA56_eotS = | |
"\20\uffff"; | |
static final String DFA56_eofS = | |
"\20\uffff"; | |
static final String DFA56_minS = | |
"\1\7\1\uffff\1\7\11\uffff\1\10\2\7\1\uffff"; | |
static final String DFA56_maxS = | |
"\1\105\1\uffff\1\15\11\uffff\1\10\2\103\1\uffff"; | |
static final String DFA56_acceptS = | |
"\1\uffff\1\13\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\3"+ | |
"\uffff\1\1"; | |
static final String DFA56_specialS = | |
"\20\uffff}>"; | |
static final String[] DFA56_transitionS = { | |
"\1\11\1\13\2\uffff\1\12\1\4\1\1\1\5\1\7\1\6\5\uffff\1\3\1\uffff"+ | |
"\3\3\1\uffff\4\3\1\uffff\1\3\1\uffff\1\3\6\uffff\1\3\1\uffff"+ | |
"\1\3\2\uffff\2\3\1\uffff\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff"+ | |
"\1\3\5\uffff\1\1\1\2\1\uffff\1\10", | |
"", | |
"\1\14\1\15\4\uffff\1\1", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"\1\15", | |
"\1\16\1\17\6\uffff\1\3\6\uffff\1\17\1\uffff\10\17\1\uffff"+ | |
"\1\17\1\uffff\1\17\6\uffff\1\17\1\uffff\1\17\2\uffff\2\17\1"+ | |
"\uffff\5\17\1\uffff\1\17\1\uffff\1\17\1\uffff\1\17\5\uffff\2"+ | |
"\17", | |
"\2\17\6\uffff\1\3\6\uffff\1\17\1\uffff\10\17\1\uffff\1\17"+ | |
"\1\uffff\1\17\6\uffff\1\17\1\uffff\1\17\2\uffff\2\17\1\uffff"+ | |
"\5\17\1\uffff\1\17\1\uffff\1\17\1\uffff\1\17\5\uffff\2\17", | |
"" | |
}; | |
static final short[] DFA56_eot = DFA.unpackEncodedString(DFA56_eotS); | |
static final short[] DFA56_eof = DFA.unpackEncodedString(DFA56_eofS); | |
static final char[] DFA56_min = DFA.unpackEncodedStringToUnsignedChars(DFA56_minS); | |
static final char[] DFA56_max = DFA.unpackEncodedStringToUnsignedChars(DFA56_maxS); | |
static final short[] DFA56_accept = DFA.unpackEncodedString(DFA56_acceptS); | |
static final short[] DFA56_special = DFA.unpackEncodedString(DFA56_specialS); | |
static final short[][] DFA56_transition; | |
static { | |
int numStates = DFA56_transitionS.length; | |
DFA56_transition = new short[numStates][]; | |
for (int i=0; i<numStates; i++) { | |
DFA56_transition[i] = DFA.unpackEncodedString(DFA56_transitionS[i]); | |
} | |
} | |
class DFA56 extends DFA { | |
public DFA56(BaseRecognizer recognizer) { | |
this.recognizer = recognizer; | |
this.decisionNumber = 56; | |
this.eot = DFA56_eot; | |
this.eof = DFA56_eof; | |
this.min = DFA56_min; | |
this.max = DFA56_max; | |
this.accept = DFA56_accept; | |
this.special = DFA56_special; | |
this.transition = DFA56_transition; | |
} | |
public String getDescription() { | |
return "()* loopback of 1084:12: ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )*"; | |
} | |
} | |
static final String DFA61_eotS = | |
"\20\uffff"; | |
static final String DFA61_eofS = | |
"\20\uffff"; | |
static final String DFA61_minS = | |
"\1\7\1\uffff\1\7\11\uffff\1\10\2\7\1\uffff"; | |
static final String DFA61_maxS = | |
"\1\105\1\uffff\1\16\11\uffff\1\10\2\103\1\uffff"; | |
static final String DFA61_acceptS = | |
"\1\uffff\1\13\1\uffff\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\3"+ | |
"\uffff\1\1"; | |
static final String DFA61_specialS = | |
"\20\uffff}>"; | |
static final String[] DFA61_transitionS = { | |
"\1\13\1\5\2\uffff\1\4\1\6\1\12\1\1\1\10\1\7\5\uffff\1\3\1\uffff"+ | |
"\3\3\1\uffff\4\3\1\uffff\1\3\1\uffff\1\3\6\uffff\1\3\1\uffff"+ | |
"\1\3\2\uffff\2\3\1\uffff\5\3\1\uffff\1\3\1\uffff\1\3\1\uffff"+ | |
"\1\3\5\uffff\1\1\1\2\1\uffff\1\11", | |
"", | |
"\1\14\1\15\5\uffff\1\1", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"", | |
"\1\15", | |
"\1\16\1\17\6\uffff\1\3\6\uffff\1\17\1\uffff\10\17\1\uffff"+ | |
"\1\17\1\uffff\1\17\6\uffff\1\17\1\uffff\1\17\2\uffff\2\17\1"+ | |
"\uffff\5\17\1\uffff\1\17\1\uffff\1\17\1\uffff\1\17\5\uffff\2"+ | |
"\17", | |
"\2\17\6\uffff\1\3\6\uffff\1\17\1\uffff\10\17\1\uffff\1\17"+ | |
"\1\uffff\1\17\6\uffff\1\17\1\uffff\1\17\2\uffff\2\17\1\uffff"+ | |
"\5\17\1\uffff\1\17\1\uffff\1\17\1\uffff\1\17\5\uffff\2\17", | |
"" | |
}; | |
static final short[] DFA61_eot = DFA.unpackEncodedString(DFA61_eotS); | |
static final short[] DFA61_eof = DFA.unpackEncodedString(DFA61_eofS); | |
static final char[] DFA61_min = DFA.unpackEncodedStringToUnsignedChars(DFA61_minS); | |
static final char[] DFA61_max = DFA.unpackEncodedStringToUnsignedChars(DFA61_maxS); | |
static final short[] DFA61_accept = DFA.unpackEncodedString(DFA61_acceptS); | |
static final short[] DFA61_special = DFA.unpackEncodedString(DFA61_specialS); | |
static final short[][] DFA61_transition; | |
static { | |
int numStates = DFA61_transitionS.length; | |
DFA61_transition = new short[numStates][]; | |
for (int i=0; i<numStates; i++) { | |
DFA61_transition[i] = DFA.unpackEncodedString(DFA61_transitionS[i]); | |
} | |
} | |
class DFA61 extends DFA { | |
public DFA61(BaseRecognizer recognizer) { | |
this.recognizer = recognizer; | |
this.decisionNumber = 61; | |
this.eot = DFA61_eot; | |
this.eof = DFA61_eof; | |
this.min = DFA61_min; | |
this.max = DFA61_max; | |
this.accept = DFA61_accept; | |
this.special = DFA61_special; | |
this.transition = DFA61_transition; | |
} | |
public String getDescription() { | |
return "()* loopback of 1132:10: ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )*"; | |
} | |
} | |
public static final BitSet FOLLOW_xmlDecl_in_page82 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_docType_in_page90 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_jsp_element_in_page98 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_tag_in_page106 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_endtag_in_page114 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_comment_in_page121 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_text_in_page132 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_cData_in_page140 = new BitSet(new long[]{0x157D940AF761FFF2L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_XMLDECL_in_xmlDecl180 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_DOCTYPE_in_docType198 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_CDATA_in_cData260 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_scriplet_in_jsp_element316 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_expression_in_jsp_element339 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_declaration_in_jsp_element354 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_action_in_jsp_element438 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_directive_in_jsp_element456 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_OPENCLOSE_in_endtag526 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_endtag528 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_endtag533 = new BitSet(new long[]{0x0000000000008080L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_endtag537 = new BitSet(new long[]{0x0000000000008000L}); | |
public static final BitSet FOLLOW_DDOT_in_endtag540 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_endtag542 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_endtag547 = new BitSet(new long[]{0x0000000000000080L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_endtag551 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_66_in_endtag553 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_67_in_tag621 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_tag623 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_tag628 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_attribute_in_tag685 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_WS_in_tag690 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_jsp_element_in_tag724 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_set_in_tag769 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPTAGOPEN_in_jsp_scriplet860 = new BitSet(new long[]{0x0000000000800000L}); | |
public static final BitSet FOLLOW_JSPTAGCLOSE_in_jsp_scriplet906 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_OPENSCRIPLET_in_jsp_scriplet992 = new BitSet(new long[]{0x0080000000000000L}); | |
public static final BitSet FOLLOW_CLOSESCRIPTLET_in_jsp_scriplet1032 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENDECL_in_jsp_declaration1100 = new BitSet(new long[]{0x0000000000800000L}); | |
public static final BitSet FOLLOW_JSPTAGCLOSE_in_jsp_declaration1127 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_OPENDECL_in_jsp_declaration1174 = new BitSet(new long[]{0x0800000000000000L}); | |
public static final BitSet FOLLOW_CLOSEDECL_in_jsp_declaration1198 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENDIR_in_jsp_directive1240 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_jsp_directive1242 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_jsp_directive1266 = new BitSet(new long[]{0x0000000000800180L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_directive1294 = new BitSet(new long[]{0x0000000000800180L}); | |
public static final BitSet FOLLOW_WS_in_jsp_directive1297 = new BitSet(new long[]{0x0000000000800180L}); | |
public static final BitSet FOLLOW_JSPTAGCLOSE_in_jsp_directive1315 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_OPENDIRECT_in_jsp_directive1362 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_jsp_directive1364 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_jsp_directive1369 = new BitSet(new long[]{0x0000000008000180L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_directive1372 = new BitSet(new long[]{0x0000000008000180L}); | |
public static final BitSet FOLLOW_WS_in_jsp_directive1375 = new BitSet(new long[]{0x0000000008000180L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_directive1380 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENEXPR_in_jsp_expression1435 = new BitSet(new long[]{0x0000000000800000L}); | |
public static final BitSet FOLLOW_JSPTAGCLOSE_in_jsp_expression1475 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_OPENEXPR_in_jsp_expression1525 = new BitSet(new long[]{0x0200000000000000L}); | |
public static final BitSet FOLLOW_CLOSEEXPR_in_jsp_expression1570 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_67_in_jsp_action1625 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_jsp_action1627 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_jsp_action1632 = new BitSet(new long[]{0x0000000000008080L}); | |
public static final BitSet FOLLOW_WS_in_jsp_action1634 = new BitSet(new long[]{0x0000000000008000L}); | |
public static final BitSet FOLLOW_DDOT_in_jsp_action1637 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_jsp_action1639 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_jsp_action1644 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_attribute_in_jsp_action1681 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_WS_in_jsp_action1704 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_jsp_element_in_jsp_action1743 = new BitSet(new long[]{0x157D940AFF400180L,0x000000000000000CL}); | |
public static final BitSet FOLLOW_set_in_jsp_action1794 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_standard_action_in_jsp_action1816 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_include_in_jsp_standard_action1850 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_plugin_in_jsp_standard_action1864 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_getProperty_in_jsp_standard_action1878 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_setProperty_in_jsp_standard_action1887 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_useBean_in_jsp_standard_action1896 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_forward_in_jsp_standard_action1909 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_dobody_in_jsp_standard_action1922 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_output_in_jsp_standard_action1936 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_invoke_in_jsp_standard_action1950 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_body_in_jsp_standard_action1964 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_attribute_in_jsp_standard_action1980 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_text_in_jsp_standard_action1991 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_root_in_jsp_standard_action2007 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_eltStdAct_in_jsp_standard_action2023 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPELEMENTOP_in_jsp_eltStdAct2070 = new BitSet(new long[]{0x0000000008000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_eltStdAct2073 = new BitSet(new long[]{0x0000000008000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_jsp_eltStdAct2076 = new BitSet(new long[]{0x0000000008000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_eltStdAct2103 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_66_in_jsp_eltStdAct2120 = new BitSet(new long[]{0x157D940AF7400680L,0x0000000000000018L}); | |
public static final BitSet FOLLOW_jsp_element_in_jsp_eltStdAct2139 = new BitSet(new long[]{0x157D940AF7400680L,0x0000000000000018L}); | |
public static final BitSet FOLLOW_comment_in_jsp_eltStdAct2142 = new BitSet(new long[]{0x157D940AF7400680L,0x0000000000000018L}); | |
public static final BitSet FOLLOW_WS_in_jsp_eltStdAct2146 = new BitSet(new long[]{0x157D940AF7400680L,0x0000000000000018L}); | |
public static final BitSet FOLLOW_68_in_jsp_eltStdAct2165 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENROOT_in_jsp_root2214 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_root2217 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_jsp_root2220 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_66_in_jsp_root2224 = new BitSet(new long[]{0x157D9C0AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_comment_in_jsp_root2231 = new BitSet(new long[]{0x157D9C0AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_jsp_element_in_jsp_root2234 = new BitSet(new long[]{0x157D9C0AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_WS_in_jsp_root2237 = new BitSet(new long[]{0x157D9C0AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_JSPCLOSEROOT_in_jsp_root2243 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENINC_in_jsp_include2285 = new BitSet(new long[]{0x0000000008000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_include2288 = new BitSet(new long[]{0x0000000008000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_jsp_include2291 = new BitSet(new long[]{0x0000000008000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_66_in_jsp_include2308 = new BitSet(new long[]{0x0000018100000680L}); | |
public static final BitSet FOLLOW_jsp_param_in_jsp_include2319 = new BitSet(new long[]{0x0000018100000680L}); | |
public static final BitSet FOLLOW_comment_in_jsp_include2324 = new BitSet(new long[]{0x0000018100000680L}); | |
public static final BitSet FOLLOW_WS_in_jsp_include2327 = new BitSet(new long[]{0x0000018100000680L}); | |
public static final BitSet FOLLOW_JSPCLOSEINC_in_jsp_include2338 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_include2366 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENFWD_in_jsp_forward2409 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_forward2412 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_jsp_forward2415 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_66_in_jsp_forward2419 = new BitSet(new long[]{0x0000018400000680L}); | |
public static final BitSet FOLLOW_jsp_param_in_jsp_forward2428 = new BitSet(new long[]{0x0000018400000680L}); | |
public static final BitSet FOLLOW_comment_in_jsp_forward2433 = new BitSet(new long[]{0x0000018400000680L}); | |
public static final BitSet FOLLOW_WS_in_jsp_forward2436 = new BitSet(new long[]{0x0000018400000680L}); | |
public static final BitSet FOLLOW_JSPCLOSEFWD_in_jsp_forward2445 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENPLUG_in_jsp_plugin2485 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_plugin2488 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_jsp_plugin2491 = new BitSet(new long[]{0x0000000000000180L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_66_in_jsp_plugin2495 = new BitSet(new long[]{0x000001B000000680L}); | |
public static final BitSet FOLLOW_jsp_param_in_jsp_plugin2504 = new BitSet(new long[]{0x000001B000000680L}); | |
public static final BitSet FOLLOW_jsp_fallback_in_jsp_plugin2509 = new BitSet(new long[]{0x000001B000000680L}); | |
public static final BitSet FOLLOW_comment_in_jsp_plugin2514 = new BitSet(new long[]{0x000001B000000680L}); | |
public static final BitSet FOLLOW_WS_in_jsp_plugin2517 = new BitSet(new long[]{0x000001B000000680L}); | |
public static final BitSet FOLLOW_JSPCLOSEPLUG_in_jsp_plugin2526 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENFALL_in_jsp_fallback2564 = new BitSet(new long[]{0x0000004000000000L}); | |
public static final BitSet FOLLOW_JSPCLOSEFALL_in_jsp_fallback2579 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPGET_in_jsp_getProperty2628 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_getProperty2631 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_getProperty2634 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_getProperty2637 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_getProperty2641 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPSET_in_jsp_setProperty2685 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_setProperty2688 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_setProperty2691 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_setProperty2694 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_setProperty2698 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPUSEBEAN_in_jsp_useBean2743 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_useBean2747 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_useBean2750 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_useBean2753 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_useBean2757 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENPARA_in_jsp_param2797 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_param2800 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_param2803 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_param2806 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_param2810 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENPARAS_in_jsp_param2838 = new BitSet(new long[]{0x0000038000000680L}); | |
public static final BitSet FOLLOW_jsp_param_in_jsp_param2841 = new BitSet(new long[]{0x0000038000000680L}); | |
public static final BitSet FOLLOW_comment_in_jsp_param2844 = new BitSet(new long[]{0x0000038000000680L}); | |
public static final BitSet FOLLOW_WS_in_jsp_param2847 = new BitSet(new long[]{0x0000038000000680L}); | |
public static final BitSet FOLLOW_JSPCLOSEPARAS_in_jsp_param2851 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENDOBODY_in_jsp_dobody2885 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_dobody2888 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_dobody2891 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_dobody2894 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_dobody2899 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENOUTPUT_in_jsp_output2938 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_output2941 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_output2944 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_output2947 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_output2951 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENINVOKE_in_jsp_invoke2990 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_invoke2993 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_comment_in_jsp_invoke2996 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_WS_in_jsp_invoke2999 = new BitSet(new long[]{0x0000000008000780L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_invoke3003 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENBODY_in_jsp_body3038 = new BitSet(new long[]{0x157F940AF741F980L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_text_in_jsp_body3041 = new BitSet(new long[]{0x157F940AF741F980L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_jsp_element_in_jsp_body3044 = new BitSet(new long[]{0x157F940AF741F980L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_JSPCLOSEBODY_in_jsp_body3049 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENATTR_in_jsp_attribute3096 = new BitSet(new long[]{0x0000000008000780L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_attribute_in_jsp_attribute3099 = new BitSet(new long[]{0x0000000008000780L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_comment_in_jsp_attribute3102 = new BitSet(new long[]{0x0000000008000780L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_WS_in_jsp_attribute3105 = new BitSet(new long[]{0x0000000008000780L,0x0000000000000004L}); | |
public static final BitSet FOLLOW_JSPCLOSEACT_in_jsp_attribute3131 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_66_in_jsp_attribute3175 = new BitSet(new long[]{0x157DD40AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_jsp_element_in_jsp_attribute3195 = new BitSet(new long[]{0x157DD40AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_comment_in_jsp_attribute3198 = new BitSet(new long[]{0x157DD40AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_WS_in_jsp_attribute3201 = new BitSet(new long[]{0x157DD40AF7400680L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_JSPCLOSEATTR_in_jsp_attribute3217 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSPOPENTEXT_in_jsp_text3269 = new BitSet(new long[]{0x0000200000000000L}); | |
public static final BitSet FOLLOW_JSPCLOSETEXT_in_jsp_text3273 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_comment_in_comment3306 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_line_comment_in_comment3309 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_JSP_COMMENT_in_jsp_comment3335 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_LINE_COMMENT_in_line_comment3368 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_ID_in_text3412 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_Digit_in_text3423 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_SpecialCharacter_in_text3434 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_DQUOTE_in_text3443 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_SQUOTE_in_text3452 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_DDOT_in_text3461 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_EQUAL_in_text3472 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_WS_in_text3484 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_ID_in_attribute3644 = new BitSet(new long[]{0x0000000000018082L}); | |
public static final BitSet FOLLOW_WS_in_attribute3647 = new BitSet(new long[]{0x0000000000008000L}); | |
public static final BitSet FOLLOW_DDOT_in_attribute3650 = new BitSet(new long[]{0x0000000000000180L}); | |
public static final BitSet FOLLOW_WS_in_attribute3652 = new BitSet(new long[]{0x0000000000000100L}); | |
public static final BitSet FOLLOW_ID_in_attribute3657 = new BitSet(new long[]{0x0000000000010082L}); | |
public static final BitSet FOLLOW_WS_in_attribute3693 = new BitSet(new long[]{0x0000000000010000L}); | |
public static final BitSet FOLLOW_EQUAL_in_attribute3695 = new BitSet(new long[]{0x157D940AF7406980L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_WS_in_attribute3696 = new BitSet(new long[]{0x157D940AF7406900L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_DQUOTE_in_attribute3730 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_tag_in_attribute3777 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_jsp_element_in_attribute3828 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_SpecialCharacter_in_attribute3863 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_SQUOTE_in_attribute3885 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_EQUAL_in_attribute3905 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_DDOT_in_attribute3926 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_69_in_attribute3947 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_WS_in_attribute3968 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_Digit_in_attribute3990 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_ID_in_attribute4011 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_66_in_attribute4042 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_67_in_attribute4059 = new BitSet(new long[]{0x0000000000002000L}); | |
public static final BitSet FOLLOW_DQUOTE_in_attribute4126 = new BitSet(new long[]{0x0000000000002002L,0x0000000000000020L}); | |
public static final BitSet FOLLOW_69_in_attribute4163 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_SQUOTE_in_attribute4198 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_tag_in_attribute4241 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_jsp_element_in_attribute4293 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_Digit_in_attribute4322 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_ID_in_attribute4340 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_SpecialCharacter_in_attribute4364 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_EQUAL_in_attribute4382 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_DDOT_in_attribute4398 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_69_in_attribute4415 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_DQUOTE_in_attribute4430 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_WS_in_attribute4447 = new BitSet(new long[]{0x157D940AF741F980L,0x000000000000002CL}); | |
public static final BitSet FOLLOW_66_in_attribute4476 = new BitSet(new long[]{0x0000000000004000L,0x0000000000000008L}); | |
public static final BitSet FOLLOW_67_in_attribute4490 = new BitSet(new long[]{0x0000000000004000L}); | |
public static final BitSet FOLLOW_SQUOTE_in_attribute4527 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_ID_in_attribute4559 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_Digit_in_attribute4577 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_jsp_element_in_attribute4593 = new BitSet(new long[]{0x0000000000000002L}); | |
public static final BitSet FOLLOW_tag_in_attribute4609 = new BitSet(new long[]{0x0000000000000002L}); | |
} |