[553058] Migrate to Antlr 3.2.0
diff --git a/org.eclipse.modisco.jee.jsp.discoverer/META-INF/MANIFEST.MF b/org.eclipse.modisco.jee.jsp.discoverer/META-INF/MANIFEST.MF
index 1729ba8..2b9f1a9 100644
--- a/org.eclipse.modisco.jee.jsp.discoverer/META-INF/MANIFEST.MF
+++ b/org.eclipse.modisco.jee.jsp.discoverer/META-INF/MANIFEST.MF
@@ -9,7 +9,7 @@
  org.eclipse.core.runtime,
  org.eclipse.modisco.jee.jsp;bundle-version="0.9.0",
  org.eclipse.gmt.modisco.infra.common.core;bundle-version="0.8.0",
- org.antlr.runtime;bundle-version="[3.0.0,3.1.0)",
+ org.antlr.runtime;bundle-version="[3.2.0,3.3.0)",
  org.eclipse.jdt.core;bundle-version="3.6.0",
  org.eclipse.gmt.modisco.xml;bundle-version="0.8.0",
  org.eclipse.modisco.infra.discovery;bundle-version="0.9.0",
diff --git a/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/JSP.tokens b/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/JSP.tokens
index 00f524a..e99d8b3 100644
--- a/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/JSP.tokens
+++ b/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/JSP.tokens
@@ -1,110 +1,114 @@
-JSPOPENEXPR=24
-OPENJSPCMT=61
-CLOSEEXPR=57
-CDATA=6
-JSPCLOSEFWD=34
-JSPCLOSEFALL=38
-LETTER=18
-OPENDECL=58
-CLOSEXMLCMT=64
-DQUOTE=13
-CLOSESCRIPTLET=55
-ID=8
-JSPCLOSEACT=27
-JSPOPENINVOKE=50
-CLOSEDECL=59
-JSPOPENOUTPUT=52
-JSPCLOSEINC=32
-JSPOPENFALL=37
-JSP_COMMENT=9
-JSPTAGOPEN=22
-CLOSEJSPCMT=62
-JSPCLOSEBODY=49
-EQUAL=16
-JSPOPENPLUG=35
-OPENSCRIPLET=54
-OPENEXPR=56
-JSPCLOSEPARAS=41
-DOCTYPE=5
-XMLDECLOPEN=65
-IDDigit=19
-SpecialCharacter=12
-JSPOPENPARAS=40
-OPENDIRECT=60
-JSPOPENTEXT=44
-JSPCLOSEPLUG=36
-DDOT=15
-JSPOPENDOBODY=51
-LINE_COMMENT=10
-OPENCLOSE=21
-JSPCLOSETEXT=45
-JSPOPENDIR=26
-XMLDECL=4
-OPENXMLCMT=63
-JSPTAGCLOSE=23
-INTERNAL_DTD=17
-SQUOTE=14
-Digit=11
-JSPCLOSEATTR=47
-JSPOPENDECL=25
-JSPOPENINC=31
-JSPOPENATTR=46
-JSPOPENFWD=33
-JSPCLOSEROOT=43
-WS=7
-JSPUSEBEAN=28
-JSPSET=29
-JSPOPENBODY=48
-JSPGET=30
-WS2=20
-JSPELEMENTOP=53
-JSPOPENPARA=39
-JSPOPENROOT=42
-'<%!'=25
-'<jsp:useBean'=28
-'<jsp:plugin'=35
-'<jsp:forward'=33
-'</jsp:attribute>'=47
-'<jsp:setProperty'=29
-'<jsp:declaration>'=58
-'<jsp:directive.'=60
-'<jsp:param'=39
-'>'=66
-'<%@'=26
-'<jsp:expression>'=56
-'</jsp:declaration>'=59
-';'=69
-'</jsp:params>'=41
-'='=16
-'</jsp:text>'=45
-'<jsp:include'=31
-'<jsp:text>'=44
-'</jsp:plugin>'=36
-'<jsp:scriptlet>'=54
-'</jsp:expression>'=57
-'</jsp:root>'=43
-'</jsp:body>'=49
-'"'=13
-'<jsp:root'=42
-'<jsp:body>'=48
-'<jsp:invoke'=50
-'<jsp:doBody'=51
-'<jsp:fallback>'=37
-'<jsp:params>'=40
-'<jsp:element'=53
-'<%'=22
-'<jsp:getProperty'=30
-'/>'=27
-'<%='=24
-'</jsp:include>'=32
-'</'=21
-'\''=14
-'</jsp:element>'=68
-'<jsp:attribute'=46
-'</jsp:forward>'=34
-'<jsp:output'=52
-'<'=67
-':'=15
-'%>'=23
-'</jsp:fallback>'=38
-'</jsp:scriptlet>'=55
+DOCTYPE=5

+CLOSEXMLCMT=64

+JSPOPENATTR=47

+Digit=11

+OPENJSPCMT=61

+OPENDIRECT=60

+CLOSESCRIPTLET=55

+JSPOPENEXPR=24

+T__69=69

+OPENEXPR=56

+JSPUSEBEAN=28

+JSPCLOSEFALL=38

+JSPOPENDOBODY=51

+JSPCLOSEINC=32

+JSPCLOSEPLUG=36

+JSPOPENPARA=39

+JSPOPENROOT=42

+DQUOTE=13

+JSPOPENPLUG=35

+SQUOTE=14

+T__67=67

+JSPOPENPARAS=40

+CLOSEEXPR=57

+JSPCLOSEPARAS=41

+T__68=68

+OPENCLOSE=21

+JSPCLOSEACT=27

+XMLDECLOPEN=65

+JSPOPENDECL=25

+INTERNAL_DTD=17

+JSPOPENINC=31

+JSPSET=29

+JSPGET=30

+JSPOPENOUTPUT=52

+JSPCLOSEATTR=46

+OPENXMLCMT=63

+JSPCLOSETEXT=45

+ID=8

+JSPELEMENTOP=53

+LETTER=18

+JSPCLOSEFWD=34

+CDATA=6

+JSPOPENFWD=33

+JSPOPENTEXT=44

+SpecialCharacter=12

+WS=7

+JSPCLOSEROOT=43

+T__66=66

+JSPOPENFALL=37

+LINE_COMMENT=10

+JSPOPENINVOKE=50

+DDOT=15

+OPENDECL=58

+JSPOPENBODY=48

+EQUAL=16

+OPENSCRIPLET=54

+CLOSEJSPCMT=62

+JSPOPENDIR=26

+CLOSEDECL=59

+JSP_COMMENT=9

+IDDigit=19

+JSPTAGOPEN=22

+JSPTAGCLOSE=23

+JSPCLOSEBODY=49

+XMLDECL=4

+WS2=20

+'</'=21

+'<jsp:root'=42

+'<'=67

+'>'=66

+'<jsp:invoke'=50

+'<%@'=26

+'<jsp:forward'=33

+'<jsp:output'=52

+';'=69

+'<jsp:include'=31

+'<jsp:attribute'=47

+'<jsp:body>'=48

+'<jsp:fallback>'=37

+'<jsp:params>'=40

+'<%'=22

+'</jsp:fallback>'=38

+'<jsp:scriptlet>'=54

+'%>'=23

+'='=16

+'<jsp:expression>'=56

+'<jsp:doBody'=51

+'<jsp:setProperty'=29

+'<jsp:directive.'=60

+'</jsp:expression>'=57

+'<%!'=25

+'</jsp:body>'=49

+'</jsp:plugin>'=36

+'"'=13

+'<jsp:getProperty'=30

+'</jsp:scriptlet>'=55

+'</jsp:root>'=43

+'<jsp:declaration>'=58

+'</jsp:params>'=41

+'</jsp:attribute>'=46

+'<jsp:param'=39

+'<%='=24

+'<jsp:plugin'=35

+'</jsp:forward>'=34

+'<jsp:useBean'=28

+'<jsp:text>'=44

+'</jsp:declaration>'=59

+'</jsp:text>'=45

+':'=15

+'/>'=27

+'</jsp:element>'=68

+'</jsp:include>'=32

+'\''=14

+'<jsp:element'=53

diff --git a/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/launch.bat b/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/launch.bat
index 7a15215..e2e1948 100644
--- a/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/launch.bat
+++ b/org.eclipse.modisco.jee.jsp.discoverer/resources/internal/launch.bat
@@ -7,5 +7,6 @@
 @rem ***************************************************************************

 rem to generate parser and lexer class, put the antlr library in current folder 

 rem don't forget to update the command line with the version of antlr library

-java -jar antlr-3.2.jar -fo output -lib . JSP.g

+rem see https://bugs.eclipse.org/bugs/show_bug.cgi?id=553058 for 3.0 to 3.2 migration

+"C:\Program Files\Java\jdk1.5.0_22\bin\java.exe" -jar antlr-3.2.jar -fo output -lib . JSP.g

 pause

diff --git a/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPLexer.java b/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPLexer.java
index e25aa86..b522c9c 100644
--- a/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPLexer.java
+++ b/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPLexer.java
@@ -1,4 +1,4 @@
-// $ANTLR 3.0 C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g 2010-10-25 10:23:41

+// $ANTLR 3.2 Sep 23, 2009 12:02:23 JSP.g 2019-11-14 15:50:29

 

 /**

  *  Copyright (c) 2010 Mia-Software.

@@ -6,11 +6,11 @@
  *  are made available under the terms of the Eclipse Public License v1.0

  *  which accompanies this distribution, and is available at

  *  http://www.eclipse.org/legal/epl-v10.html

- *

+ *  

  *  Contributors:

- *

+ *  

  *       Nicolas Guyomar (Mia-Software) - initial API and implementation

- *

+ * 

  */

   package org.eclipse.modisco.jee.jsp.discoverer.parser;

   import org.eclipse.gmt.modisco.infra.common.core.logging.MoDiscoLogger;

@@ -22,76 +22,74 @@
 import java.util.List;

 import java.util.ArrayList;

 

-@SuppressWarnings("all")

 public class JSPLexer extends Lexer {

-    public static final int JSPOPENEXPR=24;

-    public static final int OPENJSPCMT=61;

-    public static final int CLOSEEXPR=57;

-    public static final int CDATA=6;

-    public static final int JSPCLOSEFWD=34;

-    public static final int JSPCLOSEFALL=38;

-    public static final int LETTER=18;

-    public static final int OPENDECL=58;

-    public static final int DQUOTE=13;

-    public static final int CLOSEXMLCMT=64;

-    public static final int CLOSESCRIPTLET=55;

-    public static final int JSPCLOSEACT=27;

-    public static final int ID=8;

-    public static final int EOF=-1;

-    public static final int JSPOPENINVOKE=50;

-    public static final int CLOSEDECL=59;

-    public static final int JSPOPENOUTPUT=52;

-    public static final int JSPCLOSEINC=32;

-    public static final int JSPOPENFALL=37;

-    public static final int JSP_COMMENT=9;

-    public static final int T66=66;

-    public static final int JSPTAGOPEN=22;

-    public static final int T67=67;

-    public static final int CLOSEJSPCMT=62;

-    public static final int T68=68;

-    public static final int T69=69;

-    public static final int JSPCLOSEBODY=49;

-    public static final int EQUAL=16;

-    public static final int JSPOPENPLUG=35;

-    public static final int OPENSCRIPLET=54;

-    public static final int OPENEXPR=56;

-    public static final int JSPCLOSEPARAS=41;

     public static final int DOCTYPE=5;

-    public static final int XMLDECLOPEN=65;

-    public static final int IDDigit=19;

-    public static final int SpecialCharacter=12;

-    public static final int JSPOPENPARAS=40;

-    public static final int OPENDIRECT=60;

-    public static final int JSPOPENTEXT=44;

-    public static final int JSPCLOSEPLUG=36;

-    public static final int DDOT=15;

-    public static final int JSPOPENDOBODY=51;

-    public static final int LINE_COMMENT=10;

-    public static final int OPENCLOSE=21;

-    public static final int JSPCLOSETEXT=45;

-    public static final int JSPOPENDIR=26;

-    public static final int XMLDECL=4;

-    public static final int JSPTAGCLOSE=23;

-    public static final int OPENXMLCMT=63;

-    public static final int SQUOTE=14;

-    public static final int INTERNAL_DTD=17;

-    public static final int Digit=11;

-    public static final int Tokens=70;

-    public static final int JSPOPENINC=31;

-    public static final int JSPOPENDECL=25;

-    public static final int JSPCLOSEATTR=46;

+    public static final int CLOSEXMLCMT=64;

     public static final int JSPOPENATTR=47;

-    public static final int JSPCLOSEROOT=43;

-    public static final int JSPOPENFWD=33;

-    public static final int WS=7;

+    public static final int Digit=11;

+    public static final int CLOSESCRIPTLET=55;

+    public static final int OPENDIRECT=60;

+    public static final int OPENJSPCMT=61;

+    public static final int JSPOPENEXPR=24;

+    public static final int T__69=69;

     public static final int JSPUSEBEAN=28;

+    public static final int OPENEXPR=56;

+    public static final int JSPCLOSEFALL=38;

+    public static final int JSPOPENDOBODY=51;

+    public static final int JSPCLOSEINC=32;

+    public static final int JSPOPENPARA=39;

+    public static final int JSPCLOSEPLUG=36;

+    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 JSPOPENBODY=48;

-    public static final int WS2=20;

+    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 JSPOPENPARA=39;

-    public static final int JSPOPENROOT=42;

+    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 SpecialCharacter=12;

+    public static final int JSPOPENTEXT=44;

+    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 JSP_COMMENT=9;

+    public static final int CLOSEDECL=59;

+    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;

 

     //This method redirect error messages from ANTLR to MoDisco Logger

      @Override

@@ -107,95 +105,112 @@
             this.filePath = path;

         }

 

-    public JSPLexer() {;}

+

+    // delegates

+    // delegators

+

+    public JSPLexer() {;} 

     public JSPLexer(CharStream input) {

-        super(input);

+        this(input, new RecognizerSharedState());

     }

-    public String getGrammarFileName() { return "C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g"; }

+    public JSPLexer(CharStream input, RecognizerSharedState state) {

+        super(input,state);

 

-    // $ANTLR start T66

-    public final void mT66() throws RecognitionException {

+    }

+    public String getGrammarFileName() { return "JSP.g"; }

+

+    // $ANTLR start "T__66"

+    public final void mT__66() throws RecognitionException {

         try {

-            int _type = T66;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:39:7: ( '>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:39:7: '>'

+            int _type = T__66;

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:40:7: ( '>' )

+            // JSP.g:40:9: '>'

             {

-            match('>');

+            match('>'); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end T66

+    // $ANTLR end "T__66"

 

-    // $ANTLR start T67

-    public final void mT67() throws RecognitionException {

+    // $ANTLR start "T__67"

+    public final void mT__67() throws RecognitionException {

         try {

-            int _type = T67;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:40:7: ( '<' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:40:7: '<'

+            int _type = T__67;

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:41:7: ( '<' )

+            // JSP.g:41:9: '<'

             {

-            match('<');

+            match('<'); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end T67

+    // $ANTLR end "T__67"

 

-    // $ANTLR start T68

-    public final void mT68() throws RecognitionException {

+    // $ANTLR start "T__68"

+    public final void mT__68() throws RecognitionException {

         try {

-            int _type = T68;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:41:7: ( '</jsp:element>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:41:7: '</jsp:element>'

+            int _type = T__68;

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:42:7: ( '</jsp:element>' )

+            // JSP.g:42:9: '</jsp:element>'

             {

-            match("</jsp:element>");

+            match("</jsp:element>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end T68

+    // $ANTLR end "T__68"

 

-    // $ANTLR start T69

-    public final void mT69() throws RecognitionException {

+    // $ANTLR start "T__69"

+    public final void mT__69() throws RecognitionException {

         try {

-            int _type = T69;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:42:7: ( ';' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:42:7: ';'

+            int _type = T__69;

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:43:7: ( ';' )

+            // JSP.g:43:9: ';'

             {

-            match(';');

+            match(';'); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end T69

+    // $ANTLR end "T__69"

 

-    // $ANTLR start CDATA

+    // $ANTLR start "CDATA"

     public final void mCDATA() throws RecognitionException {

         try {

             int _type = CDATA;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:261:5: ( '<![CDATA[' ( options {greedy=false; } : . )* ']]>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:261:5: '<![CDATA[' ( options {greedy=false; } : . )* ']]>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:261:3: ( '<![CDATA[' ( options {greedy=false; } : . )* ']]>' )

+            // JSP.g:261:5: '<![CDATA[' ( options {greedy=false; } : . )* ']]>'

             {

-            match("<![CDATA[");

+            match("<![CDATA["); 

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:261:17: ( options {greedy=false; } : . )*

+            // JSP.g:261:17: ( options {greedy=false; } : . )*

             loop1:

             do {

                 int alt1=2;

@@ -207,31 +222,31 @@
                     if ( (LA1_1==']') ) {

                         int LA1_3 = input.LA(3);

 

-                        if ( ((LA1_3>='\u0000' && LA1_3<='=')||(LA1_3>='?' && LA1_3<='\uFFFE')) ) {

-                            alt1=1;

-                        }

-                        else if ( (LA1_3=='>') ) {

+                        if ( (LA1_3=='>') ) {

                             alt1=2;

                         }

+                        else if ( ((LA1_3>='\u0000' && LA1_3<='=')||(LA1_3>='?' && LA1_3<='\uFFFF')) ) {

+                            alt1=1;

+                        }

 

 

                     }

-                    else if ( ((LA1_1>='\u0000' && LA1_1<='\\')||(LA1_1>='^' && LA1_1<='\uFFFE')) ) {

+                    else if ( ((LA1_1>='\u0000' && LA1_1<='\\')||(LA1_1>='^' && LA1_1<='\uFFFF')) ) {

                         alt1=1;

                     }

 

 

                 }

-                else if ( ((LA1_0>='\u0000' && LA1_0<='\\')||(LA1_0>='^' && LA1_0<='\uFFFE')) ) {

+                else if ( ((LA1_0>='\u0000' && LA1_0<='\\')||(LA1_0>='^' && LA1_0<='\uFFFF')) ) {

                     alt1=1;

                 }

 

 

                 switch (alt1) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:261:44: .

+            	    // JSP.g:261:44: .

             	    {

-            	    matchAny();

+            	    matchAny(); 

 

             	    }

             	    break;

@@ -241,35 +256,37 @@
                 }

             } while (true);

 

-            match("]]>");

+            match("]]>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end CDATA

+    // $ANTLR end "CDATA"

 

-    // $ANTLR start LINE_COMMENT

+    // $ANTLR start "LINE_COMMENT"

     public final void mLINE_COMMENT() throws RecognitionException {

         try {

             int _type = LINE_COMMENT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1197:5: ( '<!--' ( options {greedy=false; } : . ) ( . )* '-->' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1197:5: '<!--' ( options {greedy=false; } : . ) ( . )* '-->'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1196:3: ( '<!--' ( options {greedy=false; } : . ) ( . )* '-->' )

+            // JSP.g:1197:5: '<!--' ( options {greedy=false; } : . ) ( . )* '-->'

             {

-            match("<!--");

+            match("<!--"); 

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1197:12: ( options {greedy=false; } : . )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1197:39: .

+            // JSP.g:1197:12: ( options {greedy=false; } : . )

+            // JSP.g:1197:39: .

             {

-            matchAny();

+            matchAny(); 

 

             }

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1197:41: ( . )*

+            // JSP.g:1197:41: ( . )*

             loop2:

             do {

                 int alt2=2;

@@ -284,28 +301,28 @@
                         if ( (LA2_3=='>') ) {

                             alt2=2;

                         }

-                        else if ( ((LA2_3>='\u0000' && LA2_3<='=')||(LA2_3>='?' && LA2_3<='\uFFFE')) ) {

+                        else if ( ((LA2_3>='\u0000' && LA2_3<='=')||(LA2_3>='?' && LA2_3<='\uFFFF')) ) {

                             alt2=1;

                         }

 

 

                     }

-                    else if ( ((LA2_1>='\u0000' && LA2_1<=',')||(LA2_1>='.' && LA2_1<='\uFFFE')) ) {

+                    else if ( ((LA2_1>='\u0000' && LA2_1<=',')||(LA2_1>='.' && LA2_1<='\uFFFF')) ) {

                         alt2=1;

                     }

 

 

                 }

-                else if ( ((LA2_0>='\u0000' && LA2_0<=',')||(LA2_0>='.' && LA2_0<='\uFFFE')) ) {

+                else if ( ((LA2_0>='\u0000' && LA2_0<=',')||(LA2_0>='.' && LA2_0<='\uFFFF')) ) {

                     alt2=1;

                 }

 

 

                 switch (alt2) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1197:41: .

+            	    // JSP.g:1197:41: .

             	    {

-            	    matchAny();

+            	    matchAny(); 

 

             	    }

             	    break;

@@ -315,35 +332,37 @@
                 }

             } while (true);

 

-            match("-->");

+            match("-->"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end LINE_COMMENT

+    // $ANTLR end "LINE_COMMENT"

 

-    // $ANTLR start JSP_COMMENT

+    // $ANTLR start "JSP_COMMENT"

     public final void mJSP_COMMENT() throws RecognitionException {

         try {

             int _type = JSP_COMMENT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1202:5: ( '<%--' ( options {greedy=false; } : . ) ( . )* '--%>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1202:5: '<%--' ( options {greedy=false; } : . ) ( . )* '--%>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1201:3: ( '<%--' ( options {greedy=false; } : . ) ( . )* '--%>' )

+            // JSP.g:1202:5: '<%--' ( options {greedy=false; } : . ) ( . )* '--%>'

             {

-            match("<%--");

+            match("<%--"); 

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1202:12: ( options {greedy=false; } : . )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1202:39: .

+            // JSP.g:1202:12: ( options {greedy=false; } : . )

+            // JSP.g:1202:39: .

             {

-            matchAny();

+            matchAny(); 

 

             }

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1202:41: ( . )*

+            // JSP.g:1202:41: ( . )*

             loop3:

             do {

                 int alt3=2;

@@ -361,34 +380,34 @@
                             if ( (LA3_4=='>') ) {

                                 alt3=2;

                             }

-                            else if ( ((LA3_4>='\u0000' && LA3_4<='=')||(LA3_4>='?' && LA3_4<='\uFFFE')) ) {

+                            else if ( ((LA3_4>='\u0000' && LA3_4<='=')||(LA3_4>='?' && LA3_4<='\uFFFF')) ) {

                                 alt3=1;

                             }

 

 

                         }

-                        else if ( ((LA3_3>='\u0000' && LA3_3<='$')||(LA3_3>='&' && LA3_3<='\uFFFE')) ) {

+                        else if ( ((LA3_3>='\u0000' && LA3_3<='$')||(LA3_3>='&' && LA3_3<='\uFFFF')) ) {

                             alt3=1;

                         }

 

 

                     }

-                    else if ( ((LA3_1>='\u0000' && LA3_1<=',')||(LA3_1>='.' && LA3_1<='\uFFFE')) ) {

+                    else if ( ((LA3_1>='\u0000' && LA3_1<=',')||(LA3_1>='.' && LA3_1<='\uFFFF')) ) {

                         alt3=1;

                     }

 

 

                 }

-                else if ( ((LA3_0>='\u0000' && LA3_0<=',')||(LA3_0>='.' && LA3_0<='\uFFFE')) ) {

+                else if ( ((LA3_0>='\u0000' && LA3_0<=',')||(LA3_0>='.' && LA3_0<='\uFFFF')) ) {

                     alt3=1;

                 }

 

 

                 switch (alt3) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1202:41: .

+            	    // JSP.g:1202:41: .

             	    {

-            	    matchAny();

+            	    matchAny(); 

 

             	    }

             	    break;

@@ -398,58 +417,57 @@
                 }

             } while (true);

 

-            match("--%>");

+            match("--%>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSP_COMMENT

+    // $ANTLR end "JSP_COMMENT"

 

-    // $ANTLR start XMLDECL

+    // $ANTLR start "XMLDECL"

     public final void mXMLDECL() throws RecognitionException {

         try {

             int _type = XMLDECL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1207:3: ( '<?' ( 'x' | 'X' ) ( 'm' | 'M' ) ( 'l' | 'L' ) ( options {greedy=false; } : . )* '?>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1207:3: '<?' ( 'x' | 'X' ) ( 'm' | 'M' ) ( 'l' | 'L' ) ( options {greedy=false; } : . )* '?>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1206:3: ( '<?' ( 'x' | 'X' ) ( 'm' | 'M' ) ( 'l' | 'L' ) ( options {greedy=false; } : . )* '?>' )

+            // JSP.g:1207:3: '<?' ( 'x' | 'X' ) ( 'm' | 'M' ) ( 'l' | 'L' ) ( options {greedy=false; } : . )* '?>'

             {

-            match("<?");

+            match("<?"); 

 

             if ( input.LA(1)=='X'||input.LA(1)=='x' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='M'||input.LA(1)=='m' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='L'||input.LA(1)=='l' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1207:35: ( options {greedy=false; } : . )*

+            // JSP.g:1207:35: ( options {greedy=false; } : . )*

             loop4:

             do {

                 int alt4=2;

@@ -461,22 +479,22 @@
                     if ( (LA4_1=='>') ) {

                         alt4=2;

                     }

-                    else if ( ((LA4_1>='\u0000' && LA4_1<='=')||(LA4_1>='?' && LA4_1<='\uFFFE')) ) {

+                    else if ( ((LA4_1>='\u0000' && LA4_1<='=')||(LA4_1>='?' && LA4_1<='\uFFFF')) ) {

                         alt4=1;

                     }

 

 

                 }

-                else if ( ((LA4_0>='\u0000' && LA4_0<='>')||(LA4_0>='@' && LA4_0<='\uFFFE')) ) {

+                else if ( ((LA4_0>='\u0000' && LA4_0<='>')||(LA4_0>='@' && LA4_0<='\uFFFF')) ) {

                     alt4=1;

                 }

 

 

                 switch (alt4) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1207:62: .

+            	    // JSP.g:1207:62: .

             	    {

-            	    matchAny();

+            	    matchAny(); 

 

             	    }

             	    break;

@@ -486,98 +504,93 @@
                 }

             } while (true);

 

-            match("?>");

+            match("?>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end XMLDECL

+    // $ANTLR end "XMLDECL"

 

-    // $ANTLR start DOCTYPE

+    // $ANTLR start "DOCTYPE"

     public final void mDOCTYPE() throws RecognitionException {

         try {

             int _type = DOCTYPE;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1212:7: ( '<!' ( 'D' | 'd' ) ( 'O' | 'o' ) ( 'C' | 'c' ) ( 'T' | 't' ) ( 'Y' | 'y' ) ( 'P' | 'p' ) ( 'E' | 'e' ) ( options {greedy=false; } : . )* '>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1212:7: '<!' ( 'D' | 'd' ) ( 'O' | 'o' ) ( 'C' | 'c' ) ( 'T' | 't' ) ( 'Y' | 'y' ) ( 'P' | 'p' ) ( 'E' | 'e' ) ( options {greedy=false; } : . )* '>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1211:5: ( '<!' ( 'D' | 'd' ) ( 'O' | 'o' ) ( 'C' | 'c' ) ( 'T' | 't' ) ( 'Y' | 'y' ) ( 'P' | 'p' ) ( 'E' | 'e' ) ( options {greedy=false; } : . )* '>' )

+            // JSP.g:1212:7: '<!' ( 'D' | 'd' ) ( 'O' | 'o' ) ( 'C' | 'c' ) ( 'T' | 't' ) ( 'Y' | 'y' ) ( 'P' | 'p' ) ( 'E' | 'e' ) ( options {greedy=false; } : . )* '>'

             {

-            match("<!");

+            match("<!"); 

 

             if ( input.LA(1)=='D'||input.LA(1)=='d' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='O'||input.LA(1)=='o' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='C'||input.LA(1)=='c' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='T'||input.LA(1)=='t' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='Y'||input.LA(1)=='y' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='P'||input.LA(1)=='p' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

             if ( input.LA(1)=='E'||input.LA(1)=='e' ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1212:74: ( options {greedy=false; } : . )*

+            // JSP.g:1212:74: ( options {greedy=false; } : . )*

             loop5:

             do {

                 int alt5=2;

@@ -586,16 +599,16 @@
                 if ( (LA5_0=='>') ) {

                     alt5=2;

                 }

-                else if ( ((LA5_0>='\u0000' && LA5_0<='=')||(LA5_0>='?' && LA5_0<='\uFFFE')) ) {

+                else if ( ((LA5_0>='\u0000' && LA5_0<='=')||(LA5_0>='?' && LA5_0<='\uFFFF')) ) {

                     alt5=1;

                 }

 

 

                 switch (alt5) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1212:101: .

+            	    // JSP.g:1212:101: .

             	    {

-            	    matchAny();

+            	    matchAny(); 

 

             	    }

             	    break;

@@ -605,25 +618,26 @@
                 }

             } while (true);

 

-            match('>');

+            match('>'); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end DOCTYPE

+    // $ANTLR end "DOCTYPE"

 

-    // $ANTLR start INTERNAL_DTD

+    // $ANTLR start "INTERNAL_DTD"

     public final void mINTERNAL_DTD() throws RecognitionException {

         try {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1215:25: ( '[' ( options {greedy=false; } : . )* ']' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1215:25: '[' ( options {greedy=false; } : . )* ']'

+            // JSP.g:1215:23: ( '[' ( options {greedy=false; } : . )* ']' )

+            // JSP.g:1215:25: '[' ( options {greedy=false; } : . )* ']'

             {

-            match('[');

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1215:29: ( options {greedy=false; } : . )*

+            match('['); 

+            // JSP.g:1215:29: ( options {greedy=false; } : . )*

             loop6:

             do {

                 int alt6=2;

@@ -632,16 +646,16 @@
                 if ( (LA6_0==']') ) {

                     alt6=2;

                 }

-                else if ( ((LA6_0>='\u0000' && LA6_0<='\\')||(LA6_0>='^' && LA6_0<='\uFFFE')) ) {

+                else if ( ((LA6_0>='\u0000' && LA6_0<='\\')||(LA6_0>='^' && LA6_0<='\uFFFF')) ) {

                     alt6=1;

                 }

 

 

                 switch (alt6) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1215:56: .

+            	    // JSP.g:1215:56: .

             	    {

-            	    matchAny();

+            	    matchAny(); 

 

             	    }

             	    break;

@@ -651,7 +665,7 @@
                 }

             } while (true);

 

-            match(']');

+            match(']'); 

 

             }

 

@@ -659,110 +673,77 @@
         finally {

         }

     }

-    // $ANTLR end INTERNAL_DTD

+    // $ANTLR end "INTERNAL_DTD"

 

-    // $ANTLR start ID

+    // $ANTLR start "ID"

     public final void mID() throws RecognitionException {

         try {

             int _type = ID;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1219:7: ( ( LETTER | '_' | '&' | '#' ) ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )* )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1219:7: ( LETTER | '_' | '&' | '#' ) ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )*

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1219:5: ( ( LETTER | '_' | '&' | '#' ) ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )* )

+            // JSP.g:1219:7: ( LETTER | '_' | '&' | '#' ) ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )*

             {

             if ( (input.LA(1)>='#' && input.LA(1)<='$')||input.LA(1)=='&'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='\u00A0'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u2018' && input.LA(1)<='\u201F')||(input.LA(1)>='\u2032' && input.LA(1)<='\u2037')||input.LA(1)=='\u20AC'||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:9: ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )*

+            // JSP.g:1220:9: ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )*

             loop7:

             do {

                 int alt7=8;

-                int LA7_0 = input.LA(1);

-

-                if ( (LA7_0=='\u00C2') ) {

-                    int LA7_2 = input.LA(2);

-

-                    if ( (LA7_2=='\u00B0') ) {

-                        alt7=7;

-                    }

-

-                    else {

-                        alt7=1;

-                    }

-

-                }

-                else if ( ((LA7_0>='0' && LA7_0<='9')) ) {

-                    alt7=2;

-                }

-                else if ( (LA7_0=='.') ) {

-                    alt7=3;

-                }

-                else if ( (LA7_0=='-') ) {

-                    alt7=4;

-                }

-                else if ( (LA7_0=='_') ) {

-                    alt7=5;

-                }

-                else if ( (LA7_0=='@') ) {

-                    alt7=6;

-                }

-                else if ( (LA7_0=='$'||(LA7_0>='A' && LA7_0<='Z')||(LA7_0>='a' && LA7_0<='z')||LA7_0=='\u00A0'||(LA7_0>='\u00C0' && LA7_0<='\u00C1')||(LA7_0>='\u00C3' && LA7_0<='\u00D6')||(LA7_0>='\u00D8' && LA7_0<='\u00F6')||(LA7_0>='\u00F8' && LA7_0<='\u1FFF')||(LA7_0>='\u2018' && LA7_0<='\u201F')||(LA7_0>='\u2032' && LA7_0<='\u2037')||LA7_0=='\u20AC'||(LA7_0>='\u3040' && LA7_0<='\u318F')||(LA7_0>='\u3300' && LA7_0<='\u337F')||(LA7_0>='\u3400' && LA7_0<='\u3D2D')||(LA7_0>='\u4E00' && LA7_0<='\u9FFF')||(LA7_0>='\uF900' && LA7_0<='\uFAFF')) ) {

-                    alt7=1;

-                }

-

-

+                alt7 = dfa7.predict(input);

                 switch (alt7) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:36: LETTER

+            	    // JSP.g:1220:36: LETTER

             	    {

-            	    mLETTER();

+            	    mLETTER(); 

 

             	    }

             	    break;

             	case 2 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:45: IDDigit

+            	    // JSP.g:1220:45: IDDigit

             	    {

-            	    mIDDigit();

+            	    mIDDigit(); 

 

             	    }

             	    break;

             	case 3 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:55: '.'

+            	    // JSP.g:1220:55: '.'

             	    {

-            	    match('.');

+            	    match('.'); 

 

             	    }

             	    break;

             	case 4 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:61: '-'

+            	    // JSP.g:1220:61: '-'

             	    {

-            	    match('-');

+            	    match('-'); 

 

             	    }

             	    break;

             	case 5 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:67: '_'

+            	    // JSP.g:1220:67: '_'

             	    {

-            	    match('_');

+            	    match('_'); 

 

             	    }

             	    break;

             	case 6 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:74: '@'

+            	    // JSP.g:1220:74: '@'

             	    {

-            	    match('@');

+            	    match('@'); 

 

             	    }

             	    break;

             	case 7 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1220:80: '°'

+            	    // JSP.g:1220:80: '°'

             	    {

-            	    match("°");

+            	    match("°"); 

 

 

             	    }

@@ -776,28 +757,28 @@
 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end ID

+    // $ANTLR end "ID"

 

-    // $ANTLR start LETTER

+    // $ANTLR start "LETTER"

     public final void mLETTER() throws RecognitionException {

         try {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1225:8: ( '\\u0024' | '\\u00A0' | '\\u0041' .. '\\u005a' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' | '\\u20AC' | '\\u2032' .. '\\u2037' | '\\u2018' .. '\\u201F' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:

+            // JSP.g:1225:5: ( '\\u0024' | '\\u00A0' | '\\u0041' .. '\\u005a' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' | '\\u20AC' | '\\u2032' .. '\\u2037' | '\\u2018' .. '\\u201F' )

+            // JSP.g:

             {

             if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z')||input.LA(1)=='\u00A0'||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u2018' && input.LA(1)<='\u201F')||(input.LA(1)>='\u2032' && input.LA(1)<='\u2037')||input.LA(1)=='\u20AC'||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) {

                 input.consume();

 

             }

             else {

-                MismatchedSetException mse =

-                    new MismatchedSetException(null,input);

-                recover(mse);    throw mse;

-            }

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                recover(mse);

+                throw mse;}

 

 

             }

@@ -806,15 +787,15 @@
         finally {

         }

     }

-    // $ANTLR end LETTER

+    // $ANTLR end "LETTER"

 

-    // $ANTLR start IDDigit

+    // $ANTLR start "IDDigit"

     public final void mIDDigit() throws RecognitionException {

         try {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1248:5: ( '\\u0030' .. '\\u0039' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1248:5: '\\u0030' .. '\\u0039'

+            // JSP.g:1247:3: ( '\\u0030' .. '\\u0039' )

+            // JSP.g:1248:5: '\\u0030' .. '\\u0039'

             {

-            matchRange('0','9');

+            matchRange('0','9'); 

 

             }

 

@@ -822,560 +803,394 @@
         finally {

         }

     }

-    // $ANTLR end IDDigit

+    // $ANTLR end "IDDigit"

 

-    // $ANTLR start SpecialCharacter

+    // $ANTLR start "SpecialCharacter"

     public final void mSpecialCharacter() throws RecognitionException {

         try {

             int _type = SpecialCharacter;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1254:5: ( '\\u00A0' .. '\\u00FF' | '{' | '}' | '|' | '!' | '#' | '$' | '&' | '(' | ')' | '*' | '+' | ',' | ( '-' )* | '.' | '\\/' | ';' | '?' | '[' | ']' | '`' | '%' | '@' | '\\\\' | '//' | '^' )

-            int alt9=26;

-            switch ( input.LA(1) ) {

-            case '\u00A0':

-            case '\u00A1':

-            case '\u00A2':

-            case '\u00A3':

-            case '\u00A4':

-            case '\u00A5':

-            case '\u00A6':

-            case '\u00A7':

-            case '\u00A8':

-            case '\u00A9':

-            case '\u00AA':

-            case '\u00AB':

-            case '\u00AC':

-            case '\u00AD':

-            case '\u00AE':

-            case '\u00AF':

-            case '\u00B0':

-            case '\u00B1':

-            case '\u00B2':

-            case '\u00B3':

-            case '\u00B4':

-            case '\u00B5':

-            case '\u00B6':

-            case '\u00B7':

-            case '\u00B8':

-            case '\u00B9':

-            case '\u00BA':

-            case '\u00BB':

-            case '\u00BC':

-            case '\u00BD':

-            case '\u00BE':

-            case '\u00BF':

-            case '\u00C0':

-            case '\u00C1':

-            case '\u00C2':

-            case '\u00C3':

-            case '\u00C4':

-            case '\u00C5':

-            case '\u00C6':

-            case '\u00C7':

-            case '\u00C8':

-            case '\u00C9':

-            case '\u00CA':

-            case '\u00CB':

-            case '\u00CC':

-            case '\u00CD':

-            case '\u00CE':

-            case '\u00CF':

-            case '\u00D0':

-            case '\u00D1':

-            case '\u00D2':

-            case '\u00D3':

-            case '\u00D4':

-            case '\u00D5':

-            case '\u00D6':

-            case '\u00D7':

-            case '\u00D8':

-            case '\u00D9':

-            case '\u00DA':

-            case '\u00DB':

-            case '\u00DC':

-            case '\u00DD':

-            case '\u00DE':

-            case '\u00DF':

-            case '\u00E0':

-            case '\u00E1':

-            case '\u00E2':

-            case '\u00E3':

-            case '\u00E4':

-            case '\u00E5':

-            case '\u00E6':

-            case '\u00E7':

-            case '\u00E8':

-            case '\u00E9':

-            case '\u00EA':

-            case '\u00EB':

-            case '\u00EC':

-            case '\u00ED':

-            case '\u00EE':

-            case '\u00EF':

-            case '\u00F0':

-            case '\u00F1':

-            case '\u00F2':

-            case '\u00F3':

-            case '\u00F4':

-            case '\u00F5':

-            case '\u00F6':

-            case '\u00F7':

-            case '\u00F8':

-            case '\u00F9':

-            case '\u00FA':

-            case '\u00FB':

-            case '\u00FC':

-            case '\u00FD':

-            case '\u00FE':

-            case '\u00FF':

-                {

-                alt9=1;

-                }

-                break;

-            case '{':

-                {

-                alt9=2;

-                }

-                break;

-            case '}':

-                {

-                alt9=3;

-                }

-                break;

-            case '|':

-                {

-                alt9=4;

-                }

-                break;

-            case '!':

-                {

-                alt9=5;

-                }

-                break;

-            case '#':

-                {

-                alt9=6;

-                }

-                break;

-            case '$':

-                {

-                alt9=7;

-                }

-                break;

-            case '&':

-                {

-                alt9=8;

-                }

-                break;

-            case '(':

-                {

-                alt9=9;

-                }

-                break;

-            case ')':

-                {

-                alt9=10;

-                }

-                break;

-            case '*':

-                {

-                alt9=11;

-                }

-                break;

-            case '+':

-                {

-                alt9=12;

-                }

-                break;

-            case ',':

-                {

-                alt9=13;

-                }

-                break;

-            case '.':

-                {

-                alt9=15;

-                }

-                break;

-            case '/':

-                {

-                int LA9_16 = input.LA(2);

-

-                if ( (LA9_16=='/') ) {

-                    alt9=25;

-                }

-                else {

-                    alt9=16;}

-                }

-                break;

-            case ';':

-                {

-                alt9=17;

-                }

-                break;

-            case '?':

-                {

-                alt9=18;

-                }

-                break;

-            case '[':

-                {

-                alt9=19;

-                }

-                break;

-            case ']':

-                {

-                alt9=20;

-                }

-                break;

-            case '`':

-                {

-                alt9=21;

-                }

-                break;

-            case '%':

-                {

-                alt9=22;

-                }

-                break;

-            case '@':

-                {

-                alt9=23;

-                }

-                break;

-            case '\\':

-                {

-                alt9=24;

-                }

-                break;

-            case '^':

-                {

-                alt9=26;

-                }

-                break;

-            default:

-                alt9=14;}

-

-            switch (alt9) {

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1253:3: ( '\\u00A0' .. '\\u00FF' | '\\u2400' .. '\\u377F' | '{' | '}' | '|' | '!' | '#' | '$' | '&' | '(' | ')' | '*' | '+' | ',' | '-' | '--' | '.' | '\\/' | ';' | '?' | '[' | ']' | '`' | '%' | '@' | '\\\\' | '//' | '^' )

+            int alt8=28;

+            alt8 = dfa8.predict(input);

+            switch (alt8) {

                 case 1 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1254:5: '\\u00A0' .. '\\u00FF'

+                    // JSP.g:1254:5: '\\u00A0' .. '\\u00FF'

                     {

-                    matchRange('\u00A0','\u00FF');

+                    matchRange('\u00A0','\u00FF'); 

 

                     }

                     break;

                 case 2 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1255:6: '{'

+                    // JSP.g:1255:6: '\\u2400' .. '\\u377F'

                     {

-                    match('{');

+                    matchRange('\u2400','\u377F'); 

 

                     }

                     break;

                 case 3 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1256:6: '}'

+                    // JSP.g:1256:6: '{'

                     {

-                    match('}');

+                    match('{'); 

 

                     }

                     break;

                 case 4 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1257:6: '|'

+                    // JSP.g:1257:6: '}'

                     {

-                    match('|');

+                    match('}'); 

 

                     }

                     break;

                 case 5 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1258:6: '!'

+                    // JSP.g:1258:6: '|'

                     {

-                    match('!');

+                    match('|'); 

 

                     }

                     break;

                 case 6 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1259:6: '#'

+                    // JSP.g:1259:6: '!'

                     {

-                    match('#');

+                    match('!'); 

 

                     }

                     break;

                 case 7 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1260:6: '$'

+                    // JSP.g:1260:6: '#'

                     {

-                    match('$');

+                    match('#'); 

 

                     }

                     break;

                 case 8 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1261:6: '&'

+                    // JSP.g:1261:6: '$'

                     {

-                    match('&');

+                    match('$'); 

 

                     }

                     break;

                 case 9 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1262:6: '('

+                    // JSP.g:1262:6: '&'

                     {

-                    match('(');

+                    match('&'); 

 

                     }

                     break;

                 case 10 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1263:6: ')'

+                    // JSP.g:1263:6: '('

                     {

-                    match(')');

+                    match('('); 

 

                     }

                     break;

                 case 11 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1264:6: '*'

+                    // JSP.g:1264:6: ')'

                     {

-                    match('*');

+                    match(')'); 

 

                     }

                     break;

                 case 12 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1265:6: '+'

+                    // JSP.g:1265:6: '*'

                     {

-                    match('+');

+                    match('*'); 

 

                     }

                     break;

                 case 13 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1266:6: ','

+                    // JSP.g:1266:6: '+'

                     {

-                    match(',');

+                    match('+'); 

 

                     }

                     break;

                 case 14 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1267:6: ( '-' )*

+                    // JSP.g:1267:6: ','

                     {

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1267:6: ( '-' )*

-                    loop8:

-                    do {

-                        int alt8=2;

-                        int LA8_0 = input.LA(1);

-

-                        if ( (LA8_0=='-') ) {

-                            alt8=1;

-                        }

-

-

-                        switch (alt8) {

-                    	case 1 :

-                    	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1267:6: '-'

-                    	    {

-                    	    match('-');

-

-                    	    }

-                    	    break;

-

-                    	default :

-                    	    break loop8;

-                        }

-                    } while (true);

-

+                    match(','); 

 

                     }

                     break;

                 case 15 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1268:6: '.'

+                    // JSP.g:1268:6: '-'

                     {

-                    match('.');

+                    match('-'); 

 

                     }

                     break;

                 case 16 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1269:6: '\\/'

+                    // JSP.g:1269:6: '--'

                     {

-                    match('/');

+                    match("--"); 

+

 

                     }

                     break;

                 case 17 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1270:6: ';'

+                    // JSP.g:1270:6: '.'

                     {

-                    match(';');

+                    match('.'); 

 

                     }

                     break;

                 case 18 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1271:6: '?'

+                    // JSP.g:1271:6: '\\/'

                     {

-                    match('?');

+                    match('/'); 

 

                     }

                     break;

                 case 19 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1272:6: '['

+                    // JSP.g:1272:6: ';'

                     {

-                    match('[');

+                    match(';'); 

 

                     }

                     break;

                 case 20 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1273:6: ']'

+                    // JSP.g:1273:6: '?'

                     {

-                    match(']');

+                    match('?'); 

 

                     }

                     break;

                 case 21 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1274:6: '`'

+                    // JSP.g:1274:6: '['

                     {

-                    match('`');

+                    match('['); 

 

                     }

                     break;

                 case 22 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1275:6: '%'

+                    // JSP.g:1275:6: ']'

                     {

-                    match('%');

+                    match(']'); 

 

                     }

                     break;

                 case 23 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1276:6: '@'

+                    // JSP.g:1276:6: '`'

                     {

-                    match('@');

+                    match('`'); 

 

                     }

                     break;

                 case 24 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1277:6: '\\\\'

+                    // JSP.g:1277:6: '%'

                     {

-                    match('\\');

+                    match('%'); 

 

                     }

                     break;

                 case 25 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1278:6: '//'

+                    // JSP.g:1278:6: '@'

                     {

-                    match("//");

-

+                    match('@'); 

 

                     }

                     break;

                 case 26 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1279:6: '^'

+                    // JSP.g:1279:6: '\\\\'

                     {

-                    match('^');

+                    match('\\'); 

+

+                    }

+                    break;

+                case 27 :

+                    // JSP.g:1280:6: '//'

+                    {

+                    match("//"); 

+

+

+                    }

+                    break;

+                case 28 :

+                    // JSP.g:1281:6: '^'

+                    {

+                    match('^'); 

 

                     }

                     break;

 

             }

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end SpecialCharacter

+    // $ANTLR end "SpecialCharacter"

 

-    // $ANTLR start SQUOTE

+    // $ANTLR start "SQUOTE"

     public final void mSQUOTE() throws RecognitionException {

         try {

             int _type = SQUOTE;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1282:10: ( '\\'' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1282:10: '\\''

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1284:8: ( '\\'' )

+            // JSP.g:1284:10: '\\''

             {

-            match('\'');

+            match('\''); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end SQUOTE

+    // $ANTLR end "SQUOTE"

 

-    // $ANTLR start DQUOTE

+    // $ANTLR start "DQUOTE"

     public final void mDQUOTE() throws RecognitionException {

         try {

             int _type = DQUOTE;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1283:10: ( '\"' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1283:10: '\"'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1285:8: ( '\"' )

+            // JSP.g:1285:10: '\"'

             {

-            match('\"');

+            match('\"'); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end DQUOTE

+    // $ANTLR end "DQUOTE"

 

-    // $ANTLR start DDOT

+    // $ANTLR start "DDOT"

     public final void mDDOT() throws RecognitionException {

         try {

             int _type = DDOT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1284:10: ( ':' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1284:10: ':'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1286:8: ( ':' )

+            // JSP.g:1286:10: ':'

             {

-            match(':');

+            match(':'); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end DDOT

+    // $ANTLR end "DDOT"

 

-    // $ANTLR start EQUAL

+    // $ANTLR start "EQUAL"

     public final void mEQUAL() throws RecognitionException {

         try {

             int _type = EQUAL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1285:10: ( '=' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1285:10: '='

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1287:8: ( '=' )

+            // JSP.g:1287:10: '='

             {

-            match('=');

+            match('='); 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end EQUAL

+    // $ANTLR end "EQUAL"

 

-    // $ANTLR start WS

+    // $ANTLR start "WS"

     public final void mWS() throws RecognitionException {

         try {

             int _type = WS;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1290:5: ( ( ' ' | '\\n' )+ )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1290:5: ( ' ' | '\\n' )+

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1290:3: ( ( ' ' | '\\n' )+ )

+            // JSP.g:1292:5: ( ' ' | '\\n' )+

             {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1290:5: ( ' ' | '\\n' )+

-            int cnt10=0;

-            loop10:

+            // JSP.g:1292:5: ( ' ' | '\\n' )+

+            int cnt9=0;

+            loop9:

             do {

-                int alt10=2;

-                int LA10_0 = input.LA(1);

+                int alt9=2;

+                int LA9_0 = input.LA(1);

 

-                if ( (LA10_0=='\n'||LA10_0==' ') ) {

-                    alt10=1;

+                if ( (LA9_0=='\n'||LA9_0==' ') ) {

+                    alt9=1;

                 }

 

 

-                switch (alt10) {

+                switch (alt9) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:

+            	    // JSP.g:

             	    {

             	    if ( input.LA(1)=='\n'||input.LA(1)==' ' ) {

             	        input.consume();

 

             	    }

             	    else {

-            	        MismatchedSetException mse =

-            	            new MismatchedSetException(null,input);

-            	        recover(mse);    throw mse;

+            	        MismatchedSetException mse = new MismatchedSetException(null,input);

+            	        recover(mse);

+            	        throw mse;}

+

+

             	    }

+            	    break;

+

+            	default :

+            	    if ( cnt9 >= 1 ) break loop9;

+                        EarlyExitException eee =

+                            new EarlyExitException(9, input);

+                        throw eee;

+                }

+                cnt9++;

+            } while (true);

+

+

+            }

+

+            state.type = _type;

+            state.channel = _channel;

+        }

+        finally {

+        }

+    }

+    // $ANTLR end "WS"

+

+    // $ANTLR start "WS2"

+    public final void mWS2() throws RecognitionException {

+        try {

+            int _type = WS2;

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1299:3: ( ( '\\r' | '\\f' | '\\t' )+ )

+            // JSP.g:1300:5: ( '\\r' | '\\f' | '\\t' )+

+            {

+            // JSP.g:1300:5: ( '\\r' | '\\f' | '\\t' )+

+            int cnt10=0;

+            loop10:

+            do {

+                int alt10=2;

+                int LA10_0 = input.LA(1);

+

+                if ( (LA10_0=='\t'||(LA10_0>='\f' && LA10_0<='\r')) ) {

+                    alt10=1;

+                }

+

+

+                switch (alt10) {

+            	case 1 :

+            	    // JSP.g:

+            	    {

+            	    if ( input.LA(1)=='\t'||(input.LA(1)>='\f' && input.LA(1)<='\r') ) {

+            	        input.consume();

+

+            	    }

+            	    else {

+            	        MismatchedSetException mse = new MismatchedSetException(null,input);

+            	        recover(mse);

+            	        throw mse;}

 

 

             	    }

@@ -1390,103 +1205,48 @@
                 cnt10++;

             } while (true);

 

+            _channel = HIDDEN;

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end WS

+    // $ANTLR end "WS2"

 

-    // $ANTLR start WS2

-    public final void mWS2() throws RecognitionException {

-        try {

-            int _type = WS2;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1298:5: ( ( '\\r' | '\\f' | '\\t' )+ )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1298:5: ( '\\r' | '\\f' | '\\t' )+

-            {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1298:5: ( '\\r' | '\\f' | '\\t' )+

-            int cnt11=0;

-            loop11:

-            do {

-                int alt11=2;

-                int LA11_0 = input.LA(1);

-

-                if ( (LA11_0=='\t'||(LA11_0>='\f' && LA11_0<='\r')) ) {

-                    alt11=1;

-                }

-

-

-                switch (alt11) {

-            	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:

-            	    {

-            	    if ( input.LA(1)=='\t'||(input.LA(1)>='\f' && input.LA(1)<='\r') ) {

-            	        input.consume();

-

-            	    }

-            	    else {

-            	        MismatchedSetException mse =

-            	            new MismatchedSetException(null,input);

-            	        recover(mse);    throw mse;

-            	    }

-

-

-            	    }

-            	    break;

-

-            	default :

-            	    if ( cnt11 >= 1 ) break loop11;

-                        EarlyExitException eee =

-                            new EarlyExitException(11, input);

-                        throw eee;

-                }

-                cnt11++;

-            } while (true);

-

-            channel = HIDDEN;

-

-            }

-

-            this.type = _type;

-        }

-        finally {

-        }

-    }

-    // $ANTLR end WS2

-

-    // $ANTLR start Digit

+    // $ANTLR start "Digit"

     public final void mDigit() throws RecognitionException {

         try {

             int _type = Digit;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:5: ( ( ( '-' | '#' | '+' )? ) ( '\\u0030' .. '\\u0039' ) ( '\\u0030' .. '\\u0039' | '%' | ',' | '.' )* )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:5: ( ( '-' | '#' | '+' )? ) ( '\\u0030' .. '\\u0039' ) ( '\\u0030' .. '\\u0039' | '%' | ',' | '.' )*

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1307:3: ( ( ( '-' | '#' | '+' )? ) ( '\\u0030' .. '\\u0039' ) ( '\\u0030' .. '\\u0039' | '%' | ',' | '.' )* )

+            // JSP.g:1309:5: ( ( '-' | '#' | '+' )? ) ( '\\u0030' .. '\\u0039' ) ( '\\u0030' .. '\\u0039' | '%' | ',' | '.' )*

             {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:5: ( ( '-' | '#' | '+' )? )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:6: ( '-' | '#' | '+' )?

+            // JSP.g:1309:5: ( ( '-' | '#' | '+' )? )

+            // JSP.g:1309:6: ( '-' | '#' | '+' )?

             {

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:6: ( '-' | '#' | '+' )?

-            int alt12=2;

-            int LA12_0 = input.LA(1);

+            // JSP.g:1309:6: ( '-' | '#' | '+' )?

+            int alt11=2;

+            int LA11_0 = input.LA(1);

 

-            if ( (LA12_0=='#'||LA12_0=='+'||LA12_0=='-') ) {

-                alt12=1;

+            if ( (LA11_0=='#'||LA11_0=='+'||LA11_0=='-') ) {

+                alt11=1;

             }

-            switch (alt12) {

+            switch (alt11) {

                 case 1 :

-                    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:

+                    // JSP.g:

                     {

                     if ( input.LA(1)=='#'||input.LA(1)=='+'||input.LA(1)=='-' ) {

                         input.consume();

 

                     }

                     else {

-                        MismatchedSetException mse =

-                            new MismatchedSetException(null,input);

-                        recover(mse);    throw mse;

-                    }

+                        MismatchedSetException mse = new MismatchedSetException(null,input);

+                        recover(mse);

+                        throw mse;}

 

 

                     }

@@ -1497,1355 +1257,1445 @@
 

             }

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:21: ( '\\u0030' .. '\\u0039' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:22: '\\u0030' .. '\\u0039'

+            // JSP.g:1309:21: ( '\\u0030' .. '\\u0039' )

+            // JSP.g:1309:22: '\\u0030' .. '\\u0039'

             {

-            matchRange('0','9');

+            matchRange('0','9'); 

 

             }

 

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1307:41: ( '\\u0030' .. '\\u0039' | '%' | ',' | '.' )*

-            loop13:

+            // JSP.g:1309:41: ( '\\u0030' .. '\\u0039' | '%' | ',' | '.' )*

+            loop12:

             do {

-                int alt13=2;

-                int LA13_0 = input.LA(1);

+                int alt12=2;

+                int LA12_0 = input.LA(1);

 

-                if ( (LA13_0=='%'||LA13_0==','||LA13_0=='.'||(LA13_0>='0' && LA13_0<='9')) ) {

-                    alt13=1;

+                if ( (LA12_0=='%'||LA12_0==','||LA12_0=='.'||(LA12_0>='0' && LA12_0<='9')) ) {

+                    alt12=1;

                 }

 

 

-                switch (alt13) {

+                switch (alt12) {

             	case 1 :

-            	    // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:

+            	    // JSP.g:

             	    {

             	    if ( input.LA(1)=='%'||input.LA(1)==','||input.LA(1)=='.'||(input.LA(1)>='0' && input.LA(1)<='9') ) {

             	        input.consume();

 

             	    }

             	    else {

-            	        MismatchedSetException mse =

-            	            new MismatchedSetException(null,input);

-            	        recover(mse);    throw mse;

-            	    }

+            	        MismatchedSetException mse = new MismatchedSetException(null,input);

+            	        recover(mse);

+            	        throw mse;}

 

 

             	    }

             	    break;

 

             	default :

-            	    break loop13;

+            	    break loop12;

                 }

             } while (true);

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end Digit

+    // $ANTLR end "Digit"

 

-    // $ANTLR start OPENCLOSE

+    // $ANTLR start "OPENCLOSE"

     public final void mOPENCLOSE() throws RecognitionException {

         try {

             int _type = OPENCLOSE;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1311:15: ( '</' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1311:15: '</'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1313:13: ( '</' )

+            // JSP.g:1313:15: '</'

             {

-            match("</");

+            match("</"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENCLOSE

+    // $ANTLR end "OPENCLOSE"

 

-    // $ANTLR start JSPTAGOPEN

+    // $ANTLR start "JSPTAGOPEN"

     public final void mJSPTAGOPEN() throws RecognitionException {

         try {

             int _type = JSPTAGOPEN;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1314:15: ( '<%' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1314:15: '<%'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1316:13: ( '<%' )

+            // JSP.g:1316:15: '<%'

             {

-            match("<%");

+            match("<%"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPTAGOPEN

+    // $ANTLR end "JSPTAGOPEN"

 

-    // $ANTLR start JSPTAGCLOSE

+    // $ANTLR start "JSPTAGCLOSE"

     public final void mJSPTAGCLOSE() throws RecognitionException {

         try {

             int _type = JSPTAGCLOSE;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1315:15: ( '%>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1315:15: '%>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1317:13: ( '%>' )

+            // JSP.g:1317:15: '%>'

             {

-            match("%>");

+            match("%>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPTAGCLOSE

+    // $ANTLR end "JSPTAGCLOSE"

 

-    // $ANTLR start JSPOPENEXPR

+    // $ANTLR start "JSPOPENEXPR"

     public final void mJSPOPENEXPR() throws RecognitionException {

         try {

             int _type = JSPOPENEXPR;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1316:15: ( '<%=' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1316:15: '<%='

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1318:13: ( '<%=' )

+            // JSP.g:1318:15: '<%='

             {

-            match("<%=");

+            match("<%="); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENEXPR

+    // $ANTLR end "JSPOPENEXPR"

 

-    // $ANTLR start JSPOPENDECL

+    // $ANTLR start "JSPOPENDECL"

     public final void mJSPOPENDECL() throws RecognitionException {

         try {

             int _type = JSPOPENDECL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1317:15: ( '<%!' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1317:15: '<%!'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1319:13: ( '<%!' )

+            // JSP.g:1319:15: '<%!'

             {

-            match("<%!");

+            match("<%!"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENDECL

+    // $ANTLR end "JSPOPENDECL"

 

-    // $ANTLR start JSPOPENDIR

+    // $ANTLR start "JSPOPENDIR"

     public final void mJSPOPENDIR() throws RecognitionException {

         try {

             int _type = JSPOPENDIR;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1318:15: ( '<%@' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1318:15: '<%@'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1320:13: ( '<%@' )

+            // JSP.g:1320:15: '<%@'

             {

-            match("<%@");

+            match("<%@"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENDIR

+    // $ANTLR end "JSPOPENDIR"

 

-    // $ANTLR start JSPCLOSEACT

+    // $ANTLR start "JSPCLOSEACT"

     public final void mJSPCLOSEACT() throws RecognitionException {

         try {

             int _type = JSPCLOSEACT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1319:15: ( '/>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1319:15: '/>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1321:13: ( '/>' )

+            // JSP.g:1321:15: '/>'

             {

-            match("/>");

+            match("/>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEACT

+    // $ANTLR end "JSPCLOSEACT"

 

-    // $ANTLR start JSPUSEBEAN

+    // $ANTLR start "JSPUSEBEAN"

     public final void mJSPUSEBEAN() throws RecognitionException {

         try {

             int _type = JSPUSEBEAN;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1322:15: ( '<jsp:useBean' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1322:15: '<jsp:useBean'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1324:13: ( '<jsp:useBean' )

+            // JSP.g:1324:15: '<jsp:useBean'

             {

-            match("<jsp:useBean");

+            match("<jsp:useBean"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPUSEBEAN

+    // $ANTLR end "JSPUSEBEAN"

 

-    // $ANTLR start JSPSET

+    // $ANTLR start "JSPSET"

     public final void mJSPSET() throws RecognitionException {

         try {

             int _type = JSPSET;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1323:15: ( '<jsp:setProperty' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1323:15: '<jsp:setProperty'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1325:13: ( '<jsp:setProperty' )

+            // JSP.g:1325:15: '<jsp:setProperty'

             {

-            match("<jsp:setProperty");

+            match("<jsp:setProperty"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPSET

+    // $ANTLR end "JSPSET"

 

-    // $ANTLR start JSPGET

+    // $ANTLR start "JSPGET"

     public final void mJSPGET() throws RecognitionException {

         try {

             int _type = JSPGET;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1324:15: ( '<jsp:getProperty' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1324:15: '<jsp:getProperty'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1326:13: ( '<jsp:getProperty' )

+            // JSP.g:1326:15: '<jsp:getProperty'

             {

-            match("<jsp:getProperty");

+            match("<jsp:getProperty"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPGET

+    // $ANTLR end "JSPGET"

 

-    // $ANTLR start JSPOPENINC

+    // $ANTLR start "JSPOPENINC"

     public final void mJSPOPENINC() throws RecognitionException {

         try {

             int _type = JSPOPENINC;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1325:15: ( '<jsp:include' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1325:15: '<jsp:include'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1327:13: ( '<jsp:include' )

+            // JSP.g:1327:15: '<jsp:include'

             {

-            match("<jsp:include");

+            match("<jsp:include"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENINC

+    // $ANTLR end "JSPOPENINC"

 

-    // $ANTLR start JSPCLOSEINC

+    // $ANTLR start "JSPCLOSEINC"

     public final void mJSPCLOSEINC() throws RecognitionException {

         try {

             int _type = JSPCLOSEINC;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1326:15: ( '</jsp:include>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1326:15: '</jsp:include>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1328:13: ( '</jsp:include>' )

+            // JSP.g:1328:15: '</jsp:include>'

             {

-            match("</jsp:include>");

+            match("</jsp:include>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEINC

+    // $ANTLR end "JSPCLOSEINC"

 

-    // $ANTLR start JSPOPENFWD

+    // $ANTLR start "JSPOPENFWD"

     public final void mJSPOPENFWD() throws RecognitionException {

         try {

             int _type = JSPOPENFWD;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1327:15: ( '<jsp:forward' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1327:15: '<jsp:forward'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1329:13: ( '<jsp:forward' )

+            // JSP.g:1329:15: '<jsp:forward'

             {

-            match("<jsp:forward");

+            match("<jsp:forward"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENFWD

+    // $ANTLR end "JSPOPENFWD"

 

-    // $ANTLR start JSPCLOSEFWD

+    // $ANTLR start "JSPCLOSEFWD"

     public final void mJSPCLOSEFWD() throws RecognitionException {

         try {

             int _type = JSPCLOSEFWD;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1328:15: ( '</jsp:forward>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1328:15: '</jsp:forward>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1330:13: ( '</jsp:forward>' )

+            // JSP.g:1330:15: '</jsp:forward>'

             {

-            match("</jsp:forward>");

+            match("</jsp:forward>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEFWD

+    // $ANTLR end "JSPCLOSEFWD"

 

-    // $ANTLR start JSPOPENPLUG

+    // $ANTLR start "JSPOPENPLUG"

     public final void mJSPOPENPLUG() throws RecognitionException {

         try {

             int _type = JSPOPENPLUG;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1329:15: ( '<jsp:plugin' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1329:15: '<jsp:plugin'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1331:13: ( '<jsp:plugin' )

+            // JSP.g:1331:15: '<jsp:plugin'

             {

-            match("<jsp:plugin");

+            match("<jsp:plugin"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENPLUG

+    // $ANTLR end "JSPOPENPLUG"

 

-    // $ANTLR start JSPCLOSEPLUG

+    // $ANTLR start "JSPCLOSEPLUG"

     public final void mJSPCLOSEPLUG() throws RecognitionException {

         try {

             int _type = JSPCLOSEPLUG;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1330:15: ( '</jsp:plugin>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1330:15: '</jsp:plugin>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1332:13: ( '</jsp:plugin>' )

+            // JSP.g:1332:15: '</jsp:plugin>'

             {

-            match("</jsp:plugin>");

+            match("</jsp:plugin>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEPLUG

+    // $ANTLR end "JSPCLOSEPLUG"

 

-    // $ANTLR start JSPOPENFALL

+    // $ANTLR start "JSPOPENFALL"

     public final void mJSPOPENFALL() throws RecognitionException {

         try {

             int _type = JSPOPENFALL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1331:15: ( '<jsp:fallback>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1331:15: '<jsp:fallback>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1333:13: ( '<jsp:fallback>' )

+            // JSP.g:1333:15: '<jsp:fallback>'

             {

-            match("<jsp:fallback>");

+            match("<jsp:fallback>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENFALL

+    // $ANTLR end "JSPOPENFALL"

 

-    // $ANTLR start JSPCLOSEFALL

+    // $ANTLR start "JSPCLOSEFALL"

     public final void mJSPCLOSEFALL() throws RecognitionException {

         try {

             int _type = JSPCLOSEFALL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1332:15: ( '</jsp:fallback>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1332:15: '</jsp:fallback>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1334:13: ( '</jsp:fallback>' )

+            // JSP.g:1334:15: '</jsp:fallback>'

             {

-            match("</jsp:fallback>");

+            match("</jsp:fallback>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEFALL

+    // $ANTLR end "JSPCLOSEFALL"

 

-    // $ANTLR start JSPOPENPARA

+    // $ANTLR start "JSPOPENPARA"

     public final void mJSPOPENPARA() throws RecognitionException {

         try {

             int _type = JSPOPENPARA;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1333:15: ( '<jsp:param' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1333:15: '<jsp:param'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1335:13: ( '<jsp:param' )

+            // JSP.g:1335:15: '<jsp:param'

             {

-            match("<jsp:param");

+            match("<jsp:param"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENPARA

+    // $ANTLR end "JSPOPENPARA"

 

-    // $ANTLR start JSPOPENPARAS

+    // $ANTLR start "JSPOPENPARAS"

     public final void mJSPOPENPARAS() throws RecognitionException {

         try {

             int _type = JSPOPENPARAS;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1334:15: ( '<jsp:params>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1334:15: '<jsp:params>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1336:13: ( '<jsp:params>' )

+            // JSP.g:1336:15: '<jsp:params>'

             {

-            match("<jsp:params>");

+            match("<jsp:params>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENPARAS

+    // $ANTLR end "JSPOPENPARAS"

 

-    // $ANTLR start JSPCLOSEPARAS

+    // $ANTLR start "JSPCLOSEPARAS"

     public final void mJSPCLOSEPARAS() throws RecognitionException {

         try {

             int _type = JSPCLOSEPARAS;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1335:15: ( '</jsp:params>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1335:15: '</jsp:params>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1337:14: ( '</jsp:params>' )

+            // JSP.g:1337:15: '</jsp:params>'

             {

-            match("</jsp:params>");

+            match("</jsp:params>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEPARAS

+    // $ANTLR end "JSPCLOSEPARAS"

 

-    // $ANTLR start JSPOPENROOT

+    // $ANTLR start "JSPOPENROOT"

     public final void mJSPOPENROOT() throws RecognitionException {

         try {

             int _type = JSPOPENROOT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1336:15: ( '<jsp:root' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1336:15: '<jsp:root'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1338:13: ( '<jsp:root' )

+            // JSP.g:1338:15: '<jsp:root'

             {

-            match("<jsp:root");

+            match("<jsp:root"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENROOT

+    // $ANTLR end "JSPOPENROOT"

 

-    // $ANTLR start JSPCLOSEROOT

+    // $ANTLR start "JSPCLOSEROOT"

     public final void mJSPCLOSEROOT() throws RecognitionException {

         try {

             int _type = JSPCLOSEROOT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1337:15: ( '</jsp:root>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1337:15: '</jsp:root>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1339:13: ( '</jsp:root>' )

+            // JSP.g:1339:15: '</jsp:root>'

             {

-            match("</jsp:root>");

+            match("</jsp:root>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEROOT

+    // $ANTLR end "JSPCLOSEROOT"

 

-    // $ANTLR start JSPOPENTEXT

+    // $ANTLR start "JSPOPENTEXT"

     public final void mJSPOPENTEXT() throws RecognitionException {

         try {

             int _type = JSPOPENTEXT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1338:15: ( '<jsp:text>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1338:15: '<jsp:text>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1340:13: ( '<jsp:text>' )

+            // JSP.g:1340:15: '<jsp:text>'

             {

-            match("<jsp:text>");

+            match("<jsp:text>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENTEXT

+    // $ANTLR end "JSPOPENTEXT"

 

-    // $ANTLR start JSPCLOSETEXT

+    // $ANTLR start "JSPCLOSETEXT"

     public final void mJSPCLOSETEXT() throws RecognitionException {

         try {

             int _type = JSPCLOSETEXT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1339:15: ( '</jsp:text>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1339:15: '</jsp:text>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1341:13: ( '</jsp:text>' )

+            // JSP.g:1341:15: '</jsp:text>'

             {

-            match("</jsp:text>");

+            match("</jsp:text>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSETEXT

+    // $ANTLR end "JSPCLOSETEXT"

 

-    // $ANTLR start JSPCLOSEATTR

+    // $ANTLR start "JSPCLOSEATTR"

     public final void mJSPCLOSEATTR() throws RecognitionException {

         try {

             int _type = JSPCLOSEATTR;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1340:15: ( '</jsp:attribute>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1340:15: '</jsp:attribute>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1342:13: ( '</jsp:attribute>' )

+            // JSP.g:1342:15: '</jsp:attribute>'

             {

-            match("</jsp:attribute>");

+            match("</jsp:attribute>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEATTR

+    // $ANTLR end "JSPCLOSEATTR"

 

-    // $ANTLR start JSPOPENATTR

+    // $ANTLR start "JSPOPENATTR"

     public final void mJSPOPENATTR() throws RecognitionException {

         try {

             int _type = JSPOPENATTR;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1341:15: ( '<jsp:attribute' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1341:15: '<jsp:attribute'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1343:13: ( '<jsp:attribute' )

+            // JSP.g:1343:15: '<jsp:attribute'

             {

-            match("<jsp:attribute");

+            match("<jsp:attribute"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENATTR

+    // $ANTLR end "JSPOPENATTR"

 

-    // $ANTLR start JSPOPENBODY

+    // $ANTLR start "JSPOPENBODY"

     public final void mJSPOPENBODY() throws RecognitionException {

         try {

             int _type = JSPOPENBODY;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1342:15: ( '<jsp:body>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1342:15: '<jsp:body>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1344:13: ( '<jsp:body>' )

+            // JSP.g:1344:15: '<jsp:body>'

             {

-            match("<jsp:body>");

+            match("<jsp:body>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENBODY

+    // $ANTLR end "JSPOPENBODY"

 

-    // $ANTLR start JSPCLOSEBODY

+    // $ANTLR start "JSPCLOSEBODY"

     public final void mJSPCLOSEBODY() throws RecognitionException {

         try {

             int _type = JSPCLOSEBODY;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1343:15: ( '</jsp:body>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1343:15: '</jsp:body>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1345:13: ( '</jsp:body>' )

+            // JSP.g:1345:15: '</jsp:body>'

             {

-            match("</jsp:body>");

+            match("</jsp:body>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPCLOSEBODY

+    // $ANTLR end "JSPCLOSEBODY"

 

-    // $ANTLR start JSPOPENINVOKE

+    // $ANTLR start "JSPOPENINVOKE"

     public final void mJSPOPENINVOKE() throws RecognitionException {

         try {

             int _type = JSPOPENINVOKE;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1344:16: ( '<jsp:invoke' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1344:16: '<jsp:invoke'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1346:14: ( '<jsp:invoke' )

+            // JSP.g:1346:16: '<jsp:invoke'

             {

-            match("<jsp:invoke");

+            match("<jsp:invoke"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENINVOKE

+    // $ANTLR end "JSPOPENINVOKE"

 

-    // $ANTLR start JSPOPENDOBODY

+    // $ANTLR start "JSPOPENDOBODY"

     public final void mJSPOPENDOBODY() throws RecognitionException {

         try {

             int _type = JSPOPENDOBODY;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1345:16: ( '<jsp:doBody' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1345:16: '<jsp:doBody'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1347:14: ( '<jsp:doBody' )

+            // JSP.g:1347:16: '<jsp:doBody'

             {

-            match("<jsp:doBody");

+            match("<jsp:doBody"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENDOBODY

+    // $ANTLR end "JSPOPENDOBODY"

 

-    // $ANTLR start JSPOPENOUTPUT

+    // $ANTLR start "JSPOPENOUTPUT"

     public final void mJSPOPENOUTPUT() throws RecognitionException {

         try {

             int _type = JSPOPENOUTPUT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1346:16: ( '<jsp:output' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1346:16: '<jsp:output'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1348:14: ( '<jsp:output' )

+            // JSP.g:1348:16: '<jsp:output'

             {

-            match("<jsp:output");

+            match("<jsp:output"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPOPENOUTPUT

+    // $ANTLR end "JSPOPENOUTPUT"

 

-    // $ANTLR start JSPELEMENTOP

+    // $ANTLR start "JSPELEMENTOP"

     public final void mJSPELEMENTOP() throws RecognitionException {

         try {

             int _type = JSPELEMENTOP;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1347:16: ( '<jsp:element' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1347:16: '<jsp:element'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1349:14: ( '<jsp:element' )

+            // JSP.g:1349:16: '<jsp:element'

             {

-            match("<jsp:element");

+            match("<jsp:element"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end JSPELEMENTOP

+    // $ANTLR end "JSPELEMENTOP"

 

-    // $ANTLR start OPENSCRIPLET

+    // $ANTLR start "OPENSCRIPLET"

     public final void mOPENSCRIPLET() throws RecognitionException {

         try {

             int _type = OPENSCRIPLET;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1351:15: ( '<jsp:scriptlet>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1351:15: '<jsp:scriptlet>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1353:13: ( '<jsp:scriptlet>' )

+            // JSP.g:1353:15: '<jsp:scriptlet>'

             {

-            match("<jsp:scriptlet>");

+            match("<jsp:scriptlet>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENSCRIPLET

+    // $ANTLR end "OPENSCRIPLET"

 

-    // $ANTLR start CLOSESCRIPTLET

+    // $ANTLR start "CLOSESCRIPTLET"

     public final void mCLOSESCRIPTLET() throws RecognitionException {

         try {

             int _type = CLOSESCRIPTLET;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1352:17: ( '</jsp:scriptlet>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1352:17: '</jsp:scriptlet>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1354:15: ( '</jsp:scriptlet>' )

+            // JSP.g:1354:17: '</jsp:scriptlet>'

             {

-            match("</jsp:scriptlet>");

+            match("</jsp:scriptlet>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end CLOSESCRIPTLET

+    // $ANTLR end "CLOSESCRIPTLET"

 

-    // $ANTLR start OPENEXPR

+    // $ANTLR start "OPENEXPR"

     public final void mOPENEXPR() throws RecognitionException {

         try {

             int _type = OPENEXPR;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1353:15: ( '<jsp:expression>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1353:15: '<jsp:expression>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1355:13: ( '<jsp:expression>' )

+            // JSP.g:1355:15: '<jsp:expression>'

             {

-            match("<jsp:expression>");

+            match("<jsp:expression>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENEXPR

+    // $ANTLR end "OPENEXPR"

 

-    // $ANTLR start CLOSEEXPR

+    // $ANTLR start "CLOSEEXPR"

     public final void mCLOSEEXPR() throws RecognitionException {

         try {

             int _type = CLOSEEXPR;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1354:15: ( '</jsp:expression>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1354:15: '</jsp:expression>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1356:13: ( '</jsp:expression>' )

+            // JSP.g:1356:15: '</jsp:expression>'

             {

-            match("</jsp:expression>");

+            match("</jsp:expression>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end CLOSEEXPR

+    // $ANTLR end "CLOSEEXPR"

 

-    // $ANTLR start OPENDECL

+    // $ANTLR start "OPENDECL"

     public final void mOPENDECL() throws RecognitionException {

         try {

             int _type = OPENDECL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1355:15: ( '<jsp:declaration>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1355:15: '<jsp:declaration>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1357:13: ( '<jsp:declaration>' )

+            // JSP.g:1357:15: '<jsp:declaration>'

             {

-            match("<jsp:declaration>");

+            match("<jsp:declaration>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENDECL

+    // $ANTLR end "OPENDECL"

 

-    // $ANTLR start CLOSEDECL

+    // $ANTLR start "CLOSEDECL"

     public final void mCLOSEDECL() throws RecognitionException {

         try {

             int _type = CLOSEDECL;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1356:15: ( '</jsp:declaration>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1356:15: '</jsp:declaration>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1358:13: ( '</jsp:declaration>' )

+            // JSP.g:1358:15: '</jsp:declaration>'

             {

-            match("</jsp:declaration>");

+            match("</jsp:declaration>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end CLOSEDECL

+    // $ANTLR end "CLOSEDECL"

 

-    // $ANTLR start OPENDIRECT

+    // $ANTLR start "OPENDIRECT"

     public final void mOPENDIRECT() throws RecognitionException {

         try {

             int _type = OPENDIRECT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1357:15: ( '<jsp:directive.' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1357:15: '<jsp:directive.'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1359:13: ( '<jsp:directive.' )

+            // JSP.g:1359:15: '<jsp:directive.'

             {

-            match("<jsp:directive.");

+            match("<jsp:directive."); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENDIRECT

+    // $ANTLR end "OPENDIRECT"

 

-    // $ANTLR start OPENJSPCMT

+    // $ANTLR start "OPENJSPCMT"

     public final void mOPENJSPCMT() throws RecognitionException {

         try {

             int _type = OPENJSPCMT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1360:15: ( '<%--' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1360:15: '<%--'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1362:13: ( '<%--' )

+            // JSP.g:1362:15: '<%--'

             {

-            match("<%--");

+            match("<%--"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENJSPCMT

+    // $ANTLR end "OPENJSPCMT"

 

-    // $ANTLR start CLOSEJSPCMT

+    // $ANTLR start "CLOSEJSPCMT"

     public final void mCLOSEJSPCMT() throws RecognitionException {

         try {

             int _type = CLOSEJSPCMT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1361:15: ( '--%>' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1361:15: '--%>'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1363:13: ( '--%>' )

+            // JSP.g:1363:15: '--%>'

             {

-            match("--%>");

+            match("--%>"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end CLOSEJSPCMT

+    // $ANTLR end "CLOSEJSPCMT"

 

-    // $ANTLR start OPENXMLCMT

+    // $ANTLR start "OPENXMLCMT"

     public final void mOPENXMLCMT() throws RecognitionException {

         try {

             int _type = OPENXMLCMT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1362:15: ( '<!--' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1362:15: '<!--'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1364:13: ( '<!--' )

+            // JSP.g:1364:15: '<!--'

             {

-            match("<!--");

+            match("<!--"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end OPENXMLCMT

+    // $ANTLR end "OPENXMLCMT"

 

-    // $ANTLR start CLOSEXMLCMT

+    // $ANTLR start "CLOSEXMLCMT"

     public final void mCLOSEXMLCMT() throws RecognitionException {

         try {

             int _type = CLOSEXMLCMT;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1363:15: ( '-->' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1363:15: '-->'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1365:13: ( '-->' )

+            // JSP.g:1365:15: '-->'

             {

-            match("-->");

+            match("-->"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end CLOSEXMLCMT

+    // $ANTLR end "CLOSEXMLCMT"

 

-    // $ANTLR start XMLDECLOPEN

+    // $ANTLR start "XMLDECLOPEN"

     public final void mXMLDECLOPEN() throws RecognitionException {

         try {

             int _type = XMLDECLOPEN;

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1365:15: ( '<?xml' )

-            // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1365:15: '<?xml'

+            int _channel = DEFAULT_TOKEN_CHANNEL;

+            // JSP.g:1367:13: ( '<?xml' )

+            // JSP.g:1367:15: '<?xml'

             {

-            match("<?xml");

+            match("<?xml"); 

 

 

             }

 

-            this.type = _type;

+            state.type = _type;

+            state.channel = _channel;

         }

         finally {

         }

     }

-    // $ANTLR end XMLDECLOPEN

+    // $ANTLR end "XMLDECLOPEN"

 

     public void mTokens() throws RecognitionException {

-        // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:10: ( T66 | T67 | T68 | T69 | CDATA | LINE_COMMENT | JSP_COMMENT | XMLDECL | DOCTYPE | ID | SpecialCharacter | SQUOTE | DQUOTE | DDOT | EQUAL | WS | WS2 | Digit | 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 )

-        int alt14=63;

-        alt14 = dfa14.predict(input);

-        switch (alt14) {

+        // JSP.g:1:8: ( T__66 | T__67 | T__68 | T__69 | CDATA | LINE_COMMENT | JSP_COMMENT | XMLDECL | DOCTYPE | ID | SpecialCharacter | SQUOTE | DQUOTE | DDOT | EQUAL | WS | WS2 | Digit | 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 )

+        int alt13=63;

+        alt13 = dfa13.predict(input);

+        switch (alt13) {

             case 1 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:10: T66

+                // JSP.g:1:10: T__66

                 {

-                mT66();

+                mT__66(); 

 

                 }

                 break;

             case 2 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:14: T67

+                // JSP.g:1:16: T__67

                 {

-                mT67();

+                mT__67(); 

 

                 }

                 break;

             case 3 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:18: T68

+                // JSP.g:1:22: T__68

                 {

-                mT68();

+                mT__68(); 

 

                 }

                 break;

             case 4 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:22: T69

+                // JSP.g:1:28: T__69

                 {

-                mT69();

+                mT__69(); 

 

                 }

                 break;

             case 5 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:26: CDATA

+                // JSP.g:1:34: CDATA

                 {

-                mCDATA();

+                mCDATA(); 

 

                 }

                 break;

             case 6 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:32: LINE_COMMENT

+                // JSP.g:1:40: LINE_COMMENT

                 {

-                mLINE_COMMENT();

+                mLINE_COMMENT(); 

 

                 }

                 break;

             case 7 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:45: JSP_COMMENT

+                // JSP.g:1:53: JSP_COMMENT

                 {

-                mJSP_COMMENT();

+                mJSP_COMMENT(); 

 

                 }

                 break;

             case 8 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:57: XMLDECL

+                // JSP.g:1:65: XMLDECL

                 {

-                mXMLDECL();

+                mXMLDECL(); 

 

                 }

                 break;

             case 9 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:65: DOCTYPE

+                // JSP.g:1:73: DOCTYPE

                 {

-                mDOCTYPE();

+                mDOCTYPE(); 

 

                 }

                 break;

             case 10 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:73: ID

+                // JSP.g:1:81: ID

                 {

-                mID();

+                mID(); 

 

                 }

                 break;

             case 11 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:76: SpecialCharacter

+                // JSP.g:1:84: SpecialCharacter

                 {

-                mSpecialCharacter();

+                mSpecialCharacter(); 

 

                 }

                 break;

             case 12 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:93: SQUOTE

+                // JSP.g:1:101: SQUOTE

                 {

-                mSQUOTE();

+                mSQUOTE(); 

 

                 }

                 break;

             case 13 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:100: DQUOTE

+                // JSP.g:1:108: DQUOTE

                 {

-                mDQUOTE();

+                mDQUOTE(); 

 

                 }

                 break;

             case 14 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:107: DDOT

+                // JSP.g:1:115: DDOT

                 {

-                mDDOT();

+                mDDOT(); 

 

                 }

                 break;

             case 15 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:112: EQUAL

+                // JSP.g:1:120: EQUAL

                 {

-                mEQUAL();

+                mEQUAL(); 

 

                 }

                 break;

             case 16 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:118: WS

+                // JSP.g:1:126: WS

                 {

-                mWS();

+                mWS(); 

 

                 }

                 break;

             case 17 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:121: WS2

+                // JSP.g:1:129: WS2

                 {

-                mWS2();

+                mWS2(); 

 

                 }

                 break;

             case 18 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:125: Digit

+                // JSP.g:1:133: Digit

                 {

-                mDigit();

+                mDigit(); 

 

                 }

                 break;

             case 19 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:131: OPENCLOSE

+                // JSP.g:1:139: OPENCLOSE

                 {

-                mOPENCLOSE();

+                mOPENCLOSE(); 

 

                 }

                 break;

             case 20 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:141: JSPTAGOPEN

+                // JSP.g:1:149: JSPTAGOPEN

                 {

-                mJSPTAGOPEN();

+                mJSPTAGOPEN(); 

 

                 }

                 break;

             case 21 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:152: JSPTAGCLOSE

+                // JSP.g:1:160: JSPTAGCLOSE

                 {

-                mJSPTAGCLOSE();

+                mJSPTAGCLOSE(); 

 

                 }

                 break;

             case 22 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:164: JSPOPENEXPR

+                // JSP.g:1:172: JSPOPENEXPR

                 {

-                mJSPOPENEXPR();

+                mJSPOPENEXPR(); 

 

                 }

                 break;

             case 23 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:176: JSPOPENDECL

+                // JSP.g:1:184: JSPOPENDECL

                 {

-                mJSPOPENDECL();

+                mJSPOPENDECL(); 

 

                 }

                 break;

             case 24 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:188: JSPOPENDIR

+                // JSP.g:1:196: JSPOPENDIR

                 {

-                mJSPOPENDIR();

+                mJSPOPENDIR(); 

 

                 }

                 break;

             case 25 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:199: JSPCLOSEACT

+                // JSP.g:1:207: JSPCLOSEACT

                 {

-                mJSPCLOSEACT();

+                mJSPCLOSEACT(); 

 

                 }

                 break;

             case 26 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:211: JSPUSEBEAN

+                // JSP.g:1:219: JSPUSEBEAN

                 {

-                mJSPUSEBEAN();

+                mJSPUSEBEAN(); 

 

                 }

                 break;

             case 27 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:222: JSPSET

+                // JSP.g:1:230: JSPSET

                 {

-                mJSPSET();

+                mJSPSET(); 

 

                 }

                 break;

             case 28 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:229: JSPGET

+                // JSP.g:1:237: JSPGET

                 {

-                mJSPGET();

+                mJSPGET(); 

 

                 }

                 break;

             case 29 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:236: JSPOPENINC

+                // JSP.g:1:244: JSPOPENINC

                 {

-                mJSPOPENINC();

+                mJSPOPENINC(); 

 

                 }

                 break;

             case 30 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:247: JSPCLOSEINC

+                // JSP.g:1:255: JSPCLOSEINC

                 {

-                mJSPCLOSEINC();

+                mJSPCLOSEINC(); 

 

                 }

                 break;

             case 31 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:259: JSPOPENFWD

+                // JSP.g:1:267: JSPOPENFWD

                 {

-                mJSPOPENFWD();

+                mJSPOPENFWD(); 

 

                 }

                 break;

             case 32 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:270: JSPCLOSEFWD

+                // JSP.g:1:278: JSPCLOSEFWD

                 {

-                mJSPCLOSEFWD();

+                mJSPCLOSEFWD(); 

 

                 }

                 break;

             case 33 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:282: JSPOPENPLUG

+                // JSP.g:1:290: JSPOPENPLUG

                 {

-                mJSPOPENPLUG();

+                mJSPOPENPLUG(); 

 

                 }

                 break;

             case 34 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:294: JSPCLOSEPLUG

+                // JSP.g:1:302: JSPCLOSEPLUG

                 {

-                mJSPCLOSEPLUG();

+                mJSPCLOSEPLUG(); 

 

                 }

                 break;

             case 35 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:307: JSPOPENFALL

+                // JSP.g:1:315: JSPOPENFALL

                 {

-                mJSPOPENFALL();

+                mJSPOPENFALL(); 

 

                 }

                 break;

             case 36 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:319: JSPCLOSEFALL

+                // JSP.g:1:327: JSPCLOSEFALL

                 {

-                mJSPCLOSEFALL();

+                mJSPCLOSEFALL(); 

 

                 }

                 break;

             case 37 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:332: JSPOPENPARA

+                // JSP.g:1:340: JSPOPENPARA

                 {

-                mJSPOPENPARA();

+                mJSPOPENPARA(); 

 

                 }

                 break;

             case 38 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:344: JSPOPENPARAS

+                // JSP.g:1:352: JSPOPENPARAS

                 {

-                mJSPOPENPARAS();

+                mJSPOPENPARAS(); 

 

                 }

                 break;

             case 39 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:357: JSPCLOSEPARAS

+                // JSP.g:1:365: JSPCLOSEPARAS

                 {

-                mJSPCLOSEPARAS();

+                mJSPCLOSEPARAS(); 

 

                 }

                 break;

             case 40 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:371: JSPOPENROOT

+                // JSP.g:1:379: JSPOPENROOT

                 {

-                mJSPOPENROOT();

+                mJSPOPENROOT(); 

 

                 }

                 break;

             case 41 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:383: JSPCLOSEROOT

+                // JSP.g:1:391: JSPCLOSEROOT

                 {

-                mJSPCLOSEROOT();

+                mJSPCLOSEROOT(); 

 

                 }

                 break;

             case 42 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:396: JSPOPENTEXT

+                // JSP.g:1:404: JSPOPENTEXT

                 {

-                mJSPOPENTEXT();

+                mJSPOPENTEXT(); 

 

                 }

                 break;

             case 43 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:408: JSPCLOSETEXT

+                // JSP.g:1:416: JSPCLOSETEXT

                 {

-                mJSPCLOSETEXT();

+                mJSPCLOSETEXT(); 

 

                 }

                 break;

             case 44 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:421: JSPCLOSEATTR

+                // JSP.g:1:429: JSPCLOSEATTR

                 {

-                mJSPCLOSEATTR();

+                mJSPCLOSEATTR(); 

 

                 }

                 break;

             case 45 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:434: JSPOPENATTR

+                // JSP.g:1:442: JSPOPENATTR

                 {

-                mJSPOPENATTR();

+                mJSPOPENATTR(); 

 

                 }

                 break;

             case 46 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:446: JSPOPENBODY

+                // JSP.g:1:454: JSPOPENBODY

                 {

-                mJSPOPENBODY();

+                mJSPOPENBODY(); 

 

                 }

                 break;

             case 47 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:458: JSPCLOSEBODY

+                // JSP.g:1:466: JSPCLOSEBODY

                 {

-                mJSPCLOSEBODY();

+                mJSPCLOSEBODY(); 

 

                 }

                 break;

             case 48 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:471: JSPOPENINVOKE

+                // JSP.g:1:479: JSPOPENINVOKE

                 {

-                mJSPOPENINVOKE();

+                mJSPOPENINVOKE(); 

 

                 }

                 break;

             case 49 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:485: JSPOPENDOBODY

+                // JSP.g:1:493: JSPOPENDOBODY

                 {

-                mJSPOPENDOBODY();

+                mJSPOPENDOBODY(); 

 

                 }

                 break;

             case 50 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:499: JSPOPENOUTPUT

+                // JSP.g:1:507: JSPOPENOUTPUT

                 {

-                mJSPOPENOUTPUT();

+                mJSPOPENOUTPUT(); 

 

                 }

                 break;

             case 51 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:513: JSPELEMENTOP

+                // JSP.g:1:521: JSPELEMENTOP

                 {

-                mJSPELEMENTOP();

+                mJSPELEMENTOP(); 

 

                 }

                 break;

             case 52 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:526: OPENSCRIPLET

+                // JSP.g:1:534: OPENSCRIPLET

                 {

-                mOPENSCRIPLET();

+                mOPENSCRIPLET(); 

 

                 }

                 break;

             case 53 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:539: CLOSESCRIPTLET

+                // JSP.g:1:547: CLOSESCRIPTLET

                 {

-                mCLOSESCRIPTLET();

+                mCLOSESCRIPTLET(); 

 

                 }

                 break;

             case 54 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:554: OPENEXPR

+                // JSP.g:1:562: OPENEXPR

                 {

-                mOPENEXPR();

+                mOPENEXPR(); 

 

                 }

                 break;

             case 55 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:563: CLOSEEXPR

+                // JSP.g:1:571: CLOSEEXPR

                 {

-                mCLOSEEXPR();

+                mCLOSEEXPR(); 

 

                 }

                 break;

             case 56 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:573: OPENDECL

+                // JSP.g:1:581: OPENDECL

                 {

-                mOPENDECL();

+                mOPENDECL(); 

 

                 }

                 break;

             case 57 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:582: CLOSEDECL

+                // JSP.g:1:590: CLOSEDECL

                 {

-                mCLOSEDECL();

+                mCLOSEDECL(); 

 

                 }

                 break;

             case 58 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:592: OPENDIRECT

+                // JSP.g:1:600: OPENDIRECT

                 {

-                mOPENDIRECT();

+                mOPENDIRECT(); 

 

                 }

                 break;

             case 59 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:603: OPENJSPCMT

+                // JSP.g:1:611: OPENJSPCMT

                 {

-                mOPENJSPCMT();

+                mOPENJSPCMT(); 

 

                 }

                 break;

             case 60 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:614: CLOSEJSPCMT

+                // JSP.g:1:622: CLOSEJSPCMT

                 {

-                mCLOSEJSPCMT();

+                mCLOSEJSPCMT(); 

 

                 }

                 break;

             case 61 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:626: OPENXMLCMT

+                // JSP.g:1:634: OPENXMLCMT

                 {

-                mOPENXMLCMT();

+                mOPENXMLCMT(); 

 

                 }

                 break;

             case 62 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:637: CLOSEXMLCMT

+                // JSP.g:1:645: CLOSEXMLCMT

                 {

-                mCLOSEXMLCMT();

+                mCLOSEXMLCMT(); 

 

                 }

                 break;

             case 63 :

-                // C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1:649: XMLDECLOPEN

+                // JSP.g:1:657: XMLDECLOPEN

                 {

-                mXMLDECLOPEN();

+                mXMLDECLOPEN(); 

 

                 }

                 break;

@@ -2855,134 +2705,277 @@
     }

 

 

-    protected DFA14 dfa14 = new DFA14(this);

-    static final String DFA14_eotS =

-        "\1\6\1\uffff\1\32\2\uffff\1\11\4\uffff\4\6\10\uffff\1\42\2\uffff"+

-        "\1\54\2\uffff\1\11\1\6\17\uffff\2\11\5\uffff\1\71\1\74\2\uffff\1"+

-        "\113\63\uffff\1\156\2\uffff";

-    static final String DFA14_eofS =

-        "\157\uffff";

-    static final String DFA14_minS =

-        "\1\11\1\uffff\1\41\2\uffff\1\60\4\uffff\1\60\1\55\2\76\7\uffff"+

-        "\1\163\1\152\1\130\1\55\1\41\2\uffff\2\45\2\uffff\1\160\1\163\1"+

-        "\uffff\1\115\3\uffff\1\55\3\uffff\1\55\1\uffff\2\45\2\uffff\1\72"+

-        "\1\160\1\114\2\0\1\141\1\72\1\0\4\uffff\1\154\1\145\1\141\1\uffff"+

-        "\1\156\1\uffff\1\141\3\uffff\1\143\2\uffff\1\141\6\uffff\1\162\1"+

-        "\uffff\1\143\11\uffff\1\141\1\154\1\141\2\uffff\1\141\10\uffff\1"+

-        "\155\1\163\2\uffff";

-    static final String DFA14_maxS =

-        "\1\ufaff\1\uffff\1\152\2\uffff\1\71\4\uffff\2\71\2\76\7\uffff\1"+

-        "\163\1\152\1\170\1\144\1\100\2\uffff\1\71\1\76\2\uffff\1\160\1\163"+

-        "\1\uffff\1\155\3\uffff\1\55\3\uffff\1\55\1\uffff\2\71\2\uffff\1"+

-        "\72\1\160\1\154\2\ufffe\1\165\1\72\1\ufffe\4\uffff\1\170\1\157\1"+

-        "\154\1\uffff\1\156\1\uffff\1\157\3\uffff\1\145\2\uffff\1\164\6\uffff"+

-        "\1\162\1\uffff\1\166\11\uffff\1\154\1\170\1\157\2\uffff\1\141\10"+

-        "\uffff\1\155\1\163\2\uffff";

-    static final String DFA14_acceptS =

-        "\1\uffff\1\1\1\uffff\1\4\1\12\1\uffff\1\13\3\12\4\uffff\1\14\1"+

-        "\15\1\16\1\17\1\20\1\21\1\22\5\uffff\1\2\1\4\2\uffff\1\31\1\25\2"+

-        "\uffff\1\23\1\uffff\1\10\1\11\1\5\1\uffff\1\30\1\26\1\27\1\uffff"+

-        "\1\24\2\uffff\1\76\1\74\10\uffff\1\75\1\6\1\7\1\73\3\uffff\1\34"+

-        "\1\uffff\1\32\1\uffff\1\55\1\56\1\62\1\uffff\1\52\1\50\1\uffff\1"+

-        "\77\1\66\1\63\1\70\1\61\1\72\1\uffff\1\41\1\uffff\1\43\1\37\1\64"+

-        "\1\33\1\71\1\57\1\53\1\51\1\65\3\uffff\1\36\1\54\1\uffff\1\35\1"+

-        "\60\1\47\1\42\1\3\1\67\1\44\1\40\2\uffff\1\46\1\45";

-    static final String DFA14_specialS =

-        "\157\uffff}>";

-    static final String[] DFA14_transitionS = {

-            "\1\23\1\22\1\uffff\2\23\22\uffff\1\22\1\uffff\1\17\1\5\1\7"+

-            "\1\15\1\10\1\16\3\uffff\1\12\1\uffff\1\13\1\uffff\1\14\12\24"+

-            "\1\20\1\3\1\2\1\21\1\1\2\uffff\32\11\4\uffff\1\11\1\uffff\32"+

-            "\11\45\uffff\1\4\37\uffff\27\4\1\uffff\37\4\1\uffff\10\4\u1f00"+

-            "\11\30\uffff\10\11\22\uffff\6\11\164\uffff\1\11\u0f93\uffff"+

-            "\u0150\11\u0170\uffff\u0080\11\u0080\uffff\u092e\11\u10d2\uffff"+

-            "\u5200\11\u5900\uffff\u0200\11",

+    protected DFA7 dfa7 = new DFA7(this);

+    protected DFA8 dfa8 = new DFA8(this);

+    protected DFA13 dfa13 = new DFA13(this);

+    static final String DFA7_eotS =

+        "\1\1\1\uffff\1\10\7\uffff";

+    static final String DFA7_eofS =

+        "\12\uffff";

+    static final String DFA7_minS =

+        "\1\44\1\uffff\1\u00b0\7\uffff";

+    static final String DFA7_maxS =

+        "\1\ufaff\1\uffff\1\u00b0\7\uffff";

+    static final String DFA7_acceptS =

+        "\1\uffff\1\10\1\uffff\1\2\1\3\1\4\1\5\1\6\1\1\1\7";

+    static final String DFA7_specialS =

+        "\12\uffff}>";

+    static final String[] DFA7_transitionS = {

+            "\1\10\10\uffff\1\5\1\4\1\uffff\12\3\6\uffff\1\7\32\10\4\uffff"+

+            "\1\6\1\uffff\32\10\45\uffff\1\10\37\uffff\2\10\1\2\24\10\1\uffff"+

+            "\37\10\1\uffff\u1f08\10\30\uffff\10\10\22\uffff\6\10\164\uffff"+

+            "\1\10\u0f93\uffff\u0150\10\u0170\uffff\u0080\10\u0080\uffff"+

+            "\u092e\10\u10d2\uffff\u5200\10\u5900\uffff\u0200\10",

             "",

-            "\1\30\3\uffff\1\31\11\uffff\1\26\17\uffff\1\27\52\uffff\1"+

-            "\25",

-            "",

-            "",

-            "\12\34",

+            "\1\11",

             "",

             "",

             "",

             "",

-            "\12\24",

-            "\1\35\2\uffff\12\24",

-            "\1\36",

+            "",

+            "",

+            ""

+    };

+

+    static final short[] DFA7_eot = DFA.unpackEncodedString(DFA7_eotS);

+    static final short[] DFA7_eof = DFA.unpackEncodedString(DFA7_eofS);

+    static final char[] DFA7_min = DFA.unpackEncodedStringToUnsignedChars(DFA7_minS);

+    static final char[] DFA7_max = DFA.unpackEncodedStringToUnsignedChars(DFA7_maxS);

+    static final short[] DFA7_accept = DFA.unpackEncodedString(DFA7_acceptS);

+    static final short[] DFA7_special = DFA.unpackEncodedString(DFA7_specialS);

+    static final short[][] DFA7_transition;

+

+    static {

+        int numStates = DFA7_transitionS.length;

+        DFA7_transition = new short[numStates][];

+        for (int i=0; i<numStates; i++) {

+            DFA7_transition[i] = DFA.unpackEncodedString(DFA7_transitionS[i]);

+        }

+    }

+

+    class DFA7 extends DFA {

+

+        public DFA7(BaseRecognizer recognizer) {

+            this.recognizer = recognizer;

+            this.decisionNumber = 7;

+            this.eot = DFA7_eot;

+            this.eof = DFA7_eof;

+            this.min = DFA7_min;

+            this.max = DFA7_max;

+            this.accept = DFA7_accept;

+            this.special = DFA7_special;

+            this.transition = DFA7_transition;

+        }

+        public String getDescription() {

+            return "()* loopback of 1220:9: ( options {greedy=true; } : LETTER | IDDigit | '.' | '-' | '_' | '@' | '°' )*";

+        }

+    }

+    static final String DFA8_eotS =

+        "\17\uffff\1\34\1\uffff\1\36\15\uffff";

+    static final String DFA8_eofS =

+        "\37\uffff";

+    static final String DFA8_minS =

+        "\1\41\16\uffff\1\55\1\uffff\1\57\15\uffff";

+    static final String DFA8_maxS =

+        "\1\u377f\16\uffff\1\55\1\uffff\1\57\15\uffff";

+    static final String DFA8_acceptS =

+        "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+

+        "\15\1\16\1\uffff\1\21\1\uffff\1\23\1\24\1\25\1\26\1\27\1\30\1\31"+

+        "\1\32\1\34\1\20\1\17\1\33\1\22";

+    static final String DFA8_specialS =

+        "\37\uffff}>";

+    static final String[] DFA8_transitionS = {

+            "\1\6\1\uffff\1\7\1\10\1\27\1\11\1\uffff\1\12\1\13\1\14\1\15"+

+            "\1\16\1\17\1\20\1\21\13\uffff\1\22\3\uffff\1\23\1\30\32\uffff"+

+            "\1\24\1\31\1\25\1\32\1\uffff\1\26\32\uffff\1\3\1\5\1\4\42\uffff"+

+            "\140\1\u2300\uffff\u1380\2",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "\1\33",

+            "",

+            "\1\35",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            ""

+    };

+

+    static final short[] DFA8_eot = DFA.unpackEncodedString(DFA8_eotS);

+    static final short[] DFA8_eof = DFA.unpackEncodedString(DFA8_eofS);

+    static final char[] DFA8_min = DFA.unpackEncodedStringToUnsignedChars(DFA8_minS);

+    static final char[] DFA8_max = DFA.unpackEncodedStringToUnsignedChars(DFA8_maxS);

+    static final short[] DFA8_accept = DFA.unpackEncodedString(DFA8_acceptS);

+    static final short[] DFA8_special = DFA.unpackEncodedString(DFA8_specialS);

+    static final short[][] DFA8_transition;

+

+    static {

+        int numStates = DFA8_transitionS.length;

+        DFA8_transition = new short[numStates][];

+        for (int i=0; i<numStates; i++) {

+            DFA8_transition[i] = DFA.unpackEncodedString(DFA8_transitionS[i]);

+        }

+    }

+

+    class DFA8 extends DFA {

+

+        public DFA8(BaseRecognizer recognizer) {

+            this.recognizer = recognizer;

+            this.decisionNumber = 8;

+            this.eot = DFA8_eot;

+            this.eof = DFA8_eof;

+            this.min = DFA8_min;

+            this.max = DFA8_max;

+            this.accept = DFA8_accept;

+            this.special = DFA8_special;

+            this.transition = DFA8_transition;

+        }

+        public String getDescription() {

+            return "1252:1: SpecialCharacter : ( '\\u00A0' .. '\\u00FF' | '\\u2400' .. '\\u377F' | '{' | '}' | '|' | '!' | '#' | '$' | '&' | '(' | ')' | '*' | '+' | ',' | '-' | '--' | '.' | '\\/' | ';' | '?' | '[' | ']' | '`' | '%' | '@' | '\\\\' | '//' | '^' );";

+        }

+    }

+    static final String DFA13_eotS =

+        "\2\uffff\1\33\4\uffff\1\12\3\uffff\4\6\7\uffff\1\42\1\uffff\1\52"+

+        "\4\uffff\1\12\1\6\17\uffff\2\12\3\uffff\1\71\1\73\7\uffff\1\77\60"+

+        "\uffff\1\157\2\uffff";

+    static final String DFA13_eofS =

+        "\160\uffff";

+    static final String DFA13_minS =

+        "\1\11\1\uffff\1\41\4\uffff\1\60\3\uffff\1\60\1\55\2\76\7\uffff"+

+        "\1\152\1\55\1\41\1\130\1\163\2\uffff\2\45\2\uffff\1\163\2\uffff"+

+        "\1\55\1\uffff\1\55\4\uffff\1\115\1\uffff\1\160\2\45\2\uffff\1\160"+

+        "\2\0\1\114\2\72\4\uffff\1\0\2\141\2\uffff\1\143\1\uffff\1\156\2"+

+        "\141\4\uffff\1\145\1\uffff\2\154\1\uffff\2\141\10\uffff\1\143\3"+

+        "\uffff\1\162\15\uffff\1\141\1\155\1\163\2\uffff";

+    static final String DFA13_maxS =

+        "\1\ufaff\1\uffff\1\152\4\uffff\1\71\3\uffff\2\71\2\76\7\uffff\1"+

+        "\152\1\144\1\100\1\170\1\163\2\uffff\1\71\1\76\2\uffff\1\163\2\uffff"+

+        "\1\55\1\uffff\1\55\4\uffff\1\155\1\uffff\1\160\2\71\2\uffff\1\160"+

+        "\2\uffff\1\154\2\72\4\uffff\1\uffff\1\165\1\164\2\uffff\1\145\1"+

+        "\uffff\1\156\1\157\1\154\4\uffff\1\157\1\uffff\2\170\1\uffff\1\157"+

+        "\1\154\10\uffff\1\166\3\uffff\1\162\15\uffff\1\141\1\155\1\163\2"+

+        "\uffff";

+    static final String DFA13_acceptS =

+        "\1\uffff\1\1\1\uffff\1\4\2\12\1\13\1\uffff\3\12\4\uffff\1\14\1"+

+        "\15\1\16\1\17\1\20\1\21\1\22\5\uffff\1\2\1\4\2\uffff\1\31\1\25\1"+

+        "\uffff\1\23\1\5\1\uffff\1\11\1\uffff\1\26\1\27\1\30\1\24\1\uffff"+

+        "\1\10\3\uffff\1\74\1\76\6\uffff\1\6\1\75\1\7\1\73\3\uffff\1\77\1"+

+        "\32\1\uffff\1\34\3\uffff\1\50\1\52\1\55\1\56\1\uffff\1\62\2\uffff"+

+        "\1\36\2\uffff\1\51\1\53\1\54\1\57\1\65\1\71\1\33\1\64\1\uffff\1"+

+        "\37\1\43\1\41\1\uffff\1\61\1\70\1\72\1\63\1\66\1\3\1\67\1\40\1\44"+

+        "\1\42\1\47\1\35\1\60\3\uffff\1\46\1\45";

+    static final String DFA13_specialS =

+        "\63\uffff\1\2\1\0\7\uffff\1\1\63\uffff}>";

+    static final String[] DFA13_transitionS = {

+            "\1\24\1\23\1\uffff\2\24\22\uffff\1\23\1\6\1\20\1\7\1\10\1\16"+

+            "\1\11\1\17\3\6\1\13\1\6\1\14\1\6\1\15\12\25\1\21\1\3\1\2\1\22"+

+            "\1\1\2\6\32\12\4\6\1\12\1\6\32\12\3\6\42\uffff\1\4\37\6\27\4"+

+            "\1\6\37\4\1\6\10\4\u1f00\12\30\uffff\10\12\22\uffff\6\12\164"+

+            "\uffff\1\12\u0353\uffff\u0c40\6\u0150\5\u0170\6\u0080\5\u0080"+

+            "\6\u0380\5\u05ae\12\u10d2\uffff\u5200\12\u5900\uffff\u0200\12",

+            "",

+            "\1\27\3\uffff\1\30\11\uffff\1\26\17\uffff\1\31\52\uffff\1"+

+            "\32",

+            "",

+            "",

+            "",

+            "",

+            "\12\35",

+            "",

+            "",

+            "",

+            "\12\25",

+            "\1\36\2\uffff\12\25",

             "\1\37",

-            "",

-            "",

-            "",

-            "",

-            "",

-            "",

-            "",

             "\1\40",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

+            "",

             "\1\41",

-            "\1\44\37\uffff\1\43",

-            "\1\47\26\uffff\1\45\26\uffff\1\46\10\uffff\1\45",

-            "\1\52\13\uffff\1\53\17\uffff\1\51\2\uffff\1\50",

+            "\1\44\26\uffff\1\45\26\uffff\1\43\10\uffff\1\45",

+            "\1\50\13\uffff\1\46\17\uffff\1\47\2\uffff\1\51",

+            "\1\54\37\uffff\1\53",

+            "\1\55",

             "",

             "",

-            "\1\24\6\uffff\1\24\1\uffff\1\56\1\uffff\12\55",

-            "\1\60\30\uffff\1\57",

+            "\1\25\6\uffff\1\25\1\uffff\1\57\1\uffff\12\56",

+            "\1\60\30\uffff\1\61",

             "",

             "",

-            "\1\61",

             "\1\62",

             "",

-            "\1\44\37\uffff\1\63",

             "",

-            "",

+            "\1\63",

             "",

             "\1\64",

             "",

             "",

             "",

-            "\1\65",

             "",

-            "\1\24\6\uffff\1\24\1\uffff\1\56\1\uffff\12\55",

-            "\1\24\6\uffff\1\24\1\uffff\1\56\1\uffff\12\55",

-            "",

+            "\1\54\37\uffff\1\65",

             "",

             "\1\66",

+            "\1\25\6\uffff\1\25\1\uffff\1\57\1\uffff\12\56",

+            "\1\25\6\uffff\1\25\1\uffff\1\57\1\uffff\12\56",

+            "",

+            "",

             "\1\67",

-            "\1\44\37\uffff\1\70",

-            "\uffff\72",

-            "\uffff\73",

-            "\1\104\1\105\1\uffff\1\76\1\75\1\103\1\100\1\uffff\1\101\5"+

-            "\uffff\1\106\1\77\1\uffff\1\111\1\107\1\110\1\102",

-            "\1\112",

-            "\uffff\44",

+            "\0\70",

+            "\0\72",

+            "\1\54\37\uffff\1\74",

+            "\1\75",

+            "\1\76",

             "",

             "",

             "",

             "",

-            "\1\115\13\uffff\1\114",

-            "\1\116\3\uffff\1\120\5\uffff\1\117",

-            "\1\121\12\uffff\1\122",

-            "",

-            "\1\123",

-            "",

-            "\1\124\15\uffff\1\125",

+            "\0\54",

+            "\1\110\1\111\1\uffff\1\112\1\114\1\104\1\102\1\uffff\1\103"+

+            "\5\uffff\1\113\1\105\1\uffff\1\106\1\101\1\107\1\100",

+            "\1\123\1\124\1\uffff\1\126\1\115\1\117\2\uffff\1\116\6\uffff"+

+            "\1\120\1\uffff\1\121\1\125\1\122",

             "",

             "",

+            "\1\130\1\uffff\1\127",

             "",

-            "\1\126\1\uffff\1\127",

-            "",

-            "",

-            "\1\141\1\131\1\uffff\1\130\1\136\1\137\2\uffff\1\140\6\uffff"+

-            "\1\135\1\uffff\1\133\1\134\1\132",

+            "\1\131",

+            "\1\133\15\uffff\1\132",

+            "\1\135\12\uffff\1\134",

             "",

             "",

             "",

             "",

+            "\1\137\3\uffff\1\140\5\uffff\1\136",

             "",

+            "\1\141\13\uffff\1\142",

+            "\1\143\13\uffff\1\144",

             "",

-            "\1\142",

-            "",

-            "\1\143\22\uffff\1\144",

+            "\1\146\15\uffff\1\145",

+            "\1\150\12\uffff\1\147",

             "",

             "",

             "",

@@ -2991,10 +2984,8 @@
             "",

             "",

             "",

+            "\1\151\22\uffff\1\152",

             "",

-            "\1\145\12\uffff\1\146",

-            "\1\147\13\uffff\1\150",

-            "\1\151\15\uffff\1\152",

             "",

             "",

             "\1\153",

@@ -3006,45 +2997,91 @@
             "",

             "",

             "",

+            "",

+            "",

+            "",

+            "",

+            "",

             "\1\154",

             "\1\155",

+            "\1\156",

             "",

             ""

     };

 

-    static final short[] DFA14_eot = DFA.unpackEncodedString(DFA14_eotS);

-    static final short[] DFA14_eof = DFA.unpackEncodedString(DFA14_eofS);

-    static final char[] DFA14_min = DFA.unpackEncodedStringToUnsignedChars(DFA14_minS);

-    static final char[] DFA14_max = DFA.unpackEncodedStringToUnsignedChars(DFA14_maxS);

-    static final short[] DFA14_accept = DFA.unpackEncodedString(DFA14_acceptS);

-    static final short[] DFA14_special = DFA.unpackEncodedString(DFA14_specialS);

-    static final short[][] DFA14_transition;

+    static final short[] DFA13_eot = DFA.unpackEncodedString(DFA13_eotS);

+    static final short[] DFA13_eof = DFA.unpackEncodedString(DFA13_eofS);

+    static final char[] DFA13_min = DFA.unpackEncodedStringToUnsignedChars(DFA13_minS);

+    static final char[] DFA13_max = DFA.unpackEncodedStringToUnsignedChars(DFA13_maxS);

+    static final short[] DFA13_accept = DFA.unpackEncodedString(DFA13_acceptS);

+    static final short[] DFA13_special = DFA.unpackEncodedString(DFA13_specialS);

+    static final short[][] DFA13_transition;

 

     static {

-        int numStates = DFA14_transitionS.length;

-        DFA14_transition = new short[numStates][];

+        int numStates = DFA13_transitionS.length;

+        DFA13_transition = new short[numStates][];

         for (int i=0; i<numStates; i++) {

-            DFA14_transition[i] = DFA.unpackEncodedString(DFA14_transitionS[i]);

+            DFA13_transition[i] = DFA.unpackEncodedString(DFA13_transitionS[i]);

         }

     }

 

-    class DFA14 extends DFA {

+    class DFA13 extends DFA {

 

-        public DFA14(BaseRecognizer recognizer) {

+        public DFA13(BaseRecognizer recognizer) {

             this.recognizer = recognizer;

-            this.decisionNumber = 14;

-            this.eot = DFA14_eot;

-            this.eof = DFA14_eof;

-            this.min = DFA14_min;

-            this.max = DFA14_max;

-            this.accept = DFA14_accept;

-            this.special = DFA14_special;

-            this.transition = DFA14_transition;

+            this.decisionNumber = 13;

+            this.eot = DFA13_eot;

+            this.eof = DFA13_eof;

+            this.min = DFA13_min;

+            this.max = DFA13_max;

+            this.accept = DFA13_accept;

+            this.special = DFA13_special;

+            this.transition = DFA13_transition;

         }

         public String getDescription() {

-            return "1:1: Tokens : ( T66 | T67 | T68 | T69 | CDATA | LINE_COMMENT | JSP_COMMENT | XMLDECL | DOCTYPE | ID | SpecialCharacter | SQUOTE | DQUOTE | DDOT | EQUAL | WS | WS2 | Digit | 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 );";

+            return "1:1: Tokens : ( T__66 | T__67 | T__68 | T__69 | CDATA | LINE_COMMENT | JSP_COMMENT | XMLDECL | DOCTYPE | ID | SpecialCharacter | SQUOTE | DQUOTE | DDOT | EQUAL | WS | WS2 | Digit | 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 );";

+        }

+        public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {

+            IntStream input = _input;

+        	int _s = s;

+            switch ( s ) {

+                    case 0 : 

+                        int LA13_52 = input.LA(1);

+

+                        s = -1;

+                        if ( ((LA13_52>='\u0000' && LA13_52<='\uFFFF')) ) {s = 58;}

+

+                        else s = 59;

+

+                        if ( s>=0 ) return s;

+                        break;

+                    case 1 : 

+                        int LA13_60 = input.LA(1);

+

+                        s = -1;

+                        if ( ((LA13_60>='\u0000' && LA13_60<='\uFFFF')) ) {s = 44;}

+

+                        else s = 63;

+

+                        if ( s>=0 ) return s;

+                        break;

+                    case 2 : 

+                        int LA13_51 = input.LA(1);

+

+                        s = -1;

+                        if ( ((LA13_51>='\u0000' && LA13_51<='\uFFFF')) ) {s = 56;}

+

+                        else s = 57;

+

+                        if ( s>=0 ) return s;

+                        break;

+            }

+            NoViableAltException nvae =

+                new NoViableAltException(getDescription(), 13, _s, input);

+            error(nvae);

+            throw nvae;

         }

     }

+ 

 

-

-}

+}
\ No newline at end of file
diff --git a/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPParser.java b/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPParser.java
index 417d346..aeed5fb 100644
--- a/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPParser.java
+++ b/org.eclipse.modisco.jee.jsp.discoverer/src-gen/org/eclipse/modisco/jee/jsp/discoverer/parser/JSPParser.java
@@ -1,6641 +1,5561 @@
-// $ANTLR 3.0 C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g 2010-10-25 10:23:41

-

+// $ANTLR 3.2 Sep 23, 2009 12:02:23 JSP.g 2019-11-14 15:50:28

+ 

 /**

  *  Copyright (c) 2010 Mia-Software.

  *  All rights reserved. This program and the accompanying materials

  *  are made available under the terms of the Eclipse Public License v1.0

  *  which accompanies this distribution, and is available at

  *  http://www.eclipse.org/legal/epl-v10.html

- *

+ *  

  *  Contributors:

- *

+ *  

  *       Nicolas Guyomar (Mia-Software) - initial API and implementation

- *

+ * 

  */

-package org.eclipse.modisco.jee.jsp.discoverer.parser;

+  package org.eclipse.modisco.jee.jsp.discoverer.parser;

+  import org.eclipse.modisco.jee.jsp.*;

+  import org.eclipse.modisco.jee.jsp.impl.*;

+  import java.util.HashMap;

+  import org.eclipse.gmt.modisco.xml.*;

+  import org.eclipse.gmt.modisco.xml.emf.MoDiscoXMLFactory;

+  import org.eclipse.gmt.modisco.infra.common.core.logging.MoDiscoLogger;

+  import org.eclipse.modisco.jee.jsp.discoverer.JspActivator;

 

-import org.eclipse.modisco.jee.jsp.*;

-import org.eclipse.modisco.jee.jsp.impl.*;

-import java.util.HashMap;

-import org.eclipse.gmt.modisco.xml.*;

-import org.eclipse.gmt.modisco.xml.emf.MoDiscoXMLFactory;

-import org.eclipse.gmt.modisco.infra.common.core.logging.MoDiscoLogger;

-import org.eclipse.modisco.jee.jsp.discoverer.JspActivator;

 

 import org.antlr.runtime.*;

 import java.util.Stack;

 import java.util.List;

 import java.util.ArrayList;

 

-@SuppressWarnings("all")

 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 JSPOPENEXPR = 24;

-	public static final int OPENJSPCMT = 61;

-	public static final int CLOSEEXPR = 57;

-	public static final int CDATA = 6;

-	public static final int JSPCLOSEFWD = 34;

-	public static final int JSPCLOSEFALL = 38;

-	public static final int LETTER = 18;

-	public static final int OPENDECL = 58;

-	public static final int CLOSEXMLCMT = 64;

-	public static final int DQUOTE = 13;

-	public static final int CLOSESCRIPTLET = 55;

-	public static final int ID = 8;

-	public static final int JSPCLOSEACT = 27;

-	public static final int EOF = -1;

-	public static final int JSPOPENINVOKE = 50;

-	public static final int CLOSEDECL = 59;

-	public static final int JSPOPENOUTPUT = 52;

-	public static final int JSPCLOSEINC = 32;

-	public static final int JSPOPENFALL = 37;

-	public static final int JSP_COMMENT = 9;

-	public static final int JSPTAGOPEN = 22;

-	public static final int CLOSEJSPCMT = 62;

-	public static final int JSPCLOSEBODY = 49;

-	public static final int EQUAL = 16;

-	public static final int JSPOPENPLUG = 35;

-	public static final int OPENSCRIPLET = 54;

-	public static final int OPENEXPR = 56;

-	public static final int JSPCLOSEPARAS = 41;

-	public static final int DOCTYPE = 5;

-	public static final int XMLDECLOPEN = 65;

-	public static final int IDDigit = 19;

-	public static final int SpecialCharacter = 12;

-	public static final int JSPOPENPARAS = 40;

-	public static final int OPENDIRECT = 60;

-	public static final int JSPOPENTEXT = 44;

-	public static final int JSPCLOSEPLUG = 36;

-	public static final int DDOT = 15;

-	public static final int JSPOPENDOBODY = 51;

-	public static final int LINE_COMMENT = 10;

-	public static final int OPENCLOSE = 21;

-	public static final int JSPCLOSETEXT = 45;

-	public static final int JSPOPENDIR = 26;

-	public static final int XMLDECL = 4;

-	public static final int OPENXMLCMT = 63;

-	public static final int JSPTAGCLOSE = 23;

-	public static final int INTERNAL_DTD = 17;

-	public static final int SQUOTE = 14;

-	public static final int Digit = 11;

-	public static final int JSPCLOSEATTR = 46;

-	public static final int JSPOPENDECL = 25;

-	public static final int JSPOPENINC = 31;

-	public static final int JSPOPENATTR = 47;

-	public static final int JSPOPENFWD = 33;

-	public static final int JSPCLOSEROOT = 43;

-	public static final int WS = 7;

-	public static final int JSPUSEBEAN = 28;

-	public static final int JSPSET = 29;

-	public static final int JSPOPENBODY = 48;

-	public static final int JSPGET = 30;

-	public static final int WS2 = 20;

-	public static final int JSPELEMENTOP = 53;

-	public static final int JSPOPENPARA = 39;

-	public static final int JSPOPENROOT = 42;

+    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;

 

-	public JSPParser(TokenStream input) {

-		super(input);

-	}

+    // delegates

+    // delegators

 

-	public String[] getTokenNames() {

-		return tokenNames;

-	}

 

-	public String getGrammarFileName() {

-		return "C:\\Documents and Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g";

-	}

+        public JSPParser(TokenStream input) {

+            this(input, new RecognizerSharedState());

+        }

+        public JSPParser(TokenStream input, RecognizerSharedState state) {

+            super(input, state);

+             

+        }

+        

 

-	// 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());

-	}

+    public String[] getTokenNames() { return JSPParser.tokenNames; }

+    public String getGrammarFileName() { return "JSP.g"; }

 

-	private JspFactory factory = JspFactory.eINSTANCE;

-	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);

-		}

+        //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;

+      }

 

-	}

 

-	/**

-	 * 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);

-		}

-	}

+    // $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 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) {

+                    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();

 

-		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--;

-		}

+            	    state._fsp--;

 

-		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);

-		}

-	}

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:244:6: docType

+            	    {

+            	    pushFollow(FOLLOW_docType_in_page90);

+            	    docType();

 

-	/**

-	 * 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 = "";

+            	    state._fsp--;

 

-		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);

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:245:6: jsp_element[null]

+            	    {

+            	    pushFollow(FOLLOW_jsp_element_in_page98);

+            	    jsp_element(null);

 

-		Text textElmt = xmlFactory.createText();

-		while (text.startsWith("\n") || text.startsWith(" ")) {

-			text = text.substring(1);

-		}

-		textElmt.setName(text);

-		setParent(tag, textElmt);

-		tag.setName("");

-	}

+            	    state._fsp--;

 

-	public JSPStdAction createJSPStdAction(Element parent, String name) {

-		JSPStdAction tag = this.factory.createJSPStdAction();

-		setParent(parent, tag);

-		tag.setName(name);

-		return tag;

-	}

 

-	// $ANTLR start page

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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 {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:238:5:

-			// ( ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] |

-			// text[null] | cData[null] )* )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:238:5:

-			// ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] |

-			// text[null] | cData[null] )*

-			{

+            	    }

+            	    break;

+            	case 4 :

+            	    // JSP.g:246:6: tag[null]

+            	    {

+            	    pushFollow(FOLLOW_tag_in_page106);

+            	    tag(null);

 

-				this.page.setOriginalFilePath(originalFilePath);

-				this.page.setName(fileName);

+            	    state._fsp--;

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:242:5:

-				// ( xmlDecl | docType | jsp_element[null] | tag[null] | endtag | comment[null] |

-				// text[null] | cData[null] )*

-				loop1: do {

-					int alt1 = 9;

-					switch (input.LA(1)) {

-					case XMLDECL: {

-						alt1 = 1;

-					}

-						break;

-					case DOCTYPE: {

-						alt1 = 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: {

-						alt1 = 3;

-					}

-						break;

-					case 67: {

-						int LA1_5 = input.LA(2);

 

-						if ((LA1_5 == WS)) {

-							int LA1_10 = input.LA(3);

+            	    }

+            	    break;

+            	case 5 :

+            	    // JSP.g:247:6: endtag

+            	    {

+            	    pushFollow(FOLLOW_endtag_in_page114);

+            	    endtag();

 

-							if ((LA1_10 == ID)) {

-								switch (input.LA(4)) {

-								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: {

-									alt1 = 4;

-								}

-									break;

-								case WS: {

-									int LA1_13 = input.LA(5);

+            	    state._fsp--;

 

-									if (((LA1_13 >= WS && LA1_13 <= ID) || LA1_13 == JSPTAGOPEN

-											|| (LA1_13 >= JSPOPENEXPR && LA1_13 <= JSPOPENINC)

-											|| LA1_13 == JSPOPENFWD || LA1_13 == JSPOPENPLUG

-											|| LA1_13 == JSPOPENROOT || LA1_13 == JSPOPENTEXT

-											|| (LA1_13 >= JSPOPENATTR && LA1_13 <= JSPOPENBODY)

-											|| (LA1_13 >= JSPOPENINVOKE && LA1_13 <= OPENSCRIPLET)

-											|| LA1_13 == OPENEXPR || LA1_13 == OPENDECL

-											|| LA1_13 == OPENDIRECT || (LA1_13 >= 66 && LA1_13 <= 67))) {

-										alt1 = 4;

-									} else if ((LA1_13 == DDOT)) {

-										alt1 = 3;

-									}

 

-								}

-									break;

-								case DDOT: {

-									alt1 = 3;

-								}

-									break;

+            	    }

+            	    break;

+            	case 6 :

+            	    // JSP.g:248:6: comment[null]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_page121);

+            	    comment(null);

 

-								}

+            	    state._fsp--;

 

-							}

 

-						} else if ((LA1_5 == ID)) {

-							switch (input.LA(3)) {

-							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: {

-								alt1 = 4;

-							}

-								break;

-							case WS: {

-								int LA1_13 = input.LA(4);

+            	    }

+            	    break;

+            	case 7 :

+            	    // JSP.g:249:6: text[null]

+            	    {

+            	    pushFollow(FOLLOW_text_in_page132);

+            	    text(null);

 

-								if (((LA1_13 >= WS && LA1_13 <= ID) || LA1_13 == JSPTAGOPEN

-										|| (LA1_13 >= JSPOPENEXPR && LA1_13 <= JSPOPENINC)

-										|| LA1_13 == JSPOPENFWD || LA1_13 == JSPOPENPLUG

-										|| LA1_13 == JSPOPENROOT || LA1_13 == JSPOPENTEXT

-										|| (LA1_13 >= JSPOPENATTR && LA1_13 <= JSPOPENBODY)

-										|| (LA1_13 >= JSPOPENINVOKE && LA1_13 <= OPENSCRIPLET)

-										|| LA1_13 == OPENEXPR || LA1_13 == OPENDECL

-										|| LA1_13 == OPENDIRECT || (LA1_13 >= 66 && LA1_13 <= 67))) {

-									alt1 = 4;

-								} else if ((LA1_13 == DDOT)) {

-									alt1 = 3;

-								}

+            	    state._fsp--;

 

-							}

-								break;

-							case DDOT: {

-								alt1 = 3;

-							}

-								break;

 

-							}

+            	    }

+            	    break;

+            	case 8 :

+            	    // JSP.g:250:6: cData[null]

+            	    {

+            	    pushFollow(FOLLOW_cData_in_page140);

+            	    cData(null);

 

-						}

+            	    state._fsp--;

 

-					}

-						break;

-					case OPENCLOSE: {

-						alt1 = 5;

-					}

-						break;

-					case JSP_COMMENT:

-					case LINE_COMMENT: {

-						alt1 = 6;

-					}

-						break;

-					case WS:

-					case ID:

-					case Digit:

-					case SpecialCharacter:

-					case DQUOTE:

-					case SQUOTE:

-					case DDOT:

-					case EQUAL: {

-						alt1 = 7;

-					}

-						break;

-					case CDATA: {

-						alt1 = 8;

-					}

-						break;

 

-					}

+            	    }

+            	    break;

 

-					switch (alt1) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:243:5:

-					// xmlDecl

-					{

-						pushFollow(FOLLOW_xmlDecl_in_page83);

-						xmlDecl();

-						_fsp--;

+            	default :

+            	    break loop1;

+                }

+            } while (true);

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:244:6:

-					// docType

-					{

-						pushFollow(FOLLOW_docType_in_page91);

-						docType();

-						_fsp--;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:245:6:

-					// jsp_element[null]

-					{

-						pushFollow(FOLLOW_jsp_element_in_page99);

-						jsp_element(null);

-						_fsp--;

+            }

 

-					}

-						break;

-					case 4:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:246:6:

-					// tag[null]

-					{

-						pushFollow(FOLLOW_tag_in_page107);

-						tag(null);

-						_fsp--;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return ;

+    }

+    // $ANTLR end "page"

 

-					}

-						break;

-					case 5:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:247:6:

-					// endtag

-					{

-						pushFollow(FOLLOW_endtag_in_page116);

-						endtag();

-						_fsp--;

 

-					}

-						break;

-					case 6:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:248:6:

-					// comment[null]

-					{

-						pushFollow(FOLLOW_comment_in_page123);

-						comment(null);

-						_fsp--;

+    // $ANTLR start "xmlDecl"

+    // JSP.g:255:10: fragment xmlDecl : t= XMLDECL ;

+    public final void xmlDecl() throws RecognitionException {

+        Token t=null;

 

-					}

-						break;

-					case 7:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:249:6:

-					// text[null]

-					{

-						pushFollow(FOLLOW_text_in_page134);

-						text(null);

-						_fsp--;

+        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());

 

-					}

-						break;

-					case 8:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:250:6:

-					// cData[null]

-					{

-						pushFollow(FOLLOW_cData_in_page142);

-						cData(null);

-						_fsp--;

+            }

 

-					}

-						break;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return ;

+    }

+    // $ANTLR end "xmlDecl"

 

-					default:

-						break loop1;

-					}

-				} while (true);

 

-			}

+    // $ANTLR start "docType"

+    // JSP.g:258:10: fragment docType : t= DOCTYPE ;

+    public final void docType() throws RecognitionException {

+        Token t=null;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return;

-	}

+        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());

 

-	// $ANTLR end page

+            }

 

-	// $ANTLR start xmlDecl

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:255:10:

-	// fragment xmlDecl : t= XMLDECL ;

-	public final void xmlDecl() throws RecognitionException {

-		Token t = null;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return ;

+    }

+    // $ANTLR end "docType"

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:255:22:

-			// (t= XMLDECL )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:255:22:

-			// t= XMLDECL

-			{

-				t = (Token) input.LT(1);

-				match(input, XMLDECL, FOLLOW_XMLDECL_in_xmlDecl180);

-				this.page.setXmlDeclaration(t.getText());

 

-			}

+    // $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;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return;

-	}

+        Token cData2s=null;

 

-	// $ANTLR end xmlDecl

+        try {

+            // JSP.g:264:3: (cData2s= CDATA )

+            // JSP.g:265:9: cData2s= CDATA

+            {

+            cData2s=(Token)match(input,CDATA,FOLLOW_CDATA_in_cData260); 

 

-	// $ANTLR start docType

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:258:10:

-	// fragment docType : t= DOCTYPE ;

-	public final void docType() throws RecognitionException {

-		Token t = null;

+                          tag = this.xmlFactory.createCDATA();

+                          tag.setName(cData2s.getText());

+                          setParent(parent, tag);

+                        

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:258:22:

-			// (t= DOCTYPE )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:258:22:

-			// t= DOCTYPE

-			{

-				t = (Token) input.LT(1);

-				match(input, DOCTYPE, FOLLOW_DOCTYPE_in_docType198);

-				this.page.setDoctype(t.getText());

+            }

 

-			}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "cData"

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return;

-	}

 

-	// $ANTLR end docType

+    // $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;

 

-	// $ANTLR start cData

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:263:10:

-	// fragment cData[Element parent] returns [CDATA tag] : cData2s= CDATA ;

-	public final CDATA cData(Element parent) throws RecognitionException {

-		CDATA tag = null;

+        JSPScriptlet jsp_scriplet1 = null;

 

-		Token cData2s = null;

+        JSPExpression jsp_expression2 = null;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:265:9:

-			// (cData2s= CDATA )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:265:9:

-			// cData2s= CDATA

-			{

-				cData2s = (Token) input.LT(1);

-				match(input, CDATA, FOLLOW_CDATA_in_cData260);

+        Element jsp_declaration3 = null;

 

-				tag = this.xmlFactory.createCDATA();

-				tag.setName(cData2s.getText());

-				setParent(parent, tag);

+        JSPAction jsp_action4 = null;

 

-			}

+        Element jsp_directive5 = null;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

 

-	// $ANTLR end cData

+        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);

 

-	// $ANTLR start jsp_element

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                throw nvae;

+            }

 

-		JSPScriptlet jsp_scriplet1 = null;

+            switch (alt2) {

+                case 1 :

+                    // JSP.g:275:9: jsp_scriplet[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_scriplet_in_jsp_element316);

+                    jsp_scriplet1=jsp_scriplet(parent);

 

-		JSPExpression jsp_expression2 = null;

+                    state._fsp--;

 

-		Element jsp_declaration3 = null;

+                    tag=jsp_scriplet1;

 

-		JSPAction jsp_action4 = null;

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:276:10: jsp_expression[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_expression_in_jsp_element339);

+                    jsp_expression2=jsp_expression(parent);

 

-		Element jsp_directive5 = null;

+                    state._fsp--;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:275:9:

-			// ( 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(

-						"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] );",

-						2, 0, input);

+                    tag=jsp_expression2;

 

-				throw nvae;

-			}

+                    }

+                    break;

+                case 3 :

+                    // JSP.g:277:10: jsp_declaration[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_declaration_in_jsp_element354);

+                    jsp_declaration3=jsp_declaration(parent);

 

-			switch (alt2) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:275:9:

-			// jsp_scriplet[parent]

-			{

-				pushFollow(FOLLOW_jsp_scriplet_in_jsp_element316);

-				jsp_scriplet1 = jsp_scriplet(parent);

-				_fsp--;

+                    state._fsp--;

 

-				tag = jsp_scriplet1;

+                    tag=jsp_declaration3;

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:276:10:

-			// jsp_expression[parent]

-			{

-				pushFollow(FOLLOW_jsp_expression_in_jsp_element339);

-				jsp_expression2 = jsp_expression(parent);

-				_fsp--;

+                    }

+                    break;

+                case 4 :

+                    // JSP.g:278:10: jsp_action[ parent]

+                    {

+                    pushFollow(FOLLOW_jsp_action_in_jsp_element438);

+                    jsp_action4=jsp_action(parent);

 

-				tag = jsp_expression2;

+                    state._fsp--;

 

-			}

-				break;

-			case 3:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:277:10:

-			// jsp_declaration[parent]

-			{

-				pushFollow(FOLLOW_jsp_declaration_in_jsp_element354);

-				jsp_declaration3 = jsp_declaration(parent);

-				_fsp--;

+                    tag=jsp_action4;

 

-				tag = jsp_declaration3;

+                    }

+                    break;

+                case 5 :

+                    // JSP.g:279:10: jsp_directive[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_directive_in_jsp_element456);

+                    jsp_directive5=jsp_directive(parent);

 

-			}

-				break;

-			case 4:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:278:10:

-			// jsp_action[ parent]

-			{

-				pushFollow(FOLLOW_jsp_action_in_jsp_element438);

-				jsp_action4 = jsp_action(parent);

-				_fsp--;

+                    state._fsp--;

 

-				tag = jsp_action4;

+                    tag=jsp_directive5;

 

-			}

-				break;

-			case 5:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:279:10:

-			// jsp_directive[parent]

-			{

-				pushFollow(FOLLOW_jsp_directive_in_jsp_element456);

-				jsp_directive5 = jsp_directive(parent);

-				_fsp--;

+                    }

+                    break;

 

-				tag = jsp_directive5;

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_element"

 

-			}

-				break;

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+    // $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;

 

-	// $ANTLR end jsp_element

+        Token id1=null;

+        Token id2=null;

 

-	// $ANTLR start endtag

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        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);

 

-		Token id1 = null;

-		Token id2 = null;

+            if ( (LA3_0==WS) ) {

+                alt3=1;

+            }

+            switch (alt3) {

+                case 1 :

+                    // JSP.g:286:11: WS

+                    {

+                    match(input,WS,FOLLOW_WS_in_endtag528); 

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:6:

-			// ( '</' ( WS )? id1= ID ( ( WS )? ':' ( WS )? id2= ID )? ( WS )? '>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:6:

-			// '</' ( WS )? id1= ID ( ( WS )? ':' ( WS )? id2= ID )? ( WS )? '>'

-			{

-				match(input, OPENCLOSE, FOLLOW_OPENCLOSE_in_endtag526);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:11:

-				// ( WS )?

-				int alt3 = 2;

-				int LA3_0 = input.LA(1);

+                    }

+                    break;

 

-				if ((LA3_0 == WS)) {

-					alt3 = 1;

-				}

-				switch (alt3) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

 

-				id1 = (Token) input.LT(1);

-				match(input, ID, FOLLOW_ID_in_endtag533);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:23:

-				// ( ( WS )? ':' ( WS )? id2= ID )?

-				int alt6 = 2;

-				int LA6_0 = input.LA(1);

+                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 ((LA6_0 == WS)) {

-					int LA6_1 = input.LA(2);

+                    if ( (LA4_0==WS) ) {

+                        alt4=1;

+                    }

+                    switch (alt4) {

+                        case 1 :

+                            // JSP.g:286:24: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_endtag537); 

 

-					if ((LA6_1 == DDOT)) {

-						alt6 = 1;

-					}

-				} else if ((LA6_0 == DDOT)) {

-					alt6 = 1;

-				}

-				switch (alt6) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:24:

-				// ( WS )? ':' ( WS )? id2= ID

-				{

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:24:

-					// ( WS )?

-					int alt4 = 2;

-					int LA4_0 = input.LA(1);

+                            }

+                            break;

 

-					if ((LA4_0 == WS)) {

-						alt4 = 1;

-					}

-					switch (alt4) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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); 

 

-					match(input, DDOT, FOLLOW_DDOT_in_endtag540);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:32:

-					// ( WS )?

-					int alt5 = 2;

-					int LA5_0 = input.LA(1);

+                            }

+                            break;

 

-					if ((LA5_0 == WS)) {

-						alt5 = 1;

-					}

-					switch (alt5) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:32:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_endtag542);

+                    }

 

-					}

-						break;

+                    id2=(Token)match(input,ID,FOLLOW_ID_in_endtag547); 

 

-					}

+                    }

+                    break;

 

-					id2 = (Token) input.LT(1);

-					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); 

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:286:45:

-				// ( WS )?

-				int alt7 = 2;

-				int LA7_0 = input.LA(1);

+                    }

+                    break;

 

-				if ((LA7_0 == WS)) {

-					alt7 = 1;

-				}

-				switch (alt7) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);        

+                 

 

-				}

+            }

 

-				match(input, 66, FOLLOW_66_in_endtag553);

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "endtag"

 

-				String endTagName = id1.getText() + (id2 != null ? ":" + id2.getText() : ""); //$NON-NLS-1$

-				resolveChild(endTagName);

 

-			}

+    // $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;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+        Token id1=null;

+        Element jsp = null;

 

-	// $ANTLR end endtag

 

-	// $ANTLR start tag

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        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] )* ( '>' | '/>' )

+            {

 

-		Token id1 = null;

-		Element jsp = null;

+                  Boolean isJavascript = false;

+                  

+                

+            match(input,67,FOLLOW_67_in_tag621); 

+            // JSP.g:303:11: ( WS )?

+            int alt8=2;

+            int LA8_0 = input.LA(1);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:297:5:

-			// ( ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>'

-			// ) ) )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:297:5:

-			// ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>' )

-			// )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:297:5:

-				// ( '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' |

-				// '/>' ) )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:298:5:

-				// '<' ( WS )? id1= ID ( attribute[tag] | WS | jsp= jsp_element[tag] )* ( '>' | '/>'

-				// )

-				{

+            if ( (LA8_0==WS) ) {

+                alt8=1;

+            }

+            switch (alt8) {

+                case 1 :

+                    // JSP.g:303:11: WS

+                    {

+                    match(input,WS,FOLLOW_WS_in_tag623); 

 

-					Boolean isJavascript = false;

+                    }

+                    break;

 

-					match(input, 67, FOLLOW_67_in_tag621);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:303:11:

-					// ( WS )?

-					int alt8 = 2;

-					int LA8_0 = input.LA(1);

+            }

 

-					if ((LA8_0 == WS)) {

-						alt8 = 1;

-					}

-					switch (alt8) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:303:11:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_tag623);

+            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;

 

-					}

-						break;

+                }

 

-					}

+                switch (alt9) {

+            	case 1 :

+            	    // JSP.g:497:15: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_tag685);

+            	    attribute(tag);

 

-					id1 = (Token) input.LT(1);

-					match(input, ID, FOLLOW_ID_in_tag628);

+            	    state._fsp--;

 

-					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 {

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:497:32: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_tag690); 

 

-									/**

-									 * 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)) {

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:499:15: jsp= jsp_element[tag]

+            	    {

+            	    pushFollow(FOLLOW_jsp_element_in_tag724);

+            	    jsp=jsp_element(tag);

 

-									// SCRIPLET CASE

-									case JSPTAGOPEN:

-									case OPENSCRIPLET: {

-										createJavascriptText(tag, text);

-										text = "";

-										jsp_scriplet(tag);

-									}

-										break;

+            	    state._fsp--;

 

-									// 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;

+            	                  //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);

+            	                     }

+            	                   

 

-									// 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;

+            	    }

+            	    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;

+            	default :

+            	    break loop9;

+                }

+            } while (true);

 

-									// JSP DIRECTIVE CASE

-									case JSPOPENDIR:

-									case OPENDIRECT: {

-										createJavascriptText(tag, text);

-										text = "";

-										jsp_directive(tag);

-									}

-										break;

+            if ( input.LA(1)==JSPCLOSEACT||input.LA(1)==66 ) {

+                input.consume();

+                state.errorRecovery=false;

+            }

+            else {

+                MismatchedSetException mse = new MismatchedSetException(null,input);

+                throw mse;

+            }

 

-									// 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);

-											}

-										}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "tag"

 

-										for (Node child : toBeAdded) {

-											((Element) parentNode).getChildren().add(child);

-										}

 

-										input.consume();

-										input.consume();

-										input.consume();

-										input.consume();

-										input.consume();

-									}

-										break;

+    // $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;

 

-									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);

+        try {

+            // JSP.g:519:3: ( ( '<%' '%>' ) | ( '<jsp:scriptlet>' '</jsp:scriptlet>' ) )

+            int alt10=2;

+            int LA10_0 = input.LA(1);

 

-						createJavascriptText(tag, text);

-						text = "";

+            if ( (LA10_0==JSPTAGOPEN) ) {

+                alt10=1;

+            }

+            else if ( (LA10_0==OPENSCRIPLET) ) {

+                alt10=2;

+            }

+            else {

+                NoViableAltException nvae =

+                    new NoViableAltException("", 10, 0, input);

 

-						return tag;

+                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); 

 

-					} else {

-						tag = xmlFactory.createElement();

-					}

-					String tmp = id1.getText();

-					tag.setName(tmp);

-					setParent(parent, tag);

+                    }

 

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

 

-						}

+                    }

+                    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); 

 

-						switch (alt9) {

-						case 1:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:497:15:

-						// attribute[tag]

-						{

-							pushFollow(FOLLOW_attribute_in_tag685);

-							attribute(tag);

-							_fsp--;

+                    }

 

-						}

-							break;

-						case 2:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:497:32:

-						// WS

-						{

-							match(input, WS, FOLLOW_WS_in_tag690);

 

-						}

-							break;

-						case 3:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:499:15:

-						// jsp= jsp_element[tag]

-						{

-							pushFollow(FOLLOW_jsp_element_in_tag724);

-							jsp = jsp_element(tag);

-							_fsp--;

+                    }

+                    break;

 

-							// 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);

-							}

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_scriplet"

 

-						}

-							break;

 

-						default:

-							break loop9;

-						}

-					} while (true);

+    // $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;

 

-					if (input.LA(1) == JSPCLOSEACT || input.LA(1) == 66) {

-						input.consume();

-						errorRecovery = false;

-					} else {

-						MismatchedSetException mse = new MismatchedSetException(null, input);

-						recoverFromMismatchedSet(input, mse, FOLLOW_set_in_tag769);

-						throw mse;

-					}

+        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); 

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                    }

 

-	// $ANTLR end tag

 

-	// $ANTLR start jsp_scriplet

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    }

+                    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); 

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:521:11:

-			// ( ( '<%' '%>' ) | ( '<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(

-						"518:10: fragment jsp_scriplet[Element parent] returns [JSPScriptlet tag] : ( ( '<%' '%>' ) | ( '<jsp:scriptlet>' '</jsp:scriptlet>' ) );",

-						10, 0, input);

 

-				throw nvae;

-			}

-			switch (alt10) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:521:11:

-			// ( '<%' '%>' )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:521:11:

-				// ( '<%' '%>' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:522:13:

-				// '<%' '%>'

-				{

-					match(input, JSPTAGOPEN, FOLLOW_JSPTAGOPEN_in_jsp_scriplet860);

+                    }

+                    break;

 

-					tag = this.factory.createJSPScriptlet();

-					setParent(parent, tag);

-					getTagContent(JSPTAGCLOSE, tag);

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_declaration"

 

-					match(input, JSPTAGCLOSE, FOLLOW_JSPTAGCLOSE_in_jsp_scriplet906);

 

-				}

+    // $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;

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:534:10:

-			// ( '<jsp:scriptlet>' '</jsp:scriptlet>' )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:534:10:

-				// ( '<jsp:scriptlet>' '</jsp:scriptlet>' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:535:12:

-				// '<jsp:scriptlet>' '</jsp:scriptlet>'

-				{

-					match(input, OPENSCRIPLET, FOLLOW_OPENSCRIPLET_in_jsp_scriplet992);

+        Token id1=null;

+        Token id2=null;

 

-					tag = this.factory.createJSPScriptlet();

-					setParent(parent, tag);

-					getTagContent(CLOSESCRIPTLET, tag);

+        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);

 

-					match(input, CLOSESCRIPTLET, FOLLOW_CLOSESCRIPTLET_in_jsp_scriplet1032);

+            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);

 

-			}

-				break;

+                    if ( (LA12_0==WS) ) {

+                        alt12=1;

+                    }

+                    switch (alt12) {

+                        case 1 :

+                            // JSP.g:578:10: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_jsp_directive1242); 

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                            }

+                            break;

 

-	// $ANTLR end jsp_scriplet

+                    }

 

-	// $ANTLR start jsp_declaration

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    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);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:550:6:

-			// ( ( '<%!' '%>' ) | ( '<jsp:declaration>' '</jsp:declaration>' ) )

-			int alt11 = 2;

-			int LA11_0 = input.LA(1);

+                        if ( (LA13_0==ID) ) {

+                            alt13=1;

+                        }

+                        else if ( (LA13_0==WS) ) {

+                            alt13=2;

+                        }

 

-			if ((LA11_0 == JSPOPENDECL)) {

-				alt11 = 1;

-			} else if ((LA11_0 == OPENDECL)) {

-				alt11 = 2;

-			} else {

-				NoViableAltException nvae = new NoViableAltException(

-						"545:10: fragment jsp_declaration[Element parent] returns [Element tag] : ( ( '<%!' '%>' ) | ( '<jsp:declaration>' '</jsp:declaration>' ) );",

-						11, 0, input);

 

-				throw nvae;

-			}

-			switch (alt11) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:550:6:

-			// ( '<%!' '%>' )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:550:6:

-				// ( '<%!' '%>' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:551:9:

-				// '<%!' '%>'

-				{

-					match(input, JSPOPENDECL, FOLLOW_JSPOPENDECL_in_jsp_declaration1100);

+                        switch (alt13) {

+                    	case 1 :

+                    	    // JSP.g:590:12: attribute[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_attribute_in_jsp_directive1294);

+                    	    attribute(tag);

 

-					tag = this.factory.createJSPDeclaration();

-					setParent(parent, tag);

-					getTagContent(JSPTAGCLOSE, tag);

+                    	    state._fsp--;

 

-					match(input, JSPTAGCLOSE, FOLLOW_JSPTAGCLOSE_in_jsp_declaration1127);

 

-				}

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:590:27: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_directive1297); 

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:562:6:

-			// ( '<jsp:declaration>' '</jsp:declaration>' )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:562:6:

-				// ( '<jsp:declaration>' '</jsp:declaration>' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:564:6:

-				// '<jsp:declaration>' '</jsp:declaration>'

-				{

-					match(input, OPENDECL, FOLLOW_OPENDECL_in_jsp_declaration1174);

+                    	    }

+                    	    break;

 

-					tag = this.factory.createJSPDeclaration();

-					setParent(parent, tag);

-					getTagContent(CLOSEDECL, tag);

+                    	default :

+                    	    break loop13;

+                        }

+                    } while (true);

 

-					match(input, CLOSEDECL, FOLLOW_CLOSEDECL_in_jsp_declaration1198);

+                    match(input,JSPTAGCLOSE,FOLLOW_JSPTAGCLOSE_in_jsp_directive1315); 

 

-				}

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:596:5: '<jsp:directive.' ( WS )? id2= ID ( attribute[tag] | WS )* '/>'

+                    {

 

-			}

-				break;

+                          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);

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                    if ( (LA14_0==WS) ) {

+                        alt14=1;

+                    }

+                    switch (alt14) {

+                        case 1 :

+                            // JSP.g:600:23: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_jsp_directive1364); 

 

-	// $ANTLR end jsp_declaration

+                            }

+                            break;

 

-	// $ANTLR start jsp_directive

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    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);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:578:4:

-			// ( '<%@' ( WS )? id1= ID ( attribute[tag] | WS )* '%>' | '<jsp:directive.' ( WS )?

-			// id2= ID ( attribute[tag] | WS )* '/>' )

-			int alt16 = 2;

-			int LA16_0 = input.LA(1);

+                        if ( (LA15_0==ID) ) {

+                            alt15=1;

+                        }

+                        else if ( (LA15_0==WS) ) {

+                            alt15=2;

+                        }

 

-			if ((LA16_0 == JSPOPENDIR)) {

-				alt16 = 1;

-			} else if ((LA16_0 == OPENDIRECT)) {

-				alt16 = 2;

-			} else {

-				NoViableAltException nvae = new NoViableAltException(

-						"574:10: fragment jsp_directive[Element parent] returns [Element tag] : ( '<%@' ( WS )? id1= ID ( attribute[tag] | WS )* '%>' | '<jsp:directive.' ( WS )? id2= ID ( attribute[tag] | WS )* '/>' );",

-						16, 0, input);

 

-				throw nvae;

-			}

-			switch (alt16) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:578:4:

-			// '<%@' ( WS )? id1= ID ( attribute[tag] | WS )* '%>'

-			{

-				match(input, JSPOPENDIR, FOLLOW_JSPOPENDIR_in_jsp_directive1240);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:578:10:

-				// ( WS )?

-				int alt12 = 2;

-				int LA12_0 = input.LA(1);

+                        switch (alt15) {

+                    	case 1 :

+                    	    // JSP.g:600:35: attribute[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_attribute_in_jsp_directive1372);

+                    	    attribute(tag);

 

-				if ((LA12_0 == WS)) {

-					alt12 = 1;

-				}

-				switch (alt12) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:578:10:

-				// WS

-				{

-					match(input, WS, FOLLOW_WS_in_jsp_directive1242);

+                    	    state._fsp--;

 

-				}

-					break;

 

-				}

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:600:50: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_directive1375); 

 

-				id1 = (Token) input.LT(1);

-				match(input, ID, FOLLOW_ID_in_jsp_directive1266);

+                    	    }

+                    	    break;

 

-				if (id1.getText().equalsIgnoreCase("taglib")) {//$NON-NLS-1$

-					tag = this.factory.createJSPTagLib();

-				} else {

-					tag = this.factory.createJSPDirective();

-				}

-				tag.setName(id1.getText());

-				setParent(parent, tag);

+                    	default :

+                    	    break loop15;

+                        }

+                    } while (true);

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:590:11:

-				// ( attribute[tag] | WS )*

-				loop13: do {

-					int alt13 = 3;

-					int LA13_0 = input.LA(1);

+                    match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_directive1380); 

+                     

+                          tag.setName(id2.getText());       

+                        

 

-					if ((LA13_0 == ID)) {

-						alt13 = 1;

-					} else if ((LA13_0 == WS)) {

-						alt13 = 2;

-					}

+                    }

+                    break;

 

-					switch (alt13) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:590:12:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_directive1294);

-						attribute(tag);

-						_fsp--;

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_directive"

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:590:27:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_directive1297);

 

-					}

-						break;

+    // $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;

 

-					default:

-						break loop13;

-					}

-				} while (true);

+        try {

+            // JSP.g:607:3: ( ( '<%=' '%>' ) | ( '<jsp:expression>' '</jsp:expression>' ) )

+            int alt17=2;

+            int LA17_0 = input.LA(1);

 

-				match(input, JSPTAGCLOSE, FOLLOW_JSPTAGCLOSE_in_jsp_directive1315);

+            if ( (LA17_0==JSPOPENEXPR) ) {

+                alt17=1;

+            }

+            else if ( (LA17_0==OPENEXPR) ) {

+                alt17=2;

+            }

+            else {

+                NoViableAltException nvae =

+                    new NoViableAltException("", 17, 0, input);

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:596:5:

-			// '<jsp:directive.' ( WS )? id2= ID ( attribute[tag] | WS )* '/>'

-			{

+                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); 

 

-				tag = this.factory.createJSPDirective();

-				setParent(parent, tag);

+                    }

 

-				match(input, OPENDIRECT, FOLLOW_OPENDIRECT_in_jsp_directive1362);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:600:23:

-				// ( WS )?

-				int alt14 = 2;

-				int LA14_0 = input.LA(1);

 

-				if ((LA14_0 == WS)) {

-					alt14 = 1;

-				}

-				switch (alt14) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:600:23:

-				// WS

-				{

-					match(input, WS, FOLLOW_WS_in_jsp_directive1364);

+                    }

+                    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;

+                    }

 

-				}

 

-				id2 = (Token) input.LT(1);

-				match(input, ID, FOLLOW_ID_in_jsp_directive1369);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:600:34:

-				// ( attribute[tag] | WS )*

-				loop15: do {

-					int alt15 = 3;

-					int LA15_0 = input.LA(1);

+                    }

+                    break;

 

-					if ((LA15_0 == ID)) {

-						alt15 = 1;

-					} else if ((LA15_0 == WS)) {

-						alt15 = 2;

-					}

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_expression"

 

-					switch (alt15) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:600:35:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_directive1372);

-						attribute(tag);

-						_fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:600:50:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_directive1375);

+    // $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;

 

-					}

-						break;

+        Token id1=null;

+        Token id2=null;

+        Element jsp = null;

 

-					default:

-						break loop15;

-					}

-				} while (true);

+        JSPStdAction jsp_standard_action6 = null;

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_directive1380);

 

-				tag.setName(id2.getText());

+        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);

 

-			}

-				break;

+            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);

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                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);

 

-	// $ANTLR end jsp_directive

+                    if ( (LA18_0==WS) ) {

+                        alt18=1;

+                    }

+                    switch (alt18) {

+                        case 1 :

+                            // JSP.g:635:12: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_jsp_action1627); 

 

-	// $ANTLR start jsp_expression

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                            }

+                            break;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:609:8:

-			// ( ( '<%=' '%>' ) | ( '<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(

-						"606:10: fragment jsp_expression[Element parent] returns [JSPExpression tag] : ( ( '<%=' '%>' ) | ( '<jsp:expression>' '</jsp:expression>' ) );",

-						17, 0, input);

+                    id1=(Token)match(input,ID,FOLLOW_ID_in_jsp_action1632); 

+                    // JSP.g:635:23: ( WS )?

+                    int alt19=2;

+                    int LA19_0 = input.LA(1);

 

-				throw nvae;

-			}

-			switch (alt17) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:609:8:

-			// ( '<%=' '%>' )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:609:8:

-				// ( '<%=' '%>' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:610:11:

-				// '<%=' '%>'

-				{

-					match(input, JSPOPENEXPR, FOLLOW_JSPOPENEXPR_in_jsp_expression1435);

+                    if ( (LA19_0==WS) ) {

+                        alt19=1;

+                    }

+                    switch (alt19) {

+                        case 1 :

+                            // JSP.g:635:23: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_jsp_action1634); 

 

-					tag = this.factory.createJSPExpression();

-					setParent(parent, tag);

-					getTagContent(JSPTAGCLOSE, tag);

+                            }

+                            break;

 

-					match(input, JSPTAGCLOSE, FOLLOW_JSPTAGCLOSE_in_jsp_expression1475);

+                    }

 

-				}

+                    match(input,DDOT,FOLLOW_DDOT_in_jsp_action1637); 

+                    // JSP.g:635:31: ( WS )?

+                    int alt20=2;

+                    int LA20_0 = input.LA(1);

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:620:8:

-			// ( '<jsp:expression>' '</jsp:expression>' )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:620:8:

-				// ( '<jsp:expression>' '</jsp:expression>' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:621:12:

-				// '<jsp:expression>' '</jsp:expression>'

-				{

-					match(input, OPENEXPR, FOLLOW_OPENEXPR_in_jsp_expression1525);

+                    if ( (LA20_0==WS) ) {

+                        alt20=1;

+                    }

+                    switch (alt20) {

+                        case 1 :

+                            // JSP.g:635:31: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_jsp_action1639); 

 

-					tag = this.factory.createJSPExpression();

-					setParent(parent, tag);

-					getTagContent(CLOSEEXPR, tag);

+                            }

+                            break;

 

-					match(input, CLOSEEXPR, FOLLOW_CLOSEEXPR_in_jsp_expression1570);

+                    }

 

-				}

+                    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;

 

-			}

-				break;

+                        }

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                        switch (alt21) {

+                    	case 1 :

+                    	    // JSP.g:642:17: attribute[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_attribute_in_jsp_action1681);

+                    	    attribute(tag);

 

-	// $ANTLR end jsp_expression

+                    	    state._fsp--;

 

-	// $ANTLR start jsp_action

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:643:19: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_action1704); 

 

-		JSPStdAction jsp_standard_action6 = null;

+                    	    }

+                    	    break;

+                    	case 3 :

+                    	    // JSP.g:645:17: jsp= jsp_element[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_jsp_element_in_jsp_action1743);

+                    	    jsp=jsp_element(tag);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:634:7:

-			// ( ( '<' ( 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);

+                    	    state._fsp--;

 

-			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(

-						"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] );",

-						22, 0, input);

 

-				throw nvae;

-			}

-			switch (alt22) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:634:7:

-			// ( '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp=

-			// jsp_element[tag] )* ( '>' | '/>' ) )

-			{

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:634:7:

-				// ( '<' ( WS )? id1= ID ( WS )? ':' ( WS )? id2= ID ( attribute[tag] | WS | jsp=

-				// jsp_element[tag] )* ( '>' | '/>' ) )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:635:12:

-					// ( WS )?

-					int alt18 = 2;

-					int LA18_0 = input.LA(1);

+                    	                    //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);

+                    	                       }

+                    	                     

 

-					if ((LA18_0 == WS)) {

-						alt18 = 1;

-					}

-					switch (alt18) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:635:12:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_action1627);

+                    	    }

+                    	    break;

 

-					}

-						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;

+                    }

 

-					id1 = (Token) input.LT(1);

-					match(input, ID, FOLLOW_ID_in_jsp_action1632);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:635:23:

-					// ( WS )?

-					int alt19 = 2;

-					int LA19_0 = input.LA(1);

 

-					if ((LA19_0 == WS)) {

-						alt19 = 1;

-					}

-					switch (alt19) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:635:23:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_action1634);

+                    }

 

-					}

-						break;

 

-					}

+                    }

+                    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);

 

-					match(input, DDOT, FOLLOW_DDOT_in_jsp_action1637);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:635:31:

-					// ( WS )?

-					int alt20 = 2;

-					int LA20_0 = input.LA(1);

+                    state._fsp--;

 

-					if ((LA20_0 == WS)) {

-						alt20 = 1;

-					}

-					switch (alt20) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:635:31:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_action1639);

+                    tag=jsp_standard_action6;

 

-					}

-						break;

+                    }

+                    break;

 

-					}

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_action"

 

-					id2 = (Token) input.LT(1);

-					match(input, ID, FOLLOW_ID_in_jsp_action1644);

 

-					tag = this.factory.createJSPAction();

-					tag.setName(id1.getText() + ":" + id2.getText());

-					setParent(parent, tag);

+    // $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;

 

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        JSPStdAction jsp_include7 = null;

 

-						}

+        JSPStdAction jsp_plugin8 = null;

 

-						switch (alt21) {

-						case 1:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:642:17:

-						// attribute[tag]

-						{

-							pushFollow(FOLLOW_attribute_in_jsp_action1681);

-							attribute(tag);

-							_fsp--;

+        JSPStdAction jsp_getProperty9 = null;

 

-						}

-							break;

-						case 2:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:643:19:

-						// WS

-						{

-							match(input, WS, FOLLOW_WS_in_jsp_action1704);

+        JSPStdAction jsp_setProperty10 = null;

 

-						}

-							break;

-						case 3:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:645:17:

-						// jsp= jsp_element[tag]

-						{

-							pushFollow(FOLLOW_jsp_element_in_jsp_action1743);

-							jsp = jsp_element(tag);

-							_fsp--;

+        JSPStdAction jsp_useBean11 = null;

 

-							// 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);

-							}

+        JSPStdAction jsp_forward12 = null;

 

-						}

-							break;

+        JSPStdAction jsp_dobody13 = null;

 

-						default:

-							break loop21;

-						}

-					} while (true);

+        JSPStdAction jsp_output14 = null;

 

-					if (input.LA(1) == JSPCLOSEACT || input.LA(1) == 66) {

-						input.consume();

-						errorRecovery = false;

-					} else {

-						MismatchedSetException mse = new MismatchedSetException(null, input);

-						recoverFromMismatchedSet(input, mse, FOLLOW_set_in_jsp_action1794);

-						throw mse;

-					}

+        JSPStdAction jsp_invoke15 = null;

 

-				}

+        JSPStdAction jsp_body16 = null;

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:664:4:

-			// jsp_standard_action[parent]

-			{

-				pushFollow(FOLLOW_jsp_standard_action_in_jsp_action1816);

-				jsp_standard_action6 = jsp_standard_action(parent);

-				_fsp--;

+        JSPStdAction jsp_attribute17 = null;

 

-				tag = jsp_standard_action6;

+        JSPStdAction jsp_text18 = null;

 

-			}

-				break;

+        JSPStdAction jsp_root19 = null;

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+        JSPStdAction jsp_eltStdAct20 = null;

 

-	// $ANTLR end jsp_action

 

-	// $ANTLR start jsp_standard_action

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        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);

 

-		JSPStdAction jsp_include7 = null;

+                throw nvae;

+            }

 

-		JSPStdAction jsp_plugin8 = null;

+            switch (alt23) {

+                case 1 :

+                    // JSP.g:675:4: jsp_include[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_include_in_jsp_standard_action1850);

+                    jsp_include7=jsp_include(parent);

 

-		JSPStdAction jsp_getProperty9 = null;

+                    state._fsp--;

 

-		JSPStdAction jsp_setProperty10 = null;

+                    tag=jsp_include7;

 

-		JSPStdAction jsp_useBean11 = null;

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:676:5: jsp_plugin[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_plugin_in_jsp_standard_action1864);

+                    jsp_plugin8=jsp_plugin(parent);

 

-		JSPStdAction jsp_forward12 = null;

+                    state._fsp--;

 

-		JSPStdAction jsp_dobody13 = null;

+                    tag=jsp_plugin8;

 

-		JSPStdAction jsp_output14 = null;

+                    }

+                    break;

+                case 3 :

+                    // JSP.g:677:5: jsp_getProperty[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_getProperty_in_jsp_standard_action1878);

+                    jsp_getProperty9=jsp_getProperty(parent);

 

-		JSPStdAction jsp_invoke15 = null;

+                    state._fsp--;

 

-		JSPStdAction jsp_body16 = null;

+                    tag=jsp_getProperty9;

 

-		JSPStdAction jsp_attribute17 = null;

+                    }

+                    break;

+                case 4 :

+                    // JSP.g:678:5: jsp_setProperty[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_setProperty_in_jsp_standard_action1887);

+                    jsp_setProperty10=jsp_setProperty(parent);

 

-		JSPStdAction jsp_text18 = null;

+                    state._fsp--;

 

-		JSPStdAction jsp_root19 = null;

+                    tag=jsp_setProperty10;

 

-		JSPStdAction jsp_eltStdAct20 = null;

+                    }

+                    break;

+                case 5 :

+                    // JSP.g:679:5: jsp_useBean[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_useBean_in_jsp_standard_action1896);

+                    jsp_useBean11=jsp_useBean(parent);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:675:4:

-			// ( 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(

-						"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] );",

-						23, 0, input);

+                    state._fsp--;

 

-				throw nvae;

-			}

+                    tag=jsp_useBean11;

 

-			switch (alt23) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:675:4:

-			// jsp_include[parent]

-			{

-				pushFollow(FOLLOW_jsp_include_in_jsp_standard_action1850);

-				jsp_include7 = jsp_include(parent);

-				_fsp--;

+                    }

+                    break;

+                case 6 :

+                    // JSP.g:680:5: jsp_forward[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_forward_in_jsp_standard_action1909);

+                    jsp_forward12=jsp_forward(parent);

 

-				tag = jsp_include7;

+                    state._fsp--;

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:676:5:

-			// jsp_plugin[parent]

-			{

-				pushFollow(FOLLOW_jsp_plugin_in_jsp_standard_action1864);

-				jsp_plugin8 = jsp_plugin(parent);

-				_fsp--;

+                    tag=jsp_forward12;

 

-				tag = jsp_plugin8;

+                    }

+                    break;

+                case 7 :

+                    // JSP.g:681:5: jsp_dobody[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_dobody_in_jsp_standard_action1922);

+                    jsp_dobody13=jsp_dobody(parent);

 

-			}

-				break;

-			case 3:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:677:5:

-			// jsp_getProperty[parent]

-			{

-				pushFollow(FOLLOW_jsp_getProperty_in_jsp_standard_action1878);

-				jsp_getProperty9 = jsp_getProperty(parent);

-				_fsp--;

+                    state._fsp--;

 

-				tag = jsp_getProperty9;

+                    tag=jsp_dobody13;

 

-			}

-				break;

-			case 4:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:678:5:

-			// jsp_setProperty[parent]

-			{

-				pushFollow(FOLLOW_jsp_setProperty_in_jsp_standard_action1887);

-				jsp_setProperty10 = jsp_setProperty(parent);

-				_fsp--;

+                    }

+                    break;

+                case 8 :

+                    // JSP.g:682:5: jsp_output[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_output_in_jsp_standard_action1936);

+                    jsp_output14=jsp_output(parent);

 

-				tag = jsp_setProperty10;

+                    state._fsp--;

 

-			}

-				break;

-			case 5:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:679:5:

-			// jsp_useBean[parent]

-			{

-				pushFollow(FOLLOW_jsp_useBean_in_jsp_standard_action1896);

-				jsp_useBean11 = jsp_useBean(parent);

-				_fsp--;

+                    tag=jsp_output14;

 

-				tag = jsp_useBean11;

+                    }

+                    break;

+                case 9 :

+                    // JSP.g:683:5: jsp_invoke[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_invoke_in_jsp_standard_action1950);

+                    jsp_invoke15=jsp_invoke(parent);

 

-			}

-				break;

-			case 6:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:680:5:

-			// jsp_forward[parent]

-			{

-				pushFollow(FOLLOW_jsp_forward_in_jsp_standard_action1909);

-				jsp_forward12 = jsp_forward(parent);

-				_fsp--;

+                    state._fsp--;

 

-				tag = jsp_forward12;

+                    tag=jsp_invoke15;

 

-			}

-				break;

-			case 7:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:681:5:

-			// jsp_dobody[parent]

-			{

-				pushFollow(FOLLOW_jsp_dobody_in_jsp_standard_action1922);

-				jsp_dobody13 = jsp_dobody(parent);

-				_fsp--;

+                    }

+                    break;

+                case 10 :

+                    // JSP.g:684:5: jsp_body[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_body_in_jsp_standard_action1964);

+                    jsp_body16=jsp_body(parent);

 

-				tag = jsp_dobody13;

+                    state._fsp--;

 

-			}

-				break;

-			case 8:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:682:5:

-			// jsp_output[parent]

-			{

-				pushFollow(FOLLOW_jsp_output_in_jsp_standard_action1936);

-				jsp_output14 = jsp_output(parent);

-				_fsp--;

+                    tag=jsp_body16;

 

-				tag = jsp_output14;

+                    }

+                    break;

+                case 11 :

+                    // JSP.g:685:5: jsp_attribute[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_attribute_in_jsp_standard_action1980);

+                    jsp_attribute17=jsp_attribute(parent);

 

-			}

-				break;

-			case 9:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:683:5:

-			// jsp_invoke[parent]

-			{

-				pushFollow(FOLLOW_jsp_invoke_in_jsp_standard_action1950);

-				jsp_invoke15 = jsp_invoke(parent);

-				_fsp--;

+                    state._fsp--;

 

-				tag = jsp_invoke15;

+                    tag=jsp_attribute17;

 

-			}

-				break;

-			case 10:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:684:5:

-			// jsp_body[parent]

-			{

-				pushFollow(FOLLOW_jsp_body_in_jsp_standard_action1964);

-				jsp_body16 = jsp_body(parent);

-				_fsp--;

+                    }

+                    break;

+                case 12 :

+                    // JSP.g:686:5: jsp_text[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_text_in_jsp_standard_action1991);

+                    jsp_text18=jsp_text(parent);

 

-				tag = jsp_body16;

+                    state._fsp--;

 

-			}

-				break;

-			case 11:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:685:5:

-			// jsp_attribute[parent]

-			{

-				pushFollow(FOLLOW_jsp_attribute_in_jsp_standard_action1980);

-				jsp_attribute17 = jsp_attribute(parent);

-				_fsp--;

+                    tag=jsp_text18;

 

-				tag = jsp_attribute17;

+                    }

+                    break;

+                case 13 :

+                    // JSP.g:687:5: jsp_root[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_root_in_jsp_standard_action2007);

+                    jsp_root19=jsp_root(parent);

 

-			}

-				break;

-			case 12:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:686:5:

-			// jsp_text[parent]

-			{

-				pushFollow(FOLLOW_jsp_text_in_jsp_standard_action1991);

-				jsp_text18 = jsp_text(parent);

-				_fsp--;

+                    state._fsp--;

 

-				tag = jsp_text18;

+                    tag=jsp_root19;

 

-			}

-				break;

-			case 13:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:687:5:

-			// jsp_root[parent]

-			{

-				pushFollow(FOLLOW_jsp_root_in_jsp_standard_action2007);

-				jsp_root19 = jsp_root(parent);

-				_fsp--;

+                    }

+                    break;

+                case 14 :

+                    // JSP.g:688:5: jsp_eltStdAct[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_eltStdAct_in_jsp_standard_action2023);

+                    jsp_eltStdAct20=jsp_eltStdAct(parent);

 

-				tag = jsp_root19;

+                    state._fsp--;

 

-			}

-				break;

-			case 14:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:688:5:

-			// jsp_eltStdAct[parent]

-			{

-				pushFollow(FOLLOW_jsp_eltStdAct_in_jsp_standard_action2023);

-				jsp_eltStdAct20 = jsp_eltStdAct(parent);

-				_fsp--;

+                    tag=jsp_eltStdAct20;

 

-				tag = jsp_eltStdAct20;

+                    }

+                    break;

 

-			}

-				break;

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_standard_action"

 

-			}

-		} 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;

 

-	// $ANTLR start jsp_eltStdAct

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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>' )

+            {

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:696:4:

-			// ( '<jsp:element' ( attribute[tag] | WS )* ( '/>' | '>' ( jsp_element[tag] |

-			// comment[tag] | WS )* '</jsp:element>' ) )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

 

-				tag = createJSPStdAction(parent, "jsp:element");//$NON-NLS-1$

+                if ( (LA24_0==ID) ) {

+                    alt24=1;

+                }

+                else if ( (LA24_0==WS) ) {

+                    alt24=2;

+                }

 

-				match(input, JSPELEMENTOP, FOLLOW_JSPELEMENTOP_in_jsp_eltStdAct2070);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

 

-					switch (alt24) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:700:23:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_eltStdAct2073);

-						attribute(tag);

-						_fsp--;

+            	    state._fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:700:38:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_eltStdAct2076);

 

-					}

-						break;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:700:38: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_eltStdAct2076); 

 

-					default:

-						break loop24;

-					}

-				} while (true);

+            	    }

+            	    break;

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:702:7:

-				// ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' )

-				int alt26 = 2;

-				int LA26_0 = input.LA(1);

+            	default :

+            	    break loop24;

+                }

+            } while (true);

 

-				if ((LA26_0 == JSPCLOSEACT)) {

-					alt26 = 1;

-				} else if ((LA26_0 == 66)) {

-					alt26 = 2;

-				} else {

-					NoViableAltException nvae = new NoViableAltException(

-							"702:7: ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' )",

-							26, 0, input);

+            // JSP.g:702:7: ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>' )

+            int alt26=2;

+            int LA26_0 = input.LA(1);

 

-					throw nvae;

-				}

-				switch (alt26) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:703:7:

-				// '/>'

-				{

-					match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_eltStdAct2103);

+            if ( (LA26_0==JSPCLOSEACT) ) {

+                alt26=1;

+            }

+            else if ( (LA26_0==66) ) {

+                alt26=2;

+            }

+            else {

+                NoViableAltException nvae =

+                    new NoViableAltException("", 26, 0, input);

 

-				}

-					break;

-				case 2:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:705:7:

-				// '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:element>'

-				{

-					match(input, 66, FOLLOW_66_in_jsp_eltStdAct2120);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                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:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:706:12:

-						// jsp_element[tag]

-						{

-							pushFollow(FOLLOW_jsp_element_in_jsp_eltStdAct2139);

-							jsp_element(tag);

-							_fsp--;

+                        }

 

-						}

-							break;

-						case 2:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:706:29:

-						// comment[tag]

-						{

-							pushFollow(FOLLOW_comment_in_jsp_eltStdAct2142);

-							comment(tag);

-							_fsp--;

+                        switch (alt25) {

+                    	case 1 :

+                    	    // JSP.g:706:12: jsp_element[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_jsp_element_in_jsp_eltStdAct2139);

+                    	    jsp_element(tag);

 

-						}

-							break;

-						case 3:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:706:43:

-						// WS

-						{

-							match(input, WS, FOLLOW_WS_in_jsp_eltStdAct2146);

+                    	    state._fsp--;

 

-						}

-							break;

 

-						default:

-							break loop25;

-						}

-					} while (true);

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:706:29: comment[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_comment_in_jsp_eltStdAct2142);

+                    	    comment(tag);

 

-					match(input, 68, FOLLOW_68_in_jsp_eltStdAct2165);

+                    	    state._fsp--;

 

-				}

-					break;

 

-				}

+                    	    }

+                    	    break;

+                    	case 3 :

+                    	    // JSP.g:706:43: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_eltStdAct2146); 

 

-			}

+                    	    }

+                    	    break;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                    	default :

+                    	    break loop25;

+                        }

+                    } while (true);

 

-	// $ANTLR end jsp_eltStdAct

+                    match(input,68,FOLLOW_68_in_jsp_eltStdAct2165); 

 

-	// $ANTLR start jsp_root

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    }

+                    break;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:723:4:

-			// ( '<jsp:root' ( attribute[tag] | WS )* '>' ( comment[tag] | jsp_element[tag] | WS )*

-			// '</jsp:root>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

-					}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_eltStdAct"

 

-					switch (alt27) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:726:16:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_root2217);

-						attribute(tag);

-						_fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:726:31:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_root2220);

+    // $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;

 

-					}

-						break;

+        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>'

+            {

 

-					default:

-						break loop27;

-					}

-				} while (true);

+                  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);

 

-				match(input, 66, FOLLOW_66_in_jsp_root2224);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                if ( (LA27_0==ID) ) {

+                    alt27=1;

+                }

+                else if ( (LA27_0==WS) ) {

+                    alt27=2;

+                }

 

-					}

 

-					switch (alt28) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:727:6:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_root2231);

-						comment(tag);

-						_fsp--;

+                switch (alt27) {

+            	case 1 :

+            	    // JSP.g:726:16: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_root2217);

+            	    attribute(tag);

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:727:19:

-					// jsp_element[tag]

-					{

-						pushFollow(FOLLOW_jsp_element_in_jsp_root2234);

-						jsp_element(tag);

-						_fsp--;

+            	    state._fsp--;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:727:36:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_root2237);

 

-					}

-						break;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:726:31: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_root2220); 

 

-					default:

-						break loop28;

-					}

-				} while (true);

+            	    }

+            	    break;

 

-				match(input, JSPCLOSEROOT, FOLLOW_JSPCLOSEROOT_in_jsp_root2243);

+            	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;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                }

 

-	// $ANTLR end jsp_root

+                switch (alt28) {

+            	case 1 :

+            	    // JSP.g:727:6: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_root2231);

+            	    comment(tag);

 

-	// $ANTLR start jsp_include

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	    state._fsp--;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:733:5:

-			// ( '<jsp:include' ( attribute[tag] | WS )* ( '>' ( jsp_param[tag] | comment[tag] | WS

-			// )* '</jsp:include>' | '/>' ) )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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$

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:727:19: jsp_element[tag]

+            	    {

+            	    pushFollow(FOLLOW_jsp_element_in_jsp_root2234);

+            	    jsp_element(tag);

 

-				match(input, JSPOPENINC, FOLLOW_JSPOPENINC_in_jsp_include2285);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:736:20:

-				// ( attribute[tag] | WS )*

-				loop29: do {

-					int alt29 = 3;

-					int LA29_0 = input.LA(1);

+            	    state._fsp--;

 

-					if ((LA29_0 == ID)) {

-						alt29 = 1;

-					} else if ((LA29_0 == WS)) {

-						alt29 = 2;

-					}

 

-					switch (alt29) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:736:21:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_include2288);

-						attribute(tag);

-						_fsp--;

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:727:36: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_root2237); 

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:736:36:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_include2291);

+            	    }

+            	    break;

 

-					}

-						break;

+            	default :

+            	    break loop28;

+                }

+            } while (true);

 

-					default:

-						break loop29;

-					}

-				} while (true);

+            match(input,JSPCLOSEROOT,FOLLOW_JSPCLOSEROOT_in_jsp_root2243); 

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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(

-							"737:5: ( '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | '/>' )",

-							31, 0, input);

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_root"

 

-					throw nvae;

-				}

-				switch (alt31) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:738:7:

-				// '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>'

-				{

-					match(input, 66, FOLLOW_66_in_jsp_include2308);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

 

-						}

+    // $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;

 

-						switch (alt30) {

-						case 1:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:739:10:

-						// jsp_param[tag]

-						{

-							pushFollow(FOLLOW_jsp_param_in_jsp_include2319);

-							jsp_param(tag);

-							_fsp--;

+        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>' | '/>' )

+            {

 

-						}

-							break;

-						case 2:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:739:27:

-						// comment[tag]

-						{

-							pushFollow(FOLLOW_comment_in_jsp_include2324);

-							comment(tag);

-							_fsp--;

+                    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);

 

-						}

-							break;

-						case 3:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:739:40:

-						// WS

-						{

-							match(input, WS, FOLLOW_WS_in_jsp_include2327);

+                if ( (LA29_0==ID) ) {

+                    alt29=1;

+                }

+                else if ( (LA29_0==WS) ) {

+                    alt29=2;

+                }

 

-						}

-							break;

 

-						default:

-							break loop30;

-						}

-					} while (true);

+                switch (alt29) {

+            	case 1 :

+            	    // JSP.g:736:21: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_include2288);

+            	    attribute(tag);

 

-					match(input, JSPCLOSEINC, FOLLOW_JSPCLOSEINC_in_jsp_include2338);

+            	    state._fsp--;

 

-				}

-					break;

-				case 2:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:742:7:

-				// '/>'

-				{

-					match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_include2366);

 

-				}

-					break;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:736:36: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_include2291); 

 

-				}

+            	    }

+            	    break;

 

-			}

+            	default :

+            	    break loop29;

+                }

+            } while (true);

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+            // JSP.g:737:5: ( '>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:include>' | '/>' )

+            int alt31=2;

+            int LA31_0 = input.LA(1);

 

-	// $ANTLR end jsp_include

+            if ( (LA31_0==66) ) {

+                alt31=1;

+            }

+            else if ( (LA31_0==JSPCLOSEACT) ) {

+                alt31=2;

+            }

+            else {

+                NoViableAltException nvae =

+                    new NoViableAltException("", 31, 0, input);

 

-	// $ANTLR start jsp_forward

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                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;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:748:5:

-			// ( '<jsp:forward' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | comment[tag] | WS )*

-			// '</jsp:forward>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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$

+                        switch (alt30) {

+                    	case 1 :

+                    	    // JSP.g:739:10: jsp_param[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_jsp_param_in_jsp_include2319);

+                    	    jsp_param(tag);

 

-				match(input, JSPOPENFWD, FOLLOW_JSPOPENFWD_in_jsp_forward2409);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:751:20:

-				// ( attribute[tag] | WS )*

-				loop32: do {

-					int alt32 = 3;

-					int LA32_0 = input.LA(1);

+                    	    state._fsp--;

 

-					if ((LA32_0 == ID)) {

-						alt32 = 1;

-					} else if ((LA32_0 == WS)) {

-						alt32 = 2;

-					}

 

-					switch (alt32) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:751:21:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_forward2412);

-						attribute(tag);

-						_fsp--;

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:739:27: comment[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_comment_in_jsp_include2324);

+                    	    comment(tag);

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:751:36:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_forward2415);

+                    	    state._fsp--;

 

-					}

-						break;

 

-					default:

-						break loop32;

-					}

-				} while (true);

+                    	    }

+                    	    break;

+                    	case 3 :

+                    	    // JSP.g:739:40: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_include2327); 

 

-				match(input, 66, FOLLOW_66_in_jsp_forward2419);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    	    }

+                    	    break;

 

-					}

+                    	default :

+                    	    break loop30;

+                        }

+                    } while (true);

 

-					switch (alt33) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:752:8:

-					// jsp_param[tag]

-					{

-						pushFollow(FOLLOW_jsp_param_in_jsp_forward2428);

-						jsp_param(tag);

-						_fsp--;

+                    match(input,JSPCLOSEINC,FOLLOW_JSPCLOSEINC_in_jsp_include2338); 

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:752:25:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_forward2433);

-						comment(tag);

-						_fsp--;

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:742:7: '/>'

+                    {

+                    match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_include2366); 

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:752:38:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_forward2436);

+                    }

+                    break;

 

-					}

-						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_include"

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

 

-	// $ANTLR end jsp_forward

+    // $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;

 

-	// $ANTLR start jsp_plugin

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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: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>'

+            {

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:770:5:

-			// ( '<jsp:plugin' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | jsp_fallback[tag] |

-			// comment[tag] | WS )* '</jsp:plugin>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:770:5:

-			// '<jsp:plugin' ( attribute[tag] | WS )* '>' ( jsp_param[tag] | jsp_fallback[tag] |

-			// comment[tag] | WS )* '</jsp:plugin>'

-			{

+                   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);

 

-				tag = createJSPStdAction(parent, "jsp:plugin");//$NON-NLS-1$

+                if ( (LA32_0==ID) ) {

+                    alt32=1;

+                }

+                else if ( (LA32_0==WS) ) {

+                    alt32=2;

+                }

 

-				match(input, JSPOPENPLUG, FOLLOW_JSPOPENPLUG_in_jsp_plugin2485);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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 (alt32) {

+            	case 1 :

+            	    // JSP.g:751:21: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_forward2412);

+            	    attribute(tag);

 

-					switch (alt34) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:773:20:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_plugin2488);

-						attribute(tag);

-						_fsp--;

+            	    state._fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:773:35:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_plugin2491);

 

-					}

-						break;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:751:36: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_forward2415); 

 

-					default:

-						break loop34;

-					}

-				} while (true);

+            	    }

+            	    break;

 

-				match(input, 66, FOLLOW_66_in_jsp_plugin2495);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	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 (alt35) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:774:8:

-					// jsp_param[tag]

-					{

-						pushFollow(FOLLOW_jsp_param_in_jsp_plugin2504);

-						jsp_param(tag);

-						_fsp--;

+                }

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:774:25:

-					// jsp_fallback[tag]

-					{

-						pushFollow(FOLLOW_jsp_fallback_in_jsp_plugin2509);

-						jsp_fallback(tag);

-						_fsp--;

+                switch (alt33) {

+            	case 1 :

+            	    // JSP.g:752:8: jsp_param[tag]

+            	    {

+            	    pushFollow(FOLLOW_jsp_param_in_jsp_forward2428);

+            	    jsp_param(tag);

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:774:45:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_plugin2514);

-						comment(tag);

-						_fsp--;

+            	    state._fsp--;

 

-					}

-						break;

-					case 4:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:774:58:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_plugin2517);

 

-					}

-						break;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:752:25: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_forward2433);

+            	    comment(tag);

 

-					default:

-						break loop35;

-					}

-				} while (true);

+            	    state._fsp--;

 

-				match(input, JSPCLOSEPLUG, FOLLOW_JSPCLOSEPLUG_in_jsp_plugin2526);

 

-			}

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:752:38: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_forward2436); 

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+            	    }

+            	    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--;

 

-	// $ANTLR end jsp_plugin

 

-	// $ANTLR start jsp_fallback

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:811:40: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_setProperty2691);

+            	    comment(tag);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:783:5:

-			// ( '<jsp:fallback>' '</jsp:fallback>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:783:5:

-			// '<jsp:fallback>' '</jsp:fallback>'

-			{

+            	    state._fsp--;

 

-				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);

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:811:53: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_setProperty2694); 

 

-				tag.setName("jsp:fallback");

+            	    }

+            	    break;

 

-			}

+            	default :

+            	    break loop37;

+                }

+            } while (true);

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+            match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_setProperty2698); 

 

-	// $ANTLR end jsp_fallback

+            }

 

-	// $ANTLR start jsp_getProperty

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_setProperty"

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:797:5:

-			// ( '<jsp:getProperty' ( attribute[tag] | comment[tag] | WS )* '/>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:797:5:

-			// '<jsp:getProperty' ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

 

-				tag = createJSPStdAction(parent, "jsp:getProperty");//$NON-NLS-1$

+    // $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;

 

-				match(input, JSPGET, FOLLOW_JSPGET_in_jsp_getProperty2628);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        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); 

 

-					switch (alt36) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:800:25:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_getProperty2631);

-						attribute(tag);

-						_fsp--;

+            }

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:800:40:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_getProperty2634);

-						comment(tag);

-						_fsp--;

+            // 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;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:800:53:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_getProperty2637);

+                }

 

-					}

-						break;

+                switch (alt38) {

+            	case 1 :

+            	    // JSP.g:820:23: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_useBean2747);

+            	    attribute(tag);

 

-					default:

-						break loop36;

-					}

-				} while (true);

+            	    state._fsp--;

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_getProperty2641);

 

-			}

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:820:38: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_useBean2750);

+            	    comment(tag);

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+            	    state._fsp--;

 

-	// $ANTLR end jsp_getProperty

 

-	// $ANTLR start jsp_setProperty

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:820:51: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_useBean2753); 

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:808:5:

-			// ( '<jsp:setProperty' ( attribute[tag] | comment[tag] | WS )* '/>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:808:5:

-			// '<jsp:setProperty' ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

+            	    }

+            	    break;

 

-				tag = createJSPStdAction(parent, "jsp:setProperty");//$NON-NLS-1$

+            	default :

+            	    break loop38;

+                }

+            } while (true);

 

-				match(input, JSPSET, FOLLOW_JSPSET_in_jsp_setProperty2685);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_useBean2757); 

 

-					}

+            }

 

-					switch (alt37) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:811:25:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_setProperty2688);

-						attribute(tag);

-						_fsp--;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_useBean"

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:811:40:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_setProperty2691);

-						comment(tag);

-						_fsp--;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:811:53:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_setProperty2694);

+    // $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;

 

-					}

-						break;

+        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);

 

-					default:

-						break loop37;

-					}

-				} while (true);

+            if ( (LA41_0==JSPOPENPARA) ) {

+                alt41=1;

+            }

+            else if ( (LA41_0==JSPOPENPARAS) ) {

+                alt41=2;

+            }

+            else {

+                NoViableAltException nvae =

+                    new NoViableAltException("", 41, 0, input);

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_setProperty2698);

+                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;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                        }

 

-	// $ANTLR end jsp_setProperty

+                        switch (alt39) {

+                    	case 1 :

+                    	    // JSP.g:829:19: attribute[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_attribute_in_jsp_param2800);

+                    	    attribute(tag);

 

-	// $ANTLR start jsp_useBean

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    	    state._fsp--;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:817:5:

-			// ( ( '<jsp:useBean' ) ( attribute[tag] | comment[tag] | WS )* '/>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:817:5:

-			// ( '<jsp:useBean' ) ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

 

-				tag = createJSPStdAction(parent, "jsp:useBean");//$NON-NLS-1$

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:829:34: comment[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_comment_in_jsp_param2803);

+                    	    comment(tag);

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:820:5:

-				// ( '<jsp:useBean' )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:820:6:

-				// '<jsp:useBean'

-				{

-					match(input, JSPUSEBEAN, FOLLOW_JSPUSEBEAN_in_jsp_useBean2743);

+                    	    state._fsp--;

 

-				}

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    	    }

+                    	    break;

+                    	case 3 :

+                    	    // JSP.g:829:47: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_param2806); 

 

-					}

+                    	    }

+                    	    break;

 

-					switch (alt38) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:820:23:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_useBean2747);

-						attribute(tag);

-						_fsp--;

+                    	default :

+                    	    break loop39;

+                        }

+                    } while (true);

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:820:38:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_useBean2750);

-						comment(tag);

-						_fsp--;

+                    match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_param2810); 

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:820:51:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_useBean2753);

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:831:5: '<jsp:params>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:params>'

+                    {

 

-					}

-						break;

+                         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;

 

-					default:

-						break loop38;

-					}

-				} while (true);

+                        }

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_useBean2757);

+                        switch (alt40) {

+                    	case 1 :

+                    	    // JSP.g:834:21: jsp_param[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_jsp_param_in_jsp_param2841);

+                    	    jsp_param(tag);

 

-			}

+                    	    state._fsp--;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

 

-	// $ANTLR end jsp_useBean

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:834:36: comment[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_comment_in_jsp_param2844);

+                    	    comment(tag);

 

-	// $ANTLR start jsp_param

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    	    state._fsp--;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:826:5:

-			// ( '<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(

-						"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>' );",

-						41, 0, input);

+                    	    }

+                    	    break;

+                    	case 3 :

+                    	    // JSP.g:834:49: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_param2847); 

 

-				throw nvae;

-			}

-			switch (alt41) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:826:5:

-			// '<jsp:param' ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

+                    	    }

+                    	    break;

 

-				tag = createJSPStdAction(parent, "jsp:param");//$NON-NLS-1$

+                    	default :

+                    	    break loop40;

+                        }

+                    } while (true);

 

-				match(input, JSPOPENPARA, FOLLOW_JSPOPENPARA_in_jsp_param2797);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    match(input,JSPCLOSEPARAS,FOLLOW_JSPCLOSEPARAS_in_jsp_param2851); 

 

-					}

+                    }

+                    break;

 

-					switch (alt39) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:829:19:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_param2800);

-						attribute(tag);

-						_fsp--;

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_param"

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:829:34:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_param2803);

-						comment(tag);

-						_fsp--;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:829:47:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_param2806);

+    // $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;

 

-					}

-						break;

+        try {

+            // JSP.g:843:3: ( '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>' )

+            // JSP.g:844:5: '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>'

+            {

 

-					default:

-						break loop39;

-					}

-				} while (true);

+                  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;

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_param2810);

+                }

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:831:5:

-			// '<jsp:params>' ( jsp_param[tag] | comment[tag] | WS )* '</jsp:params>'

-			{

+                switch (alt42) {

+            	case 1 :

+            	    // JSP.g:847:20: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_dobody2888);

+            	    attribute(tag);

 

-				tag = createJSPStdAction(parent, "jsp:params");//$NON-NLS-1$

+            	    state._fsp--;

 

-				match(input, JSPOPENPARAS, FOLLOW_JSPOPENPARAS_in_jsp_param2838);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

 

-					}

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:847:35: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_dobody2891);

+            	    comment(tag);

 

-					switch (alt40) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:834:21:

-					// jsp_param[tag]

-					{

-						pushFollow(FOLLOW_jsp_param_in_jsp_param2841);

-						jsp_param(tag);

-						_fsp--;

+            	    state._fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:834:36:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_param2844);

-						comment(tag);

-						_fsp--;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:834:49:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_param2847);

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:847:48: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_dobody2894); 

 

-					}

-						break;

+            	    }

+            	    break;

 

-					default:

-						break loop40;

-					}

-				} while (true);

+            	default :

+            	    break loop42;

+                }

+            } while (true);

 

-				match(input, JSPCLOSEPARAS, FOLLOW_JSPCLOSEPARAS_in_jsp_param2851);

+            match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_dobody2899); 

 

-			}

-				break;

+            }

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_dobody"

 

-	// $ANTLR end jsp_param

 

-	// $ANTLR start jsp_dobody

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+    // $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 {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:844:5:

-			// ( '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:844:5:

-			// '<jsp:doBody' ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

+        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:doBody");//$NON-NLS-1$

+                    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;

 

-				match(input, JSPOPENDOBODY, FOLLOW_JSPOPENDOBODY_in_jsp_dobody2885);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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 (alt43) {

+            	case 1 :

+            	    // JSP.g:864:22: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_output2941);

+            	    attribute(tag);

 

-					switch (alt42) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:847:20:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_dobody2888);

-						attribute(tag);

-						_fsp--;

+            	    state._fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:847:35:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_dobody2891);

-						comment(tag);

-						_fsp--;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:847:48:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_dobody2894);

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:864:37: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_output2944);

+            	    comment(tag);

 

-					}

-						break;

+            	    state._fsp--;

 

-					default:

-						break loop42;

-					}

-				} while (true);

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_dobody2899);

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:864:50: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_output2947); 

 

-			}

+            	    }

+            	    break;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+            	default :

+            	    break loop43;

+                }

+            } while (true);

 

-	// $ANTLR end jsp_dobody

+            match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_output2951); 

 

-	// $ANTLR start jsp_output

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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 {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:861:7:

-			// ( '<jsp:output' ( attribute[tag] | comment[tag] | WS )* '/>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:861:7:

-			// '<jsp:output' ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_output"

 

-				tag = createJSPStdAction(parent, "jsp:output");//$NON-NLS-1$

 

-				match(input, JSPOPENOUTPUT, FOLLOW_JSPOPENOUTPUT_in_jsp_output2938);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+    // $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 )* '/>'

+            {

 

-					switch (alt43) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:864:22:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_output2941);

-						attribute(tag);

-						_fsp--;

+                  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;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:864:37:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_output2944);

-						comment(tag);

-						_fsp--;

+                }

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:864:50:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_output2947);

+                switch (alt44) {

+            	case 1 :

+            	    // JSP.g:879:20: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_invoke2993);

+            	    attribute(tag);

 

-					}

-						break;

+            	    state._fsp--;

 

-					default:

-						break loop43;

-					}

-				} while (true);

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_output2951);

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:879:35: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_invoke2996);

+            	    comment(tag);

 

-			}

+            	    state._fsp--;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

 

-	// $ANTLR end jsp_output

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:879:48: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_invoke2999); 

 

-	// $ANTLR start jsp_invoke

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	    }

+            	    break;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:876:5:

-			// ( '<jsp:invoke' ( attribute[tag] | comment[tag] | WS )* '/>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:876:5:

-			// '<jsp:invoke' ( attribute[tag] | comment[tag] | WS )* '/>'

-			{

+            	default :

+            	    break loop44;

+                }

+            } while (true);

 

-				tag = createJSPStdAction(parent, "jsp:invoke");//$NON-NLS-1$

+            match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_invoke3003); 

 

-				match(input, JSPOPENINVOKE, FOLLOW_JSPOPENINVOKE_in_jsp_invoke2990);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            }

 

-					}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_invoke"

 

-					switch (alt44) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:879:20:

-					// attribute[tag]

-					{

-						pushFollow(FOLLOW_attribute_in_jsp_invoke2993);

-						attribute(tag);

-						_fsp--;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:879:35:

-					// comment[tag]

-					{

-						pushFollow(FOLLOW_comment_in_jsp_invoke2996);

-						comment(tag);

-						_fsp--;

+    // $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;

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:879:48:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_jsp_invoke2999);

+        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>'

+            {

 

-					}

-						break;

+                   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);

 

-					default:

-						break loop44;

-					}

-				} while (true);

+                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;

+                }

 

-				match(input, JSPCLOSEACT, FOLLOW_JSPCLOSEACT_in_jsp_invoke3003);

 

-			}

+                switch (alt45) {

+            	case 1 :

+            	    // JSP.g:892:19: text[tag]

+            	    {

+            	    pushFollow(FOLLOW_text_in_jsp_body3041);

+            	    text(tag);

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+            	    state._fsp--;

 

-	// $ANTLR end jsp_invoke

 

-	// $ANTLR start jsp_body

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:892:29: jsp_element[tag]

+            	    {

+            	    pushFollow(FOLLOW_jsp_element_in_jsp_body3044);

+            	    jsp_element(tag);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:889:5:

-			// ( '<jsp:body>' ( text[tag] | jsp_element[tag] )* '</jsp:body>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:889:5:

-			// '<jsp:body>' ( text[tag] | jsp_element[tag] )* '</jsp:body>'

-			{

+            	    state._fsp--;

 

-				tag = createJSPStdAction(parent, "jsp:body");//$NON-NLS-1$

 

-				match(input, JSPOPENBODY, FOLLOW_JSPOPENBODY_in_jsp_body3038);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:892:18:

-				// ( text[tag] | jsp_element[tag] )*

-				loop45: do {

-					int alt45 = 3;

-					int LA45_0 = input.LA(1);

+            	    }

+            	    break;

 

-					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;

-					}

+            	default :

+            	    break loop45;

+                }

+            } while (true);

 

-					switch (alt45) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:892:19:

-					// text[tag]

-					{

-						pushFollow(FOLLOW_text_in_jsp_body3041);

-						text(tag);

-						_fsp--;

+            match(input,JSPCLOSEBODY,FOLLOW_JSPCLOSEBODY_in_jsp_body3049); 

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:892:29:

-					// jsp_element[tag]

-					{

-						pushFollow(FOLLOW_jsp_element_in_jsp_body3044);

-						jsp_element(tag);

-						_fsp--;

+                  tag.setName("jsp:body");

+                

 

-					}

-						break;

+            }

 

-					default:

-						break loop45;

-					}

-				} while (true);

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_body"

 

-				match(input, JSPCLOSEBODY, FOLLOW_JSPCLOSEBODY_in_jsp_body3049);

 

-				tag.setName("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>' ) )

+            {

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                  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;

 

-	// $ANTLR end jsp_body

+                }

 

-	// $ANTLR start jsp_attribute

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                switch (alt46) {

+            	case 1 :

+            	    // JSP.g:905:27: attribute[tag]

+            	    {

+            	    pushFollow(FOLLOW_attribute_in_jsp_attribute3099);

+            	    attribute(tag);

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:901:5:

-			// ( ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' (

-			// jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) ) )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:901:5:

-			// ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' (

-			// jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) )

-			{

+            	    state._fsp--;

 

-				tag = createJSPStdAction(parent, "jsp:attribute");//$NON-NLS-1$

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:904:5:

-				// ( '<jsp:attribute' ( attribute[tag] | comment[tag] | WS )* ( '/>' | '>' (

-				// jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' ) )

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+            	    }

+            	    break;

+            	case 2 :

+            	    // JSP.g:905:42: comment[tag]

+            	    {

+            	    pushFollow(FOLLOW_comment_in_jsp_attribute3102);

+            	    comment(tag);

 

-						}

+            	    state._fsp--;

 

-						switch (alt46) {

-						case 1:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:905:27:

-						// attribute[tag]

-						{

-							pushFollow(FOLLOW_attribute_in_jsp_attribute3099);

-							attribute(tag);

-							_fsp--;

 

-						}

-							break;

-						case 2:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:905:42:

-						// comment[tag]

-						{

-							pushFollow(FOLLOW_comment_in_jsp_attribute3102);

-							comment(tag);

-							_fsp--;

+            	    }

+            	    break;

+            	case 3 :

+            	    // JSP.g:905:55: WS

+            	    {

+            	    match(input,WS,FOLLOW_WS_in_jsp_attribute3105); 

 

-						}

-							break;

-						case 3:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:905:55:

-						// WS

-						{

-							match(input, WS, FOLLOW_WS_in_jsp_attribute3105);

+            	    }

+            	    break;

 

-						}

-							break;

+            	default :

+            	    break loop46;

+                }

+            } while (true);

 

-						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);

 

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

 

-					if ((LA48_0 == JSPCLOSEACT)) {

-						alt48 = 1;

-					} else if ((LA48_0 == 66)) {

-						alt48 = 2;

-					} else {

-						NoViableAltException nvae = new NoViableAltException(

-								"906:9: ( '/>' | '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>' )",

-								48, 0, input);

+                throw nvae;

+            }

+            switch (alt48) {

+                case 1 :

+                    // JSP.g:907:12: '/>'

+                    {

+                    match(input,JSPCLOSEACT,FOLLOW_JSPCLOSEACT_in_jsp_attribute3131); 

 

-						throw nvae;

-					}

-					switch (alt48) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:910:13:

-					// '>' ( jsp_element[tag] | comment[tag] | WS )* '</jsp:attribute>'

-					{

-						match(input, 66, FOLLOW_66_in_jsp_attribute3175);

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

 

-							switch (alt47) {

-							case 1:

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:911:19:

-							// jsp_element[tag]

-							{

-								pushFollow(FOLLOW_jsp_element_in_jsp_attribute3195);

-								jsp_element(tag);

-								_fsp--;

+                    	    state._fsp--;

 

-							}

-								break;

-							case 2:

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:911:36:

-							// comment[tag]

-							{

-								pushFollow(FOLLOW_comment_in_jsp_attribute3198);

-								comment(tag);

-								_fsp--;

 

-							}

-								break;

-							case 3:

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:911:49:

-							// WS

-							{

-								match(input, WS, FOLLOW_WS_in_jsp_attribute3201);

+                    	    }

+                    	    break;

+                    	case 2 :

+                    	    // JSP.g:911:36: comment[tag]

+                    	    {

+                    	    pushFollow(FOLLOW_comment_in_jsp_attribute3198);

+                    	    comment(tag);

 

-							}

-								break;

+                    	    state._fsp--;

 

-							default:

-								break loop47;

-							}

-						} while (true);

 

-						match(input, JSPCLOSEATTR, FOLLOW_JSPCLOSEATTR_in_jsp_attribute3217);

+                    	    }

+                    	    break;

+                    	case 3 :

+                    	    // JSP.g:911:49: WS

+                    	    {

+                    	    match(input,WS,FOLLOW_WS_in_jsp_attribute3201); 

 

-					}

-						break;

+                    	    }

+                    	    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

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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 {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:925:5:

-			// ( '<jsp:text>' '</jsp:text>' )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_attribute"

 

-				tag.setName("jsp:text"); //$NON-NLS-1$

 

-			}

+    // $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;

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+        try {

+            // JSP.g:924:3: ( '<jsp:text>' '</jsp:text>' )

+            // JSP.g:925:5: '<jsp:text>' '</jsp:text>'

+            {

 

-	// $ANTLR end 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); 

 

-	// $ANTLR start comment

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:939:10:

-	// fragment comment[Element parent] : ( jsp_comment[parent] | line_comment[parent] );

-	public final void comment(Element parent) throws RecognitionException {

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:941:5:

-			// ( jsp_comment[parent] | line_comment[parent] )

-			int alt49 = 2;

-			int LA49_0 = input.LA(1);

+                  tag.setName("jsp:text"); //$NON-NLS-1$   

+                

 

-			if ((LA49_0 == JSP_COMMENT)) {

-				alt49 = 1;

-			} else if ((LA49_0 == LINE_COMMENT)) {

-				alt49 = 2;

-			} else {

-				NoViableAltException nvae = new NoViableAltException(

-						"939:10: fragment comment[Element parent] : ( jsp_comment[parent] | line_comment[parent] );",

-						49, 0, input);

+            }

 

-				throw nvae;

-			}

-			switch (alt49) {

-			case 1:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:941:5:

-			// jsp_comment[parent]

-			{

-				pushFollow(FOLLOW_jsp_comment_in_comment3306);

-				jsp_comment(parent);

-				_fsp--;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_text"

 

-			}

-				break;

-			case 2:

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:941:25:

-			// line_comment[parent]

-			{

-				pushFollow(FOLLOW_line_comment_in_comment3309);

-				line_comment(parent);

-				_fsp--;

 

-			}

-				break;

+    // $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);

 

-			}

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return;

-	}

+            if ( (LA49_0==JSP_COMMENT) ) {

+                alt49=1;

+            }

+            else if ( (LA49_0==LINE_COMMENT) ) {

+                alt49=2;

+            }

+            else {

+                NoViableAltException nvae =

+                    new NoViableAltException("", 49, 0, input);

 

-	// $ANTLR end comment

+                throw nvae;

+            }

+            switch (alt49) {

+                case 1 :

+                    // JSP.g:941:5: jsp_comment[parent]

+                    {

+                    pushFollow(FOLLOW_jsp_comment_in_comment3306);

+                    jsp_comment(parent);

 

-	// $ANTLR start jsp_comment

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+                    state._fsp--;

 

-		Token t = null;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:946:5:

-			// (t= JSP_COMMENT )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:946:5:

-			// t= JSP_COMMENT

-			{

-				t = (Token) input.LT(1);

-				match(input, JSP_COMMENT, FOLLOW_JSP_COMMENT_in_jsp_comment3335);

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:941:25: line_comment[parent]

+                    {

+                    pushFollow(FOLLOW_line_comment_in_comment3309);

+                    line_comment(parent);

 

-				tag = this.factory.createJSPComment();

-				setParent(parent, tag);

-				tag.setName(t.getText());

+                    state._fsp--;

 

-			}

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return tag;

-	}

+                    }

+                    break;

 

-	// $ANTLR end jsp_comment

+            }

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return ;

+    }

+    // $ANTLR end "comment"

 

-	// $ANTLR start line_comment

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+    // $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;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:956:4:

-			// (t= LINE_COMMENT )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:956:4:

-			// t= LINE_COMMENT

-			{

-				t = (Token) input.LT(1);

-				match(input, LINE_COMMENT, FOLLOW_LINE_COMMENT_in_line_comment3368);

+        Token t=null;

 

-				tag = xmlFactory.createComment();

-				setParent(parent, tag);

-				tag.setName(t.getText());

+        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;

-	}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "jsp_comment"

 

-	// $ANTLR end line_comment

 

-	// $ANTLR start text

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+    // $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 id = null;

-		Token dig = null;

-		Token speChar = null;

-		Token ws = null;

+        Token t=null;

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:967:3:

-			// ( (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL |

-			// ws= WS ) )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:967:3:

-			// (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL |

-			// ws= WS )

-			{

+        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); 

 

-				String content = "";

+                 tag = xmlFactory.createComment();

+                 setParent(parent, tag);  

+                 tag.setName(t.getText());        

+               

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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(

-							"970:3: (id= ID | dig= Digit | speChar= SpecialCharacter | DQUOTE | SQUOTE | DDOT | EQUAL | ws= WS )",

-							50, 0, input);

+            }

 

-					throw nvae;

-				}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return tag;

+    }

+    // $ANTLR end "line_comment"

 

-				switch (alt50) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:970:6:

-				// id= ID

-				{

-					id = (Token) input.LT(1);

-					match(input, ID, FOLLOW_ID_in_text3412);

-					content += id.getText();

 

-				}

-					break;

-				case 2:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:971:6:

-				// dig= Digit

-				{

-					dig = (Token) input.LT(1);

-					match(input, Digit, FOLLOW_Digit_in_text3423);

-					content += dig.getText();

+    // $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;

 

-				}

-					break;

-				case 3:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:972:6:

-				// speChar= SpecialCharacter

-				{

-					speChar = (Token) input.LT(1);

-					match(input, SpecialCharacter, FOLLOW_SpecialCharacter_in_text3434);

-					content += speChar.getText();

+        Token id=null;

+        Token dig=null;

+        Token speChar=null;

+        Token ws=null;

 

-				}

-					break;

-				case 4:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:973:6:

-				// DQUOTE

-				{

-					match(input, DQUOTE, FOLLOW_DQUOTE_in_text3443);

-					content += "\"";

+        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 )

+            {

 

-				}

-					break;

-				case 5:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:974:6:

-				// SQUOTE

-				{

-					match(input, SQUOTE, FOLLOW_SQUOTE_in_text3452);

-					content += "\'";

+              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);

 

-				}

-					break;

-				case 6:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:975:6:

-				// DDOT

-				{

-					match(input, DDOT, FOLLOW_DDOT_in_text3461);

-					content += ":";

+                throw nvae;

+            }

 

-				}

-					break;

-				case 7:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:976:6:

-				// EQUAL

-				{

-					match(input, EQUAL, FOLLOW_EQUAL_in_text3472);

-					content += "=";

+            switch (alt50) {

+                case 1 :

+                    // JSP.g:970:6: id= ID

+                    {

+                    id=(Token)match(input,ID,FOLLOW_ID_in_text3412); 

+                    content+= id.getText();

 

-				}

-					break;

-				case 8:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:977:6:

-				// ws= WS

-				{

-					ws = (Token) input.LT(1);

-					match(input, WS, FOLLOW_WS_in_text3484);

-					if (!content.equalsIgnoreCase("")) {

-						content += ws.getText();

-					}

+                    }

+                    break;

+                case 2 :

+                    // JSP.g:971:6: dig= Digit

+                    {

+                    dig=(Token)match(input,Digit,FOLLOW_Digit_in_text3423); 

+                    content+= dig.getText();

 

-				}

-					break;

+                    }

+                    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+= "\"";

 

-				loop21: do {

-					if (input.mark() == input.size()) {

-						break loop21;

-					}

+                    }

+                    break;

+                case 5 :

+                    // JSP.g:974:6: SQUOTE

+                    {

+                    match(input,SQUOTE,FOLLOW_SQUOTE_in_text3452); 

+                     content+= "\'";

 

-					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;

-					}

-					}

+                    }

+                    break;

+                case 6 :

+                    // JSP.g:975:6: DDOT

+                    {

+                    match(input,DDOT,FOLLOW_DDOT_in_text3461); 

+                     content+= ":";

 

-					content += space + input.get(input.mark()).getText(); //$NON-NLS-1$

-					matchAny(input);

+                    }

+                    break;

+                case 7 :

+                    // JSP.g:976:6: EQUAL

+                    {

+                    match(input,EQUAL,FOLLOW_EQUAL_in_text3472); 

+                     content+= "=";

 

-				} while (true);

+                    }

+                    break;

+                case 8 :

+                    // JSP.g:977:6: ws= WS

+                    {

+                    ws=(Token)match(input,WS,FOLLOW_WS_in_text3484); 

+                    if(!content.equalsIgnoreCase("")){ content+=ws.getText();} 

 

-				// 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);

-				}

+                    }

+                    break;

 

-			}

+            }

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return text;

-	}

+                

+              

+                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);            

+                 }   

+              

 

-	// $ANTLR end text

+            }

 

-	// $ANTLR start attribute

-	// C:\\Documents and

-	// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return text;

+    }

+    // $ANTLR end "text"

 

-		try {

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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] ) ) )? )

-			// C:\\Documents and

-			// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

+    // $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;

 

-				name = (Token) input.LT(1);

-				match(input, ID, FOLLOW_ID_in_attribute3644);

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1069:13:

-				// ( ( WS )? ':' ( WS )? name2= ID )?

-				int alt53 = 2;

-				int LA53_0 = input.LA(1);

+        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] ) ) )?

+            {

 

-				if ((LA53_0 == WS)) {

-					int LA53_1 = input.LA(2);

+                  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_1 == DDOT)) {

-						alt53 = 1;

-					}

-				} else if ((LA53_0 == DDOT)) {

-					alt53 = 1;

-				}

-				switch (alt53) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1069:14:

-				// ( WS )? ':' ( WS )? name2= ID

-				{

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1069:14:

-					// ( WS )?

-					int alt51 = 2;

-					int LA51_0 = input.LA(1);

+            if ( (LA53_0==WS) ) {

+                int LA53_1 = input.LA(2);

 

-					if ((LA51_0 == WS)) {

-						alt51 = 1;

-					}

-					switch (alt51) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1069:14:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_attribute3647);

+                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);

 

-					}

-						break;

+                    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);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1069:22:

-					// ( WS )?

-					int alt52 = 2;

-					int LA52_0 = input.LA(1);

+                    }

 

-					if ((LA52_0 == WS)) {

-						alt52 = 1;

-					}

-					switch (alt52) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1069:22:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_attribute3652);

+                    match(input,DDOT,FOLLOW_DDOT_in_attribute3650); 

+                    // JSP.g:1069:22: ( WS )?

+                    int alt52=2;

+                    int LA52_0 = input.LA(1);

 

-					}

-						break;

+                    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) input.LT(1);

-					match(input, ID, FOLLOW_ID_in_attribute3657);

+                    }

 

-				}

-					break;

+                    name2=(Token)match(input,ID,FOLLOW_ID_in_attribute3657); 

 

-				}

+                    }

+                    break;

 

-				String attributeName = name.getText();

-				if (name2 != null) {

-					attributeName += ":" + name2.getText();

-				}

-				xmlAttr.setName(attributeName);

+            }

 

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

+                  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_1 == EQUAL)) {

-						alt66 = 1;

-					}

-				} else if ((LA66_0 == EQUAL)) {

-					alt66 = 1;

-				}

-				switch (alt66) {

-				case 1:

-				// C:\\Documents and

-				// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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] ) )

-				{

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1080:7:

-					// ( WS )?

-					int alt54 = 2;

-					int LA54_0 = input.LA(1);

+            if ( (LA66_0==WS) ) {

+                int LA66_1 = input.LA(2);

 

-					if ((LA54_0 == WS)) {

-						alt54 = 1;

-					}

-					switch (alt54) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1080:7:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_attribute3693);

+                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);

 

-					}

-						break;

+                    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);

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1080:13:

-					// ( WS )?

-					int alt55 = 2;

-					int LA55_0 = input.LA(1);

+                    }

 

-					if ((LA55_0 == WS)) {

-						alt55 = 1;

-					}

-					switch (alt55) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1080:13:

-					// WS

-					{

-						match(input, WS, FOLLOW_WS_in_attribute3696);

+                    match(input,EQUAL,FOLLOW_EQUAL_in_attribute3695); 

+                    // JSP.g:1080:13: ( WS )?

+                    int alt55=2;

+                    int LA55_0 = input.LA(1);

 

-					}

-						break;

+                    if ( (LA55_0==WS) ) {

+                        alt55=1;

+                    }

+                    switch (alt55) {

+                        case 1 :

+                            // JSP.g:1080:13: WS

+                            {

+                            match(input,WS,FOLLOW_WS_in_attribute3696); 

 

-					}

+                            }

+                            break;

 

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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(

-								"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] ) )",

-								65, 0, input);

+                    }

 

-						throw nvae;

-					}

+                    // 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);

 

-					switch (alt65) {

-					case 1:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1082:9:

-					// ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter |

-					// SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>' )? (

-					// '<' )? ( '\"' )+ ) ) ( ';' )?

-					{

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1082:9:

-						// ( ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter |

-						// SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>'

-						// )? ( '<' )? ( '\"' )+ ) )

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1083:11:

-						// ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter |

-						// SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* ( '>'

-						// )? ( '<' )? ( '\"' )+ )

-						{

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1083:11:

-							// ( '\"' ( tag[compAttr] | jsp_element[compAttr] | t= SpecialCharacter

-							// | SQUOTE | EQUAL | DDOT | ';' | ws= WS | digit1= Digit | id1= ID )* (

-							// '>' )? ( '<' )? ( '\"' )+ )

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

-									switch (input.LA(1)) {

-									case 67: {

-										int LA56_2 = input.LA(2);

+                        throw nvae;

+                    }

 

-										if ((LA56_2 == WS)) {

-											int LA56_12 = input.LA(3);

+                    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]

+                            	    {

 

-											if ((LA56_12 == ID)) {

-												switch (input.LA(4)) {

-												case WS: {

-													int LA56_14 = input.LA(5);

+                            	    	               xmlAttr=null;

+                            	    	               if(compAttr==null){compAttr = this.factory.createComposedAttribute(); }

+                            	    	               createAttributeText(compAttr,value);value="";

+                            	                   

+                            	    pushFollow(FOLLOW_tag_in_attribute3777);

+                            	    tag(compAttr);

 

-													if ((LA56_14 == DDOT)) {

-														alt56 = 2;

-													} else if (((LA56_14 >= WS && LA56_14 <= ID)

-															|| LA56_14 == JSPTAGOPEN

-															|| (LA56_14 >= JSPOPENEXPR && LA56_14 <= JSPOPENINC)

-															|| LA56_14 == JSPOPENFWD

-															|| LA56_14 == JSPOPENPLUG

-															|| LA56_14 == JSPOPENROOT

-															|| LA56_14 == JSPOPENTEXT

-															|| (LA56_14 >= JSPOPENATTR && LA56_14 <= JSPOPENBODY)

-															|| (LA56_14 >= JSPOPENINVOKE && LA56_14 <= OPENSCRIPLET)

-															|| LA56_14 == OPENEXPR

-															|| LA56_14 == OPENDECL

-															|| LA56_14 == OPENDIRECT || (LA56_14 >= 66 && LA56_14 <= 67))) {

-														alt56 = 1;

-													}

+                            	    state._fsp--;

 

-												}

-													break;

-												case DDOT: {

-													alt56 = 2;

-												}

-													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: {

-													alt56 = 1;

-												}

-													break;

 

-												}

+                            	    }

+                            	    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);

 

-										} else if ((LA56_2 == ID)) {

-											switch (input.LA(3)) {

-											case WS: {

-												int LA56_14 = input.LA(4);

+                            	    state._fsp--;

 

-												if ((LA56_14 == DDOT)) {

-													alt56 = 2;

-												} else if (((LA56_14 >= WS && LA56_14 <= ID)

-														|| LA56_14 == JSPTAGOPEN

-														|| (LA56_14 >= JSPOPENEXPR && LA56_14 <= JSPOPENINC)

-														|| LA56_14 == JSPOPENFWD

-														|| LA56_14 == JSPOPENPLUG

-														|| LA56_14 == JSPOPENROOT

-														|| LA56_14 == JSPOPENTEXT

-														|| (LA56_14 >= JSPOPENATTR && LA56_14 <= JSPOPENBODY)

-														|| (LA56_14 >= JSPOPENINVOKE && LA56_14 <= OPENSCRIPLET)

-														|| LA56_14 == OPENEXPR

-														|| LA56_14 == OPENDECL

-														|| LA56_14 == OPENDIRECT || (LA56_14 >= 66 && LA56_14 <= 67))) {

-													alt56 = 1;

-												}

 

-											}

-												break;

-											case DDOT: {

-												alt56 = 2;

-											}

-												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: {

-												alt56 = 1;

-											}

-												break;

+                            	    }

+                            	    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 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: {

-										alt56 = 2;

-									}

-										break;

-									case SpecialCharacter: {

-										alt56 = 3;

-									}

-										break;

-									case SQUOTE: {

-										alt56 = 4;

-									}

-										break;

-									case EQUAL: {

-										alt56 = 5;

-									}

-										break;

-									case DDOT: {

-										alt56 = 6;

-									}

-										break;

-									case 69: {

-										alt56 = 7;

-									}

-										break;

-									case WS: {

-										alt56 = 8;

-									}

-										break;

-									case Digit: {

-										alt56 = 9;

-									}

-										break;

-									case ID: {

-										alt56 = 10;

-									}

-										break;

+                            	    }

+                            	    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+=";";

 

-									switch (alt56) {

-									case 1:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1085:16:

-									// tag[compAttr]

-									{

+                            	    }

+                            	    break;

+                            	case 8 :

+                            	    // JSP.g:1104:16: ws= WS

+                            	    {

+                            	    ws=(Token)match(input,WS,FOLLOW_WS_in_attribute3968); 

+                            	    value+=ws.getText();

 

-										xmlAttr = null;

-										if (compAttr == null) {

-											compAttr = this.factory.createComposedAttribute();

-										}

-										createAttributeText(compAttr, value);

-										value = "";

+                            	    }

+                            	    break;

+                            	case 9 :

+                            	    // JSP.g:1105:16: digit1= Digit

+                            	    {

+                            	    digit1=(Token)match(input,Digit,FOLLOW_Digit_in_attribute3990); 

+                            	    value+=space+digit1.getText();

 

-										pushFollow(FOLLOW_tag_in_attribute3777);

-										tag(compAttr);

-										_fsp--;

+                            	    }

+                            	    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;

-									case 2:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1092:15:

-									// jsp_element[compAttr]

-									{

+                            	    }

+                            	    break;

 

-										xmlAttr = null;

-										if (compAttr == null) {

-											compAttr = this.factory.createComposedAttribute();

-										}

-										createAttributeText(compAttr, value);

-										value = "";

+                            	default :

+                            	    break loop56;

+                                }

+                            } while (true);

 

-										pushFollow(FOLLOW_jsp_element_in_attribute3828);

-										jsp_element(compAttr);

-										_fsp--;

+                            // JSP.g:1108:12: ( '>' )?

+                            int alt57=2;

+                            int LA57_0 = input.LA(1);

 

-									}

-										break;

-									case 3:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1099:16:

-									// t= SpecialCharacter

-									{

-										t = (Token) input.LT(1);

-										match(input, SpecialCharacter,

-												FOLLOW_SpecialCharacter_in_attribute3863);

-										value += t.getText();

+                            if ( (LA57_0==66) ) {

+                                alt57=1;

+                            }

+                            switch (alt57) {

+                                case 1 :

+                                    // JSP.g:1108:13: '>'

+                                    {

+                                    match(input,66,FOLLOW_66_in_attribute4042); 

+                                    value+=">";

 

-									}

-										break;

-									case 4:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1100:16:

-									// SQUOTE

-									{

-										match(input, SQUOTE, FOLLOW_SQUOTE_in_attribute3885);

-										value += "'";

+                                    }

+                                    break;

 

-									}

-										break;

-									case 5:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1101:16:

-									// EQUAL

-									{

-										match(input, EQUAL, FOLLOW_EQUAL_in_attribute3905);

-										value += "=";

+                            }

 

-									}

-										break;

-									case 6:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1102:16:

-									// DDOT

-									{

-										match(input, DDOT, FOLLOW_DDOT_in_attribute3926);

-										value += ":";

+                            // JSP.g:1109:12: ( '<' )?

+                            int alt58=2;

+                            int LA58_0 = input.LA(1);

 

-									}

-										break;

-									case 7:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1103:16:

-									// ';'

-									{

-										match(input, 69, FOLLOW_69_in_attribute3947);

-										value += ";";

+                            if ( (LA58_0==67) ) {

+                                alt58=1;

+                            }

+                            switch (alt58) {

+                                case 1 :

+                                    // JSP.g:1109:13: '<'

+                                    {

+                                    match(input,67,FOLLOW_67_in_attribute4059); 

+                                    value+="<";

 

-									}

-										break;

-									case 8:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1104:16:

-									// ws= WS

-									{

-										ws = (Token) input.LT(1);

-										match(input, WS, FOLLOW_WS_in_attribute3968);

-										value += ws.getText();

+                                    }

+                                    break;

 

-									}

-										break;

-									case 9:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1105:16:

-									// digit1= Digit

-									{

-										digit1 = (Token) input.LT(1);

-										match(input, Digit, FOLLOW_Digit_in_attribute3990);

-										value += space + digit1.getText();

+                            }

 

-									}

-										break;

-									case 10:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1106:16:

-									// id1= ID

-									{

-										id1 = (Token) input.LT(1);

-										match(input, ID, FOLLOW_ID_in_attribute4011);

-										value += space + id1.getText();

+                             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);

 

-									}

-										break;

+                                if ( (LA59_0==DQUOTE) ) {

+                                    alt59=1;

+                                }

 

-									default:

-										break loop56;

-									}

-								} while (true);

 

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1108:12:

-								// ( '>' )?

-								int alt57 = 2;

-								int LA57_0 = input.LA(1);

+                                switch (alt59) {

+                            	case 1 :

+                            	    // JSP.g:1118:12: '\"'

+                            	    {

+                            	    match(input,DQUOTE,FOLLOW_DQUOTE_in_attribute4126); 

 

-								if ((LA57_0 == 66)) {

-									alt57 = 1;

-								}

-								switch (alt57) {

-								case 1:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1108:13:

-								// '>'

-								{

-									match(input, 66, FOLLOW_66_in_attribute4042);

-									value += ">";

+                            	    }

+                            	    break;

 

-								}

-									break;

+                            	default :

+                            	    if ( cnt59 >= 1 ) break loop59;

+                                        EarlyExitException eee =

+                                            new EarlyExitException(59, input);

+                                        throw eee;

+                                }

+                                cnt59++;

+                            } while (true);

 

-								}

 

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1109:12:

-								// ( '<' )?

-								int alt58 = 2;

-								int LA58_0 = input.LA(1);

+                            }

 

-								if ((LA58_0 == 67)) {

-									alt58 = 1;

-								}

-								switch (alt58) {

-								case 1:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1109:13:

-								// '<'

-								{

-									match(input, 67, FOLLOW_67_in_attribute4059);

-									value += "<";

 

-								}

-									break;

+                            }

 

-								}

+                            // JSP.g:1121:8: ( ';' )?

+                            int alt60=2;

+                            int LA60_0 = input.LA(1);

 

-								if (xmlAttr == null) {

-									if (compAttr == null) {

-										compAttr = this.factory.createComposedAttribute();

-									}

-									createAttributeText(compAttr, value);

-									value = "";

-								} else {

-									xmlAttr.setValue(value);

-								}

-								;

+                            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()+";");};

+                                            

 

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1118:11:

-								// ( '\"' )+

-								int cnt59 = 0;

-								loop59: do {

-									int alt59 = 2;

-									int LA59_0 = input.LA(1);

+                                    }

+                                    break;

 

-									if ((LA59_0 == DQUOTE)) {

-										alt59 = 1;

-									}

+                            }

 

-									switch (alt59) {

-									case 1:

-									// C:\\Documents and

-									// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1118:12:

-									// '\"'

-									{

-										match(input, DQUOTE, FOLLOW_DQUOTE_in_attribute4126);

 

-									}

-										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]

+                            	    {

 

-									default:

-										if (cnt59 >= 1)

-											break loop59;

-										EarlyExitException eee = new EarlyExitException(59, input);

-										throw eee;

-									}

-									cnt59++;

-								} while (true);

+                            	                xmlAttr=null;

+                            	                if(compAttr==null){compAttr = this.factory.createComposedAttribute(); }

+                            	                createAttributeText(compAttr,value);value="";

+                            	               

+                            	    pushFollow(FOLLOW_tag_in_attribute4241);

+                            	    tag(compAttr);

 

-							}

+                            	    state._fsp--;

 

-						}

 

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1121:8:

-						// ( ';' )?

-						int alt60 = 2;

-						int LA60_0 = input.LA(1);

+                            	    }

+                            	    break;

+                            	case 2 :

+                            	    // JSP.g:1140:11: jsp_element[compAttr]

+                            	    {

 

-						if ((LA60_0 == 69)) {

-							alt60 = 1;

-						}

-						switch (alt60) {

-						case 1:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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() + ";");

-							}

-							;

+                            	                xmlAttr=null;

+                            	                if(compAttr==null){compAttr = this.factory.createComposedAttribute(); }

+                            	                createAttributeText(compAttr,value);value="";

+                            	              

+                            	    pushFollow(FOLLOW_jsp_element_in_attribute4293);

+                            	    jsp_element(compAttr);

 

-						}

-							break;

+                            	    state._fsp--;

 

-						}

 

-					}

-						break;

-					case 2:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1130:7:

-					// ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID |

-					// t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )? ( '<'

-					// )? '\\'' )

-					{

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1130:7:

-						// ( '\\'' ( tag[compAttr] | jsp_element[compAttr] | digit2= Digit | id1= ID

-						// | t= SpecialCharacter | EQUAL | DDOT | ';' | DQUOTE | ws= WS )* ( '>' )?

-						// ( '<' )? '\\'' )

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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;

-								switch (input.LA(1)) {

-								case 67: {

-									int LA61_2 = input.LA(2);

+                            	    }

+                            	    break;

+                            	case 3 :

+                            	    // JSP.g:1147:12: digit2= Digit

+                            	    {

+                            	    digit2=(Token)match(input,Digit,FOLLOW_Digit_in_attribute4322); 

+                            	    value+=space+digit2.getText();

 

-									if ((LA61_2 == WS)) {

-										int LA61_12 = input.LA(3);

+                            	    }

+                            	    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);

 

-										if ((LA61_12 == ID)) {

-											switch (input.LA(4)) {

-											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: {

-												alt61 = 1;

-											}

-												break;

-											case WS: {

-												int LA61_15 = input.LA(5);

+                            	    }

+                            	    break;

+                            	case 5 :

+                            	    // JSP.g:1149:12: t= SpecialCharacter

+                            	    {

+                            	    t=(Token)match(input,SpecialCharacter,FOLLOW_SpecialCharacter_in_attribute4364); 

+                            	    value+=t.getText();

 

-												if ((LA61_15 == DDOT)) {

-													alt61 = 2;

-												} else if (((LA61_15 >= WS && LA61_15 <= ID)

-														|| LA61_15 == JSPTAGOPEN

-														|| (LA61_15 >= JSPOPENEXPR && LA61_15 <= JSPOPENINC)

-														|| LA61_15 == JSPOPENFWD

-														|| LA61_15 == JSPOPENPLUG

-														|| LA61_15 == JSPOPENROOT

-														|| LA61_15 == JSPOPENTEXT

-														|| (LA61_15 >= JSPOPENATTR && LA61_15 <= JSPOPENBODY)

-														|| (LA61_15 >= JSPOPENINVOKE && LA61_15 <= OPENSCRIPLET)

-														|| LA61_15 == OPENEXPR

-														|| LA61_15 == OPENDECL

-														|| LA61_15 == OPENDIRECT || (LA61_15 >= 66 && LA61_15 <= 67))) {

-													alt61 = 1;

-												}

+                            	    }

+                            	    break;

+                            	case 6 :

+                            	    // JSP.g:1150:12: EQUAL

+                            	    {

+                            	    match(input,EQUAL,FOLLOW_EQUAL_in_attribute4382); 

+                            	    value+="=";

 

-											}

-												break;

-											case DDOT: {

-												alt61 = 2;

-											}

-												break;

+                            	    }

+                            	    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+="\"";

 

-									} else if ((LA61_2 == ID)) {

-										switch (input.LA(3)) {

-										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: {

-											alt61 = 1;

-										}

-											break;

-										case WS: {

-											int LA61_15 = input.LA(4);

+                            	    }

+                            	    break;

+                            	case 10 :

+                            	    // JSP.g:1154:12: ws= WS

+                            	    {

+                            	    ws=(Token)match(input,WS,FOLLOW_WS_in_attribute4447); 

+                            	    value+=ws.getText();

 

-											if ((LA61_15 == DDOT)) {

-												alt61 = 2;

-											} else if (((LA61_15 >= WS && LA61_15 <= ID)

-													|| LA61_15 == JSPTAGOPEN

-													|| (LA61_15 >= JSPOPENEXPR && LA61_15 <= JSPOPENINC)

-													|| LA61_15 == JSPOPENFWD

-													|| LA61_15 == JSPOPENPLUG

-													|| LA61_15 == JSPOPENROOT

-													|| LA61_15 == JSPOPENTEXT

-													|| (LA61_15 >= JSPOPENATTR && LA61_15 <= JSPOPENBODY)

-													|| (LA61_15 >= JSPOPENINVOKE && LA61_15 <= OPENSCRIPLET)

-													|| LA61_15 == OPENEXPR || LA61_15 == OPENDECL

-													|| LA61_15 == OPENDIRECT || (LA61_15 >= 66 && LA61_15 <= 67))) {

-												alt61 = 1;

-											}

+                            	    }

+                            	    break;

 

-										}

-											break;

-										case DDOT: {

-											alt61 = 2;

-										}

-											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;

-								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: {

-									alt61 = 2;

-								}

-									break;

-								case Digit: {

-									alt61 = 3;

-								}

-									break;

-								case ID: {

-									alt61 = 4;

-								}

-									break;

-								case SpecialCharacter: {

-									alt61 = 5;

-								}

-									break;

-								case EQUAL: {

-									alt61 = 6;

-								}

-									break;

-								case DDOT: {

-									alt61 = 7;

-								}

-									break;

-								case 69: {

-									alt61 = 8;

-								}

-									break;

-								case DQUOTE: {

-									alt61 = 9;

-								}

-									break;

-								case WS: {

-									alt61 = 10;

-								}

-									break;

+                                    }

+                                    break;

 

-								}

+                            }

 

-								switch (alt61) {

-								case 1:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1133:12:

-								// tag[compAttr]

-								{

+                            // JSP.g:1157:9: ( '<' )?

+                            int alt63=2;

+                            int LA63_0 = input.LA(1);

 

-									xmlAttr = null;

-									if (compAttr == null) {

-										compAttr = this.factory.createComposedAttribute();

-									}

-									createAttributeText(compAttr, value);

-									value = "";

+                            if ( (LA63_0==67) ) {

+                                alt63=1;

+                            }

+                            switch (alt63) {

+                                case 1 :

+                                    // JSP.g:1157:10: '<'

+                                    {

+                                    match(input,67,FOLLOW_67_in_attribute4490); 

+                                    value+="<";

 

-									pushFollow(FOLLOW_tag_in_attribute4241);

-									tag(compAttr);

-									_fsp--;

+                                    }

+                                    break;

 

-								}

-									break;

-								case 2:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1140:11:

-								// jsp_element[compAttr]

-								{

+                            }

 

-									xmlAttr = null;

-									if (compAttr == null) {

-										compAttr = this.factory.createComposedAttribute();

-									}

-									createAttributeText(compAttr, value);

-									value = "";

+                             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); 

 

-									pushFollow(FOLLOW_jsp_element_in_attribute4293);

-									jsp_element(compAttr);

-									_fsp--;

+                            }

 

-								}

-									break;

-								case 3:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1147:12:

-								// digit2= Digit

-								{

-									digit2 = (Token) input.LT(1);

-									match(input, Digit, FOLLOW_Digit_in_attribute4322);

-									value += space + digit2.getText();

 

-								}

-									break;

-								case 4:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1148:12:

-								// id1= ID

-								{

-									id1 = (Token) input.LT(1);

-									match(input, ID, FOLLOW_ID_in_attribute4340);

-									value += space + id1.getText();

+                            }

+                            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);

 

-								}

-									break;

-								case 5:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1149:12:

-								// t= SpecialCharacter

-								{

-									t = (Token) input.LT(1);

-									match(input, SpecialCharacter,

-											FOLLOW_SpecialCharacter_in_attribute4364);

-									value += t.getText();

+                                if ( (LA64_4==WS) ) {

+                                    int LA64_5 = input.LA(3);

 

-								}

-									break;

-								case 6:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1150:12:

-								// EQUAL

-								{

-									match(input, EQUAL, FOLLOW_EQUAL_in_attribute4382);

-									value += "=";

+                                    if ( (LA64_5==ID) ) {

+                                        switch ( input.LA(4) ) {

+                                        case WS:

+                                            {

+                                            int LA64_7 = input.LA(5);

 

-								}

-									break;

-								case 7:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1151:12:

-								// DDOT

-								{

-									match(input, DDOT, FOLLOW_DDOT_in_attribute4398);

-									value += ":";

+                                            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);

 

-								}

-									break;

-								case 8:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1152:12:

-								// ';'

-								{

-									match(input, 69, FOLLOW_69_in_attribute4415);

-									value += ";";

+                                                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);

 

-								}

-									break;

-								case 9:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1153:12:

-								// DQUOTE

-								{

-									match(input, DQUOTE, FOLLOW_DQUOTE_in_attribute4430);

-									value += "\"";

+                                            throw nvae;

+                                        }

 

-								}

-									break;

-								case 10:

-								// C:\\Documents and

-								// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1154:12:

-								// ws= WS

-								{

-									ws = (Token) input.LT(1);

-									match(input, WS, FOLLOW_WS_in_attribute4447);

-									value += ws.getText();

+                                    }

+                                    else {

+                                        NoViableAltException nvae =

+                                            new NoViableAltException("", 64, 5, input);

 

-								}

-									break;

+                                        throw nvae;

+                                    }

+                                }

+                                else if ( (LA64_4==ID) ) {

+                                    switch ( input.LA(3) ) {

+                                    case WS:

+                                        {

+                                        int LA64_7 = input.LA(4);

 

-								default:

-									break loop61;

-								}

-							} while (true);

+                                        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);

 

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1156:9:

-							// ( '>' )?

-							int alt62 = 2;

-							int LA62_0 = input.LA(1);

+                                            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);

 

-							if ((LA62_0 == 66)) {

-								alt62 = 1;

-							}

-							switch (alt62) {

-							case 1:

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1156:10:

-							// '>'

-							{

-								match(input, 66, FOLLOW_66_in_attribute4476);

-								value += ">";

+                                        throw nvae;

+                                    }

 

-							}

-								break;

+                                }

+                                else {

+                                    NoViableAltException nvae =

+                                        new NoViableAltException("", 64, 4, input);

 

-							}

+                                    throw nvae;

+                                }

+                                }

+                                break;

+                            default:

+                                NoViableAltException nvae =

+                                    new NoViableAltException("", 64, 0, input);

 

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1157:9:

-							// ( '<' )?

-							int alt63 = 2;

-							int LA63_0 = input.LA(1);

+                                throw nvae;

+                            }

 

-							if ((LA63_0 == 67)) {

-								alt63 = 1;

-							}

-							switch (alt63) {

-							case 1:

-							// C:\\Documents and

-							// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1157:10:

-							// '<'

-							{

-								match(input, 67, FOLLOW_67_in_attribute4490);

-								value += "<";

+                            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;

+                                    }

+                                    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);

 

-							if (xmlAttr == null) {

-								if (compAttr == null) {

-									compAttr = this.factory.createComposedAttribute();

-								}

-								createAttributeText(compAttr, value);

-								value = "";

-							} else {

-								xmlAttr.setValue(value);

-							}

-							;

+                                    state._fsp--;

 

-							match(input, SQUOTE, FOLLOW_SQUOTE_in_attribute4527);

 

-						}

+                                    }

+                                    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);

 

-					}

-						break;

-					case 3:

-					// C:\\Documents and

-					// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1168:7:

-					// (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )

-					{

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

+                                    state._fsp--;

 

-							if ((LA64_4 == WS)) {

-								int LA64_5 = input.LA(3);

 

-								if ((LA64_5 == ID)) {

-									switch (input.LA(4)) {

-									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;

-									case WS: {

-										int LA64_8 = input.LA(5);

+                                    }

+                                    break;

 

-										if (((LA64_8 >= WS && LA64_8 <= ID)

-												|| LA64_8 == JSPTAGOPEN

-												|| (LA64_8 >= JSPOPENEXPR && LA64_8 <= JSPOPENINC)

-												|| LA64_8 == JSPOPENFWD

-												|| LA64_8 == JSPOPENPLUG

-												|| LA64_8 == JSPOPENROOT

-												|| LA64_8 == JSPOPENTEXT

-												|| (LA64_8 >= JSPOPENATTR && LA64_8 <= JSPOPENBODY)

-												|| (LA64_8 >= JSPOPENINVOKE && LA64_8 <= OPENSCRIPLET)

-												|| LA64_8 == OPENEXPR || LA64_8 == OPENDECL

-												|| LA64_8 == OPENDIRECT || (LA64_8 >= 66 && LA64_8 <= 67))) {

-											alt64 = 4;

-										} else if ((LA64_8 == DDOT)) {

-											alt64 = 3;

-										} else {

-											NoViableAltException nvae = new NoViableAltException(

-													"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-													64, 8, input);

+                            }

 

-											throw nvae;

-										}

-									}

-										break;

-									case DDOT: {

-										alt64 = 3;

-									}

-										break;

-									default:

-										NoViableAltException nvae = new NoViableAltException(

-												"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-												64, 6, input);

+                            if(xmlAttr!=null){xmlAttr.setValue(value);}

 

-										throw nvae;

-									}

+                            }

+                            break;

 

-								} else {

-									NoViableAltException nvae = new NoViableAltException(

-											"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-											64, 5, input);

+                    }

 

-									throw nvae;

-								}

-							} else if ((LA64_4 == ID)) {

-								switch (input.LA(3)) {

-								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;

-								case WS: {

-									int LA64_8 = input.LA(4);

 

-									if (((LA64_8 >= WS && LA64_8 <= ID) || LA64_8 == JSPTAGOPEN

-											|| (LA64_8 >= JSPOPENEXPR && LA64_8 <= JSPOPENINC)

-											|| LA64_8 == JSPOPENFWD || LA64_8 == JSPOPENPLUG

-											|| LA64_8 == JSPOPENROOT || LA64_8 == JSPOPENTEXT

-											|| (LA64_8 >= JSPOPENATTR && LA64_8 <= JSPOPENBODY)

-											|| (LA64_8 >= JSPOPENINVOKE && LA64_8 <= OPENSCRIPLET)

-											|| LA64_8 == OPENEXPR || LA64_8 == OPENDECL

-											|| LA64_8 == OPENDIRECT || (LA64_8 >= 66 && LA64_8 <= 67))) {

-										alt64 = 4;

-									} else if ((LA64_8 == DDOT)) {

-										alt64 = 3;

-									} else {

-										NoViableAltException nvae = new NoViableAltException(

-												"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-												64, 8, input);

+                    }

+                    break;

 

-										throw nvae;

-									}

-								}

-									break;

-								case DDOT: {

-									alt64 = 3;

-								}

-									break;

-								default:

-									NoViableAltException nvae = new NoViableAltException(

-											"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-											64, 6, input);

+            }

 

-									throw nvae;

-								}

 

-							} else {

-								NoViableAltException nvae = new NoViableAltException(

-										"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-										64, 4, input);

+            	     if(xmlAttr!=null){

+            	         setParent(parent,xmlAttr);

+            	     }

+            	     else{

+            	         compAttr.setName(attributeName);

+            	         setParent(parent,compAttr);

+            	     }

+                 

 

-								throw nvae;

-							}

-						}

-							break;

-						default:

-							NoViableAltException nvae = new NoViableAltException(

-									"1168:7: (id1= ID | digit2= Digit | jsp_element[compAttr] | tag[compAttr] )",

-									64, 0, input);

+            }

 

-							throw nvae;

-						}

+        }

+        catch (RecognitionException re) {

+            reportError(re);

+            recover(input,re);

+        }

+        finally {

+        }

+        return ;

+    }

+    // $ANTLR end "attribute"

 

-						switch (alt64) {

-						case 1:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1169:11:

-						// id1= ID

-						{

-							id1 = (Token) input.LT(1);

-							match(input, ID, FOLLOW_ID_in_attribute4559);

-							value += space + id1.getText();

+    // Delegated rules

 

-						}

-							break;

-						case 2:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\JSP.g:1170:12:

-						// digit2= Digit

-						{

-							digit2 = (Token) input.LT(1);

-							match(input, Digit, FOLLOW_Digit_in_attribute4577);

-							value += space + digit2.getText();

 

-						}

-							break;

-						case 3:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-							_fsp--;

+    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"

+    };

 

-						}

-							break;

-						case 4:

-						// C:\\Documents and

-						// Settings\\Nguyomar\\workspace\\org.eclipse.modisco.jee.jsp.discoverer\\resources\\internal\\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);

-							_fsp--;

+    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;

 

-						}

-							break;

+    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 {

 

-						if (xmlAttr != null) {

-							xmlAttr.setValue(value);

-						}

+        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",

+            ""

+    };

 

-					}

-						break;

+    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]);

+        }

+    }

 

-				}

-					break;

+    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",

+            ""

+    };

 

-				if (xmlAttr != null) {

-					setParent(parent, xmlAttr);

-				} else {

-					compAttr.setName(attributeName);

-					setParent(parent, compAttr);

-				}

+    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]);

+        }

+    }

 

-		} catch (RecognitionException re) {

-			reportError(re);

-			recover(input, re);

-		} finally {

-		}

-		return;

-	}

+    class DFA61 extends DFA {

 

-	// $ANTLR end attribute

+        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_page83 = new BitSet(new long[] {

-			0x157D940AF761FFF2L, 0x0000000000000008L });

-	public static final BitSet FOLLOW_docType_in_page91 = new BitSet(new long[] {

-			0x157D940AF761FFF2L, 0x0000000000000008L });

-	public static final BitSet FOLLOW_jsp_element_in_page99 = new BitSet(new long[] {

-			0x157D940AF761FFF2L, 0x0000000000000008L });

-	public static final BitSet FOLLOW_tag_in_page107 = new BitSet(new long[] { 0x157D940AF761FFF2L,

-			0x0000000000000008L });

-	public static final BitSet FOLLOW_endtag_in_page116 = new BitSet(new long[] {

-			0x157D940AF761FFF2L, 0x0000000000000008L });

-	public static final BitSet FOLLOW_comment_in_page123 = new BitSet(new long[] {

-			0x157D940AF761FFF2L, 0x0000000000000008L });

-	public static final BitSet FOLLOW_text_in_page134 = new BitSet(new long[] {

-			0x157D940AF761FFF2L, 0x0000000000000008L });

-	public static final BitSet FOLLOW_cData_in_page142 = 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 });

+    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});

 

-}

+}
\ No newline at end of file
diff --git a/org.eclipse.modisco.releng.tycho/targetPlatforms/nightly.target b/org.eclipse.modisco.releng.tycho/targetPlatforms/nightly.target
index bf616f6..1eb64c9 100644
--- a/org.eclipse.modisco.releng.tycho/targetPlatforms/nightly.target
+++ b/org.eclipse.modisco.releng.tycho/targetPlatforms/nightly.target
@@ -83,17 +83,16 @@
   </location>
   <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
     <unit id="com.google.guava" version="0.0.0"/>
-    <unit id="org.antlr.runtime" version="3.0.0.v200803061811"/> 
-    <unit id="org.antlr.runtime.source" version="3.0.0.v200803061811"/> 
+    <unit id="org.antlr.runtime" version="3.2.0.v201101311130"/> 
+    <unit id="org.antlr.runtime.source" version="3.2.0.v201101311130"/> 
     <unit id="org.apache.commons.cli" version="0.0.0"/>
     <unit id="org.apache.lucene" version="0.0.0"/>
     <unit id="org.hamcrest" version="0.0.0"/>
     <unit id="org.prefuse" version="0.0.0"/>
     <unit id="org.prefuse.source" version="0.0.0"/>
-    <!--repository location="https://download.eclipse.org/tools/orbit/downloads/latest-I"/>
+    <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-I"/>
     <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-S"/>
-    <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-R"/-->
-    <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository"/>
+    <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-R"/>
   </location>
 </locations>
 </target>
diff --git a/org.eclipse.modisco.releng.tycho/targetPlatforms/stable.target b/org.eclipse.modisco.releng.tycho/targetPlatforms/stable.target
index f65f949..6b90c18 100644
--- a/org.eclipse.modisco.releng.tycho/targetPlatforms/stable.target
+++ b/org.eclipse.modisco.releng.tycho/targetPlatforms/stable.target
@@ -40,16 +40,15 @@
   </location>
   <location includeAllPlatforms="false" includeConfigurePhase="false" includeMode="planner" includeSource="true" type="InstallableUnit">
     <unit id="com.google.guava" version="0.0.0"/>
-    <unit id="org.antlr.runtime" version="3.0.0.v200803061811"/> 
-    <unit id="org.antlr.runtime.source" version="3.0.0.v200803061811"/> 
+    <unit id="org.antlr.runtime" version="3.2.0.v201101311130"/> 
+    <unit id="org.antlr.runtime.source" version="3.2.0.v201101311130"/> 
     <unit id="org.apache.commons.cli" version="0.0.0"/>
     <unit id="org.apache.lucene" version="0.0.0"/>
     <unit id="org.hamcrest" version="0.0.0"/>
     <unit id="org.prefuse" version="0.0.0"/>
     <unit id="org.prefuse.source" version="0.0.0"/>
-    <!--repository location="https://download.eclipse.org/tools/orbit/downloads/latest-S"/>
-    <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-R"/-->
-    <repository location="http://download.eclipse.org/tools/orbit/downloads/drops/R20160221192158/repository"/>
+    <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-S"/>
+    <repository location="https://download.eclipse.org/tools/orbit/downloads/latest-R"/>
   </location>
 </locations>
 </target>
diff --git a/org.eclipse.modisco.thirdparties.feature/feature.xml b/org.eclipse.modisco.thirdparties.feature/feature.xml
index ccce150..2866acb 100644
--- a/org.eclipse.modisco.thirdparties.feature/feature.xml
+++ b/org.eclipse.modisco.thirdparties.feature/feature.xml
@@ -28,7 +28,7 @@
          id="org.antlr.runtime"

          download-size="0"

          install-size="0"

-         version="3.0.0.v200803061811"

+         version="0.0.0"

          unpack="false"/>

 

 </feature>