alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

What this is

This file is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Tags/keywords

assert, boolean, byte, char, double, final, float, identifier, int, long, lparen, parseexception, short, token, util

The source code

/*
 * Cobertura - http://cobertura.sourceforge.net/
 *
 * This file was taken from JavaNCSS
 * http://www.kclee.com/clemens/java/javancss/
 * Copyright (C) 2000 Chr. Clemens Lee <clemens a.t kclee d.o.t com>
 *
 * Cobertura is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published
 * by the Free Software Foundation; either version 2 of the License,
 * or (at your option) any later version.
 *
 * Cobertura is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Cobertura; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
 * USA
 */

package net.sourceforge.cobertura.javancss;

import java.util.Vector;

public class JavaParser implements JavaParserConstants
{

	private boolean _bReturn = false;
	private int _cyc = 1;
	private String _sName = ""; // name of last token
	private String _sParameter = "";
	private String _sPackage = "";
	private String _sClass = "";
	private String _sFunction = "";
	private int _functions = 0; // number of functions in this class

	private Vector _vMethodComplexities = new Vector();

	public Vector getMethodComplexities()
	{
		return _vMethodComplexities;
	}

	/**
	 * if javancss is used with cat *.java a long
	 * input stream might get generated, so line
	 * number information in case of an parse exception
	 * is not very useful.
	 */
	public String getLastFunction()
	{
		return _sPackage + _sClass + _sFunction;
	}

	/*****************************************
	 * THE JAVA LANGUAGE GRAMMAR STARTS HERE *
	 *****************************************/

	/*
	 * Program structuring syntax follows.
	 */
	final public void compilationUnit() throws ParseException
	{
		_sPackage = "";

		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case PACKAGE:
				PackageDeclaration();
				break;
			default:
				jj_la1[0] = jj_gen;
		}
		label_1: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case IMPORT:
					break;
				default:
					jj_la1[1] = jj_gen;
					break label_1;
			}
			ImportDeclaration();
		}
		label_2: while (true)
		{
			TypeDeclaration();
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case CLASS:
				case FINAL:
				case INTERFACE:
				case PUBLIC:
				case TESTAAAA:
				case SYNCHRONIZED:
				case SEMICOLON:
					break;
				default:
					jj_la1[2] = jj_gen;
					break label_2;
			}
		}

		label_3: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case IMPORT:
				case PACKAGE:
					break;
				default:
					jj_la1[3] = jj_gen;
					break label_3;
			}
			_sPackage = "";

			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case PACKAGE:
					PackageDeclaration();
					break;
				case IMPORT:
					ImportDeclaration();
					break;
				default:
					jj_la1[4] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
			label_4: while (true)
			{
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case IMPORT:
						break;
					default:
						jj_la1[5] = jj_gen;
						break label_4;
				}
				ImportDeclaration();
			}
			label_5: while (true)
			{
				TypeDeclaration();
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case ABSTRACT:
					case CLASS:
					case FINAL:
					case INTERFACE:
					case PUBLIC:
					case TESTAAAA:
					case SYNCHRONIZED:
					case SEMICOLON:
						break;
					default:
						jj_la1[6] = jj_gen;
						break label_5;
				}
			}
		}
		jj_consume_token(0);
	}

	final private void PackageDeclaration() throws ParseException
	{
		jj_consume_token(PACKAGE);
		Name();
		jj_consume_token(SEMICOLON);
		getToken(0);
		getToken(0);
		_sPackage = _sName + ".";
	}

	final private void ImportDeclaration() throws ParseException
	{
		int beginLine = 1;
		int beginColumn = 1;
		Object[] aoImport = null;
		jj_consume_token(IMPORT);
		Token pToken = getToken(0);
		beginLine = pToken.beginLine;
		beginColumn = pToken.beginColumn;
		Name();
		aoImport = new Object[5];
		aoImport[0] = _sName;
		aoImport[1] = new Integer(beginLine);
		aoImport[2] = new Integer(beginColumn);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case DOT:
				jj_consume_token(DOT);
				jj_consume_token(STAR);
				aoImport[0] = aoImport[0].toString() + ".*";
				break;
			default:
				jj_la1[12] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
		aoImport[3] = new Integer(getToken(0).endLine);
		aoImport[4] = new Integer(getToken(0).endColumn);
	}

	final private void TypeDeclaration() throws ParseException
	{
		if (jj_2_1(2147483647))
		{
			ClassDeclaration();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case INTERFACE:
				case PUBLIC:
					InterfaceDeclaration();
					break;
				case SEMICOLON:
					jj_consume_token(SEMICOLON);
					break;
				default:
					jj_la1[13] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	/*
	 * Declaration syntax follows.
	 */
	final private void ClassDeclaration() throws ParseException
	{
		Token tmpToken = null;

		label_8: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case FINAL:
				case PUBLIC:
				case TESTAAAA:
				case SYNCHRONIZED:
					break;
				default:
					jj_la1[14] = jj_gen;
					break label_8;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
					jj_consume_token(ABSTRACT);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case FINAL:
					jj_consume_token(FINAL);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case PUBLIC:
					jj_consume_token(PUBLIC);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case SYNCHRONIZED:
					jj_consume_token(SYNCHRONIZED);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case TESTAAAA:
					jj_consume_token(TESTAAAA);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				default:
					jj_la1[15] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
		if (tmpToken == null)
		{
			tmpToken = getToken(1);
		}
		while (tmpToken.specialToken != null)
		{
			if (tmpToken.specialToken.image.startsWith("/**"))
			{
				break;
			}
			else if (tmpToken.specialToken.image.startsWith("/*"))
			{
				break;
			}

			//System.out.println("\n"+tmpToken.specialToken.image);

			tmpToken = tmpToken.specialToken;
		}

		UnmodifiedClassDeclaration();
	}

	final private void UnmodifiedClassDeclaration() throws ParseException
	{
		String sOldClass = _sClass;
		int oldFunctions = _functions;
		if (!_sClass.equals(""))
		{
			_sClass += ".";
		}
		_sClass += getToken(2).image;
		jj_consume_token(CLASS);
		Identifier();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case EXTENDS:
				jj_consume_token(EXTENDS);
				Name();
				break;
			default:
				jj_la1[16] = jj_gen;
		}
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case IMPLEMENTS:
				jj_consume_token(IMPLEMENTS);
				NameList();
				break;
			default:
				jj_la1[17] = jj_gen;
		}
		ClassBody();
		_functions = oldFunctions;
		_sClass = sOldClass;
	}

	final private void ClassBody() throws ParseException
	{
		jj_consume_token(LBRACE);
		label_9: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case ASSERT:
				case BOOLEAN:
				case BYTE:
				case CHAR:
				case CLASS:
				case DOUBLE:
				case FINAL:
				case FLOAT:
				case INT:
				case INTERFACE:
				case LONG:
				case NATIVE:
				case PRIVATE:
				case PROTECTED:
				case PUBLIC:
				case SHORT:
				case STATIC:
				case TESTAAAA:
				case SYNCHRONIZED:
				case TRANSIENT:
				case VOID:
				case VOLATILE:
				case IDENTIFIER:
				case LBRACE:
				case SEMICOLON:
					break;
				default:
					jj_la1[18] = jj_gen;
					break label_9;
			}
			ClassBodyDeclaration();
		}
		jj_consume_token(RBRACE);
	}

	final private void NestedClassDeclaration() throws ParseException
	{
		// added by SMS
		Token tmpToken = null;

		label_10: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case FINAL:
				case PRIVATE:
				case PROTECTED:
				case PUBLIC:
				case STATIC:
				case TESTAAAA:
					break;
				default:
					jj_la1[19] = jj_gen;
					break label_10;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case STATIC:
					jj_consume_token(STATIC);
					break;
				case ABSTRACT:
					jj_consume_token(ABSTRACT);
					break;
				case FINAL:
					jj_consume_token(FINAL);
					break;
				case PUBLIC:
					jj_consume_token(PUBLIC);
					break;
				case PROTECTED:
					jj_consume_token(PROTECTED);
					break;
				case PRIVATE:
					jj_consume_token(PRIVATE);
					break;
				case TESTAAAA:
					jj_consume_token(TESTAAAA);
					break;
				default:
					jj_la1[20] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
		tmpToken = getToken(0);

		while (tmpToken.specialToken != null)
		{
			if (tmpToken.specialToken.image.startsWith("/**"))
			{
				break;
			}
			else if (tmpToken.specialToken.image.startsWith("/*"))
			{
				break;
			}

			//System.out.println("\n"+tmpToken.specialToken.image);

			tmpToken = tmpToken.specialToken;
		}
		UnmodifiedClassDeclaration();
	}

	final private void ClassBodyDeclaration() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case SEMICOLON:
				EmptyStatement();
				break;
			default:
				jj_la1[21] = jj_gen;
				if (jj_2_2(2))
				{
					Initializer();
				}
				else if (jj_2_3(2147483647))
				{
					NestedClassDeclaration();
				}
				else if (jj_2_4(2147483647))
				{
					NestedInterfaceDeclaration();
				}
				else if (jj_2_5(2147483647))
				{
					ConstructorDeclaration();
				}
				else if (jj_2_6(2147483647))
				{
					MethodDeclaration();
				}
				else
				{
					switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
					{
						case ASSERT:
						case BOOLEAN:
						case BYTE:
						case CHAR:
						case DOUBLE:
						case FINAL:
						case FLOAT:
						case INT:
						case LONG:
						case PRIVATE:
						case PROTECTED:
						case PUBLIC:
						case SHORT:
						case STATIC:
						case TRANSIENT:
						case VOLATILE:
						case IDENTIFIER:
							FieldDeclaration();
							break;
						default:
							jj_la1[22] = jj_gen;
							jj_consume_token(-1);
							throw new ParseException();
					}
				}
		}
	}

	final private void InterfaceDeclaration() throws ParseException
	{
		Token tmpToken = null;

		label_12: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case PUBLIC:
					break;
				default:
					jj_la1[25] = jj_gen;
					break label_12;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
					jj_consume_token(ABSTRACT);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case PUBLIC:
					jj_consume_token(PUBLIC);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				default:
					jj_la1[26] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
		if (tmpToken == null)
		{
			tmpToken = getToken(1);
		}
		while (tmpToken.specialToken != null)
		{
			if (tmpToken.specialToken.image.startsWith("/**"))
			{
				break;
			}
			else if (tmpToken.specialToken.image.startsWith("/*"))
			{
				break;
			}

			//System.out.println("\n"+tmpToken.specialToken.image);

			tmpToken = tmpToken.specialToken;
		}

		UnmodifiedInterfaceDeclaration();
	}

	final private void NestedInterfaceDeclaration() throws ParseException
	{
		// added by SMS
		Token tmpToken = null;

		label_13: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case FINAL:
				case PRIVATE:
				case PROTECTED:
				case PUBLIC:
				case STATIC:
				case TESTAAAA:
					break;
				default:
					jj_la1[27] = jj_gen;
					break label_13;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case STATIC:
					jj_consume_token(STATIC);
					break;
				case ABSTRACT:
					jj_consume_token(ABSTRACT);
					break;
				case FINAL:
					jj_consume_token(FINAL);
					break;
				case PUBLIC:
					jj_consume_token(PUBLIC);
					break;
				case PROTECTED:
					jj_consume_token(PROTECTED);
					break;
				case PRIVATE:
					jj_consume_token(PRIVATE);
					break;
				case TESTAAAA:
					jj_consume_token(TESTAAAA);
					break;
				default:
					jj_la1[28] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
		tmpToken = getToken(0);

		while (tmpToken.specialToken != null)
		{
			if (tmpToken.specialToken.image.startsWith("/**"))
			{
				break;
			}
			else if (tmpToken.specialToken.image.startsWith("/*"))
			{
				break;
			}

			//System.out.println("\n"+tmpToken.specialToken.image);

			tmpToken = tmpToken.specialToken;
		}
		UnmodifiedInterfaceDeclaration();
	}

	final private void UnmodifiedInterfaceDeclaration() throws ParseException
	{
		String sOldClass = _sClass;
		int oldFunctions = _functions;
		if (!_sClass.equals(""))
		{
			_sClass += ".";
		}
		_sClass += getToken(2).image;
		jj_consume_token(INTERFACE);
		Identifier();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case EXTENDS:
				jj_consume_token(EXTENDS);
				NameList();
				break;
			default:
				jj_la1[29] = jj_gen;
		}
		jj_consume_token(LBRACE);
		label_14: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case ASSERT:
				case BOOLEAN:
				case BYTE:
				case CHAR:
				case CLASS:
				case DOUBLE:
				case FINAL:
				case FLOAT:
				case INT:
				case INTERFACE:
				case LONG:
				case NATIVE:
				case PRIVATE:
				case PROTECTED:
				case PUBLIC:
				case SHORT:
				case STATIC:
				case TESTAAAA:
				case SYNCHRONIZED:
				case TRANSIENT:
				case VOID:
				case VOLATILE:
				case IDENTIFIER:
				case SEMICOLON:
					break;
				default:
					jj_la1[30] = jj_gen;
					break label_14;
			}
			InterfaceMemberDeclaration();
		}
		jj_consume_token(RBRACE);
		_functions = oldFunctions;
		_sClass = sOldClass;
	}

	final private void InterfaceMemberDeclaration() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case SEMICOLON:
				EmptyStatement();
				break;
			default:
				jj_la1[31] = jj_gen;
				if (jj_2_7(2147483647))
				{
					NestedClassDeclaration();
				}
				else if (jj_2_8(2147483647))
				{
					NestedInterfaceDeclaration();
				}
				else if (jj_2_9(2147483647))
				{
					MethodDeclaration();
				}
				else
				{
					switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
					{
						case ASSERT:
						case BOOLEAN:
						case BYTE:
						case CHAR:
						case DOUBLE:
						case FINAL:
						case FLOAT:
						case INT:
						case LONG:
						case PRIVATE:
						case PROTECTED:
						case PUBLIC:
						case SHORT:
						case STATIC:
						case TRANSIENT:
						case VOLATILE:
						case IDENTIFIER:
							FieldDeclaration();
							break;
						default:
							jj_la1[32] = jj_gen;
							jj_consume_token(-1);
							throw new ParseException();
					}
				}
		}
	}

	final private void FieldDeclaration() throws ParseException
	{
		// added by SMS
		Token tmpToken = null;
		label_15: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case FINAL:
				case PRIVATE:
				case PROTECTED:
				case PUBLIC:
				case STATIC:
				case TRANSIENT:
				case VOLATILE:
					break;
				default:
					jj_la1[33] = jj_gen;
					break label_15;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case PUBLIC:
					jj_consume_token(PUBLIC);
					break;
				case PROTECTED:
					jj_consume_token(PROTECTED);
					break;
				case PRIVATE:
					jj_consume_token(PRIVATE);
					break;
				case STATIC:
					jj_consume_token(STATIC);
					break;
				case FINAL:
					jj_consume_token(FINAL);
					break;
				case TRANSIENT:
					jj_consume_token(TRANSIENT);
					break;
				case VOLATILE:
					jj_consume_token(VOLATILE);
					break;
				default:
					jj_la1[34] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
		tmpToken = getToken(0);

		while (tmpToken.specialToken != null)
		{
			if (tmpToken.specialToken.image.startsWith("/**"))
			{
				break;
			}
			else if (tmpToken.specialToken.image.startsWith("/*"))
			{
				break;
			}

			//System.out.println("\n"+tmpToken.specialToken.image);

			tmpToken = tmpToken.specialToken;
		}
		Type();
		VariableDeclarator();
		label_16: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case COMMA:
					break;
				default:
					jj_la1[35] = jj_gen;
					break label_16;
			}
			jj_consume_token(COMMA);
			VariableDeclarator();
		}
		jj_consume_token(SEMICOLON);
	}

	final private void VariableDeclarator() throws ParseException
	{
		VariableDeclaratorId();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSIGN:
				jj_consume_token(ASSIGN);
				VariableInitializer();
				break;
			default:
				jj_la1[36] = jj_gen;
		}
	}

	final private void VariableDeclaratorId() throws ParseException
	{
		Identifier();
		label_17: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LBRACKET:
					break;
				default:
					jj_la1[37] = jj_gen;
					break label_17;
			}
			jj_consume_token(LBRACKET);
			jj_consume_token(RBRACKET);
			_sName += "[]";
		}
	}

	final private void VariableInitializer() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case LBRACE:
				ArrayInitializer();
				break;
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case BANG:
			case TILDE:
			case INCR:
			case DECR:
			case PLUS:
			case MINUS:
				Expression();
				break;
			default:
				jj_la1[38] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void ArrayInitializer() throws ParseException
	{
		jj_consume_token(LBRACE);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case LBRACE:
			case BANG:
			case TILDE:
			case INCR:
			case DECR:
			case PLUS:
			case MINUS:
				VariableInitializer();
				label_18: while (true)
				{
					if (jj_2_10(2))
					{
					}
					else
					{
						break label_18;
					}
					jj_consume_token(COMMA);
					VariableInitializer();
				}
				break;
			default:
				jj_la1[39] = jj_gen;
		}
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case COMMA:
				jj_consume_token(COMMA);
				break;
			default:
				jj_la1[40] = jj_gen;
		}
		jj_consume_token(RBRACE);
	}

	final private void MethodDeclaration() throws ParseException
	{
		int oldFunctions = _functions;
		String sOldFunction = _sFunction;
		int oldcyc = _cyc;
		boolean bOldReturn = _bReturn;
		Token tmpToken = null;

		// added by SMS
		label_19: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ABSTRACT:
				case FINAL:
				case NATIVE:
				case PRIVATE:
				case PROTECTED:
				case PUBLIC:
				case STATIC:
				case TESTAAAA:
				case SYNCHRONIZED:
					break;
				default:
					jj_la1[41] = jj_gen;
					break label_19;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case PUBLIC:
					jj_consume_token(PUBLIC);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case PROTECTED:
					jj_consume_token(PROTECTED);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case PRIVATE:
					jj_consume_token(PRIVATE);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case STATIC:
					jj_consume_token(STATIC);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case ABSTRACT:
					jj_consume_token(ABSTRACT);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case FINAL:
					jj_consume_token(FINAL);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case NATIVE:
					jj_consume_token(NATIVE);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case SYNCHRONIZED:
					jj_consume_token(SYNCHRONIZED);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				case TESTAAAA:
					jj_consume_token(TESTAAAA);
					if (tmpToken == null)
					{
						tmpToken = getToken(0);
					}
					break;
				default:
					jj_la1[42] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
		ResultType();
		if (tmpToken == null)
		{
			tmpToken = getToken(0);
		}
		MethodDeclarator();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case THROWS:
				jj_consume_token(THROWS);
				NameList();
				break;
			default:
				jj_la1[43] = jj_gen;
		}
		_cyc = 1;
		_bReturn = false;
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case LBRACE:
				Block();
				break;
			case SEMICOLON:
				jj_consume_token(SEMICOLON);
				break;
			default:
				jj_la1[44] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
		// added by SMS
		{
			//Util.println( "Token: " + tmpToken.image );
			//Util.println( "Token comment: " + tmpToken.specialToken.image );
			while (tmpToken.specialToken != null)
			{
				if (tmpToken.specialToken.image.startsWith("/**"))
				{
					break;
				}
				else if (tmpToken.specialToken.image.startsWith("/*"))
				{
					break;
				}

				//System.out.println("\n"+tmpToken.specialToken.image);

				tmpToken = tmpToken.specialToken;
			}
		}

		if (_bReturn)
		{
			_cyc--;
		}

		_vMethodComplexities.addElement(new Integer(_cyc));
		_sFunction = sOldFunction;
		_functions = oldFunctions + 1;
		_cyc = oldcyc;
		_bReturn = bOldReturn;
	}

	final private void MethodDeclarator() throws ParseException
	{
		_sFunction = "." + getToken(1).image;
		Identifier();
		FormalParameters();
		_sFunction += _sParameter;
		label_20: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LBRACKET:
					break;
				default:
					jj_la1[45] = jj_gen;
					break label_20;
			}
			jj_consume_token(LBRACKET);
			jj_consume_token(RBRACKET);
			_sFunction += "[]";
		}
	}

	final private void FormalParameters() throws ParseException
	{
		_sParameter = "(";
		jj_consume_token(LPAREN);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FINAL:
			case FLOAT:
			case INT:
			case LONG:
			case SHORT:
			case IDENTIFIER:
				FormalParameter();
				_sParameter += _sName;
				label_21: while (true)
				{
					switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
					{
						case COMMA:
							break;
						default:
							jj_la1[46] = jj_gen;
							break label_21;
					}
					jj_consume_token(COMMA);
					FormalParameter();
					_sParameter += "," + _sName;
				}
				break;
			default:
				jj_la1[47] = jj_gen;
		}
		jj_consume_token(RPAREN);
		_sParameter += ")";
	}

	final private void FormalParameter() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case FINAL:
				jj_consume_token(FINAL);
				break;
			default:
				jj_la1[48] = jj_gen;
		}
		Type();
		VariableDeclaratorId();
	}

	final private void ConstructorDeclaration() throws ParseException
	{
		int oldFunctions = _functions;
		String sOldFunction = _sFunction;
		int oldcyc = _cyc;
		boolean bOldReturn = _bReturn;
		Token tmpToken = null;

		// added by SMS
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case PRIVATE:
			case PROTECTED:
			case PUBLIC:
				int type = (jj_ntk == -1) ? jj_ntk() : jj_ntk;
				switch (type)
				{
					case PUBLIC:
					case PROTECTED:
					case PRIVATE:
						jj_consume_token(type);
						if (tmpToken == null)
						{
							tmpToken = getToken(0);
						}
						break;
					default:
						jj_la1[49] = jj_gen;
						jj_consume_token(-1);
						throw new ParseException();
				}
				break;
			default:
				jj_la1[50] = jj_gen;
		}
		Identifier();
		if (tmpToken == null)
		{
			tmpToken = getToken(0);
		}
		_cyc = 1;
		_sFunction = _sPackage + _sClass + "." + getToken(0).image;
		FormalParameters();
		_sFunction += _sParameter;
		_bReturn = false;
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case THROWS:
				jj_consume_token(THROWS);
				NameList();
				break;
			default:
				jj_la1[51] = jj_gen;
		}
		jj_consume_token(LBRACE);
		if (jj_2_11(2147483647))
		{
			ExplicitConstructorInvocation();
		}
		else
		{
		}
		if (jj_2_12(2147483647))
		{
			ExplicitConstructorInvocation();
		}
		else
		{
		}
		while (tmpToken.specialToken != null)
		{
			if (tmpToken.specialToken.image.startsWith("/**"))
			{
				break;
			}
			else if (tmpToken.specialToken.image.startsWith("/*"))
			{
				break;
			}

			//System.out.println("\n"+tmpToken.specialToken.image);

			tmpToken = tmpToken.specialToken;
		}

		label_22: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ASSERT:
				case BOOLEAN:
				case BREAK:
				case BYTE:
				case CHAR:
				case CLASS:
				case CONTINUE:
				case DO:
				case DOUBLE:
				case FALSE:
				case FINAL:
				case FLOAT:
				case FOR:
				case IF:
				case INT:
				case INTERFACE:
				case LONG:
				case NEW:
				case NULL:
				case RETURN:
				case SHORT:
				case SUPER:
				case SWITCH:
				case SYNCHRONIZED:
				case THIS:
				case THROW:
				case TRUE:
				case TRY:
				case VOID:
				case WHILE:
				case INTEGER_LITERAL:
				case FLOATING_POINT_LITERAL:
				case CHARACTER_LITERAL:
				case STRING_LITERAL:
				case IDENTIFIER:
				case LPAREN:
				case LBRACE:
				case SEMICOLON:
				case INCR:
				case DECR:
					break;
				default:
					jj_la1[52] = jj_gen;
					break label_22;
			}
			BlockStatement();
		}
		jj_consume_token(RBRACE);
		/*
		 while( tmpToken.specialToken != null ) {
		 if ( tmpToken.specialToken.image.startsWith( "/**" ) ) {
		 jvdc++;
		 _javadocs++;
		 }
		 tmpToken = tmpToken.specialToken;
		 }
		 */
		if (_bReturn)
		{
			_cyc--;
		}

		_vMethodComplexities.addElement(new Integer(_cyc));
		_sFunction = sOldFunction;
		_functions = oldFunctions + 1;
		_cyc = oldcyc;
		_bReturn = bOldReturn;
	}

	final private void ExplicitConstructorInvocation() throws ParseException
	{
		if (jj_2_14(2147483647))
		{
			jj_consume_token(THIS);
			Arguments();
			jj_consume_token(SEMICOLON);
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ASSERT:
				case BOOLEAN:
				case BYTE:
				case CHAR:
				case DOUBLE:
				case FALSE:
				case FLOAT:
				case INT:
				case LONG:
				case NEW:
				case NULL:
				case SHORT:
				case SUPER:
				case THIS:
				case TRUE:
				case VOID:
				case INTEGER_LITERAL:
				case FLOATING_POINT_LITERAL:
				case CHARACTER_LITERAL:
				case STRING_LITERAL:
				case IDENTIFIER:
				case LPAREN:
					if (jj_2_13(2147483647))
					{
						PrimaryExpression();
						jj_consume_token(DOT);
					}
					else
					{
					}
					jj_consume_token(SUPER);
					Arguments();
					jj_consume_token(SEMICOLON);

					break;
				default:
					jj_la1[53] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	final private void Initializer() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case STATIC:
				jj_consume_token(STATIC);
				break;
			default:
				jj_la1[54] = jj_gen;
		}
		Block();
	}

	/*
	 * Type, name and expression syntax follows.
	 */
	final private void Type() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FLOAT:
			case INT:
			case LONG:
			case SHORT:
				PrimitiveType();
				_sName = getToken(0).image;
				break;
			case ASSERT:
			case IDENTIFIER:
				Name();
				break;
			default:
				jj_la1[55] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
		label_23: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LBRACKET:
					break;
				default:
					jj_la1[56] = jj_gen;
					break label_23;
			}
			jj_consume_token(LBRACKET);
			jj_consume_token(RBRACKET);
			_sName += "[]";
		}
	}

	final private void PrimitiveType() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case BOOLEAN:
				jj_consume_token(BOOLEAN);
				break;
			case CHAR:
				jj_consume_token(CHAR);
				break;
			case BYTE:
				jj_consume_token(BYTE);
				break;
			case SHORT:
				jj_consume_token(SHORT);
				break;
			case INT:
				jj_consume_token(INT);
				break;
			case LONG:
				jj_consume_token(LONG);
				break;
			case FLOAT:
				jj_consume_token(FLOAT);
				break;
			case DOUBLE:
				jj_consume_token(DOUBLE);
				break;
			default:
				jj_la1[59] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void ResultType() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case VOID:
				jj_consume_token(VOID);
				break;
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FLOAT:
			case INT:
			case LONG:
			case SHORT:
			case IDENTIFIER:
				Type();
				break;
			default:
				jj_la1[60] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void Name() throws ParseException
	{
		Identifier();
		_sName = getToken(0).image;
		label_25: while (true)
		{
			if (jj_2_15(2))
			{
			}
			else
			{
				break label_25;
			}
			jj_consume_token(DOT);
			Identifier();
			_sName += "." + getToken(0).image;
		}
	}

	final private void NameList() throws ParseException
	{
		Name();
		label_27: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case COMMA:
					break;
				default:
					jj_la1[61] = jj_gen;
					break label_27;
			}
			jj_consume_token(COMMA);
			Name();
		}
	}

	/*
	 * Expression syntax follows.
	 */
	final private void Expression() throws ParseException
	{
		if (jj_2_17(2147483647))
		{
			Assignment();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ASSERT:
				case BOOLEAN:
				case BYTE:
				case CHAR:
				case DOUBLE:
				case FALSE:
				case FLOAT:
				case INT:
				case LONG:
				case NEW:
				case NULL:
				case SHORT:
				case SUPER:
				case THIS:
				case TRUE:
				case VOID:
				case INTEGER_LITERAL:
				case FLOATING_POINT_LITERAL:
				case CHARACTER_LITERAL:
				case STRING_LITERAL:
				case IDENTIFIER:
				case LPAREN:
				case BANG:
				case TILDE:
				case INCR:
				case DECR:
				case PLUS:
				case MINUS:
					ConditionalExpression();
					break;
				default:
					jj_la1[62] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	final private void Assignment() throws ParseException
	{
		PrimaryExpression();
		AssignmentOperator();
		Expression();
	}

	final private void AssignmentOperator() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSIGN:
				jj_consume_token(ASSIGN);
				break;
			case STARASSIGN:
				jj_consume_token(STARASSIGN);
				break;
			case SLASHASSIGN:
				jj_consume_token(SLASHASSIGN);
				break;
			case REMASSIGN:
				jj_consume_token(REMASSIGN);
				break;
			case PLUSASSIGN:
				jj_consume_token(PLUSASSIGN);
				break;
			case MINUSASSIGN:
				jj_consume_token(MINUSASSIGN);
				break;
			case LSHIFTASSIGN:
				jj_consume_token(LSHIFTASSIGN);
				break;
			case RSIGNEDSHIFTASSIGN:
				jj_consume_token(RSIGNEDSHIFTASSIGN);
				break;
			case RUNSIGNEDSHIFTASSIGN:
				jj_consume_token(RUNSIGNEDSHIFTASSIGN);
				break;
			case ANDASSIGN:
				jj_consume_token(ANDASSIGN);
				break;
			case XORASSIGN:
				jj_consume_token(XORASSIGN);
				break;
			case ORASSIGN:
				jj_consume_token(ORASSIGN);
				break;
			default:
				jj_la1[63] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void ConditionalExpression() throws ParseException
	{
		ConditionalOrExpression();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case HOOK:
				jj_consume_token(HOOK);
				Expression();
				jj_consume_token(COLON);
				ConditionalExpression();
				break;
			default:
				jj_la1[64] = jj_gen;
		}
	}

	final private void ConditionalOrExpression() throws ParseException
	{
		ConditionalAndExpression();
		label_28: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case SC_OR:
					break;
				default:
					jj_la1[65] = jj_gen;
					break label_28;
			}
			jj_consume_token(SC_OR);
			ConditionalAndExpression();
		}
	}

	final private void ConditionalAndExpression() throws ParseException
	{
		InclusiveOrExpression();
		label_29: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case SC_AND:
					break;
				default:
					jj_la1[66] = jj_gen;
					break label_29;
			}
			jj_consume_token(SC_AND);
			InclusiveOrExpression();
		}
	}

	final private void InclusiveOrExpression() throws ParseException
	{
		ExclusiveOrExpression();
		label_30: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case BIT_OR:
					break;
				default:
					jj_la1[67] = jj_gen;
					break label_30;
			}
			jj_consume_token(BIT_OR);
			ExclusiveOrExpression();
		}
	}

	final private void ExclusiveOrExpression() throws ParseException
	{
		AndExpression();
		label_31: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case XOR:
					break;
				default:
					jj_la1[68] = jj_gen;
					break label_31;
			}
			jj_consume_token(XOR);
			AndExpression();
		}
	}

	final private void AndExpression() throws ParseException
	{
		EqualityExpression();
		label_32: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case BIT_AND:
					break;
				default:
					jj_la1[69] = jj_gen;
					break label_32;
			}
			jj_consume_token(BIT_AND);
			EqualityExpression();
		}
	}

	final private void EqualityExpression() throws ParseException
	{
		InstanceOfExpression();
		label_33: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case EQ:
				case NE:
					break;
				default:
					jj_la1[70] = jj_gen;
					break label_33;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case EQ:
					jj_consume_token(EQ);
					break;
				case NE:
					jj_consume_token(NE);
					break;
				default:
					jj_la1[71] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
			InstanceOfExpression();
		}
	}

	final private void InstanceOfExpression() throws ParseException
	{
		RelationalExpression();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case INSTANCEOF:
				jj_consume_token(INSTANCEOF);
				Type();
				break;
			default:
				jj_la1[72] = jj_gen;
		}
	}

	final private void RelationalExpression() throws ParseException
	{
		ShiftExpression();
		label_34: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case GT:
				case LT:
				case LE:
				case GE:
					break;
				default:
					jj_la1[73] = jj_gen;
					break label_34;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LT:
					jj_consume_token(LT);
					break;
				case GT:
					jj_consume_token(GT);
					break;
				case LE:
					jj_consume_token(LE);
					break;
				case GE:
					jj_consume_token(GE);
					break;
				default:
					jj_la1[74] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
			ShiftExpression();
		}
	}

	final private void ShiftExpression() throws ParseException
	{
		AdditiveExpression();
		label_35: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LSHIFT:
				case RSIGNEDSHIFT:
				case RUNSIGNEDSHIFT:
					break;
				default:
					jj_la1[75] = jj_gen;
					break label_35;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LSHIFT:
					jj_consume_token(LSHIFT);
					break;
				case RSIGNEDSHIFT:
					jj_consume_token(RSIGNEDSHIFT);
					break;
				case RUNSIGNEDSHIFT:
					jj_consume_token(RUNSIGNEDSHIFT);
					break;
				default:
					jj_la1[76] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
			AdditiveExpression();
		}
	}

	final private void AdditiveExpression() throws ParseException
	{
		MultiplicativeExpression();
		label_36: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case PLUS:
				case MINUS:
					break;
				default:
					jj_la1[77] = jj_gen;
					break label_36;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case PLUS:
					jj_consume_token(PLUS);
					break;
				case MINUS:
					jj_consume_token(MINUS);
					break;
				default:
					jj_la1[78] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
			MultiplicativeExpression();
		}
	}

	final private void MultiplicativeExpression() throws ParseException
	{
		UnaryExpression();
		label_37: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case STAR:
				case SLASH:
				case REM:
					break;
				default:
					jj_la1[79] = jj_gen;
					break label_37;
			}
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case STAR:
					jj_consume_token(STAR);
					break;
				case SLASH:
					jj_consume_token(SLASH);
					break;
				case REM:
					jj_consume_token(REM);
					break;
				default:
					jj_la1[80] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
			UnaryExpression();
		}
	}

	final private void UnaryExpression() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case PLUS:
			case MINUS:
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case PLUS:
						jj_consume_token(PLUS);
						break;
					case MINUS:
						jj_consume_token(MINUS);
						break;
					default:
						jj_la1[81] = jj_gen;
						jj_consume_token(-1);
						throw new ParseException();
				}
				UnaryExpression();
				break;
			case INCR:
				PreIncrementExpression();
				break;
			case DECR:
				PreDecrementExpression();
				break;
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case BANG:
			case TILDE:
				UnaryExpressionNotPlusMinus();
				break;
			default:
				jj_la1[82] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void PreIncrementExpression() throws ParseException
	{
		jj_consume_token(INCR);
		PrimaryExpression();
	}

	final private void PreDecrementExpression() throws ParseException
	{
		jj_consume_token(DECR);
		PrimaryExpression();
	}

	final private void UnaryExpressionNotPlusMinus() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case BANG:
			case TILDE:
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case TILDE:
						jj_consume_token(TILDE);
						break;
					case BANG:
						jj_consume_token(BANG);
						break;
					default:
						jj_la1[83] = jj_gen;
						jj_consume_token(-1);
						throw new ParseException();
				}
				UnaryExpression();
				break;
			default:
				jj_la1[84] = jj_gen;
				if (jj_2_18(2147483647))
				{
					PostfixExpression();
				}
				else if (jj_2_19(2147483647))
				{
					CastExpression();
				}
				else
				{
					switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
					{
						case ASSERT:
						case BOOLEAN:
						case BYTE:
						case CHAR:
						case DOUBLE:
						case FALSE:
						case FLOAT:
						case INT:
						case LONG:
						case NEW:
						case NULL:
						case SHORT:
						case SUPER:
						case THIS:
						case TRUE:
						case VOID:
						case INTEGER_LITERAL:
						case FLOATING_POINT_LITERAL:
						case CHARACTER_LITERAL:
						case STRING_LITERAL:
						case IDENTIFIER:
						case LPAREN:
							PostfixExpression();
							break;
						default:
							jj_la1[85] = jj_gen;
							jj_consume_token(-1);
							throw new ParseException();
					}
				}
		}
	}

	final private void PostfixExpression() throws ParseException
	{
		PrimaryExpression();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case INCR:
			case DECR:
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case INCR:
						jj_consume_token(INCR);
						break;
					case DECR:
						jj_consume_token(DECR);
						break;
					default:
						jj_la1[88] = jj_gen;
						jj_consume_token(-1);
						throw new ParseException();
				}
				break;
			default:
				jj_la1[89] = jj_gen;
		}
	}

	final private void CastExpression() throws ParseException
	{
		if (jj_2_23(2147483647))
		{
			jj_consume_token(LPAREN);
			Type();
			jj_consume_token(RPAREN);
			UnaryExpression();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LPAREN:
					jj_consume_token(LPAREN);
					Type();
					jj_consume_token(RPAREN);
					UnaryExpressionNotPlusMinus();
					break;
				default:
					jj_la1[90] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	final private void PrimaryExpression() throws ParseException
	{
		PrimaryPrefix();
		label_39: while (true)
		{
			if (jj_2_24(2))
			{
			}
			else
			{
				break label_39;
			}
			PrimarySuffix();
		}
	}

	final private void PrimaryPrefix() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case FALSE:
			case NULL:
			case TRUE:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
				Literal();
				break;
			case THIS:
				jj_consume_token(THIS);
				break;
			default:
				jj_la1[91] = jj_gen;
				if (jj_2_26(2))
				{
					jj_consume_token(SUPER);
					jj_consume_token(DOT);
					Identifier();
				}
				else
				{
					switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
					{
						case LPAREN:
							jj_consume_token(LPAREN);
							Expression();
							jj_consume_token(RPAREN);
							break;
						case NEW:
							AllocationExpression();
							break;
						default:
							jj_la1[92] = jj_gen;
							if (jj_2_27(2147483647))
							{
								ResultType();
								jj_consume_token(DOT);
								jj_consume_token(CLASS);
							}
							else
							{
								switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
								{
									case ASSERT:
									case IDENTIFIER:
										Name();
										if (jj_2_25(3))
										{
											jj_consume_token(DOT);
											jj_consume_token(SUPER);
											jj_consume_token(DOT);
											Identifier();
										}
										else
										{
										}
										break;
									default:
										jj_la1[93] = jj_gen;
										jj_consume_token(-1);
										throw new ParseException();
								}
							}
					}
				}
		}
	}

	final private void PrimarySuffix() throws ParseException
	{
		if (jj_2_28(2))
		{
			jj_consume_token(DOT);
			jj_consume_token(THIS);
		}
		else if (jj_2_29(2))
		{
			jj_consume_token(DOT);
			AllocationExpression();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LBRACKET:
					jj_consume_token(LBRACKET);
					Expression();
					jj_consume_token(RBRACKET);
					break;
				case DOT:
					jj_consume_token(DOT);
					Identifier();
					break;
				case LPAREN:
					Arguments();
					break;
				default:
					jj_la1[94] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	final private void Literal() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case INTEGER_LITERAL:
				jj_consume_token(INTEGER_LITERAL);
				break;
			case FLOATING_POINT_LITERAL:
				jj_consume_token(FLOATING_POINT_LITERAL);
				break;
			case CHARACTER_LITERAL:
				jj_consume_token(CHARACTER_LITERAL);
				break;
			case STRING_LITERAL:
				jj_consume_token(STRING_LITERAL);
				break;
			case FALSE:
			case TRUE:
				BooleanLiteral();
				break;
			case NULL:
				NullLiteral();
				break;
			default:
				jj_la1[95] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void BooleanLiteral() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case TRUE:
				jj_consume_token(TRUE);
				break;
			case FALSE:
				jj_consume_token(FALSE);
				break;
			default:
				jj_la1[96] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void NullLiteral() throws ParseException
	{
		jj_consume_token(NULL);
	}

	final private void Arguments() throws ParseException
	{
		jj_consume_token(LPAREN);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case BANG:
			case TILDE:
			case INCR:
			case DECR:
			case PLUS:
			case MINUS:
				ArgumentList();
				break;
			default:
				jj_la1[97] = jj_gen;
		}
		jj_consume_token(RPAREN);
	}

	final private void ArgumentList() throws ParseException
	{
		Expression();
		label_40: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case COMMA:
					break;
				default:
					jj_la1[98] = jj_gen;
					break label_40;
			}
			jj_consume_token(COMMA);
			Expression();
		}
	}

	final private void AllocationExpression() throws ParseException
	{
		String sOldClass = _sClass;
		int oldFunctions = _functions;
		String sName;
		if (jj_2_30(2))
		{
			jj_consume_token(NEW);
			PrimitiveType();
			ArrayDimsAndInits();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case NEW:
					jj_consume_token(NEW);
					Name();
					sName = _sName;
					switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
					{
						case LBRACKET:
							ArrayDimsAndInits();
							break;
						case LPAREN:
							Arguments();
							switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
							{
								case LBRACE:
									if (!_sClass.equals(""))
									{
										_sClass += ".";
									}
									_sClass += sName;
									ClassBody();
									_functions = oldFunctions;
									_sClass = sOldClass;
									break;
								default:
									jj_la1[99] = jj_gen;
							}
							break;
						default:
							jj_la1[100] = jj_gen;
							jj_consume_token(-1);
							throw new ParseException();
					}
					break;
				default:
					jj_la1[101] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	/*
	 * The third LOOKAHEAD specification below is to parse to PrimarySuffix
	 * if there is an expression between the "[...]".
	 */
	final private void ArrayDimsAndInits() throws ParseException
	{
		if (jj_2_33(2))
		{
			label_41: while (true)
			{
				jj_consume_token(LBRACKET);
				Expression();
				jj_consume_token(RBRACKET);
				if (jj_2_31(2))
				{
				}
				else
				{
					break label_41;
				}
			}
			label_42: while (true)
			{
				if (jj_2_32(2))
				{
				}
				else
				{
					break label_42;
				}
				jj_consume_token(LBRACKET);
				jj_consume_token(RBRACKET);
			}
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LBRACKET:
					label_43: while (true)
					{
						jj_consume_token(LBRACKET);
						jj_consume_token(RBRACKET);
						switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
						{
							case LBRACKET:
								break;
							default:
								jj_la1[102] = jj_gen;
								break label_43;
						}
					}
					ArrayInitializer();
					break;
				default:
					jj_la1[103] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	/*
	 * Statement syntax follows.
	 */
	final private void Statement() throws ParseException
	{
		_bReturn = false;
		if (jj_2_34(2))
		{
			LabeledStatement();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case LBRACE:
					Block();
					break;
				case SEMICOLON:
					EmptyStatement();
					break;
				default:
					jj_la1[104] = jj_gen;
					if (jj_2_35(2147483647))
					{
						AssertStatement();
					}
					else
					{
						switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
						{
							case ASSERT:
							case BOOLEAN:
							case BYTE:
							case CHAR:
							case DOUBLE:
							case FALSE:
							case FLOAT:
							case INT:
							case LONG:
							case NEW:
							case NULL:
							case SHORT:
							case SUPER:
							case THIS:
							case TRUE:
							case VOID:
							case INTEGER_LITERAL:
							case FLOATING_POINT_LITERAL:
							case CHARACTER_LITERAL:
							case STRING_LITERAL:
							case IDENTIFIER:
							case LPAREN:
							case INCR:
							case DECR:
								StatementExpression();
								jj_consume_token(SEMICOLON);
								break;
							case SWITCH:
								SwitchStatement();
								break;
							case IF:
								IfStatement();
								_cyc++;
								break;
							case WHILE:
								WhileStatement();
								_cyc++;
								break;
							case DO:
								DoStatement();
								_cyc++;
								break;
							case FOR:
								ForStatement();
								_cyc++;
								break;
							case BREAK:
								breakStatement();
								break;
							case CONTINUE:
								continueStatement();
								break;
							case RETURN:
								returnStatement();
								break;
							case THROW:
								ThrowStatement();
								break;
							case SYNCHRONIZED:
								SynchronizedStatement();
								break;
							case TRY:
								TryStatement();
								break;
							default:
								jj_la1[105] = jj_gen;
								jj_consume_token(-1);
								throw new ParseException();
						}
					}
			}
		}
	}

	final private void LabeledStatement() throws ParseException
	{
		Identifier();
		jj_consume_token(COLON);
		Statement();
	}

	final private void AssertStatement() throws ParseException
	{
		jj_consume_token(ASSERT);
		Expression();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case COLON:
				jj_consume_token(COLON);
				Expression();
				break;
			default:
				jj_la1[106] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
	}

	final private void Block() throws ParseException
	{
		jj_consume_token(LBRACE);
		label_44: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ASSERT:
				case BOOLEAN:
				case BREAK:
				case BYTE:
				case CHAR:
				case CLASS:
				case CONTINUE:
				case DO:
				case DOUBLE:
				case FALSE:
				case FINAL:
				case FLOAT:
				case FOR:
				case IF:
				case INT:
				case INTERFACE:
				case LONG:
				case NEW:
				case NULL:
				case RETURN:
				case SHORT:
				case SUPER:
				case SWITCH:
				case SYNCHRONIZED:
				case THIS:
				case THROW:
				case TRUE:
				case TRY:
				case VOID:
				case WHILE:
				case INTEGER_LITERAL:
				case FLOATING_POINT_LITERAL:
				case CHARACTER_LITERAL:
				case STRING_LITERAL:
				case IDENTIFIER:
				case LPAREN:
				case LBRACE:
				case SEMICOLON:
				case INCR:
				case DECR:
					break;
				default:
					jj_la1[107] = jj_gen;
					break label_44;
			}
			BlockStatement();
		}
		jj_consume_token(RBRACE);
	}

	final private void BlockStatement() throws ParseException
	{
		if (jj_2_36(2147483647))
		{
			LocalVariableDeclaration();
			jj_consume_token(SEMICOLON);
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ASSERT:
				case BOOLEAN:
				case BREAK:
				case BYTE:
				case CHAR:
				case CONTINUE:
				case DO:
				case DOUBLE:
				case FALSE:
				case FLOAT:
				case FOR:
				case IF:
				case INT:
				case LONG:
				case NEW:
				case NULL:
				case RETURN:
				case SHORT:
				case SUPER:
				case SWITCH:
				case SYNCHRONIZED:
				case THIS:
				case THROW:
				case TRUE:
				case TRY:
				case VOID:
				case WHILE:
				case INTEGER_LITERAL:
				case FLOATING_POINT_LITERAL:
				case CHARACTER_LITERAL:
				case STRING_LITERAL:
				case IDENTIFIER:
				case LPAREN:
				case LBRACE:
				case SEMICOLON:
				case INCR:
				case DECR:
					Statement();
					break;
				case CLASS:
					UnmodifiedClassDeclaration();
					break;
				case INTERFACE:
					UnmodifiedInterfaceDeclaration();
					break;
				default:
					jj_la1[108] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	final private void LocalVariableDeclaration() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case FINAL:
				jj_consume_token(FINAL);
				break;
			default:
				jj_la1[109] = jj_gen;
		}
		Type();
		VariableDeclarator();
		label_45: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case COMMA:
					break;
				default:
					jj_la1[110] = jj_gen;
					break label_45;
			}
			jj_consume_token(COMMA);
			VariableDeclarator();
		}
	}

	final private void EmptyStatement() throws ParseException
	{
		jj_consume_token(SEMICOLON);
	}

	final private void StatementExpression() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case INCR:
				PreIncrementExpression();
				break;
			case DECR:
				PreDecrementExpression();
				break;
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
				PrimaryExpression();
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case ASSIGN:
					case INCR:
					case DECR:
					case PLUSASSIGN:
					case MINUSASSIGN:
					case STARASSIGN:
					case SLASHASSIGN:
					case ANDASSIGN:
					case ORASSIGN:
					case XORASSIGN:
					case REMASSIGN:
					case LSHIFTASSIGN:
					case RSIGNEDSHIFTASSIGN:
					case RUNSIGNEDSHIFTASSIGN:
						switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
						{
							case INCR:
								jj_consume_token(INCR);
								break;
							case DECR:
								jj_consume_token(DECR);
								break;
							case ASSIGN:
							case PLUSASSIGN:
							case MINUSASSIGN:
							case STARASSIGN:
							case SLASHASSIGN:
							case ANDASSIGN:
							case ORASSIGN:
							case XORASSIGN:
							case REMASSIGN:
							case LSHIFTASSIGN:
							case RSIGNEDSHIFTASSIGN:
							case RUNSIGNEDSHIFTASSIGN:
								AssignmentOperator();
								Expression();
								break;
							default:
								jj_la1[111] = jj_gen;
								jj_consume_token(-1);
								throw new ParseException();
						}
						break;
					default:
						jj_la1[112] = jj_gen;
				}
				break;
			default:
				jj_la1[113] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void SwitchStatement() throws ParseException
	{
		jj_consume_token(SWITCH);
		jj_consume_token(LPAREN);
		Expression();
		jj_consume_token(RPAREN);
		jj_consume_token(LBRACE);
		label_46: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case CASE:
				case _DEFAULT:
					break;
				default:
					jj_la1[114] = jj_gen;
					break label_46;
			}
			SwitchLabel();
			label_47: while (true)
			{
				switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
				{
					case ASSERT:
					case BOOLEAN:
					case BREAK:
					case BYTE:
					case CHAR:
					case CLASS:
					case CONTINUE:
					case DO:
					case DOUBLE:
					case FALSE:
					case FINAL:
					case FLOAT:
					case FOR:
					case IF:
					case INT:
					case INTERFACE:
					case LONG:
					case NEW:
					case NULL:
					case RETURN:
					case SHORT:
					case SUPER:
					case SWITCH:
					case SYNCHRONIZED:
					case THIS:
					case THROW:
					case TRUE:
					case TRY:
					case VOID:
					case WHILE:
					case INTEGER_LITERAL:
					case FLOATING_POINT_LITERAL:
					case CHARACTER_LITERAL:
					case STRING_LITERAL:
					case IDENTIFIER:
					case LPAREN:
					case LBRACE:
					case SEMICOLON:
					case INCR:
					case DECR:
						break;
					default:
						jj_la1[115] = jj_gen;
						break label_47;
				}
				BlockStatement();
			}
		}
		jj_consume_token(RBRACE);
	}

	final private void SwitchLabel() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case CASE:
				jj_consume_token(CASE);
				Expression();
				jj_consume_token(COLON);
				_cyc++;
				break;
			case _DEFAULT:
				jj_consume_token(_DEFAULT);
				jj_consume_token(COLON);
				break;
			default:
				jj_la1[116] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private void IfStatement() throws ParseException
	{
		jj_consume_token(IF);
		jj_consume_token(LPAREN);
		Expression();
		jj_consume_token(RPAREN);
		Statement();
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ELSE:
				jj_consume_token(ELSE);
				Statement();
				break;
			default:
				jj_la1[117] = jj_gen;
		}
	}

	final private void WhileStatement() throws ParseException
	{
		jj_consume_token(WHILE);
		jj_consume_token(LPAREN);
		Expression();
		jj_consume_token(RPAREN);
		Statement();
	}

	final private void DoStatement() throws ParseException
	{
		jj_consume_token(DO);
		Statement();
		jj_consume_token(WHILE);
		jj_consume_token(LPAREN);
		Expression();
		jj_consume_token(RPAREN);
		jj_consume_token(SEMICOLON);
	}

	final private void ForStatement() throws ParseException
	{
		jj_consume_token(FOR);
		jj_consume_token(LPAREN);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FINAL:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case INCR:
			case DECR:
				ForInit();
				break;
			default:
				jj_la1[118] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case BANG:
			case TILDE:
			case INCR:
			case DECR:
			case PLUS:
			case MINUS:
				Expression();
				break;
			default:
				jj_la1[119] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case INCR:
			case DECR:
				forUpdate();
				break;
			default:
				jj_la1[120] = jj_gen;
		}
		jj_consume_token(RPAREN);
		Statement();
	}

	final private void ForInit() throws ParseException
	{
		if (jj_2_37(2147483647))
		{
			LocalVariableDeclaration();
		}
		else
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case ASSERT:
				case BOOLEAN:
				case BYTE:
				case CHAR:
				case DOUBLE:
				case FALSE:
				case FLOAT:
				case INT:
				case LONG:
				case NEW:
				case NULL:
				case SHORT:
				case SUPER:
				case THIS:
				case TRUE:
				case VOID:
				case INTEGER_LITERAL:
				case FLOATING_POINT_LITERAL:
				case CHARACTER_LITERAL:
				case STRING_LITERAL:
				case IDENTIFIER:
				case LPAREN:
				case INCR:
				case DECR:
					StatementExpressionList();
					break;
				default:
					jj_la1[121] = jj_gen;
					jj_consume_token(-1);
					throw new ParseException();
			}
		}
	}

	final private void StatementExpressionList() throws ParseException
	{
		StatementExpression();
		label_48: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case COMMA:
					break;
				default:
					jj_la1[122] = jj_gen;
					break label_48;
			}
			jj_consume_token(COMMA);
			StatementExpression();
		}
	}

	final private void forUpdate() throws ParseException
	{
		StatementExpressionList();
	}

	final public void breakStatement() throws ParseException
	{
		jj_consume_token(BREAK);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case IDENTIFIER:
				Identifier();
				break;
			default:
				jj_la1[123] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
	}

	final private void continueStatement() throws ParseException
	{
		jj_consume_token(CONTINUE);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case IDENTIFIER:
				Identifier();
				break;
			default:
				jj_la1[124] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
	}

	final private void returnStatement() throws ParseException
	{
		jj_consume_token(RETURN);
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case ASSERT:
			case BOOLEAN:
			case BYTE:
			case CHAR:
			case DOUBLE:
			case FALSE:
			case FLOAT:
			case INT:
			case LONG:
			case NEW:
			case NULL:
			case SHORT:
			case SUPER:
			case THIS:
			case TRUE:
			case VOID:
			case INTEGER_LITERAL:
			case FLOATING_POINT_LITERAL:
			case CHARACTER_LITERAL:
			case STRING_LITERAL:
			case IDENTIFIER:
			case LPAREN:
			case BANG:
			case TILDE:
			case INCR:
			case DECR:
			case PLUS:
			case MINUS:
				Expression();
				break;
			default:
				jj_la1[125] = jj_gen;
		}
		jj_consume_token(SEMICOLON);
		_cyc++;
		_bReturn = true;
	}

	final private void ThrowStatement() throws ParseException
	{
		jj_consume_token(THROW);
		Expression();
		jj_consume_token(SEMICOLON);
		_cyc++;
	}

	final private void SynchronizedStatement() throws ParseException
	{
		jj_consume_token(SYNCHRONIZED);
		jj_consume_token(LPAREN);
		Expression();
		jj_consume_token(RPAREN);
		Block();
	}

	final private void TryStatement() throws ParseException
	{
		jj_consume_token(TRY);
		Block();
		label_49: while (true)
		{
			switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
			{
				case CATCH:
					break;
				default:
					jj_la1[126] = jj_gen;
					break label_49;
			}
			jj_consume_token(CATCH);
			jj_consume_token(LPAREN);
			FormalParameter();
			jj_consume_token(RPAREN);
			Block();
			_cyc++;
		}
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case FINALLY:
				jj_consume_token(FINALLY);
				Block();
				break;
			default:
				jj_la1[127] = jj_gen;
		}
	}

	final private void Identifier() throws ParseException
	{
		switch ((jj_ntk == -1) ? jj_ntk() : jj_ntk)
		{
			case IDENTIFIER:
				jj_consume_token(IDENTIFIER);
				break;
			case ASSERT:
				jj_consume_token(ASSERT);
				break;
			default:
				jj_la1[128] = jj_gen;
				jj_consume_token(-1);
				throw new ParseException();
		}
	}

	final private boolean jj_2_1(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_1();
		jj_save(0, xla);
		return retval;
	}

	final private boolean jj_2_2(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_2();
		jj_save(1, xla);
		return retval;
	}

	final private boolean jj_2_3(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_3();
		jj_save(2, xla);
		return retval;
	}

	final private boolean jj_2_4(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_4();
		jj_save(3, xla);
		return retval;
	}

	final private boolean jj_2_5(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_5();
		jj_save(4, xla);
		return retval;
	}

	final private boolean jj_2_6(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_6();
		jj_save(5, xla);
		return retval;
	}

	final private boolean jj_2_7(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_7();
		jj_save(6, xla);
		return retval;
	}

	final private boolean jj_2_8(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_8();
		jj_save(7, xla);
		return retval;
	}

	final private boolean jj_2_9(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_9();
		jj_save(8, xla);
		return retval;
	}

	final private boolean jj_2_10(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_10();
		jj_save(9, xla);
		return retval;
	}

	final private boolean jj_2_11(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_11();
		jj_save(10, xla);
		return retval;
	}

	final private boolean jj_2_12(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_12();
		jj_save(11, xla);
		return retval;
	}

	final private boolean jj_2_13(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_13();
		jj_save(12, xla);
		return retval;
	}

	final private boolean jj_2_14(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_14();
		jj_save(13, xla);
		return retval;
	}

	final private boolean jj_2_15(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_15();
		jj_save(14, xla);
		return retval;
	}

	final private boolean jj_2_17(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_17();
		jj_save(16, xla);
		return retval;
	}

	final private boolean jj_2_18(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_18();
		jj_save(17, xla);
		return retval;
	}

	final private boolean jj_2_19(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_19();
		jj_save(18, xla);
		return retval;
	}

	final private boolean jj_2_23(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_23();
		jj_save(22, xla);
		return retval;
	}

	final private boolean jj_2_24(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_24();
		jj_save(23, xla);
		return retval;
	}

	final private boolean jj_2_25(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_25();
		jj_save(24, xla);
		return retval;
	}

	final private boolean jj_2_26(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_26();
		jj_save(25, xla);
		return retval;
	}

	final private boolean jj_2_27(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_27();
		jj_save(26, xla);
		return retval;
	}

	final private boolean jj_2_28(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_28();
		jj_save(27, xla);
		return retval;
	}

	final private boolean jj_2_29(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_29();
		jj_save(28, xla);
		return retval;
	}

	final private boolean jj_2_30(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_30();
		jj_save(29, xla);
		return retval;
	}

	final private boolean jj_2_31(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_31();
		jj_save(30, xla);
		return retval;
	}

	final private boolean jj_2_32(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_32();
		jj_save(31, xla);
		return retval;
	}

	final private boolean jj_2_33(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_33();
		jj_save(32, xla);
		return retval;
	}

	final private boolean jj_2_34(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_34();
		jj_save(33, xla);
		return retval;
	}

	final private boolean jj_2_35(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_35();
		jj_save(34, xla);
		return retval;
	}

	final private boolean jj_2_36(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_36();
		jj_save(35, xla);
		return retval;
	}

	final private boolean jj_2_37(int xla)
	{
		jj_la = xla;
		jj_lastpos = jj_scanpos = token;
		boolean retval = !jj_3_37();
		jj_save(36, xla);
		return retval;
	}

	final private boolean jj_3R_310()
	{
		if (jj_scan_token(EXTENDS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_152()
	{
		if (jj_3R_185())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_156()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_151()
	{
		if (jj_3R_66())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_74()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_151())
		{
			jj_scanpos = xsp;
			if (jj_3R_152())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_153())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_155()
	{
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_154()
	{
		if (jj_3R_66())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_76()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_154())
		{
			jj_scanpos = xsp;
			if (jj_3R_155())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_156())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_205()
	{
		if (jj_scan_token(CLASS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_310())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_311())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_251())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_82()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_13()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_51()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_82())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_14()
	{
		if (jj_scan_token(THIS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_370()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_357()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_370())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SUPER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_182())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_356()
	{
		if (jj_scan_token(THIS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_182())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_326()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_356())
		{
			jj_scanpos = xsp;
			if (jj_3R_357())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_120()
	{
		if (jj_scan_token(ASSERT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_119()
	{
		if (jj_scan_token(IDENTIFIER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_62()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_119())
		{
			jj_scanpos = xsp;
			if (jj_3R_120())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_81()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_292()
	{
		if (jj_3R_186())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_399()
	{
		if (jj_scan_token(FINALLY))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_398()
	{
		if (jj_scan_token(CATCH))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_353())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_249()
	{
		if (jj_scan_token(TRY))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_398())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		xsp = jj_scanpos;
		if (jj_3R_399())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_80()
	{
		if (jj_scan_token(SYNCHRONIZED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_248()
	{
		if (jj_scan_token(SYNCHRONIZED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_60()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_12()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_60())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SUPER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_11()
	{
		if (jj_scan_token(THIS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_79()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_397()
	{
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_247()
	{
		if (jj_scan_token(THROW))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_394()
	{
		if (jj_3R_408())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_396()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_291()
	{
		if (jj_3R_326())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_290()
	{
		if (jj_3R_326())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_78()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_246()
	{
		if (jj_scan_token(RETURN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_397())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_420()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_238())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_395()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_289()
	{
		if (jj_scan_token(THROWS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_325())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_245()
	{
		if (jj_scan_token(CONTINUE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_396())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_50()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_77())
		{
			jj_scanpos = xsp;
			if (jj_3R_78())
			{
				jj_scanpos = xsp;
				if (jj_3R_79())
				{
					jj_scanpos = xsp;
					if (jj_3R_80())
					{
						jj_scanpos = xsp;
						if (jj_3R_81())
							return true;
						if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_77()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_393()
	{
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_1()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_50())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(CLASS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_244()
	{
		if (jj_scan_token(BREAK))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_395())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_408()
	{
		if (jj_3R_418())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_75()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_391()
	{
		if (jj_scan_token(ELSE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_37()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_75())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_323()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_418()
	{
		if (jj_3R_238())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_420())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_392()
	{
		if (jj_3R_407())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_322()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_417()
	{
		if (jj_3R_418())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_416()
	{
		if (jj_3R_203())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_407()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_416())
		{
			jj_scanpos = xsp;
			if (jj_3R_417())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_321()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_287()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_321())
		{
			jj_scanpos = xsp;
			if (jj_3R_322())
			{
				jj_scanpos = xsp;
				if (jj_3R_323())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_278()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_287())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_288())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_289())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_290())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_291())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_292())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(RBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_243()
	{
		if (jj_scan_token(FOR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_392())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_393())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_394())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_242()
	{
		if (jj_scan_token(DO))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(WHILE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_241()
	{
		if (jj_scan_token(WHILE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_369()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_353()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_369())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_344())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_324()
	{
		if (jj_3R_353())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_354())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_240()
	{
		if (jj_scan_token(IF))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_391())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_354()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_353())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_288()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_324())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_406()
	{
		if (jj_3R_186())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_336()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_415()
	{
		if (jj_scan_token(_DEFAULT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(COLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_294()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_288())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_336())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_414()
	{
		if (jj_scan_token(CASE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(COLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_405()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_414())
		{
			jj_scanpos = xsp;
			if (jj_3R_415())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_390()
	{
		if (jj_3R_405())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_406())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_378()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_299())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_239()
	{
		if (jj_scan_token(SWITCH))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_390())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(RBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_413()
	{
		if (jj_3R_63())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_412()
	{
		if (jj_scan_token(DECR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_411()
	{
		if (jj_scan_token(INCR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_404()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_411())
		{
			jj_scanpos = xsp;
			if (jj_3R_412())
			{
				jj_scanpos = xsp;
				if (jj_3R_413())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_257()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_404())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_256()
	{
		if (jj_3R_264())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_238()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_255())
		{
			jj_scanpos = xsp;
			if (jj_3R_256())
			{
				jj_scanpos = xsp;
				if (jj_3R_257())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_255()
	{
		if (jj_3R_263())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_236()
	{
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_214()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_203()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_214())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_299())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_378())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_73()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_36()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_73())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_74())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_193()
	{
		if (jj_3R_206())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_192()
	{
		if (jj_3R_205())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_191()
	{
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_157()
	{
		if (jj_3R_186())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_186()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_190())
		{
			jj_scanpos = xsp;
			if (jj_3R_191())
			{
				jj_scanpos = xsp;
				if (jj_3R_192())
				{
					jj_scanpos = xsp;
					if (jj_3R_193())
						return true;
					if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_190()
	{
		if (jj_3R_203())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_83()
	{
		if (jj_scan_token(LBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_157())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(RBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_389()
	{
		if (jj_scan_token(COLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_295()
	{
		if (jj_scan_token(THROWS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_325())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_237()
	{
		if (jj_scan_token(ASSERT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_389())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_297()
	{
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_72()
	{
		if (jj_scan_token(ASSERT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_296()
	{
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_71()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(COLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_204())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_229()
	{
		if (jj_3R_249())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_228()
	{
		if (jj_3R_248())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_227()
	{
		if (jj_3R_247())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_226()
	{
		if (jj_3R_246())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_225()
	{
		if (jj_3R_245())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_224()
	{
		if (jj_3R_244())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_259()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_223()
	{
		if (jj_3R_243())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_32()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_222()
	{
		if (jj_3R_242())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_335()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_221()
	{
		if (jj_3R_241())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_35()
	{
		if (jj_3R_72())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_220()
	{
		if (jj_3R_240())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_334()
	{
		if (jj_scan_token(SYNCHRONIZED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_219()
	{
		if (jj_3R_239())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_218()
	{
		if (jj_3R_238())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_333()
	{
		if (jj_scan_token(NATIVE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_217()
	{
		if (jj_3R_237())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_216()
	{
		if (jj_3R_236())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_332()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_215()
	{
		if (jj_3R_83())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_34()
	{
		if (jj_3R_71())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_204()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3_34())
		{
			jj_scanpos = xsp;
			if (jj_3R_215())
			{
				jj_scanpos = xsp;
				if (jj_3R_216())
				{
					jj_scanpos = xsp;
					if (jj_3R_217())
					{
						jj_scanpos = xsp;
						if (jj_3R_218())
						{
							jj_scanpos = xsp;
							if (jj_3R_219())
							{
								jj_scanpos = xsp;
								if (jj_3R_220())
								{
									jj_scanpos = xsp;
									if (jj_3R_221())
									{
										jj_scanpos = xsp;
										if (jj_3R_222())
										{
											jj_scanpos = xsp;
											if (jj_3R_223())
											{
												jj_scanpos = xsp;
												if (jj_3R_224())
												{
													jj_scanpos = xsp;
													if (jj_3R_225())
													{
														jj_scanpos = xsp;
														if (jj_3R_226())
														{
															jj_scanpos = xsp;
															if (jj_3R_227())
															{
																jj_scanpos = xsp;
																if (jj_3R_228())
																{
																	jj_scanpos = xsp;
																	if (jj_3R_229())
																		return true;
																	if (jj_la == 0
																			&& jj_scanpos == jj_lastpos)
																		return false;
																}
																else if (jj_la == 0
																		&& jj_scanpos == jj_lastpos)
																	return false;
															}
															else if (jj_la == 0
																	&& jj_scanpos == jj_lastpos)
																return false;
														}
														else if (jj_la == 0
																&& jj_scanpos == jj_lastpos)
															return false;
													}
													else if (jj_la == 0 && jj_scanpos == jj_lastpos)
														return false;
												}
												else if (jj_la == 0 && jj_scanpos == jj_lastpos)
													return false;
											}
											else if (jj_la == 0 && jj_scanpos == jj_lastpos)
												return false;
										}
										else if (jj_la == 0 && jj_scanpos == jj_lastpos)
											return false;
									}
									else if (jj_la == 0 && jj_scanpos == jj_lastpos)
										return false;
								}
								else if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_331()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_330()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_329()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_250()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_31()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_232()
	{
		Token xsp;
		if (jj_3R_250())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_250())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_3R_167())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_328()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_33()
	{
		Token xsp;
		if (jj_3_31())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_31())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_32())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_209()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3_33())
		{
			jj_scanpos = xsp;
			if (jj_3R_232())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_10()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_59())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_327()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_293()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_327())
		{
			jj_scanpos = xsp;
			if (jj_3R_328())
			{
				jj_scanpos = xsp;
				if (jj_3R_329())
				{
					jj_scanpos = xsp;
					if (jj_3R_330())
					{
						jj_scanpos = xsp;
						if (jj_3R_331())
						{
							jj_scanpos = xsp;
							if (jj_3R_332())
							{
								jj_scanpos = xsp;
								if (jj_3R_333())
								{
									jj_scanpos = xsp;
									if (jj_3R_334())
									{
										jj_scanpos = xsp;
										if (jj_3R_335())
											return true;
										if (jj_la == 0 && jj_scanpos == jj_lastpos)
											return false;
									}
									else if (jj_la == 0 && jj_scanpos == jj_lastpos)
										return false;
								}
								else if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_279()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_293())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_3R_68())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_294())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_295())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_296())
		{
			jj_scanpos = xsp;
			if (jj_3R_297())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_233()
	{
		if (jj_3R_251())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_115()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_211()
	{
		if (jj_3R_182())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_233())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_358()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_108()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_258()
	{
		if (jj_3R_59())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_10())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_210()
	{
		if (jj_3R_209())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_345()
	{
		if (jj_scan_token(ASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_59())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_300()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_299())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_167()
	{
		if (jj_scan_token(LBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_258())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		xsp = jj_scanpos;
		if (jj_3R_259())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_114()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_148()
	{
		if (jj_scan_token(NEW))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_210())
		{
			jj_scanpos = xsp;
			if (jj_3R_211())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_252()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_107()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_30()
	{
		if (jj_scan_token(NEW))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_66())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_209())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_69()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3_30())
		{
			jj_scanpos = xsp;
			if (jj_3R_148())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_117()
	{
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_343()
	{
		if (jj_scan_token(VOLATILE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_344()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_358())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_116()
	{
		if (jj_3R_167())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_59()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_116())
		{
			jj_scanpos = xsp;
			if (jj_3R_117())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_113()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_200()
	{
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_252())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_106()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_188()
	{
		if (jj_3R_200())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_299()
	{
		if (jj_3R_344())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_345())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_342()
	{
		if (jj_scan_token(TRANSIENT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_182()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_188())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_112()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_105()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_341()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_208()
	{
		if (jj_scan_token(NULL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_111()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_231()
	{
		if (jj_scan_token(FALSE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_104()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_207()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_230())
		{
			jj_scanpos = xsp;
			if (jj_3R_231())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_230()
	{
		if (jj_scan_token(TRUE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_340()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_199()
	{
		if (jj_3R_208())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_198()
	{
		if (jj_3R_207())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_110()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_197()
	{
		if (jj_scan_token(STRING_LITERAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_103()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_196()
	{
		if (jj_scan_token(CHARACTER_LITERAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_339()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_338()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_195()
	{
		if (jj_scan_token(FLOATING_POINT_LITERAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_337()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_298()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_337())
		{
			jj_scanpos = xsp;
			if (jj_3R_338())
			{
				jj_scanpos = xsp;
				if (jj_3R_339())
				{
					jj_scanpos = xsp;
					if (jj_3R_340())
					{
						jj_scanpos = xsp;
						if (jj_3R_341())
						{
							jj_scanpos = xsp;
							if (jj_3R_342())
							{
								jj_scanpos = xsp;
								if (jj_3R_343())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_187()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_194())
		{
			jj_scanpos = xsp;
			if (jj_3R_195())
			{
				jj_scanpos = xsp;
				if (jj_3R_196())
				{
					jj_scanpos = xsp;
					if (jj_3R_197())
					{
						jj_scanpos = xsp;
						if (jj_3R_198())
						{
							jj_scanpos = xsp;
							if (jj_3R_199())
								return true;
							if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_194()
	{
		if (jj_scan_token(INTEGER_LITERAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_280()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_298())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_299())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_300())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(SEMICOLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_9()
	{
		if (jj_3R_56())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_109()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_58()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_109())
		{
			jj_scanpos = xsp;
			if (jj_3R_110())
			{
				jj_scanpos = xsp;
				if (jj_3R_111())
				{
					jj_scanpos = xsp;
					if (jj_3R_112())
					{
						jj_scanpos = xsp;
						if (jj_3R_113())
						{
							jj_scanpos = xsp;
							if (jj_3R_114())
							{
								jj_scanpos = xsp;
								if (jj_3R_115())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_8()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_58())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(INTERFACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_102()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_57()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_102())
		{
			jj_scanpos = xsp;
			if (jj_3R_103())
			{
				jj_scanpos = xsp;
				if (jj_3R_104())
				{
					jj_scanpos = xsp;
					if (jj_3R_105())
					{
						jj_scanpos = xsp;
						if (jj_3R_106())
						{
							jj_scanpos = xsp;
							if (jj_3R_107())
							{
								jj_scanpos = xsp;
								if (jj_3R_108())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_145()
	{
		if (jj_3R_182())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_7()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_57())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(CLASS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_144()
	{
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_368()
	{
		if (jj_3R_280())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_181()
	{
		if (jj_3R_187())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_143()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_25()
	{
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(SUPER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_367()
	{
		if (jj_3R_279())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_29()
	{
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_69())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_366()
	{
		if (jj_3R_277())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_28()
	{
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(THIS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_67()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3_28())
		{
			jj_scanpos = xsp;
			if (jj_3_29())
			{
				jj_scanpos = xsp;
				if (jj_3R_143())
				{
					jj_scanpos = xsp;
					if (jj_3R_144())
					{
						jj_scanpos = xsp;
						if (jj_3R_145())
							return true;
						if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_180()
	{
		if (jj_scan_token(NEW))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_365()
	{
		if (jj_3R_276())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_364()
	{
		if (jj_3R_236())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_352()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_364())
		{
			jj_scanpos = xsp;
			if (jj_3R_365())
			{
				jj_scanpos = xsp;
				if (jj_3R_366())
				{
					jj_scanpos = xsp;
					if (jj_3R_367())
					{
						jj_scanpos = xsp;
						if (jj_3R_368())
							return true;
						if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_27()
	{
		if (jj_3R_68())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(CLASS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_173()
	{
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3_25())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_179()
	{
		if (jj_scan_token(SUPER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_319()
	{
		if (jj_scan_token(EXTENDS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_325())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_172()
	{
		if (jj_3R_68())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(CLASS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_171()
	{
		if (jj_3R_69())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_170()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_178()
	{
		if (jj_scan_token(THIS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_24()
	{
		if (jj_3R_67())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_26()
	{
		if (jj_scan_token(SUPER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_422()
	{
		if (jj_scan_token(DECR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_169()
	{
		if (jj_scan_token(THIS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_320()
	{
		if (jj_3R_352())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_118()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_168())
		{
			jj_scanpos = xsp;
			if (jj_3R_169())
			{
				jj_scanpos = xsp;
				if (jj_3_26())
				{
					jj_scanpos = xsp;
					if (jj_3R_170())
					{
						jj_scanpos = xsp;
						if (jj_3R_171())
						{
							jj_scanpos = xsp;
							if (jj_3R_172())
							{
								jj_scanpos = xsp;
								if (jj_3R_173())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_168()
	{
		if (jj_3R_187())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_421()
	{
		if (jj_scan_token(INCR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_419()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_421())
		{
			jj_scanpos = xsp;
			if (jj_3R_422())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_177()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_206()
	{
		if (jj_scan_token(INTERFACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_319())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_320())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(RBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_61()
	{
		if (jj_3R_118())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_24())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3_23()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_66())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_176()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_175()
	{
		if (jj_scan_token(BANG))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_410()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_381())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_22()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_409()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_359())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_403()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_409())
		{
			jj_scanpos = xsp;
			if (jj_3R_410())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_174()
	{
		if (jj_scan_token(TILDE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_402()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_419())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_21()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_64()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_22())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_314()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_134()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_174())
		{
			jj_scanpos = xsp;
			if (jj_3R_175())
			{
				jj_scanpos = xsp;
				if (jj_3R_176())
				{
					jj_scanpos = xsp;
					if (jj_3R_177())
					{
						jj_scanpos = xsp;
						if (jj_3R_178())
						{
							jj_scanpos = xsp;
							if (jj_3R_179())
							{
								jj_scanpos = xsp;
								if (jj_3R_180())
								{
									jj_scanpos = xsp;
									if (jj_3R_181())
										return true;
									if (jj_la == 0 && jj_scanpos == jj_lastpos)
										return false;
								}
								else if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_133()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_318()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_20()
	{
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_66())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_65()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3_20())
		{
			jj_scanpos = xsp;
			if (jj_3R_133())
			{
				jj_scanpos = xsp;
				if (jj_3R_134())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_19()
	{
		if (jj_3R_65())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_313()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_18()
	{
		if (jj_3R_64())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_401()
	{
		if (jj_scan_token(BANG))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_388()
	{
		if (jj_3R_402())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_317()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_316()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_387()
	{
		if (jj_3R_403())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_315()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_384()
	{
		if (jj_scan_token(REM))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_312()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_286()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_312())
		{
			jj_scanpos = xsp;
			if (jj_3R_313())
			{
				jj_scanpos = xsp;
				if (jj_3R_314())
				{
					jj_scanpos = xsp;
					if (jj_3R_315())
					{
						jj_scanpos = xsp;
						if (jj_3R_316())
						{
							jj_scanpos = xsp;
							if (jj_3R_317())
							{
								jj_scanpos = xsp;
								if (jj_3R_318())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_400()
	{
		if (jj_scan_token(TILDE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_386()
	{
		if (jj_3R_402())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_277()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_286())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_3R_206())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_377()
	{
		if (jj_scan_token(MINUS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_385()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_400())
		{
			jj_scanpos = xsp;
			if (jj_3R_401())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_359())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_381()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_385())
		{
			jj_scanpos = xsp;
			if (jj_3R_386())
			{
				jj_scanpos = xsp;
				if (jj_3R_387())
				{
					jj_scanpos = xsp;
					if (jj_3R_388())
						return true;
					if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_166()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_383()
	{
		if (jj_scan_token(SLASH))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_363()
	{
		if (jj_scan_token(RUNSIGNEDSHIFT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_376()
	{
		if (jj_scan_token(PLUS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_264()
	{
		if (jj_scan_token(DECR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_360()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_376())
		{
			jj_scanpos = xsp;
			if (jj_3R_377())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_346())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_351()
	{
		if (jj_scan_token(GE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_382()
	{
		if (jj_scan_token(STAR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_375()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_382())
		{
			jj_scanpos = xsp;
			if (jj_3R_383())
			{
				jj_scanpos = xsp;
				if (jj_3R_384())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_359())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_362()
	{
		if (jj_scan_token(RSIGNEDSHIFT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_263()
	{
		if (jj_scan_token(INCR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_350()
	{
		if (jj_scan_token(LE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_380()
	{
		if (jj_scan_token(MINUS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_361()
	{
		if (jj_scan_token(LSHIFT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_374()
	{
		if (jj_3R_381())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_165()
	{
		if (jj_scan_token(SYNCHRONIZED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_347()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_361())
		{
			jj_scanpos = xsp;
			if (jj_3R_362())
			{
				jj_scanpos = xsp;
				if (jj_3R_363())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_301())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_373()
	{
		if (jj_3R_264())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_349()
	{
		if (jj_scan_token(GT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_379()
	{
		if (jj_scan_token(PLUS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_372()
	{
		if (jj_3R_263())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_132()
	{
		if (jj_scan_token(ORASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_371()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_379())
		{
			jj_scanpos = xsp;
			if (jj_3R_380())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_359())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_359()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_371())
		{
			jj_scanpos = xsp;
			if (jj_3R_372())
			{
				jj_scanpos = xsp;
				if (jj_3R_373())
				{
					jj_scanpos = xsp;
					if (jj_3R_374())
						return true;
					if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_348()
	{
		if (jj_scan_token(LT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_284()
	{
		if (jj_scan_token(NE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_302()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_348())
		{
			jj_scanpos = xsp;
			if (jj_3R_349())
			{
				jj_scanpos = xsp;
				if (jj_3R_350())
				{
					jj_scanpos = xsp;
					if (jj_3R_351())
						return true;
					if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_281())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_164()
	{
		if (jj_scan_token(NATIVE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_131()
	{
		if (jj_scan_token(XORASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_282()
	{
		if (jj_scan_token(INSTANCEOF))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_346()
	{
		if (jj_3R_359())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_375())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_283()
	{
		if (jj_scan_token(EQ))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_275()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_283())
		{
			jj_scanpos = xsp;
			if (jj_3R_284())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_266())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_301()
	{
		if (jj_3R_346())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_360())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_97()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_130()
	{
		if (jj_scan_token(ANDASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_90()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_163()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_281()
	{
		if (jj_3R_301())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_347())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_267()
	{
		if (jj_scan_token(BIT_AND))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_261())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_129()
	{
		if (jj_scan_token(RUNSIGNEDSHIFTASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_96()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_274()
	{
		if (jj_3R_281())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_302())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_89()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_162()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_254()
	{
		if (jj_scan_token(BIT_OR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_234())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_128()
	{
		if (jj_scan_token(RSIGNEDSHIFTASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_262()
	{
		if (jj_scan_token(XOR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_253())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_266()
	{
		if (jj_3R_274())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_282())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_235()
	{
		if (jj_scan_token(SC_AND))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_212())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_261()
	{
		if (jj_3R_266())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_275())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_127()
	{
		if (jj_scan_token(LSHIFTASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_213()
	{
		if (jj_scan_token(SC_OR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_201())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_95()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_161()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_88()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_253()
	{
		if (jj_3R_261())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_267())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_126()
	{
		if (jj_scan_token(MINUSASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_202()
	{
		if (jj_scan_token(HOOK))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(COLON))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_184())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_234()
	{
		if (jj_3R_253())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_262())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_94()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_160()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_125()
	{
		if (jj_scan_token(PLUSASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_87()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_212()
	{
		if (jj_3R_234())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_254())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_100()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_124()
	{
		if (jj_scan_token(REMASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_93()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_201()
	{
		if (jj_3R_212())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_235())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_86()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_159()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_123()
	{
		if (jj_scan_token(SLASHASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_189()
	{
		if (jj_3R_201())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_213())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_99()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_92()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_122()
	{
		if (jj_scan_token(STARASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_184()
	{
		if (jj_3R_189())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_202())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_85()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_101()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_158())
		{
			jj_scanpos = xsp;
			if (jj_3R_159())
			{
				jj_scanpos = xsp;
				if (jj_3R_160())
				{
					jj_scanpos = xsp;
					if (jj_3R_161())
					{
						jj_scanpos = xsp;
						if (jj_3R_162())
						{
							jj_scanpos = xsp;
							if (jj_3R_163())
							{
								jj_scanpos = xsp;
								if (jj_3R_164())
								{
									jj_scanpos = xsp;
									if (jj_3R_165())
									{
										jj_scanpos = xsp;
										if (jj_3R_166())
											return true;
										if (jj_la == 0 && jj_scanpos == jj_lastpos)
											return false;
									}
									else if (jj_la == 0 && jj_scanpos == jj_lastpos)
										return false;
								}
								else if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_158()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_6()
	{
		if (jj_3R_56())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_56()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_101())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_3R_68())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_121()
	{
		if (jj_scan_token(ASSIGN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_63()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_121())
		{
			jj_scanpos = xsp;
			if (jj_3R_122())
			{
				jj_scanpos = xsp;
				if (jj_3R_123())
				{
					jj_scanpos = xsp;
					if (jj_3R_124())
					{
						jj_scanpos = xsp;
						if (jj_3R_125())
						{
							jj_scanpos = xsp;
							if (jj_3R_126())
							{
								jj_scanpos = xsp;
								if (jj_3R_127())
								{
									jj_scanpos = xsp;
									if (jj_3R_128())
									{
										jj_scanpos = xsp;
										if (jj_3R_129())
										{
											jj_scanpos = xsp;
											if (jj_3R_130())
											{
												jj_scanpos = xsp;
												if (jj_3R_131())
												{
													jj_scanpos = xsp;
													if (jj_3R_132())
														return true;
													if (jj_la == 0 && jj_scanpos == jj_lastpos)
														return false;
												}
												else if (jj_la == 0 && jj_scanpos == jj_lastpos)
													return false;
											}
											else if (jj_la == 0 && jj_scanpos == jj_lastpos)
												return false;
										}
										else if (jj_la == 0 && jj_scanpos == jj_lastpos)
											return false;
									}
									else if (jj_la == 0 && jj_scanpos == jj_lastpos)
										return false;
								}
								else if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_98()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_54()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_98())
		{
			jj_scanpos = xsp;
			if (jj_3R_99())
			{
				jj_scanpos = xsp;
				if (jj_3R_100())
					return true;
				if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_5()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_54())
			jj_scanpos = xsp;
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(LPAREN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_91()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_53()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_91())
		{
			jj_scanpos = xsp;
			if (jj_3R_92())
			{
				jj_scanpos = xsp;
				if (jj_3R_93())
				{
					jj_scanpos = xsp;
					if (jj_3R_94())
					{
						jj_scanpos = xsp;
						if (jj_3R_95())
						{
							jj_scanpos = xsp;
							if (jj_3R_96())
							{
								jj_scanpos = xsp;
								if (jj_3R_97())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_17()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_63())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_183()
	{
		if (jj_3R_61())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_63())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_70())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_4()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_53())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(INTERFACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_273()
	{
		if (jj_3R_280())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_84()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_52()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_84())
		{
			jj_scanpos = xsp;
			if (jj_3R_85())
			{
				jj_scanpos = xsp;
				if (jj_3R_86())
				{
					jj_scanpos = xsp;
					if (jj_3R_87())
					{
						jj_scanpos = xsp;
						if (jj_3R_88())
						{
							jj_scanpos = xsp;
							if (jj_3R_89())
							{
								jj_scanpos = xsp;
								if (jj_3R_90())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_3()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_52())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(CLASS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_272()
	{
		if (jj_3R_279())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_150()
	{
		if (jj_3R_184())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_271()
	{
		if (jj_3R_278())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_149()
	{
		if (jj_3R_183())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_70()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_149())
		{
			jj_scanpos = xsp;
			if (jj_3R_150())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_270()
	{
		if (jj_3R_277())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_269()
	{
		if (jj_3R_276())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_2()
	{
		if (jj_3R_51())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_265()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_268())
		{
			jj_scanpos = xsp;
			if (jj_3_2())
			{
				jj_scanpos = xsp;
				if (jj_3R_269())
				{
					jj_scanpos = xsp;
					if (jj_3R_270())
					{
						jj_scanpos = xsp;
						if (jj_3R_271())
						{
							jj_scanpos = xsp;
							if (jj_3R_272())
							{
								jj_scanpos = xsp;
								if (jj_3R_273())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_268()
	{
		if (jj_3R_236())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_355()
	{
		if (jj_scan_token(COMMA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_325()
	{
		if (jj_3R_55())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_355())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3_16()
	{
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_185()
	{
		if (jj_scan_token(IDENTIFIER))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_16())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_305()
	{
		if (jj_scan_token(FINAL))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_309()
	{
		if (jj_scan_token(TESTAAAA))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_304()
	{
		if (jj_scan_token(ABSTRACT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3_15()
	{
		if (jj_scan_token(DOT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_55()
	{
		if (jj_3R_62())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3_15())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		return false;
	}

	final private boolean jj_3R_308()
	{
		if (jj_scan_token(PRIVATE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_307()
	{
		if (jj_scan_token(PROTECTED))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_306()
	{
		if (jj_scan_token(PUBLIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_303()
	{
		if (jj_scan_token(STATIC))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_285()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_303())
		{
			jj_scanpos = xsp;
			if (jj_3R_304())
			{
				jj_scanpos = xsp;
				if (jj_3R_305())
				{
					jj_scanpos = xsp;
					if (jj_3R_306())
					{
						jj_scanpos = xsp;
						if (jj_3R_307())
						{
							jj_scanpos = xsp;
							if (jj_3R_308())
							{
								jj_scanpos = xsp;
								if (jj_3R_309())
									return true;
								if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_276()
	{
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_285())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_3R_205())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_153()
	{
		if (jj_scan_token(LBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_scan_token(RBRACKET))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_147()
	{
		if (jj_3R_76())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_311()
	{
		if (jj_scan_token(IMPLEMENTS))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		if (jj_3R_325())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_146()
	{
		if (jj_scan_token(VOID))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_68()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_146())
		{
			jj_scanpos = xsp;
			if (jj_3R_147())
				return true;
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_260()
	{
		if (jj_3R_265())
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_142()
	{
		if (jj_scan_token(DOUBLE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_251()
	{
		if (jj_scan_token(LBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		Token xsp;
		while (true)
		{
			xsp = jj_scanpos;
			if (jj_3R_260())
			{
				jj_scanpos = xsp;
				break;
			}
			if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		if (jj_scan_token(RBRACE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_141()
	{
		if (jj_scan_token(FLOAT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_140()
	{
		if (jj_scan_token(LONG))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_139()
	{
		if (jj_scan_token(INT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_138()
	{
		if (jj_scan_token(SHORT))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_137()
	{
		if (jj_scan_token(BYTE))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_136()
	{
		if (jj_scan_token(CHAR))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_135()
	{
		if (jj_scan_token(BOOLEAN))
			return true;
		if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	final private boolean jj_3R_66()
	{
		Token xsp;
		xsp = jj_scanpos;
		if (jj_3R_135())
		{
			jj_scanpos = xsp;
			if (jj_3R_136())
			{
				jj_scanpos = xsp;
				if (jj_3R_137())
				{
					jj_scanpos = xsp;
					if (jj_3R_138())
					{
						jj_scanpos = xsp;
						if (jj_3R_139())
						{
							jj_scanpos = xsp;
							if (jj_3R_140())
							{
								jj_scanpos = xsp;
								if (jj_3R_141())
								{
									jj_scanpos = xsp;
									if (jj_3R_142())
										return true;
									if (jj_la == 0 && jj_scanpos == jj_lastpos)
										return false;
								}
								else if (jj_la == 0 && jj_scanpos == jj_lastpos)
									return false;
							}
							else if (jj_la == 0 && jj_scanpos == jj_lastpos)
								return false;
						}
						else if (jj_la == 0 && jj_scanpos == jj_lastpos)
							return false;
					}
					else if (jj_la == 0 && jj_scanpos == jj_lastpos)
						return false;
				}
				else if (jj_la == 0 && jj_scanpos == jj_lastpos)
					return false;
			}
			else if (jj_la == 0 && jj_scanpos == jj_lastpos)
				return false;
		}
		else if (jj_la == 0 && jj_scanpos == jj_lastpos)
			return false;
		return false;
	}

	private JavaParserTokenManager token_source;
	private ASCII_UCodeESC_CharStream jj_input_stream;
	private Token token, jj_nt;
	private int jj_ntk;
	private Token jj_scanpos, jj_lastpos;
	private int jj_la;
	private boolean lookingAhead = false;
	private int jj_gen;
	final private int[] jj_la1 = new int[129];
	final private int[] jj_la1_0 = { 0x0, 0x0, 0x40202000, 0x0, 0x0, 0x0, 0x40202000, 0x0, 0x0,
			0x40002000, 0x40002000, 0x200000, 0x0, 0x2000, 0x40002000, 0x40002000, 0x10000000, 0x0,
			0x4432e000, 0x40002000, 0x40002000, 0x0, 0x4412c000, 0x40002000, 0x40002000, 0x2000,
			0x2000, 0x40002000, 0x40002000, 0x10000000, 0x4432e000, 0x0, 0x4412c000, 0x40000000,
			0x40000000, 0x0, 0x0, 0x0, 0x2412c000, 0x2412c000, 0x0, 0x40002000, 0x40002000, 0x0,
			0x0, 0x0, 0x0, 0x4412c000, 0x40000000, 0x0, 0x0, 0x0, 0x66b3c000, 0x2412c000, 0x0,
			0x412c000, 0x0, 0x4128000, 0x0, 0x4128000, 0x412c000, 0x0, 0x2412c000, 0x0, 0x0, 0x0,
			0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
			0x2412c000, 0x0, 0x0, 0x2412c000, 0x20004000, 0x0, 0x0, 0x0, 0x0, 0x20000000, 0x0,
			0x4000, 0x0, 0x20000000, 0x20000000, 0x2412c000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
			0x2693c000, 0x0, 0x66b3c000, 0x26b3c000, 0x40000000, 0x0, 0x0, 0x0, 0x2412c000,
			0x1040000, 0x66b3c000, 0x1040000, 0x8000000, 0x6412c000, 0x2412c000, 0x2412c000,
			0x2412c000, 0x0, 0x4000, 0x4000, 0x2412c000, 0x80000, 0x80000000, 0x4000, };
	final private int[] jj_la1_1 = { 0x2000, 0x20, 0x910100, 0x2020, 0x2020, 0x20, 0x910100,
			0x2000, 0x20, 0x910000, 0x910000, 0x100, 0x0, 0x10100, 0x910000, 0x910000, 0x0, 0x10,
			0xc89dc781, 0x19c000, 0x19c000, 0x0, 0x880dc281, 0x99c400, 0x99c400, 0x10000, 0x10000,
			0x19c000, 0x19c000, 0x0, 0xc89dc781, 0x0, 0x880dc281, 0x8809c000, 0x8809c000, 0x0, 0x0,
			0x0, 0x51241a81, 0x51241a81, 0x0, 0x99c400, 0x99c400, 0x4000000, 0x0, 0x0, 0x0,
			0x40281, 0x0, 0x1c000, 0x1c000, 0x4000000, 0x73e61b8b, 0x51241a81, 0x80000, 0x40281,
			0x0, 0x40281, 0x0, 0x40281, 0x40040281, 0x0, 0x51241a81, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
			0x0, 0x0, 0x0, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x51241a81, 0x0, 0x0,
			0x51241a81, 0x11201800, 0x0, 0x0, 0x0, 0x0, 0x11001000, 0x800, 0x0, 0x0, 0x10001000,
			0x10000000, 0x51241a81, 0x0, 0x0, 0x0, 0x800, 0x0, 0x0, 0x0, 0x73e61a8b, 0x0,
			0x73e61b8b, 0x73e61b8b, 0x0, 0x0, 0x0, 0x0, 0x51241a81, 0x0, 0x73e61b8b, 0x0, 0x0,
			0x51241a81, 0x51241a81, 0x51241a81, 0x51241a81, 0x0, 0x0, 0x0, 0x51241a81, 0x0, 0x0,
			0x0, };
	final private int[] jj_la1_2 = { 0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, 0x40000, 0x0, 0x0, 0x0, 0x0,
			0x0, 0x100000, 0x40000, 0x0, 0x0, 0x0, 0x0, 0x44200, 0x0, 0x0, 0x40000, 0x200, 0x0,
			0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40200, 0x40000, 0x200, 0x0, 0x0, 0x80000, 0x200000,
			0x10000, 0x30053a2, 0x30053a2, 0x80000, 0x0, 0x0, 0x0, 0x44000, 0x10000, 0x80000,
			0x200, 0x0, 0x0, 0x0, 0x0, 0x453a3, 0x13a2, 0x0, 0x200, 0x10000, 0x200, 0x10000, 0x0,
			0x200, 0x80000, 0x30013a2, 0x200000, 0x4000000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x90000000,
			0x90000000, 0x0, 0x60c00000, 0x60c00000, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30013a2,
			0x3000000, 0x3000000, 0x13a2, 0x30013a2, 0x1000, 0x0, 0x0, 0x1000, 0x1a2, 0x1000,
			0x200, 0x111000, 0x1a2, 0x0, 0x30013a2, 0x80000, 0x4000, 0x11000, 0x0, 0x10000,
			0x10000, 0x44000, 0x13a3, 0x8000000, 0x453a3, 0x453a3, 0x0, 0x80000, 0x200000,
			0x200000, 0x13a2, 0x0, 0x453a3, 0x0, 0x0, 0x13a2, 0x30013a2, 0x13a2, 0x13a2, 0x80000,
			0x200, 0x200, 0x30013a2, 0x0, 0x0, 0x200, };
	final private int[] jj_la1_3 = { 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
			0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
			0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
			0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3c,
			0x3ff8000, 0x0, 0x1, 0x2, 0x200, 0x400, 0x100, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7000, 0x7000,
			0x30, 0x30, 0x8c0, 0x8c0, 0x30, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0xc, 0x0, 0x0, 0x0,
			0x0, 0x0, 0x0, 0x0, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x0, 0xc, 0xc, 0x0,
			0x0, 0x3ff800c, 0x3ff800c, 0xc, 0x0, 0xc, 0x0, 0x0, 0xc, 0x3c, 0xc, 0xc, 0x0, 0x0, 0x0,
			0x3c, 0x0, 0x0, 0x0, };
	final private JJCalls[] jj_2_rtns = new JJCalls[37];
	private boolean jj_rescan = false;
	private int jj_gc = 0;

	public JavaParser(java.io.InputStream stream)
	{
		jj_input_stream = new ASCII_UCodeESC_CharStream(stream, 1, 1);
		token_source = new JavaParserTokenManager(jj_input_stream);
		token = new Token();
		jj_ntk = -1;
		jj_gen = 0;
		for (int i = 0; i < 129; i++)
			jj_la1[i] = -1;
		for (int i = 0; i < jj_2_rtns.length; i++)
			jj_2_rtns[i] = new JJCalls();
	}

	final private Token jj_consume_token(int kind) throws ParseException
	{
		Token oldToken;
		if ((oldToken = token).next != null)
			token = token.next;
		else
			token = token.next = token_source.getNextToken();
		jj_ntk = -1;
		if (token.kind == kind)
		{
			jj_gen++;
			if (++jj_gc > 100)
			{
				jj_gc = 0;
				for (int i = 0; i < jj_2_rtns.length; i++)
				{
					JJCalls c = jj_2_rtns[i];
					while (c != null)
					{
						if (c.gen < jj_gen)
							c.first = null;
						c = c.next;
					}
				}
			}
			return token;
		}
		token = oldToken;
		jj_kind = kind;
		throw generateParseException();
	}

	final private boolean jj_scan_token(int kind)
	{
		if (jj_scanpos == jj_lastpos)
		{
			jj_la--;
			if (jj_scanpos.next == null)
			{
				jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
			}
			else
			{
				jj_lastpos = jj_scanpos = jj_scanpos.next;
			}
		}
		else
		{
			jj_scanpos = jj_scanpos.next;
		}
		if (jj_rescan)
		{
			int i = 0;
			Token tok = token;
			while (tok != null && tok != jj_scanpos)
			{
				i++;
				tok = tok.next;
			}
			if (tok != null)
				jj_add_error_token(kind, i);
		}
		return (jj_scanpos.kind != kind);
	}

	final private Token getToken(int index)
	{
		Token t = lookingAhead ? jj_scanpos : token;
		for (int i = 0; i < index; i++)
		{
			if (t.next != null)
				t = t.next;
			else
				t = t.next = token_source.getNextToken();
		}
		return t;
	}

	final private int jj_ntk()
	{
		if ((jj_nt = token.next) == null)
			return (jj_ntk = (token.next = token_source.getNextToken()).kind);
		return (jj_ntk = jj_nt.kind);
	}

	private java.util.Vector jj_expentries = new java.util.Vector();
	private int[] jj_expentry;
	private int jj_kind = -1;
	private int[] jj_lasttokens = new int[100];
	private int jj_endpos;

	private void jj_add_error_token(int kind, int pos)
	{
		if (pos >= 100)
			return;
		if (pos == jj_endpos + 1)
		{
			jj_lasttokens[jj_endpos++] = kind;
		}
		else if (jj_endpos != 0)
		{
			jj_expentry = new int[jj_endpos];
			for (int i = 0; i < jj_endpos; i++)
			{
				jj_expentry[i] = jj_lasttokens[i];
			}
			boolean exists = false;
			for (java.util.Enumeration enumeration = jj_expentries.elements(); enumeration
					.hasMoreElements();)
			{
				int[] oldentry = (int[])(enumeration.nextElement());
				if (oldentry.length == jj_expentry.length)
				{
					exists = true;
					for (int i = 0; i < jj_expentry.length; i++)
					{
						if (oldentry[i] != jj_expentry[i])
						{
							exists = false;
							break;
						}
					}
					if (exists)
						break;
				}
			}
			if (!exists)
				jj_expentries.addElement(jj_expentry);
			if (pos != 0)
				jj_lasttokens[(jj_endpos = pos) - 1] = kind;
		}
	}

	final private ParseException generateParseException()
	{
		jj_expentries.removeAllElements();
		boolean[] la1tokens = new boolean[122];
		for (int i = 0; i < 122; i++)
		{
			la1tokens[i] = false;
		}
		if (jj_kind >= 0)
		{
			la1tokens[jj_kind] = true;
			jj_kind = -1;
		}
		for (int i = 0; i < 129; i++)
		{
			if (jj_la1[i] == jj_gen)
			{
				for (int j = 0; j < 32; j++)
				{
					if ((jj_la1_0[i] & (1 << j)) != 0)
					{
						la1tokens[j] = true;
					}
					if ((jj_la1_1[i] & (1 << j)) != 0)
					{
						la1tokens[32 + j] = true;
					}
					if ((jj_la1_2[i] & (1 << j)) != 0)
					{
						la1tokens[64 + j] = true;
					}
					if ((jj_la1_3[i] & (1 << j)) != 0)
					{
						la1tokens[96 + j] = true;
					}
				}
			}
		}
		for (int i = 0; i < 122; i++)
		{
			if (la1tokens[i])
			{
				jj_expentry = new int[1];
				jj_expentry[0] = i;
				jj_expentries.addElement(jj_expentry);
			}
		}
		jj_endpos = 0;
		jj_rescan_token();
		jj_add_error_token(0, 0);
		int[][] exptokseq = new int[jj_expentries.size()][];
		for (int i = 0; i < jj_expentries.size(); i++)
		{
			exptokseq[i] = (int[])jj_expentries.elementAt(i);
		}
		return new ParseException(token, exptokseq, tokenImage);
	}

	final private void jj_rescan_token()
	{
		jj_rescan = true;
		for (int i = 0; i < 37; i++)
		{
			JJCalls p = jj_2_rtns[i];
			do
			{
				if (p.gen > jj_gen)
				{
					jj_la = p.arg;
					jj_lastpos = jj_scanpos = p.first;
					switch (i)
					{
						case 0:
							jj_3_1();
							break;
						case 1:
							jj_3_2();
							break;
						case 2:
							jj_3_3();
							break;
						case 3:
							jj_3_4();
							break;
						case 4:
							jj_3_5();
							break;
						case 5:
							jj_3_6();
							break;
						case 6:
							jj_3_7();
							break;
						case 7:
							jj_3_8();
							break;
						case 8:
							jj_3_9();
							break;
						case 9:
							jj_3_10();
							break;
						case 10:
							jj_3_11();
							break;
						case 11:
							jj_3_12();
							break;
						case 12:
							jj_3_13();
							break;
						case 13:
							jj_3_14();
							break;
						case 14:
							jj_3_15();
							break;
						case 15:
							jj_3_16();
							break;
						case 16:
							jj_3_17();
							break;
						case 17:
							jj_3_18();
							break;
						case 18:
							jj_3_19();
							break;
						case 19:
							jj_3_20();
							break;
						case 20:
							jj_3_21();
							break;
						case 21:
							jj_3_22();
							break;
						case 22:
							jj_3_23();
							break;
						case 23:
							jj_3_24();
							break;
						case 24:
							jj_3_25();
							break;
						case 25:
							jj_3_26();
							break;
						case 26:
							jj_3_27();
							break;
						case 27:
							jj_3_28();
							break;
						case 28:
							jj_3_29();
							break;
						case 29:
							jj_3_30();
							break;
						case 30:
							jj_3_31();
							break;
						case 31:
							jj_3_32();
							break;
						case 32:
							jj_3_33();
							break;
						case 33:
							jj_3_34();
							break;
						case 34:
							jj_3_35();
							break;
						case 35:
							jj_3_36();
							break;
						case 36:
							jj_3_37();
							break;
					}
				}
				p = p.next;
			} while (p != null);
		}
		jj_rescan = false;
	}

	final private void jj_save(int index, int xla)
	{
		JJCalls p = jj_2_rtns[index];
		while (p.gen > jj_gen)
		{
			if (p.next == null)
			{
				p = p.next = new JJCalls();
				break;
			}
			p = p.next;
		}
		p.gen = jj_gen + xla - jj_la;
		p.first = token;
		p.arg = xla;
	}

	private static final class JJCalls
	{

		int gen;
		Token first;
		int arg;
		JJCalls next;
	}

}
... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.