[pkg-java] r3167 - in trunk/qdox/debian: . patches
Arnaud Vandyck
avdyk at alioth.debian.org
Wed Apr 11 14:25:51 UTC 2007
Author: avdyk
Date: 2007-04-11 14:25:49 +0000 (Wed, 11 Apr 2007)
New Revision: 3167
Modified:
trunk/qdox/debian/changelog
trunk/qdox/debian/control
trunk/qdox/debian/copyright
trunk/qdox/debian/patches/01_build_files.patch
trunk/qdox/debian/patches/02_parser_files.patch
trunk/qdox/debian/rules
Log:
build with java-gcj-compat-dev, tried to re-generate two classes but does not work
Modified: trunk/qdox/debian/changelog
===================================================================
--- trunk/qdox/debian/changelog 2007-04-11 11:39:59 UTC (rev 3166)
+++ trunk/qdox/debian/changelog 2007-04-11 14:25:49 UTC (rev 3167)
@@ -1,6 +1,6 @@
-libqdox-java (1.5-1) unstable; urgency=low
+qdox (1.6.1-1) unstable; urgency=low
- * Non-maintainer upload.
+ Trygve Laugstøl <trygvis at inamo.no>:
* Initial Release (closes: #323043).
- -- Trygve Laugstøl <trygvis at inamo.no> Mon, 8 Aug 2005 02:56:59 +0200
+ -- Arnaud Vandyck <avdyk at debian.org> Wed, 11 Apr 2007 13:51:08 +0200
Modified: trunk/qdox/debian/control
===================================================================
--- trunk/qdox/debian/control 2007-04-11 11:39:59 UTC (rev 3166)
+++ trunk/qdox/debian/control 2007-04-11 14:25:49 UTC (rev 3167)
@@ -1,14 +1,14 @@
-Source: libqdox-java
+Source: qdox
Section: libs
Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
-Uploaders: Trygve Laugstøl <trygvis at inamo.no>
-Build-Depends-Indep: debhelper (>> 4.0.0), cdbs, kaffe (>= 1.1.5), ant (>= 1.6.5), junit (>= 3.8.1), libjmock-java (>= 1.0.1)
-Standards-Version: 3.6.2
+Uploaders: Trygve Laugstøl <trygvis at inamo.no>, Arnaud Vandyck <avdyk at debian.org>
+Build-Depends-Indep: debhelper (>> 4.0.0), cdbs, java-gcj-compat-dev, ant (>= 1.6.5), junit (>= 3.8.1), libjmock-java (>= 1.0.1)
+Standards-Version: 3.7.2
Package: libqdox-java
Architecture: all
-Depends: kaffe | jamvm | java2-runtime
+Depends: java-gcj-compat | java2-runtime
Suggests: libqdox-java-doc
Description: High speed source parser for extracting from Java class/method definitions
The parser skims the source files only looking for things of interest such as
@@ -21,6 +21,6 @@
Package: libqdox-java-doc
Architecture: all
-Depends:
+Suggests: libqdox-java
Description: Documentation for the qdox package
Javadoc only.
Modified: trunk/qdox/debian/copyright
===================================================================
--- trunk/qdox/debian/copyright 2007-04-11 11:39:59 UTC (rev 3166)
+++ trunk/qdox/debian/copyright 2007-04-11 14:25:49 UTC (rev 3167)
@@ -3,7 +3,7 @@
It was downloaded from http://dist.codehaus.org/qdox/distributions/qdox-1.5-src.tar.gz
-Upstream Authors: Aslak Hellesøy <aslak at thoughtworks.net>
+Upstream Authors: Aslak Hellesøy <aslak at thoughtworks.net>
Joe Walnes <joew at thoughtworks.com>
Mike Royle <mroyle at thoughtworks.com>
Paul Hammant <Paul_Hammant at yahoo.com>
Modified: trunk/qdox/debian/patches/01_build_files.patch
===================================================================
--- trunk/qdox/debian/patches/01_build_files.patch 2007-04-11 11:39:59 UTC (rev 3166)
+++ trunk/qdox/debian/patches/01_build_files.patch 2007-04-11 14:25:49 UTC (rev 3167)
@@ -1,8 +1,8 @@
---- ../qdox-1.5/build.xml 2004-06-20 02:30:31.000000000 +0200
-+++ build.xml 2005-09-05 00:43:54.999987288 +0200
+--- build.xml.old 2006-10-28 15:01:37.000000000 +0000
++++ build.xml 2007-04-11 12:46:52.000000000 +0000
@@ -3,7 +3,32 @@
- <!--build.xml generated by maven from project.xml version 1.5-SNAPSHOT
- on date June 5 2004, time 2316-->
+ <!--build.xml generated by maven from project.xml version 1.6.1
+ on date October 28 2006, time 1601-->
-<project default="jar" name="qdox" basedir=".">
+<project name="qdox" basedir=".">
@@ -34,18 +34,25 @@
<property name="defaulttargetdir" value="target">
</property>
<property name="libdir" value="target/lib">
-@@ -36,6 +61,10 @@
+@@ -47,6 +72,8 @@
+ <src>
<pathelement location="src/java">
</pathelement>
++ <pathelement location="target/generated-sources">
++ </pathelement>
</src>
-+ <src>
+ <classpath refid="build.classpath">
+ </classpath>
+@@ -116,6 +143,8 @@
+ <src>
+ <pathelement location="src/test">
+ </pathelement>
+ <pathelement location="target/generated-sources">
+ </pathelement>
-+ </src>
+ </src>
<classpath>
- <fileset dir="${libdir}">
- <include name="*.jar">
-@@ -158,4 +187,4 @@
+ <path refid="build.classpath">
+@@ -161,4 +190,4 @@
<unjar dest="${maven.home}" src="${user.home}/maven-install-latest.jar">
</unjar>
</target>
Modified: trunk/qdox/debian/patches/02_parser_files.patch
===================================================================
--- trunk/qdox/debian/patches/02_parser_files.patch 2007-04-11 11:39:59 UTC (rev 3166)
+++ trunk/qdox/debian/patches/02_parser_files.patch 2007-04-11 14:25:49 UTC (rev 3167)
@@ -1,7 +1,7 @@
---- /dev/null 2005-04-30 15:48:21.320416232 +0200
-+++ Parser.java 2005-08-15 04:03:17.549122272 +0200
-@@ -0,0 +1,960 @@
-+//### This file created by BYACC 1.8(/Java extension 1.1)
+--- /dev/null 2006-09-11 12:55:45.000000000 +0000
++++ Parser.java 2007-04-11 13:36:30.000000000 +0000
+@@ -0,0 +1,1173 @@
++//### This file created by BYACC 1.8(/Java extension 1.14)
+//### Java capabilities added 7 Jan 97, Bob Jamison
+//### Updated : 27 Nov 97 -- Bob Jamison, Joe Nieten
+//### 01 Jan 98 -- Bob Jamison -- fixed generic semantic constructor
@@ -9,7 +9,9 @@
+//### 06 Aug 00 -- Bob Jamison -- made state variables class-global
+//### 03 Jan 01 -- Bob Jamison -- improved flags, tracing
+//### 16 May 01 -- Bob Jamison -- added custom stack sizing
-+//### Please send bug reports to rjamison at lincom-asg.com
++//### 04 Mar 02 -- Yuval Oren -- improved java performance, added options
++//### 14 Mar 02 -- Tomas Hurka -- -d support, static initializer workaround
++//### Please send bug reports to tom at hukatronic.cz
+//### static char yysccsid[] = "@(#)yaccpar 1.8 (Berkeley) 01/20/90";
+
+
@@ -22,15 +24,11 @@
+import com.thoughtworks.qdox.parser.*;
+import com.thoughtworks.qdox.parser.structs.*;
+import java.io.IOException;
-+//#line 19 "Parser.java"
++//#line 21 "Parser.java"
+
+
+
+
-+/**
-+ * Encapsulates yacc() parser functionality in a Java
-+ * class for quick code development
-+ */
+public class Parser
+{
+
@@ -51,54 +49,46 @@
+
+//########## STATE STACK ##########
+final static int YYSTACKSIZE = 500; //maximum stack size
-+int statestk[],stateptr; //state stack
++int statestk[] = new int[YYSTACKSIZE]; //state stack
++int stateptr;
+int stateptrmax; //highest index of stackptr
+int statemax; //state when highest index reached
+//###############################################################
+// methods: state stack push,pop,drop,peek
+//###############################################################
-+void state_push(int state)
++final void state_push(int state)
+{
-+ if (stateptr>=YYSTACKSIZE) //overflowed?
-+ return;
-+ statestk[++stateptr]=state;
-+ if (stateptr>statemax)
-+ {
-+ statemax=state;
-+ stateptrmax=stateptr;
-+ }
++ try {
++ stateptr++;
++ statestk[stateptr]=state;
++ }
++ catch (ArrayIndexOutOfBoundsException e) {
++ int oldsize = statestk.length;
++ int newsize = oldsize * 2;
++ int[] newstack = new int[newsize];
++ System.arraycopy(statestk,0,newstack,0,oldsize);
++ statestk = newstack;
++ statestk[stateptr]=state;
++ }
+}
-+int state_pop()
++final int state_pop()
+{
-+ if (stateptr<0) //underflowed?
-+ return -1;
+ return statestk[stateptr--];
+}
-+void state_drop(int cnt)
++final void state_drop(int cnt)
+{
-+int ptr;
-+ ptr=stateptr-cnt;
-+ if (ptr<0)
-+ return;
-+ stateptr = ptr;
++ stateptr -= cnt;
+}
-+int state_peek(int relative)
++final int state_peek(int relative)
+{
-+int ptr;
-+ ptr=stateptr-relative;
-+ if (ptr<0)
-+ return -1;
-+ return statestk[ptr];
++ return statestk[stateptr-relative];
+}
+//###############################################################
+// method: init_stacks : allocate and prepare stacks
+//###############################################################
-+boolean init_stacks()
++final boolean init_stacks()
+{
-+ statestk = new int[YYSTACKSIZE];
+ stateptr = -1;
-+ statemax = -1;
-+ stateptrmax = -1;
+ val_init();
+ return true;
+}
@@ -120,230 +110,305 @@
+String yytext;//user variable to return contextual strings
+Value yyval; //used to return semantic vals from action routines
+Value yylval;//the 'lval' (result) I got from yylex()
-+Value valstk[];
++Value valstk[] = new Value[YYSTACKSIZE];
+int valptr;
+//###############################################################
+// methods: value stack push,pop,drop,peek.
+//###############################################################
-+void val_init()
++final void val_init()
+{
-+ valstk=new Value[YYSTACKSIZE];
+ yyval=new Value();
+ yylval=new Value();
+ valptr=-1;
+}
-+void val_push(Value val)
++final void val_push(Value val)
+{
-+ if (valptr>=YYSTACKSIZE)
-+ return;
-+ valstk[++valptr]=val;
++ try {
++ valptr++;
++ valstk[valptr]=val;
++ }
++ catch (ArrayIndexOutOfBoundsException e) {
++ int oldsize = valstk.length;
++ int newsize = oldsize*2;
++ Value[] newstack = new Value[newsize];
++ System.arraycopy(valstk,0,newstack,0,oldsize);
++ valstk = newstack;
++ valstk[valptr]=val;
++ }
+}
-+Value val_pop()
++final Value val_pop()
+{
-+ if (valptr<0)
-+ return null;
+ return valstk[valptr--];
+}
-+void val_drop(int cnt)
++final void val_drop(int cnt)
+{
-+int ptr;
-+ ptr=valptr-cnt;
-+ if (ptr<0)
-+ return;
-+ valptr = ptr;
++ valptr -= cnt;
+}
-+Value val_peek(int relative)
++final Value val_peek(int relative)
+{
-+int ptr;
-+ ptr=valptr-relative;
-+ if (ptr<0)
-+ return null;
-+ return valstk[ptr];
++ return valstk[valptr-relative];
+}
+//#### end semantic value section ####
+public final static short SEMI=257;
+public final static short DOT=258;
-+public final static short COMMA=259;
-+public final static short STAR=260;
-+public final static short EQUALS=261;
-+public final static short PACKAGE=262;
-+public final static short IMPORT=263;
-+public final static short PUBLIC=264;
-+public final static short PROTECTED=265;
-+public final static short PRIVATE=266;
-+public final static short STATIC=267;
-+public final static short FINAL=268;
-+public final static short ABSTRACT=269;
-+public final static short NATIVE=270;
-+public final static short STRICTFP=271;
-+public final static short SYNCHRONIZED=272;
-+public final static short TRANSIENT=273;
-+public final static short VOLATILE=274;
-+public final static short CLASS=275;
-+public final static short INTERFACE=276;
-+public final static short THROWS=277;
-+public final static short EXTENDS=278;
-+public final static short IMPLEMENTS=279;
-+public final static short BRACEOPEN=280;
-+public final static short BRACECLOSE=281;
-+public final static short SQUAREOPEN=282;
-+public final static short SQUARECLOSE=283;
-+public final static short PARENOPEN=284;
-+public final static short PARENCLOSE=285;
-+public final static short LESSTHAN=286;
-+public final static short GREATERTHAN=287;
-+public final static short AMPERSAND=288;
-+public final static short JAVADOCSTART=289;
-+public final static short JAVADOCEND=290;
-+public final static short CODEBLOCK=291;
-+public final static short STRING=292;
-+public final static short IDENTIFIER=293;
-+public final static short JAVADOCTAG=294;
-+public final static short JAVADOCTOKEN=295;
++public final static short DOTDOTDOT=259;
++public final static short COMMA=260;
++public final static short STAR=261;
++public final static short EQUALS=262;
++public final static short PACKAGE=263;
++public final static short IMPORT=264;
++public final static short PUBLIC=265;
++public final static short PROTECTED=266;
++public final static short PRIVATE=267;
++public final static short STATIC=268;
++public final static short FINAL=269;
++public final static short ABSTRACT=270;
++public final static short NATIVE=271;
++public final static short STRICTFP=272;
++public final static short SYNCHRONIZED=273;
++public final static short TRANSIENT=274;
++public final static short VOLATILE=275;
++public final static short CLASS=276;
++public final static short INTERFACE=277;
++public final static short ENUM=278;
++public final static short THROWS=279;
++public final static short EXTENDS=280;
++public final static short IMPLEMENTS=281;
++public final static short SUPER=282;
++public final static short DEFAULT=283;
++public final static short BRACEOPEN=284;
++public final static short BRACECLOSE=285;
++public final static short SQUAREOPEN=286;
++public final static short SQUARECLOSE=287;
++public final static short PARENOPEN=288;
++public final static short PARENCLOSE=289;
++public final static short LESSTHAN=290;
++public final static short GREATERTHAN=291;
++public final static short AMPERSAND=292;
++public final static short QUERY=293;
++public final static short AT=294;
++public final static short JAVADOCSTART=295;
++public final static short JAVADOCEND=296;
++public final static short JAVADOCEOL=297;
++public final static short CODEBLOCK=298;
++public final static short PARENBLOCK=299;
++public final static short INTEGER_LITERAL=300;
++public final static short FLOAT_LITERAL=301;
++public final static short IDENTIFIER=302;
++public final static short JAVADOCTAG=303;
++public final static short JAVADOCTOKEN=304;
+public final static short YYERRCODE=256;
+final static short yylhs[] = { -1,
-+ 0, 0, 6, 6, 6, 6, 7, 8, 9, 11,
-+ 13, 13, 14, 12, 12, 16, 15, 1, 1, 1,
-+ 5, 3, 3, 2, 2, 2, 2, 2, 2, 2,
-+ 2, 2, 2, 2, 17, 17, 4, 18, 18, 19,
-+ 19, 10, 22, 20, 23, 23, 24, 24, 27, 27,
-+ 28, 29, 29, 30, 30, 25, 25, 32, 31, 31,
-+ 26, 26, 33, 33, 21, 35, 21, 34, 34, 34,
-+ 34, 34, 34, 34, 39, 39, 41, 36, 40, 42,
-+ 40, 37, 38, 43, 45, 45, 46, 46, 44, 44,
-+ 48, 48, 47, 49, 49,
++ 0, 10, 0, 9, 9, 9, 9, 9, 9, 11,
++ 12, 12, 13, 16, 18, 18, 19, 19, 17, 17,
++ 21, 20, 1, 1, 1, 8, 5, 5, 2, 2,
++ 2, 2, 2, 2, 2, 2, 2, 2, 2, 22,
++ 22, 22, 23, 23, 24, 24, 24, 24, 24, 24,
++ 7, 3, 25, 25, 26, 26, 27, 27, 27, 27,
++ 28, 28, 29, 30, 30, 31, 31, 32, 32, 15,
++ 33, 34, 34, 36, 36, 36, 38, 38, 39, 39,
++ 39, 39, 14, 41, 42, 42, 42, 43, 43, 44,
++ 44, 35, 35, 45, 45, 37, 47, 37, 46, 46,
++ 46, 46, 46, 46, 46, 46, 4, 4, 51, 53,
++ 48, 52, 54, 52, 49, 49, 50, 55, 56, 56,
++ 58, 58, 57, 57, 59, 59, 60, 6, 6, 40,
++ 40, 61, 61,
+};
+final static short yylen[] = { 2,
-+ 0, 2, 1, 1, 1, 1, 3, 3, 4, 1,
-+ 0, 2, 1, 0, 2, 0, 3, 1, 3, 3,
-+ 2, 0, 3, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 0, 2, 3, 0, 3, 1,
-+ 3, 4, 0, 7, 1, 1, 0, 3, 1, 3,
-+ 2, 0, 2, 1, 3, 0, 2, 0, 3, 3,
-+ 0, 2, 1, 3, 0, 0, 3, 1, 1, 1,
-+ 1, 2, 1, 1, 1, 1, 0, 6, 0, 0,
-+ 4, 5, 4, 4, 0, 2, 1, 3, 0, 2,
-+ 0, 3, 3, 0, 2,
++ 0, 0, 3, 1, 1, 1, 1, 1, 1, 3,
++ 3, 4, 4, 1, 0, 2, 1, 1, 0, 2,
++ 0, 3, 1, 3, 3, 2, 0, 3, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
++ 2, 0, 2, 5, 0, 2, 2, 4, 4, 2,
++ 3, 2, 0, 3, 1, 3, 1, 1, 3, 3,
++ 0, 1, 3, 1, 3, 1, 3, 1, 3, 4,
++ 4, 1, 3, 0, 1, 3, 2, 2, 1, 2,
++ 2, 3, 4, 6, 1, 1, 2, 0, 2, 1,
++ 3, 0, 2, 1, 3, 0, 0, 3, 1, 1,
++ 1, 1, 1, 1, 1, 1, 1, 1, 2, 0,
++ 6, 0, 0, 4, 8, 7, 5, 3, 0, 2,
++ 1, 3, 0, 1, 1, 3, 5, 0, 1, 0,
++ 2, 0, 2,
+};
+final static short yydefred[] = { 1,
-+ 0, 0, 0, 11, 2, 3, 4, 5, 6, 0,
-+ 35, 18, 0, 0, 14, 0, 65, 0, 7, 0,
-+ 8, 0, 13, 12, 0, 24, 25, 26, 27, 28,
-+ 29, 30, 34, 31, 33, 32, 45, 46, 36, 0,
-+ 20, 19, 9, 16, 15, 42, 0, 0, 11, 74,
-+ 68, 73, 0, 67, 69, 70, 71, 0, 0, 0,
-+ 72, 0, 0, 0, 0, 40, 0, 0, 49, 0,
-+ 0, 0, 0, 0, 22, 0, 77, 0, 51, 0,
-+ 48, 0, 0, 0, 44, 0, 91, 0, 75, 76,
-+ 83, 0, 0, 0, 0, 79, 0, 0, 53, 41,
-+ 50, 0, 0, 0, 0, 0, 0, 95, 0, 0,
-+ 39, 0, 82, 0, 0, 59, 0, 0, 0, 84,
-+ 94, 22, 93, 23, 80, 78, 55, 0, 0, 0,
-+ 92, 0, 0, 81, 0,
++ 2, 0, 9, 0, 0, 15, 3, 4, 5, 6,
++ 7, 8, 0, 0, 0, 23, 0, 0, 0, 19,
++ 0, 29, 30, 31, 32, 33, 34, 35, 39, 36,
++ 38, 37, 85, 86, 0, 0, 40, 41, 0, 0,
++ 96, 10, 0, 0, 11, 0, 18, 17, 16, 0,
++ 87, 0, 0, 0, 0, 0, 0, 0, 0, 25,
++ 24, 12, 13, 21, 20, 0, 71, 45, 0, 0,
++ 62, 0, 77, 70, 96, 0, 0, 131, 78, 83,
++ 0, 15, 0, 94, 0, 0, 0, 0, 64, 0,
++ 0, 80, 0, 0, 76, 106, 99, 104, 105, 0,
++ 98, 100, 101, 102, 103, 0, 0, 52, 0, 46,
++ 45, 44, 0, 50, 0, 0, 63, 90, 0, 84,
++ 82, 109, 0, 0, 0, 0, 0, 57, 0, 55,
++ 95, 0, 0, 68, 0, 65, 0, 0, 0, 27,
++ 0, 110, 0, 0, 0, 0, 54, 49, 48, 0,
++ 91, 0, 0, 0, 125, 0, 0, 0, 0, 27,
++ 112, 0, 59, 60, 56, 69, 0, 118, 130, 0,
++ 0, 107, 108, 117, 0, 0, 0, 27, 133, 0,
++ 126, 0, 28, 0, 113, 111, 0, 129, 0, 0,
++ 116, 0, 0, 27, 127, 114, 115,
+};
+final static short yydgoto[] = { 1,
-+ 63, 39, 94, 66, 77, 5, 6, 7, 8, 9,
-+ 15, 22, 16, 24, 45, 49, 18, 75, 67, 10,
-+ 25, 11, 40, 59, 71, 85, 68, 69, 79, 99,
-+ 83, 102, 105, 54, 47, 55, 56, 57, 91, 114,
-+ 96, 132, 73, 86, 120, 130, 87, 107, 88,
++ 83, 37, 124, 174, 159, 189, 128, 142, 7, 2,
++ 8, 9, 54, 11, 12, 20, 46, 21, 49, 65,
++ 82, 13, 38, 86, 108, 129, 130, 70, 71, 88,
++ 89, 135, 14, 55, 67, 56, 59, 57, 73, 58,
++ 15, 39, 91, 119, 85, 101, 81, 102, 103, 104,
++ 105, 177, 161, 192, 139, 157, 153, 171, 154, 155,
++ 167,
+};
+final static short yysindex[] = { 0,
-+ -114, -286, -286, 0, 0, 0, 0, 0, 0, -255,
-+ 0, 0, -158, -73, 0, -206, 0, -71, 0, -221,
-+ 0, -285, 0, 0, -200, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, 0, -149,
-+ 0, 0, 0, 0, 0, 0, -254, -195, 0, 0,
-+ 0, 0, -146, 0, 0, 0, 0, -147, -126, -206,
-+ 0, -110, -210, -135, -90, 0, -81, -98, 0, -286,
-+ -89, 0, -229, -286, 0, -110, 0, -286, 0, -147,
-+ 0, -67, -40, -286, 0, -65, 0, -101, 0, 0,
-+ 0, -185, -61, -61, -229, 0, 0, -209, 0, 0,
-+ 0, -64, -286, -67, -36, -53, -34, 0, -66, -286,
-+ 0, -57, 0, -213, -286, 0, -67, -286, -286, 0,
-+ 0, 0, 0, 0, 0, 0, 0, -67, -67, -31,
-+ 0, -66, -286, 0, -67,
++ 0, -69, 0, -290, -208, 0, 0, 0, 0, 0,
++ 0, 0, 76, -213, -211, 0, -8, -290, -3, 0,
++ -288, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, -212, -146, 0, 0, -157, -228,
++ 0, 0, -181, 4, 0, -217, 0, 0, 0, -196,
++ 0, -83, -71, -45, -32, 6, -2, -279, -26, 0,
++ 0, 0, 0, 0, 0, -290, 0, 0, -37, 12,
++ 0, -74, 0, 0, 0, -228, -9, 0, 0, 0,
++ -229, 0, -177, 0, 34, -86, 16, -85, 0, -290,
++ -196, 0, -1, 0, 0, 0, 0, 0, 0, -38,
++ 0, 0, 0, 0, 0, -288, -161, 0, -290, 0,
++ 0, 0, 40, 0, -290, -37, 0, 0, 41, 0,
++ 0, 0, 14, 10, 3, -290, -269, 0, -68, 0,
++ 0, -207, -143, 0, 18, 0, -290, 0, 27, 0,
++ 14, 0, 5, -290, -290, -161, 0, 0, 0, -290,
++ 0, 17, 19, 52, 0, -290, -115, 28, 28, 0,
++ 0, 14, 0, 0, 0, 0, 53, 0, 0, 55,
++ 56, 0, 0, 0, 69, -79, -250, 0, 0, 81,
++ 0, -290, 0, -115, 0, 0, -79, 0, 13, 55,
++ 0, 13, -115, 0, 0, 0, 0,
+};
+final static short yyrindex[] = { 0,
-+ -58, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, -204, 0, 0, 0, 0,
-+ 0, 0, 0, 0, -253, 0, 0, 0, 0, 0,
++ 0, 106, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, -161, -97, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, -119, -139,
-+ 0, -252, -235, 0, -202, 0, 0, 0, 0, 0,
-+ -50, -131, 0, 0, 0, -249, 0, 0, 0, 0,
-+ 0, -192, -93, 0, 0, 0, 0, 0, 0, 0,
-+ 0, 0, -233, -214, 0, 0, -190, 0, 0, 0,
-+ 0, -103, 0, -184, -49, -226, -56, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, -100, 0, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, -130, -208, -225,
-+ 0, 0, 0, 0, -196,
++ -94, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, -238,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 73,
++ 0, -105, -33, 0, 0, 74, -134, 0, -168, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, -131,
++ 0, -40, 0, 0, 0, -238, 0, 0, 0, 0,
++ 1, 0, -167, 0, 77, 0, -50, 0, 0, 0,
++ 73, 0, -39, -233, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, 0, -81, 0, 0, 0, 0,
++ 0, 0, -103, 0, 0, 0, 0, 0, -80, 0,
++ 0, 0, -232, -148, 0, 0, -49, 0, 0, 0,
++ 0, 0, 0, 0, -48, 0, 0, 15, -111, 0,
++ -235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 64, 0, 71, 0, 0, 0, -144, -169, 0,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, -239,
++ -108, 0, 0, 0, 0, -111, 0, 0, 0, 60,
++ 0, 0, 0, 0, 0, 0, -111, 0, 0, -121,
++ 0, 0, 0, 0, 0, 0, 0,
+};
+final static short yygindex[] = { 0,
-+ -2, 144, 158, -51, -39, 0, 0, 0, 187, 188,
-+ 0, 0, 189, 0, 0, 0, 190, 134, 79, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 159, 0, 0,
-+ 0, 0, 0, 0, 0, 0, 0, 0, -22, 0,
-+ 0, 0, 164, 0, 0, 0, 120, 0, 0,
++ -4, 191, -63, -109, 36, 0, -95, -52, 0, 0,
++ 0, 0, 2, 282, 283, 0, 0, 285, 0, 0,
++ 0, 284, -56, 257, 245, 0, 239, 0, 286, 0,
++ 271, 0, 0, 0, 297, 313, 315, 0, 333, 75,
++ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
++ 0, 0, 0, 0, -133, -170, 0, 0, 0, 223,
++ 0,
+};
-+final static int YYTABLESIZE=241;
-+final static short yytable[] = { 13,
-+ 14, 64, 50, 66, 43, 18, 12, 22, 44, 22,
-+ 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
-+ 66, 66, 66, 38, 17, 37, 97, 89, 100, 18,
-+ 85, 86, 22, 18, 4, 66, 109, 66, 41, 66,
-+ 18, 22, 21, 89, 21, 125, 38, 20, 87, 110,
-+ 87, 38, 38, 37, 37, 18, 18, 38, 100, 37,
-+ 88, 90, 88, 127, 85, 86, 58, 82, 40, 123,
-+ 21, 42, 113, 110, 63, 74, 21, 90, 115, 18,
-+ 46, 104, 87, 18, 52, 10, 58, 58, 23, 10,
-+ 58, 126, 134, 58, 88, 63, 54, 40, 19, 20,
-+ 117, 111, 35, 35, 35, 35, 35, 35, 35, 35,
-+ 35, 35, 35, 43, 43, 128, 129, 26, 27, 28,
-+ 29, 30, 31, 32, 33, 34, 35, 36, 64, 35,
-+ 135, 35, 94, 94, 94, 94, 94, 94, 94, 94,
-+ 94, 94, 94, 48, 61, 65, 62, 2, 3, 64,
-+ 17, 70, 92, 89, 17, 38, 98, 76, 60, 56,
-+ 56, 94, 26, 27, 28, 29, 30, 31, 32, 33,
-+ 34, 35, 36, 72, 4, 38, 38, 80, 60, 60,
-+ 47, 47, 47, 21, 20, 57, 57, 78, 81, 84,
-+ 20, 12, 26, 27, 28, 29, 30, 31, 32, 33,
-+ 34, 35, 36, 37, 38, 43, 43, 43, 43, 43,
-+ 43, 43, 43, 43, 43, 43, 43, 43, 103, 106,
-+ 112, 74, 118, 119, 121, 124, 122, 133, 90, 61,
-+ 62, 108, 93, 51, 52, 116, 53, 60, 101, 95,
-+ 131,
++final static int YYTABLESIZE=400;
++static short yytable[];
++static { yytable();}
++static void yytable(){
++yytable = new short[]{ 17,
++ 19, 78, 84, 10, 125, 184, 172, 160, 47, 185,
++ 144, 16, 145, 44, 77, 48, 193, 121, 74, 134,
++ 121, 27, 72, 97, 27, 23, 118, 96, 178, 114,
++ 143, 97, 97, 97, 97, 97, 97, 97, 97, 97,
++ 97, 97, 97, 97, 97, 131, 74, 173, 163, 164,
++ 27, 73, 110, 23, 166, 130, 97, 23, 121, 18,
++ 97, 97, 27, 130, 97, 6, 6, 186, 97, 23,
++ 40, 180, 41, 151, 191, 114, 111, 148, 63, 60,
++ 43, 113, 97, 197, 66, 64, 77, 26, 97, 50,
++ 26, 53, 53, 16, 16, 78, 97, 97, 97, 97,
++ 97, 97, 97, 97, 97, 97, 97, 97, 97, 97,
++ 53, 53, 107, 53, 51, 51, 53, 60, 53, 26,
++ 61, 97, 75, 53, 53, 97, 97, 113, 26, 97,
++ 51, 127, 149, 97, 53, 122, 195, 53, 122, 196,
++ 16, 172, 53, 53, 53, 119, 51, 51, 120, 88,
++ 75, 170, 88, 53, 43, 52, 47, 51, 61, 43,
++ 43, 43, 43, 43, 43, 43, 43, 43, 43, 43,
++ 43, 43, 43, 110, 116, 158, 122, 190, 43, 43,
++ 47, 47, 173, 43, 43, 47, 119, 3, 43, 120,
++ 47, 146, 43, 4, 5, 176, 43, 111, 47, 156,
++ 89, 14, 112, 89, 68, 117, 175, 77, 14, 66,
++ 58, 67, 152, 187, 22, 16, 79, 81, 69, 79,
++ 81, 22, 147, 92, 93, 6, 22, 23, 24, 25,
++ 26, 27, 28, 29, 30, 31, 32, 33, 34, 35,
++ 66, 58, 67, 152, 79, 81, 61, 61, 42, 43,
++ 61, 69, 74, 45, 43, 36, 72, 76, 80, 122,
++ 62, 43, 75, 123, 87, 42, 42, 42, 42, 42,
++ 42, 42, 42, 42, 42, 42, 42, 42, 42, 130,
++ 130, 130, 130, 130, 130, 130, 130, 130, 130, 130,
++ 42, 90, 52, 109, 42, 115, 121, 133, 42, 107,
++ 137, 138, 42, 123, 141, 156, 162, 168, 130, 150,
++ 77, 169, 43, 175, 194, 182, 130, 22, 23, 24,
++ 25, 26, 27, 28, 29, 30, 31, 32, 132, 132,
++ 132, 132, 132, 132, 132, 132, 132, 132, 132, 188,
++ 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
++ 32, 33, 34, 35, 16, 183, 92, 179, 72, 124,
++ 93, 128, 98, 99, 100, 132, 106, 132, 140, 36,
++ 42, 42, 42, 42, 42, 42, 42, 42, 42, 42,
++ 42, 42, 42, 42, 165, 126, 136, 120, 95, 94,
++ 79, 181, 0, 0, 0, 0, 0, 0, 0, 42,
+};
-+final static short yycheck[] = { 2,
-+ 3, 53, 257, 257, 290, 258, 293, 257, 294, 259,
-+ 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
-+ 274, 275, 276, 259, 280, 259, 78, 257, 80, 282,
-+ 257, 257, 282, 286, 289, 289, 88, 291, 260, 293,
-+ 293, 291, 257, 257, 259, 259, 282, 258, 257, 259,
-+ 259, 287, 288, 287, 288, 258, 259, 293, 110, 293,
-+ 257, 291, 259, 115, 291, 291, 259, 70, 259, 109,
-+ 285, 293, 95, 259, 259, 286, 291, 291, 288, 282,
-+ 281, 84, 291, 286, 287, 290, 279, 280, 295, 294,
-+ 286, 114, 132, 286, 291, 280, 287, 288, 257, 258,
-+ 103, 287, 264, 265, 266, 267, 268, 269, 270, 271,
-+ 272, 273, 274, 275, 276, 118, 119, 264, 265, 266,
-+ 267, 268, 269, 270, 271, 272, 273, 274, 259, 291,
-+ 133, 293, 264, 265, 266, 267, 268, 269, 270, 271,
-+ 272, 273, 274, 293, 291, 293, 293, 262, 263, 280,
-+ 290, 278, 74, 285, 294, 259, 78, 293, 259, 279,
-+ 280, 293, 264, 265, 266, 267, 268, 269, 270, 271,
-+ 272, 273, 274, 284, 289, 279, 280, 259, 279, 280,
-+ 278, 279, 280, 257, 258, 279, 280, 278, 287, 279,
-+ 258, 293, 264, 265, 266, 267, 268, 269, 270, 271,
-+ 272, 273, 274, 275, 276, 264, 265, 266, 267, 268,
-+ 269, 270, 271, 272, 273, 274, 275, 276, 259, 285,
-+ 282, 286, 259, 277, 259, 283, 293, 259, 285, 280,
-+ 280, 88, 75, 47, 47, 102, 47, 49, 80, 76,
-+ 121,
++}
++static short yycheck[];
++static { yycheck(); }
++static void yycheck() {
++yycheck = new short[] { 4,
++ 5, 58, 66, 2, 100, 176, 257, 141, 297, 260,
++ 280, 302, 282, 18, 294, 304, 187, 257, 257, 115,
++ 260, 257, 302, 257, 260, 258, 90, 257, 162, 86,
++ 126, 265, 266, 267, 268, 269, 270, 271, 272, 273,
++ 274, 275, 276, 277, 278, 109, 285, 298, 144, 145,
++ 286, 285, 260, 286, 150, 294, 290, 290, 298, 268,
++ 294, 295, 298, 302, 298, 295, 295, 177, 302, 302,
++ 284, 167, 284, 137, 184, 132, 284, 285, 296, 261,
++ 258, 86, 81, 193, 281, 303, 294, 257, 257, 302,
++ 260, 259, 260, 302, 302, 152, 265, 266, 267, 268,
++ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
++ 259, 260, 290, 281, 259, 260, 284, 261, 286, 289,
++ 302, 290, 257, 291, 292, 294, 295, 132, 298, 298,
++ 277, 293, 276, 302, 302, 257, 189, 286, 260, 192,
++ 302, 257, 291, 292, 302, 257, 291, 292, 257, 281,
++ 285, 156, 284, 302, 260, 302, 260, 302, 302, 265,
++ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
++ 276, 277, 278, 260, 260, 140, 298, 182, 284, 285,
++ 284, 285, 298, 289, 290, 289, 298, 257, 294, 298,
++ 294, 260, 298, 263, 264, 160, 302, 284, 302, 279,
++ 281, 296, 289, 284, 288, 291, 286, 294, 303, 260,
++ 260, 260, 138, 178, 296, 302, 257, 257, 290, 260,
++ 260, 303, 291, 298, 299, 295, 265, 266, 267, 268,
++ 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
++ 291, 291, 291, 169, 285, 285, 280, 281, 257, 258,
++ 284, 290, 285, 257, 258, 294, 302, 260, 285, 298,
++ 257, 258, 257, 302, 302, 265, 266, 267, 268, 269,
++ 270, 271, 272, 273, 274, 275, 276, 277, 278, 265,
++ 266, 267, 268, 269, 270, 271, 272, 273, 274, 275,
++ 290, 280, 302, 260, 294, 280, 298, 258, 298, 290,
++ 260, 288, 302, 289, 302, 279, 302, 289, 294, 292,
++ 294, 260, 258, 286, 302, 260, 302, 265, 266, 267,
++ 268, 269, 270, 271, 272, 273, 274, 275, 265, 266,
++ 267, 268, 269, 270, 271, 272, 273, 274, 275, 259,
++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
++ 275, 276, 277, 278, 302, 287, 284, 167, 285, 289,
++ 284, 302, 81, 81, 81, 302, 82, 111, 124, 294,
++ 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
++ 275, 276, 277, 278, 146, 100, 116, 91, 76, 75,
++ 58, 169, -1, -1, -1, -1, -1, -1, -1, 294,
+};
++}
+final static short YYFINAL=1;
-+final static short YYMAXTOKEN=295;
++final static short YYMAXTOKEN=304;
+final static String yyname[] = {
+"end-of-file",null,null,null,null,null,null,null,null,null,null,null,null,null,
+null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
@@ -361,32 +426,39 @@
+null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
+null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
+null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,
-+null,null,null,"SEMI","DOT","COMMA","STAR","EQUALS","PACKAGE","IMPORT","PUBLIC",
-+"PROTECTED","PRIVATE","STATIC","FINAL","ABSTRACT","NATIVE","STRICTFP",
-+"SYNCHRONIZED","TRANSIENT","VOLATILE","CLASS","INTERFACE","THROWS","EXTENDS",
-+"IMPLEMENTS","BRACEOPEN","BRACECLOSE","SQUAREOPEN","SQUARECLOSE","PARENOPEN",
-+"PARENCLOSE","LESSTHAN","GREATERTHAN","AMPERSAND","JAVADOCSTART","JAVADOCEND",
-+"CODEBLOCK","STRING","IDENTIFIER","JAVADOCTAG","JAVADOCTOKEN",
++null,null,null,"SEMI","DOT","DOTDOTDOT","COMMA","STAR","EQUALS","PACKAGE",
++"IMPORT","PUBLIC","PROTECTED","PRIVATE","STATIC","FINAL","ABSTRACT","NATIVE",
++"STRICTFP","SYNCHRONIZED","TRANSIENT","VOLATILE","CLASS","INTERFACE","ENUM",
++"THROWS","EXTENDS","IMPLEMENTS","SUPER","DEFAULT","BRACEOPEN","BRACECLOSE",
++"SQUAREOPEN","SQUARECLOSE","PARENOPEN","PARENCLOSE","LESSTHAN","GREATERTHAN",
++"AMPERSAND","QUERY","AT","JAVADOCSTART","JAVADOCEND","JAVADOCEOL","CODEBLOCK",
++"PARENBLOCK","INTEGER_LITERAL","FLOAT_LITERAL","IDENTIFIER","JAVADOCTAG",
++"JAVADOCTOKEN",
+};
+final static String yyrule[] = {
+"$accept : file",
+"file :",
-+"file : file filepart",
++"$$1 :",
++"file : file $$1 filepart",
+"filepart : package",
+"filepart : import",
+"filepart : javadoc",
+"filepart : class",
++"filepart : enum",
++"filepart : SEMI",
+"package : PACKAGE fullidentifier SEMI",
+"import : IMPORT fullidentifier SEMI",
++"import : IMPORT STATIC fullidentifier SEMI",
+"javadoc : JAVADOCSTART javadocdescription javadoctags JAVADOCEND",
+"javadocdescription : javadoctokens",
+"javadoctokens :",
+"javadoctokens : javadoctokens javadoctoken",
+"javadoctoken : JAVADOCTOKEN",
++"javadoctoken : JAVADOCEOL",
+"javadoctags :",
+"javadoctags : javadoctags javadoctag",
-+"$$1 :",
-+"javadoctag : JAVADOCTAG $$1 javadoctokens",
++"$$2 :",
++"javadoctag : JAVADOCTAG $$2 javadoctokens",
+"fullidentifier : IDENTIFIER",
+"fullidentifier : fullidentifier DOT IDENTIFIER",
+"fullidentifier : fullidentifier DOT STAR",
@@ -404,70 +476,103 @@
+"modifier : VOLATILE",
+"modifier : TRANSIENT",
+"modifier : STRICTFP",
++"modifiers : modifiers modifier",
++"modifiers : modifiers annotation",
+"modifiers :",
-+"modifiers : modifiers modifier",
-+"type : fullidentifier typearguments dimensions",
-+"typearguments :",
-+"typearguments : LESSTHAN typelist GREATERTHAN",
-+"typelist : type",
-+"typelist : typelist COMMA type",
++"annotation : AT IDENTIFIER",
++"annotation : AT IDENTIFIER PARENOPEN annotationarglist PARENCLOSE",
++"annotationarglist :",
++"annotationarglist : annotationarglist COMMA",
++"annotationarglist : annotationarglist fullidentifier",
++"annotationarglist : annotationarglist fullidentifier DOT CLASS",
++"annotationarglist : annotationarglist BRACEOPEN annotationarglist BRACECLOSE",
++"annotationarglist : annotationarglist annotation",
++"type : classtype opt_typearguments dimensions",
++"classtype : fullidentifier opt_typearguments",
++"opt_typearguments :",
++"opt_typearguments : LESSTHAN typearglist GREATERTHAN",
++"typearglist : typearg",
++"typearglist : typearglist COMMA typearg",
++"typearg : type",
++"typearg : QUERY",
++"typearg : QUERY EXTENDS type",
++"typearg : QUERY SUPER type",
++"opt_typeparams :",
++"opt_typeparams : typeparams",
++"typeparams : LESSTHAN typeparamlist GREATERTHAN",
++"typeparamlist : typeparam",
++"typeparamlist : typeparamlist COMMA typeparam",
++"typeparam : IDENTIFIER",
++"typeparam : IDENTIFIER EXTENDS typeboundlist",
++"typeboundlist : type",
++"typeboundlist : typeboundlist AMPERSAND type",
++"enum : enum_definition BRACEOPEN enum_body BRACECLOSE",
++"enum_definition : modifiers ENUM IDENTIFIER opt_implements",
++"enum_body : enum_values",
++"enum_body : enum_values SEMI members",
++"enum_values :",
++"enum_values : enum_value",
++"enum_values : enum_value COMMA enum_values",
++"enum_value : javadoc enum_constructor",
++"enum_value : opt_annotations enum_constructor",
++"enum_constructor : IDENTIFIER",
++"enum_constructor : IDENTIFIER CODEBLOCK",
++"enum_constructor : IDENTIFIER PARENBLOCK",
++"enum_constructor : IDENTIFIER PARENBLOCK CODEBLOCK",
+"class : classdefinition BRACEOPEN members BRACECLOSE",
-+"$$2 :",
-+"classdefinition : $$2 modifiers classorinterface IDENTIFIER typeparams extends implements",
++"classdefinition : modifiers classorinterface IDENTIFIER opt_typeparams opt_extends opt_implements",
+"classorinterface : CLASS",
+"classorinterface : INTERFACE",
-+"typeparams :",
-+"typeparams : LESSTHAN typeparamlist GREATERTHAN",
-+"typeparamlist : typeparam",
-+"typeparamlist : typelist COMMA typeparam",
-+"typeparam : IDENTIFIER typebounds",
-+"typebounds :",
-+"typebounds : EXTENDS typeboundlist",
-+"typeboundlist : type",
-+"typeboundlist : typelist AMPERSAND type",
-+"extends :",
-+"extends : EXTENDS extendslist",
++"classorinterface : AT INTERFACE",
++"opt_extends :",
++"opt_extends : EXTENDS extendslist",
++"extendslist : classtype",
++"extendslist : extendslist COMMA classtype",
++"opt_implements :",
++"opt_implements : IMPLEMENTS implementslist",
++"implementslist : classtype",
++"implementslist : implementslist COMMA classtype",
++"members :",
+"$$3 :",
-+"extendslist : fullidentifier $$3 typearguments",
-+"extendslist : extendslist COMMA fullidentifier",
-+"implements :",
-+"implements : IMPLEMENTS implementslist",
-+"implementslist : fullidentifier",
-+"implementslist : implementslist COMMA fullidentifier",
-+"members :",
-+"$$4 :",
-+"members : members $$4 member",
++"members : members $$3 member",
+"member : javadoc",
+"member : fields",
+"member : method",
+"member : constructor",
-+"member : modifiers CODEBLOCK",
++"member : static_block",
+"member : class",
++"member : enum",
+"member : SEMI",
+"memberend : SEMI",
+"memberend : CODEBLOCK",
++"static_block : modifiers CODEBLOCK",
++"$$4 :",
++"fields : modifiers type arrayidentifier $$4 extrafields memberend",
++"extrafields :",
+"$$5 :",
-+"fields : modifiers type arrayidentifier $$5 extrafields memberend",
-+"extrafields :",
-+"$$6 :",
-+"extrafields : extrafields COMMA $$6 arrayidentifier",
-+"method : modifiers type IDENTIFIER methoddef memberend",
-+"constructor : modifiers IDENTIFIER methoddef memberend",
-+"methoddef : PARENOPEN params PARENCLOSE exceptions",
-+"exceptions :",
-+"exceptions : THROWS exceptionlist",
++"extrafields : extrafields COMMA $$5 arrayidentifier",
++"method : modifiers typeparams type IDENTIFIER methoddef dimensions opt_exceptions memberend",
++"method : modifiers type IDENTIFIER methoddef dimensions opt_exceptions memberend",
++"constructor : modifiers IDENTIFIER methoddef opt_exceptions memberend",
++"methoddef : PARENOPEN opt_params PARENCLOSE",
++"opt_exceptions :",
++"opt_exceptions : THROWS exceptionlist",
+"exceptionlist : fullidentifier",
+"exceptionlist : exceptionlist COMMA fullidentifier",
-+"params :",
-+"params : param paramlist",
-+"paramlist :",
++"opt_params :",
++"opt_params : paramlist",
++"paramlist : param",
+"paramlist : paramlist COMMA param",
-+"param : parammodifiers type arrayidentifier",
-+"parammodifiers :",
-+"parammodifiers : parammodifiers modifier",
++"param : opt_annotations opt_parammodifiers type varargs arrayidentifier",
++"varargs :",
++"varargs : DOTDOTDOT",
++"opt_annotations :",
++"opt_annotations : opt_annotations annotation",
++"opt_parammodifiers :",
++"opt_parammodifiers : opt_parammodifiers modifier",
+};
+
-+//#line 236 "src/grammar/parser.y"
++//#line 333 "src/grammar/parser.y"
+
+private Lexer lexer;
+private Builder builder;
@@ -478,10 +583,21 @@
+private java.util.Set modifiers = new java.util.HashSet();
+private TypeDef fieldType;
+private int line;
++private int column;
++private boolean debugLexer;
+
++private void appendToBuffer(String word) {
++ if (textBuffer.length() > 0) {
++ char lastChar = textBuffer.charAt(textBuffer.length() - 1);
++ if (!Character.isWhitespace(lastChar)) {
++ textBuffer.append(' ');
++ }
++ }
++ textBuffer.append(word);
++}
++
+private String buffer() {
-+ if (textBuffer.length() > 0) textBuffer.deleteCharAt(textBuffer.length() - 1);
-+ String result = textBuffer.toString();
++ String result = textBuffer.toString().trim();
+ textBuffer.setLength(0);
+ return result;
+}
@@ -491,6 +607,14 @@
+ this.builder = builder;
+}
+
++public void setDebugParser(boolean debug) {
++ yydebug = debug;
++}
++
++public void setDebugLexer(boolean debug) {
++ debugLexer = debug;
++}
++
+/**
+ * Parse file. Return true if successful.
+ */
@@ -503,6 +627,9 @@
+ final int result = lexer.lex();
+ yylval = new Value();
+ yylval.sval = lexer.text();
++ if (debugLexer) {
++ System.err.println("Token: " + yyname[result] + " \"" + yylval.sval + "\"");
++ }
+ return result;
+ }
+ catch(IOException e) {
@@ -517,20 +644,22 @@
+private class Value {
+ String sval;
+ int ival;
++ boolean bval;
+ TypeDef type;
+}
+
-+private void makeField(TypeDef field) {
++private void makeField(TypeDef field, String body) {
+ FieldDef fd = new FieldDef();
+ fd.lineNumber = line;
+ fd.modifiers.addAll(modifiers);
+ fd.type = fieldType.name;
+ fd.dimensions = fieldType.dimensions + field.dimensions;
+ fd.name = field.name;
++ fd.body = body;
+ builder.addField(fd);
+}
+
-+//#line 477 "Parser.java"
++//#line 600 "Parser.java"
+//###############################################################
+// method: yylexdebug : check lexer state
+//###############################################################
@@ -568,6 +697,7 @@
+ yychar = -1; //impossible char forces a read
+ yystate=0; //initial state
+ state_push(yystate); //save it
++ val_push(yylval); //save empty value
+ while (true) //until parsing is done, either correctly, or w/error
+ {
+ doaction=true;
@@ -682,228 +812,311 @@
+ switch(yyn)
+ {
+//########## USER-SUPPLIED ACTIONS ##########
-+case 7:
-+//#line 32 "src/grammar/parser.y"
++case 2:
++//#line 28 "src/grammar/parser.y"
++{ line = lexer.getLine(); }
++break;
++case 10:
++//#line 34 "src/grammar/parser.y"
+{ builder.addPackage(val_peek(1).sval); }
+break;
-+case 8:
-+//#line 35 "src/grammar/parser.y"
++case 11:
++//#line 37 "src/grammar/parser.y"
+{ builder.addImport(val_peek(1).sval); }
+break;
-+case 10:
-+//#line 43 "src/grammar/parser.y"
++case 12:
++//#line 38 "src/grammar/parser.y"
++{ builder.addImport(val_peek(1).sval); }
++break;
++case 14:
++//#line 46 "src/grammar/parser.y"
+{
+ builder.addJavaDoc(buffer());
+ }
+break;
-+case 13:
-+//#line 50 "src/grammar/parser.y"
-+{
-+ textBuffer.append(val_peek(0).sval); textBuffer.append(' ');
++case 17:
++//#line 53 "src/grammar/parser.y"
++{
++ appendToBuffer(val_peek(0).sval);
+ }
+break;
-+case 16:
-+//#line 57 "src/grammar/parser.y"
++case 18:
++//#line 56 "src/grammar/parser.y"
++{
++ textBuffer.append('\n');
++ }
++break;
++case 21:
++//#line 63 "src/grammar/parser.y"
+{ line = lexer.getLine(); }
+break;
-+case 17:
-+//#line 58 "src/grammar/parser.y"
++case 22:
++//#line 64 "src/grammar/parser.y"
+{
+ builder.addJavaDocTag(new TagDef(val_peek(2).sval.substring(1), buffer(), line));
+ }
+break;
-+case 18:
-+//#line 67 "src/grammar/parser.y"
++case 23:
++//#line 73 "src/grammar/parser.y"
+{ yyval.sval = val_peek(0).sval; }
+break;
-+case 19:
-+//#line 68 "src/grammar/parser.y"
++case 24:
++//#line 74 "src/grammar/parser.y"
+{ yyval.sval = val_peek(2).sval + '.' + val_peek(0).sval; }
+break;
-+case 20:
-+//#line 69 "src/grammar/parser.y"
++case 25:
++//#line 75 "src/grammar/parser.y"
+{ yyval.sval = val_peek(2).sval + ".*"; }
+break;
-+case 21:
-+//#line 72 "src/grammar/parser.y"
++case 26:
++//#line 78 "src/grammar/parser.y"
+{
-+ yyval.type = new TypeDef(val_peek(1).sval,val_peek(0).ival);
++ yyval.type = new TypeDef(val_peek(1).sval,val_peek(0).ival);
+ }
+break;
-+case 22:
-+//#line 77 "src/grammar/parser.y"
++case 27:
++//#line 83 "src/grammar/parser.y"
+{ yyval.ival = 0; }
+break;
-+case 23:
-+//#line 78 "src/grammar/parser.y"
++case 28:
++//#line 84 "src/grammar/parser.y"
+{
+ yyval.ival = val_peek(2).ival + 1;
+ }
+break;
-+case 24:
-+//#line 84 "src/grammar/parser.y"
++case 29:
++//#line 90 "src/grammar/parser.y"
+{ yyval.sval = "public"; }
+break;
-+case 25:
-+//#line 85 "src/grammar/parser.y"
++case 30:
++//#line 91 "src/grammar/parser.y"
+{ yyval.sval = "protected"; }
+break;
-+case 26:
-+//#line 86 "src/grammar/parser.y"
++case 31:
++//#line 92 "src/grammar/parser.y"
+{ yyval.sval = "private"; }
+break;
-+case 27:
-+//#line 87 "src/grammar/parser.y"
++case 32:
++//#line 93 "src/grammar/parser.y"
+{ yyval.sval = "static"; }
+break;
-+case 28:
-+//#line 88 "src/grammar/parser.y"
++case 33:
++//#line 94 "src/grammar/parser.y"
+{ yyval.sval = "final"; }
+break;
-+case 29:
-+//#line 89 "src/grammar/parser.y"
++case 34:
++//#line 95 "src/grammar/parser.y"
+{ yyval.sval = "abstract"; }
+break;
-+case 30:
-+//#line 90 "src/grammar/parser.y"
++case 35:
++//#line 96 "src/grammar/parser.y"
+{ yyval.sval = "native"; }
+break;
-+case 31:
-+//#line 91 "src/grammar/parser.y"
++case 36:
++//#line 97 "src/grammar/parser.y"
+{ yyval.sval = "synchronized"; }
+break;
-+case 32:
-+//#line 92 "src/grammar/parser.y"
++case 37:
++//#line 98 "src/grammar/parser.y"
+{ yyval.sval = "volatile"; }
+break;
-+case 33:
-+//#line 93 "src/grammar/parser.y"
++case 38:
++//#line 99 "src/grammar/parser.y"
+{ yyval.sval = "transient"; }
+break;
-+case 34:
-+//#line 94 "src/grammar/parser.y"
++case 39:
++//#line 100 "src/grammar/parser.y"
+{ yyval.sval = "strictfp"; }
+break;
-+case 36:
-+//#line 96 "src/grammar/parser.y"
++case 40:
++//#line 103 "src/grammar/parser.y"
+{ modifiers.add(val_peek(0).sval); }
+break;
-+case 37:
-+//#line 102 "src/grammar/parser.y"
++case 51:
++//#line 125 "src/grammar/parser.y"
+{
-+ yyval.type = new TypeDef(val_peek(2).sval,val_peek(0).ival);
++ yyval.type = new TypeDef(val_peek(2).sval,val_peek(0).ival);
+ }
+break;
-+case 42:
-+//#line 116 "src/grammar/parser.y"
-+{
-+ builder.endClass();
++case 52:
++//#line 130 "src/grammar/parser.y"
++{
++ yyval.sval = val_peek(1).sval;
+ }
+break;
-+case 43:
-+//#line 121 "src/grammar/parser.y"
-+{ line = lexer.getLine(); }
++case 70:
++//#line 164 "src/grammar/parser.y"
++{
++ builder.endClass();
++}
+break;
-+case 44:
-+//#line 121 "src/grammar/parser.y"
++case 71:
++//#line 168 "src/grammar/parser.y"
+{
++ cls.lineNumber = line;
++ cls.modifiers.addAll(modifiers); modifiers.clear();
++ cls.name = val_peek(1).sval;
++ cls.type = ClassDef.ENUM;
++ builder.beginClass(cls);
++ cls = new ClassDef();
++}
++break;
++case 83:
++//#line 195 "src/grammar/parser.y"
++{
++ builder.endClass();
++ }
++break;
++case 84:
++//#line 200 "src/grammar/parser.y"
++{
+ cls.lineNumber = line;
+ cls.modifiers.addAll(modifiers); modifiers.clear();
-+ cls.name = val_peek(3).sval;
++ cls.name = val_peek(3).sval;
+ builder.beginClass(cls);
+ cls = new ClassDef();
+ }
+break;
-+case 46:
-+//#line 131 "src/grammar/parser.y"
-+{ cls.isInterface = true; }
++case 85:
++//#line 209 "src/grammar/parser.y"
++{ cls.type = ClassDef.CLASS; }
+break;
-+case 58:
-+//#line 150 "src/grammar/parser.y"
++case 86:
++//#line 210 "src/grammar/parser.y"
++{ cls.type = ClassDef.INTERFACE; }
++break;
++case 87:
++//#line 211 "src/grammar/parser.y"
++{ cls.type = ClassDef.ANNOTATION_TYPE; }
++break;
++case 90:
++//#line 216 "src/grammar/parser.y"
+{ cls.extendz.add(val_peek(0).sval); }
+break;
-+case 60:
-+//#line 151 "src/grammar/parser.y"
++case 91:
++//#line 217 "src/grammar/parser.y"
+{ cls.extendz.add(val_peek(0).sval); }
+break;
-+case 63:
-+//#line 156 "src/grammar/parser.y"
++case 94:
++//#line 222 "src/grammar/parser.y"
+{ cls.implementz.add(val_peek(0).sval); }
+break;
-+case 64:
-+//#line 157 "src/grammar/parser.y"
++case 95:
++//#line 223 "src/grammar/parser.y"
+{ cls.implementz.add(val_peek(0).sval); }
+break;
-+case 66:
-+//#line 159 "src/grammar/parser.y"
++case 97:
++//#line 225 "src/grammar/parser.y"
+{ line = lexer.getLine(); }
+break;
-+case 77:
-+//#line 176 "src/grammar/parser.y"
++case 107:
++//#line 238 "src/grammar/parser.y"
+{
++ yyval.sval = "";
++ }
++break;
++case 108:
++//#line 241 "src/grammar/parser.y"
++{
++ yyval.sval = lexer.getCodeBody();
++ }
++break;
++case 109:
++//#line 246 "src/grammar/parser.y"
++{ modifiers.clear(); }
++break;
++case 110:
++//#line 251 "src/grammar/parser.y"
++{
+ fieldType = val_peek(1).type;
-+ makeField(val_peek(0).type);
++ makeField(val_peek(0).type, lexer.getCodeBody());
+ }
+break;
-+case 78:
-+//#line 180 "src/grammar/parser.y"
++case 111:
++//#line 255 "src/grammar/parser.y"
+{
+ modifiers.clear();
+ }
+break;
-+case 80:
-+//#line 185 "src/grammar/parser.y"
++case 113:
++//#line 260 "src/grammar/parser.y"
+{ line = lexer.getLine(); }
+break;
-+case 81:
-+//#line 185 "src/grammar/parser.y"
++case 114:
++//#line 260 "src/grammar/parser.y"
+{
-+ makeField(val_peek(0).type);
++ makeField(val_peek(0).type, lexer.getCodeBody());
+ }
+break;
-+case 82:
-+//#line 193 "src/grammar/parser.y"
++case 115:
++//#line 268 "src/grammar/parser.y"
+{
-+ mth.lineNumber = line;
++ mth.lineNumber = line;
+ mth.modifiers.addAll(modifiers); modifiers.clear();
-+ mth.returns = val_peek(3).type.name; mth.dimensions = val_peek(3).type.dimensions;
-+ mth.name = val_peek(2).sval;
++ mth.returns = val_peek(5).type.name;
++ mth.dimensions = val_peek(2).ival + val_peek(5).type.dimensions; /* return dimensions can be specified after return type OR after params*/
++ mth.name = val_peek(4).sval;
++ mth.body = val_peek(0).sval;
+ builder.addMethod(mth);
+ mth = new MethodDef();
+ }
+break;
-+case 83:
-+//#line 203 "src/grammar/parser.y"
++case 116:
++//#line 278 "src/grammar/parser.y"
+{
-+ mth.lineNumber = line;
++ mth.lineNumber = line;
++ mth.modifiers.addAll(modifiers); modifiers.clear();
++ mth.returns = val_peek(5).type.name;
++ mth.dimensions = val_peek(2).ival + val_peek(5).type.dimensions; /* return dimensions can be specified after return type OR after params*/
++ mth.name = val_peek(4).sval;
++ mth.body = val_peek(0).sval;
++ builder.addMethod(mth);
++ mth = new MethodDef();
++ }
++break;
++case 117:
++//#line 290 "src/grammar/parser.y"
++{
++ mth.lineNumber = line;
+ mth.modifiers.addAll(modifiers); modifiers.clear();
-+ mth.constructor = true; mth.name = val_peek(2).sval;
++ mth.constructor = true; mth.name = val_peek(3).sval;
++ mth.body = val_peek(0).sval;
+ builder.addMethod(mth);
+ mth = new MethodDef();
+ }
+break;
-+case 87:
-+//#line 216 "src/grammar/parser.y"
++case 121:
++//#line 304 "src/grammar/parser.y"
+{ mth.exceptions.add(val_peek(0).sval); }
+break;
-+case 88:
-+//#line 217 "src/grammar/parser.y"
++case 122:
++//#line 305 "src/grammar/parser.y"
+{ mth.exceptions.add(val_peek(0).sval); }
+break;
-+case 93:
-+//#line 224 "src/grammar/parser.y"
-+{
-+ param.name = val_peek(0).type.name;
-+ param.type = val_peek(1).type.name;
-+ param.dimensions = val_peek(1).type.dimensions + val_peek(0).type.dimensions;
-+ mth.params.add(param); param = new FieldDef();
++case 127:
++//#line 314 "src/grammar/parser.y"
++{
++ param.name = val_peek(0).type.name;
++ param.type = val_peek(2).type.name;
++ param.dimensions = val_peek(2).type.dimensions + val_peek(0).type.dimensions;
++ param.isVarArgs = val_peek(1).bval;
++ mth.params.add(param);
++ param = new FieldDef();
+ }
+break;
-+case 95:
-+//#line 232 "src/grammar/parser.y"
++case 128:
++//#line 324 "src/grammar/parser.y"
++{ yyval.bval = false; }
++break;
++case 129:
++//#line 325 "src/grammar/parser.y"
++{ yyval.bval = true; }
++break;
++case 133:
++//#line 330 "src/grammar/parser.y"
+{ param.modifiers.add(val_peek(0).sval); }
+break;
-+//#line 845 "Parser.java"
++//#line 1052 "Parser.java"
+//########## END OF USER-SUPPLIED ACTIONS ##########
+ }//switch
+ //#### Now let's reduce... ####
@@ -914,7 +1127,7 @@
+ yym = yylhs[yyn]; //select next TERMINAL(on lhs)
+ if (yystate == 0 && yym == 0)//done? 'rest' state and at first TERMINAL
+ {
-+ debug("After reduction, shifting from state 0 to state "+YYFINAL+"");
++ if (yydebug) debug("After reduction, shifting from state 0 to state "+YYFINAL+"");
+ yystate = YYFINAL; //explicitly say we're done
+ state_push(YYFINAL); //and save it
+ val_push(yyval); //also save the semantic value of parsing
@@ -936,7 +1149,7 @@
+ yystate = yytable[yyn]; //get new state
+ else
+ yystate = yydgoto[yym]; //else go to new defred
-+ debug("after reduction, shifting from state "+state_peek(0)+" to state "+yystate+"");
++ if (yydebug) debug("after reduction, shifting from state "+state_peek(0)+" to state "+yystate+"");
+ state_push(yystate); //going again, so push state & val...
+ val_push(yyval); //for next action
+ }
@@ -961,10 +1174,10 @@
+
+}
+//################### END OF CLASS ##############################
---- /dev/null 2005-04-30 15:48:21.320416232 +0200
-+++ JFlexLexer.java 2005-08-15 04:03:07.423543056 +0200
-@@ -0,0 +1,1069 @@
-+/* The following code was generated by JFlex 1.3.5 on 8/14/05 9:06 PM */
+--- /dev/null 2006-09-11 12:55:45.000000000 +0000
++++ JFlexLexer.java 2007-04-11 13:36:40.000000000 +0000
+@@ -0,0 +1,1287 @@
++/* The following code was generated by JFlex 1.4.1 on 4/11/07 1:31 PM */
+
+// class headers
+package com.thoughtworks.qdox.parser.impl;
@@ -972,250 +1185,446 @@
+
+/**
+ * This class is a scanner generated by
-+ * <a href="http://www.jflex.de/">JFlex</a> 1.3.5
-+ * on 8/14/05 9:06 PM from the specification file
-+ * <tt>file:/home/trygvis/dev/org.debian.pkg-java/libqdox-java/src/grammar/lexer.flex</tt>
++ * <a href="http://www.jflex.de/">JFlex</a> 1.4.1
++ * on 4/11/07 1:31 PM from the specification file
++ * <tt>src/grammar/lexer.flex</tt>
+ */
+public class JFlexLexer implements Lexer {
+
+ /** This character denotes the end of file */
-+ final public static int YYEOF = -1;
++ public static final int YYEOF = -1;
+
+ /** initial size of the lookahead buffer */
-+ final private static int YY_BUFFERSIZE = 16384;
++ private static final int ZZ_BUFFERSIZE = 16384;
+
+ /** lexical states */
-+ final public static int MULTILINECOMMENT = 14;
-+ final public static int ASSIGNMENT = 6;
-+ final public static int STRING = 8;
-+ final public static int CODEBLOCK = 4;
-+ final public static int YYINITIAL = 0;
-+ final public static int SINGLELINECOMMENT = 12;
-+ final public static int CHAR = 10;
-+ final public static int JAVADOC = 2;
++ public static final int SINGLELINECOMMENT = 14;
++ public static final int ASSIGNMENT = 8;
++ public static final int STRING = 10;
++ public static final int YYINITIAL = 0;
++ public static final int MULTILINECOMMENT = 16;
++ public static final int PARENBLOCK = 6;
++ public static final int CODEBLOCK = 4;
++ public static final int JAVADOC = 2;
++ public static final int CHAR = 12;
+
+ /**
-+ * YY_LEXSTATE[l] is the state in the DFA for the lexical state l
-+ * YY_LEXSTATE[l+1] is the state in the DFA for the lexical state l
++ * ZZ_LEXSTATE[l] is the state in the DFA for the lexical state l
++ * ZZ_LEXSTATE[l+1] is the state in the DFA for the lexical state l
+ * at the beginning of a line
+ * l is of the form l = 2*k, k a non negative integer
+ */
-+ private final static int YY_LEXSTATE[] = {
-+ 0, 0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8
++ private static final int ZZ_LEXSTATE[] = {
++ 0, 0, 1, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8,
++ 9, 9
+ };
+
+ /**
+ * Translates characters to character classes
+ */
-+ final private static String yycmap_packed =
-+ "\11\0\1\3\1\2\2\0\1\1\22\0\1\3\1\0\1\54\1\0"+
-+ "\1\53\1\0\1\47\1\55\1\43\1\44\1\4\1\0\1\10\1\0"+
-+ "\1\7\1\5\12\53\1\0\1\6\1\45\1\52\1\46\2\0\32\53"+
-+ "\1\41\1\56\1\42\1\0\1\53\1\0\1\12\1\25\1\13\1\27"+
-+ "\1\16\1\32\1\15\1\35\1\17\1\53\1\14\1\26\1\20\1\33"+
-+ "\1\21\1\11\1\53\1\22\1\31\1\23\1\24\1\30\1\37\1\40"+
-+ "\1\34\1\36\1\50\1\0\1\51\uff82\0";
++ private static final String ZZ_CMAP_PACKED =
++ "\11\56\1\4\1\2\1\0\1\0\1\1\16\56\4\0\1\4\1\0"+
++ "\1\57\1\0\1\55\1\0\1\47\1\60\1\43\1\44\1\3\1\0"+
++ "\1\10\1\0\1\7\1\5\12\56\1\0\1\6\1\45\1\54\1\46"+
++ "\1\50\1\51\32\55\1\41\1\61\1\42\1\0\1\55\1\0\1\12"+
++ "\1\25\1\13\1\27\1\16\1\32\1\15\1\35\1\17\1\55\1\14"+
++ "\1\26\1\20\1\33\1\21\1\11\1\55\1\22\1\31\1\23\1\24"+
++ "\1\30\1\37\1\40\1\34\1\36\1\52\1\0\1\53\1\0\41\56"+
++ "\2\0\4\55\4\0\1\55\2\0\1\56\7\0\1\55\4\0\1\55"+
++ "\5\0\27\55\1\0\37\55\1\0\u013f\55\31\0\162\55\4\0\14\55"+
++ "\16\0\5\55\11\0\1\55\21\0\130\56\5\0\23\56\12\0\1\55"+
++ "\13\0\1\55\1\0\3\55\1\0\1\55\1\0\24\55\1\0\54\55"+
++ "\1\0\46\55\1\0\5\55\4\0\202\55\1\0\4\56\3\0\105\55"+
++ "\1\0\46\55\2\0\2\55\6\0\20\55\41\0\46\55\2\0\1\55"+
++ "\7\0\47\55\11\0\21\56\1\0\27\56\1\0\3\56\1\0\1\56"+
++ "\1\0\2\56\1\0\1\56\13\0\33\55\5\0\3\55\15\0\4\56"+
++ "\14\0\6\56\13\0\32\55\5\0\13\55\16\56\7\0\12\56\4\0"+
++ "\2\55\1\56\143\55\1\0\1\55\10\56\1\0\6\56\2\55\2\56"+
++ "\1\0\4\56\2\55\12\56\3\55\2\0\1\55\17\0\1\56\1\55"+
++ "\1\56\36\55\33\56\2\0\3\55\60\0\46\55\13\56\1\55\u014f\0"+
++ "\3\56\66\55\2\0\1\56\1\55\20\56\2\0\1\55\4\56\3\0"+
++ "\12\55\2\56\2\0\12\56\21\0\3\56\1\0\10\55\2\0\2\55"+
++ "\2\0\26\55\1\0\7\55\1\0\1\55\3\0\4\55\2\0\1\56"+
++ "\1\55\7\56\2\0\2\56\2\0\3\56\11\0\1\56\4\0\2\55"+
++ "\1\0\3\55\2\56\2\0\12\56\4\55\15\0\3\56\1\0\6\55"+
++ "\4\0\2\55\2\0\26\55\1\0\7\55\1\0\2\55\1\0\2\55"+
++ "\1\0\2\55\2\0\1\56\1\0\5\56\4\0\2\56\2\0\3\56"+
++ "\13\0\4\55\1\0\1\55\7\0\14\56\3\55\14\0\3\56\1\0"+
++ "\11\55\1\0\3\55\1\0\26\55\1\0\7\55\1\0\2\55\1\0"+
++ "\5\55\2\0\1\56\1\55\10\56\1\0\3\56\1\0\3\56\2\0"+
++ "\1\55\17\0\2\55\2\56\2\0\12\56\1\0\1\55\17\0\3\56"+
++ "\1\0\10\55\2\0\2\55\2\0\26\55\1\0\7\55\1\0\2\55"+
++ "\1\0\5\55\2\0\1\56\1\55\6\56\3\0\2\56\2\0\3\56"+
++ "\10\0\2\56\4\0\2\55\1\0\3\55\4\0\12\56\1\0\1\55"+
++ "\20\0\1\56\1\55\1\0\6\55\3\0\3\55\1\0\4\55\3\0"+
++ "\2\55\1\0\1\55\1\0\2\55\3\0\2\55\3\0\3\55\3\0"+
++ "\10\55\1\0\3\55\4\0\5\56\3\0\3\56\1\0\4\56\11\0"+
++ "\1\56\17\0\11\56\11\0\1\55\7\0\3\56\1\0\10\55\1\0"+
++ "\3\55\1\0\27\55\1\0\12\55\1\0\5\55\4\0\7\56\1\0"+
++ "\3\56\1\0\4\56\7\0\2\56\11\0\2\55\4\0\12\56\22\0"+
++ "\2\56\1\0\10\55\1\0\3\55\1\0\27\55\1\0\12\55\1\0"+
++ "\5\55\2\0\1\56\1\55\7\56\1\0\3\56\1\0\4\56\7\0"+
++ "\2\56\7\0\1\55\1\0\2\55\4\0\12\56\22\0\2\56\1\0"+
++ "\10\55\1\0\3\55\1\0\27\55\1\0\20\55\4\0\6\56\2\0"+
++ "\3\56\1\0\4\56\11\0\1\56\10\0\2\55\4\0\12\56\22\0"+
++ "\2\56\1\0\22\55\3\0\30\55\1\0\11\55\1\0\1\55\2\0"+
++ "\7\55\3\0\1\56\4\0\6\56\1\0\1\56\1\0\10\56\22\0"+
++ "\2\56\15\0\60\55\1\56\2\55\7\56\4\0\10\55\10\56\1\0"+
++ "\12\56\47\0\2\55\1\0\1\55\2\0\2\55\1\0\1\55\2\0"+
++ "\1\55\6\0\4\55\1\0\7\55\1\0\3\55\1\0\1\55\1\0"+
++ "\1\55\2\0\2\55\1\0\4\55\1\56\2\55\6\56\1\0\2\56"+
++ "\1\55\2\0\5\55\1\0\1\55\1\0\6\56\2\0\12\56\2\0"+
++ "\2\55\42\0\1\55\27\0\2\56\6\0\12\56\13\0\1\56\1\0"+
++ "\1\56\1\0\1\56\4\0\2\56\10\55\1\0\42\55\6\0\24\56"+
++ "\1\0\2\56\4\55\4\0\10\56\1\0\44\56\11\0\1\56\71\0"+
++ "\42\55\1\0\5\55\1\0\2\55\1\0\7\56\3\0\4\56\6\0"+
++ "\12\56\6\0\6\55\4\56\106\0\46\55\12\0\51\55\7\0\132\55"+
++ "\5\0\104\55\5\0\122\55\6\0\7\55\1\0\77\55\1\0\1\55"+
++ "\1\0\4\55\2\0\7\55\1\0\1\55\1\0\4\55\2\0\47\55"+
++ "\1\0\1\55\1\0\4\55\2\0\37\55\1\0\1\55\1\0\4\55"+
++ "\2\0\7\55\1\0\1\55\1\0\4\55\2\0\7\55\1\0\7\55"+
++ "\1\0\27\55\1\0\37\55\1\0\1\55\1\0\4\55\2\0\7\55"+
++ "\1\0\47\55\1\0\23\55\16\0\11\56\56\0\125\55\14\0\u026c\55"+
++ "\2\0\10\55\12\0\32\55\5\0\113\55\3\0\3\55\17\0\15\55"+
++ "\1\0\4\55\3\56\13\0\22\55\3\56\13\0\22\55\2\56\14\0"+
++ "\15\55\1\0\3\55\1\0\2\56\14\0\64\55\40\56\3\0\1\55"+
++ "\3\0\2\55\1\56\2\0\12\56\41\0\3\56\2\0\12\56\6\0"+
++ "\130\55\10\0\51\55\1\56\126\0\35\55\3\0\14\56\4\0\14\56"+
++ "\12\0\12\56\36\55\2\0\5\55\u038b\0\154\55\224\0\234\55\4\0"+
++ "\132\55\6\0\26\55\2\0\6\55\2\0\46\55\2\0\6\55\2\0"+
++ "\10\55\1\0\1\55\1\0\1\55\1\0\1\55\1\0\37\55\2\0"+
++ "\65\55\1\0\7\55\1\0\1\55\3\0\3\55\1\0\7\55\3\0"+
++ "\4\55\2\0\6\55\4\0\15\55\5\0\3\55\1\0\7\55\17\0"+
++ "\4\56\32\0\5\56\20\0\2\55\23\0\1\55\13\0\4\56\6\0"+
++ "\6\56\1\0\1\55\15\0\1\55\40\0\22\55\36\0\15\56\4\0"+
++ "\1\56\3\0\6\56\27\0\1\55\4\0\1\55\2\0\12\55\1\0"+
++ "\1\55\3\0\5\55\6\0\1\55\1\0\1\55\1\0\1\55\1\0"+
++ "\4\55\1\0\3\55\1\0\7\55\3\0\3\55\5\0\5\55\26\0"+
++ "\44\55\u0e81\0\3\55\31\0\11\55\6\56\1\0\5\55\2\0\5\55"+
++ "\4\0\126\55\2\0\2\56\2\0\3\55\1\0\137\55\5\0\50\55"+
++ "\4\0\136\55\21\0\30\55\70\0\20\55\u0200\0\u19b6\55\112\0\u51a6\55"+
++ "\132\0\u048d\55\u0773\0\u2ba4\55\u215c\0\u012e\55\2\0\73\55\225\0\7\55"+
++ "\14\0\5\55\5\0\1\55\1\56\12\55\1\0\15\55\1\0\5\55"+
++ "\1\0\1\55\1\0\2\55\1\0\2\55\1\0\154\55\41\0\u016b\55"+
++ "\22\0\100\55\2\0\66\55\50\0\15\55\3\0\20\56\20\0\4\56"+
++ "\17\0\2\55\30\0\3\55\31\0\1\55\6\0\5\55\1\0\207\55"+
++ "\2\0\1\56\4\0\1\55\13\0\12\56\7\0\32\55\4\0\1\55"+
++ "\1\0\32\55\12\0\132\55\3\0\6\55\2\0\6\55\2\0\6\55"+
++ "\2\0\3\55\3\0\2\55\3\0\2\55\22\0\3\56\4\0";
+
+ /**
+ * Translates characters to character classes
+ */
-+ final private static char [] yycmap = yy_unpack_cmap(yycmap_packed);
++ private static final char [] ZZ_CMAP = zzUnpackCMap(ZZ_CMAP_PACKED);
+
+ /**
-+ * Translates a state to a row index in the transition table
++ * Translates DFA states to action switch labels.
+ */
-+ final private static int yy_rowMap [] = {
-+ 0, 47, 94, 141, 188, 235, 282, 329, 376, 423,
-+ 470, 423, 517, 423, 423, 423, 564, 611, 658, 705,
-+ 752, 799, 846, 893, 940, 987, 1034, 423, 423, 423,
-+ 423, 423, 423, 423, 423, 423, 423, 423, 423, 1081,
-+ 1128, 423, 1175, 1222, 1269, 1316, 423, 423, 423, 423,
-+ 423, 423, 1363, 1410, 1457, 1504, 1551, 423, 1598, 1645,
-+ 1692, 1739, 1786, 1833, 1880, 1927, 1974, 2021, 2068, 2115,
-+ 2162, 2209, 2256, 2303, 423, 1175, 423, 1222, 2350, 1081,
-+ 423, 1269, 423, 1551, 2397, 2444, 2491, 2538, 2585, 2632,
-+ 2679, 2726, 2773, 2820, 2867, 2914, 2961, 3008, 3055, 3102,
-+ 3149, 3196, 3243, 3290, 3337, 3384, 3431, 3478, 3525, 3572,
-+ 3619, 3666, 3713, 3760, 3807, 3854, 3901, 3948, 3995, 4042,
-+ 4089, 4136, 4183, 4230, 705, 4277, 4324, 4371, 4418, 4465,
-+ 4512, 4559, 4606, 4653, 4700, 705, 4747, 4794, 4841, 4888,
-+ 705, 4935, 4982, 705, 5029, 5076, 5123, 705, 5170, 705,
-+ 5217, 5264, 705, 705, 705, 5311, 5358, 705, 5405, 5452,
-+ 5499, 5546, 5593, 5640, 5687, 705, 5734, 5781, 5828, 705,
-+ 705, 5875, 705, 5922, 705, 705, 5969, 705, 6016, 6063,
-+ 705
-+ };
++ private static final int [] ZZ_ACTION = zzUnpackAction();
+
++ private static final String ZZ_ACTION_PACKED_0 =
++ "\12\0\2\1\1\2\1\1\1\3\1\4\1\5\14\6"+
++ "\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16"+
++ "\1\17\1\20\1\21\1\22\1\23\1\24\1\25\2\26"+
++ "\3\1\3\27\1\30\1\31\1\1\1\32\1\33\1\34"+
++ "\1\35\1\27\1\36\1\37\1\40\1\41\1\42\1\43"+
++ "\1\44\1\45\2\1\2\46\1\1\1\47\1\50\1\0"+
++ "\22\6\1\0\1\51\1\0\1\52\2\53\3\0\1\47"+
++ "\1\0\1\54\1\55\1\56\1\57\1\60\1\61\24\6"+
++ "\1\0\1\62\1\60\1\63\6\6\1\64\23\6\1\65"+
++ "\12\6\1\66\1\6\1\67\4\6\1\70\2\6\1\71"+
++ "\3\6\1\72\2\6\1\73\2\6\1\74\1\75\1\76"+
++ "\2\6\1\77\3\6\1\22\4\6\1\100\3\6\1\101"+
++ "\1\102\1\6\1\103\1\6\1\104\1\105\1\6\1\106"+
++ "\2\6\1\107";
++
++ private static int [] zzUnpackAction() {
++ int [] result = new int[222];
++ int offset = 0;
++ offset = zzUnpackAction(ZZ_ACTION_PACKED_0, offset, result);
++ return result;
++ }
++
++ private static int zzUnpackAction(String packed, int offset, int [] result) {
++ int i = 0; /* index in packed string */
++ int j = offset; /* index in unpacked array */
++ int l = packed.length();
++ while (i < l) {
++ int count = packed.charAt(i++);
++ int value = packed.charAt(i++);
++ do result[j++] = value; while (--count > 0);
++ }
++ return j;
++ }
++
++
+ /**
-+ * The packed transition table of the DFA (part 0)
++ * Translates a state to a row index in the transition table
+ */
-+ final private static String yy_packed0 =
-+ "\1\12\1\13\2\12\1\14\1\15\1\16\1\17\1\20"+
-+ "\1\21\1\22\1\23\2\24\1\25\1\26\3\24\1\27"+
-+ "\4\24\1\30\1\31\1\32\1\33\5\24\1\34\1\35"+
-+ "\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
-+ "\1\24\1\46\1\47\1\12\1\50\1\51\1\52\1\12"+
-+ "\1\53\53\50\1\51\1\52\1\54\1\55\52\50\1\12"+
-+ "\1\13\3\12\1\56\42\12\1\57\1\60\2\12\1\46"+
-+ "\1\47\2\12\1\13\3\12\1\56\1\61\1\12\1\62"+
-+ "\30\12\1\57\1\63\1\57\1\63\3\12\1\57\1\63"+
-+ "\2\12\1\46\1\47\2\12\1\13\52\12\1\64\1\12"+
-+ "\1\65\1\12\1\13\53\12\1\64\1\66\1\12\1\67"+
-+ "\1\64\55\12\1\13\2\12\1\70\52\12\61\0\1\12"+
-+ "\60\0\1\71\1\72\62\0\1\24\1\73\7\24\1\74"+
-+ "\1\24\1\75\14\24\12\0\1\24\14\0\14\24\1\76"+
-+ "\13\24\12\0\1\24\14\0\15\24\1\77\12\24\12\0"+
-+ "\1\24\14\0\30\24\12\0\1\24\14\0\27\24\1\100"+
-+ "\12\0\1\24\14\0\7\24\1\101\12\24\1\102\5\24"+
-+ "\12\0\1\24\14\0\11\24\1\103\12\24\1\104\3\24"+
-+ "\12\0\1\24\14\0\10\24\1\105\17\24\12\0\1\24"+
-+ "\14\0\12\24\1\106\10\24\1\107\4\24\12\0\1\24"+
-+ "\14\0\6\24\1\110\21\24\12\0\1\24\14\0\1\24"+
-+ "\1\111\26\24\12\0\1\24\3\0\1\50\3\0\1\112"+
-+ "\52\50\2\0\1\52\54\0\1\50\3\113\1\114\1\115"+
-+ "\51\50\3\0\1\116\1\117\52\0\1\120\3\121\1\122"+
-+ "\1\115\51\120\4\0\1\123\1\72\125\0\1\12\1\0"+
-+ "\1\12\55\0\2\12\2\0\1\64\61\0\1\64\55\0"+
-+ "\1\124\63\0\2\24\1\125\25\24\12\0\1\24\14\0"+
-+ "\6\24\1\126\1\24\1\127\17\24\12\0\1\24\14\0"+
-+ "\14\24\1\130\13\24\12\0\1\24\14\0\20\24\1\131"+
-+ "\7\24\12\0\1\24\14\0\1\24\1\132\26\24\12\0"+
-+ "\1\24\14\0\12\24\1\133\15\24\12\0\1\24\14\0"+
-+ "\1\134\27\24\12\0\1\24\14\0\12\24\1\135\15\24"+
-+ "\12\0\1\24\14\0\1\24\1\136\26\24\12\0\1\24"+
-+ "\14\0\11\24\1\137\16\24\12\0\1\24\14\0\15\24"+
-+ "\1\140\12\24\12\0\1\24\14\0\1\24\1\141\7\24"+
-+ "\1\142\16\24\12\0\1\24\14\0\22\24\1\143\5\24"+
-+ "\12\0\1\24\14\0\22\24\1\144\5\24\12\0\1\24"+
-+ "\14\0\12\24\1\145\15\24\12\0\1\24\3\0\1\50"+
-+ "\3\113\1\112\1\0\51\50\4\121\1\117\1\0\51\121"+
-+ "\11\0\3\24\1\146\24\24\12\0\1\24\14\0\17\24"+
-+ "\1\147\10\24\12\0\1\24\14\0\12\24\1\150\15\24"+
-+ "\12\0\1\24\14\0\15\24\1\151\12\24\12\0\1\24"+
-+ "\14\0\12\24\1\152\15\24\12\0\1\24\14\0\20\24"+
-+ "\1\153\7\24\12\0\1\24\14\0\5\24\1\154\22\24"+
-+ "\12\0\1\24\14\0\10\24\1\155\4\24\1\156\12\24"+
-+ "\12\0\1\24\14\0\5\24\1\157\22\24\12\0\1\24"+
-+ "\14\0\22\24\1\160\5\24\12\0\1\24\14\0\10\24"+
-+ "\1\161\17\24\12\0\1\24\14\0\1\24\1\162\26\24"+
-+ "\12\0\1\24\14\0\12\24\1\163\15\24\12\0\1\24"+
-+ "\14\0\6\24\1\164\21\24\12\0\1\24\14\0\2\24"+
-+ "\1\165\25\24\12\0\1\24\14\0\1\24\1\166\26\24"+
-+ "\12\0\1\24\14\0\6\24\1\167\21\24\12\0\1\24"+
-+ "\14\0\1\24\1\170\26\24\12\0\1\24\14\0\1\24"+
-+ "\1\171\26\24\12\0\1\24\14\0\5\24\1\172\22\24"+
-+ "\12\0\1\24\14\0\6\24\1\173\21\24\12\0\1\24"+
-+ "\14\0\11\24\1\174\16\24\12\0\1\24\14\0\20\24"+
-+ "\1\175\7\24\12\0\1\24\14\0\22\24\1\176\5\24"+
-+ "\12\0\1\24\14\0\11\24\1\177\16\24\12\0\1\24"+
-+ "\14\0\5\24\1\200\22\24\12\0\1\24\14\0\11\24"+
-+ "\1\201\16\24\12\0\1\24\14\0\20\24\1\202\7\24"+
-+ "\12\0\1\24\14\0\26\24\1\203\1\24\12\0\1\24"+
-+ "\14\0\12\24\1\204\15\24\12\0\1\24\14\0\6\24"+
-+ "\1\205\21\24\12\0\1\24\14\0\2\24\1\206\25\24"+
-+ "\12\0\1\24\14\0\24\24\1\207\3\24\12\0\1\24"+
-+ "\14\0\15\24\1\210\12\24\12\0\1\24\14\0\17\24"+
-+ "\1\211\10\24\12\0\1\24\14\0\4\24\1\212\23\24"+
-+ "\12\0\1\24\14\0\12\24\1\213\15\24\12\0\1\24"+
-+ "\14\0\2\24\1\214\25\24\12\0\1\24\14\0\2\24"+
-+ "\1\215\25\24\12\0\1\24\14\0\1\24\1\216\26\24"+
-+ "\12\0\1\24\14\0\16\24\1\217\11\24\12\0\1\24"+
-+ "\14\0\12\24\1\220\15\24\12\0\1\24\14\0\7\24"+
-+ "\1\221\20\24\12\0\1\24\14\0\21\24\1\222\6\24"+
-+ "\12\0\1\24\14\0\6\24\1\223\21\24\12\0\1\24"+
-+ "\14\0\20\24\1\224\7\24\12\0\1\24\14\0\6\24"+
-+ "\1\225\21\24\12\0\1\24\14\0\2\24\1\226\25\24"+
-+ "\12\0\1\24\14\0\12\24\1\227\15\24\12\0\1\24"+
-+ "\14\0\11\24\1\230\16\24\12\0\1\24\14\0\5\24"+
-+ "\1\231\22\24\12\0\1\24\14\0\5\24\1\232\22\24"+
-+ "\12\0\1\24\14\0\5\24\1\233\22\24\12\0\1\24"+
-+ "\14\0\12\24\1\234\15\24\12\0\1\24\14\0\2\24"+
-+ "\1\235\25\24\12\0\1\24\14\0\20\24\1\236\7\24"+
-+ "\12\0\1\24\14\0\5\24\1\237\22\24\12\0\1\24"+
-+ "\14\0\1\24\1\240\26\24\12\0\1\24\14\0\5\24"+
-+ "\1\241\22\24\12\0\1\24\14\0\15\24\1\242\12\24"+
-+ "\12\0\1\24\14\0\21\24\1\243\6\24\12\0\1\24"+
-+ "\14\0\10\24\1\244\17\24\12\0\1\24\14\0\5\24"+
-+ "\1\245\22\24\12\0\1\24\14\0\12\24\1\246\15\24"+
-+ "\12\0\1\24\14\0\22\24\1\247\5\24\12\0\1\24"+
-+ "\14\0\2\24\1\250\25\24\12\0\1\24\14\0\22\24"+
-+ "\1\251\5\24\12\0\1\24\14\0\5\24\1\252\22\24"+
-+ "\12\0\1\24\14\0\1\253\27\24\12\0\1\24\14\0"+
-+ "\22\24\1\254\5\24\12\0\1\24\14\0\16\24\1\255"+
-+ "\11\24\12\0\1\24\14\0\12\24\1\256\15\24\12\0"+
-+ "\1\24\14\0\5\24\1\257\22\24\12\0\1\24\14\0"+
-+ "\12\24\1\260\15\24\12\0\1\24\14\0\6\24\1\261"+
-+ "\21\24\12\0\1\24\14\0\20\24\1\262\7\24\12\0"+
-+ "\1\24\14\0\25\24\1\263\2\24\12\0\1\24\14\0"+
-+ "\5\24\1\264\22\24\12\0\1\24\14\0\16\24\1\265"+
-+ "\11\24\12\0\1\24\3\0";
++ private static final int [] ZZ_ROWMAP = zzUnpackRowMap();
+
++ private static final String ZZ_ROWMAP_PACKED_0 =
++ "\0\0\0\62\0\144\0\226\0\310\0\372\0\u012c\0\u015e"+
++ "\0\u0190\0\u01c2\0\u01f4\0\u0226\0\u01f4\0\u0258\0\u01f4\0\u028a"+
++ "\0\u01f4\0\u02bc\0\u02ee\0\u0320\0\u0352\0\u0384\0\u03b6\0\u03e8"+
++ "\0\u041a\0\u044c\0\u047e\0\u04b0\0\u04e2\0\u01f4\0\u01f4\0\u01f4"+
++ "\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u01f4"+
++ "\0\u01f4\0\u01f4\0\u01f4\0\u0514\0\u0546\0\u01f4\0\u0578\0\u05aa"+
++ "\0\u05dc\0\u01f4\0\u060e\0\u0640\0\u01f4\0\u01f4\0\u0640\0\u01f4"+
++ "\0\u01f4\0\u01f4\0\u01f4\0\u0672\0\u01f4\0\u01f4\0\u01f4\0\u01f4"+
++ "\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u06a4\0\u06d6\0\u0708\0\u01f4"+
++ "\0\u073a\0\u076c\0\u01f4\0\u079e\0\u07d0\0\u0802\0\u0834\0\u0866"+
++ "\0\u0898\0\u08ca\0\u08fc\0\u092e\0\u0960\0\u0992\0\u09c4\0\u09f6"+
++ "\0\u0a28\0\u0a5a\0\u0a8c\0\u0abe\0\u0af0\0\u0b22\0\u0b54\0\u01f4"+
++ "\0\u0578\0\u01f4\0\u0514\0\u01f4\0\u05aa\0\u0b86\0\u05dc\0\u0bb8"+
++ "\0\u0bea\0\u01f4\0\u01f4\0\u01f4\0\u01f4\0\u0c1c\0\u01f4\0\u0c4e"+
++ "\0\u0c80\0\u0cb2\0\u0ce4\0\u0d16\0\u0d48\0\u0d7a\0\u0dac\0\u0dde"+
++ "\0\u0e10\0\u0e42\0\u0e74\0\u0ea6\0\u0ed8\0\u0f0a\0\u0f3c\0\u0f6e"+
++ "\0\u0fa0\0\u0fd2\0\u1004\0\u1036\0\u01f4\0\u1068\0\u01f4\0\u109a"+
++ "\0\u10cc\0\u10fe\0\u1130\0\u1162\0\u1194\0\u0352\0\u11c6\0\u11f8"+
++ "\0\u122a\0\u125c\0\u128e\0\u12c0\0\u12f2\0\u1324\0\u1356\0\u1388"+
++ "\0\u13ba\0\u13ec\0\u141e\0\u1450\0\u1482\0\u14b4\0\u14e6\0\u1518"+
++ "\0\u154a\0\u0352\0\u157c\0\u15ae\0\u15e0\0\u1612\0\u1644\0\u1676"+
++ "\0\u16a8\0\u16da\0\u170c\0\u173e\0\u0352\0\u1770\0\u0352\0\u17a2"+
++ "\0\u17d4\0\u1806\0\u1838\0\u0352\0\u186a\0\u189c\0\u0352\0\u18ce"+
++ "\0\u1900\0\u1932\0\u0352\0\u1964\0\u1996\0\u0352\0\u19c8\0\u19fa"+
++ "\0\u0352\0\u0352\0\u0352\0\u1a2c\0\u1a5e\0\u0352\0\u1a90\0\u1ac2"+
++ "\0\u1af4\0\u0352\0\u1b26\0\u1b58\0\u1b8a\0\u1bbc\0\u0352\0\u1bee"+
++ "\0\u1c20\0\u1c52\0\u0352\0\u0352\0\u1c84\0\u0352\0\u1cb6\0\u0352"+
++ "\0\u0352\0\u1ce8\0\u0352\0\u1d1a\0\u1d4c\0\u0352";
++
++ private static int [] zzUnpackRowMap() {
++ int [] result = new int[222];
++ int offset = 0;
++ offset = zzUnpackRowMap(ZZ_ROWMAP_PACKED_0, offset, result);
++ return result;
++ }
++
++ private static int zzUnpackRowMap(String packed, int offset, int [] result) {
++ int i = 0; /* index in packed string */
++ int j = offset; /* index in unpacked array */
++ int l = packed.length();
++ while (i < l) {
++ int high = packed.charAt(i++) << 16;
++ result[j++] = high | packed.charAt(i++);
++ }
++ return j;
++ }
++
+ /**
+ * The transition table of the DFA
+ */
-+ final private static int yytrans [] = yy_unpack();
++ private static final int [] ZZ_TRANS = zzUnpackTrans();
+
++ private static final String ZZ_TRANS_PACKED_0 =
++ "\1\13\1\14\1\13\1\15\1\13\1\16\1\17\1\20"+
++ "\1\21\1\22\1\23\1\24\2\25\1\26\1\27\3\25"+
++ "\1\30\3\25\1\31\1\32\1\33\1\34\1\35\5\25"+
++ "\1\36\1\37\1\40\1\41\1\42\1\43\1\44\1\45"+
++ "\1\46\1\47\1\50\1\51\1\25\1\13\1\52\1\53"+
++ "\1\13\1\54\1\55\1\56\1\57\1\13\56\54\1\55"+
++ "\1\56\1\60\1\61\55\54\1\62\1\63\3\62\1\64"+
++ "\44\62\1\65\1\66\3\62\1\52\1\53\1\62\1\13"+
++ "\1\14\3\13\1\67\35\13\1\70\1\71\12\13\1\52"+
++ "\1\53\1\13\1\62\1\63\3\62\1\64\1\72\1\62"+
++ "\1\73\22\62\1\74\5\62\1\75\1\76\1\77\1\100"+
++ "\1\101\1\102\3\62\1\65\1\103\3\62\1\52\1\53"+
++ "\1\62\1\13\1\14\55\13\1\104\1\13\1\105\1\13"+
++ "\1\14\56\13\1\104\1\106\1\13\1\107\1\110\60\13"+
++ "\1\14\1\13\1\111\56\13\64\0\1\13\62\0\1\112"+
++ "\1\0\1\113\63\0\1\114\63\0\1\25\1\115\7\25"+
++ "\1\116\1\25\1\117\14\25\14\0\2\25\14\0\14\25"+
++ "\1\120\13\25\14\0\2\25\14\0\15\25\1\121\12\25"+
++ "\14\0\2\25\14\0\30\25\14\0\2\25\14\0\22\25"+
++ "\1\122\4\25\1\123\14\0\2\25\14\0\7\25\1\124"+
++ "\12\25\1\125\5\25\14\0\2\25\14\0\11\25\1\126"+
++ "\12\25\1\127\3\25\14\0\2\25\14\0\5\25\1\130"+
++ "\22\25\14\0\2\25\14\0\10\25\1\131\17\25\14\0"+
++ "\2\25\14\0\12\25\1\132\1\133\7\25\1\134\4\25"+
++ "\14\0\2\25\14\0\6\25\1\135\21\25\14\0\2\25"+
++ "\14\0\1\25\1\136\26\25\14\0\2\25\3\0\1\54"+
++ "\2\0\1\137\1\0\55\54\2\0\1\56\57\0\1\54"+
++ "\2\140\1\141\1\140\1\142\54\54\1\143\2\144\1\145"+
++ "\1\144\1\142\54\143\3\0\1\146\1\147\57\0\1\62"+
++ "\62\0\1\150\1\0\1\113\72\0\1\151\122\0\1\152"+
++ "\1\0\1\153\60\0\1\154\1\153\2\0\1\110\64\0"+
++ "\1\155\57\0\1\156\65\0\1\157\63\0\2\25\1\160"+
++ "\25\25\14\0\2\25\14\0\6\25\1\161\1\25\1\162"+
++ "\17\25\14\0\2\25\14\0\14\25\1\163\13\25\14\0"+
++ "\2\25\14\0\20\25\1\164\7\25\14\0\2\25\14\0"+
++ "\1\25\1\165\26\25\14\0\2\25\14\0\13\25\1\166"+
++ "\14\25\14\0\2\25\14\0\12\25\1\167\15\25\14\0"+
++ "\2\25\14\0\1\170\27\25\14\0\2\25\14\0\12\25"+
++ "\1\171\15\25\14\0\2\25\14\0\1\25\1\172\26\25"+
++ "\14\0\2\25\14\0\11\25\1\173\16\25\14\0\2\25"+
++ "\14\0\21\25\1\174\6\25\14\0\2\25\14\0\15\25"+
++ "\1\175\12\25\14\0\2\25\14\0\1\25\1\176\7\25"+
++ "\1\177\16\25\14\0\2\25\14\0\1\200\27\25\14\0"+
++ "\2\25\14\0\22\25\1\201\5\25\14\0\2\25\14\0"+
++ "\22\25\1\202\5\25\14\0\2\25\14\0\12\25\1\203"+
++ "\15\25\14\0\2\25\3\0\1\54\2\140\1\137\1\140"+
++ "\1\0\54\54\3\144\1\146\1\144\1\0\54\144\3\0"+
++ "\1\204\115\0\1\205\25\0\1\206\1\0\1\207\65\0"+
++ "\3\25\1\210\24\25\14\0\2\25\14\0\17\25\1\211"+
++ "\10\25\14\0\2\25\14\0\12\25\1\212\15\25\14\0"+
++ "\2\25\14\0\15\25\1\213\12\25\14\0\2\25\14\0"+
++ "\12\25\1\214\15\25\14\0\2\25\14\0\20\25\1\215"+
++ "\7\25\14\0\2\25\14\0\7\25\1\216\20\25\14\0"+
++ "\2\25\14\0\5\25\1\217\22\25\14\0\2\25\14\0"+
++ "\10\25\1\220\4\25\1\221\12\25\14\0\2\25\14\0"+
++ "\5\25\1\222\22\25\14\0\2\25\14\0\22\25\1\223"+
++ "\5\25\14\0\2\25\14\0\10\25\1\224\17\25\14\0"+
++ "\2\25\14\0\1\25\1\225\26\25\14\0\2\25\14\0"+
++ "\1\25\1\226\26\25\14\0\2\25\14\0\12\25\1\227"+
++ "\15\25\14\0\2\25\14\0\6\25\1\230\21\25\14\0"+
++ "\2\25\14\0\5\25\1\231\22\25\14\0\2\25\14\0"+
++ "\2\25\1\232\25\25\14\0\2\25\14\0\1\25\1\233"+
++ "\26\25\14\0\2\25\14\0\6\25\1\234\21\25\14\0"+
++ "\2\25\10\0\1\207\57\0\1\206\67\0\1\25\1\235"+
++ "\26\25\14\0\2\25\14\0\1\25\1\236\26\25\14\0"+
++ "\2\25\14\0\5\25\1\237\22\25\14\0\2\25\14\0"+
++ "\6\25\1\240\21\25\14\0\2\25\14\0\11\25\1\241"+
++ "\16\25\14\0\2\25\14\0\20\25\1\242\7\25\14\0"+
++ "\2\25\14\0\22\25\1\243\5\25\14\0\2\25\14\0"+
++ "\11\25\1\244\16\25\14\0\2\25\14\0\5\25\1\245"+
++ "\22\25\14\0\2\25\14\0\11\25\1\246\16\25\14\0"+
++ "\2\25\14\0\20\25\1\247\7\25\14\0\2\25\14\0"+
++ "\26\25\1\250\1\25\14\0\2\25\14\0\13\25\1\251"+
++ "\14\25\14\0\2\25\14\0\12\25\1\252\15\25\14\0"+
++ "\2\25\14\0\6\25\1\253\21\25\14\0\2\25\14\0"+
++ "\2\25\1\254\25\25\14\0\2\25\14\0\11\25\1\255"+
++ "\16\25\14\0\2\25\14\0\24\25\1\256\3\25\14\0"+
++ "\2\25\14\0\15\25\1\257\12\25\14\0\2\25\14\0"+
++ "\17\25\1\260\10\25\14\0\2\25\14\0\4\25\1\261"+
++ "\23\25\14\0\2\25\14\0\12\25\1\262\15\25\14\0"+
++ "\2\25\14\0\2\25\1\263\25\25\14\0\2\25\14\0"+
++ "\2\25\1\264\25\25\14\0\2\25\14\0\1\25\1\265"+
++ "\26\25\14\0\2\25\14\0\16\25\1\266\11\25\14\0"+
++ "\2\25\14\0\12\25\1\267\15\25\14\0\2\25\14\0"+
++ "\7\25\1\270\20\25\14\0\2\25\14\0\21\25\1\271"+
++ "\6\25\14\0\2\25\14\0\6\25\1\272\21\25\14\0"+
++ "\2\25\14\0\20\25\1\273\7\25\14\0\2\25\14\0"+
++ "\15\25\1\274\12\25\14\0\2\25\14\0\6\25\1\275"+
++ "\21\25\14\0\2\25\14\0\2\25\1\276\25\25\14\0"+
++ "\2\25\14\0\12\25\1\277\15\25\14\0\2\25\14\0"+
++ "\11\25\1\300\16\25\14\0\2\25\14\0\5\25\1\301"+
++ "\22\25\14\0\2\25\14\0\5\25\1\302\22\25\14\0"+
++ "\2\25\14\0\5\25\1\303\22\25\14\0\2\25\14\0"+
++ "\12\25\1\304\15\25\14\0\2\25\14\0\2\25\1\305"+
++ "\25\25\14\0\2\25\14\0\20\25\1\306\7\25\14\0"+
++ "\2\25\14\0\5\25\1\307\22\25\14\0\2\25\14\0"+
++ "\1\25\1\310\26\25\14\0\2\25\14\0\5\25\1\311"+
++ "\22\25\14\0\2\25\14\0\12\25\1\312\15\25\14\0"+
++ "\2\25\14\0\15\25\1\313\12\25\14\0\2\25\14\0"+
++ "\21\25\1\314\6\25\14\0\2\25\14\0\10\25\1\315"+
++ "\17\25\14\0\2\25\14\0\5\25\1\316\22\25\14\0"+
++ "\2\25\14\0\12\25\1\317\15\25\14\0\2\25\14\0"+
++ "\22\25\1\320\5\25\14\0\2\25\14\0\2\25\1\321"+
++ "\25\25\14\0\2\25\14\0\22\25\1\322\5\25\14\0"+
++ "\2\25\14\0\5\25\1\323\22\25\14\0\2\25\14\0"+
++ "\1\324\27\25\14\0\2\25\14\0\22\25\1\325\5\25"+
++ "\14\0\2\25\14\0\16\25\1\326\11\25\14\0\2\25"+
++ "\14\0\12\25\1\327\15\25\14\0\2\25\14\0\5\25"+
++ "\1\330\22\25\14\0\2\25\14\0\12\25\1\331\15\25"+
++ "\14\0\2\25\14\0\6\25\1\332\21\25\14\0\2\25"+
++ "\14\0\20\25\1\333\7\25\14\0\2\25\14\0\25\25"+
++ "\1\334\2\25\14\0\2\25\14\0\5\25\1\335\22\25"+
++ "\14\0\2\25\14\0\16\25\1\336\11\25\14\0\2\25"+
++ "\3\0";
+
++ private static int [] zzUnpackTrans() {
++ int [] result = new int[7550];
++ int offset = 0;
++ offset = zzUnpackTrans(ZZ_TRANS_PACKED_0, offset, result);
++ return result;
++ }
++
++ private static int zzUnpackTrans(String packed, int offset, int [] result) {
++ int i = 0; /* index in packed string */
++ int j = offset; /* index in unpacked array */
++ int l = packed.length();
++ while (i < l) {
++ int count = packed.charAt(i++);
++ int value = packed.charAt(i++);
++ value--;
++ do result[j++] = value; while (--count > 0);
++ }
++ return j;
++ }
++
++
+ /* error codes */
-+ final private static int YY_UNKNOWN_ERROR = 0;
-+ final private static int YY_ILLEGAL_STATE = 1;
-+ final private static int YY_NO_MATCH = 2;
-+ final private static int YY_PUSHBACK_2BIG = 3;
++ private static final int ZZ_UNKNOWN_ERROR = 0;
++ private static final int ZZ_NO_MATCH = 1;
++ private static final int ZZ_PUSHBACK_2BIG = 2;
+
+ /* error messages for the codes above */
-+ final private static String YY_ERROR_MSG[] = {
++ private static final String ZZ_ERROR_MSG[] = {
+ "Unkown internal scanner error",
-+ "Internal error: unknown state",
+ "Error: could not match input",
+ "Error: pushback value was too large"
+ };
+
+ /**
-+ * YY_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
++ * ZZ_ATTRIBUTE[aState] contains the attributes of state <code>aState</code>
+ */
-+ private final static byte YY_ATTRIBUTE[] = {
-+ 1, 0, 0, 0, 0, 0, 0, 0, 0, 9, 1, 9, 1, 9, 9, 9,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 9, 9, 9, 9, 9,
-+ 9, 9, 9, 9, 9, 9, 9, 1, 1, 9, 3, 1, 3, 1, 9, 9,
-+ 9, 9, 9, 9, 1, 1, 1, 1, 1, 9, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 13, 2, 9, 0, 2, 5,
-+ 13, 2, 9, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
-+ 1, 1, 1, 1, 1
-+ };
++ private static final int [] ZZ_ATTRIBUTE = zzUnpackAttribute();
+
++ private static final String ZZ_ATTRIBUTE_PACKED_0 =
++ "\12\0\1\11\1\1\1\11\1\1\1\11\1\1\1\11"+
++ "\14\1\16\11\2\1\1\11\2\3\1\1\1\11\2\1"+
++ "\2\11\1\1\4\11\1\1\10\11\3\1\1\11\2\1"+
++ "\1\11\1\0\22\1\1\2\1\15\1\2\1\11\1\5"+
++ "\1\15\2\2\1\0\1\1\1\0\4\11\1\1\1\11"+
++ "\24\1\1\0\1\11\1\1\1\11\127\1";
++
++ private static int [] zzUnpackAttribute() {
++ int [] result = new int[222];
++ int offset = 0;
++ offset = zzUnpackAttribute(ZZ_ATTRIBUTE_PACKED_0, offset, result);
++ return result;
++ }
++
++ private static int zzUnpackAttribute(String packed, int offset, int [] result) {
++ int i = 0; /* index in packed string */
++ int j = offset; /* index in unpacked array */
++ int l = packed.length();
++ while (i < l) {
++ int count = packed.charAt(i++);
++ int value = packed.charAt(i++);
++ do result[j++] = value; while (--count > 0);
++ }
++ return j;
++ }
++
+ /** the input device */
-+ private java.io.Reader yy_reader;
++ private java.io.Reader zzReader;
+
+ /** the current state of the DFA */
-+ private int yy_state;
++ private int zzState;
+
+ /** the current lexical state */
-+ private int yy_lexical_state = YYINITIAL;
++ private int zzLexicalState = YYINITIAL;
+
+ /** this buffer contains the current text to be matched and is
+ the source of the yytext() string */
-+ private char yy_buffer[] = new char[YY_BUFFERSIZE];
++ private char zzBuffer[] = new char[ZZ_BUFFERSIZE];
+
+ /** the textposition at the last accepting state */
-+ private int yy_markedPos;
++ private int zzMarkedPos;
+
+ /** the textposition at the last state to be included in yytext */
-+ private int yy_pushbackPos;
++ private int zzPushbackPos;
+
+ /** the current text position in the buffer */
-+ private int yy_currentPos;
++ private int zzCurrentPos;
+
+ /** startRead marks the beginning of the yytext() string in the buffer */
-+ private int yy_startRead;
++ private int zzStartRead;
+
+ /** endRead marks the last character in the buffer, that has been read
+ from input */
-+ private int yy_endRead;
++ private int zzEndRead;
+
+ /** number of newlines encountered up to the start of the matched text */
+ private int yyline;
@@ -1227,28 +1636,38 @@
+ * the number of characters from the last newline up to the start of the
+ * matched text
+ */
-+ private int yycolumn;
++ private int yycolumn;
+
+ /**
-+ * yy_atBOL == true <=> the scanner is currently at the beginning of a line
++ * zzAtBOL == true <=> the scanner is currently at the beginning of a line
+ */
-+ private boolean yy_atBOL = true;
++ private boolean zzAtBOL = true;
+
-+ /** yy_atEOF == true <=> the scanner is at the EOF */
-+ private boolean yy_atEOF;
++ /** zzAtEOF == true <=> the scanner is at the EOF */
++ private boolean zzAtEOF;
+
+ /** denotes if the user-EOF-code has already been executed */
-+ private boolean yy_eof_done;
++ private boolean zzEOFDone;
+
+ /* user code: */
+
+ private int classDepth = 0;
-+ private int braceDepth = 0;
++ private int nestingDepth = 0;
++ private int assignmentDepth = 0;
+ private int stateDepth = 0;
+ private int[] stateStack = new int[10];
+ private boolean javaDocNewLine;
+ private boolean javaDocStartedContent;
++ private StringBuffer codeBody = new StringBuffer(8192);
++ private boolean newMode;
++ private boolean enumMode;
++ private boolean appendingToCodeBody;
++ private boolean shouldCaptureCodeBody;
+
++ public void setCaptureCodeBody(boolean shouldCaptureCodeBody) {
++ this.shouldCaptureCodeBody = shouldCaptureCodeBody;
++ }
++
+ public String text() {
+ return yytext();
+ }
@@ -1273,6 +1692,12 @@
+ private void popState() {
+ yybegin(stateStack[--stateDepth]);
+ }
++
++ public String getCodeBody(){
++ String s = codeBody.toString();
++ codeBody = new StringBuffer(8192);
++ return s;
++ }
+
+
+
@@ -1283,7 +1708,7 @@
+ * @param in the java.io.Reader to read input from.
+ */
+ public JFlexLexer(java.io.Reader in) {
-+ this.yy_reader = in;
++ this.zzReader = in;
+ }
+
+ /**
@@ -1297,47 +1722,16 @@
+ }
+
+ /**
-+ * Unpacks the split, compressed DFA transition table.
-+ *
-+ * @return the unpacked transition table
-+ */
-+ private static int [] yy_unpack() {
-+ int [] trans = new int[6110];
-+ int offset = 0;
-+ offset = yy_unpack(yy_packed0, offset, trans);
-+ return trans;
-+ }
-+
-+ /**
-+ * Unpacks the compressed DFA transition table.
-+ *
-+ * @param packed the packed transition table
-+ * @return the index of the last entry
-+ */
-+ private static int yy_unpack(String packed, int offset, int [] trans) {
-+ int i = 0; /* index in packed string */
-+ int j = offset; /* index in unpacked array */
-+ int l = packed.length();
-+ while (i < l) {
-+ int count = packed.charAt(i++);
-+ int value = packed.charAt(i++);
-+ value--;
-+ do trans[j++] = value; while (--count > 0);
-+ }
-+ return j;
-+ }
-+
-+ /**
+ * Unpacks the compressed character translation table.
+ *
+ * @param packed the packed character translation table
+ * @return the unpacked character translation table
+ */
-+ private static char [] yy_unpack_cmap(String packed) {
++ private static char [] zzUnpackCMap(String packed) {
+ char [] map = new char[0x10000];
+ int i = 0; /* index in packed string */
+ int j = 0; /* index in unpacked array */
-+ while (i < 132) {
++ while (i < 1758) {
+ int count = packed.charAt(i++);
+ char value = packed.charAt(i++);
+ do map[j++] = value; while (--count > 0);
@@ -1351,85 +1745,84 @@
+ *
+ * @return <code>false</code>, iff there was new input.
+ *
-+ * @exception IOException if any I/O-Error occurs
++ * @exception java.io.IOException if any I/O-Error occurs
+ */
-+ private boolean yy_refill() throws java.io.IOException {
++ private boolean zzRefill() throws java.io.IOException {
+
+ /* first: make room (if you can) */
-+ if (yy_startRead > 0) {
-+ System.arraycopy(yy_buffer, yy_startRead,
-+ yy_buffer, 0,
-+ yy_endRead-yy_startRead);
++ if (zzStartRead > 0) {
++ System.arraycopy(zzBuffer, zzStartRead,
++ zzBuffer, 0,
++ zzEndRead-zzStartRead);
+
+ /* translate stored positions */
-+ yy_endRead-= yy_startRead;
-+ yy_currentPos-= yy_startRead;
-+ yy_markedPos-= yy_startRead;
-+ yy_pushbackPos-= yy_startRead;
-+ yy_startRead = 0;
++ zzEndRead-= zzStartRead;
++ zzCurrentPos-= zzStartRead;
++ zzMarkedPos-= zzStartRead;
++ zzPushbackPos-= zzStartRead;
++ zzStartRead = 0;
+ }
+
+ /* is the buffer big enough? */
-+ if (yy_currentPos >= yy_buffer.length) {
++ if (zzCurrentPos >= zzBuffer.length) {
+ /* if not: blow it up */
-+ char newBuffer[] = new char[yy_currentPos*2];
-+ System.arraycopy(yy_buffer, 0, newBuffer, 0, yy_buffer.length);
-+ yy_buffer = newBuffer;
++ char newBuffer[] = new char[zzCurrentPos*2];
++ System.arraycopy(zzBuffer, 0, newBuffer, 0, zzBuffer.length);
++ zzBuffer = newBuffer;
+ }
+
+ /* finally: fill the buffer with new input */
-+ int numRead = yy_reader.read(yy_buffer, yy_endRead,
-+ yy_buffer.length-yy_endRead);
++ int numRead = zzReader.read(zzBuffer, zzEndRead,
++ zzBuffer.length-zzEndRead);
+
+ if (numRead < 0) {
+ return true;
+ }
+ else {
-+ yy_endRead+= numRead;
++ zzEndRead+= numRead;
+ return false;
+ }
+ }
+
-+
++
+ /**
+ * Closes the input stream.
+ */
-+ final public void yyclose() throws java.io.IOException {
-+ yy_atEOF = true; /* indicate end of file */
-+ yy_endRead = yy_startRead; /* invalidate buffer */
++ public final void yyclose() throws java.io.IOException {
++ zzAtEOF = true; /* indicate end of file */
++ zzEndRead = zzStartRead; /* invalidate buffer */
+
-+ if (yy_reader != null)
-+ yy_reader.close();
++ if (zzReader != null)
++ zzReader.close();
+ }
+
+
+ /**
-+ * Closes the current stream, and resets the
-+ * scanner to read from a new input stream.
++ * Resets the scanner to read from a new input stream.
++ * Does not close the old reader.
+ *
+ * All internal variables are reset, the old input stream
+ * <b>cannot</b> be reused (internal buffer is discarded and lost).
-+ * Lexical state is set to <tt>YY_INITIAL</tt>.
++ * Lexical state is set to <tt>ZZ_INITIAL</tt>.
+ *
+ * @param reader the new input stream
+ */
-+ final public void yyreset(java.io.Reader reader) throws java.io.IOException {
-+ yyclose();
-+ yy_reader = reader;
-+ yy_atBOL = true;
-+ yy_atEOF = false;
-+ yy_endRead = yy_startRead = 0;
-+ yy_currentPos = yy_markedPos = yy_pushbackPos = 0;
++ public final void yyreset(java.io.Reader reader) {
++ zzReader = reader;
++ zzAtBOL = true;
++ zzAtEOF = false;
++ zzEndRead = zzStartRead = 0;
++ zzCurrentPos = zzMarkedPos = zzPushbackPos = 0;
+ yyline = yychar = yycolumn = 0;
-+ yy_lexical_state = YYINITIAL;
++ zzLexicalState = YYINITIAL;
+ }
+
+
+ /**
+ * Returns the current lexical state.
+ */
-+ final public int yystate() {
-+ return yy_lexical_state;
++ public final int yystate() {
++ return zzLexicalState;
+ }
+
+
@@ -1438,16 +1831,16 @@
+ *
+ * @param newState the new lexical state
+ */
-+ final public void yybegin(int newState) {
-+ yy_lexical_state = newState;
++ public final void yybegin(int newState) {
++ zzLexicalState = newState;
+ }
+
+
+ /**
+ * Returns the text matched by the current regular expression.
+ */
-+ final public String yytext() {
-+ return new String( yy_buffer, yy_startRead, yy_markedPos-yy_startRead );
++ public final String yytext() {
++ return new String( zzBuffer, zzStartRead, zzMarkedPos-zzStartRead );
+ }
+
+
@@ -1462,16 +1855,16 @@
+ *
+ * @return the character at position pos
+ */
-+ final public char yycharat(int pos) {
-+ return yy_buffer[yy_startRead+pos];
++ public final char yycharat(int pos) {
++ return zzBuffer[zzStartRead+pos];
+ }
+
+
+ /**
+ * Returns the length of the matched text region.
+ */
-+ final public int yylength() {
-+ return yy_markedPos-yy_startRead;
++ public final int yylength() {
++ return zzMarkedPos-zzStartRead;
+ }
+
+
@@ -1489,13 +1882,13 @@
+ *
+ * @param errorCode the code of the errormessage to display
+ */
-+ private void yy_ScanError(int errorCode) {
++ private void zzScanError(int errorCode) {
+ String message;
+ try {
-+ message = YY_ERROR_MSG[errorCode];
++ message = ZZ_ERROR_MSG[errorCode];
+ }
+ catch (ArrayIndexOutOfBoundsException e) {
-+ message = YY_ERROR_MSG[YY_UNKNOWN_ERROR];
++ message = ZZ_ERROR_MSG[ZZ_UNKNOWN_ERROR];
+ }
+
+ throw new Error(message);
@@ -1510,11 +1903,11 @@
+ * @param number the number of characters to be read again.
+ * This number must not be greater than yylength()!
+ */
-+ private void yypushback(int number) {
++ public void yypushback(int number) {
+ if ( number > yylength() )
-+ yy_ScanError(YY_PUSHBACK_2BIG);
++ zzScanError(ZZ_PUSHBACK_2BIG);
+
-+ yy_markedPos -= number;
++ zzMarkedPos -= number;
+ }
+
+
@@ -1522,9 +1915,9 @@
+ * Contains user EOF-code, which will be executed exactly once,
+ * when the end of file is reached
+ */
-+ private void yy_do_eof() throws java.io.IOException {
-+ if (!yy_eof_done) {
-+ yy_eof_done = true;
++ private void zzDoEOF() throws java.io.IOException {
++ if (!zzEOFDone) {
++ zzEOFDone = true;
+ yyclose();
+ }
+ }
@@ -1535,33 +1928,32 @@
+ * the end of input is encountered or an I/O-Error occurs.
+ *
+ * @return the next token
-+ * @exception IOException if any I/O-Error occurs
++ * @exception java.io.IOException if any I/O-Error occurs
+ */
+ public int yylex() throws java.io.IOException {
-+ int yy_input;
-+ int yy_action;
++ int zzInput;
++ int zzAction;
+
+ // cached fields:
-+ int yy_currentPos_l;
-+ int yy_startRead_l;
-+ int yy_markedPos_l;
-+ int yy_endRead_l = yy_endRead;
-+ char [] yy_buffer_l = yy_buffer;
-+ char [] yycmap_l = yycmap;
++ int zzCurrentPosL;
++ int zzMarkedPosL;
++ int zzEndReadL = zzEndRead;
++ char [] zzBufferL = zzBuffer;
++ char [] zzCMapL = ZZ_CMAP;
+
-+ int [] yytrans_l = yytrans;
-+ int [] yy_rowMap_l = yy_rowMap;
-+ byte [] yy_attr_l = YY_ATTRIBUTE;
-+ int yy_pushbackPos_l = yy_pushbackPos = -1;
-+ boolean yy_was_pushback;
++ int [] zzTransL = ZZ_TRANS;
++ int [] zzRowMapL = ZZ_ROWMAP;
++ int [] zzAttrL = ZZ_ATTRIBUTE;
++ int zzPushbackPosL = zzPushbackPos = -1;
++ boolean zzWasPushback;
+
+ while (true) {
-+ yy_markedPos_l = yy_markedPos;
++ zzMarkedPosL = zzMarkedPos;
+
-+ boolean yy_r = false;
-+ for (yy_currentPos_l = yy_startRead; yy_currentPos_l < yy_markedPos_l;
-+ yy_currentPos_l++) {
-+ switch (yy_buffer_l[yy_currentPos_l]) {
++ boolean zzR = false;
++ for (zzCurrentPosL = zzStartRead; zzCurrentPosL < zzMarkedPosL;
++ zzCurrentPosL++) {
++ switch (zzBufferL[zzCurrentPosL]) {
+ case '\u000B':
+ case '\u000C':
+ case '\u0085':
@@ -1569,463 +1961,502 @@
+ case '\u2029':
+ yyline++;
+ yycolumn = 0;
-+ yy_r = false;
++ zzR = false;
+ break;
+ case '\r':
+ yyline++;
+ yycolumn = 0;
-+ yy_r = true;
++ zzR = true;
+ break;
+ case '\n':
-+ if (yy_r)
-+ yy_r = false;
++ if (zzR)
++ zzR = false;
+ else {
+ yyline++;
+ yycolumn = 0;
+ }
+ break;
+ default:
-+ yy_r = false;
++ zzR = false;
+ yycolumn++;
+ }
+ }
+
-+ if (yy_r) {
++ if (zzR) {
+ // peek one character ahead if it is \n (if we have counted one line too much)
-+ boolean yy_peek;
-+ if (yy_markedPos_l < yy_endRead_l)
-+ yy_peek = yy_buffer_l[yy_markedPos_l] == '\n';
-+ else if (yy_atEOF)
-+ yy_peek = false;
++ boolean zzPeek;
++ if (zzMarkedPosL < zzEndReadL)
++ zzPeek = zzBufferL[zzMarkedPosL] == '\n';
++ else if (zzAtEOF)
++ zzPeek = false;
+ else {
-+ boolean eof = yy_refill();
-+ yy_markedPos_l = yy_markedPos;
-+ yy_buffer_l = yy_buffer;
++ boolean eof = zzRefill();
++ zzEndReadL = zzEndRead;
++ zzMarkedPosL = zzMarkedPos;
++ zzBufferL = zzBuffer;
+ if (eof)
-+ yy_peek = false;
++ zzPeek = false;
+ else
-+ yy_peek = yy_buffer_l[yy_markedPos_l] == '\n';
++ zzPeek = zzBufferL[zzMarkedPosL] == '\n';
+ }
-+ if (yy_peek) yyline--;
++ if (zzPeek) yyline--;
+ }
-+ if (yy_markedPos_l > yy_startRead) {
-+ switch (yy_buffer_l[yy_markedPos_l-1]) {
++ if (zzMarkedPosL > zzStartRead) {
++ switch (zzBufferL[zzMarkedPosL-1]) {
+ case '\n':
+ case '\u000B':
+ case '\u000C':
+ case '\u0085':
+ case '\u2028':
+ case '\u2029':
-+ yy_atBOL = true;
++ zzAtBOL = true;
+ break;
+ case '\r':
-+ if (yy_markedPos_l < yy_endRead_l)
-+ yy_atBOL = yy_buffer_l[yy_markedPos_l] != '\n';
-+ else if (yy_atEOF)
-+ yy_atBOL = false;
++ if (zzMarkedPosL < zzEndReadL)
++ zzAtBOL = zzBufferL[zzMarkedPosL] != '\n';
++ else if (zzAtEOF)
++ zzAtBOL = false;
+ else {
-+ boolean eof = yy_refill();
-+ yy_markedPos_l = yy_markedPos;
-+ yy_buffer_l = yy_buffer;
++ boolean eof = zzRefill();
++ zzMarkedPosL = zzMarkedPos;
++ zzEndReadL = zzEndRead;
++ zzBufferL = zzBuffer;
+ if (eof)
-+ yy_atBOL = false;
++ zzAtBOL = false;
+ else
-+ yy_atBOL = yy_buffer_l[yy_markedPos_l] != '\n';
++ zzAtBOL = zzBufferL[zzMarkedPosL] != '\n';
+ }
+ break;
+ default:
-+ yy_atBOL = false;
++ zzAtBOL = false;
+ }
+ }
-+ yy_action = -1;
++ zzAction = -1;
+
-+ yy_startRead_l = yy_currentPos_l = yy_currentPos =
-+ yy_startRead = yy_markedPos_l;
-+
-+ if (yy_atBOL)
-+ yy_state = YY_LEXSTATE[yy_lexical_state+1];
++ zzCurrentPosL = zzCurrentPos = zzStartRead = zzMarkedPosL;
++
++ if (zzAtBOL)
++ zzState = ZZ_LEXSTATE[zzLexicalState+1];
+ else
-+ yy_state = YY_LEXSTATE[yy_lexical_state];
++ zzState = ZZ_LEXSTATE[zzLexicalState];
+
-+ yy_was_pushback = false;
++ zzWasPushback = false;
+
-+ yy_forAction: {
++ zzForAction: {
+ while (true) {
-+
-+ if (yy_currentPos_l < yy_endRead_l)
-+ yy_input = yy_buffer_l[yy_currentPos_l++];
-+ else if (yy_atEOF) {
-+ yy_input = YYEOF;
-+ break yy_forAction;
++
++ if (zzCurrentPosL < zzEndReadL)
++ zzInput = zzBufferL[zzCurrentPosL++];
++ else if (zzAtEOF) {
++ zzInput = YYEOF;
++ break zzForAction;
+ }
+ else {
+ // store back cached positions
-+ yy_currentPos = yy_currentPos_l;
-+ yy_markedPos = yy_markedPos_l;
-+ yy_pushbackPos = yy_pushbackPos_l;
-+ boolean eof = yy_refill();
++ zzCurrentPos = zzCurrentPosL;
++ zzMarkedPos = zzMarkedPosL;
++ zzPushbackPos = zzPushbackPosL;
++ boolean eof = zzRefill();
+ // get translated positions and possibly new buffer
-+ yy_currentPos_l = yy_currentPos;
-+ yy_markedPos_l = yy_markedPos;
-+ yy_buffer_l = yy_buffer;
-+ yy_endRead_l = yy_endRead;
-+ yy_pushbackPos_l = yy_pushbackPos;
++ zzCurrentPosL = zzCurrentPos;
++ zzMarkedPosL = zzMarkedPos;
++ zzBufferL = zzBuffer;
++ zzEndReadL = zzEndRead;
++ zzPushbackPosL = zzPushbackPos;
+ if (eof) {
-+ yy_input = YYEOF;
-+ break yy_forAction;
++ zzInput = YYEOF;
++ break zzForAction;
+ }
+ else {
-+ yy_input = yy_buffer_l[yy_currentPos_l++];
++ zzInput = zzBufferL[zzCurrentPosL++];
+ }
+ }
-+ int yy_next = yytrans_l[ yy_rowMap_l[yy_state] + yycmap_l[yy_input] ];
-+ if (yy_next == -1) break yy_forAction;
-+ yy_state = yy_next;
++ int zzNext = zzTransL[ zzRowMapL[zzState] + zzCMapL[zzInput] ];
++ if (zzNext == -1) break zzForAction;
++ zzState = zzNext;
+
-+ int yy_attributes = yy_attr_l[yy_state];
-+ if ( (yy_attributes & 2) == 2 )
-+ yy_pushbackPos_l = yy_currentPos_l;
++ int zzAttributes = zzAttrL[zzState];
++ if ( (zzAttributes & 2) == 2 )
++ zzPushbackPosL = zzCurrentPosL;
+
-+ if ( (yy_attributes & 1) == 1 ) {
-+ yy_was_pushback = (yy_attributes & 4) == 4;
-+ yy_action = yy_state;
-+ yy_markedPos_l = yy_currentPos_l;
-+ if ( (yy_attributes & 8) == 8 ) break yy_forAction;
++ if ( (zzAttributes & 1) == 1 ) {
++ zzWasPushback = (zzAttributes & 4) == 4;
++ zzAction = zzState;
++ zzMarkedPosL = zzCurrentPosL;
++ if ( (zzAttributes & 8) == 8 ) break zzForAction;
+ }
+
+ }
+ }
+
+ // store back cached position
-+ yy_markedPos = yy_markedPos_l;
-+ if (yy_was_pushback)
-+ yy_markedPos = yy_pushbackPos_l;
++ zzMarkedPos = zzMarkedPosL;
++ if (zzWasPushback)
++ zzMarkedPos = zzPushbackPosL;
+
-+ switch (yy_action) {
-+
-+ case 83:
-+ { pushState(JAVADOC); javaDocNewLine = true; return Parser.JAVADOCSTART; }
-+ case 182: break;
-+ case 34:
-+ {
-+ braceDepth++;
-+ if (braceDepth == classDepth + 1) {
-+ pushState(CODEBLOCK);
-+ }
-+ else {
-+ return Parser.BRACEOPEN;
-+ }
-+ }
-+ case 183: break;
-+ case 180:
-+ { return Parser.SYNCHRONIZED; }
-+ case 184: break;
-+ case 32:
-+ { return Parser.GREATERTHAN; }
-+ case 185: break;
-+ case 28:
-+ { return Parser.SQUARECLOSE; }
-+ case 186: break;
++ switch (zzAction < 0 ? zzAction : ZZ_ACTION[zzAction]) {
++ case 51:
++ { if (appendingToCodeBody) { codeBody.append("/**/"); }
++ }
++ case 72: break;
++ case 43:
++ { /* ignore */
++ }
++ case 73: break;
++ case 64:
++ { return Parser.ABSTRACT;
++ }
++ case 74: break;
+ case 37:
-+ { pushState(STRING); }
-+ case 187: break;
-+ case 174:
-+ {
-+ classDepth++;
-+ return Parser.INTERFACE;
-+ }
-+ case 188: break;
-+ case 35:
-+ {
-+ braceDepth--;
-+ if (braceDepth == classDepth - 1) {
-+ classDepth--;
++ { if (appendingToCodeBody) { codeBody.append('"'); } popState();
++ }
++ case 75: break;
++ case 27:
++ { nestingDepth--;
++ if (nestingDepth == classDepth) {
++ popState();
++ return Parser.PARENBLOCK;
+ }
-+ return Parser.BRACECLOSE;
-+ }
-+ case 189: break;
++ }
++ case 76: break;
++ case 67:
++ { return Parser.PROTECTED;
++ }
++ case 77: break;
++ case 55:
++ { return Parser.FINAL;
++ }
++ case 78: break;
+ case 9:
-+ case 10:
++ { nestingDepth++;
++ if (enumMode) {
++ pushState(PARENBLOCK);
++ } else {
++ return Parser.PARENOPEN;
++ }
++ }
++ case 79: break;
+ case 12:
-+ case 42:
-+ case 43:
-+ case 44:
-+ case 45:
-+ case 52:
-+ case 53:
-+ case 55:
-+ { }
-+ case 190: break;
-+ case 39:
-+ {
-+ int token = Parser.JAVADOCTOKEN;
-+ if (javaDocNewLine && yycharat(0) == '@') {
-+ token = Parser.JAVADOCTAG;
++ { return Parser.GREATERTHAN;
++ }
++ case 80: break;
++ case 41:
++ { return Parser.JAVADOCTOKEN;
++ }
++ case 81: break;
++ case 20:
++ { if (appendingToCodeBody) { codeBody.append('\''); } pushState(CHAR);
++ }
++ case 82: break;
++ case 70:
++ { return Parser.IMPLEMENTS;
++ }
++ case 83: break;
++ case 2:
++ { return Parser.STAR;
++ }
++ case 84: break;
++ case 50:
++ { codeBody.append("new");
++ if (nestingDepth==assignmentDepth) {
++ newMode=true;
+ }
-+ javaDocNewLine = false;
-+ return token;
-+ }
-+ case 191: break;
-+ case 76:
-+ { popState(); return Parser.JAVADOCEND; }
-+ case 192: break;
++ }
++ case 85: break;
+ case 49:
-+ {
-+ if (braceDepth == classDepth) {
++ { return Parser.DOTDOTDOT;
++ }
++ case 86: break;
++ case 56:
++ { return Parser.PUBLIC;
++ }
++ case 87: break;
++ case 33:
++ { codeBody.append(')');
++ nestingDepth--;
++ if (nestingDepth < assignmentDepth) {
++ appendingToCodeBody = true;
+ popState();
-+ return Parser.COMMA;
-+ }
-+ }
-+ case 193: break;
-+ case 152:
-+ { return Parser.NATIVE; }
-+ case 194: break;
-+ case 149:
-+ { return Parser.STATIC; }
-+ case 195: break;
-+ case 147:
-+ { return Parser.THROWS; }
-+ case 196: break;
-+ case 143:
-+ { return Parser.IMPORT; }
-+ case 197: break;
-+ case 140:
-+ { return Parser.PUBLIC; }
-+ case 198: break;
-+ case 15:
-+ { return Parser.COMMA; }
-+ case 199: break;
-+ case 135:
-+ { return Parser.FINAL; }
-+ case 200: break;
-+ case 177:
-+ { return Parser.IMPLEMENTS; }
-+ case 201: break;
-+ case 175:
-+ { return Parser.TRANSIENT; }
-+ case 202: break;
-+ case 172:
-+ { return Parser.PROTECTED; }
-+ case 203: break;
-+ case 33:
-+ { return Parser.AMPERSAND; }
-+ case 204: break;
-+ case 30:
-+ { return Parser.PARENCLOSE; }
-+ case 205: break;
-+ case 29:
-+ { return Parser.PARENOPEN; }
-+ case 206: break;
-+ case 0:
-+ case 16:
-+ case 17:
-+ case 18:
-+ case 19:
-+ case 20:
-+ case 21:
-+ case 22:
++ return Parser.PARENCLOSE;
++ }
++ }
++ case 88: break;
++ case 36:
++ { codeBody.append('}'); nestingDepth--;
++ }
++ case 89: break;
++ case 71:
++ { return Parser.SYNCHRONIZED;
++ }
++ case 90: break;
++ case 68:
++ { classDepth++;
++ return Parser.INTERFACE;
++ }
++ case 91: break;
++ case 66:
++ { return Parser.STRICTFP;
++ }
++ case 92: break;
++ case 59:
++ { return Parser.STATIC;
++ }
++ case 93: break;
++ case 34:
++ { codeBody.append('<');
++ if (newMode) {
++ nestingDepth++;
++ }
++ }
++ case 94: break;
++ case 42:
++ { popState(); return Parser.JAVADOCEND;
++ }
++ case 95: break;
+ case 23:
-+ case 24:
-+ case 25:
++ { codeBody.append(yytext());
++ }
++ case 96: break;
+ case 26:
-+ case 58:
-+ case 59:
-+ case 60:
-+ case 61:
++ { nestingDepth++;
++ }
++ case 97: break;
+ case 62:
++ { return Parser.PRIVATE;
++ }
++ case 98: break;
++ case 24:
++ { codeBody.append('{'); nestingDepth++;
++ }
++ case 99: break;
++ case 13:
++ { return Parser.AMPERSAND;
++ }
++ case 100: break;
++ case 18:
++ { assignmentDepth = nestingDepth;
++ appendingToCodeBody = true;
++ pushState(ASSIGNMENT);
++ }
++ case 101: break;
+ case 63:
-+ case 64:
-+ case 65:
-+ case 66:
-+ case 67:
-+ case 68:
-+ case 69:
-+ case 70:
-+ case 71:
-+ case 72:
-+ case 84:
-+ case 85:
-+ case 86:
-+ case 87:
-+ case 88:
-+ case 89:
-+ case 90:
-+ case 91:
-+ case 92:
-+ case 93:
-+ case 94:
-+ case 95:
-+ case 96:
-+ case 97:
-+ case 98:
-+ case 99:
-+ case 100:
-+ case 101:
-+ case 102:
-+ case 103:
-+ case 104:
-+ case 105:
-+ case 106:
-+ case 107:
-+ case 108:
-+ case 109:
-+ case 110:
-+ case 111:
-+ case 112:
-+ case 113:
-+ case 114:
-+ case 115:
-+ case 116:
-+ case 117:
-+ case 118:
-+ case 119:
-+ case 120:
-+ case 121:
-+ case 122:
-+ case 123:
-+ case 125:
-+ case 126:
-+ case 127:
-+ case 128:
-+ case 129:
-+ case 130:
-+ case 131:
-+ case 132:
-+ case 133:
-+ case 134:
-+ case 136:
-+ case 137:
-+ case 138:
-+ case 139:
-+ case 141:
-+ case 142:
-+ case 144:
-+ case 145:
-+ case 146:
-+ case 148:
-+ case 150:
-+ case 151:
-+ case 155:
-+ case 156:
-+ case 158:
-+ case 159:
-+ case 160:
-+ case 161:
-+ case 162:
-+ case 163:
-+ case 164:
-+ case 166:
-+ case 167:
-+ case 168:
-+ case 171:
-+ case 173:
-+ case 176:
-+ case 178:
-+ case 179:
-+ { return Parser.IDENTIFIER; }
-+ case 207: break;
-+ case 11:
-+ { return Parser.STAR; }
-+ case 208: break;
-+ case 13:
-+ { return Parser.SEMI; }
-+ case 209: break;
++ { return Parser.EXTENDS;
++ }
++ case 102: break;
++ case 48:
++ { pushState(JAVADOC);
++ javaDocNewLine = true;
++ return Parser.JAVADOCSTART;
++ }
++ case 103: break;
++ case 45:
++ { if (appendingToCodeBody) { codeBody.append("\\\\"); }
++ }
++ case 104: break;
++ case 47:
++ { if (appendingToCodeBody) { codeBody.append("*/"); } popState();
++ }
++ case 105: break;
++ case 7:
++ { nestingDepth++; return Parser.SQUAREOPEN;
++ }
++ case 106: break;
++ case 44:
++ { if (appendingToCodeBody) { codeBody.append("\\\""); }
++ }
++ case 107: break;
++ case 6:
++ { return Parser.IDENTIFIER;
++ }
++ case 108: break;
++ case 58:
++ { return Parser.THROWS;
++ }
++ case 109: break;
++ case 1:
++ { if (appendingToCodeBody) { codeBody.append(yytext()); }
++ }
++ case 110: break;
+ case 14:
-+ { return Parser.DOT; }
-+ case 210: break;
-+ case 27:
-+ { return Parser.SQUAREOPEN; }
-+ case 211: break;
-+ case 79:
-+ case 80:
-+ { /* ignore */ }
-+ case 212: break;
-+ case 47:
-+ {
-+ braceDepth--;
-+ if (braceDepth == classDepth) {
++ { return Parser.QUERY;
++ }
++ case 111: break;
++ case 10:
++ { nestingDepth--; return Parser.PARENCLOSE;
++ }
++ case 112: break;
++ case 39:
++ { if (appendingToCodeBody) { codeBody.append("/*"); } pushState(MULTILINECOMMENT);
++ }
++ case 113: break;
++ case 32:
++ { codeBody.append('('); nestingDepth++;
++ }
++ case 114: break;
++ case 60:
++ { return Parser.NATIVE;
++ }
++ case 115: break;
++ case 40:
++ { if (appendingToCodeBody) { codeBody.append("//"); } pushState(SINGLELINECOMMENT);
++ }
++ case 116: break;
++ case 25:
++ { nestingDepth--;
++ if (nestingDepth == classDepth) {
+ popState();
++ appendingToCodeBody = false;
+ return Parser.CODEBLOCK;
++ } else {
++ codeBody.append('}');
+ }
-+ }
-+ case 213: break;
-+ case 124:
-+ {
-+ classDepth++;
-+ return Parser.CLASS;
-+ }
-+ case 214: break;
-+ case 40:
-+ case 41:
-+ { javaDocNewLine = true; }
-+ case 215: break;
-+ case 170:
-+ { return Parser.STRICTFP; }
-+ case 216: break;
-+ case 169:
-+ { return Parser.VOLATILE; }
-+ case 217: break;
-+ case 165:
-+ { return Parser.ABSTRACT; }
-+ case 218: break;
-+ case 157:
-+ { return Parser.EXTENDS; }
-+ case 219: break;
-+ case 154:
-+ { return Parser.PRIVATE; }
-+ case 220: break;
-+ case 153:
-+ { return Parser.PACKAGE; }
-+ case 221: break;
++ }
++ case 117: break;
++ case 22:
++ { javaDocNewLine = true; return Parser.JAVADOCEOL;
++ }
++ case 118: break;
++ case 5:
++ { return Parser.COMMA;
++ }
++ case 119: break;
++ case 52:
++ { classDepth++;
++ enumMode = true;
++ return Parser.ENUM;
++ }
++ case 120: break;
++ case 61:
++ { return Parser.PACKAGE;
++ }
++ case 121: break;
++ case 65:
++ { return Parser.VOLATILE;
++ }
++ case 122: break;
++ case 15:
++ { return Parser.AT;
++ }
++ case 123: break;
++ case 17:
++ { nestingDepth--;
++ if (nestingDepth == classDepth - 1) {
++ classDepth--;
++ }
++ return Parser.BRACECLOSE;
++ }
++ case 124: break;
++ case 35:
++ { codeBody.append('>');
++ if (newMode) {
++ nestingDepth--;
++ if (nestingDepth==assignmentDepth) {
++ newMode=false;
++ }
++ }
++ }
++ case 125: break;
+ case 31:
-+ { return Parser.LESSTHAN; }
-+ case 222: break;
-+ case 38:
-+ { pushState(CHAR); }
-+ case 223: break;
-+ case 46:
-+ { braceDepth++; }
-+ case 224: break;
-+ case 50:
-+ { braceDepth--; }
-+ case 225: break;
-+ case 51:
-+ { popState(); }
-+ case 226: break;
++ { codeBody.append(']'); nestingDepth--;
++ }
++ case 126: break;
++ case 21:
++ { int token = Parser.JAVADOCTOKEN;
++ if (javaDocNewLine && yycharat(0) == '@') {
++ token = Parser.JAVADOCTAG;
++ }
++ javaDocNewLine = false;
++ return token;
++ }
++ case 127: break;
++ case 8:
++ { nestingDepth--; return Parser.SQUARECLOSE;
++ }
++ case 128: break;
++ case 57:
++ { return Parser.IMPORT;
++ }
++ case 129: break;
+ case 54:
-+ { popState(); }
-+ case 227: break;
-+ case 36:
-+ { pushState(ASSIGNMENT); }
-+ case 228: break;
-+ case 48:
-+ {
-+ if (braceDepth == classDepth) {
++ { return Parser.SUPER;
++ }
++ case 130: break;
++ case 28:
++ { if (nestingDepth == assignmentDepth) {
++ appendingToCodeBody = true;
+ popState();
+ return Parser.SEMI;
-+ }
-+ }
-+ case 229: break;
-+ case 74:
-+ {
-+ return Parser.JAVADOCTOKEN;
-+ }
-+ case 230: break;
-+ case 57:
-+ { pushState(SINGLELINECOMMENT); }
-+ case 231: break;
-+ case 56:
-+ case 82:
-+ { pushState(MULTILINECOMMENT); }
-+ case 232: break;
++ } else {
++ codeBody.append(';');
++ }
++ }
++ case 131: break;
++ case 30:
++ { codeBody.append('['); nestingDepth++;
++ }
++ case 132: break;
++ case 16:
++ { nestingDepth++;
++ if (nestingDepth == classDepth + 1) {
++ appendingToCodeBody = true;
++ pushState(CODEBLOCK);
++ }
++ else {
++ return Parser.BRACEOPEN;
++ }
++ }
++ case 133: break;
++ case 3:
++ { enumMode = false; return Parser.SEMI;
++ }
++ case 134: break;
++ case 69:
++ { return Parser.TRANSIENT;
++ }
++ case 135: break;
++ case 29:
++ { if (nestingDepth == assignmentDepth) {
++ appendingToCodeBody = true;
++ popState();
++ return Parser.COMMA;
++ } else {
++ codeBody.append(',');
++ }
++ }
++ case 136: break;
++ case 53:
++ { classDepth++;
++ return Parser.CLASS;
++ }
++ case 137: break;
++ case 46:
++ { if (appendingToCodeBody) { codeBody.append("\\'"); }
++ }
++ case 138: break;
++ case 38:
++ { if (appendingToCodeBody) { codeBody.append(yytext()); } popState();
++ }
++ case 139: break;
++ case 4:
++ { return Parser.DOT;
++ }
++ case 140: break;
++ case 11:
++ { return Parser.LESSTHAN;
++ }
++ case 141: break;
++ case 19:
++ { if (appendingToCodeBody) { codeBody.append('"'); } pushState(STRING);
++ }
++ case 142: break;
+ default:
-+ if (yy_input == YYEOF && yy_startRead == yy_currentPos) {
-+ yy_atEOF = true;
-+ yy_do_eof();
++ if (zzInput == YYEOF && zzStartRead == zzCurrentPos) {
++ zzAtEOF = true;
++ zzDoEOF();
+ { return 0; }
+ }
+ else {
-+ yy_ScanError(YY_NO_MATCH);
++ zzScanError(ZZ_NO_MATCH);
+ }
+ }
+ }
Modified: trunk/qdox/debian/rules
===================================================================
--- trunk/qdox/debian/rules 2007-04-11 11:39:59 UTC (rev 3166)
+++ trunk/qdox/debian/rules 2007-04-11 14:25:49 UTC (rev 3167)
@@ -4,11 +4,10 @@
include /usr/share/cdbs/1/rules/simple-patchsys.mk
include /usr/share/cdbs/1/class/ant.mk
-JAVA_HOME_DIRS := /usr/lib/kaffe
+JAVA_HOME_DIRS := /usr/lib/jvm/java-gcj/
ANT_HOME := /usr/share/ant
-DEB_JARS := /usr/share/ant/lib/ant-launcher.jar\
- /usr/share/ant/lib/ant-nodeps.jar \
+DEB_JARS := /usr/share/ant/lib/ant-nodeps.jar \
/usr/share/ant/lib/ant-junit.jar\
junit.jar
More information about the pkg-java-commits
mailing list