[jboss-svn-commits] JBL Code SVN: r7929 - in labs/jbossrules/trunk/drools-compiler: . src/main/java/org/drools/semantics/java src/main/java/org/drools/semantics/java/parser src/main/resources/org/drools/semantics/java/parser

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Nov 29 06:53:21 EST 2006


Author: tirelli
Date: 2006-11-29 06:53:01 -0500 (Wed, 29 Nov 2006)
New Revision: 7929

Added:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g
Removed:
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParser.java
   labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g
Modified:
   labs/jbossrules/trunk/drools-compiler/pom.xml
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/JavaExprAnalyzer.java
   labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserLexer.java
Log:
JBRULES-519: updating java parser to antlr-3.0b5 version

Modified: labs/jbossrules/trunk/drools-compiler/pom.xml
===================================================================
--- labs/jbossrules/trunk/drools-compiler/pom.xml	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/pom.xml	2006-11-29 11:53:01 UTC (rev 7929)
@@ -55,13 +55,13 @@
 	 <dependency>
 			<groupId>org.antlr</groupId>
 			<artifactId>antlr</artifactId>    
-			<version>3.0ea8</version>
+			<version>3.0b5</version>
     </dependency>     
     
 	 <dependency>
 			<groupId>antlr</groupId>
 			<artifactId>antlr</artifactId>    
-			<version>2.7.6</version>
+			<version>2.7.7</version>
     </dependency>       
 
     <dependency>

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/JavaExprAnalyzer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/JavaExprAnalyzer.java	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/JavaExprAnalyzer.java	2006-11-29 11:53:01 UTC (rev 7929)
@@ -26,8 +26,8 @@
 import org.antlr.runtime.CommonTokenStream;
 import org.antlr.runtime.RecognitionException;
 import org.antlr.runtime.TokenStream;
-import org.drools.semantics.java.parser.JavaParser;
 import org.drools.semantics.java.parser.JavaParserLexer;
+import org.drools.semantics.java.parser.JavaParserParser;
 
 /**
  * Expression analyzer.
@@ -67,7 +67,7 @@
         final CharStream charStream = new ANTLRStringStream( expr );
         final JavaParserLexer lexer = new JavaParserLexer( charStream );
         final TokenStream tokenStream = new CommonTokenStream( lexer );
-        final JavaParser parser = new JavaParser( tokenStream );
+        final JavaParserParser parser = new JavaParserParser( tokenStream );
 
         parser.logicalOrExpression();
 
@@ -80,7 +80,7 @@
         final CharStream charStream = new ANTLRStringStream( "{" + expr + "}" );
         final JavaParserLexer lexer = new JavaParserLexer( charStream );
         final TokenStream tokenStream = new CommonTokenStream( lexer );
-        final JavaParser parser = new JavaParser( tokenStream );
+        final JavaParserParser parser = new JavaParserParser( tokenStream );
 
         parser.compoundStatement();
 

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParser.java	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParser.java	2006-11-29 11:53:01 UTC (rev 7929)
@@ -1,6797 +0,0 @@
-// $ANTLR 3.0ea8 /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g 2006-04-10 01:50:29
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.drools.semantics.java.parser;
-
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import org.antlr.runtime.BitSet;
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.DFA;
-import org.antlr.runtime.EarlyExitException;
-import org.antlr.runtime.FailedPredicateException;
-import org.antlr.runtime.IntStream;
-import org.antlr.runtime.MismatchedNotSetException;
-import org.antlr.runtime.MismatchedSetException;
-import org.antlr.runtime.MismatchedTokenException;
-import org.antlr.runtime.MismatchedTreeNodeException;
-import org.antlr.runtime.NoViableAltException;
-import org.antlr.runtime.Parser;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.Token;
-import org.antlr.runtime.TokenStream;
-
-public class JavaParser extends Parser {
-    public static final String[] tokenNames        = new String[]{"<invalid>", "<EOR>", "<DOWN>", "<UP>", "LBRACK", "RBRACK", "IDENT", "DOT", "STAR", "LCURLY", "SEMI", "RCURLY", "COMMA", "LPAREN", "RPAREN", "ASSIGN", "COLON", "PLUS_ASSIGN",
-            "MINUS_ASSIGN", "STAR_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "SR_ASSIGN", "BSR_ASSIGN", "SL_ASSIGN", "BAND_ASSIGN", "BXOR_ASSIGN", "BOR_ASSIGN", "QUESTION", "LOR", "LAND", "BOR", "BXOR", "BAND", "NOT_EQUAL", "EQUAL", "LT", "GT", "LE",
-            "GE", "SL", "SR", "BSR", "PLUS", "MINUS", "DIV", "MOD", "INC", "DEC", "BNOT", "LNOT", "NUM_INT", "CHAR_LITERAL", "STRING_LITERAL", "NUM_FLOAT", "WS", "SL_COMMENT", "ML_COMMENT", "DECIMAL_LITERAL", "HEX_LITERAL", "OCTAL_LITERAL",
-            "DIGITS", "EXPONENT_PART", "FLOAT_TYPE_SUFFIX", "ESCAPE_SEQUENCE", "OCTAL_DIGIT", "UNICODE_CHAR", "HEX_DIGIT", "\'void\'", "\'boolean\'", "\'byte\'", "\'char\'", "\'short\'", "\'int\'", "\'float\'", "\'long\'", "\'double\'",
-            "\'private\'", "\'public\'", "\'protected\'", "\'static\'", "\'transient\'", "\'final\'", "\'abstract\'", "\'native\'", "\'threadsafe\'", "\'synchronized\'", "\'volatile\'", "\'strictfp\'", "\'class\'", "\'extends\'", "\'interface\'",
-            "\'implements\'", "\'this\'", "\'super\'", "\'throws\'", "\'if\'", "\'else\'", "\'for\'", "\'while\'", "\'do\'", "\'break\'", "\'continue\'", "\'return\'", "\'switch\'", "\'throw\'", "\'case\'", "\'default\'", "\'try\'", "\'finally\'",
-            "\'catch\'", "\'instanceof\'", "\'true\'", "\'false\'", "\'null\'", "\'new\'"};
-    public static final int      COMMA             = 12;
-    public static final int      SR_ASSIGN         = 22;
-    public static final int      MINUS             = 44;
-    public static final int      LOR               = 29;
-    public static final int      BNOT              = 49;
-    public static final int      INC               = 47;
-    public static final int      MOD               = 46;
-    public static final int      OCTAL_LITERAL     = 60;
-    public static final int      PLUS_ASSIGN       = 17;
-    public static final int      QUESTION          = 28;
-    public static final int      HEX_LITERAL       = 59;
-    public static final int      BOR               = 31;
-    public static final int      DOT               = 7;
-    public static final int      SR                = 41;
-    public static final int      FLOAT_TYPE_SUFFIX = 63;
-    public static final int      RCURLY            = 11;
-    public static final int      LCURLY            = 9;
-    public static final int      CHAR_LITERAL      = 52;
-    public static final int      BOR_ASSIGN        = 27;
-    public static final int      STRING_LITERAL    = 53;
-    public static final int      ASSIGN            = 15;
-    public static final int      LE                = 38;
-    public static final int      RPAREN            = 14;
-    public static final int      STAR_ASSIGN       = 19;
-    public static final int      NUM_INT           = 51;
-    public static final int      LPAREN            = 13;
-    public static final int      HEX_DIGIT         = 67;
-    public static final int      ML_COMMENT        = 57;
-    public static final int      PLUS              = 43;
-    public static final int      SL_COMMENT        = 56;
-    public static final int      BAND              = 33;
-    public static final int      MINUS_ASSIGN      = 18;
-    public static final int      NOT_EQUAL         = 34;
-    public static final int      BAND_ASSIGN       = 25;
-    public static final int      DIGITS            = 61;
-    public static final int      DECIMAL_LITERAL   = 58;
-    public static final int      IDENT             = 6;
-    public static final int      MOD_ASSIGN        = 21;
-    public static final int      WS                = 55;
-    public static final int      BXOR_ASSIGN       = 26;
-    public static final int      LT                = 36;
-    public static final int      BSR               = 42;
-    public static final int      GT                = 37;
-    public static final int      BSR_ASSIGN        = 23;
-    public static final int      SL_ASSIGN         = 24;
-    public static final int      LAND              = 30;
-    public static final int      LBRACK            = 4;
-    public static final int      NUM_FLOAT         = 54;
-    public static final int      SEMI              = 10;
-    public static final int      GE                = 39;
-    public static final int      LNOT              = 50;
-    public static final int      DIV_ASSIGN        = 20;
-    public static final int      UNICODE_CHAR      = 66;
-    public static final int      DEC               = 48;
-    public static final int      EQUAL             = 35;
-    public static final int      ESCAPE_SEQUENCE   = 64;
-    public static final int      EOF               = -1;
-    public static final int      OCTAL_DIGIT       = 65;
-    public static final int      RBRACK            = 5;
-    public static final int      COLON             = 16;
-    public static final int      SL                = 40;
-    public static final int      DIV               = 45;
-    public static final int      STAR              = 8;
-    public static final int      BXOR              = 32;
-    public static final int      EXPONENT_PART     = 62;
-
-    public JavaParser(final TokenStream input) {
-        super( input );
-    }
-
-    public String[] getTokenNames() {
-        return JavaParser.tokenNames;
-    }
-
-    private final List identifiers = new ArrayList();
-
-    public List getIdentifiers() {
-        return this.identifiers;
-    }
-
-    public static final CommonToken IGNORE_TOKEN = new CommonToken( null,
-                                                                    0,
-                                                                    99,
-                                                                    0,
-                                                                    0 );
-    private final List                    errors       = new ArrayList();
-
-    private String                  source       = "unknown";
-
-    public void setSource(final String source) {
-        this.source = source;
-    }
-
-    public String getSource() {
-        return this.source;
-    }
-
-    public void reportError(final RecognitionException ex) {
-        // if we've already reported an error and have not matched a token
-        // yet successfully, don't report any errors.
-        if ( this.errorRecovery ) {
-            //System.err.print("[SPURIOUS] ");
-            return;
-        }
-        this.errorRecovery = true;
-
-        this.errors.add( ex );
-    }
-
-    /** return the raw RecognitionException errors */
-    public List getErrors() {
-        return this.errors;
-    }
-
-    /** Return a list of pretty strings summarising the errors */
-    public List getErrorMessages() {
-        final List messages = new ArrayList();
-        for ( final Iterator errorIter = this.errors.iterator(); errorIter.hasNext(); ) {
-            messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
-        }
-        return messages;
-    }
-
-    /** return true if any parser errors were accumulated */
-    public boolean hasErrors() {
-        return !this.errors.isEmpty();
-    }
-
-    /** This will take a RecognitionException, and create a sensible error message out of it */
-    public String createErrorMessage(final RecognitionException e) {
-        final StringBuffer message = new StringBuffer();
-        message.append( this.source + ":" + e.line + ":" + e.charPositionInLine + " " );
-        if ( e instanceof MismatchedTokenException ) {
-            final MismatchedTokenException mte = (MismatchedTokenException) e;
-            message.append( "mismatched token: " + e.token + "; expecting type " + JavaParser.tokenNames[mte.expecting] );
-        } else if ( e instanceof MismatchedTreeNodeException ) {
-            final MismatchedTreeNodeException mtne = (MismatchedTreeNodeException) e;
-            message.append( "mismatched tree node: " + mtne.foundNode + "; expecting type " + JavaParser.tokenNames[mtne.expecting] );
-        } else if ( e instanceof NoViableAltException ) {
-            final NoViableAltException nvae = (NoViableAltException) e;
-            message.append( "Unexpected token '" + e.token.getText() + "'" );
-            /*
-             message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
-             " state "+nvae.stateNumber+
-             " (decision="+nvae.decisionNumber+
-             ") no viable alt; token="+
-             e.token);
-             */
-        } else if ( e instanceof EarlyExitException ) {
-            final EarlyExitException eee = (EarlyExitException) e;
-            message.append( "required (...)+ loop (decision=" + eee.decisionNumber + ") did not match anything; token=" + e.token );
-        } else if ( e instanceof MismatchedSetException ) {
-            final MismatchedSetException mse = (MismatchedSetException) e;
-            message.append( "mismatched token '" + e.token + "' expecting set " + mse.expecting );
-        } else if ( e instanceof MismatchedNotSetException ) {
-            final MismatchedNotSetException mse = (MismatchedNotSetException) e;
-            message.append( "mismatched token '" + e.token + "' expecting set " + mse.expecting );
-        } else if ( e instanceof FailedPredicateException ) {
-            final FailedPredicateException fpe = (FailedPredicateException) e;
-            message.append( "rule " + fpe.ruleName + " failed predicate: {" + fpe.predicateText + "}?" );
-        }
-        return message.toString();
-    }
-
-    // $ANTLR start declaration
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:139:1: declaration : modifiers typeSpec variableDefinitions ;
-    public void declaration() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:143:17: ( modifiers typeSpec variableDefinitions )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:143:17: modifiers typeSpec variableDefinitions
-            {
-                this.following.push( JavaParser.FOLLOW_modifiers_in_declaration59 );
-                modifiers();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_typeSpec_in_declaration61 );
-                typeSpec();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_variableDefinitions_in_declaration63 );
-                variableDefinitions();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end declaration
-
-    // $ANTLR start typeSpec
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );
-    public void typeSpec() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:150:11: ( classTypeSpec | builtInTypeSpec )
-            int alt1 = 2;
-            final int LA1_0 = this.input.LA( 1 );
-            if ( LA1_0 == JavaParser.IDENT ) {
-                alt1 = 1;
-            } else if ( (LA1_0 >= 68 && LA1_0 <= 76) ) {
-                alt1 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );",
-                                                                      1,
-                                                                      0,
-                                                                      this.input );
-
-                throw nvae;
-            }
-            switch ( alt1 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:150:11: classTypeSpec
-                {
-                    this.following.push( JavaParser.FOLLOW_classTypeSpec_in_typeSpec79 );
-                    classTypeSpec();
-                    this.following.pop();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:151:11: builtInTypeSpec
-                {
-                    this.following.push( JavaParser.FOLLOW_builtInTypeSpec_in_typeSpec84 );
-                    builtInTypeSpec();
-                    this.following.pop();
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end typeSpec
-
-    // $ANTLR start classTypeSpec
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:156:1: classTypeSpec : identifier ( LBRACK RBRACK )* ;
-    public void classTypeSpec() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:157:17: ( identifier ( LBRACK RBRACK )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:157:17: identifier ( LBRACK RBRACK )*
-            {
-                this.following.push( JavaParser.FOLLOW_identifier_in_classTypeSpec97 );
-                identifier();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:157:28: ( LBRACK RBRACK )*
-                loop2 : do {
-                    int alt2 = 2;
-                    final int LA2_0 = this.input.LA( 1 );
-                    if ( LA2_0 == JavaParser.LBRACK ) {
-                        alt2 = 1;
-                    }
-
-                    switch ( alt2 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:157:29: LBRACK RBRACK
-                        {
-                            match( this.input,
-                                   JavaParser.LBRACK,
-                                   JavaParser.FOLLOW_LBRACK_in_classTypeSpec100 );
-                            match( this.input,
-                                   JavaParser.RBRACK,
-                                   JavaParser.FOLLOW_RBRACK_in_classTypeSpec103 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop2;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end classTypeSpec
-
-    // $ANTLR start builtInTypeSpec
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:162:1: builtInTypeSpec : builtInType ( LBRACK RBRACK )* ;
-    public void builtInTypeSpec() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:163:17: ( builtInType ( LBRACK RBRACK )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:163:17: builtInType ( LBRACK RBRACK )*
-            {
-                this.following.push( JavaParser.FOLLOW_builtInType_in_builtInTypeSpec118 );
-                builtInType();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:163:29: ( LBRACK RBRACK )*
-                loop3 : do {
-                    int alt3 = 2;
-                    final int LA3_0 = this.input.LA( 1 );
-                    if ( LA3_0 == JavaParser.LBRACK ) {
-                        alt3 = 1;
-                    }
-
-                    switch ( alt3 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:163:30: LBRACK RBRACK
-                        {
-                            match( this.input,
-                                   JavaParser.LBRACK,
-                                   JavaParser.FOLLOW_LBRACK_in_builtInTypeSpec121 );
-                            match( this.input,
-                                   JavaParser.RBRACK,
-                                   JavaParser.FOLLOW_RBRACK_in_builtInTypeSpec124 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop3;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end builtInTypeSpec
-
-    // $ANTLR start type
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:168:1: type : ( identifier | builtInType );
-    public void type() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:169:17: ( identifier | builtInType )
-            int alt4 = 2;
-            final int LA4_0 = this.input.LA( 1 );
-            if ( LA4_0 == JavaParser.IDENT ) {
-                alt4 = 1;
-            } else if ( (LA4_0 >= 68 && LA4_0 <= 76) ) {
-                alt4 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "168:1: type : ( identifier | builtInType );",
-                                                                      4,
-                                                                      0,
-                                                                      this.input );
-
-                throw nvae;
-            }
-            switch ( alt4 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:169:17: identifier
-                {
-                    this.following.push( JavaParser.FOLLOW_identifier_in_type139 );
-                    identifier();
-                    this.following.pop();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:170:17: builtInType
-                {
-                    this.following.push( JavaParser.FOLLOW_builtInType_in_type144 );
-                    builtInType();
-                    this.following.pop();
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end type
-
-    // $ANTLR start builtInType
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:174:1: builtInType : ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double');
-    public void builtInType() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:175:9: ( ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double'))
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:175:17: ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double')
-            {
-                if ( (this.input.LA( 1 ) >= 68 && this.input.LA( 1 ) <= 76) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              JavaParser.FOLLOW_set_in_builtInType156 );
-                    throw mse;
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end builtInType
-
-    // $ANTLR start identifier
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:188:1: identifier : IDENT ( DOT IDENT )* ;
-    public void identifier() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:189:17: ( IDENT ( DOT IDENT )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:189:17: IDENT ( DOT IDENT )*
-            {
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_identifier209 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:189:24: ( DOT IDENT )*
-                loop5 : do {
-                    int alt5 = 2;
-                    final int LA5_0 = this.input.LA( 1 );
-                    if ( LA5_0 == JavaParser.DOT ) {
-                        alt5 = 1;
-                    }
-
-                    switch ( alt5 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:189:26: DOT IDENT
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_identifier214 );
-                            match( this.input,
-                                   JavaParser.IDENT,
-                                   JavaParser.FOLLOW_IDENT_in_identifier216 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop5;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end identifier
-
-    // $ANTLR start identifierStar
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:192:1: identifierStar : IDENT ( DOT IDENT )* ( DOT STAR )? ;
-    public void identifierStar() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:193:17: ( IDENT ( DOT IDENT )* ( DOT STAR )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:193:17: IDENT ( DOT IDENT )* ( DOT STAR )?
-            {
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_identifierStar230 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:194:17: ( DOT IDENT )*
-                loop6 : do {
-                    int alt6 = 2;
-                    final int LA6_0 = this.input.LA( 1 );
-                    if ( LA6_0 == JavaParser.DOT ) {
-                        final int LA6_1 = this.input.LA( 2 );
-                        if ( LA6_1 == JavaParser.IDENT ) {
-                            alt6 = 1;
-                        }
-
-                    }
-
-                    switch ( alt6 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:194:19: DOT IDENT
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_identifierStar236 );
-                            match( this.input,
-                                   JavaParser.IDENT,
-                                   JavaParser.FOLLOW_IDENT_in_identifierStar238 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop6;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:195:17: ( DOT STAR )?
-                int alt7 = 2;
-                final int LA7_0 = this.input.LA( 1 );
-                if ( LA7_0 == JavaParser.DOT ) {
-                    alt7 = 1;
-                } else if ( LA7_0 == -1 ) {
-                    alt7 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "195:17: ( DOT STAR )?",
-                                                                          7,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt7 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:195:19: DOT STAR
-                    {
-                        match( this.input,
-                               JavaParser.DOT,
-                               JavaParser.FOLLOW_DOT_in_identifierStar247 );
-                        match( this.input,
-                               JavaParser.STAR,
-                               JavaParser.FOLLOW_STAR_in_identifierStar249 );
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end identifierStar
-
-    // $ANTLR start modifiers
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:202:1: modifiers : ( modifier )* ;
-    public void modifiers() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:203:17: ( ( modifier )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:203:17: ( modifier )*
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:203:17: ( modifier )*
-                loop8 : do {
-                    int alt8 = 2;
-                    final int LA8_0 = this.input.LA( 1 );
-                    if ( (LA8_0 >= 77 && LA8_0 <= 88) ) {
-                        alt8 = 1;
-                    }
-
-                    switch ( alt8 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:203:19: modifier
-                        {
-                            this.following.push( JavaParser.FOLLOW_modifier_in_modifiers270 );
-                            modifier();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop8;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end modifiers
-
-    // $ANTLR start modifier
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:208:1: modifier : ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp');
-    public void modifier() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:209:9: ( ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp'))
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:209:17: ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp')
-            {
-                if ( (this.input.LA( 1 ) >= 77 && this.input.LA( 1 ) <= 88) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              JavaParser.FOLLOW_set_in_modifier288 );
-                    throw mse;
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end modifier
-
-    // $ANTLR start classDefinition
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:225:1: classDefinition : 'class' IDENT superClassClause implementsClause classBlock ;
-    public void classDefinition() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:226:17: ( 'class' IDENT superClassClause implementsClause classBlock )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:226:17: 'class' IDENT superClassClause implementsClause classBlock
-            {
-                match( this.input,
-                       89,
-                       JavaParser.FOLLOW_89_in_classDefinition356 );
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_classDefinition358 );
-                this.following.push( JavaParser.FOLLOW_superClassClause_in_classDefinition365 );
-                superClassClause();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_implementsClause_in_classDefinition372 );
-                implementsClause();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_classBlock_in_classDefinition379 );
-                classBlock();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end classDefinition
-
-    // $ANTLR start superClassClause
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:235:1: superClassClause : ( 'extends' identifier )? ;
-    public void superClassClause() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:236:17: ( ( 'extends' identifier )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:236:17: ( 'extends' identifier )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:236:17: ( 'extends' identifier )?
-                int alt9 = 2;
-                final int LA9_0 = this.input.LA( 1 );
-                if ( LA9_0 == 90 ) {
-                    alt9 = 1;
-                } else if ( LA9_0 == JavaParser.LCURLY || LA9_0 == 92 ) {
-                    alt9 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "236:17: ( \'extends\' identifier )?",
-                                                                          9,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt9 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:236:19: 'extends' identifier
-                    {
-                        match( this.input,
-                               90,
-                               JavaParser.FOLLOW_90_in_superClassClause392 );
-                        this.following.push( JavaParser.FOLLOW_identifier_in_superClassClause394 );
-                        identifier();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end superClassClause
-
-    // $ANTLR start interfaceDefinition
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:241:1: interfaceDefinition : 'interface' IDENT interfaceExtends classBlock ;
-    public void interfaceDefinition() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:242:17: ( 'interface' IDENT interfaceExtends classBlock )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:242:17: 'interface' IDENT interfaceExtends classBlock
-            {
-                match( this.input,
-                       91,
-                       JavaParser.FOLLOW_91_in_interfaceDefinition412 );
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_interfaceDefinition414 );
-                this.following.push( JavaParser.FOLLOW_interfaceExtends_in_interfaceDefinition421 );
-                interfaceExtends();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_classBlock_in_interfaceDefinition428 );
-                classBlock();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end interfaceDefinition
-
-    // $ANTLR start classBlock
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:252:1: classBlock : LCURLY ( field | SEMI )* RCURLY ;
-    public void classBlock() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:253:17: ( LCURLY ( field | SEMI )* RCURLY )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:253:17: LCURLY ( field | SEMI )* RCURLY
-            {
-                match( this.input,
-                       JavaParser.LCURLY,
-                       JavaParser.FOLLOW_LCURLY_in_classBlock442 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:254:25: ( field | SEMI )*
-                loop10 : do {
-                    int alt10 = 3;
-                    final int LA10_0 = this.input.LA( 1 );
-                    if ( LA10_0 == JavaParser.IDENT || LA10_0 == JavaParser.LCURLY || (LA10_0 >= 68 && LA10_0 <= 89) || LA10_0 == 91 ) {
-                        alt10 = 1;
-                    } else if ( LA10_0 == JavaParser.SEMI ) {
-                        alt10 = 2;
-                    }
-
-                    switch ( alt10 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:254:27: field
-                        {
-                            this.following.push( JavaParser.FOLLOW_field_in_classBlock449 );
-                            field();
-                            this.following.pop();
-
-                        }
-                            break;
-                        case 2 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:254:35: SEMI
-                        {
-                            match( this.input,
-                                   JavaParser.SEMI,
-                                   JavaParser.FOLLOW_SEMI_in_classBlock453 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop10;
-                    }
-                } while ( true );
-
-                match( this.input,
-                       JavaParser.RCURLY,
-                       JavaParser.FOLLOW_RCURLY_in_classBlock460 );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end classBlock
-
-    // $ANTLR start interfaceExtends
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:260:1: interfaceExtends : ( 'extends' identifier ( COMMA identifier )* )? ;
-    public void interfaceExtends() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:261:17: ( ( 'extends' identifier ( COMMA identifier )* )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:261:17: ( 'extends' identifier ( COMMA identifier )* )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:261:17: ( 'extends' identifier ( COMMA identifier )* )?
-                int alt12 = 2;
-                final int LA12_0 = this.input.LA( 1 );
-                if ( LA12_0 == 90 ) {
-                    alt12 = 1;
-                } else if ( LA12_0 == JavaParser.LCURLY ) {
-                    alt12 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "261:17: ( \'extends\' identifier ( COMMA identifier )* )?",
-                                                                          12,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt12 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:262:17: 'extends' identifier ( COMMA identifier )*
-                    {
-                        match( this.input,
-                               90,
-                               JavaParser.FOLLOW_90_in_interfaceExtends479 );
-                        this.following.push( JavaParser.FOLLOW_identifier_in_interfaceExtends483 );
-                        identifier();
-                        this.following.pop();
-
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:263:28: ( COMMA identifier )*
-                        loop11 : do {
-                            int alt11 = 2;
-                            final int LA11_0 = this.input.LA( 1 );
-                            if ( LA11_0 == JavaParser.COMMA ) {
-                                alt11 = 1;
-                            }
-
-                            switch ( alt11 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:263:30: COMMA identifier
-                                {
-                                    match( this.input,
-                                           JavaParser.COMMA,
-                                           JavaParser.FOLLOW_COMMA_in_interfaceExtends487 );
-                                    this.following.push( JavaParser.FOLLOW_identifier_in_interfaceExtends489 );
-                                    identifier();
-                                    this.following.pop();
-
-                                }
-                                    break;
-
-                                default :
-                                    break loop11;
-                            }
-                        } while ( true );
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end interfaceExtends
-
-    // $ANTLR start implementsClause
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:268:1: implementsClause : ( 'implements' identifier ( COMMA identifier )* )? ;
-    public void implementsClause() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:269:17: ( ( 'implements' identifier ( COMMA identifier )* )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:269:17: ( 'implements' identifier ( COMMA identifier )* )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:269:17: ( 'implements' identifier ( COMMA identifier )* )?
-                int alt14 = 2;
-                final int LA14_0 = this.input.LA( 1 );
-                if ( LA14_0 == 92 ) {
-                    alt14 = 1;
-                } else if ( LA14_0 == JavaParser.LCURLY ) {
-                    alt14 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "269:17: ( \'implements\' identifier ( COMMA identifier )* )?",
-                                                                          14,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt14 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:270:25: 'implements' identifier ( COMMA identifier )*
-                    {
-                        match( this.input,
-                               92,
-                               JavaParser.FOLLOW_92_in_implementsClause514 );
-                        this.following.push( JavaParser.FOLLOW_identifier_in_implementsClause516 );
-                        identifier();
-                        this.following.pop();
-
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:270:49: ( COMMA identifier )*
-                        loop13 : do {
-                            int alt13 = 2;
-                            final int LA13_0 = this.input.LA( 1 );
-                            if ( LA13_0 == JavaParser.COMMA ) {
-                                alt13 = 1;
-                            }
-
-                            switch ( alt13 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:270:51: COMMA identifier
-                                {
-                                    match( this.input,
-                                           JavaParser.COMMA,
-                                           JavaParser.FOLLOW_COMMA_in_implementsClause520 );
-                                    this.following.push( JavaParser.FOLLOW_identifier_in_implementsClause522 );
-                                    identifier();
-                                    this.following.pop();
-
-                                }
-                                    break;
-
-                                default :
-                                    break loop13;
-                            }
-                        } while ( true );
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end implementsClause
-
-    // $ANTLR start field
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );
-    public void field() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:280:17: ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement )
-            int alt19 = 3;
-            switch ( this.input.LA( 1 ) ) {
-                case 80 :
-                    final int LA19_1 = this.input.LA( 2 );
-                    if ( LA19_1 == JavaParser.IDENT || (LA19_1 >= 68 && LA19_1 <= 89) || LA19_1 == 91 ) {
-                        alt19 = 1;
-                    } else if ( LA19_1 == JavaParser.LCURLY ) {
-                        alt19 = 2;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | \'static\' compoundStatement | compoundStatement );",
-                                                                              19,
-                                                                              1,
-                                                                              this.input );
-
-                        throw nvae;
-                    }
-                    break;
-                case IDENT :
-                case 68 :
-                case 69 :
-                case 70 :
-                case 71 :
-                case 72 :
-                case 73 :
-                case 74 :
-                case 75 :
-                case 76 :
-                case 77 :
-                case 78 :
-                case 79 :
-                case 81 :
-                case 82 :
-                case 83 :
-                case 84 :
-                case 85 :
-                case 86 :
-                case 87 :
-                case 88 :
-                case 89 :
-                case 91 :
-                    alt19 = 1;
-                    break;
-                case LCURLY :
-                    alt19 = 3;
-                    break;
-                default :
-                    final NoViableAltException nvae = new NoViableAltException( "278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | \'static\' compoundStatement | compoundStatement );",
-                                                                          19,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-            }
-
-            switch ( alt19 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:280:17: modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
-                {
-                    this.following.push( JavaParser.FOLLOW_modifiers_in_field548 );
-                    modifiers();
-                    this.following.pop();
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:281:17: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
-                    int alt18 = 4;
-                    switch ( this.input.LA( 1 ) ) {
-                        case IDENT :
-                            final int LA18_1 = this.input.LA( 2 );
-                            if ( LA18_1 == JavaParser.LPAREN ) {
-                                alt18 = 1;
-                            } else if ( LA18_1 == JavaParser.LBRACK || (LA18_1 >= JavaParser.IDENT && LA18_1 <= JavaParser.DOT) ) {
-                                alt18 = 4;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "281:17: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )",
-                                                                                      18,
-                                                                                      1,
-                                                                                      this.input );
-
-                                throw nvae;
-                            }
-                            break;
-                        case 89 :
-                            alt18 = 2;
-                            break;
-                        case 91 :
-                            alt18 = 3;
-                            break;
-                        case 68 :
-                        case 69 :
-                        case 70 :
-                        case 71 :
-                        case 72 :
-                        case 73 :
-                        case 74 :
-                        case 75 :
-                        case 76 :
-                            alt18 = 4;
-                            break;
-                        default :
-                            final NoViableAltException nvae = new NoViableAltException( "281:17: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )",
-                                                                                  18,
-                                                                                  0,
-                                                                                  this.input );
-
-                            throw nvae;
-                    }
-
-                    switch ( alt18 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:281:25: ctorHead constructorBody
-                        {
-                            this.following.push( JavaParser.FOLLOW_ctorHead_in_field554 );
-                            ctorHead();
-                            this.following.pop();
-
-                            this.following.push( JavaParser.FOLLOW_constructorBody_in_field556 );
-                            constructorBody();
-                            this.following.pop();
-
-                        }
-                            break;
-                        case 2 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:284:25: classDefinition
-                        {
-                            this.following.push( JavaParser.FOLLOW_classDefinition_in_field568 );
-                            classDefinition();
-                            this.following.pop();
-
-                        }
-                            break;
-                        case 3 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:287:25: interfaceDefinition
-                        {
-                            this.following.push( JavaParser.FOLLOW_interfaceDefinition_in_field586 );
-                            interfaceDefinition();
-                            this.following.pop();
-
-                        }
-                            break;
-                        case 4 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:290:25: typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
-                        {
-                            this.following.push( JavaParser.FOLLOW_typeSpec_in_field600 );
-                            typeSpec();
-                            this.following.pop();
-
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:291:25: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
-                            int alt17 = 2;
-                            final int LA17_0 = this.input.LA( 1 );
-                            if ( LA17_0 == JavaParser.IDENT ) {
-                                final int LA17_1 = this.input.LA( 2 );
-                                if ( LA17_1 == JavaParser.LPAREN ) {
-                                    alt17 = 1;
-                                } else if ( LA17_1 == JavaParser.LBRACK || LA17_1 == JavaParser.SEMI || LA17_1 == JavaParser.COMMA || LA17_1 == JavaParser.ASSIGN ) {
-                                    alt17 = 2;
-                                } else {
-                                    final NoViableAltException nvae = new NoViableAltException( "291:25: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )",
-                                                                                          17,
-                                                                                          1,
-                                                                                          this.input );
-
-                                    throw nvae;
-                                }
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "291:25: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )",
-                                                                                      17,
-                                                                                      0,
-                                                                                      this.input );
-
-                                throw nvae;
-                            }
-                            switch ( alt17 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:291:33: IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI )
-                                {
-                                    match( this.input,
-                                           JavaParser.IDENT,
-                                           JavaParser.FOLLOW_IDENT_in_field609 );
-                                    match( this.input,
-                                           JavaParser.LPAREN,
-                                           JavaParser.FOLLOW_LPAREN_in_field623 );
-                                    this.following.push( JavaParser.FOLLOW_parameterDeclarationList_in_field625 );
-                                    parameterDeclarationList();
-                                    this.following.pop();
-
-                                    match( this.input,
-                                           JavaParser.RPAREN,
-                                           JavaParser.FOLLOW_RPAREN_in_field627 );
-                                    this.following.push( JavaParser.FOLLOW_declaratorBrackets_in_field634 );
-                                    declaratorBrackets();
-                                    this.following.pop();
-
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:300:33: ( throwsClause )?
-                                    int alt15 = 2;
-                                    final int LA15_0 = this.input.LA( 1 );
-                                    if ( LA15_0 == 95 ) {
-                                        alt15 = 1;
-                                    } else if ( (LA15_0 >= JavaParser.LCURLY && LA15_0 <= JavaParser.SEMI) ) {
-                                        alt15 = 2;
-                                    } else {
-                                        final NoViableAltException nvae = new NoViableAltException( "300:33: ( throwsClause )?",
-                                                                                              15,
-                                                                                              0,
-                                                                                              this.input );
-
-                                        throw nvae;
-                                    }
-                                    switch ( alt15 ) {
-                                        case 1 :
-                                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:300:34: throwsClause
-                                        {
-                                            this.following.push( JavaParser.FOLLOW_throwsClause_in_field652 );
-                                            throwsClause();
-                                            this.following.pop();
-
-                                        }
-                                            break;
-
-                                    }
-
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:302:33: ( compoundStatement | SEMI )
-                                    int alt16 = 2;
-                                    final int LA16_0 = this.input.LA( 1 );
-                                    if ( LA16_0 == JavaParser.LCURLY ) {
-                                        alt16 = 1;
-                                    } else if ( LA16_0 == JavaParser.SEMI ) {
-                                        alt16 = 2;
-                                    } else {
-                                        final NoViableAltException nvae = new NoViableAltException( "302:33: ( compoundStatement | SEMI )",
-                                                                                              16,
-                                                                                              0,
-                                                                                              this.input );
-
-                                        throw nvae;
-                                    }
-                                    switch ( alt16 ) {
-                                        case 1 :
-                                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:302:35: compoundStatement
-                                        {
-                                            this.following.push( JavaParser.FOLLOW_compoundStatement_in_field663 );
-                                            compoundStatement();
-                                            this.following.pop();
-
-                                        }
-                                            break;
-                                        case 2 :
-                                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:302:55: SEMI
-                                        {
-                                            match( this.input,
-                                                   JavaParser.SEMI,
-                                                   JavaParser.FOLLOW_SEMI_in_field667 );
-
-                                        }
-                                            break;
-
-                                    }
-
-                                }
-                                    break;
-                                case 2 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:303:33: variableDefinitions SEMI
-                                {
-                                    this.following.push( JavaParser.FOLLOW_variableDefinitions_in_field676 );
-                                    variableDefinitions();
-                                    this.following.pop();
-
-                                    match( this.input,
-                                           JavaParser.SEMI,
-                                           JavaParser.FOLLOW_SEMI_in_field678 );
-
-                                }
-                                    break;
-
-                            }
-
-                        }
-                            break;
-
-                    }
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:310:17: 'static' compoundStatement
-                {
-                    match( this.input,
-                           80,
-                           JavaParser.FOLLOW_80_in_field704 );
-                    this.following.push( JavaParser.FOLLOW_compoundStatement_in_field706 );
-                    compoundStatement();
-                    this.following.pop();
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:314:17: compoundStatement
-                {
-                    this.following.push( JavaParser.FOLLOW_compoundStatement_in_field720 );
-                    compoundStatement();
-                    this.following.pop();
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end field
-
-    // $ANTLR start constructorBody
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:318:1: constructorBody : LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY ;
-    public void constructorBody() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:319:9: ( LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:319:9: LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY
-            {
-                match( this.input,
-                       JavaParser.LCURLY,
-                       JavaParser.FOLLOW_LCURLY_in_constructorBody739 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:320:13: ( options {greedy=true; } : explicitConstructorInvocation )?
-                int alt20 = 2;
-                switch ( this.input.LA( 1 ) ) {
-                    case 93 :
-                        final int LA20_1 = this.input.LA( 2 );
-                        if ( LA20_1 == JavaParser.LPAREN ) {
-                            alt20 = 1;
-                        } else if ( LA20_1 == JavaParser.LBRACK || (LA20_1 >= JavaParser.DOT && LA20_1 <= JavaParser.STAR) || LA20_1 == JavaParser.SEMI || LA20_1 == JavaParser.ASSIGN || (LA20_1 >= JavaParser.PLUS_ASSIGN && LA20_1 <= JavaParser.DEC) || LA20_1 == 111 ) {
-                            alt20 = 2;
-                        } else {
-                            final NoViableAltException nvae = new NoViableAltException( "320:13: ( options {greedy=true; } : explicitConstructorInvocation )?",
-                                                                                  20,
-                                                                                  1,
-                                                                                  this.input );
-
-                            throw nvae;
-                        }
-                        break;
-                    case 94 :
-                        final int LA20_2 = this.input.LA( 2 );
-                        if ( LA20_2 == JavaParser.LPAREN ) {
-                            alt20 = 1;
-                        } else if ( LA20_2 == JavaParser.LBRACK || (LA20_2 >= JavaParser.DOT && LA20_2 <= JavaParser.STAR) || LA20_2 == JavaParser.SEMI || LA20_2 == JavaParser.ASSIGN || (LA20_2 >= JavaParser.PLUS_ASSIGN && LA20_2 <= JavaParser.DEC) || LA20_2 == 111 ) {
-                            alt20 = 2;
-                        } else {
-                            final NoViableAltException nvae = new NoViableAltException( "320:13: ( options {greedy=true; } : explicitConstructorInvocation )?",
-                                                                                  20,
-                                                                                  2,
-                                                                                  this.input );
-
-                            throw nvae;
-                        }
-                        break;
-                    case IDENT :
-                    case LCURLY :
-                    case SEMI :
-                    case RCURLY :
-                    case LPAREN :
-                    case PLUS :
-                    case MINUS :
-                    case INC :
-                    case DEC :
-                    case BNOT :
-                    case LNOT :
-                    case NUM_INT :
-                    case CHAR_LITERAL :
-                    case STRING_LITERAL :
-                    case NUM_FLOAT :
-                    case 68 :
-                    case 69 :
-                    case 70 :
-                    case 71 :
-                    case 72 :
-                    case 73 :
-                    case 74 :
-                    case 75 :
-                    case 76 :
-                    case 77 :
-                    case 78 :
-                    case 79 :
-                    case 80 :
-                    case 81 :
-                    case 82 :
-                    case 83 :
-                    case 84 :
-                    case 85 :
-                    case 86 :
-                    case 87 :
-                    case 88 :
-                    case 89 :
-                    case 96 :
-                    case 98 :
-                    case 99 :
-                    case 100 :
-                    case 101 :
-                    case 102 :
-                    case 103 :
-                    case 104 :
-                    case 105 :
-                    case 108 :
-                    case 112 :
-                    case 113 :
-                    case 114 :
-                    case 115 :
-                        alt20 = 2;
-                        break;
-                    default :
-                        final NoViableAltException nvae = new NoViableAltException( "320:13: ( options {greedy=true; } : explicitConstructorInvocation )?",
-                                                                              20,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
-                }
-
-                switch ( alt20 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:320:40: explicitConstructorInvocation
-                    {
-                        this.following.push( JavaParser.FOLLOW_explicitConstructorInvocation_in_constructorBody765 );
-                        explicitConstructorInvocation();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:321:13: ( statement )*
-                loop21 : do {
-                    int alt21 = 2;
-                    final int LA21_0 = this.input.LA( 1 );
-                    if ( LA21_0 == JavaParser.IDENT || (LA21_0 >= JavaParser.LCURLY && LA21_0 <= JavaParser.SEMI) || LA21_0 == JavaParser.LPAREN || (LA21_0 >= JavaParser.PLUS && LA21_0 <= JavaParser.MINUS) || (LA21_0 >= JavaParser.INC && LA21_0 <= JavaParser.NUM_FLOAT) || (LA21_0 >= 68 && LA21_0 <= 89) || (LA21_0 >= 93 && LA21_0 <= 94)
-                         || LA21_0 == 96 || (LA21_0 >= 98 && LA21_0 <= 105) || LA21_0 == 108 || (LA21_0 >= 112 && LA21_0 <= 115) ) {
-                        alt21 = 1;
-                    }
-
-                    switch ( alt21 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:321:14: statement
-                        {
-                            this.following.push( JavaParser.FOLLOW_statement_in_constructorBody782 );
-                            statement();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop21;
-                    }
-                } while ( true );
-
-                match( this.input,
-                       JavaParser.RCURLY,
-                       JavaParser.FOLLOW_RCURLY_in_constructorBody794 );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end constructorBody
-
-    // $ANTLR start explicitConstructorInvocation
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );
-    public void explicitConstructorInvocation() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:327:9: ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI )
-            int alt22 = 2;
-            final int LA22_0 = this.input.LA( 1 );
-            if ( LA22_0 == 93 ) {
-                alt22 = 1;
-            } else if ( LA22_0 == 94 ) {
-                alt22 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "325:1: explicitConstructorInvocation : ( \'this\' LPAREN argList RPAREN SEMI | \'super\' LPAREN argList RPAREN SEMI );",
-                                                                      22,
-                                                                      0,
-                                                                      this.input );
-
-                throw nvae;
-            }
-            switch ( alt22 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:327:9: 'this' LPAREN argList RPAREN SEMI
-                {
-                    match( this.input,
-                           93,
-                           JavaParser.FOLLOW_93_in_explicitConstructorInvocation815 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_explicitConstructorInvocation817 );
-                    this.following.push( JavaParser.FOLLOW_argList_in_explicitConstructorInvocation819 );
-                    argList();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_explicitConstructorInvocation821 );
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_explicitConstructorInvocation823 );
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:329:9: 'super' LPAREN argList RPAREN SEMI
-                {
-                    match( this.input,
-                           94,
-                           JavaParser.FOLLOW_94_in_explicitConstructorInvocation836 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_explicitConstructorInvocation838 );
-                    this.following.push( JavaParser.FOLLOW_argList_in_explicitConstructorInvocation840 );
-                    argList();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_explicitConstructorInvocation842 );
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_explicitConstructorInvocation844 );
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end explicitConstructorInvocation
-
-    // $ANTLR start variableDefinitions
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:333:1: variableDefinitions : variableDeclarator ( COMMA variableDeclarator )* ;
-    public void variableDefinitions() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:334:17: ( variableDeclarator ( COMMA variableDeclarator )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:334:17: variableDeclarator ( COMMA variableDeclarator )*
-            {
-                this.following.push( JavaParser.FOLLOW_variableDeclarator_in_variableDefinitions861 );
-                variableDeclarator();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:335:17: ( COMMA variableDeclarator )*
-                loop23 : do {
-                    int alt23 = 2;
-                    final int LA23_0 = this.input.LA( 1 );
-                    if ( LA23_0 == JavaParser.COMMA ) {
-                        alt23 = 1;
-                    }
-
-                    switch ( alt23 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:335:25: COMMA variableDeclarator
-                        {
-                            match( this.input,
-                                   JavaParser.COMMA,
-                                   JavaParser.FOLLOW_COMMA_in_variableDefinitions867 );
-                            this.following.push( JavaParser.FOLLOW_variableDeclarator_in_variableDefinitions872 );
-                            variableDeclarator();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop23;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end variableDefinitions
-
-    // $ANTLR start variableDeclarator
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:340:1: variableDeclarator : IDENT declaratorBrackets varInitializer ;
-    public void variableDeclarator() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:345:17: ( IDENT declaratorBrackets varInitializer )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:345:17: IDENT declaratorBrackets varInitializer
-            {
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_variableDeclarator890 );
-                this.following.push( JavaParser.FOLLOW_declaratorBrackets_in_variableDeclarator892 );
-                declaratorBrackets();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_varInitializer_in_variableDeclarator894 );
-                varInitializer();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end variableDeclarator
-
-    // $ANTLR start declaratorBrackets
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:349:1: declaratorBrackets : ( LBRACK RBRACK )* ;
-    public void declaratorBrackets() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:351:17: ( ( LBRACK RBRACK )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:351:17: ( LBRACK RBRACK )*
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:351:17: ( LBRACK RBRACK )*
-                loop24 : do {
-                    int alt24 = 2;
-                    final int LA24_0 = this.input.LA( 1 );
-                    if ( LA24_0 == JavaParser.LBRACK ) {
-                        alt24 = 1;
-                    }
-
-                    switch ( alt24 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:351:18: LBRACK RBRACK
-                        {
-                            match( this.input,
-                                   JavaParser.LBRACK,
-                                   JavaParser.FOLLOW_LBRACK_in_declaratorBrackets912 );
-                            match( this.input,
-                                   JavaParser.RBRACK,
-                                   JavaParser.FOLLOW_RBRACK_in_declaratorBrackets915 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop24;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end declaratorBrackets
-
-    // $ANTLR start varInitializer
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:354:1: varInitializer : ( ASSIGN initializer )? ;
-    public void varInitializer() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:355:17: ( ( ASSIGN initializer )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:355:17: ( ASSIGN initializer )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:355:17: ( ASSIGN initializer )?
-                int alt25 = 2;
-                final int LA25_0 = this.input.LA( 1 );
-                if ( LA25_0 == JavaParser.ASSIGN ) {
-                    alt25 = 1;
-                } else if ( LA25_0 == JavaParser.SEMI || LA25_0 == JavaParser.COMMA ) {
-                    alt25 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "355:17: ( ASSIGN initializer )?",
-                                                                          25,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt25 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:355:19: ASSIGN initializer
-                    {
-                        match( this.input,
-                               JavaParser.ASSIGN,
-                               JavaParser.FOLLOW_ASSIGN_in_varInitializer930 );
-                        this.following.push( JavaParser.FOLLOW_initializer_in_varInitializer932 );
-                        initializer();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end varInitializer
-
-    // $ANTLR start arrayInitializer
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:359:1: arrayInitializer : LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY ;
-    public void arrayInitializer() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:360:17: ( LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:360:17: LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY
-            {
-                match( this.input,
-                       JavaParser.LCURLY,
-                       JavaParser.FOLLOW_LCURLY_in_arrayInitializer947 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:361:25: ( initializer ( COMMA initializer )* ( COMMA )? )?
-                int alt28 = 2;
-                final int LA28_0 = this.input.LA( 1 );
-                if ( LA28_0 == JavaParser.IDENT || LA28_0 == JavaParser.LCURLY || LA28_0 == JavaParser.LPAREN || (LA28_0 >= JavaParser.PLUS && LA28_0 <= JavaParser.MINUS) || (LA28_0 >= JavaParser.INC && LA28_0 <= JavaParser.NUM_FLOAT) || (LA28_0 >= 68 && LA28_0 <= 76) || (LA28_0 >= 93 && LA28_0 <= 94)
-                     || (LA28_0 >= 112 && LA28_0 <= 115) ) {
-                    alt28 = 1;
-                } else if ( LA28_0 == JavaParser.RCURLY ) {
-                    alt28 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "361:25: ( initializer ( COMMA initializer )* ( COMMA )? )?",
-                                                                          28,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt28 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:361:33: initializer ( COMMA initializer )* ( COMMA )?
-                    {
-                        this.following.push( JavaParser.FOLLOW_initializer_in_arrayInitializer955 );
-                        initializer();
-                        this.following.pop();
-
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:362:33: ( COMMA initializer )*
-                        loop26 : do {
-                            int alt26 = 2;
-                            final int LA26_0 = this.input.LA( 1 );
-                            if ( LA26_0 == JavaParser.COMMA ) {
-                                final int LA26_1 = this.input.LA( 2 );
-                                if ( LA26_1 == JavaParser.IDENT || LA26_1 == JavaParser.LCURLY || LA26_1 == JavaParser.LPAREN || (LA26_1 >= JavaParser.PLUS && LA26_1 <= JavaParser.MINUS) || (LA26_1 >= JavaParser.INC && LA26_1 <= JavaParser.NUM_FLOAT) || (LA26_1 >= 68 && LA26_1 <= 76) || (LA26_1 >= 93 && LA26_1 <= 94)
-                                     || (LA26_1 >= 112 && LA26_1 <= 115) ) {
-                                    alt26 = 1;
-                                }
-
-                            }
-
-                            switch ( alt26 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:367:41: COMMA initializer
-                                {
-                                    match( this.input,
-                                           JavaParser.COMMA,
-                                           JavaParser.FOLLOW_COMMA_in_arrayInitializer992 );
-                                    this.following.push( JavaParser.FOLLOW_initializer_in_arrayInitializer994 );
-                                    initializer();
-                                    this.following.pop();
-
-                                }
-                                    break;
-
-                                default :
-                                    break loop26;
-                            }
-                        } while ( true );
-
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:369:33: ( COMMA )?
-                        int alt27 = 2;
-                        final int LA27_0 = this.input.LA( 1 );
-                        if ( LA27_0 == JavaParser.COMMA ) {
-                            alt27 = 1;
-                        } else if ( LA27_0 == JavaParser.RCURLY ) {
-                            alt27 = 2;
-                        } else {
-                            final NoViableAltException nvae = new NoViableAltException( "369:33: ( COMMA )?",
-                                                                                  27,
-                                                                                  0,
-                                                                                  this.input );
-
-                            throw nvae;
-                        }
-                        switch ( alt27 ) {
-                            case 1 :
-                                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:369:34: COMMA
-                            {
-                                match( this.input,
-                                       JavaParser.COMMA,
-                                       JavaParser.FOLLOW_COMMA_in_arrayInitializer1008 );
-
-                            }
-                                break;
-
-                        }
-
-                    }
-                        break;
-
-                }
-
-                match( this.input,
-                       JavaParser.RCURLY,
-                       JavaParser.FOLLOW_RCURLY_in_arrayInitializer1020 );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end arrayInitializer
-
-    // $ANTLR start initializer
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:377:1: initializer : ( expression | arrayInitializer );
-    public void initializer() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:378:17: ( expression | arrayInitializer )
-            int alt29 = 2;
-            final int LA29_0 = this.input.LA( 1 );
-            if ( LA29_0 == JavaParser.IDENT || LA29_0 == JavaParser.LPAREN || (LA29_0 >= JavaParser.PLUS && LA29_0 <= JavaParser.MINUS) || (LA29_0 >= JavaParser.INC && LA29_0 <= JavaParser.NUM_FLOAT) || (LA29_0 >= 68 && LA29_0 <= 76) || (LA29_0 >= 93 && LA29_0 <= 94) || (LA29_0 >= 112 && LA29_0 <= 115) ) {
-                alt29 = 1;
-            } else if ( LA29_0 == JavaParser.LCURLY ) {
-                alt29 = 2;
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "377:1: initializer : ( expression | arrayInitializer );",
-                                                                      29,
-                                                                      0,
-                                                                      this.input );
-
-                throw nvae;
-            }
-            switch ( alt29 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:378:17: expression
-                {
-                    this.following.push( JavaParser.FOLLOW_expression_in_initializer1034 );
-                    expression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:379:17: arrayInitializer
-                {
-                    this.following.push( JavaParser.FOLLOW_arrayInitializer_in_initializer1039 );
-                    arrayInitializer();
-                    this.following.pop();
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end initializer
-
-    // $ANTLR start ctorHead
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:385:1: ctorHead : IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? ;
-    public void ctorHead() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:386:17: ( IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:386:17: IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )?
-            {
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_ctorHead1053 );
-                match( this.input,
-                       JavaParser.LPAREN,
-                       JavaParser.FOLLOW_LPAREN_in_ctorHead1063 );
-                this.following.push( JavaParser.FOLLOW_parameterDeclarationList_in_ctorHead1065 );
-                parameterDeclarationList();
-                this.following.pop();
-
-                match( this.input,
-                       JavaParser.RPAREN,
-                       JavaParser.FOLLOW_RPAREN_in_ctorHead1067 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:392:17: ( throwsClause )?
-                int alt30 = 2;
-                final int LA30_0 = this.input.LA( 1 );
-                if ( LA30_0 == 95 ) {
-                    alt30 = 1;
-                } else if ( LA30_0 == JavaParser.LCURLY ) {
-                    alt30 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "392:17: ( throwsClause )?",
-                                                                          30,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt30 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:392:18: throwsClause
-                    {
-                        this.following.push( JavaParser.FOLLOW_throwsClause_in_ctorHead1076 );
-                        throwsClause();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end ctorHead
-
-    // $ANTLR start throwsClause
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:396:1: throwsClause : 'throws' identifier ( COMMA identifier )* ;
-    public void throwsClause() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:397:17: ( 'throws' identifier ( COMMA identifier )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:397:17: 'throws' identifier ( COMMA identifier )*
-            {
-                match( this.input,
-                       95,
-                       JavaParser.FOLLOW_95_in_throwsClause1090 );
-                this.following.push( JavaParser.FOLLOW_identifier_in_throwsClause1092 );
-                identifier();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:397:37: ( COMMA identifier )*
-                loop31 : do {
-                    int alt31 = 2;
-                    final int LA31_0 = this.input.LA( 1 );
-                    if ( LA31_0 == JavaParser.COMMA ) {
-                        alt31 = 1;
-                    }
-
-                    switch ( alt31 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:397:39: COMMA identifier
-                        {
-                            match( this.input,
-                                   JavaParser.COMMA,
-                                   JavaParser.FOLLOW_COMMA_in_throwsClause1096 );
-                            this.following.push( JavaParser.FOLLOW_identifier_in_throwsClause1098 );
-                            identifier();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop31;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end throwsClause
-
-    // $ANTLR start parameterDeclarationList
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:402:1: parameterDeclarationList : ( parameterDeclaration ( COMMA parameterDeclaration )* )? ;
-    public void parameterDeclarationList() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:403:17: ( ( parameterDeclaration ( COMMA parameterDeclaration )* )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:403:17: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:403:17: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
-                int alt33 = 2;
-                final int LA33_0 = this.input.LA( 1 );
-                if ( LA33_0 == JavaParser.IDENT || (LA33_0 >= 68 && LA33_0 <= 76) || LA33_0 == 82 ) {
-                    alt33 = 1;
-                } else if ( LA33_0 == JavaParser.RPAREN ) {
-                    alt33 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "403:17: ( parameterDeclaration ( COMMA parameterDeclaration )* )?",
-                                                                          33,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt33 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:403:19: parameterDeclaration ( COMMA parameterDeclaration )*
-                    {
-                        this.following.push( JavaParser.FOLLOW_parameterDeclaration_in_parameterDeclarationList1116 );
-                        parameterDeclaration();
-                        this.following.pop();
-
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:403:40: ( COMMA parameterDeclaration )*
-                        loop32 : do {
-                            int alt32 = 2;
-                            final int LA32_0 = this.input.LA( 1 );
-                            if ( LA32_0 == JavaParser.COMMA ) {
-                                alt32 = 1;
-                            }
-
-                            switch ( alt32 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:403:42: COMMA parameterDeclaration
-                                {
-                                    match( this.input,
-                                           JavaParser.COMMA,
-                                           JavaParser.FOLLOW_COMMA_in_parameterDeclarationList1120 );
-                                    this.following.push( JavaParser.FOLLOW_parameterDeclaration_in_parameterDeclarationList1122 );
-                                    parameterDeclaration();
-                                    this.following.pop();
-
-                                }
-                                    break;
-
-                                default :
-                                    break loop32;
-                            }
-                        } while ( true );
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end parameterDeclarationList
-
-    // $ANTLR start parameterDeclaration
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:407:1: parameterDeclaration : parameterModifier typeSpec IDENT declaratorBrackets ;
-    public void parameterDeclaration() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:408:17: ( parameterModifier typeSpec IDENT declaratorBrackets )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:408:17: parameterModifier typeSpec IDENT declaratorBrackets
-            {
-                this.following.push( JavaParser.FOLLOW_parameterModifier_in_parameterDeclaration1140 );
-                parameterModifier();
-                this.following.pop();
-
-                this.following.push( JavaParser.FOLLOW_typeSpec_in_parameterDeclaration1142 );
-                typeSpec();
-                this.following.pop();
-
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_parameterDeclaration1144 );
-                this.following.push( JavaParser.FOLLOW_declaratorBrackets_in_parameterDeclaration1148 );
-                declaratorBrackets();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end parameterDeclaration
-
-    // $ANTLR start parameterModifier
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:412:1: parameterModifier : ( 'final' )? ;
-    public void parameterModifier() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:413:17: ( ( 'final' )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:413:17: ( 'final' )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:413:17: ( 'final' )?
-                int alt34 = 2;
-                final int LA34_0 = this.input.LA( 1 );
-                if ( LA34_0 == 82 ) {
-                    alt34 = 1;
-                } else if ( LA34_0 == JavaParser.IDENT || (LA34_0 >= 68 && LA34_0 <= 76) ) {
-                    alt34 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "413:17: ( \'final\' )?",
-                                                                          34,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt34 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:413:18: 'final'
-                    {
-                        match( this.input,
-                               82,
-                               JavaParser.FOLLOW_82_in_parameterModifier1160 );
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end parameterModifier
-
-    // $ANTLR start compoundStatement
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:426:1: compoundStatement : LCURLY ( statement )* RCURLY ;
-    public void compoundStatement() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:427:17: ( LCURLY ( statement )* RCURLY )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:427:17: LCURLY ( statement )* RCURLY
-            {
-                match( this.input,
-                       JavaParser.LCURLY,
-                       JavaParser.FOLLOW_LCURLY_in_compoundStatement1185 );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:429:25: ( statement )*
-                loop35 : do {
-                    int alt35 = 2;
-                    final int LA35_0 = this.input.LA( 1 );
-                    if ( LA35_0 == JavaParser.IDENT || (LA35_0 >= JavaParser.LCURLY && LA35_0 <= JavaParser.SEMI) || LA35_0 == JavaParser.LPAREN || (LA35_0 >= JavaParser.PLUS && LA35_0 <= JavaParser.MINUS) || (LA35_0 >= JavaParser.INC && LA35_0 <= JavaParser.NUM_FLOAT) || (LA35_0 >= 68 && LA35_0 <= 89) || (LA35_0 >= 93 && LA35_0 <= 94)
-                         || LA35_0 == 96 || (LA35_0 >= 98 && LA35_0 <= 105) || LA35_0 == 108 || (LA35_0 >= 112 && LA35_0 <= 115) ) {
-                        alt35 = 1;
-                    }
-
-                    switch ( alt35 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:429:26: statement
-                        {
-                            this.following.push( JavaParser.FOLLOW_statement_in_compoundStatement1196 );
-                            statement();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop35;
-                    }
-                } while ( true );
-
-                match( this.input,
-                       JavaParser.RCURLY,
-                       JavaParser.FOLLOW_RCURLY_in_compoundStatement1202 );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end compoundStatement
-
-    // $ANTLR start statement
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:434:1: statement : ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI );
-    public void statement() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:436:17: ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI )
-            int alt41 = 17;
-            alt41 = this.dfa41.predict( this.input );
-            switch ( alt41 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:436:17: compoundStatement
-                {
-                    this.following.push( JavaParser.FOLLOW_compoundStatement_in_statement1216 );
-                    compoundStatement();
-                    this.following.pop();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:443:17: declaration SEMI
-                {
-                    this.following.push( JavaParser.FOLLOW_declaration_in_statement1232 );
-                    declaration();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1234 );
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:448:17: expression SEMI
-                {
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1246 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1248 );
-
-                }
-                    break;
-                case 4 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:451:17: modifiers classDefinition
-                {
-                    this.following.push( JavaParser.FOLLOW_modifiers_in_statement1256 );
-                    modifiers();
-                    this.following.pop();
-
-                    this.following.push( JavaParser.FOLLOW_classDefinition_in_statement1258 );
-                    classDefinition();
-                    this.following.pop();
-
-                }
-                    break;
-                case 5 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:454:17: IDENT COLON statement
-                {
-                    match( this.input,
-                           JavaParser.IDENT,
-                           JavaParser.FOLLOW_IDENT_in_statement1266 );
-                    match( this.input,
-                           JavaParser.COLON,
-                           JavaParser.FOLLOW_COLON_in_statement1268 );
-                    this.following.push( JavaParser.FOLLOW_statement_in_statement1271 );
-                    statement();
-                    this.following.pop();
-
-                }
-                    break;
-                case 6 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:457:17: 'if' LPAREN expression RPAREN statement ( 'else' statement )?
-                {
-                    match( this.input,
-                           96,
-                           JavaParser.FOLLOW_96_in_statement1279 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_statement1281 );
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1283 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_statement1285 );
-                    this.following.push( JavaParser.FOLLOW_statement_in_statement1287 );
-                    statement();
-                    this.following.pop();
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:458:17: ( 'else' statement )?
-                    int alt36 = 2;
-                    final int LA36_0 = this.input.LA( 1 );
-                    if ( LA36_0 == 97 ) {
-                        alt36 = 1;
-                    } else if ( LA36_0 == JavaParser.IDENT || (LA36_0 >= JavaParser.LCURLY && LA36_0 <= JavaParser.RCURLY) || LA36_0 == JavaParser.LPAREN || (LA36_0 >= JavaParser.PLUS && LA36_0 <= JavaParser.MINUS) || (LA36_0 >= JavaParser.INC && LA36_0 <= JavaParser.NUM_FLOAT) || (LA36_0 >= 68 && LA36_0 <= 89)
-                                || (LA36_0 >= 93 && LA36_0 <= 94) || LA36_0 == 96 || (LA36_0 >= 98 && LA36_0 <= 108) || (LA36_0 >= 112 && LA36_0 <= 115) ) {
-                        alt36 = 2;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "458:17: ( \'else\' statement )?",
-                                                                              36,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
-                    }
-                    switch ( alt36 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:462:25: 'else' statement
-                        {
-                            match( this.input,
-                                   97,
-                                   JavaParser.FOLLOW_97_in_statement1308 );
-                            this.following.push( JavaParser.FOLLOW_statement_in_statement1310 );
-                            statement();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                    }
-
-                }
-                    break;
-                case 7 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:466:17: 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement
-                {
-                    match( this.input,
-                           98,
-                           JavaParser.FOLLOW_98_in_statement1323 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_statement1328 );
-                    this.following.push( JavaParser.FOLLOW_forInit_in_statement1334 );
-                    forInit();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1336 );
-                    this.following.push( JavaParser.FOLLOW_forCond_in_statement1345 );
-                    forCond();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1347 );
-                    this.following.push( JavaParser.FOLLOW_forIter_in_statement1356 );
-                    forIter();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_statement1370 );
-                    this.following.push( JavaParser.FOLLOW_statement_in_statement1375 );
-                    statement();
-                    this.following.pop();
-
-                }
-                    break;
-                case 8 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:475:17: 'while' LPAREN expression RPAREN statement
-                {
-                    match( this.input,
-                           99,
-                           JavaParser.FOLLOW_99_in_statement1404 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_statement1406 );
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1408 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_statement1410 );
-                    this.following.push( JavaParser.FOLLOW_statement_in_statement1412 );
-                    statement();
-                    this.following.pop();
-
-                }
-                    break;
-                case 9 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:478:17: 'do' statement 'while' LPAREN expression RPAREN SEMI
-                {
-                    match( this.input,
-                           100,
-                           JavaParser.FOLLOW_100_in_statement1420 );
-                    this.following.push( JavaParser.FOLLOW_statement_in_statement1422 );
-                    statement();
-                    this.following.pop();
-
-                    match( this.input,
-                           99,
-                           JavaParser.FOLLOW_99_in_statement1424 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_statement1426 );
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1428 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_statement1430 );
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1432 );
-
-                }
-                    break;
-                case 10 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:481:17: 'break' ( IDENT )? SEMI
-                {
-                    match( this.input,
-                           101,
-                           JavaParser.FOLLOW_101_in_statement1440 );
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:481:25: ( IDENT )?
-                    int alt37 = 2;
-                    final int LA37_0 = this.input.LA( 1 );
-                    if ( LA37_0 == JavaParser.IDENT ) {
-                        alt37 = 1;
-                    } else if ( LA37_0 == JavaParser.SEMI ) {
-                        alt37 = 2;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "481:25: ( IDENT )?",
-                                                                              37,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
-                    }
-                    switch ( alt37 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:481:26: IDENT
-                        {
-                            match( this.input,
-                                   JavaParser.IDENT,
-                                   JavaParser.FOLLOW_IDENT_in_statement1443 );
-
-                        }
-                            break;
-
-                    }
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1447 );
-
-                }
-                    break;
-                case 11 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:484:17: 'continue' ( IDENT )? SEMI
-                {
-                    match( this.input,
-                           102,
-                           JavaParser.FOLLOW_102_in_statement1455 );
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:484:28: ( IDENT )?
-                    int alt38 = 2;
-                    final int LA38_0 = this.input.LA( 1 );
-                    if ( LA38_0 == JavaParser.IDENT ) {
-                        alt38 = 1;
-                    } else if ( LA38_0 == JavaParser.SEMI ) {
-                        alt38 = 2;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "484:28: ( IDENT )?",
-                                                                              38,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
-                    }
-                    switch ( alt38 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:484:29: IDENT
-                        {
-                            match( this.input,
-                                   JavaParser.IDENT,
-                                   JavaParser.FOLLOW_IDENT_in_statement1458 );
-
-                        }
-                            break;
-
-                    }
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1462 );
-
-                }
-                    break;
-                case 12 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:487:17: 'return' ( expression )? SEMI
-                {
-                    match( this.input,
-                           103,
-                           JavaParser.FOLLOW_103_in_statement1470 );
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:487:26: ( expression )?
-                    int alt39 = 2;
-                    final int LA39_0 = this.input.LA( 1 );
-                    if ( LA39_0 == JavaParser.IDENT || LA39_0 == JavaParser.LPAREN || (LA39_0 >= JavaParser.PLUS && LA39_0 <= JavaParser.MINUS) || (LA39_0 >= JavaParser.INC && LA39_0 <= JavaParser.NUM_FLOAT) || (LA39_0 >= 68 && LA39_0 <= 76) || (LA39_0 >= 93 && LA39_0 <= 94) || (LA39_0 >= 112 && LA39_0 <= 115) ) {
-                        alt39 = 1;
-                    } else if ( LA39_0 == JavaParser.SEMI ) {
-                        alt39 = 2;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "487:26: ( expression )?",
-                                                                              39,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
-                    }
-                    switch ( alt39 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:487:27: expression
-                        {
-                            this.following.push( JavaParser.FOLLOW_expression_in_statement1473 );
-                            expression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                    }
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1477 );
-
-                }
-                    break;
-                case 13 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:490:17: 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY
-                {
-                    match( this.input,
-                           104,
-                           JavaParser.FOLLOW_104_in_statement1485 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_statement1487 );
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1489 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_statement1491 );
-                    match( this.input,
-                           JavaParser.LCURLY,
-                           JavaParser.FOLLOW_LCURLY_in_statement1493 );
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:491:25: ( casesGroup )*
-                    loop40 : do {
-                        int alt40 = 2;
-                        final int LA40_0 = this.input.LA( 1 );
-                        if ( (LA40_0 >= 106 && LA40_0 <= 107) ) {
-                            alt40 = 1;
-                        }
-
-                        switch ( alt40 ) {
-                            case 1 :
-                                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:491:27: casesGroup
-                            {
-                                this.following.push( JavaParser.FOLLOW_casesGroup_in_statement1500 );
-                                casesGroup();
-                                this.following.pop();
-
-                            }
-                                break;
-
-                            default :
-                                break loop40;
-                        }
-                    } while ( true );
-
-                    match( this.input,
-                           JavaParser.RCURLY,
-                           JavaParser.FOLLOW_RCURLY_in_statement1507 );
-
-                }
-                    break;
-                case 14 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:495:17: tryBlock
-                {
-                    this.following.push( JavaParser.FOLLOW_tryBlock_in_statement1515 );
-                    tryBlock();
-                    this.following.pop();
-
-                }
-                    break;
-                case 15 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:498:17: 'throw' expression SEMI
-                {
-                    match( this.input,
-                           105,
-                           JavaParser.FOLLOW_105_in_statement1523 );
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1525 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1527 );
-
-                }
-                    break;
-                case 16 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:501:17: 'synchronized' LPAREN expression RPAREN compoundStatement
-                {
-                    match( this.input,
-                           86,
-                           JavaParser.FOLLOW_86_in_statement1535 );
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_statement1537 );
-                    this.following.push( JavaParser.FOLLOW_expression_in_statement1539 );
-                    expression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_statement1541 );
-                    this.following.push( JavaParser.FOLLOW_compoundStatement_in_statement1543 );
-                    compoundStatement();
-                    this.following.pop();
-
-                }
-                    break;
-                case 17 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:507:17: SEMI
-                {
-                    match( this.input,
-                           JavaParser.SEMI,
-                           JavaParser.FOLLOW_SEMI_in_statement1556 );
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end statement
-
-    // $ANTLR start casesGroup
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:510:1: casesGroup : ( options {greedy=true; } : aCase )+ caseSList ;
-    public void casesGroup() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:511:17: ( ( options {greedy=true; } : aCase )+ caseSList )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:511:17: ( options {greedy=true; } : aCase )+ caseSList
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:511:17: ( options {greedy=true; } : aCase )+
-                int cnt42 = 0;
-                loop42 : do {
-                    int alt42 = 2;
-                    final int LA42_0 = this.input.LA( 1 );
-                    if ( LA42_0 == 106 ) {
-                        alt42 = 1;
-                    } else if ( LA42_0 == 107 ) {
-                        alt42 = 1;
-                    }
-
-                    switch ( alt42 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:517:25: aCase
-                        {
-                            this.following.push( JavaParser.FOLLOW_aCase_in_casesGroup1602 );
-                            aCase();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            if ( cnt42 >= 1 ) {
-                                break loop42;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 42,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt42++;
-                } while ( true );
-
-                this.following.push( JavaParser.FOLLOW_caseSList_in_casesGroup1611 );
-                caseSList();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end casesGroup
-
-    // $ANTLR start aCase
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:523:1: aCase : ( 'case' expression | 'default' ) COLON ;
-    public void aCase() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:524:17: ( ( 'case' expression | 'default' ) COLON )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:524:17: ( 'case' expression | 'default' ) COLON
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:524:17: ( 'case' expression | 'default' )
-                int alt43 = 2;
-                final int LA43_0 = this.input.LA( 1 );
-                if ( LA43_0 == 106 ) {
-                    alt43 = 1;
-                } else if ( LA43_0 == 107 ) {
-                    alt43 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "524:17: ( \'case\' expression | \'default\' )",
-                                                                          43,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt43 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:524:18: 'case' expression
-                    {
-                        match( this.input,
-                               106,
-                               JavaParser.FOLLOW_106_in_aCase1626 );
-                        this.following.push( JavaParser.FOLLOW_expression_in_aCase1628 );
-                        expression();
-                        this.following.pop();
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:524:38: 'default'
-                    {
-                        match( this.input,
-                               107,
-                               JavaParser.FOLLOW_107_in_aCase1632 );
-
-                    }
-                        break;
-
-                }
-
-                match( this.input,
-                       JavaParser.COLON,
-                       JavaParser.FOLLOW_COLON_in_aCase1635 );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end aCase
-
-    // $ANTLR start caseSList
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:527:1: caseSList : ( statement )* ;
-    public void caseSList() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:528:17: ( ( statement )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:528:17: ( statement )*
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:528:17: ( statement )*
-                loop44 : do {
-                    int alt44 = 2;
-                    final int LA44_0 = this.input.LA( 1 );
-                    if ( LA44_0 == JavaParser.IDENT || (LA44_0 >= JavaParser.LCURLY && LA44_0 <= JavaParser.SEMI) || LA44_0 == JavaParser.LPAREN || (LA44_0 >= JavaParser.PLUS && LA44_0 <= JavaParser.MINUS) || (LA44_0 >= JavaParser.INC && LA44_0 <= JavaParser.NUM_FLOAT) || (LA44_0 >= 68 && LA44_0 <= 89) || (LA44_0 >= 93 && LA44_0 <= 94)
-                         || LA44_0 == 96 || (LA44_0 >= 98 && LA44_0 <= 105) || LA44_0 == 108 || (LA44_0 >= 112 && LA44_0 <= 115) ) {
-                        alt44 = 1;
-                    }
-
-                    switch ( alt44 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:528:18: statement
-                        {
-                            this.following.push( JavaParser.FOLLOW_statement_in_caseSList1647 );
-                            statement();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop44;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end caseSList
-
-    // $ANTLR start forInit
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:533:1: forInit : ( declaration | expressionList )? ;
-    public void forInit() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:536:17: ( ( declaration | expressionList )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:536:17: ( declaration | expressionList )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:536:17: ( declaration | expressionList )?
-                int alt45 = 3;
-                alt45 = this.dfa45.predict( this.input );
-                switch ( alt45 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:536:25: declaration
-                    {
-                        this.following.push( JavaParser.FOLLOW_declaration_in_forInit1678 );
-                        declaration();
-                        this.following.pop();
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:538:25: expressionList
-                    {
-                        this.following.push( JavaParser.FOLLOW_expressionList_in_forInit1687 );
-                        expressionList();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end forInit
-
-    // $ANTLR start forCond
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:543:1: forCond : ( expression )? ;
-    public void forCond() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:544:17: ( ( expression )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:544:17: ( expression )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:544:17: ( expression )?
-                int alt46 = 2;
-                final int LA46_0 = this.input.LA( 1 );
-                if ( LA46_0 == JavaParser.IDENT || LA46_0 == JavaParser.LPAREN || (LA46_0 >= JavaParser.PLUS && LA46_0 <= JavaParser.MINUS) || (LA46_0 >= JavaParser.INC && LA46_0 <= JavaParser.NUM_FLOAT) || (LA46_0 >= 68 && LA46_0 <= 76) || (LA46_0 >= 93 && LA46_0 <= 94) || (LA46_0 >= 112 && LA46_0 <= 115) ) {
-                    alt46 = 1;
-                } else if ( LA46_0 == JavaParser.SEMI ) {
-                    alt46 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "544:17: ( expression )?",
-                                                                          46,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt46 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:544:18: expression
-                    {
-                        this.following.push( JavaParser.FOLLOW_expression_in_forCond1707 );
-                        expression();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end forCond
-
-    // $ANTLR start forIter
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:548:1: forIter : ( expressionList )? ;
-    public void forIter() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:549:17: ( ( expressionList )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:549:17: ( expressionList )?
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:549:17: ( expressionList )?
-                int alt47 = 2;
-                final int LA47_0 = this.input.LA( 1 );
-                if ( LA47_0 == JavaParser.IDENT || LA47_0 == JavaParser.LPAREN || (LA47_0 >= JavaParser.PLUS && LA47_0 <= JavaParser.MINUS) || (LA47_0 >= JavaParser.INC && LA47_0 <= JavaParser.NUM_FLOAT) || (LA47_0 >= 68 && LA47_0 <= 76) || (LA47_0 >= 93 && LA47_0 <= 94) || (LA47_0 >= 112 && LA47_0 <= 115) ) {
-                    alt47 = 1;
-                } else if ( LA47_0 == JavaParser.RPAREN ) {
-                    alt47 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "549:17: ( expressionList )?",
-                                                                          47,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt47 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:549:18: expressionList
-                    {
-                        this.following.push( JavaParser.FOLLOW_expressionList_in_forIter1724 );
-                        expressionList();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end forIter
-
-    // $ANTLR start tryBlock
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:554:1: tryBlock : 'try' compoundStatement ( handler )* ( finallyClause )? ;
-    public void tryBlock() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:555:17: ( 'try' compoundStatement ( handler )* ( finallyClause )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:555:17: 'try' compoundStatement ( handler )* ( finallyClause )?
-            {
-                match( this.input,
-                       108,
-                       JavaParser.FOLLOW_108_in_tryBlock1741 );
-                this.following.push( JavaParser.FOLLOW_compoundStatement_in_tryBlock1743 );
-                compoundStatement();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:556:17: ( handler )*
-                loop48 : do {
-                    int alt48 = 2;
-                    final int LA48_0 = this.input.LA( 1 );
-                    if ( LA48_0 == 110 ) {
-                        alt48 = 1;
-                    }
-
-                    switch ( alt48 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:556:18: handler
-                        {
-                            this.following.push( JavaParser.FOLLOW_handler_in_tryBlock1748 );
-                            handler();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop48;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:557:17: ( finallyClause )?
-                int alt49 = 2;
-                final int LA49_0 = this.input.LA( 1 );
-                if ( LA49_0 == 109 ) {
-                    alt49 = 1;
-                } else if ( LA49_0 == JavaParser.IDENT || (LA49_0 >= JavaParser.LCURLY && LA49_0 <= JavaParser.RCURLY) || LA49_0 == JavaParser.LPAREN || (LA49_0 >= JavaParser.PLUS && LA49_0 <= JavaParser.MINUS) || (LA49_0 >= JavaParser.INC && LA49_0 <= JavaParser.NUM_FLOAT) || (LA49_0 >= 68 && LA49_0 <= 89)
-                            || (LA49_0 >= 93 && LA49_0 <= 94) || (LA49_0 >= 96 && LA49_0 <= 108) || (LA49_0 >= 112 && LA49_0 <= 115) ) {
-                    alt49 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "557:17: ( finallyClause )?",
-                                                                          49,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt49 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:557:19: finallyClause
-                    {
-                        this.following.push( JavaParser.FOLLOW_finallyClause_in_tryBlock1756 );
-                        finallyClause();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end tryBlock
-
-    // $ANTLR start finallyClause
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:560:1: finallyClause : 'finally' compoundStatement ;
-    public void finallyClause() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:561:17: ( 'finally' compoundStatement )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:561:17: 'finally' compoundStatement
-            {
-                match( this.input,
-                       109,
-                       JavaParser.FOLLOW_109_in_finallyClause1770 );
-                this.following.push( JavaParser.FOLLOW_compoundStatement_in_finallyClause1772 );
-                compoundStatement();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end finallyClause
-
-    // $ANTLR start handler
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:565:1: handler : 'catch' LPAREN parameterDeclaration RPAREN compoundStatement ;
-    public void handler() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:566:17: ( 'catch' LPAREN parameterDeclaration RPAREN compoundStatement )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:566:17: 'catch' LPAREN parameterDeclaration RPAREN compoundStatement
-            {
-                match( this.input,
-                       110,
-                       JavaParser.FOLLOW_110_in_handler1784 );
-                match( this.input,
-                       JavaParser.LPAREN,
-                       JavaParser.FOLLOW_LPAREN_in_handler1786 );
-                this.following.push( JavaParser.FOLLOW_parameterDeclaration_in_handler1788 );
-                parameterDeclaration();
-                this.following.pop();
-
-                match( this.input,
-                       JavaParser.RPAREN,
-                       JavaParser.FOLLOW_RPAREN_in_handler1790 );
-                this.following.push( JavaParser.FOLLOW_compoundStatement_in_handler1792 );
-                compoundStatement();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end handler
-
-    // $ANTLR start expression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:605:1: expression : assignmentExpression ;
-    public void expression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:606:17: ( assignmentExpression )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:606:17: assignmentExpression
-            {
-                this.following.push( JavaParser.FOLLOW_assignmentExpression_in_expression1839 );
-                assignmentExpression();
-                this.following.pop();
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end expression
-
-    // $ANTLR start expressionList
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:612:1: expressionList : expression ( COMMA expression )* ;
-    public void expressionList() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:613:17: ( expression ( COMMA expression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:613:17: expression ( COMMA expression )*
-            {
-                this.following.push( JavaParser.FOLLOW_expression_in_expressionList1855 );
-                expression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:613:28: ( COMMA expression )*
-                loop50 : do {
-                    int alt50 = 2;
-                    final int LA50_0 = this.input.LA( 1 );
-                    if ( LA50_0 == JavaParser.COMMA ) {
-                        alt50 = 1;
-                    }
-
-                    switch ( alt50 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:613:29: COMMA expression
-                        {
-                            match( this.input,
-                                   JavaParser.COMMA,
-                                   JavaParser.FOLLOW_COMMA_in_expressionList1858 );
-                            this.following.push( JavaParser.FOLLOW_expression_in_expressionList1860 );
-                            expression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop50;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end expressionList
-
-    // $ANTLR start assignmentExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:619:1: assignmentExpression : conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )? ;
-    public void assignmentExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:620:17: ( conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:620:17: conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?
-            {
-                this.following.push( JavaParser.FOLLOW_conditionalExpression_in_assignmentExpression1878 );
-                conditionalExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:621:17: ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?
-                int alt51 = 2;
-                final int LA51_0 = this.input.LA( 1 );
-                if ( LA51_0 == JavaParser.ASSIGN || (LA51_0 >= JavaParser.PLUS_ASSIGN && LA51_0 <= JavaParser.BOR_ASSIGN) ) {
-                    alt51 = 1;
-                } else if ( LA51_0 == JavaParser.RBRACK || (LA51_0 >= JavaParser.SEMI && LA51_0 <= JavaParser.COMMA) || LA51_0 == JavaParser.RPAREN || LA51_0 == JavaParser.COLON ) {
-                    alt51 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "621:17: ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?",
-                                                                          51,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt51 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:621:25: (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression
-                    {
-                        if ( this.input.LA( 1 ) == JavaParser.ASSIGN || (this.input.LA( 1 ) >= JavaParser.PLUS_ASSIGN && this.input.LA( 1 ) <= JavaParser.BOR_ASSIGN) ) {
-                            this.input.consume();
-                            this.errorRecovery = false;
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recoverFromMismatchedSet( this.input,
-                                                      mse,
-                                                      JavaParser.FOLLOW_set_in_assignmentExpression1886 );
-                            throw mse;
-                        }
-
-                        this.following.push( JavaParser.FOLLOW_assignmentExpression_in_assignmentExpression2103 );
-                        assignmentExpression();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end assignmentExpression
-
-    // $ANTLR start conditionalExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:640:1: conditionalExpression : logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? ;
-    public void conditionalExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:641:17: ( logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:641:17: logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )?
-            {
-                this.following.push( JavaParser.FOLLOW_logicalOrExpression_in_conditionalExpression2121 );
-                logicalOrExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:642:17: ( QUESTION assignmentExpression COLON conditionalExpression )?
-                int alt52 = 2;
-                final int LA52_0 = this.input.LA( 1 );
-                if ( LA52_0 == JavaParser.QUESTION ) {
-                    alt52 = 1;
-                } else if ( LA52_0 == JavaParser.RBRACK || (LA52_0 >= JavaParser.SEMI && LA52_0 <= JavaParser.COMMA) || (LA52_0 >= JavaParser.RPAREN && LA52_0 <= JavaParser.BOR_ASSIGN) ) {
-                    alt52 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "642:17: ( QUESTION assignmentExpression COLON conditionalExpression )?",
-                                                                          52,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt52 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:642:19: QUESTION assignmentExpression COLON conditionalExpression
-                    {
-                        match( this.input,
-                               JavaParser.QUESTION,
-                               JavaParser.FOLLOW_QUESTION_in_conditionalExpression2127 );
-                        this.following.push( JavaParser.FOLLOW_assignmentExpression_in_conditionalExpression2129 );
-                        assignmentExpression();
-                        this.following.pop();
-
-                        match( this.input,
-                               JavaParser.COLON,
-                               JavaParser.FOLLOW_COLON_in_conditionalExpression2131 );
-                        this.following.push( JavaParser.FOLLOW_conditionalExpression_in_conditionalExpression2133 );
-                        conditionalExpression();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end conditionalExpression
-
-    // $ANTLR start logicalOrExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:647:1: logicalOrExpression : logicalAndExpression ( LOR logicalAndExpression )* ;
-    public void logicalOrExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:648:17: ( logicalAndExpression ( LOR logicalAndExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:648:17: logicalAndExpression ( LOR logicalAndExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_logicalAndExpression_in_logicalOrExpression2149 );
-                logicalAndExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:648:38: ( LOR logicalAndExpression )*
-                loop53 : do {
-                    int alt53 = 2;
-                    final int LA53_0 = this.input.LA( 1 );
-                    if ( LA53_0 == JavaParser.LOR ) {
-                        alt53 = 1;
-                    }
-
-                    switch ( alt53 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:648:39: LOR logicalAndExpression
-                        {
-                            match( this.input,
-                                   JavaParser.LOR,
-                                   JavaParser.FOLLOW_LOR_in_logicalOrExpression2152 );
-                            this.following.push( JavaParser.FOLLOW_logicalAndExpression_in_logicalOrExpression2154 );
-                            logicalAndExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop53;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end logicalOrExpression
-
-    // $ANTLR start logicalAndExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:653:1: logicalAndExpression : inclusiveOrExpression ( LAND inclusiveOrExpression )* ;
-    public void logicalAndExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:654:17: ( inclusiveOrExpression ( LAND inclusiveOrExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:654:17: inclusiveOrExpression ( LAND inclusiveOrExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169 );
-                inclusiveOrExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:654:39: ( LAND inclusiveOrExpression )*
-                loop54 : do {
-                    int alt54 = 2;
-                    final int LA54_0 = this.input.LA( 1 );
-                    if ( LA54_0 == JavaParser.LAND ) {
-                        alt54 = 1;
-                    }
-
-                    switch ( alt54 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:654:40: LAND inclusiveOrExpression
-                        {
-                            match( this.input,
-                                   JavaParser.LAND,
-                                   JavaParser.FOLLOW_LAND_in_logicalAndExpression2172 );
-                            this.following.push( JavaParser.FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174 );
-                            inclusiveOrExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop54;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end logicalAndExpression
-
-    // $ANTLR start inclusiveOrExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:659:1: inclusiveOrExpression : exclusiveOrExpression ( BOR exclusiveOrExpression )* ;
-    public void inclusiveOrExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:660:17: ( exclusiveOrExpression ( BOR exclusiveOrExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:660:17: exclusiveOrExpression ( BOR exclusiveOrExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189 );
-                exclusiveOrExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:660:39: ( BOR exclusiveOrExpression )*
-                loop55 : do {
-                    int alt55 = 2;
-                    final int LA55_0 = this.input.LA( 1 );
-                    if ( LA55_0 == JavaParser.BOR ) {
-                        alt55 = 1;
-                    }
-
-                    switch ( alt55 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:660:40: BOR exclusiveOrExpression
-                        {
-                            match( this.input,
-                                   JavaParser.BOR,
-                                   JavaParser.FOLLOW_BOR_in_inclusiveOrExpression2192 );
-                            this.following.push( JavaParser.FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194 );
-                            exclusiveOrExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop55;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end inclusiveOrExpression
-
-    // $ANTLR start exclusiveOrExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:665:1: exclusiveOrExpression : andExpression ( BXOR andExpression )* ;
-    public void exclusiveOrExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:666:17: ( andExpression ( BXOR andExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:666:17: andExpression ( BXOR andExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_andExpression_in_exclusiveOrExpression2209 );
-                andExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:666:31: ( BXOR andExpression )*
-                loop56 : do {
-                    int alt56 = 2;
-                    final int LA56_0 = this.input.LA( 1 );
-                    if ( LA56_0 == JavaParser.BXOR ) {
-                        alt56 = 1;
-                    }
-
-                    switch ( alt56 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:666:32: BXOR andExpression
-                        {
-                            match( this.input,
-                                   JavaParser.BXOR,
-                                   JavaParser.FOLLOW_BXOR_in_exclusiveOrExpression2212 );
-                            this.following.push( JavaParser.FOLLOW_andExpression_in_exclusiveOrExpression2214 );
-                            andExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop56;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end exclusiveOrExpression
-
-    // $ANTLR start andExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:671:1: andExpression : equalityExpression ( BAND equalityExpression )* ;
-    public void andExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:672:17: ( equalityExpression ( BAND equalityExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:672:17: equalityExpression ( BAND equalityExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_equalityExpression_in_andExpression2229 );
-                equalityExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:672:36: ( BAND equalityExpression )*
-                loop57 : do {
-                    int alt57 = 2;
-                    final int LA57_0 = this.input.LA( 1 );
-                    if ( LA57_0 == JavaParser.BAND ) {
-                        alt57 = 1;
-                    }
-
-                    switch ( alt57 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:672:37: BAND equalityExpression
-                        {
-                            match( this.input,
-                                   JavaParser.BAND,
-                                   JavaParser.FOLLOW_BAND_in_andExpression2232 );
-                            this.following.push( JavaParser.FOLLOW_equalityExpression_in_andExpression2234 );
-                            equalityExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop57;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end andExpression
-
-    // $ANTLR start equalityExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:677:1: equalityExpression : relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )* ;
-    public void equalityExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:678:17: ( relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:678:17: relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_relationalExpression_in_equalityExpression2249 );
-                relationalExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:678:38: ( (NOT_EQUAL|EQUAL) relationalExpression )*
-                loop58 : do {
-                    int alt58 = 2;
-                    final int LA58_0 = this.input.LA( 1 );
-                    if ( (LA58_0 >= JavaParser.NOT_EQUAL && LA58_0 <= JavaParser.EQUAL) ) {
-                        alt58 = 1;
-                    }
-
-                    switch ( alt58 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:678:39: (NOT_EQUAL|EQUAL) relationalExpression
-                        {
-                            if ( (this.input.LA( 1 ) >= JavaParser.NOT_EQUAL && this.input.LA( 1 ) <= JavaParser.EQUAL) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          JavaParser.FOLLOW_set_in_equalityExpression2253 );
-                                throw mse;
-                            }
-
-                            this.following.push( JavaParser.FOLLOW_relationalExpression_in_equalityExpression2260 );
-                            relationalExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop58;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end equalityExpression
-
-    // $ANTLR start relationalExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:683:1: relationalExpression : shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec ) ;
-    public void relationalExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:684:17: ( shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec ) )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:684:17: shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )
-            {
-                this.following.push( JavaParser.FOLLOW_shiftExpression_in_relationalExpression2275 );
-                shiftExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:685:17: ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )
-                int alt60 = 2;
-                final int LA60_0 = this.input.LA( 1 );
-                if ( LA60_0 == JavaParser.RBRACK || (LA60_0 >= JavaParser.SEMI && LA60_0 <= JavaParser.COMMA) || (LA60_0 >= JavaParser.RPAREN && LA60_0 <= JavaParser.GE) ) {
-                    alt60 = 1;
-                } else if ( LA60_0 == 111 ) {
-                    alt60 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "685:17: ( ( (LT|GT|LE|GE) shiftExpression )* | \'instanceof\' typeSpec )",
-                                                                          60,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt60 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:685:25: ( (LT|GT|LE|GE) shiftExpression )*
-                    {
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:685:25: ( (LT|GT|LE|GE) shiftExpression )*
-                        loop59 : do {
-                            int alt59 = 2;
-                            final int LA59_0 = this.input.LA( 1 );
-                            if ( (LA59_0 >= JavaParser.LT && LA59_0 <= JavaParser.GE) ) {
-                                alt59 = 1;
-                            }
-
-                            switch ( alt59 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:685:33: (LT|GT|LE|GE) shiftExpression
-                                {
-                                    if ( (this.input.LA( 1 ) >= JavaParser.LT && this.input.LA( 1 ) <= JavaParser.GE) ) {
-                                        this.input.consume();
-                                        this.errorRecovery = false;
-                                    } else {
-                                        final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                                 this.input );
-                                        recoverFromMismatchedSet( this.input,
-                                                                  mse,
-                                                                  JavaParser.FOLLOW_set_in_relationalExpression2285 );
-                                        throw mse;
-                                    }
-
-                                    this.following.push( JavaParser.FOLLOW_shiftExpression_in_relationalExpression2321 );
-                                    shiftExpression();
-                                    this.following.pop();
-
-                                }
-                                    break;
-
-                                default :
-                                    break loop59;
-                            }
-                        } while ( true );
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:692:25: 'instanceof' typeSpec
-                    {
-                        match( this.input,
-                               111,
-                               JavaParser.FOLLOW_111_in_relationalExpression2333 );
-                        this.following.push( JavaParser.FOLLOW_typeSpec_in_relationalExpression2335 );
-                        typeSpec();
-                        this.following.pop();
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end relationalExpression
-
-    // $ANTLR start shiftExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:698:1: shiftExpression : additiveExpression ( (SL|SR|BSR) additiveExpression )* ;
-    public void shiftExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:699:17: ( additiveExpression ( (SL|SR|BSR) additiveExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:699:17: additiveExpression ( (SL|SR|BSR) additiveExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_additiveExpression_in_shiftExpression2352 );
-                additiveExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:699:36: ( (SL|SR|BSR) additiveExpression )*
-                loop61 : do {
-                    int alt61 = 2;
-                    final int LA61_0 = this.input.LA( 1 );
-                    if ( (LA61_0 >= JavaParser.SL && LA61_0 <= JavaParser.BSR) ) {
-                        alt61 = 1;
-                    }
-
-                    switch ( alt61 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:699:37: (SL|SR|BSR) additiveExpression
-                        {
-                            if ( (this.input.LA( 1 ) >= JavaParser.SL && this.input.LA( 1 ) <= JavaParser.BSR) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          JavaParser.FOLLOW_set_in_shiftExpression2356 );
-                                throw mse;
-                            }
-
-                            this.following.push( JavaParser.FOLLOW_additiveExpression_in_shiftExpression2367 );
-                            additiveExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop61;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end shiftExpression
-
-    // $ANTLR start additiveExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:704:1: additiveExpression : multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )* ;
-    public void additiveExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:705:17: ( multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:705:17: multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_multiplicativeExpression_in_additiveExpression2382 );
-                multiplicativeExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:705:42: ( (PLUS|MINUS) multiplicativeExpression )*
-                loop62 : do {
-                    int alt62 = 2;
-                    final int LA62_0 = this.input.LA( 1 );
-                    if ( (LA62_0 >= JavaParser.PLUS && LA62_0 <= JavaParser.MINUS) ) {
-                        alt62 = 1;
-                    }
-
-                    switch ( alt62 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:705:43: (PLUS|MINUS) multiplicativeExpression
-                        {
-                            if ( (this.input.LA( 1 ) >= JavaParser.PLUS && this.input.LA( 1 ) <= JavaParser.MINUS) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          JavaParser.FOLLOW_set_in_additiveExpression2386 );
-                                throw mse;
-                            }
-
-                            this.following.push( JavaParser.FOLLOW_multiplicativeExpression_in_additiveExpression2393 );
-                            multiplicativeExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop62;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end additiveExpression
-
-    // $ANTLR start multiplicativeExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:710:1: multiplicativeExpression : unaryExpression ( (STAR|DIV|MOD) unaryExpression )* ;
-    public void multiplicativeExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:711:17: ( unaryExpression ( (STAR|DIV|MOD) unaryExpression )* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:711:17: unaryExpression ( (STAR|DIV|MOD) unaryExpression )*
-            {
-                this.following.push( JavaParser.FOLLOW_unaryExpression_in_multiplicativeExpression2408 );
-                unaryExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:711:33: ( (STAR|DIV|MOD) unaryExpression )*
-                loop63 : do {
-                    int alt63 = 2;
-                    final int LA63_0 = this.input.LA( 1 );
-                    if ( LA63_0 == JavaParser.STAR || (LA63_0 >= JavaParser.DIV && LA63_0 <= JavaParser.MOD) ) {
-                        alt63 = 1;
-                    }
-
-                    switch ( alt63 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:711:34: (STAR|DIV|MOD) unaryExpression
-                        {
-                            if ( this.input.LA( 1 ) == JavaParser.STAR || (this.input.LA( 1 ) >= JavaParser.DIV && this.input.LA( 1 ) <= JavaParser.MOD) ) {
-                                this.input.consume();
-                                this.errorRecovery = false;
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recoverFromMismatchedSet( this.input,
-                                                          mse,
-                                                          JavaParser.FOLLOW_set_in_multiplicativeExpression2412 );
-                                throw mse;
-                            }
-
-                            this.following.push( JavaParser.FOLLOW_unaryExpression_in_multiplicativeExpression2424 );
-                            unaryExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-
-                        default :
-                            break loop63;
-                    }
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end multiplicativeExpression
-
-    // $ANTLR start unaryExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );
-    public void unaryExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:715:17: ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus )
-            int alt64 = 5;
-            switch ( this.input.LA( 1 ) ) {
-                case INC :
-                    alt64 = 1;
-                    break;
-                case DEC :
-                    alt64 = 2;
-                    break;
-                case MINUS :
-                    alt64 = 3;
-                    break;
-                case PLUS :
-                    alt64 = 4;
-                    break;
-                case IDENT :
-                case LPAREN :
-                case BNOT :
-                case LNOT :
-                case NUM_INT :
-                case CHAR_LITERAL :
-                case STRING_LITERAL :
-                case NUM_FLOAT :
-                case 68 :
-                case 69 :
-                case 70 :
-                case 71 :
-                case 72 :
-                case 73 :
-                case 74 :
-                case 75 :
-                case 76 :
-                case 93 :
-                case 94 :
-                case 112 :
-                case 113 :
-                case 114 :
-                case 115 :
-                    alt64 = 5;
-                    break;
-                default :
-                    final NoViableAltException nvae = new NoViableAltException( "714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );",
-                                                                          64,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-            }
-
-            switch ( alt64 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:715:17: INC unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.INC,
-                           JavaParser.FOLLOW_INC_in_unaryExpression2437 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpression2439 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:716:17: DEC unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.DEC,
-                           JavaParser.FOLLOW_DEC_in_unaryExpression2444 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpression2446 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:717:17: MINUS unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.MINUS,
-                           JavaParser.FOLLOW_MINUS_in_unaryExpression2451 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpression2454 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 4 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:718:17: PLUS unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.PLUS,
-                           JavaParser.FOLLOW_PLUS_in_unaryExpression2459 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpression2463 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 5 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:719:17: unaryExpressionNotPlusMinus
-                {
-                    this.following.push( JavaParser.FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468 );
-                    unaryExpressionNotPlusMinus();
-                    this.following.pop();
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end unaryExpression
-
-    // $ANTLR start unaryExpressionNotPlusMinus
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:722:1: unaryExpressionNotPlusMinus : ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression );
-    public void unaryExpressionNotPlusMinus() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:723:17: ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression )
-            int alt65 = 5;
-            alt65 = this.dfa65.predict( this.input );
-            switch ( alt65 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:723:17: BNOT unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.BNOT,
-                           JavaParser.FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:724:17: LNOT unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.LNOT,
-                           JavaParser.FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:726:9: LPAREN builtInTypeSpec RPAREN unaryExpression
-                {
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499 );
-                    this.following.push( JavaParser.FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501 );
-                    builtInTypeSpec();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513 );
-                    unaryExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 4 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:732:9: LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus
-                {
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549 );
-                    this.following.push( JavaParser.FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551 );
-                    classTypeSpec();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553 );
-                    this.following.push( JavaParser.FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563 );
-                    unaryExpressionNotPlusMinus();
-                    this.following.pop();
-
-                }
-                    break;
-                case 5 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:735:9: postfixExpression
-                {
-                    this.following.push( JavaParser.FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572 );
-                    postfixExpression();
-                    this.following.pop();
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end unaryExpressionNotPlusMinus
-
-    // $ANTLR start postfixExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:739:1: postfixExpression : primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))? ;
-    public void postfixExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:740:13: ( primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:740:13: primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))?
-            {
-                this.following.push( JavaParser.FOLLOW_primaryExpression_in_postfixExpression2586 );
-                primaryExpression();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:741:17: ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )*
-                loop69 : do {
-                    int alt69 = 6;
-                    final int LA69_0 = this.input.LA( 1 );
-                    if ( LA69_0 == JavaParser.DOT ) {
-                        switch ( this.input.LA( 2 ) ) {
-                            case 93 :
-                                alt69 = 2;
-                                break;
-                            case IDENT :
-                                alt69 = 1;
-                                break;
-                            case 94 :
-                                alt69 = 3;
-                                break;
-                            case 115 :
-                                alt69 = 4;
-                                break;
-
-                        }
-
-                    } else if ( LA69_0 == JavaParser.LBRACK ) {
-                        alt69 = 5;
-                    }
-
-                    switch ( alt69 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:741:21: DOT IDENT ( LPAREN argList RPAREN )?
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_postfixExpression2594 );
-                            match( this.input,
-                                   JavaParser.IDENT,
-                                   JavaParser.FOLLOW_IDENT_in_postfixExpression2596 );
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:742:25: ( LPAREN argList RPAREN )?
-                            int alt66 = 2;
-                            final int LA66_0 = this.input.LA( 1 );
-                            if ( LA66_0 == JavaParser.LPAREN ) {
-                                alt66 = 1;
-                            } else if ( (LA66_0 >= JavaParser.LBRACK && LA66_0 <= JavaParser.RBRACK) || (LA66_0 >= JavaParser.DOT && LA66_0 <= JavaParser.STAR) || (LA66_0 >= JavaParser.SEMI && LA66_0 <= JavaParser.COMMA) || (LA66_0 >= JavaParser.RPAREN && LA66_0 <= JavaParser.DEC) || LA66_0 == 111 ) {
-                                alt66 = 2;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "742:25: ( LPAREN argList RPAREN )?",
-                                                                                      66,
-                                                                                      0,
-                                                                                      this.input );
-
-                                throw nvae;
-                            }
-                            switch ( alt66 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:742:33: LPAREN argList RPAREN
-                                {
-                                    match( this.input,
-                                           JavaParser.LPAREN,
-                                           JavaParser.FOLLOW_LPAREN_in_postfixExpression2603 );
-                                    this.following.push( JavaParser.FOLLOW_argList_in_postfixExpression2610 );
-                                    argList();
-                                    this.following.pop();
-
-                                    match( this.input,
-                                           JavaParser.RPAREN,
-                                           JavaParser.FOLLOW_RPAREN_in_postfixExpression2616 );
-
-                                }
-                                    break;
-
-                            }
-
-                        }
-                            break;
-                        case 2 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:746:25: DOT 'this'
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_postfixExpression2628 );
-                            match( this.input,
-                                   93,
-                                   JavaParser.FOLLOW_93_in_postfixExpression2630 );
-
-                        }
-                            break;
-                        case 3 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:748:25: DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_postfixExpression2637 );
-                            match( this.input,
-                                   94,
-                                   JavaParser.FOLLOW_94_in_postfixExpression2639 );
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
-                            int alt68 = 2;
-                            final int LA68_0 = this.input.LA( 1 );
-                            if ( LA68_0 == JavaParser.LPAREN ) {
-                                alt68 = 1;
-                            } else if ( LA68_0 == JavaParser.DOT ) {
-                                alt68 = 2;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )",
-                                                                                      68,
-                                                                                      0,
-                                                                                      this.input );
-
-                                throw nvae;
-                            }
-                            switch ( alt68 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:750:17: LPAREN argList RPAREN
-                                {
-                                    match( this.input,
-                                           JavaParser.LPAREN,
-                                           JavaParser.FOLLOW_LPAREN_in_postfixExpression2674 );
-                                    this.following.push( JavaParser.FOLLOW_argList_in_postfixExpression2676 );
-                                    argList();
-                                    this.following.pop();
-
-                                    match( this.input,
-                                           JavaParser.RPAREN,
-                                           JavaParser.FOLLOW_RPAREN_in_postfixExpression2678 );
-
-                                }
-                                    break;
-                                case 2 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:752:29: DOT IDENT ( LPAREN argList RPAREN )?
-                                {
-                                    match( this.input,
-                                           JavaParser.DOT,
-                                           JavaParser.FOLLOW_DOT_in_postfixExpression2704 );
-                                    match( this.input,
-                                           JavaParser.IDENT,
-                                           JavaParser.FOLLOW_IDENT_in_postfixExpression2706 );
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:753:17: ( LPAREN argList RPAREN )?
-                                    int alt67 = 2;
-                                    final int LA67_0 = this.input.LA( 1 );
-                                    if ( LA67_0 == JavaParser.LPAREN ) {
-                                        alt67 = 1;
-                                    } else if ( (LA67_0 >= JavaParser.LBRACK && LA67_0 <= JavaParser.RBRACK) || (LA67_0 >= JavaParser.DOT && LA67_0 <= JavaParser.STAR) || (LA67_0 >= JavaParser.SEMI && LA67_0 <= JavaParser.COMMA) || (LA67_0 >= JavaParser.RPAREN && LA67_0 <= JavaParser.DEC) || LA67_0 == 111 ) {
-                                        alt67 = 2;
-                                    } else {
-                                        final NoViableAltException nvae = new NoViableAltException( "753:17: ( LPAREN argList RPAREN )?",
-                                                                                              67,
-                                                                                              0,
-                                                                                              this.input );
-
-                                        throw nvae;
-                                    }
-                                    switch ( alt67 ) {
-                                        case 1 :
-                                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:753:25: LPAREN argList RPAREN
-                                        {
-                                            match( this.input,
-                                                   JavaParser.LPAREN,
-                                                   JavaParser.FOLLOW_LPAREN_in_postfixExpression2726 );
-                                            this.following.push( JavaParser.FOLLOW_argList_in_postfixExpression2749 );
-                                            argList();
-                                            this.following.pop();
-
-                                            match( this.input,
-                                                   JavaParser.RPAREN,
-                                                   JavaParser.FOLLOW_RPAREN_in_postfixExpression2771 );
-
-                                        }
-                                            break;
-
-                                    }
-
-                                }
-                                    break;
-
-                            }
-
-                        }
-                            break;
-                        case 4 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:758:25: DOT newExpression
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_postfixExpression2810 );
-                            this.following.push( JavaParser.FOLLOW_newExpression_in_postfixExpression2812 );
-                            newExpression();
-                            this.following.pop();
-
-                        }
-                            break;
-                        case 5 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:759:25: LBRACK expression RBRACK
-                        {
-                            match( this.input,
-                                   JavaParser.LBRACK,
-                                   JavaParser.FOLLOW_LBRACK_in_postfixExpression2818 );
-                            this.following.push( JavaParser.FOLLOW_expression_in_postfixExpression2821 );
-                            expression();
-                            this.following.pop();
-
-                            match( this.input,
-                                   JavaParser.RBRACK,
-                                   JavaParser.FOLLOW_RBRACK_in_postfixExpression2823 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop69;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:762:17: ( (INC|DEC))?
-                int alt70 = 2;
-                final int LA70_0 = this.input.LA( 1 );
-                if ( (LA70_0 >= JavaParser.INC && LA70_0 <= JavaParser.DEC) ) {
-                    alt70 = 1;
-                } else if ( LA70_0 == JavaParser.RBRACK || LA70_0 == JavaParser.STAR || (LA70_0 >= JavaParser.SEMI && LA70_0 <= JavaParser.COMMA) || (LA70_0 >= JavaParser.RPAREN && LA70_0 <= JavaParser.MOD) || LA70_0 == 111 ) {
-                    alt70 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "762:17: ( (INC|DEC))?",
-                                                                          70,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt70 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:764:25: (INC|DEC)
-                    {
-                        if ( (this.input.LA( 1 ) >= JavaParser.INC && this.input.LA( 1 ) <= JavaParser.DEC) ) {
-                            this.input.consume();
-                            this.errorRecovery = false;
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recoverFromMismatchedSet( this.input,
-                                                      mse,
-                                                      JavaParser.FOLLOW_set_in_postfixExpression2854 );
-                            throw mse;
-                        }
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end postfixExpression
-
-    // $ANTLR start primaryExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );
-    public void primaryExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:771:17: ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' )
-            int alt73 = 10;
-            switch ( this.input.LA( 1 ) ) {
-                case IDENT :
-                    alt73 = 1;
-                    break;
-                case NUM_INT :
-                case CHAR_LITERAL :
-                case STRING_LITERAL :
-                case NUM_FLOAT :
-                    alt73 = 2;
-                    break;
-                case 112 :
-                    alt73 = 3;
-                    break;
-                case 113 :
-                    alt73 = 4;
-                    break;
-                case 114 :
-                    alt73 = 5;
-                    break;
-                case 115 :
-                    alt73 = 6;
-                    break;
-                case 93 :
-                    alt73 = 7;
-                    break;
-                case 94 :
-                    alt73 = 8;
-                    break;
-                case LPAREN :
-                    alt73 = 9;
-                    break;
-                case 68 :
-                case 69 :
-                case 70 :
-                case 71 :
-                case 72 :
-                case 73 :
-                case 74 :
-                case 75 :
-                case 76 :
-                    alt73 = 10;
-                    break;
-                default :
-                    final NoViableAltException nvae = new NoViableAltException( "770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT \'class\' )? | constant | \'true\' | \'false\' | \'null\' | newExpression | \'this\' | \'super\' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT \'class\' );",
-                                                                          73,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-            }
-
-            switch ( alt73 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:771:17: identPrimary ( options {greedy=true; } : DOT 'class' )?
-                {
-                    this.following.push( JavaParser.FOLLOW_identPrimary_in_primaryExpression2881 );
-                    identPrimary();
-                    this.following.pop();
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:771:30: ( options {greedy=true; } : DOT 'class' )?
-                    int alt71 = 2;
-                    final int LA71_0 = this.input.LA( 1 );
-                    if ( LA71_0 == JavaParser.DOT ) {
-                        final int LA71_1 = this.input.LA( 2 );
-                        if ( LA71_1 == JavaParser.IDENT || (LA71_1 >= 93 && LA71_1 <= 94) || LA71_1 == 115 ) {
-                            alt71 = 2;
-                        } else if ( LA71_1 == 89 ) {
-                            alt71 = 1;
-                        } else {
-                            final NoViableAltException nvae = new NoViableAltException( "771:30: ( options {greedy=true; } : DOT \'class\' )?",
-                                                                                  71,
-                                                                                  1,
-                                                                                  this.input );
-
-                            throw nvae;
-                        }
-                    } else if ( (LA71_0 >= JavaParser.LBRACK && LA71_0 <= JavaParser.RBRACK) || LA71_0 == JavaParser.STAR || (LA71_0 >= JavaParser.SEMI && LA71_0 <= JavaParser.COMMA) || (LA71_0 >= JavaParser.RPAREN && LA71_0 <= JavaParser.DEC) || LA71_0 == 111 ) {
-                        alt71 = 2;
-                    } else {
-                        final NoViableAltException nvae = new NoViableAltException( "771:30: ( options {greedy=true; } : DOT \'class\' )?",
-                                                                              71,
-                                                                              0,
-                                                                              this.input );
-
-                        throw nvae;
-                    }
-                    switch ( alt71 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:771:56: DOT 'class'
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_primaryExpression2893 );
-                            match( this.input,
-                                   89,
-                                   JavaParser.FOLLOW_89_in_primaryExpression2895 );
-
-                        }
-                            break;
-
-                    }
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:772:9: constant
-                {
-                    this.following.push( JavaParser.FOLLOW_constant_in_primaryExpression2908 );
-                    constant();
-                    this.following.pop();
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:773:17: 'true'
-                {
-                    match( this.input,
-                           112,
-                           JavaParser.FOLLOW_112_in_primaryExpression2913 );
-
-                }
-                    break;
-                case 4 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:774:17: 'false'
-                {
-                    match( this.input,
-                           113,
-                           JavaParser.FOLLOW_113_in_primaryExpression2918 );
-
-                }
-                    break;
-                case 5 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:775:17: 'null'
-                {
-                    match( this.input,
-                           114,
-                           JavaParser.FOLLOW_114_in_primaryExpression2923 );
-
-                }
-                    break;
-                case 6 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:776:9: newExpression
-                {
-                    this.following.push( JavaParser.FOLLOW_newExpression_in_primaryExpression2933 );
-                    newExpression();
-                    this.following.pop();
-
-                }
-                    break;
-                case 7 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:777:17: 'this'
-                {
-                    match( this.input,
-                           93,
-                           JavaParser.FOLLOW_93_in_primaryExpression2938 );
-
-                }
-                    break;
-                case 8 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:778:17: 'super'
-                {
-                    match( this.input,
-                           94,
-                           JavaParser.FOLLOW_94_in_primaryExpression2943 );
-
-                }
-                    break;
-                case 9 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:779:17: LPAREN assignmentExpression RPAREN
-                {
-                    match( this.input,
-                           JavaParser.LPAREN,
-                           JavaParser.FOLLOW_LPAREN_in_primaryExpression2948 );
-                    this.following.push( JavaParser.FOLLOW_assignmentExpression_in_primaryExpression2950 );
-                    assignmentExpression();
-                    this.following.pop();
-
-                    match( this.input,
-                           JavaParser.RPAREN,
-                           JavaParser.FOLLOW_RPAREN_in_primaryExpression2952 );
-
-                }
-                    break;
-                case 10 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:781:17: builtInType ( LBRACK RBRACK )* DOT 'class'
-                {
-                    this.following.push( JavaParser.FOLLOW_builtInType_in_primaryExpression2960 );
-                    builtInType();
-                    this.following.pop();
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:782:17: ( LBRACK RBRACK )*
-                    loop72 : do {
-                        int alt72 = 2;
-                        final int LA72_0 = this.input.LA( 1 );
-                        if ( LA72_0 == JavaParser.LBRACK ) {
-                            alt72 = 1;
-                        }
-
-                        switch ( alt72 ) {
-                            case 1 :
-                                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:782:19: LBRACK RBRACK
-                            {
-                                match( this.input,
-                                       JavaParser.LBRACK,
-                                       JavaParser.FOLLOW_LBRACK_in_primaryExpression2966 );
-                                match( this.input,
-                                       JavaParser.RBRACK,
-                                       JavaParser.FOLLOW_RBRACK_in_primaryExpression2969 );
-
-                            }
-                                break;
-
-                            default :
-                                break loop72;
-                        }
-                    } while ( true );
-
-                    match( this.input,
-                           JavaParser.DOT,
-                           JavaParser.FOLLOW_DOT_in_primaryExpression2976 );
-                    match( this.input,
-                           89,
-                           JavaParser.FOLLOW_89_in_primaryExpression2978 );
-
-                }
-                    break;
-
-            }
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end primaryExpression
-
-    // $ANTLR start identPrimary
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:786:1: identPrimary : i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? ;
-    public void identPrimary() throws RecognitionException {
-        Token i = null;
-
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:791:17: (i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:791:17: i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
-            {
-                i = (Token) this.input.LT( 1 );
-                match( this.input,
-                       JavaParser.IDENT,
-                       JavaParser.FOLLOW_IDENT_in_identPrimary2993 );
-                this.identifiers.add( i.getText() );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:792:17: ( options {greedy=true; k=2; } : DOT IDENT )*
-                loop74 : do {
-                    int alt74 = 2;
-                    final int LA74_0 = this.input.LA( 1 );
-                    if ( LA74_0 == JavaParser.DOT ) {
-                        final int LA74_3 = this.input.LA( 2 );
-                        if ( LA74_3 == JavaParser.IDENT ) {
-                            alt74 = 1;
-                        }
-
-                    }
-
-                    switch ( alt74 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:796:25: DOT IDENT
-                        {
-                            match( this.input,
-                                   JavaParser.DOT,
-                                   JavaParser.FOLLOW_DOT_in_identPrimary3031 );
-                            match( this.input,
-                                   JavaParser.IDENT,
-                                   JavaParser.FOLLOW_IDENT_in_identPrimary3033 );
-
-                        }
-                            break;
-
-                        default :
-                            break loop74;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:798:17: ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
-                int alt76 = 3;
-                final int LA76_0 = this.input.LA( 1 );
-                if ( LA76_0 == JavaParser.LPAREN ) {
-                    alt76 = 1;
-                } else if ( LA76_0 == JavaParser.LBRACK ) {
-                    final int LA76_2 = this.input.LA( 2 );
-                    if ( LA76_2 == JavaParser.RBRACK ) {
-                        alt76 = 2;
-                    }
-                }
-                switch ( alt76 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:804:21: ( LPAREN argList RPAREN )
-                    {
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:804:21: ( LPAREN argList RPAREN )
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:804:23: LPAREN argList RPAREN
-                        {
-                            match( this.input,
-                                   JavaParser.LPAREN,
-                                   JavaParser.FOLLOW_LPAREN_in_identPrimary3095 );
-                            this.following.push( JavaParser.FOLLOW_argList_in_identPrimary3098 );
-                            argList();
-                            this.following.pop();
-
-                            match( this.input,
-                                   JavaParser.RPAREN,
-                                   JavaParser.FOLLOW_RPAREN_in_identPrimary3100 );
-
-                        }
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:805:25: ( options {greedy=true; } : LBRACK RBRACK )+
-                    {
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:805:25: ( options {greedy=true; } : LBRACK RBRACK )+
-                        int cnt75 = 0;
-                        loop75 : do {
-                            int alt75 = 2;
-                            final int LA75_0 = this.input.LA( 1 );
-                            if ( LA75_0 == JavaParser.LBRACK ) {
-                                final int LA75_2 = this.input.LA( 2 );
-                                if ( LA75_2 == JavaParser.RBRACK ) {
-                                    alt75 = 1;
-                                }
-
-                            }
-
-                            switch ( alt75 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:806:15: LBRACK RBRACK
-                                {
-                                    match( this.input,
-                                           JavaParser.LBRACK,
-                                           JavaParser.FOLLOW_LBRACK_in_identPrimary3133 );
-                                    match( this.input,
-                                           JavaParser.RBRACK,
-                                           JavaParser.FOLLOW_RBRACK_in_identPrimary3136 );
-
-                                }
-                                    break;
-
-                                default :
-                                    if ( cnt75 >= 1 ) {
-                                        break loop75;
-                                    }
-                                    final EarlyExitException eee = new EarlyExitException( 75,
-                                                                                     this.input );
-                                    throw eee;
-                            }
-                            cnt75++;
-                        } while ( true );
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end identPrimary
-
-    // $ANTLR start newExpression
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:811:1: newExpression : 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) ;
-    public void newExpression() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:861:17: ( 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:861:17: 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
-            {
-                match( this.input,
-                       115,
-                       JavaParser.FOLLOW_115_in_newExpression3172 );
-                this.following.push( JavaParser.FOLLOW_type_in_newExpression3174 );
-                type();
-                this.following.pop();
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:862:17: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
-                int alt79 = 2;
-                final int LA79_0 = this.input.LA( 1 );
-                if ( LA79_0 == JavaParser.LPAREN ) {
-                    alt79 = 1;
-                } else if ( LA79_0 == JavaParser.LBRACK ) {
-                    alt79 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "862:17: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )",
-                                                                          79,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt79 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:862:25: LPAREN argList RPAREN ( classBlock )?
-                    {
-                        match( this.input,
-                               JavaParser.LPAREN,
-                               JavaParser.FOLLOW_LPAREN_in_newExpression3180 );
-                        this.following.push( JavaParser.FOLLOW_argList_in_newExpression3182 );
-                        argList();
-                        this.following.pop();
-
-                        match( this.input,
-                               JavaParser.RPAREN,
-                               JavaParser.FOLLOW_RPAREN_in_newExpression3184 );
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:862:47: ( classBlock )?
-                        int alt77 = 2;
-                        final int LA77_0 = this.input.LA( 1 );
-                        if ( LA77_0 == JavaParser.LCURLY ) {
-                            alt77 = 1;
-                        } else if ( (LA77_0 >= JavaParser.LBRACK && LA77_0 <= JavaParser.RBRACK) || (LA77_0 >= JavaParser.DOT && LA77_0 <= JavaParser.STAR) || (LA77_0 >= JavaParser.SEMI && LA77_0 <= JavaParser.COMMA) || (LA77_0 >= JavaParser.RPAREN && LA77_0 <= JavaParser.DEC) || LA77_0 == 111 ) {
-                            alt77 = 2;
-                        } else {
-                            final NoViableAltException nvae = new NoViableAltException( "862:47: ( classBlock )?",
-                                                                                  77,
-                                                                                  0,
-                                                                                  this.input );
-
-                            throw nvae;
-                        }
-                        switch ( alt77 ) {
-                            case 1 :
-                                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:862:48: classBlock
-                            {
-                                this.following.push( JavaParser.FOLLOW_classBlock_in_newExpression3187 );
-                                classBlock();
-                                this.following.pop();
-
-                            }
-                                break;
-
-                        }
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:872:25: newArrayDeclarator ( arrayInitializer )?
-                    {
-                        this.following.push( JavaParser.FOLLOW_newArrayDeclarator_in_newExpression3225 );
-                        newArrayDeclarator();
-                        this.following.pop();
-
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:872:44: ( arrayInitializer )?
-                        int alt78 = 2;
-                        final int LA78_0 = this.input.LA( 1 );
-                        if ( LA78_0 == JavaParser.LCURLY ) {
-                            alt78 = 1;
-                        } else if ( (LA78_0 >= JavaParser.LBRACK && LA78_0 <= JavaParser.RBRACK) || (LA78_0 >= JavaParser.DOT && LA78_0 <= JavaParser.STAR) || (LA78_0 >= JavaParser.SEMI && LA78_0 <= JavaParser.COMMA) || (LA78_0 >= JavaParser.RPAREN && LA78_0 <= JavaParser.DEC) || LA78_0 == 111 ) {
-                            alt78 = 2;
-                        } else {
-                            final NoViableAltException nvae = new NoViableAltException( "872:44: ( arrayInitializer )?",
-                                                                                  78,
-                                                                                  0,
-                                                                                  this.input );
-
-                            throw nvae;
-                        }
-                        switch ( alt78 ) {
-                            case 1 :
-                                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:872:45: arrayInitializer
-                            {
-                                this.following.push( JavaParser.FOLLOW_arrayInitializer_in_newExpression3228 );
-                                arrayInitializer();
-                                this.following.pop();
-
-                            }
-                                break;
-
-                        }
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end newExpression
-
-    // $ANTLR start argList
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:876:1: argList : ( expressionList | ) ;
-    public void argList() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:877:17: ( ( expressionList | ) )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:877:17: ( expressionList | )
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:877:17: ( expressionList | )
-                int alt80 = 2;
-                final int LA80_0 = this.input.LA( 1 );
-                if ( LA80_0 == JavaParser.IDENT || LA80_0 == JavaParser.LPAREN || (LA80_0 >= JavaParser.PLUS && LA80_0 <= JavaParser.MINUS) || (LA80_0 >= JavaParser.INC && LA80_0 <= JavaParser.NUM_FLOAT) || (LA80_0 >= 68 && LA80_0 <= 76) || (LA80_0 >= 93 && LA80_0 <= 94) || (LA80_0 >= 112 && LA80_0 <= 115) ) {
-                    alt80 = 1;
-                } else if ( LA80_0 == JavaParser.RPAREN ) {
-                    alt80 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "877:17: ( expressionList | )",
-                                                                          80,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt80 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:877:25: expressionList
-                    {
-                        this.following.push( JavaParser.FOLLOW_expressionList_in_argList3247 );
-                        expressionList();
-                        this.following.pop();
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:880:17: 
-                    {
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end argList
-
-    // $ANTLR start newArrayDeclarator
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:883:1: newArrayDeclarator : ( options {k=1; } : LBRACK ( expression )? RBRACK )+ ;
-    public void newArrayDeclarator() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:884:17: ( ( options {k=1; } : LBRACK ( expression )? RBRACK )+ )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:884:17: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:884:17: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
-                int cnt82 = 0;
-                loop82 : do {
-                    int alt82 = 2;
-                    final int LA82_0 = this.input.LA( 1 );
-                    if ( LA82_0 == JavaParser.LBRACK ) {
-                        alt82 = 1;
-                    }
-
-                    switch ( alt82 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:893:25: LBRACK ( expression )? RBRACK
-                        {
-                            match( this.input,
-                                   JavaParser.LBRACK,
-                                   JavaParser.FOLLOW_LBRACK_in_newArrayDeclarator3317 );
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:894:33: ( expression )?
-                            int alt81 = 2;
-                            final int LA81_0 = this.input.LA( 1 );
-                            if ( LA81_0 == JavaParser.IDENT || LA81_0 == JavaParser.LPAREN || (LA81_0 >= JavaParser.PLUS && LA81_0 <= JavaParser.MINUS) || (LA81_0 >= JavaParser.INC && LA81_0 <= JavaParser.NUM_FLOAT) || (LA81_0 >= 68 && LA81_0 <= 76) || (LA81_0 >= 93 && LA81_0 <= 94)
-                                 || (LA81_0 >= 112 && LA81_0 <= 115) ) {
-                                alt81 = 1;
-                            } else if ( LA81_0 == JavaParser.RBRACK ) {
-                                alt81 = 2;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "894:33: ( expression )?",
-                                                                                      81,
-                                                                                      0,
-                                                                                      this.input );
-
-                                throw nvae;
-                            }
-                            switch ( alt81 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:894:34: expression
-                                {
-                                    this.following.push( JavaParser.FOLLOW_expression_in_newArrayDeclarator3325 );
-                                    expression();
-                                    this.following.pop();
-
-                                }
-                                    break;
-
-                            }
-
-                            match( this.input,
-                                   JavaParser.RBRACK,
-                                   JavaParser.FOLLOW_RBRACK_in_newArrayDeclarator3332 );
-
-                        }
-                            break;
-
-                        default :
-                            if ( cnt82 >= 1 ) {
-                                break loop82;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 82,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt82++;
-                } while ( true );
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end newArrayDeclarator
-
-    // $ANTLR start constant
-    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:899:1: constant : (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT);
-    public void constant() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:900:9: ( (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT))
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:900:17: (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT)
-            {
-                if ( (this.input.LA( 1 ) >= JavaParser.NUM_INT && this.input.LA( 1 ) <= JavaParser.NUM_FLOAT) ) {
-                    this.input.consume();
-                    this.errorRecovery = false;
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recoverFromMismatchedSet( this.input,
-                                              mse,
-                                              JavaParser.FOLLOW_set_in_constant3348 );
-                    throw mse;
-                }
-
-            }
-
-        } catch ( final RecognitionException re ) {
-            reportError( re );
-            recover( this.input,
-                     re );
-        } finally {
-        }
-        return;
-    }
-
-    // $ANTLR end constant
-
-    protected DFA41 dfa41 = new DFA41();
-    protected DFA45 dfa45 = new DFA45();
-    protected DFA65 dfa65 = new DFA65();
-
-    class DFA41 extends DFA {
-        public int predict(final IntStream input) throws RecognitionException {
-            return predict( input,
-                            this.s0 );
-        }
-
-        DFA.State s1  = new DFA.State() {
-                          {
-                              this.alt = 1;
-                          }
-                      };
-        DFA.State s32 = new DFA.State() {
-                          {
-                              this.alt = 16;
-                          }
-                      };
-        DFA.State s19 = new DFA.State() {
-                          {
-                              this.alt = 4;
-                          }
-                      };
-        DFA.State s35 = new DFA.State() {
-                          {
-                              this.alt = 2;
-                          }
-                      };
-        DFA.State s30 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case 89 :
-                                      return DFA41.this.s19;
-
-                                  case 77 :
-                                  case 78 :
-                                  case 79 :
-                                  case 80 :
-                                  case 81 :
-                                  case 82 :
-                                  case 83 :
-                                  case 84 :
-                                  case 85 :
-                                  case 86 :
-                                  case 87 :
-                                  case 88 :
-                                      return DFA41.this.s30;
-
-                                  case IDENT :
-                                  case 68 :
-                                  case 69 :
-                                  case 70 :
-                                  case 71 :
-                                  case 72 :
-                                  case 73 :
-                                  case 74 :
-                                  case 75 :
-                                  case 76 :
-                                      return DFA41.this.s35;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            30,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s2  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case LPAREN :
-                                      return DFA41.this.s32;
-
-                                  case 89 :
-                                      return DFA41.this.s19;
-
-                                  case 77 :
-                                  case 78 :
-                                  case 79 :
-                                  case 80 :
-                                  case 81 :
-                                  case 82 :
-                                  case 83 :
-                                  case 84 :
-                                  case 85 :
-                                  case 86 :
-                                  case 87 :
-                                  case 88 :
-                                      return DFA41.this.s30;
-
-                                  case IDENT :
-                                  case 68 :
-                                  case 69 :
-                                  case 70 :
-                                  case 71 :
-                                  case 72 :
-                                  case 73 :
-                                  case 74 :
-                                  case 75 :
-                                  case 76 :
-                                      return DFA41.this.s35;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            2,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s37 = new DFA.State() {
-                          {
-                              this.alt = 5;
-                          }
-                      };
-        DFA.State s5  = new DFA.State() {
-                          {
-                              this.alt = 3;
-                          }
-                      };
-        DFA.State s69 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case DOT :
-                                  case STAR :
-                                  case SEMI :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA41.this.s5;
-
-                                  case LBRACK :
-                                      return DFA41.this.s39;
-
-                                  case IDENT :
-                                      return DFA41.this.s35;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            69,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s39 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA41_39 = input.LA( 1 );
-                              if ( LA41_39 == JavaParser.RBRACK ) {
-                                  return DFA41.this.s69;
-                              }
-                              if ( LA41_39 == JavaParser.IDENT || LA41_39 == JavaParser.LPAREN || (LA41_39 >= JavaParser.PLUS && LA41_39 <= JavaParser.MINUS) || (LA41_39 >= JavaParser.INC && LA41_39 <= JavaParser.NUM_FLOAT) || (LA41_39 >= 68 && LA41_39 <= 76) || (LA41_39 >= 93 && LA41_39 <= 94)
-                                   || (LA41_39 >= 112 && LA41_39 <= 115) ) {
-                                  return DFA41.this.s5;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    41,
-                                                                                    39,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s65 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case STAR :
-                                  case SEMI :
-                                  case LPAREN :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA41.this.s5;
-
-                                  case DOT :
-                                      return DFA41.this.s38;
-
-                                  case LBRACK :
-                                      return DFA41.this.s39;
-
-                                  case IDENT :
-                                      return DFA41.this.s35;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            65,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s38 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA41_38 = input.LA( 1 );
-                              if ( LA41_38 == 89 || (LA41_38 >= 93 && LA41_38 <= 94) || LA41_38 == 115 ) {
-                                  return DFA41.this.s5;
-                              }
-                              if ( LA41_38 == JavaParser.IDENT ) {
-                                  return DFA41.this.s65;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    41,
-                                                                                    38,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s3  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case COLON :
-                                      return DFA41.this.s37;
-
-                                  case DOT :
-                                      return DFA41.this.s38;
-
-                                  case LBRACK :
-                                      return DFA41.this.s39;
-
-                                  case IDENT :
-                                      return DFA41.this.s35;
-
-                                  case STAR :
-                                  case SEMI :
-                                  case LPAREN :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA41.this.s5;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            3,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s86 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case IDENT :
-                                      return DFA41.this.s35;
-
-                                  case LBRACK :
-                                      return DFA41.this.s57;
-
-                                  case DOT :
-                                      return DFA41.this.s5;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            86,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s57 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA41_57 = input.LA( 1 );
-                              if ( LA41_57 == JavaParser.RBRACK ) {
-                                  return DFA41.this.s86;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    41,
-                                                                                    57,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s4  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case LBRACK :
-                                      return DFA41.this.s57;
-
-                                  case DOT :
-                                      return DFA41.this.s5;
-
-                                  case IDENT :
-                                      return DFA41.this.s35;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            4,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s20 = new DFA.State() {
-                          {
-                              this.alt = 6;
-                          }
-                      };
-        DFA.State s21 = new DFA.State() {
-                          {
-                              this.alt = 7;
-                          }
-                      };
-        DFA.State s22 = new DFA.State() {
-                          {
-                              this.alt = 8;
-                          }
-                      };
-        DFA.State s23 = new DFA.State() {
-                          {
-                              this.alt = 9;
-                          }
-                      };
-        DFA.State s24 = new DFA.State() {
-                          {
-                              this.alt = 10;
-                          }
-                      };
-        DFA.State s25 = new DFA.State() {
-                          {
-                              this.alt = 11;
-                          }
-                      };
-        DFA.State s26 = new DFA.State() {
-                          {
-                              this.alt = 12;
-                          }
-                      };
-        DFA.State s27 = new DFA.State() {
-                          {
-                              this.alt = 13;
-                          }
-                      };
-        DFA.State s28 = new DFA.State() {
-                          {
-                              this.alt = 14;
-                          }
-                      };
-        DFA.State s29 = new DFA.State() {
-                          {
-                              this.alt = 15;
-                          }
-                      };
-        DFA.State s31 = new DFA.State() {
-                          {
-                              this.alt = 17;
-                          }
-                      };
-        DFA.State s0  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case LCURLY :
-                                      return DFA41.this.s1;
-
-                                  case 86 :
-                                      return DFA41.this.s2;
-
-                                  case IDENT :
-                                      return DFA41.this.s3;
-
-                                  case 68 :
-                                  case 69 :
-                                  case 70 :
-                                  case 71 :
-                                  case 72 :
-                                  case 73 :
-                                  case 74 :
-                                  case 75 :
-                                  case 76 :
-                                      return DFA41.this.s4;
-
-                                  case LPAREN :
-                                  case PLUS :
-                                  case MINUS :
-                                  case INC :
-                                  case DEC :
-                                  case BNOT :
-                                  case LNOT :
-                                  case NUM_INT :
-                                  case CHAR_LITERAL :
-                                  case STRING_LITERAL :
-                                  case NUM_FLOAT :
-                                  case 93 :
-                                  case 94 :
-                                  case 112 :
-                                  case 113 :
-                                  case 114 :
-                                  case 115 :
-                                      return DFA41.this.s5;
-
-                                  case 89 :
-                                      return DFA41.this.s19;
-
-                                  case 96 :
-                                      return DFA41.this.s20;
-
-                                  case 98 :
-                                      return DFA41.this.s21;
-
-                                  case 99 :
-                                      return DFA41.this.s22;
-
-                                  case 100 :
-                                      return DFA41.this.s23;
-
-                                  case 101 :
-                                      return DFA41.this.s24;
-
-                                  case 102 :
-                                      return DFA41.this.s25;
-
-                                  case 103 :
-                                      return DFA41.this.s26;
-
-                                  case 104 :
-                                      return DFA41.this.s27;
-
-                                  case 108 :
-                                      return DFA41.this.s28;
-
-                                  case 105 :
-                                      return DFA41.this.s29;
-
-                                  case 77 :
-                                  case 78 :
-                                  case 79 :
-                                  case 80 :
-                                  case 81 :
-                                  case 82 :
-                                  case 83 :
-                                  case 84 :
-                                  case 85 :
-                                  case 87 :
-                                  case 88 :
-                                      return DFA41.this.s30;
-
-                                  case SEMI :
-                                      return DFA41.this.s31;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            41,
-                                                                                            0,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-
-    }
-
-    class DFA45 extends DFA {
-        public int predict(final IntStream input) throws RecognitionException {
-            return predict( input,
-                            this.s0 );
-        }
-
-        DFA.State s1  = new DFA.State() {
-                          {
-                              this.alt = 1;
-                          }
-                      };
-        DFA.State s4  = new DFA.State() {
-                          {
-                              this.alt = 2;
-                          }
-                      };
-        DFA.State s47 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case IDENT :
-                                      return DFA45.this.s1;
-
-                                  case LBRACK :
-                                      return DFA45.this.s20;
-
-                                  case DOT :
-                                  case STAR :
-                                  case SEMI :
-                                  case COMMA :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA45.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            45,
-                                                                                            47,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s20 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA45_20 = input.LA( 1 );
-                              if ( LA45_20 == JavaParser.RBRACK ) {
-                                  return DFA45.this.s47;
-                              }
-                              if ( LA45_20 == JavaParser.IDENT || LA45_20 == JavaParser.LPAREN || (LA45_20 >= JavaParser.PLUS && LA45_20 <= JavaParser.MINUS) || (LA45_20 >= JavaParser.INC && LA45_20 <= JavaParser.NUM_FLOAT) || (LA45_20 >= 68 && LA45_20 <= 76) || (LA45_20 >= 93 && LA45_20 <= 94)
-                                   || (LA45_20 >= 112 && LA45_20 <= 115) ) {
-                                  return DFA45.this.s4;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    45,
-                                                                                    20,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s44 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case STAR :
-                                  case SEMI :
-                                  case COMMA :
-                                  case LPAREN :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA45.this.s4;
-
-                                  case DOT :
-                                      return DFA45.this.s19;
-
-                                  case LBRACK :
-                                      return DFA45.this.s20;
-
-                                  case IDENT :
-                                      return DFA45.this.s1;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            45,
-                                                                                            44,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s19 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA45_19 = input.LA( 1 );
-                              if ( LA45_19 == 89 || (LA45_19 >= 93 && LA45_19 <= 94) || LA45_19 == 115 ) {
-                                  return DFA45.this.s4;
-                              }
-                              if ( LA45_19 == JavaParser.IDENT ) {
-                                  return DFA45.this.s44;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    45,
-                                                                                    19,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s2  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case DOT :
-                                      return DFA45.this.s19;
-
-                                  case LBRACK :
-                                      return DFA45.this.s20;
-
-                                  case IDENT :
-                                      return DFA45.this.s1;
-
-                                  case STAR :
-                                  case SEMI :
-                                  case COMMA :
-                                  case LPAREN :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA45.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            45,
-                                                                                            2,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s64 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case IDENT :
-                                      return DFA45.this.s1;
-
-                                  case LBRACK :
-                                      return DFA45.this.s39;
-
-                                  case DOT :
-                                      return DFA45.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            45,
-                                                                                            64,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s39 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA45_39 = input.LA( 1 );
-                              if ( LA45_39 == JavaParser.RBRACK ) {
-                                  return DFA45.this.s64;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    45,
-                                                                                    39,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s3  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case LBRACK :
-                                      return DFA45.this.s39;
-
-                                  case DOT :
-                                      return DFA45.this.s4;
-
-                                  case IDENT :
-                                      return DFA45.this.s1;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            45,
-                                                                                            3,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s18 = new DFA.State() {
-                          {
-                              this.alt = 3;
-                          }
-                      };
-        DFA.State s0  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case 77 :
-                                  case 78 :
-                                  case 79 :
-                                  case 80 :
-                                  case 81 :
-                                  case 82 :
-                                  case 83 :
-                                  case 84 :
-                                  case 85 :
-                                  case 86 :
-                                  case 87 :
-                                  case 88 :
-                                      return DFA45.this.s1;
-
-                                  case IDENT :
-                                      return DFA45.this.s2;
-
-                                  case 68 :
-                                  case 69 :
-                                  case 70 :
-                                  case 71 :
-                                  case 72 :
-                                  case 73 :
-                                  case 74 :
-                                  case 75 :
-                                  case 76 :
-                                      return DFA45.this.s3;
-
-                                  case LPAREN :
-                                  case PLUS :
-                                  case MINUS :
-                                  case INC :
-                                  case DEC :
-                                  case BNOT :
-                                  case LNOT :
-                                  case NUM_INT :
-                                  case CHAR_LITERAL :
-                                  case STRING_LITERAL :
-                                  case NUM_FLOAT :
-                                  case 93 :
-                                  case 94 :
-                                  case 112 :
-                                  case 113 :
-                                  case 114 :
-                                  case 115 :
-                                      return DFA45.this.s4;
-
-                                  case SEMI :
-                                      return DFA45.this.s18;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            45,
-                                                                                            0,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-
-    }
-
-    class DFA65 extends DFA {
-        public int predict(final IntStream input) throws RecognitionException {
-            return predict( input,
-                            this.s0 );
-        }
-
-        DFA.State s1  = new DFA.State() {
-                          {
-                              this.alt = 1;
-                          }
-                      };
-        DFA.State s2  = new DFA.State() {
-                          {
-                              this.alt = 2;
-                          }
-                      };
-        DFA.State s31 = new DFA.State() {
-                          {
-                              this.alt = 3;
-                          }
-                      };
-        DFA.State s4  = new DFA.State() {
-                          {
-                              this.alt = 5;
-                          }
-                      };
-        DFA.State s50 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case RPAREN :
-                                      return DFA65.this.s31;
-
-                                  case LBRACK :
-                                      return DFA65.this.s29;
-
-                                  case DOT :
-                                      return DFA65.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            50,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s29 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA65_29 = input.LA( 1 );
-                              if ( LA65_29 == JavaParser.RBRACK ) {
-                                  return DFA65.this.s50;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    65,
-                                                                                    29,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s13 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case LBRACK :
-                                      return DFA65.this.s29;
-
-                                  case DOT :
-                                      return DFA65.this.s4;
-
-                                  case RPAREN :
-                                      return DFA65.this.s31;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            13,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s73 = new DFA.State() {
-                          {
-                              this.alt = 4;
-                          }
-                      };
-        DFA.State s34 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA65_34 = input.LA( 1 );
-                              if ( LA65_34 == JavaParser.IDENT || LA65_34 == JavaParser.LPAREN || (LA65_34 >= JavaParser.BNOT && LA65_34 <= JavaParser.NUM_FLOAT) || (LA65_34 >= 68 && LA65_34 <= 76) || (LA65_34 >= 93 && LA65_34 <= 94) || (LA65_34 >= 112 && LA65_34 <= 115) ) {
-                                  return DFA65.this.s73;
-                              }
-                              if ( (LA65_34 >= JavaParser.LBRACK && LA65_34 <= JavaParser.RBRACK) || (LA65_34 >= JavaParser.DOT && LA65_34 <= JavaParser.STAR) || (LA65_34 >= JavaParser.SEMI && LA65_34 <= JavaParser.COMMA) || (LA65_34 >= JavaParser.RPAREN && LA65_34 <= JavaParser.DEC) || LA65_34 == 111 ) {
-                                  return DFA65.this.s4;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    65,
-                                                                                    34,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s56 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case RPAREN :
-                                      return DFA65.this.s34;
-
-                                  case LBRACK :
-                                      return DFA65.this.s33;
-
-                                  case DOT :
-                                  case STAR :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA65.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            56,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s33 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA65_33 = input.LA( 1 );
-                              if ( LA65_33 == JavaParser.RBRACK ) {
-                                  return DFA65.this.s56;
-                              }
-                              if ( LA65_33 == JavaParser.IDENT || LA65_33 == JavaParser.LPAREN || (LA65_33 >= JavaParser.PLUS && LA65_33 <= JavaParser.MINUS) || (LA65_33 >= JavaParser.INC && LA65_33 <= JavaParser.NUM_FLOAT) || (LA65_33 >= 68 && LA65_33 <= 76) || (LA65_33 >= 93 && LA65_33 <= 94)
-                                   || (LA65_33 >= 112 && LA65_33 <= 115) ) {
-                                  return DFA65.this.s4;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    65,
-                                                                                    33,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s52 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case LBRACK :
-                                      return DFA65.this.s33;
-
-                                  case RPAREN :
-                                      return DFA65.this.s34;
-
-                                  case DOT :
-                                      return DFA65.this.s32;
-
-                                  case STAR :
-                                  case LPAREN :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA65.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            52,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s32 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA65_32 = input.LA( 1 );
-                              if ( LA65_32 == 89 || (LA65_32 >= 93 && LA65_32 <= 94) || LA65_32 == 115 ) {
-                                  return DFA65.this.s4;
-                              }
-                              if ( LA65_32 == JavaParser.IDENT ) {
-                                  return DFA65.this.s52;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    65,
-                                                                                    32,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s14 = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case DOT :
-                                      return DFA65.this.s32;
-
-                                  case LBRACK :
-                                      return DFA65.this.s33;
-
-                                  case RPAREN :
-                                      return DFA65.this.s34;
-
-                                  case STAR :
-                                  case LPAREN :
-                                  case ASSIGN :
-                                  case PLUS_ASSIGN :
-                                  case MINUS_ASSIGN :
-                                  case STAR_ASSIGN :
-                                  case DIV_ASSIGN :
-                                  case MOD_ASSIGN :
-                                  case SR_ASSIGN :
-                                  case BSR_ASSIGN :
-                                  case SL_ASSIGN :
-                                  case BAND_ASSIGN :
-                                  case BXOR_ASSIGN :
-                                  case BOR_ASSIGN :
-                                  case QUESTION :
-                                  case LOR :
-                                  case LAND :
-                                  case BOR :
-                                  case BXOR :
-                                  case BAND :
-                                  case NOT_EQUAL :
-                                  case EQUAL :
-                                  case LT :
-                                  case GT :
-                                  case LE :
-                                  case GE :
-                                  case SL :
-                                  case SR :
-                                  case BSR :
-                                  case PLUS :
-                                  case MINUS :
-                                  case DIV :
-                                  case MOD :
-                                  case INC :
-                                  case DEC :
-                                  case 111 :
-                                      return DFA65.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            14,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s3  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case 68 :
-                                  case 69 :
-                                  case 70 :
-                                  case 71 :
-                                  case 72 :
-                                  case 73 :
-                                  case 74 :
-                                  case 75 :
-                                  case 76 :
-                                      return DFA65.this.s13;
-
-                                  case IDENT :
-                                      return DFA65.this.s14;
-
-                                  case LPAREN :
-                                  case PLUS :
-                                  case MINUS :
-                                  case INC :
-                                  case DEC :
-                                  case BNOT :
-                                  case LNOT :
-                                  case NUM_INT :
-                                  case CHAR_LITERAL :
-                                  case STRING_LITERAL :
-                                  case NUM_FLOAT :
-                                  case 93 :
-                                  case 94 :
-                                  case 112 :
-                                  case 113 :
-                                  case 114 :
-                                  case 115 :
-                                      return DFA65.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            3,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s0  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case BNOT :
-                                      return DFA65.this.s1;
-
-                                  case LNOT :
-                                      return DFA65.this.s2;
-
-                                  case LPAREN :
-                                      return DFA65.this.s3;
-
-                                  case IDENT :
-                                  case NUM_INT :
-                                  case CHAR_LITERAL :
-                                  case STRING_LITERAL :
-                                  case NUM_FLOAT :
-                                  case 68 :
-                                  case 69 :
-                                  case 70 :
-                                  case 71 :
-                                  case 72 :
-                                  case 73 :
-                                  case 74 :
-                                  case 75 :
-                                  case 76 :
-                                  case 93 :
-                                  case 94 :
-                                  case 112 :
-                                  case 113 :
-                                  case 114 :
-                                  case 115 :
-                                      return DFA65.this.s4;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            65,
-                                                                                            0,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-
-    }
-
-    public static final BitSet FOLLOW_modifiers_in_declaration59                                     = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_typeSpec_in_declaration61                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_variableDefinitions_in_declaration63                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_classTypeSpec_in_typeSpec79                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_builtInTypeSpec_in_typeSpec84                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_identifier_in_classTypeSpec97                                  = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_LBRACK_in_classTypeSpec100                                     = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_classTypeSpec103                                     = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_builtInType_in_builtInTypeSpec118                              = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_LBRACK_in_builtInTypeSpec121                                   = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_builtInTypeSpec124                                   = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_identifier_in_type139                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_builtInType_in_type144                                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_set_in_builtInType156                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_identifier209                                         = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_identifier214                                           = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_identifier216                                         = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_IDENT_in_identifierStar230                                     = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_identifierStar236                                       = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_identifierStar238                                     = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_identifierStar247                                       = new BitSet( new long[]{0x0000000000000100L} );
-    public static final BitSet FOLLOW_STAR_in_identifierStar249                                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_modifier_in_modifiers270                                       = new BitSet( new long[]{0x0000000000000002L, 0x0000000001FFE000L} );
-    public static final BitSet FOLLOW_set_in_modifier288                                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_89_in_classDefinition356                                       = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_classDefinition358                                    = new BitSet( new long[]{0x0000000000000002L, 0x0000000004000000L} );
-    public static final BitSet FOLLOW_superClassClause_in_classDefinition365                         = new BitSet( new long[]{0x0000000000000002L, 0x0000000010000000L} );
-    public static final BitSet FOLLOW_implementsClause_in_classDefinition372                         = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_classBlock_in_classDefinition379                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_90_in_superClassClause392                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_superClassClause394                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_91_in_interfaceDefinition412                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_interfaceDefinition414                                = new BitSet( new long[]{0x0000000000000002L, 0x0000000004000000L} );
-    public static final BitSet FOLLOW_interfaceExtends_in_interfaceDefinition421                     = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_classBlock_in_interfaceDefinition428                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_classBlock442                                        = new BitSet( new long[]{0x0000000000000E02L, 0x0000000001FFE000L} );
-    public static final BitSet FOLLOW_field_in_classBlock449                                         = new BitSet( new long[]{0x0000000000000E02L, 0x0000000001FFE000L} );
-    public static final BitSet FOLLOW_SEMI_in_classBlock453                                          = new BitSet( new long[]{0x0000000000000E02L, 0x0000000001FFE000L} );
-    public static final BitSet FOLLOW_RCURLY_in_classBlock460                                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_90_in_interfaceExtends479                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_interfaceExtends483                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_interfaceExtends487                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_interfaceExtends489                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_92_in_implementsClause514                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_implementsClause516                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_implementsClause520                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_implementsClause522                              = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_modifiers_in_field548                                          = new BitSet( new long[]{0x0000000000000040L, 0x000000000A001FF0L} );
-    public static final BitSet FOLLOW_ctorHead_in_field554                                           = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_constructorBody_in_field556                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_classDefinition_in_field568                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_interfaceDefinition_in_field586                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_typeSpec_in_field600                                           = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_field609                                              = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_field623                                             = new BitSet( new long[]{0x0000000000000002L, 0x0000000000040000L} );
-    public static final BitSet FOLLOW_parameterDeclarationList_in_field625                           = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_field627                                             = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_declaratorBrackets_in_field634                                 = new BitSet( new long[]{0x0000000000000600L, 0x0000000080000000L} );
-    public static final BitSet FOLLOW_throwsClause_in_field652                                       = new BitSet( new long[]{0x0000000000000600L} );
-    public static final BitSet FOLLOW_compoundStatement_in_field663                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SEMI_in_field667                                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_variableDefinitions_in_field676                                = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_field678                                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_80_in_field704                                                 = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_field706                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_compoundStatement_in_field720                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_constructorBody739                                   = new BitSet( new long[]{0x007F980000002E42L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_explicitConstructorInvocation_in_constructorBody765            = new BitSet( new long[]{0x007F980000002E42L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_constructorBody782                                = new BitSet( new long[]{0x007F980000002E42L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_RCURLY_in_constructorBody794                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_93_in_explicitConstructorInvocation815                         = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation817                     = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation819                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation821                     = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation823                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_94_in_explicitConstructorInvocation836                         = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation838                     = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation840                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation842                     = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation844                       = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions861                   = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_variableDefinitions867                                = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions872                   = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_IDENT_in_variableDeclarator890                                 = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_declaratorBrackets_in_variableDeclarator892                    = new BitSet( new long[]{0x0000000000008002L} );
-    public static final BitSet FOLLOW_varInitializer_in_variableDeclarator894                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LBRACK_in_declaratorBrackets912                                = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_declaratorBrackets915                                = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_ASSIGN_in_varInitializer930                                    = new BitSet( new long[]{0x007F980000002240L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_initializer_in_varInitializer932                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_arrayInitializer947                                  = new BitSet( new long[]{0x007F980000002A40L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_initializer_in_arrayInitializer955                             = new BitSet( new long[]{0x0000000000001800L} );
-    public static final BitSet FOLLOW_COMMA_in_arrayInitializer992                                   = new BitSet( new long[]{0x007F980000002240L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_initializer_in_arrayInitializer994                             = new BitSet( new long[]{0x0000000000001800L} );
-    public static final BitSet FOLLOW_COMMA_in_arrayInitializer1008                                  = new BitSet( new long[]{0x0000000000000800L} );
-    public static final BitSet FOLLOW_RCURLY_in_arrayInitializer1020                                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_initializer1034                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_arrayInitializer_in_initializer1039                            = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_ctorHead1053                                          = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_ctorHead1063                                         = new BitSet( new long[]{0x0000000000000002L, 0x0000000000040000L} );
-    public static final BitSet FOLLOW_parameterDeclarationList_in_ctorHead1065                       = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_ctorHead1067                                         = new BitSet( new long[]{0x0000000000000002L, 0x0000000080000000L} );
-    public static final BitSet FOLLOW_throwsClause_in_ctorHead1076                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_95_in_throwsClause1090                                         = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_throwsClause1092                                 = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_throwsClause1096                                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_identifier_in_throwsClause1098                                 = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1116           = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_parameterDeclarationList1120                          = new BitSet( new long[]{0x0000000000000002L, 0x0000000000040000L} );
-    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1122           = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_parameterModifier_in_parameterDeclaration1140                  = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_typeSpec_in_parameterDeclaration1142                           = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_parameterDeclaration1144                              = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_declaratorBrackets_in_parameterDeclaration1148                 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_82_in_parameterModifier1160                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LCURLY_in_compoundStatement1185                                = new BitSet( new long[]{0x007F980000002E42L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_compoundStatement1196                             = new BitSet( new long[]{0x007F980000002E42L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_RCURLY_in_compoundStatement1202                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_compoundStatement_in_statement1216                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_declaration_in_statement1232                                   = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1234                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_statement1246                                    = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1248                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_modifiers_in_statement1256                                     = new BitSet( new long[]{0x0000000000000000L, 0x0000000002000000L} );
-    public static final BitSet FOLLOW_classDefinition_in_statement1258                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_statement1266                                         = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_COLON_in_statement1268                                         = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1271                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_96_in_statement1279                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1281                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1283                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1285                                        = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1287                                     = new BitSet( new long[]{0x0000000000000002L, 0x0000000200000000L} );
-    public static final BitSet FOLLOW_97_in_statement1308                                            = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1310                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_98_in_statement1323                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1328                                        = new BitSet( new long[]{0x007F980000002042L, 0x000F000061FFFFF0L} );
-    public static final BitSet FOLLOW_forInit_in_statement1334                                       = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1336                                          = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_forCond_in_statement1345                                       = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1347                                          = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_forIter_in_statement1356                                       = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1370                                        = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1375                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_99_in_statement1404                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1406                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1408                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1410                                        = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1412                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_100_in_statement1420                                           = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_statement_in_statement1422                                     = new BitSet( new long[]{0x0000000000000000L, 0x0000000800000000L} );
-    public static final BitSet FOLLOW_99_in_statement1424                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1426                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1428                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1430                                        = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1432                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_101_in_statement1440                                           = new BitSet( new long[]{0x0000000000000440L} );
-    public static final BitSet FOLLOW_IDENT_in_statement1443                                         = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1447                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_102_in_statement1455                                           = new BitSet( new long[]{0x0000000000000440L} );
-    public static final BitSet FOLLOW_IDENT_in_statement1458                                         = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1462                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_103_in_statement1470                                           = new BitSet( new long[]{0x007F980000002440L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1473                                    = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1477                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_104_in_statement1485                                           = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1487                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1489                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1491                                        = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_LCURLY_in_statement1493                                        = new BitSet( new long[]{0x0000000000000800L, 0x00000C0000000000L} );
-    public static final BitSet FOLLOW_casesGroup_in_statement1500                                    = new BitSet( new long[]{0x0000000000000800L, 0x00000C0000000000L} );
-    public static final BitSet FOLLOW_RCURLY_in_statement1507                                        = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_tryBlock_in_statement1515                                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_105_in_statement1523                                           = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1525                                    = new BitSet( new long[]{0x0000000000000400L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1527                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_86_in_statement1535                                            = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_statement1537                                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_statement1539                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_statement1541                                        = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_statement1543                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_SEMI_in_statement1556                                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_aCase_in_casesGroup1602                                        = new BitSet( new long[]{0x007F980000002642L, 0x000F1FFD61FFFFF0L} );
-    public static final BitSet FOLLOW_caseSList_in_casesGroup1611                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_106_in_aCase1626                                               = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_aCase1628                                        = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_107_in_aCase1632                                               = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_COLON_in_aCase1635                                             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_statement_in_caseSList1647                                     = new BitSet( new long[]{0x007F980000002642L, 0x000F13FD61FFFFF0L} );
-    public static final BitSet FOLLOW_declaration_in_forInit1678                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expressionList_in_forInit1687                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_forCond1707                                      = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expressionList_in_forIter1724                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_108_in_tryBlock1741                                            = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_tryBlock1743                              = new BitSet( new long[]{0x0000000000000002L, 0x0000600000000000L} );
-    public static final BitSet FOLLOW_handler_in_tryBlock1748                                        = new BitSet( new long[]{0x0000000000000002L, 0x0000600000000000L} );
-    public static final BitSet FOLLOW_finallyClause_in_tryBlock1756                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_109_in_finallyClause1770                                       = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_finallyClause1772                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_110_in_handler1784                                             = new BitSet( new long[]{0x0000000000002000L} );
-    public static final BitSet FOLLOW_LPAREN_in_handler1786                                          = new BitSet( new long[]{0x0000000000000002L, 0x0000000000040000L} );
-    public static final BitSet FOLLOW_parameterDeclaration_in_handler1788                            = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_handler1790                                          = new BitSet( new long[]{0x0000000000000200L} );
-    public static final BitSet FOLLOW_compoundStatement_in_handler1792                               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_expression1839                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expression_in_expressionList1855                               = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_COMMA_in_expressionList1858                                    = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_expressionList1860                               = new BitSet( new long[]{0x0000000000001002L} );
-    public static final BitSet FOLLOW_conditionalExpression_in_assignmentExpression1878              = new BitSet( new long[]{0x000000000FFE8002L} );
-    public static final BitSet FOLLOW_set_in_assignmentExpression1886                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_assignmentExpression2103               = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_logicalOrExpression_in_conditionalExpression2121               = new BitSet( new long[]{0x0000000010000002L} );
-    public static final BitSet FOLLOW_QUESTION_in_conditionalExpression2127                          = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_conditionalExpression2129              = new BitSet( new long[]{0x0000000000010000L} );
-    public static final BitSet FOLLOW_COLON_in_conditionalExpression2131                             = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_conditionalExpression_in_conditionalExpression2133             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2149                = new BitSet( new long[]{0x0000000020000002L} );
-    public static final BitSet FOLLOW_LOR_in_logicalOrExpression2152                                 = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2154                = new BitSet( new long[]{0x0000000020000002L} );
-    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169              = new BitSet( new long[]{0x0000000040000002L} );
-    public static final BitSet FOLLOW_LAND_in_logicalAndExpression2172                               = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174              = new BitSet( new long[]{0x0000000040000002L} );
-    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189             = new BitSet( new long[]{0x0000000080000002L} );
-    public static final BitSet FOLLOW_BOR_in_inclusiveOrExpression2192                               = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194             = new BitSet( new long[]{0x0000000080000002L} );
-    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2209                     = new BitSet( new long[]{0x0000000100000002L} );
-    public static final BitSet FOLLOW_BXOR_in_exclusiveOrExpression2212                              = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2214                     = new BitSet( new long[]{0x0000000100000002L} );
-    public static final BitSet FOLLOW_equalityExpression_in_andExpression2229                        = new BitSet( new long[]{0x0000000200000002L} );
-    public static final BitSet FOLLOW_BAND_in_andExpression2232                                      = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_equalityExpression_in_andExpression2234                        = new BitSet( new long[]{0x0000000200000002L} );
-    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2249                 = new BitSet( new long[]{0x0000000C00000002L} );
-    public static final BitSet FOLLOW_set_in_equalityExpression2253                                  = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2260                 = new BitSet( new long[]{0x0000000C00000002L} );
-    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2275                    = new BitSet( new long[]{0x000000F000000002L, 0x0000800000000000L} );
-    public static final BitSet FOLLOW_set_in_relationalExpression2285                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2321                    = new BitSet( new long[]{0x000000F000000002L} );
-    public static final BitSet FOLLOW_111_in_relationalExpression2333                                = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_typeSpec_in_relationalExpression2335                           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2352                      = new BitSet( new long[]{0x0000070000000002L} );
-    public static final BitSet FOLLOW_set_in_shiftExpression2356                                     = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2367                      = new BitSet( new long[]{0x0000070000000002L} );
-    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2382             = new BitSet( new long[]{0x0000180000000002L} );
-    public static final BitSet FOLLOW_set_in_additiveExpression2386                                  = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2393             = new BitSet( new long[]{0x0000180000000002L} );
-    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2408                = new BitSet( new long[]{0x0000600000000102L} );
-    public static final BitSet FOLLOW_set_in_multiplicativeExpression2412                            = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2424                = new BitSet( new long[]{0x0000600000000102L} );
-    public static final BitSet FOLLOW_INC_in_unaryExpression2437                                     = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2439                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_DEC_in_unaryExpression2444                                     = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2446                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_MINUS_in_unaryExpression2451                                   = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2454                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_PLUS_in_unaryExpression2459                                    = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2463                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486                        = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499                      = new BitSet( new long[]{0x0000000000000000L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501             = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503                      = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513             = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549                      = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553                      = new BitSet( new long[]{0x007E000000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563 = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572           = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_primaryExpression_in_postfixExpression2586                     = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2594                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_postfixExpression2596                                 = new BitSet( new long[]{0x0001800000002092L} );
-    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2603                                = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_postfixExpression2610                               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2616                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2628                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000020000000L} );
-    public static final BitSet FOLLOW_93_in_postfixExpression2630                                    = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2637                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000040000000L} );
-    public static final BitSet FOLLOW_94_in_postfixExpression2639                                    = new BitSet( new long[]{0x0000000000002080L} );
-    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2674                                = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_postfixExpression2676                               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2678                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2704                                   = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_postfixExpression2706                                 = new BitSet( new long[]{0x0001800000002092L} );
-    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2726                                = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_postfixExpression2749                               = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2771                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_DOT_in_postfixExpression2810                                   = new BitSet( new long[]{0x0000000000000000L, 0x0008000000000000L} );
-    public static final BitSet FOLLOW_newExpression_in_postfixExpression2812                         = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_LBRACK_in_postfixExpression2818                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_postfixExpression2821                            = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_postfixExpression2823                                = new BitSet( new long[]{0x0001800000000092L} );
-    public static final BitSet FOLLOW_set_in_postfixExpression2854                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_identPrimary_in_primaryExpression2881                          = new BitSet( new long[]{0x0000000000000082L} );
-    public static final BitSet FOLLOW_DOT_in_primaryExpression2893                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000002000000L} );
-    public static final BitSet FOLLOW_89_in_primaryExpression2895                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_constant_in_primaryExpression2908                              = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_112_in_primaryExpression2913                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_113_in_primaryExpression2918                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_114_in_primaryExpression2923                                   = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_newExpression_in_primaryExpression2933                         = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_93_in_primaryExpression2938                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_94_in_primaryExpression2943                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LPAREN_in_primaryExpression2948                                = new BitSet( new long[]{0x007F980000002040L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_assignmentExpression_in_primaryExpression2950                  = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_primaryExpression2952                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_builtInType_in_primaryExpression2960                           = new BitSet( new long[]{0x0000000000000090L} );
-    public static final BitSet FOLLOW_LBRACK_in_primaryExpression2966                                = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_primaryExpression2969                                = new BitSet( new long[]{0x0000000000000090L} );
-    public static final BitSet FOLLOW_DOT_in_primaryExpression2976                                   = new BitSet( new long[]{0x0000000000000000L, 0x0000000002000000L} );
-    public static final BitSet FOLLOW_89_in_primaryExpression2978                                    = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_IDENT_in_identPrimary2993                                      = new BitSet( new long[]{0x0000000000002092L} );
-    public static final BitSet FOLLOW_DOT_in_identPrimary3031                                        = new BitSet( new long[]{0x0000000000000040L} );
-    public static final BitSet FOLLOW_IDENT_in_identPrimary3033                                      = new BitSet( new long[]{0x0000000000002092L} );
-    public static final BitSet FOLLOW_LPAREN_in_identPrimary3095                                     = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_identPrimary3098                                    = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_identPrimary3100                                     = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LBRACK_in_identPrimary3133                                     = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_identPrimary3136                                     = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_115_in_newExpression3172                                       = new BitSet( new long[]{0x0000000000000040L, 0x0000000000001FF0L} );
-    public static final BitSet FOLLOW_type_in_newExpression3174                                      = new BitSet( new long[]{0x0000000000002010L} );
-    public static final BitSet FOLLOW_LPAREN_in_newExpression3180                                    = new BitSet( new long[]{0x007F980000002042L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_argList_in_newExpression3182                                   = new BitSet( new long[]{0x0000000000004000L} );
-    public static final BitSet FOLLOW_RPAREN_in_newExpression3184                                    = new BitSet( new long[]{0x0000000000000202L} );
-    public static final BitSet FOLLOW_classBlock_in_newExpression3187                                = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_newArrayDeclarator_in_newExpression3225                        = new BitSet( new long[]{0x0000000000000202L} );
-    public static final BitSet FOLLOW_arrayInitializer_in_newExpression3228                          = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_expressionList_in_argList3247                                  = new BitSet( new long[]{0x0000000000000002L} );
-    public static final BitSet FOLLOW_LBRACK_in_newArrayDeclarator3317                               = new BitSet( new long[]{0x007F980000002060L, 0x000F000060001FF0L} );
-    public static final BitSet FOLLOW_expression_in_newArrayDeclarator3325                           = new BitSet( new long[]{0x0000000000000020L} );
-    public static final BitSet FOLLOW_RBRACK_in_newArrayDeclarator3332                               = new BitSet( new long[]{0x0000000000000012L} );
-    public static final BitSet FOLLOW_set_in_constant3348                                            = new BitSet( new long[]{0x0000000000000002L} );
-
-}
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserLexer.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserLexer.java	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserLexer.java	2006-11-29 11:53:01 UTC (rev 7929)
@@ -1,8732 +1,5505 @@
-// $ANTLR 3.0ea8 /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g 2006-04-10 01:50:30
-/*
- * Copyright 2005 JBoss Inc
- * 
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g 2006-11-22 14:58:23
 
-package org.drools.semantics.java.parser;
-
-import org.antlr.runtime.CharStream;
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.DFA;
-import org.antlr.runtime.EarlyExitException;
-import org.antlr.runtime.IntStream;
-import org.antlr.runtime.Lexer;
-import org.antlr.runtime.MismatchedSetException;
-import org.antlr.runtime.NoViableAltException;
-import org.antlr.runtime.RecognitionException;
-import org.antlr.runtime.Token;
-
-public class JavaParserLexer extends Lexer {
-    public static final int         SR_ASSIGN         = 22;
-    public static final int         COMMA             = 12;
-    public static final int         MINUS             = 44;
-    public static final int         T70               = 70;
-    public static final int         T74               = 74;
-    public static final int         T85               = 85;
-    public static final int         BOR               = 31;
-    public static final int         DOT               = 7;
-    public static final int         SR                = 41;
-    public static final int         T102              = 102;
-    public static final int         LCURLY            = 9;
-    public static final int         T114              = 114;
-    public static final int         T103              = 103;
-    public static final int         STRING_LITERAL    = 53;
-    public static final int         LE                = 38;
-    public static final int         T81               = 81;
-    public static final int         RPAREN            = 14;
-    public static final int         STAR_ASSIGN       = 19;
-    public static final int         NUM_INT           = 51;
-    public static final int         PLUS              = 43;
-    public static final int         MINUS_ASSIGN      = 18;
-    public static final int         T113              = 113;
-    public static final int         T109              = 109;
-    public static final int         IDENT             = 6;
-    public static final int         DECIMAL_LITERAL   = 58;
-    public static final int         T68               = 68;
-    public static final int         T73               = 73;
-    public static final int         T84               = 84;
-    public static final int         MOD_ASSIGN        = 21;
-    public static final int         T78               = 78;
-    public static final int         T115              = 115;
-    public static final int         WS                = 55;
-    public static final int         LT                = 36;
-    public static final int         BSR               = 42;
-    public static final int         SL_ASSIGN         = 24;
-    public static final int         T96               = 96;
-    public static final int         T71               = 71;
-    public static final int         T72               = 72;
-    public static final int         T94               = 94;
-    public static final int         LAND              = 30;
-    public static final int         LBRACK            = 4;
-    public static final int         T76               = 76;
-    public static final int         NUM_FLOAT         = 54;
-    public static final int         SEMI              = 10;
-    public static final int         GE                = 39;
-    public static final int         LNOT              = 50;
-    public static final int         DIV_ASSIGN        = 20;
-    public static final int         T75               = 75;
-    public static final int         UNICODE_CHAR      = 66;
-    public static final int         EQUAL             = 35;
-    public static final int         T89               = 89;
-    public static final int         OCTAL_DIGIT       = 65;
-    public static final int         COLON             = 16;
-    public static final int         SL                = 40;
-    public static final int         T82               = 82;
-    public static final int         DIV               = 45;
-    public static final int         T100              = 100;
-    public static final int         EXPONENT_PART     = 62;
-    public static final int         T79               = 79;
-    public static final int         LOR               = 29;
-    public static final int         BNOT              = 49;
-    public static final int         INC               = 47;
-    public static final int         T93               = 93;
-    public static final int         T107              = 107;
-    public static final int         MOD               = 46;
-    public static final int         OCTAL_LITERAL     = 60;
-    public static final int         PLUS_ASSIGN       = 17;
-    public static final int         T83               = 83;
-    public static final int         QUESTION          = 28;
-    public static final int         HEX_LITERAL       = 59;
-    public static final int         T101              = 101;
-    public static final int         FLOAT_TYPE_SUFFIX = 63;
-    public static final int         RCURLY            = 11;
-    public static final int         T91               = 91;
-    public static final int         T105              = 105;
-    public static final int         T86               = 86;
-    public static final int         CHAR_LITERAL      = 52;
-    public static final int         BOR_ASSIGN        = 27;
-    public static final int         ASSIGN            = 15;
-    public static final int         LPAREN            = 13;
-    public static final int         T111              = 111;
-    public static final int         HEX_DIGIT         = 67;
-    public static final int         T77               = 77;
-    public static final int         ML_COMMENT        = 57;
-    public static final int         SL_COMMENT        = 56;
-    public static final int         BAND              = 33;
-    public static final int         T106              = 106;
-    public static final int         T112              = 112;
-    public static final int         T69               = 69;
-    public static final int         NOT_EQUAL         = 34;
-    public static final int         BAND_ASSIGN       = 25;
-    public static final int         T95               = 95;
-    public static final int         DIGITS            = 61;
-    public static final int         T110              = 110;
-    public static final int         T108              = 108;
-    public static final int         T92               = 92;
-    public static final int         BXOR_ASSIGN       = 26;
-    public static final int         GT                = 37;
-    public static final int         BSR_ASSIGN        = 23;
-    public static final int         T88               = 88;
-    public static final int         T98               = 98;
-    public static final int         T87               = 87;
-    public static final int         T80               = 80;
-    public static final int         DEC               = 48;
-    public static final int         T97               = 97;
-    public static final int         ESCAPE_SEQUENCE   = 64;
-    public static final int         EOF               = -1;
-    public static final int         T104              = 104;
-    public static final int         Tokens            = 116;
-    public static final int         RBRACK            = 5;
-    public static final int         T99               = 99;
-    public static final int         STAR              = 8;
-    public static final int         BXOR              = 32;
-    public static final int         T90               = 90;
-
-    public static final CommonToken IGNORE_TOKEN      = new CommonToken( null,
-                                                                         0,
-                                                                         99,
-                                                                         0,
-                                                                         0 );
-
-    public JavaParserLexer() {
-        ;
-    }
-
-    public JavaParserLexer(final CharStream input) {
-        super( input );
-    }
-
-    // $ANTLR start T68
-    public void mT68() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T68;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:9:7: ( 'void' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:9:7: 'void'
-            {
-                match( "void" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T68
-
-    // $ANTLR start T69
-    public void mT69() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T69;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:10:7: ( 'boolean' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:10:7: 'boolean'
-            {
-                match( "boolean" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T69
-
-    // $ANTLR start T70
-    public void mT70() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T70;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:11:7: ( 'byte' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:11:7: 'byte'
-            {
-                match( "byte" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T70
-
-    // $ANTLR start T71
-    public void mT71() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T71;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:12:7: ( 'char' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:12:7: 'char'
-            {
-                match( "char" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T71
-
-    // $ANTLR start T72
-    public void mT72() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T72;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:13:7: ( 'short' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:13:7: 'short'
-            {
-                match( "short" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T72
-
-    // $ANTLR start T73
-    public void mT73() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T73;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:14:7: ( 'int' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:14:7: 'int'
-            {
-                match( "int" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T73
-
-    // $ANTLR start T74
-    public void mT74() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T74;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:15:7: ( 'float' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:15:7: 'float'
-            {
-                match( "float" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T74
-
-    // $ANTLR start T75
-    public void mT75() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T75;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:16:7: ( 'long' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:16:7: 'long'
-            {
-                match( "long" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T75
-
-    // $ANTLR start T76
-    public void mT76() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T76;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:17:7: ( 'double' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:17:7: 'double'
-            {
-                match( "double" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T76
-
-    // $ANTLR start T77
-    public void mT77() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T77;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:18:7: ( 'private' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:18:7: 'private'
-            {
-                match( "private" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T77
-
-    // $ANTLR start T78
-    public void mT78() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T78;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:19:7: ( 'public' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:19:7: 'public'
-            {
-                match( "public" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T78
-
-    // $ANTLR start T79
-    public void mT79() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T79;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:20:7: ( 'protected' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:20:7: 'protected'
-            {
-                match( "protected" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T79
-
-    // $ANTLR start T80
-    public void mT80() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T80;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:21:7: ( 'static' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:21:7: 'static'
-            {
-                match( "static" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T80
-
-    // $ANTLR start T81
-    public void mT81() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T81;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:22:7: ( 'transient' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:22:7: 'transient'
-            {
-                match( "transient" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T81
-
-    // $ANTLR start T82
-    public void mT82() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T82;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:23:7: ( 'final' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:23:7: 'final'
-            {
-                match( "final" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T82
-
-    // $ANTLR start T83
-    public void mT83() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T83;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:24:7: ( 'abstract' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:24:7: 'abstract'
-            {
-                match( "abstract" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T83
-
-    // $ANTLR start T84
-    public void mT84() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T84;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:25:7: ( 'native' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:25:7: 'native'
-            {
-                match( "native" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T84
-
-    // $ANTLR start T85
-    public void mT85() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T85;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:26:7: ( 'threadsafe' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:26:7: 'threadsafe'
-            {
-                match( "threadsafe" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T85
-
-    // $ANTLR start T86
-    public void mT86() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T86;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:27:7: ( 'synchronized' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:27:7: 'synchronized'
-            {
-                match( "synchronized" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T86
-
-    // $ANTLR start T87
-    public void mT87() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T87;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:28:7: ( 'volatile' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:28:7: 'volatile'
-            {
-                match( "volatile" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T87
-
-    // $ANTLR start T88
-    public void mT88() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T88;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:29:7: ( 'strictfp' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:29:7: 'strictfp'
-            {
-                match( "strictfp" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T88
-
-    // $ANTLR start T89
-    public void mT89() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T89;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:30:7: ( 'class' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:30:7: 'class'
-            {
-                match( "class" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T89
-
-    // $ANTLR start T90
-    public void mT90() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T90;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:31:7: ( 'extends' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:31:7: 'extends'
-            {
-                match( "extends" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T90
-
-    // $ANTLR start T91
-    public void mT91() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T91;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:32:7: ( 'interface' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:32:7: 'interface'
-            {
-                match( "interface" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T91
-
-    // $ANTLR start T92
-    public void mT92() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T92;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:33:7: ( 'implements' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:33:7: 'implements'
-            {
-                match( "implements" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T92
-
-    // $ANTLR start T93
-    public void mT93() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T93;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:34:7: ( 'this' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:34:7: 'this'
-            {
-                match( "this" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T93
-
-    // $ANTLR start T94
-    public void mT94() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T94;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:35:7: ( 'super' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:35:7: 'super'
-            {
-                match( "super" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T94
-
-    // $ANTLR start T95
-    public void mT95() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T95;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:36:7: ( 'throws' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:36:7: 'throws'
-            {
-                match( "throws" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T95
-
-    // $ANTLR start T96
-    public void mT96() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T96;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:37:7: ( 'if' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:37:7: 'if'
-            {
-                match( "if" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T96
-
-    // $ANTLR start T97
-    public void mT97() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T97;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:38:7: ( 'else' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:38:7: 'else'
-            {
-                match( "else" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T97
-
-    // $ANTLR start T98
-    public void mT98() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T98;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:39:7: ( 'for' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:39:7: 'for'
-            {
-                match( "for" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T98
-
-    // $ANTLR start T99
-    public void mT99() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T99;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:40:7: ( 'while' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:40:7: 'while'
-            {
-                match( "while" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T99
-
-    // $ANTLR start T100
-    public void mT100() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T100;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:41:8: ( 'do' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:41:8: 'do'
-            {
-                match( "do" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T100
-
-    // $ANTLR start T101
-    public void mT101() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T101;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:42:8: ( 'break' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:42:8: 'break'
-            {
-                match( "break" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T101
-
-    // $ANTLR start T102
-    public void mT102() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T102;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:43:8: ( 'continue' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:43:8: 'continue'
-            {
-                match( "continue" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T102
-
-    // $ANTLR start T103
-    public void mT103() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T103;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:44:8: ( 'return' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:44:8: 'return'
-            {
-                match( "return" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T103
-
-    // $ANTLR start T104
-    public void mT104() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T104;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:45:8: ( 'switch' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:45:8: 'switch'
-            {
-                match( "switch" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T104
-
-    // $ANTLR start T105
-    public void mT105() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T105;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:46:8: ( 'throw' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:46:8: 'throw'
-            {
-                match( "throw" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T105
-
-    // $ANTLR start T106
-    public void mT106() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T106;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:47:8: ( 'case' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:47:8: 'case'
-            {
-                match( "case" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T106
-
-    // $ANTLR start T107
-    public void mT107() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T107;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:48:8: ( 'default' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:48:8: 'default'
-            {
-                match( "default" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T107
-
-    // $ANTLR start T108
-    public void mT108() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T108;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:49:8: ( 'try' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:49:8: 'try'
-            {
-                match( "try" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T108
-
-    // $ANTLR start T109
-    public void mT109() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T109;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:50:8: ( 'finally' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:50:8: 'finally'
-            {
-                match( "finally" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T109
-
-    // $ANTLR start T110
-    public void mT110() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T110;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:51:8: ( 'catch' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:51:8: 'catch'
-            {
-                match( "catch" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T110
-
-    // $ANTLR start T111
-    public void mT111() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T111;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:52:8: ( 'instanceof' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:52:8: 'instanceof'
-            {
-                match( "instanceof" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T111
-
-    // $ANTLR start T112
-    public void mT112() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T112;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:53:8: ( 'true' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:53:8: 'true'
-            {
-                match( "true" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T112
-
-    // $ANTLR start T113
-    public void mT113() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T113;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:54:8: ( 'false' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:54:8: 'false'
-            {
-                match( "false" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T113
-
-    // $ANTLR start T114
-    public void mT114() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T114;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:55:8: ( 'null' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:55:8: 'null'
-            {
-                match( "null" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T114
-
-    // $ANTLR start T115
-    public void mT115() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.T115;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:56:8: ( 'new' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:56:8: 'new'
-            {
-                match( "new" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end T115
-
-    // $ANTLR start QUESTION
-    public void mQUESTION() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.QUESTION;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:914:33: ( '?' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:914:33: '?'
-            {
-                match( '?' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end QUESTION
-
-    // $ANTLR start LPAREN
-    public void mLPAREN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LPAREN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:917:33: ( '(' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:917:33: '('
-            {
-                match( '(' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LPAREN
-
-    // $ANTLR start RPAREN
-    public void mRPAREN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.RPAREN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:920:33: ( ')' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:920:33: ')'
-            {
-                match( ')' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end RPAREN
-
-    // $ANTLR start LBRACK
-    public void mLBRACK() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LBRACK;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:923:33: ( '[' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:923:33: '['
-            {
-                match( '[' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LBRACK
-
-    // $ANTLR start RBRACK
-    public void mRBRACK() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.RBRACK;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:926:33: ( ']' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:926:33: ']'
-            {
-                match( ']' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end RBRACK
-
-    // $ANTLR start LCURLY
-    public void mLCURLY() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LCURLY;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:929:33: ( '{' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:929:33: '{'
-            {
-                match( '{' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LCURLY
-
-    // $ANTLR start RCURLY
-    public void mRCURLY() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.RCURLY;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:932:33: ( '}' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:932:33: '}'
-            {
-                match( '}' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end RCURLY
-
-    // $ANTLR start COLON
-    public void mCOLON() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.COLON;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:935:33: ( ':' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:935:33: ':'
-            {
-                match( ':' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end COLON
-
-    // $ANTLR start COMMA
-    public void mCOMMA() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.COMMA;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:938:33: ( ',' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:938:33: ','
-            {
-                match( ',' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end COMMA
-
-    // $ANTLR start DOT
-    public void mDOT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.DOT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:940:41: ( '.' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:940:41: '.'
-            {
-                match( '.' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end DOT
-
-    // $ANTLR start ASSIGN
-    public void mASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:942:33: ( '=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:942:33: '='
-            {
-                match( '=' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end ASSIGN
-
-    // $ANTLR start EQUAL
-    public void mEQUAL() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.EQUAL;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:945:33: ( '==' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:945:33: '=='
-            {
-                match( "==" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end EQUAL
-
-    // $ANTLR start LNOT
-    public void mLNOT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LNOT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:948:33: ( '!' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:948:33: '!'
-            {
-                match( '!' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LNOT
-
-    // $ANTLR start BNOT
-    public void mBNOT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BNOT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:951:33: ( '~' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:951:33: '~'
-            {
-                match( '~' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BNOT
-
-    // $ANTLR start NOT_EQUAL
-    public void mNOT_EQUAL() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.NOT_EQUAL;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:954:33: ( '!=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:954:33: '!='
-            {
-                match( "!=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end NOT_EQUAL
-
-    // $ANTLR start DIV
-    public void mDIV() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.DIV;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:957:41: ( '/' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:957:41: '/'
-            {
-                match( '/' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end DIV
-
-    // $ANTLR start DIV_ASSIGN
-    public void mDIV_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.DIV_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:960:33: ( '/=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:960:33: '/='
-            {
-                match( "/=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end DIV_ASSIGN
-
-    // $ANTLR start PLUS
-    public void mPLUS() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.PLUS;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:963:33: ( '+' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:963:33: '+'
-            {
-                match( '+' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end PLUS
-
-    // $ANTLR start PLUS_ASSIGN
-    public void mPLUS_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.PLUS_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:966:33: ( '+=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:966:33: '+='
-            {
-                match( "+=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end PLUS_ASSIGN
-
-    // $ANTLR start INC
-    public void mINC() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.INC;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:969:41: ( '++' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:969:41: '++'
-            {
-                match( "++" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end INC
-
-    // $ANTLR start MINUS
-    public void mMINUS() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.MINUS;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:972:33: ( '-' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:972:33: '-'
-            {
-                match( '-' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end MINUS
-
-    // $ANTLR start MINUS_ASSIGN
-    public void mMINUS_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.MINUS_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:975:25: ( '-=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:975:25: '-='
-            {
-                match( "-=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end MINUS_ASSIGN
-
-    // $ANTLR start DEC
-    public void mDEC() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.DEC;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:978:41: ( '--' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:978:41: '--'
-            {
-                match( "--" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end DEC
-
-    // $ANTLR start STAR
-    public void mSTAR() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.STAR;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:981:33: ( '*' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:981:33: '*'
-            {
-                match( '*' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end STAR
-
-    // $ANTLR start STAR_ASSIGN
-    public void mSTAR_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.STAR_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:984:33: ( '*=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:984:33: '*='
-            {
-                match( "*=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end STAR_ASSIGN
-
-    // $ANTLR start MOD
-    public void mMOD() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.MOD;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:987:41: ( '%' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:987:41: '%'
-            {
-                match( '%' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end MOD
-
-    // $ANTLR start MOD_ASSIGN
-    public void mMOD_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.MOD_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:990:33: ( '%=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:990:33: '%='
-            {
-                match( "%=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end MOD_ASSIGN
-
-    // $ANTLR start SR
-    public void mSR() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.SR;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:993:41: ( '>>' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:993:41: '>>'
-            {
-                match( ">>" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end SR
-
-    // $ANTLR start SR_ASSIGN
-    public void mSR_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.SR_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:996:33: ( '>>=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:996:33: '>>='
-            {
-                match( ">>=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end SR_ASSIGN
-
-    // $ANTLR start BSR
-    public void mBSR() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BSR;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:999:41: ( '>>>' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:999:41: '>>>'
-            {
-                match( ">>>" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BSR
-
-    // $ANTLR start BSR_ASSIGN
-    public void mBSR_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BSR_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1002:33: ( '>>>=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1002:33: '>>>='
-            {
-                match( ">>>=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BSR_ASSIGN
-
-    // $ANTLR start GE
-    public void mGE() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.GE;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1005:41: ( '>=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1005:41: '>='
-            {
-                match( ">=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end GE
-
-    // $ANTLR start GT
-    public void mGT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.GT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1008:41: ( '>' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1008:41: '>'
-            {
-                match( '>' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end GT
-
-    // $ANTLR start SL
-    public void mSL() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.SL;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1011:41: ( '<<' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1011:41: '<<'
-            {
-                match( "<<" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end SL
-
-    // $ANTLR start SL_ASSIGN
-    public void mSL_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.SL_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1014:33: ( '<<=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1014:33: '<<='
-            {
-                match( "<<=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end SL_ASSIGN
-
-    // $ANTLR start LE
-    public void mLE() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LE;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1017:41: ( '<=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1017:41: '<='
-            {
-                match( "<=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LE
-
-    // $ANTLR start LT
-    public void mLT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1020:41: ( '<' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1020:41: '<'
-            {
-                match( '<' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LT
-
-    // $ANTLR start BXOR
-    public void mBXOR() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BXOR;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1023:33: ( '^' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1023:33: '^'
-            {
-                match( '^' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BXOR
-
-    // $ANTLR start BXOR_ASSIGN
-    public void mBXOR_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BXOR_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1026:33: ( '^=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1026:33: '^='
-            {
-                match( "^=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BXOR_ASSIGN
-
-    // $ANTLR start BOR
-    public void mBOR() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BOR;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1029:41: ( '|' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1029:41: '|'
-            {
-                match( '|' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BOR
-
-    // $ANTLR start BOR_ASSIGN
-    public void mBOR_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BOR_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1032:33: ( '|=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1032:33: '|='
-            {
-                match( "|=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BOR_ASSIGN
-
-    // $ANTLR start LOR
-    public void mLOR() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LOR;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1035:41: ( '||' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1035:41: '||'
-            {
-                match( "||" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LOR
-
-    // $ANTLR start BAND
-    public void mBAND() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BAND;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1038:33: ( '&' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1038:33: '&'
-            {
-                match( '&' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BAND
-
-    // $ANTLR start BAND_ASSIGN
-    public void mBAND_ASSIGN() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.BAND_ASSIGN;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1041:33: ( '&=' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1041:33: '&='
-            {
-                match( "&=" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end BAND_ASSIGN
-
-    // $ANTLR start LAND
-    public void mLAND() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.LAND;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1044:33: ( '&&' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1044:33: '&&'
-            {
-                match( "&&" );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end LAND
-
-    // $ANTLR start SEMI
-    public void mSEMI() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.SEMI;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1047:33: ( ';' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1047:33: ';'
-            {
-                match( ';' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end SEMI
-
-    // $ANTLR start WS
-    public void mWS() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.WS;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1053:17: ( ( ' ' | '\t' | '\f' | ( '\r\n' | '\r' | '\n' ) )+ )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1053:17: ( ' ' | '\t' | '\f' | ( '\r\n' | '\r' | '\n' ) )+
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1053:17: ( ' ' | '\t' | '\f' | ( '\r\n' | '\r' | '\n' ) )+
-                int cnt2 = 0;
-                loop2 : do {
-                    int alt2 = 5;
-                    switch ( this.input.LA( 1 ) ) {
-                        case ' ' :
-                            alt2 = 1;
-                            break;
-                        case '\t' :
-                            alt2 = 2;
-                            break;
-                        case '\f' :
-                            alt2 = 3;
-                            break;
-                        case '\n' :
-                        case '\r' :
-                            alt2 = 4;
-                            break;
-
-                    }
-
-                    switch ( alt2 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1053:25: ' '
-                        {
-                            match( ' ' );
-
-                        }
-                            break;
-                        case 2 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1054:25: '\t'
-                        {
-                            match( '\t' );
-
-                        }
-                            break;
-                        case 3 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1055:25: '\f'
-                        {
-                            match( '\f' );
-
-                        }
-                            break;
-                        case 4 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1057:25: ( '\r\n' | '\r' | '\n' )
-                        {
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1057:25: ( '\r\n' | '\r' | '\n' )
-                            int alt1 = 3;
-                            final int LA1_0 = this.input.LA( 1 );
-                            if ( LA1_0 == '\r' ) {
-                                final int LA1_1 = this.input.LA( 2 );
-                                if ( LA1_1 == '\n' ) {
-                                    alt1 = 1;
-                                } else {
-                                    alt1 = 2;
-                                }
-                            } else if ( LA1_0 == '\n' ) {
-                                alt1 = 3;
-                            } else {
-                                final NoViableAltException nvae = new NoViableAltException( "1057:25: ( \'\\r\\n\' | \'\\r\' | \'\\n\' )",
-                                                                                      1,
-                                                                                      0,
-                                                                                      this.input );
-
-                                throw nvae;
-                            }
-                            switch ( alt1 ) {
-                                case 1 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1057:33: '\r\n'
-                                {
-                                    match( "\r\n" );
-
-                                }
-                                    break;
-                                case 2 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1058:33: '\r'
-                                {
-                                    match( '\r' );
-
-                                }
-                                    break;
-                                case 3 :
-                                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1059:33: '\n'
-                                {
-                                    match( '\n' );
-
-                                }
-                                    break;
-
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            if ( cnt2 >= 1 ) {
-                                break loop2;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 2,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt2++;
-                } while ( true );
-
-                channel = 99; /*token = JavaParser.IGNORE_TOKEN;*/
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end WS
-
-    // $ANTLR start SL_COMMENT
-    public void mSL_COMMENT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.SL_COMMENT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1069:17: ( '//' ( options {greedy=false; } : . )* ( '\r' )? '\n' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1069:17: '//' ( options {greedy=false; } : . )* ( '\r' )? '\n'
-            {
-                match( "//" );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1069:22: ( options {greedy=false; } : . )*
-                loop3 : do {
-                    int alt3 = 2;
-                    final int LA3_0 = this.input.LA( 1 );
-                    if ( LA3_0 == '\r' ) {
-                        alt3 = 2;
-                    } else if ( LA3_0 == '\n' ) {
-                        alt3 = 2;
-                    } else if ( (LA3_0 >= '\u0000' && LA3_0 <= '\t') || (LA3_0 >= '\u000B' && LA3_0 <= '\f') || (LA3_0 >= '\u000E' && LA3_0 <= '\uFFFE') ) {
-                        alt3 = 1;
-                    }
-
-                    switch ( alt3 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1069:49: .
-                        {
-                            matchAny();
-
-                        }
-                            break;
-
-                        default :
-                            break loop3;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1069:53: ( '\r' )?
-                int alt4 = 2;
-                final int LA4_0 = this.input.LA( 1 );
-                if ( LA4_0 == '\r' ) {
-                    alt4 = 1;
-                } else if ( LA4_0 == '\n' ) {
-                    alt4 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "1069:53: ( \'\\r\' )?",
-                                                                          4,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt4 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1069:54: '\r'
-                    {
-                        match( '\r' );
-
-                    }
-                        break;
-
-                }
-
-                match( '\n' );
-                channel = 99; /*token = JavaParser.IGNORE_TOKEN;*/
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end SL_COMMENT
-
-    // $ANTLR start ML_COMMENT
-    public void mML_COMMENT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.ML_COMMENT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1077:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1077:17: '/*' ( options {greedy=false; } : . )* '*/'
-            {
-                match( "/*" );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1078:17: ( options {greedy=false; } : . )*
-                loop5 : do {
-                    int alt5 = 2;
-                    final int LA5_0 = this.input.LA( 1 );
-                    if ( LA5_0 == '*' ) {
-                        final int LA5_1 = this.input.LA( 2 );
-                        if ( LA5_1 == '/' ) {
-                            alt5 = 2;
-                        } else if ( (LA5_1 >= '\u0000' && LA5_1 <= '.') || (LA5_1 >= '0' && LA5_1 <= '\uFFFE') ) {
-                            alt5 = 1;
-                        }
-
-                    } else if ( (LA5_0 >= '\u0000' && LA5_0 <= ')') || (LA5_0 >= '+' && LA5_0 <= '\uFFFE') ) {
-                        alt5 = 1;
-                    }
-
-                    switch ( alt5 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1078:45: .
-                        {
-                            matchAny();
-
-                        }
-                            break;
-
-                        default :
-                            break loop5;
-                    }
-                } while ( true );
-
-                match( "*/" );
-
-                channel = 99;/*token = JavaParser.IGNORE_TOKEN;*/
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end ML_COMMENT
-
-    // $ANTLR start IDENT
-    public void mIDENT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.IDENT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1084:17: ( ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))* )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1084:17: ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))*
-            {
-                if ( this.input.LA( 1 ) == '$' || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'Z') || this.input.LA( 1 ) == '_' || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'z') ) {
-                    this.input.consume();
-
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1084:45: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))*
-                loop6 : do {
-                    int alt6 = 2;
-                    final int LA6_0 = this.input.LA( 1 );
-                    if ( LA6_0 == '$' || (LA6_0 >= '0' && LA6_0 <= '9') || (LA6_0 >= 'A' && LA6_0 <= 'Z') || LA6_0 == '_' || (LA6_0 >= 'a' && LA6_0 <= 'z') ) {
-                        alt6 = 1;
-                    }
-
-                    switch ( alt6 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1084:46: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')
-                        {
-                            if ( this.input.LA( 1 ) == '$' || (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'Z') || this.input.LA( 1 ) == '_' || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'z') ) {
-                                this.input.consume();
-
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            break loop6;
-                    }
-                } while ( true );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end IDENT
-
-    // $ANTLR start NUM_INT
-    public void mNUM_INT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.NUM_INT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1090:7: ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL )
-            int alt7 = 3;
-            final int LA7_0 = this.input.LA( 1 );
-            if ( (LA7_0 >= '1' && LA7_0 <= '9') ) {
-                alt7 = 1;
-            } else if ( LA7_0 == '0' ) {
-                final int LA7_2 = this.input.LA( 2 );
-                if ( LA7_2 == 'X' || LA7_2 == 'x' ) {
-                    alt7 = 2;
-                } else {
-                    alt7 = 3;
-                }
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "1089:1: NUM_INT : ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL );",
-                                                                      7,
-                                                                      0,
-                                                                      this.input );
-
-                throw nvae;
-            }
-            switch ( alt7 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1090:7: DECIMAL_LITERAL
-                {
-                    mDECIMAL_LITERAL();
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1091:7: HEX_LITERAL
-                {
-                    mHEX_LITERAL();
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1092:7: OCTAL_LITERAL
-                {
-                    mOCTAL_LITERAL();
-
-                }
-                    break;
-
-            }
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end NUM_INT
-
-    // $ANTLR start DECIMAL_LITERAL
-    public void mDECIMAL_LITERAL() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1096:18: ( '1' .. '9' ( '0' .. '9' )* ( ('l'|'L'))? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1096:18: '1' .. '9' ( '0' .. '9' )* ( ('l'|'L'))?
-            {
-                matchRange( '1',
-                            '9' );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1096:27: ( '0' .. '9' )*
-                loop8 : do {
-                    int alt8 = 2;
-                    final int LA8_0 = this.input.LA( 1 );
-                    if ( (LA8_0 >= '0' && LA8_0 <= '9') ) {
-                        alt8 = 1;
-                    }
-
-                    switch ( alt8 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1096:28: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-
-                        }
-                            break;
-
-                        default :
-                            break loop8;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1096:39: ( ('l'|'L'))?
-                int alt9 = 2;
-                final int LA9_0 = this.input.LA( 1 );
-                if ( LA9_0 == 'L' || LA9_0 == 'l' ) {
-                    alt9 = 1;
-                } else {
-                    alt9 = 2;
-                }
-                switch ( alt9 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1096:40: ('l'|'L')
-                    {
-                        if ( this.input.LA( 1 ) == 'L' || this.input.LA( 1 ) == 'l' ) {
-                            this.input.consume();
-
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end DECIMAL_LITERAL
-
-    // $ANTLR start HEX_LITERAL
-    public void mHEX_LITERAL() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1099:14: ( '0' ('x'|'X') ( ('0'..'9'|'a'..'f'|'A'..'F'))+ ( ('l'|'L'))? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1099:14: '0' ('x'|'X') ( ('0'..'9'|'a'..'f'|'A'..'F'))+ ( ('l'|'L'))?
-            {
-                match( '0' );
-                if ( this.input.LA( 1 ) == 'X' || this.input.LA( 1 ) == 'x' ) {
-                    this.input.consume();
-
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1099:28: ( ('0'..'9'|'a'..'f'|'A'..'F'))+
-                int cnt10 = 0;
-                loop10 : do {
-                    int alt10 = 2;
-                    final int LA10_0 = this.input.LA( 1 );
-                    if ( (LA10_0 >= '0' && LA10_0 <= '9') || (LA10_0 >= 'A' && LA10_0 <= 'F') || (LA10_0 >= 'a' && LA10_0 <= 'f') ) {
-                        alt10 = 1;
-                    }
-
-                    switch ( alt10 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1099:29: ('0'..'9'|'a'..'f'|'A'..'F')
-                        {
-                            if ( (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'F') || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'f') ) {
-                                this.input.consume();
-
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
-
-                        }
-                            break;
-
-                        default :
-                            if ( cnt10 >= 1 ) {
-                                break loop10;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 10,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt10++;
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1099:58: ( ('l'|'L'))?
-                int alt11 = 2;
-                final int LA11_0 = this.input.LA( 1 );
-                if ( LA11_0 == 'L' || LA11_0 == 'l' ) {
-                    alt11 = 1;
-                } else {
-                    alt11 = 2;
-                }
-                switch ( alt11 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1099:59: ('l'|'L')
-                    {
-                        if ( this.input.LA( 1 ) == 'L' || this.input.LA( 1 ) == 'l' ) {
-                            this.input.consume();
-
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end HEX_LITERAL
-
-    // $ANTLR start OCTAL_LITERAL
-    public void mOCTAL_LITERAL() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1102:16: ( '0' ( '0' .. '7' )* ( ('l'|'L'))? )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1102:16: '0' ( '0' .. '7' )* ( ('l'|'L'))?
-            {
-                match( '0' );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1102:20: ( '0' .. '7' )*
-                loop12 : do {
-                    int alt12 = 2;
-                    final int LA12_0 = this.input.LA( 1 );
-                    if ( (LA12_0 >= '0' && LA12_0 <= '7') ) {
-                        alt12 = 1;
-                    }
-
-                    switch ( alt12 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1102:21: '0' .. '7'
-                        {
-                            matchRange( '0',
-                                        '7' );
-
-                        }
-                            break;
-
-                        default :
-                            break loop12;
-                    }
-                } while ( true );
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1102:32: ( ('l'|'L'))?
-                int alt13 = 2;
-                final int LA13_0 = this.input.LA( 1 );
-                if ( LA13_0 == 'L' || LA13_0 == 'l' ) {
-                    alt13 = 1;
-                } else {
-                    alt13 = 2;
-                }
-                switch ( alt13 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1102:33: ('l'|'L')
-                    {
-                        if ( this.input.LA( 1 ) == 'L' || this.input.LA( 1 ) == 'l' ) {
-                            this.input.consume();
-
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
-
-                    }
-                        break;
-
-                }
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end OCTAL_LITERAL
-
-    // $ANTLR start NUM_FLOAT
-    public void mNUM_FLOAT() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.NUM_FLOAT;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:11: ( DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX | DIGITS EXPONENT_PART | DIGITS FLOAT_TYPE_SUFFIX )
-            int alt19 = 5;
-            alt19 = this.dfa19.predict( this.input );
-            switch ( alt19 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:11: DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
-                {
-                    mDIGITS();
-                    match( '.' );
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:22: ( DIGITS )?
-                    int alt14 = 2;
-                    final int LA14_0 = this.input.LA( 1 );
-                    if ( (LA14_0 >= '0' && LA14_0 <= '9') ) {
-                        alt14 = 1;
-                    } else {
-                        alt14 = 2;
-                    }
-                    switch ( alt14 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:23: DIGITS
-                        {
-                            mDIGITS();
-
-                        }
-                            break;
-
-                    }
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:32: ( EXPONENT_PART )?
-                    int alt15 = 2;
-                    final int LA15_0 = this.input.LA( 1 );
-                    if ( LA15_0 == 'E' || LA15_0 == 'e' ) {
-                        alt15 = 1;
-                    } else {
-                        alt15 = 2;
-                    }
-                    switch ( alt15 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:33: EXPONENT_PART
-                        {
-                            mEXPONENT_PART();
-
-                        }
-                            break;
-
-                    }
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:49: ( FLOAT_TYPE_SUFFIX )?
-                    int alt16 = 2;
-                    final int LA16_0 = this.input.LA( 1 );
-                    if ( LA16_0 == 'D' || LA16_0 == 'F' || LA16_0 == 'd' || LA16_0 == 'f' ) {
-                        alt16 = 1;
-                    } else {
-                        alt16 = 2;
-                    }
-                    switch ( alt16 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1105:50: FLOAT_TYPE_SUFFIX
-                        {
-                            mFLOAT_TYPE_SUFFIX();
-
-                        }
-                            break;
-
-                    }
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1106:7: '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
-                {
-                    match( '.' );
-                    mDIGITS();
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1106:18: ( EXPONENT_PART )?
-                    int alt17 = 2;
-                    final int LA17_0 = this.input.LA( 1 );
-                    if ( LA17_0 == 'E' || LA17_0 == 'e' ) {
-                        alt17 = 1;
-                    } else {
-                        alt17 = 2;
-                    }
-                    switch ( alt17 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1106:19: EXPONENT_PART
-                        {
-                            mEXPONENT_PART();
-
-                        }
-                            break;
-
-                    }
-
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1106:35: ( FLOAT_TYPE_SUFFIX )?
-                    int alt18 = 2;
-                    final int LA18_0 = this.input.LA( 1 );
-                    if ( LA18_0 == 'D' || LA18_0 == 'F' || LA18_0 == 'd' || LA18_0 == 'f' ) {
-                        alt18 = 1;
-                    } else {
-                        alt18 = 2;
-                    }
-                    switch ( alt18 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1106:36: FLOAT_TYPE_SUFFIX
-                        {
-                            mFLOAT_TYPE_SUFFIX();
-
-                        }
-                            break;
-
-                    }
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1107:11: DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX
-                {
-                    mDIGITS();
-                    mEXPONENT_PART();
-                    mFLOAT_TYPE_SUFFIX();
-
-                }
-                    break;
-                case 4 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1108:11: DIGITS EXPONENT_PART
-                {
-                    mDIGITS();
-                    mEXPONENT_PART();
-
-                }
-                    break;
-                case 5 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1109:11: DIGITS FLOAT_TYPE_SUFFIX
-                {
-                    mDIGITS();
-                    mFLOAT_TYPE_SUFFIX();
-
-                }
-                    break;
-
-            }
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end NUM_FLOAT
-
-    // $ANTLR start DIGITS
-    public void mDIGITS() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1114:10: ( ( '0' .. '9' )+ )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1114:10: ( '0' .. '9' )+
-            {
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1114:10: ( '0' .. '9' )+
-                int cnt20 = 0;
-                loop20 : do {
-                    int alt20 = 2;
-                    final int LA20_0 = this.input.LA( 1 );
-                    if ( (LA20_0 >= '0' && LA20_0 <= '9') ) {
-                        alt20 = 1;
-                    }
-
-                    switch ( alt20 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1114:11: '0' .. '9'
-                        {
-                            matchRange( '0',
-                                        '9' );
-
-                        }
-                            break;
-
-                        default :
-                            if ( cnt20 >= 1 ) {
-                                break loop20;
-                            }
-                            final EarlyExitException eee = new EarlyExitException( 20,
-                                                                             this.input );
-                            throw eee;
-                    }
-                    cnt20++;
-                } while ( true );
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end DIGITS
-
-    // $ANTLR start EXPONENT_PART
-    public void mEXPONENT_PART() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1122:16: ( ('e'|'E') ( ('+'|'-'))? DIGITS )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1122:16: ('e'|'E') ( ('+'|'-'))? DIGITS
-            {
-                if ( this.input.LA( 1 ) == 'E' || this.input.LA( 1 ) == 'e' ) {
-                    this.input.consume();
-
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
-
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1122:26: ( ('+'|'-'))?
-                int alt21 = 2;
-                final int LA21_0 = this.input.LA( 1 );
-                if ( LA21_0 == '+' || LA21_0 == '-' ) {
-                    alt21 = 1;
-                } else if ( (LA21_0 >= '0' && LA21_0 <= '9') ) {
-                    alt21 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "1122:26: ( (\'+\'|\'-\'))?",
-                                                                          21,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt21 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1122:27: ('+'|'-')
-                    {
-                        if ( this.input.LA( 1 ) == '+' || this.input.LA( 1 ) == '-' ) {
-                            this.input.consume();
-
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
-
-                    }
-                        break;
-
-                }
-
-                mDIGITS();
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end EXPONENT_PART
-
-    // $ANTLR start FLOAT_TYPE_SUFFIX
-    public void mFLOAT_TYPE_SUFFIX() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1125:23: ( ('f'|'F'|'d'|'D'))
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1125:23: ('f'|'F'|'d'|'D')
-            {
-                if ( this.input.LA( 1 ) == 'D' || this.input.LA( 1 ) == 'F' || this.input.LA( 1 ) == 'd' || this.input.LA( 1 ) == 'f' ) {
-                    this.input.consume();
-
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end FLOAT_TYPE_SUFFIX
-
-    // $ANTLR start CHAR_LITERAL
-    public void mCHAR_LITERAL() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.CHAR_LITERAL;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1129:7: ( '\'' (~ ('\''|'\\') | ESCAPE_SEQUENCE ) '\'' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1129:7: '\'' (~ ('\''|'\\') | ESCAPE_SEQUENCE ) '\''
-            {
-                match( '\'' );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1130:7: (~ ('\''|'\\') | ESCAPE_SEQUENCE )
-                int alt22 = 2;
-                final int LA22_0 = this.input.LA( 1 );
-                if ( (LA22_0 >= '\u0000' && LA22_0 <= '&') || (LA22_0 >= '(' && LA22_0 <= '[') || (LA22_0 >= ']' && LA22_0 <= '\uFFFE') ) {
-                    alt22 = 1;
-                } else if ( LA22_0 == '\\' ) {
-                    alt22 = 2;
-                } else {
-                    final NoViableAltException nvae = new NoViableAltException( "1130:7: (~ (\'\\\'\'|\'\\\\\') | ESCAPE_SEQUENCE )",
-                                                                          22,
-                                                                          0,
-                                                                          this.input );
-
-                    throw nvae;
-                }
-                switch ( alt22 ) {
-                    case 1 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1130:9: ~ ('\''|'\\')
-                    {
-                        if ( (this.input.LA( 1 ) >= '\u0000' && this.input.LA( 1 ) <= '&') || (this.input.LA( 1 ) >= '(' && this.input.LA( 1 ) <= '[') || (this.input.LA( 1 ) >= ']' && this.input.LA( 1 ) <= '\uFFFE') ) {
-                            this.input.consume();
-
-                        } else {
-                            final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                     this.input );
-                            recover( mse );
-                            throw mse;
-                        }
-
-                    }
-                        break;
-                    case 2 :
-                        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1131:9: ESCAPE_SEQUENCE
-                    {
-                        mESCAPE_SEQUENCE();
-
-                    }
-                        break;
-
-                }
-
-                match( '\'' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end CHAR_LITERAL
-
-    // $ANTLR start STRING_LITERAL
-    public void mSTRING_LITERAL() throws RecognitionException {
-        try {
-            final int type = JavaParserLexer.STRING_LITERAL;
-            final int start = getCharIndex();
-            final int line = getLine();
-            final int charPosition = getCharPositionInLine();
-            final int channel = Token.DEFAULT_CHANNEL;
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1138:7: ( '\"' (~ ('\"'|'\\') | ESCAPE_SEQUENCE )* '\"' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1138:7: '\"' (~ ('\"'|'\\') | ESCAPE_SEQUENCE )* '\"'
-            {
-                match( '\"' );
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1139:7: (~ ('\"'|'\\') | ESCAPE_SEQUENCE )*
-                loop23 : do {
-                    int alt23 = 3;
-                    final int LA23_0 = this.input.LA( 1 );
-                    if ( (LA23_0 >= '\u0000' && LA23_0 <= '!') || (LA23_0 >= '#' && LA23_0 <= '[') || (LA23_0 >= ']' && LA23_0 <= '\uFFFE') ) {
-                        alt23 = 1;
-                    } else if ( LA23_0 == '\\' ) {
-                        alt23 = 2;
-                    }
-
-                    switch ( alt23 ) {
-                        case 1 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1139:9: ~ ('\"'|'\\')
-                        {
-                            if ( (this.input.LA( 1 ) >= '\u0000' && this.input.LA( 1 ) <= '!') || (this.input.LA( 1 ) >= '#' && this.input.LA( 1 ) <= '[') || (this.input.LA( 1 ) >= ']' && this.input.LA( 1 ) <= '\uFFFE') ) {
-                                this.input.consume();
-
-                            } else {
-                                final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                                         this.input );
-                                recover( mse );
-                                throw mse;
-                            }
-
-                        }
-                            break;
-                        case 2 :
-                            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1140:9: ESCAPE_SEQUENCE
-                        {
-                            mESCAPE_SEQUENCE();
-
-                        }
-                            break;
-
-                        default :
-                            break loop23;
-                    }
-                } while ( true );
-
-                match( '\"' );
-
-            }
-
-            if ( this.token == null ) {
-                emit( type,
-                      line,
-                      charPosition,
-                      channel,
-                      start,
-                      getCharIndex() - 1 );
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end STRING_LITERAL
-
-    // $ANTLR start ESCAPE_SEQUENCE
-    public void mESCAPE_SEQUENCE() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1147:9: ( '\\' 'b' | '\\' 't' | '\\' 'n' | '\\' 'f' | '\\' 'r' | '\\' '\"' | '\\' '\'' | '\\' '\\' | '\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\' OCTAL_DIGIT OCTAL_DIGIT | '\\' OCTAL_DIGIT | UNICODE_CHAR )
-            int alt24 = 12;
-            final int LA24_0 = this.input.LA( 1 );
-            if ( LA24_0 == '\\' ) {
-                switch ( this.input.LA( 2 ) ) {
-                    case '\\' :
-                        alt24 = 8;
-                        break;
-                    case 'n' :
-                        alt24 = 3;
-                        break;
-                    case '"' :
-                        alt24 = 6;
-                        break;
-                    case '0' :
-                    case '1' :
-                    case '2' :
-                    case '3' :
-                        final int LA24_5 = this.input.LA( 3 );
-                        if ( (LA24_5 >= '0' && LA24_5 <= '7') ) {
-                            final int LA24_14 = this.input.LA( 4 );
-                            if ( (LA24_14 >= '0' && LA24_14 <= '7') ) {
-                                alt24 = 9;
-                            } else {
-                                alt24 = 10;
-                            }
-                        } else {
-                            alt24 = 11;
-                        }
-                        break;
-                    case 't' :
-                        alt24 = 2;
-                        break;
-                    case 'r' :
-                        alt24 = 5;
-                        break;
-                    case 'u' :
-                        alt24 = 12;
-                        break;
-                    case '\'' :
-                        alt24 = 7;
-                        break;
-                    case 'b' :
-                        alt24 = 1;
-                        break;
-                    case 'f' :
-                        alt24 = 4;
-                        break;
-                    case '4' :
-                    case '5' :
-                    case '6' :
-                    case '7' :
-                        final int LA24_12 = this.input.LA( 3 );
-                        if ( (LA24_12 >= '0' && LA24_12 <= '7') ) {
-                            alt24 = 10;
-                        } else {
-                            alt24 = 11;
-                        }
-                        break;
-                    default :
-                        final NoViableAltException nvae = new NoViableAltException( "1145:1: fragment ESCAPE_SEQUENCE : ( \'\\\\\' \'b\' | \'\\\\\' \'t\' | \'\\\\\' \'n\' | \'\\\\\' \'f\' | \'\\\\\' \'r\' | \'\\\\\' \'\\\"\' | \'\\\\\' \'\\\'\' | \'\\\\\' \'\\\\\' | \'\\\\\' \'0\' .. \'3\' OCTAL_DIGIT OCTAL_DIGIT | \'\\\\\' OCTAL_DIGIT OCTAL_DIGIT | \'\\\\\' OCTAL_DIGIT | UNICODE_CHAR );",
-                                                                              24,
-                                                                              1,
-                                                                              this.input );
-
-                        throw nvae;
-                }
-
-            } else {
-                final NoViableAltException nvae = new NoViableAltException( "1145:1: fragment ESCAPE_SEQUENCE : ( \'\\\\\' \'b\' | \'\\\\\' \'t\' | \'\\\\\' \'n\' | \'\\\\\' \'f\' | \'\\\\\' \'r\' | \'\\\\\' \'\\\"\' | \'\\\\\' \'\\\'\' | \'\\\\\' \'\\\\\' | \'\\\\\' \'0\' .. \'3\' OCTAL_DIGIT OCTAL_DIGIT | \'\\\\\' OCTAL_DIGIT OCTAL_DIGIT | \'\\\\\' OCTAL_DIGIT | UNICODE_CHAR );",
-                                                                      24,
-                                                                      0,
-                                                                      this.input );
-
-                throw nvae;
-            }
-            switch ( alt24 ) {
-                case 1 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1147:9: '\\' 'b'
-                {
-                    match( '\\' );
-                    match( 'b' );
-
-                }
-                    break;
-                case 2 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1148:9: '\\' 't'
-                {
-                    match( '\\' );
-                    match( 't' );
-
-                }
-                    break;
-                case 3 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1149:9: '\\' 'n'
-                {
-                    match( '\\' );
-                    match( 'n' );
-
-                }
-                    break;
-                case 4 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1150:9: '\\' 'f'
-                {
-                    match( '\\' );
-                    match( 'f' );
-
-                }
-                    break;
-                case 5 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1151:9: '\\' 'r'
-                {
-                    match( '\\' );
-                    match( 'r' );
-
-                }
-                    break;
-                case 6 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1152:9: '\\' '\"'
-                {
-                    match( '\\' );
-                    match( '\"' );
-
-                }
-                    break;
-                case 7 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1153:9: '\\' '\''
-                {
-                    match( '\\' );
-                    match( '\'' );
-
-                }
-                    break;
-                case 8 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1154:9: '\\' '\\'
-                {
-                    match( '\\' );
-                    match( '\\' );
-
-                }
-                    break;
-                case 9 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1155:9: '\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT
-                {
-                    match( '\\' );
-                    matchRange( '0',
-                                '3' );
-                    mOCTAL_DIGIT();
-                    mOCTAL_DIGIT();
-
-                }
-                    break;
-                case 10 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1156:9: '\\' OCTAL_DIGIT OCTAL_DIGIT
-                {
-                    match( '\\' );
-                    mOCTAL_DIGIT();
-                    mOCTAL_DIGIT();
-
-                }
-                    break;
-                case 11 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1157:9: '\\' OCTAL_DIGIT
-                {
-                    match( '\\' );
-                    mOCTAL_DIGIT();
-
-                }
-                    break;
-                case 12 :
-                    // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1158:17: UNICODE_CHAR
-                {
-                    mUNICODE_CHAR();
-
-                }
-                    break;
-
-            }
-        } finally {
-        }
-    }
-
-    // $ANTLR end ESCAPE_SEQUENCE
-
-    // $ANTLR start UNICODE_CHAR
-    public void mUNICODE_CHAR() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1163:17: ( '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1163:17: '\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
-            {
-                match( '\\' );
-                match( 'u' );
-                mHEX_DIGIT();
-                mHEX_DIGIT();
-                mHEX_DIGIT();
-                mHEX_DIGIT();
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end UNICODE_CHAR
-
-    // $ANTLR start HEX_DIGIT
-    public void mHEX_DIGIT() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1168:9: ( ('0'..'9'|'a'..'f'|'A'..'F'))
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1168:17: ('0'..'9'|'a'..'f'|'A'..'F')
-            {
-                if ( (this.input.LA( 1 ) >= '0' && this.input.LA( 1 ) <= '9') || (this.input.LA( 1 ) >= 'A' && this.input.LA( 1 ) <= 'F') || (this.input.LA( 1 ) >= 'a' && this.input.LA( 1 ) <= 'f') ) {
-                    this.input.consume();
-
-                } else {
-                    final MismatchedSetException mse = new MismatchedSetException( null,
-                                                                             this.input );
-                    recover( mse );
-                    throw mse;
-                }
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end HEX_DIGIT
-
-    // $ANTLR start OCTAL_DIGIT
-    public void mOCTAL_DIGIT() throws RecognitionException {
-        try {
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1173:17: ( '0' .. '7' )
-            // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1173:17: '0' .. '7'
-            {
-                matchRange( '0',
-                            '7' );
-
-            }
-
-        } finally {
-        }
-    }
-
-    // $ANTLR end OCTAL_DIGIT
-
-    public void mTokens() throws RecognitionException {
-        // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:10: ( T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | QUESTION | LPAREN | RPAREN | LBRACK | RBRACK | LCURLY | RCURLY | COLON | COMMA | DOT | ASSIGN | EQUAL | LNOT | BNOT | NOT_EQUAL | DIV | DIV_ASSIGN | PLUS | PLUS_ASSIGN | INC | MINUS | MINUS_ASSIGN | DEC | STAR | STAR_ASSIGN | MOD | MOD_ASSIGN | SR | SR_ASSIGN | BSR | BSR_ASSIGN | GE | GT | SL | SL_ASSIGN | LE | LT | BXOR | BXOR_ASSIGN | BOR | BOR_ASSIGN | LOR | BAND | BAND_ASSIGN | LAND | SEMI | WS | SL_COMMENT | ML_COMMENT | IDENT | NUM_INT | NUM_FLOAT | CHAR_LITERAL | STRING_LITERAL )
-        int alt25 = 102;
-        alt25 = this.dfa25.predict( this.input );
-        switch ( alt25 ) {
-            case 1 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:10: T68
-            {
-                mT68();
-
-            }
-                break;
-            case 2 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:14: T69
-            {
-                mT69();
-
-            }
-                break;
-            case 3 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:18: T70
-            {
-                mT70();
-
-            }
-                break;
-            case 4 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:22: T71
-            {
-                mT71();
-
-            }
-                break;
-            case 5 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:26: T72
-            {
-                mT72();
-
-            }
-                break;
-            case 6 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:30: T73
-            {
-                mT73();
-
-            }
-                break;
-            case 7 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:34: T74
-            {
-                mT74();
-
-            }
-                break;
-            case 8 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:38: T75
-            {
-                mT75();
-
-            }
-                break;
-            case 9 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:42: T76
-            {
-                mT76();
-
-            }
-                break;
-            case 10 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:46: T77
-            {
-                mT77();
-
-            }
-                break;
-            case 11 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:50: T78
-            {
-                mT78();
-
-            }
-                break;
-            case 12 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:54: T79
-            {
-                mT79();
-
-            }
-                break;
-            case 13 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:58: T80
-            {
-                mT80();
-
-            }
-                break;
-            case 14 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:62: T81
-            {
-                mT81();
-
-            }
-                break;
-            case 15 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:66: T82
-            {
-                mT82();
-
-            }
-                break;
-            case 16 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:70: T83
-            {
-                mT83();
-
-            }
-                break;
-            case 17 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:74: T84
-            {
-                mT84();
-
-            }
-                break;
-            case 18 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:78: T85
-            {
-                mT85();
-
-            }
-                break;
-            case 19 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:82: T86
-            {
-                mT86();
-
-            }
-                break;
-            case 20 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:86: T87
-            {
-                mT87();
-
-            }
-                break;
-            case 21 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:90: T88
-            {
-                mT88();
-
-            }
-                break;
-            case 22 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:94: T89
-            {
-                mT89();
-
-            }
-                break;
-            case 23 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:98: T90
-            {
-                mT90();
-
-            }
-                break;
-            case 24 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:102: T91
-            {
-                mT91();
-
-            }
-                break;
-            case 25 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:106: T92
-            {
-                mT92();
-
-            }
-                break;
-            case 26 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:110: T93
-            {
-                mT93();
-
-            }
-                break;
-            case 27 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:114: T94
-            {
-                mT94();
-
-            }
-                break;
-            case 28 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:118: T95
-            {
-                mT95();
-
-            }
-                break;
-            case 29 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:122: T96
-            {
-                mT96();
-
-            }
-                break;
-            case 30 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:126: T97
-            {
-                mT97();
-
-            }
-                break;
-            case 31 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:130: T98
-            {
-                mT98();
-
-            }
-                break;
-            case 32 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:134: T99
-            {
-                mT99();
-
-            }
-                break;
-            case 33 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:138: T100
-            {
-                mT100();
-
-            }
-                break;
-            case 34 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:143: T101
-            {
-                mT101();
-
-            }
-                break;
-            case 35 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:148: T102
-            {
-                mT102();
-
-            }
-                break;
-            case 36 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:153: T103
-            {
-                mT103();
-
-            }
-                break;
-            case 37 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:158: T104
-            {
-                mT104();
-
-            }
-                break;
-            case 38 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:163: T105
-            {
-                mT105();
-
-            }
-                break;
-            case 39 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:168: T106
-            {
-                mT106();
-
-            }
-                break;
-            case 40 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:173: T107
-            {
-                mT107();
-
-            }
-                break;
-            case 41 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:178: T108
-            {
-                mT108();
-
-            }
-                break;
-            case 42 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:183: T109
-            {
-                mT109();
-
-            }
-                break;
-            case 43 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:188: T110
-            {
-                mT110();
-
-            }
-                break;
-            case 44 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:193: T111
-            {
-                mT111();
-
-            }
-                break;
-            case 45 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:198: T112
-            {
-                mT112();
-
-            }
-                break;
-            case 46 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:203: T113
-            {
-                mT113();
-
-            }
-                break;
-            case 47 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:208: T114
-            {
-                mT114();
-
-            }
-                break;
-            case 48 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:213: T115
-            {
-                mT115();
-
-            }
-                break;
-            case 49 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:218: QUESTION
-            {
-                mQUESTION();
-
-            }
-                break;
-            case 50 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:227: LPAREN
-            {
-                mLPAREN();
-
-            }
-                break;
-            case 51 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:234: RPAREN
-            {
-                mRPAREN();
-
-            }
-                break;
-            case 52 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:241: LBRACK
-            {
-                mLBRACK();
-
-            }
-                break;
-            case 53 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:248: RBRACK
-            {
-                mRBRACK();
-
-            }
-                break;
-            case 54 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:255: LCURLY
-            {
-                mLCURLY();
-
-            }
-                break;
-            case 55 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:262: RCURLY
-            {
-                mRCURLY();
-
-            }
-                break;
-            case 56 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:269: COLON
-            {
-                mCOLON();
-
-            }
-                break;
-            case 57 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:275: COMMA
-            {
-                mCOMMA();
-
-            }
-                break;
-            case 58 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:281: DOT
-            {
-                mDOT();
-
-            }
-                break;
-            case 59 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:285: ASSIGN
-            {
-                mASSIGN();
-
-            }
-                break;
-            case 60 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:292: EQUAL
-            {
-                mEQUAL();
-
-            }
-                break;
-            case 61 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:298: LNOT
-            {
-                mLNOT();
-
-            }
-                break;
-            case 62 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:303: BNOT
-            {
-                mBNOT();
-
-            }
-                break;
-            case 63 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:308: NOT_EQUAL
-            {
-                mNOT_EQUAL();
-
-            }
-                break;
-            case 64 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:318: DIV
-            {
-                mDIV();
-
-            }
-                break;
-            case 65 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:322: DIV_ASSIGN
-            {
-                mDIV_ASSIGN();
-
-            }
-                break;
-            case 66 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:333: PLUS
-            {
-                mPLUS();
-
-            }
-                break;
-            case 67 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:338: PLUS_ASSIGN
-            {
-                mPLUS_ASSIGN();
-
-            }
-                break;
-            case 68 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:350: INC
-            {
-                mINC();
-
-            }
-                break;
-            case 69 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:354: MINUS
-            {
-                mMINUS();
-
-            }
-                break;
-            case 70 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:360: MINUS_ASSIGN
-            {
-                mMINUS_ASSIGN();
-
-            }
-                break;
-            case 71 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:373: DEC
-            {
-                mDEC();
-
-            }
-                break;
-            case 72 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:377: STAR
-            {
-                mSTAR();
-
-            }
-                break;
-            case 73 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:382: STAR_ASSIGN
-            {
-                mSTAR_ASSIGN();
-
-            }
-                break;
-            case 74 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:394: MOD
-            {
-                mMOD();
-
-            }
-                break;
-            case 75 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:398: MOD_ASSIGN
-            {
-                mMOD_ASSIGN();
-
-            }
-                break;
-            case 76 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:409: SR
-            {
-                mSR();
-
-            }
-                break;
-            case 77 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:412: SR_ASSIGN
-            {
-                mSR_ASSIGN();
-
-            }
-                break;
-            case 78 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:422: BSR
-            {
-                mBSR();
-
-            }
-                break;
-            case 79 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:426: BSR_ASSIGN
-            {
-                mBSR_ASSIGN();
-
-            }
-                break;
-            case 80 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:437: GE
-            {
-                mGE();
-
-            }
-                break;
-            case 81 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:440: GT
-            {
-                mGT();
-
-            }
-                break;
-            case 82 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:443: SL
-            {
-                mSL();
-
-            }
-                break;
-            case 83 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:446: SL_ASSIGN
-            {
-                mSL_ASSIGN();
-
-            }
-                break;
-            case 84 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:456: LE
-            {
-                mLE();
-
-            }
-                break;
-            case 85 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:459: LT
-            {
-                mLT();
-
-            }
-                break;
-            case 86 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:462: BXOR
-            {
-                mBXOR();
-
-            }
-                break;
-            case 87 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:467: BXOR_ASSIGN
-            {
-                mBXOR_ASSIGN();
-
-            }
-                break;
-            case 88 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:479: BOR
-            {
-                mBOR();
-
-            }
-                break;
-            case 89 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:483: BOR_ASSIGN
-            {
-                mBOR_ASSIGN();
-
-            }
-                break;
-            case 90 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:494: LOR
-            {
-                mLOR();
-
-            }
-                break;
-            case 91 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:498: BAND
-            {
-                mBAND();
-
-            }
-                break;
-            case 92 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:503: BAND_ASSIGN
-            {
-                mBAND_ASSIGN();
-
-            }
-                break;
-            case 93 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:515: LAND
-            {
-                mLAND();
-
-            }
-                break;
-            case 94 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:520: SEMI
-            {
-                mSEMI();
-
-            }
-                break;
-            case 95 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:525: WS
-            {
-                mWS();
-
-            }
-                break;
-            case 96 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:528: SL_COMMENT
-            {
-                mSL_COMMENT();
-
-            }
-                break;
-            case 97 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:539: ML_COMMENT
-            {
-                mML_COMMENT();
-
-            }
-                break;
-            case 98 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:550: IDENT
-            {
-                mIDENT();
-
-            }
-                break;
-            case 99 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:556: NUM_INT
-            {
-                mNUM_INT();
-
-            }
-                break;
-            case 100 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:564: NUM_FLOAT
-            {
-                mNUM_FLOAT();
-
-            }
-                break;
-            case 101 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:574: CHAR_LITERAL
-            {
-                mCHAR_LITERAL();
-
-            }
-                break;
-            case 102 :
-                // /Users/bob/checkouts/jbossrules/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g:1:587: STRING_LITERAL
-            {
-                mSTRING_LITERAL();
-
-            }
-                break;
-
-        }
-
-    }
-
-    protected DFA19 dfa19 = new DFA19();
-    protected DFA25 dfa25 = new DFA25();
-
-    class DFA19 extends DFA {
-        public int predict(final IntStream input) throws RecognitionException {
-            return predict( input,
-                            this.s0 );
-        }
-
-        DFA.State s11 = new DFA.State() {
-                          {
-                              this.alt = 4;
-                          }
-                      };
-        DFA.State s12 = new DFA.State() {
-                          {
-                              this.alt = 3;
-                          }
-                      };
-        DFA.State s9  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case 'D' :
-                                  case 'F' :
-                                  case 'd' :
-                                  case 'f' :
-                                      return DFA19.this.s12;
-
-                                  case '0' :
-                                  case '1' :
-                                  case '2' :
-                                  case '3' :
-                                  case '4' :
-                                  case '5' :
-                                  case '6' :
-                                  case '7' :
-                                  case '8' :
-                                  case '9' :
-                                      return DFA19.this.s9;
-
-                                  default :
-                                      return DFA19.this.s11;
-                              }
-                          }
-                      };
-        DFA.State s8  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA19_8 = input.LA( 1 );
-                              if ( (LA19_8 >= '0' && LA19_8 <= '9') ) {
-                                  return DFA19.this.s9;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    19,
-                                                                                    8,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s4  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA19_4 = input.LA( 1 );
-                              if ( LA19_4 == '+' || LA19_4 == '-' ) {
-                                  return DFA19.this.s8;
-                              }
-                              if ( (LA19_4 >= '0' && LA19_4 <= '9') ) {
-                                  return DFA19.this.s9;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    19,
-                                                                                    4,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-        DFA.State s6  = new DFA.State() {
-                          {
-                              this.alt = 1;
-                          }
-                      };
-        DFA.State s7  = new DFA.State() {
-                          {
-                              this.alt = 5;
-                          }
-                      };
-        DFA.State s1  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              switch ( input.LA( 1 ) ) {
-                                  case 'E' :
-                                  case 'e' :
-                                      return DFA19.this.s4;
-
-                                  case '0' :
-                                  case '1' :
-                                  case '2' :
-                                  case '3' :
-                                  case '4' :
-                                  case '5' :
-                                  case '6' :
-                                  case '7' :
-                                  case '8' :
-                                  case '9' :
-                                      return DFA19.this.s1;
-
-                                  case '.' :
-                                      return DFA19.this.s6;
-
-                                  case 'D' :
-                                  case 'F' :
-                                  case 'd' :
-                                  case 'f' :
-                                      return DFA19.this.s7;
-
-                                  default :
-                                      NoViableAltException nvae = new NoViableAltException( "",
-                                                                                            19,
-                                                                                            1,
-                                                                                            input );
-
-                                      throw nvae;
-                              }
-                          }
-                      };
-        DFA.State s2  = new DFA.State() {
-                          {
-                              this.alt = 2;
-                          }
-                      };
-        DFA.State s0  = new DFA.State() {
-                          public DFA.State transition(IntStream input) throws RecognitionException {
-                              int LA19_0 = input.LA( 1 );
-                              if ( (LA19_0 >= '0' && LA19_0 <= '9') ) {
-                                  return DFA19.this.s1;
-                              }
-                              if ( LA19_0 == '.' ) {
-                                  return DFA19.this.s2;
-                              }
-
-                              NoViableAltException nvae = new NoViableAltException( "",
-                                                                                    19,
-                                                                                    0,
-                                                                                    input );
-
-                              throw nvae;
-                          }
-                      };
-
-    }
-
-    class DFA25 extends DFA {
-        public int predict(final IntStream input) throws RecognitionException {
-            return predict( input,
-                            this.s0 );
-        }
-
-        DFA.State s419 = new DFA.State() {
-                           {
-                               this.alt = 1;
-                           }
-                       };
-        DFA.State s45  = new DFA.State() {
-                           {
-                               this.alt = 98;
-                           }
-                       };
-        DFA.State s293 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_293 = input.LA( 1 );
-                               if ( LA25_293 == '$' || (LA25_293 >= '0' && LA25_293 <= '9') || (LA25_293 >= 'A' && LA25_293 <= 'Z') || LA25_293 == '_' || (LA25_293 >= 'a' && LA25_293 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s419;
-
-                           }
-                       };
-        DFA.State s163 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_163 = input.LA( 1 );
-                               if ( LA25_163 == 'd' ) {
-                                   return DFA25.this.s293;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s720 = new DFA.State() {
-                           {
-                               this.alt = 20;
-                           }
-                       };
-        DFA.State s677 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_677 = input.LA( 1 );
-                               if ( LA25_677 == '$' || (LA25_677 >= '0' && LA25_677 <= '9') || (LA25_677 >= 'A' && LA25_677 <= 'Z') || LA25_677 == '_' || (LA25_677 >= 'a' && LA25_677 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s720;
-
-                           }
-                       };
-        DFA.State s615 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_615 = input.LA( 1 );
-                               if ( LA25_615 == 'e' ) {
-                                   return DFA25.this.s677;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s530 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_530 = input.LA( 1 );
-                               if ( LA25_530 == 'l' ) {
-                                   return DFA25.this.s615;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s421 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_421 = input.LA( 1 );
-                               if ( LA25_421 == 'i' ) {
-                                   return DFA25.this.s530;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s296 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_296 = input.LA( 1 );
-                               if ( LA25_296 == 't' ) {
-                                   return DFA25.this.s421;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s164 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_164 = input.LA( 1 );
-                               if ( LA25_164 == 'a' ) {
-                                   return DFA25.this.s296;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s50  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'i' :
-                                       return DFA25.this.s163;
-
-                                   case 'l' :
-                                       return DFA25.this.s164;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s1   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_1 = input.LA( 1 );
-                               if ( LA25_1 == 'o' ) {
-                                   return DFA25.this.s50;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s680 = new DFA.State() {
-                           {
-                               this.alt = 2;
-                           }
-                       };
-        DFA.State s618 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_618 = input.LA( 1 );
-                               if ( LA25_618 == '$' || (LA25_618 >= '0' && LA25_618 <= '9') || (LA25_618 >= 'A' && LA25_618 <= 'Z') || LA25_618 == '_' || (LA25_618 >= 'a' && LA25_618 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s680;
-
-                           }
-                       };
-        DFA.State s533 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_533 = input.LA( 1 );
-                               if ( LA25_533 == 'n' ) {
-                                   return DFA25.this.s618;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s424 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_424 = input.LA( 1 );
-                               if ( LA25_424 == 'a' ) {
-                                   return DFA25.this.s533;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s299 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_299 = input.LA( 1 );
-                               if ( LA25_299 == 'e' ) {
-                                   return DFA25.this.s424;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s167 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_167 = input.LA( 1 );
-                               if ( LA25_167 == 'l' ) {
-                                   return DFA25.this.s299;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s53  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_53 = input.LA( 1 );
-                               if ( LA25_53 == 'o' ) {
-                                   return DFA25.this.s167;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s427 = new DFA.State() {
-                           {
-                               this.alt = 3;
-                           }
-                       };
-        DFA.State s302 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_302 = input.LA( 1 );
-                               if ( LA25_302 == '$' || (LA25_302 >= '0' && LA25_302 <= '9') || (LA25_302 >= 'A' && LA25_302 <= 'Z') || LA25_302 == '_' || (LA25_302 >= 'a' && LA25_302 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s427;
-
-                           }
-                       };
-        DFA.State s170 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_170 = input.LA( 1 );
-                               if ( LA25_170 == 'e' ) {
-                                   return DFA25.this.s302;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s54  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_54 = input.LA( 1 );
-                               if ( LA25_54 == 't' ) {
-                                   return DFA25.this.s170;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s536 = new DFA.State() {
-                           {
-                               this.alt = 34;
-                           }
-                       };
-        DFA.State s429 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_429 = input.LA( 1 );
-                               if ( LA25_429 == '$' || (LA25_429 >= '0' && LA25_429 <= '9') || (LA25_429 >= 'A' && LA25_429 <= 'Z') || LA25_429 == '_' || (LA25_429 >= 'a' && LA25_429 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s536;
-
-                           }
-                       };
-        DFA.State s305 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_305 = input.LA( 1 );
-                               if ( LA25_305 == 'k' ) {
-                                   return DFA25.this.s429;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s173 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_173 = input.LA( 1 );
-                               if ( LA25_173 == 'a' ) {
-                                   return DFA25.this.s305;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s55  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_55 = input.LA( 1 );
-                               if ( LA25_55 == 'e' ) {
-                                   return DFA25.this.s173;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s2   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'o' :
-                                       return DFA25.this.s53;
-
-                                   case 'y' :
-                                       return DFA25.this.s54;
-
-                                   case 'r' :
-                                       return DFA25.this.s55;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s538 = new DFA.State() {
-                           {
-                               this.alt = 22;
-                           }
-                       };
-        DFA.State s432 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_432 = input.LA( 1 );
-                               if ( LA25_432 == '$' || (LA25_432 >= '0' && LA25_432 <= '9') || (LA25_432 >= 'A' && LA25_432 <= 'Z') || LA25_432 == '_' || (LA25_432 >= 'a' && LA25_432 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s538;
-
-                           }
-                       };
-        DFA.State s308 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_308 = input.LA( 1 );
-                               if ( LA25_308 == 's' ) {
-                                   return DFA25.this.s432;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s176 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_176 = input.LA( 1 );
-                               if ( LA25_176 == 's' ) {
-                                   return DFA25.this.s308;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s58  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_58 = input.LA( 1 );
-                               if ( LA25_58 == 'a' ) {
-                                   return DFA25.this.s176;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s435 = new DFA.State() {
-                           {
-                               this.alt = 39;
-                           }
-                       };
-        DFA.State s311 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_311 = input.LA( 1 );
-                               if ( LA25_311 == '$' || (LA25_311 >= '0' && LA25_311 <= '9') || (LA25_311 >= 'A' && LA25_311 <= 'Z') || LA25_311 == '_' || (LA25_311 >= 'a' && LA25_311 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s435;
-
-                           }
-                       };
-        DFA.State s179 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_179 = input.LA( 1 );
-                               if ( LA25_179 == 'e' ) {
-                                   return DFA25.this.s311;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s540 = new DFA.State() {
-                           {
-                               this.alt = 43;
-                           }
-                       };
-        DFA.State s437 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_437 = input.LA( 1 );
-                               if ( LA25_437 == '$' || (LA25_437 >= '0' && LA25_437 <= '9') || (LA25_437 >= 'A' && LA25_437 <= 'Z') || LA25_437 == '_' || (LA25_437 >= 'a' && LA25_437 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s540;
-
-                           }
-                       };
-        DFA.State s314 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_314 = input.LA( 1 );
-                               if ( LA25_314 == 'h' ) {
-                                   return DFA25.this.s437;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s180 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_180 = input.LA( 1 );
-                               if ( LA25_180 == 'c' ) {
-                                   return DFA25.this.s314;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s59  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 's' :
-                                       return DFA25.this.s179;
-
-                                   case 't' :
-                                       return DFA25.this.s180;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s440 = new DFA.State() {
-                           {
-                               this.alt = 4;
-                           }
-                       };
-        DFA.State s317 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_317 = input.LA( 1 );
-                               if ( LA25_317 == '$' || (LA25_317 >= '0' && LA25_317 <= '9') || (LA25_317 >= 'A' && LA25_317 <= 'Z') || LA25_317 == '_' || (LA25_317 >= 'a' && LA25_317 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s440;
-
-                           }
-                       };
-        DFA.State s183 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_183 = input.LA( 1 );
-                               if ( LA25_183 == 'r' ) {
-                                   return DFA25.this.s317;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s60  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_60 = input.LA( 1 );
-                               if ( LA25_60 == 'a' ) {
-                                   return DFA25.this.s183;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s722 = new DFA.State() {
-                           {
-                               this.alt = 35;
-                           }
-                       };
-        DFA.State s682 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_682 = input.LA( 1 );
-                               if ( LA25_682 == '$' || (LA25_682 >= '0' && LA25_682 <= '9') || (LA25_682 >= 'A' && LA25_682 <= 'Z') || LA25_682 == '_' || (LA25_682 >= 'a' && LA25_682 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s722;
-
-                           }
-                       };
-        DFA.State s621 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_621 = input.LA( 1 );
-                               if ( LA25_621 == 'e' ) {
-                                   return DFA25.this.s682;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s542 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_542 = input.LA( 1 );
-                               if ( LA25_542 == 'u' ) {
-                                   return DFA25.this.s621;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s442 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_442 = input.LA( 1 );
-                               if ( LA25_442 == 'n' ) {
-                                   return DFA25.this.s542;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s320 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_320 = input.LA( 1 );
-                               if ( LA25_320 == 'i' ) {
-                                   return DFA25.this.s442;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s186 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_186 = input.LA( 1 );
-                               if ( LA25_186 == 't' ) {
-                                   return DFA25.this.s320;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s61  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_61 = input.LA( 1 );
-                               if ( LA25_61 == 'n' ) {
-                                   return DFA25.this.s186;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s3   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'l' :
-                                       return DFA25.this.s58;
-
-                                   case 'a' :
-                                       return DFA25.this.s59;
-
-                                   case 'h' :
-                                       return DFA25.this.s60;
-
-                                   case 'o' :
-                                       return DFA25.this.s61;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s779 = new DFA.State() {
-                           {
-                               this.alt = 19;
-                           }
-                       };
-        DFA.State s776 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_776 = input.LA( 1 );
-                               if ( LA25_776 == '$' || (LA25_776 >= '0' && LA25_776 <= '9') || (LA25_776 >= 'A' && LA25_776 <= 'Z') || LA25_776 == '_' || (LA25_776 >= 'a' && LA25_776 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s779;
-
-                           }
-                       };
-        DFA.State s767 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_767 = input.LA( 1 );
-                               if ( LA25_767 == 'd' ) {
-                                   return DFA25.this.s776;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s749 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_749 = input.LA( 1 );
-                               if ( LA25_749 == 'e' ) {
-                                   return DFA25.this.s767;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s724 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_724 = input.LA( 1 );
-                               if ( LA25_724 == 'z' ) {
-                                   return DFA25.this.s749;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s685 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_685 = input.LA( 1 );
-                               if ( LA25_685 == 'i' ) {
-                                   return DFA25.this.s724;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s624 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_624 = input.LA( 1 );
-                               if ( LA25_624 == 'n' ) {
-                                   return DFA25.this.s685;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s545 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_545 = input.LA( 1 );
-                               if ( LA25_545 == 'o' ) {
-                                   return DFA25.this.s624;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s445 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_445 = input.LA( 1 );
-                               if ( LA25_445 == 'r' ) {
-                                   return DFA25.this.s545;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s323 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_323 = input.LA( 1 );
-                               if ( LA25_323 == 'h' ) {
-                                   return DFA25.this.s445;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s189 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_189 = input.LA( 1 );
-                               if ( LA25_189 == 'c' ) {
-                                   return DFA25.this.s323;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s64  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_64 = input.LA( 1 );
-                               if ( LA25_64 == 'n' ) {
-                                   return DFA25.this.s189;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s548 = new DFA.State() {
-                           {
-                               this.alt = 5;
-                           }
-                       };
-        DFA.State s448 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_448 = input.LA( 1 );
-                               if ( LA25_448 == '$' || (LA25_448 >= '0' && LA25_448 <= '9') || (LA25_448 >= 'A' && LA25_448 <= 'Z') || LA25_448 == '_' || (LA25_448 >= 'a' && LA25_448 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s548;
-
-                           }
-                       };
-        DFA.State s326 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_326 = input.LA( 1 );
-                               if ( LA25_326 == 't' ) {
-                                   return DFA25.this.s448;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s192 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_192 = input.LA( 1 );
-                               if ( LA25_192 == 'r' ) {
-                                   return DFA25.this.s326;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s65  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_65 = input.LA( 1 );
-                               if ( LA25_65 == 'o' ) {
-                                   return DFA25.this.s192;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s550 = new DFA.State() {
-                           {
-                               this.alt = 27;
-                           }
-                       };
-        DFA.State s451 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_451 = input.LA( 1 );
-                               if ( LA25_451 == '$' || (LA25_451 >= '0' && LA25_451 <= '9') || (LA25_451 >= 'A' && LA25_451 <= 'Z') || LA25_451 == '_' || (LA25_451 >= 'a' && LA25_451 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s550;
-
-                           }
-                       };
-        DFA.State s329 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_329 = input.LA( 1 );
-                               if ( LA25_329 == 'r' ) {
-                                   return DFA25.this.s451;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s195 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_195 = input.LA( 1 );
-                               if ( LA25_195 == 'e' ) {
-                                   return DFA25.this.s329;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s66  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_66 = input.LA( 1 );
-                               if ( LA25_66 == 'p' ) {
-                                   return DFA25.this.s195;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s727 = new DFA.State() {
-                           {
-                               this.alt = 21;
-                           }
-                       };
-        DFA.State s688 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_688 = input.LA( 1 );
-                               if ( LA25_688 == '$' || (LA25_688 >= '0' && LA25_688 <= '9') || (LA25_688 >= 'A' && LA25_688 <= 'Z') || LA25_688 == '_' || (LA25_688 >= 'a' && LA25_688 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s727;
-
-                           }
-                       };
-        DFA.State s627 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_627 = input.LA( 1 );
-                               if ( LA25_627 == 'p' ) {
-                                   return DFA25.this.s688;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s552 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_552 = input.LA( 1 );
-                               if ( LA25_552 == 'f' ) {
-                                   return DFA25.this.s627;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s454 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_454 = input.LA( 1 );
-                               if ( LA25_454 == 't' ) {
-                                   return DFA25.this.s552;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s332 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_332 = input.LA( 1 );
-                               if ( LA25_332 == 'c' ) {
-                                   return DFA25.this.s454;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s198 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_198 = input.LA( 1 );
-                               if ( LA25_198 == 'i' ) {
-                                   return DFA25.this.s332;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s630 = new DFA.State() {
-                           {
-                               this.alt = 13;
-                           }
-                       };
-        DFA.State s555 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_555 = input.LA( 1 );
-                               if ( LA25_555 == '$' || (LA25_555 >= '0' && LA25_555 <= '9') || (LA25_555 >= 'A' && LA25_555 <= 'Z') || LA25_555 == '_' || (LA25_555 >= 'a' && LA25_555 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s630;
-
-                           }
-                       };
-        DFA.State s457 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_457 = input.LA( 1 );
-                               if ( LA25_457 == 'c' ) {
-                                   return DFA25.this.s555;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s335 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_335 = input.LA( 1 );
-                               if ( LA25_335 == 'i' ) {
-                                   return DFA25.this.s457;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s199 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_199 = input.LA( 1 );
-                               if ( LA25_199 == 't' ) {
-                                   return DFA25.this.s335;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s67  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'r' :
-                                       return DFA25.this.s198;
-
-                                   case 'a' :
-                                       return DFA25.this.s199;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s632 = new DFA.State() {
-                           {
-                               this.alt = 37;
-                           }
-                       };
-        DFA.State s558 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_558 = input.LA( 1 );
-                               if ( LA25_558 == '$' || (LA25_558 >= '0' && LA25_558 <= '9') || (LA25_558 >= 'A' && LA25_558 <= 'Z') || LA25_558 == '_' || (LA25_558 >= 'a' && LA25_558 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s632;
-
-                           }
-                       };
-        DFA.State s460 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_460 = input.LA( 1 );
-                               if ( LA25_460 == 'h' ) {
-                                   return DFA25.this.s558;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s338 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_338 = input.LA( 1 );
-                               if ( LA25_338 == 'c' ) {
-                                   return DFA25.this.s460;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s202 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_202 = input.LA( 1 );
-                               if ( LA25_202 == 't' ) {
-                                   return DFA25.this.s338;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s68  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_68 = input.LA( 1 );
-                               if ( LA25_68 == 'i' ) {
-                                   return DFA25.this.s202;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s4   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'y' :
-                                       return DFA25.this.s64;
-
-                                   case 'h' :
-                                       return DFA25.this.s65;
-
-                                   case 'u' :
-                                       return DFA25.this.s66;
-
-                                   case 't' :
-                                       return DFA25.this.s67;
-
-                                   case 'w' :
-                                       return DFA25.this.s68;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s752 = new DFA.State() {
-                           {
-                               this.alt = 24;
-                           }
-                       };
-        DFA.State s729 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_729 = input.LA( 1 );
-                               if ( LA25_729 == '$' || (LA25_729 >= '0' && LA25_729 <= '9') || (LA25_729 >= 'A' && LA25_729 <= 'Z') || LA25_729 == '_' || (LA25_729 >= 'a' && LA25_729 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s752;
-
-                           }
-                       };
-        DFA.State s691 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_691 = input.LA( 1 );
-                               if ( LA25_691 == 'e' ) {
-                                   return DFA25.this.s729;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s634 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_634 = input.LA( 1 );
-                               if ( LA25_634 == 'c' ) {
-                                   return DFA25.this.s691;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s561 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_561 = input.LA( 1 );
-                               if ( LA25_561 == 'a' ) {
-                                   return DFA25.this.s634;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s463 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_463 = input.LA( 1 );
-                               if ( LA25_463 == 'f' ) {
-                                   return DFA25.this.s561;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s341 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_341 = input.LA( 1 );
-                               if ( LA25_341 == 'r' ) {
-                                   return DFA25.this.s463;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s342 = new DFA.State() {
-                           {
-                               this.alt = 6;
-                           }
-                       };
-        DFA.State s205 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'e' :
-                                       return DFA25.this.s341;
-
-                                   case '$' :
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                   case 'A' :
-                                   case 'B' :
-                                   case 'C' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'G' :
-                                   case 'H' :
-                                   case 'I' :
-                                   case 'J' :
-                                   case 'K' :
-                                   case 'L' :
-                                   case 'M' :
-                                   case 'N' :
-                                   case 'O' :
-                                   case 'P' :
-                                   case 'Q' :
-                                   case 'R' :
-                                   case 'S' :
-                                   case 'T' :
-                                   case 'U' :
-                                   case 'V' :
-                                   case 'W' :
-                                   case 'X' :
-                                   case 'Y' :
-                                   case 'Z' :
-                                   case '_' :
-                                   case 'a' :
-                                   case 'b' :
-                                   case 'c' :
-                                   case 'd' :
-                                   case 'f' :
-                                   case 'g' :
-                                   case 'h' :
-                                   case 'i' :
-                                   case 'j' :
-                                   case 'k' :
-                                   case 'l' :
-                                   case 'm' :
-                                   case 'n' :
-                                   case 'o' :
-                                   case 'p' :
-                                   case 'q' :
-                                   case 'r' :
-                                   case 's' :
-                                   case 't' :
-                                   case 'u' :
-                                   case 'v' :
-                                   case 'w' :
-                                   case 'x' :
-                                   case 'y' :
-                                   case 'z' :
-                                       return DFA25.this.s45;
-
-                                   default :
-                                       return DFA25.this.s342;
-                               }
-                           }
-                       };
-        DFA.State s770 = new DFA.State() {
-                           {
-                               this.alt = 44;
-                           }
-                       };
-        DFA.State s754 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_754 = input.LA( 1 );
-                               if ( LA25_754 == '$' || (LA25_754 >= '0' && LA25_754 <= '9') || (LA25_754 >= 'A' && LA25_754 <= 'Z') || LA25_754 == '_' || (LA25_754 >= 'a' && LA25_754 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s770;
-
-                           }
-                       };
-        DFA.State s732 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_732 = input.LA( 1 );
-                               if ( LA25_732 == 'f' ) {
-                                   return DFA25.this.s754;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s694 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_694 = input.LA( 1 );
-                               if ( LA25_694 == 'o' ) {
-                                   return DFA25.this.s732;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s637 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_637 = input.LA( 1 );
-                               if ( LA25_637 == 'e' ) {
-                                   return DFA25.this.s694;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s564 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_564 = input.LA( 1 );
-                               if ( LA25_564 == 'c' ) {
-                                   return DFA25.this.s637;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s466 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_466 = input.LA( 1 );
-                               if ( LA25_466 == 'n' ) {
-                                   return DFA25.this.s564;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s344 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_344 = input.LA( 1 );
-                               if ( LA25_344 == 'a' ) {
-                                   return DFA25.this.s466;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s206 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_206 = input.LA( 1 );
-                               if ( LA25_206 == 't' ) {
-                                   return DFA25.this.s344;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s71  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 't' :
-                                       return DFA25.this.s205;
-
-                                   case 's' :
-                                       return DFA25.this.s206;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s772 = new DFA.State() {
-                           {
-                               this.alt = 25;
-                           }
-                       };
-        DFA.State s757 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_757 = input.LA( 1 );
-                               if ( LA25_757 == '$' || (LA25_757 >= '0' && LA25_757 <= '9') || (LA25_757 >= 'A' && LA25_757 <= 'Z') || LA25_757 == '_' || (LA25_757 >= 'a' && LA25_757 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s772;
-
-                           }
-                       };
-        DFA.State s735 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_735 = input.LA( 1 );
-                               if ( LA25_735 == 's' ) {
-                                   return DFA25.this.s757;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s697 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_697 = input.LA( 1 );
-                               if ( LA25_697 == 't' ) {
-                                   return DFA25.this.s735;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s640 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_640 = input.LA( 1 );
-                               if ( LA25_640 == 'n' ) {
-                                   return DFA25.this.s697;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s567 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_567 = input.LA( 1 );
-                               if ( LA25_567 == 'e' ) {
-                                   return DFA25.this.s640;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s469 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_469 = input.LA( 1 );
-                               if ( LA25_469 == 'm' ) {
-                                   return DFA25.this.s567;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s347 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_347 = input.LA( 1 );
-                               if ( LA25_347 == 'e' ) {
-                                   return DFA25.this.s469;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s209 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_209 = input.LA( 1 );
-                               if ( LA25_209 == 'l' ) {
-                                   return DFA25.this.s347;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s72  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_72 = input.LA( 1 );
-                               if ( LA25_72 == 'p' ) {
-                                   return DFA25.this.s209;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s212 = new DFA.State() {
-                           {
-                               this.alt = 29;
-                           }
-                       };
-        DFA.State s73  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_73 = input.LA( 1 );
-                               if ( LA25_73 == '$' || (LA25_73 >= '0' && LA25_73 <= '9') || (LA25_73 >= 'A' && LA25_73 <= 'Z') || LA25_73 == '_' || (LA25_73 >= 'a' && LA25_73 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s212;
-
-                           }
-                       };
-        DFA.State s5   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'n' :
-                                       return DFA25.this.s71;
-
-                                   case 'm' :
-                                       return DFA25.this.s72;
-
-                                   case 'f' :
-                                       return DFA25.this.s73;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s700 = new DFA.State() {
-                           {
-                               this.alt = 42;
-                           }
-                       };
-        DFA.State s643 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_643 = input.LA( 1 );
-                               if ( LA25_643 == '$' || (LA25_643 >= '0' && LA25_643 <= '9') || (LA25_643 >= 'A' && LA25_643 <= 'Z') || LA25_643 == '_' || (LA25_643 >= 'a' && LA25_643 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s700;
-
-                           }
-                       };
-        DFA.State s570 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_570 = input.LA( 1 );
-                               if ( LA25_570 == 'y' ) {
-                                   return DFA25.this.s643;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s571 = new DFA.State() {
-                           {
-                               this.alt = 15;
-                           }
-                       };
-        DFA.State s472 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'l' :
-                                       return DFA25.this.s570;
-
-                                   case '$' :
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                   case 'A' :
-                                   case 'B' :
-                                   case 'C' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'G' :
-                                   case 'H' :
-                                   case 'I' :
-                                   case 'J' :
-                                   case 'K' :
-                                   case 'L' :
-                                   case 'M' :
-                                   case 'N' :
-                                   case 'O' :
-                                   case 'P' :
-                                   case 'Q' :
-                                   case 'R' :
-                                   case 'S' :
-                                   case 'T' :
-                                   case 'U' :
-                                   case 'V' :
-                                   case 'W' :
-                                   case 'X' :
-                                   case 'Y' :
-                                   case 'Z' :
-                                   case '_' :
-                                   case 'a' :
-                                   case 'b' :
-                                   case 'c' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                   case 'g' :
-                                   case 'h' :
-                                   case 'i' :
-                                   case 'j' :
-                                   case 'k' :
-                                   case 'm' :
-                                   case 'n' :
-                                   case 'o' :
-                                   case 'p' :
-                                   case 'q' :
-                                   case 'r' :
-                                   case 's' :
-                                   case 't' :
-                                   case 'u' :
-                                   case 'v' :
-                                   case 'w' :
-                                   case 'x' :
-                                   case 'y' :
-                                   case 'z' :
-                                       return DFA25.this.s45;
-
-                                   default :
-                                       return DFA25.this.s571;
-                               }
-                           }
-                       };
-        DFA.State s350 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_350 = input.LA( 1 );
-                               if ( LA25_350 == 'l' ) {
-                                   return DFA25.this.s472;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s214 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_214 = input.LA( 1 );
-                               if ( LA25_214 == 'a' ) {
-                                   return DFA25.this.s350;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s76  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_76 = input.LA( 1 );
-                               if ( LA25_76 == 'n' ) {
-                                   return DFA25.this.s214;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s573 = new DFA.State() {
-                           {
-                               this.alt = 46;
-                           }
-                       };
-        DFA.State s475 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_475 = input.LA( 1 );
-                               if ( LA25_475 == '$' || (LA25_475 >= '0' && LA25_475 <= '9') || (LA25_475 >= 'A' && LA25_475 <= 'Z') || LA25_475 == '_' || (LA25_475 >= 'a' && LA25_475 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s573;
-
-                           }
-                       };
-        DFA.State s353 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_353 = input.LA( 1 );
-                               if ( LA25_353 == 'e' ) {
-                                   return DFA25.this.s475;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s217 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_217 = input.LA( 1 );
-                               if ( LA25_217 == 's' ) {
-                                   return DFA25.this.s353;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s77  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_77 = input.LA( 1 );
-                               if ( LA25_77 == 'l' ) {
-                                   return DFA25.this.s217;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s575 = new DFA.State() {
-                           {
-                               this.alt = 7;
-                           }
-                       };
-        DFA.State s478 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_478 = input.LA( 1 );
-                               if ( LA25_478 == '$' || (LA25_478 >= '0' && LA25_478 <= '9') || (LA25_478 >= 'A' && LA25_478 <= 'Z') || LA25_478 == '_' || (LA25_478 >= 'a' && LA25_478 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s575;
-
-                           }
-                       };
-        DFA.State s356 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_356 = input.LA( 1 );
-                               if ( LA25_356 == 't' ) {
-                                   return DFA25.this.s478;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s220 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_220 = input.LA( 1 );
-                               if ( LA25_220 == 'a' ) {
-                                   return DFA25.this.s356;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s78  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_78 = input.LA( 1 );
-                               if ( LA25_78 == 'o' ) {
-                                   return DFA25.this.s220;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s359 = new DFA.State() {
-                           {
-                               this.alt = 31;
-                           }
-                       };
-        DFA.State s223 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_223 = input.LA( 1 );
-                               if ( LA25_223 == '$' || (LA25_223 >= '0' && LA25_223 <= '9') || (LA25_223 >= 'A' && LA25_223 <= 'Z') || LA25_223 == '_' || (LA25_223 >= 'a' && LA25_223 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s359;
-
-                           }
-                       };
-        DFA.State s79  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_79 = input.LA( 1 );
-                               if ( LA25_79 == 'r' ) {
-                                   return DFA25.this.s223;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s6   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'i' :
-                                       return DFA25.this.s76;
-
-                                   case 'a' :
-                                       return DFA25.this.s77;
-
-                                   case 'l' :
-                                       return DFA25.this.s78;
-
-                                   case 'o' :
-                                       return DFA25.this.s79;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s481 = new DFA.State() {
-                           {
-                               this.alt = 8;
-                           }
-                       };
-        DFA.State s361 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_361 = input.LA( 1 );
-                               if ( LA25_361 == '$' || (LA25_361 >= '0' && LA25_361 <= '9') || (LA25_361 >= 'A' && LA25_361 <= 'Z') || LA25_361 == '_' || (LA25_361 >= 'a' && LA25_361 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s481;
-
-                           }
-                       };
-        DFA.State s226 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_226 = input.LA( 1 );
-                               if ( LA25_226 == 'g' ) {
-                                   return DFA25.this.s361;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s82  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_82 = input.LA( 1 );
-                               if ( LA25_82 == 'n' ) {
-                                   return DFA25.this.s226;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s7   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_7 = input.LA( 1 );
-                               if ( LA25_7 == 'o' ) {
-                                   return DFA25.this.s82;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s702 = new DFA.State() {
-                           {
-                               this.alt = 40;
-                           }
-                       };
-        DFA.State s646 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_646 = input.LA( 1 );
-                               if ( LA25_646 == '$' || (LA25_646 >= '0' && LA25_646 <= '9') || (LA25_646 >= 'A' && LA25_646 <= 'Z') || LA25_646 == '_' || (LA25_646 >= 'a' && LA25_646 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s702;
-
-                           }
-                       };
-        DFA.State s577 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_577 = input.LA( 1 );
-                               if ( LA25_577 == 't' ) {
-                                   return DFA25.this.s646;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s483 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_483 = input.LA( 1 );
-                               if ( LA25_483 == 'l' ) {
-                                   return DFA25.this.s577;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s364 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_364 = input.LA( 1 );
-                               if ( LA25_364 == 'u' ) {
-                                   return DFA25.this.s483;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s229 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_229 = input.LA( 1 );
-                               if ( LA25_229 == 'a' ) {
-                                   return DFA25.this.s364;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s85  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_85 = input.LA( 1 );
-                               if ( LA25_85 == 'f' ) {
-                                   return DFA25.this.s229;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s649 = new DFA.State() {
-                           {
-                               this.alt = 9;
-                           }
-                       };
-        DFA.State s580 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_580 = input.LA( 1 );
-                               if ( LA25_580 == '$' || (LA25_580 >= '0' && LA25_580 <= '9') || (LA25_580 >= 'A' && LA25_580 <= 'Z') || LA25_580 == '_' || (LA25_580 >= 'a' && LA25_580 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s649;
-
-                           }
-                       };
-        DFA.State s486 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_486 = input.LA( 1 );
-                               if ( LA25_486 == 'e' ) {
-                                   return DFA25.this.s580;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s367 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_367 = input.LA( 1 );
-                               if ( LA25_367 == 'l' ) {
-                                   return DFA25.this.s486;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s232 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_232 = input.LA( 1 );
-                               if ( LA25_232 == 'b' ) {
-                                   return DFA25.this.s367;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s233 = new DFA.State() {
-                           {
-                               this.alt = 33;
-                           }
-                       };
-        DFA.State s86  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'u' :
-                                       return DFA25.this.s232;
-
-                                   case '$' :
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                   case 'A' :
-                                   case 'B' :
-                                   case 'C' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'G' :
-                                   case 'H' :
-                                   case 'I' :
-                                   case 'J' :
-                                   case 'K' :
-                                   case 'L' :
-                                   case 'M' :
-                                   case 'N' :
-                                   case 'O' :
-                                   case 'P' :
-                                   case 'Q' :
-                                   case 'R' :
-                                   case 'S' :
-                                   case 'T' :
-                                   case 'U' :
-                                   case 'V' :
-                                   case 'W' :
-                                   case 'X' :
-                                   case 'Y' :
-                                   case 'Z' :
-                                   case '_' :
-                                   case 'a' :
-                                   case 'b' :
-                                   case 'c' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                   case 'g' :
-                                   case 'h' :
-                                   case 'i' :
-                                   case 'j' :
-                                   case 'k' :
-                                   case 'l' :
-                                   case 'm' :
-                                   case 'n' :
-                                   case 'o' :
-                                   case 'p' :
-                                   case 'q' :
-                                   case 'r' :
-                                   case 's' :
-                                   case 't' :
-                                   case 'v' :
-                                   case 'w' :
-                                   case 'x' :
-                                   case 'y' :
-                                   case 'z' :
-                                       return DFA25.this.s45;
-
-                                   default :
-                                       return DFA25.this.s233;
-                               }
-                           }
-                       };
-        DFA.State s8   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'e' :
-                                       return DFA25.this.s85;
-
-                                   case 'o' :
-                                       return DFA25.this.s86;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s651 = new DFA.State() {
-                           {
-                               this.alt = 11;
-                           }
-                       };
-        DFA.State s583 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_583 = input.LA( 1 );
-                               if ( LA25_583 == '$' || (LA25_583 >= '0' && LA25_583 <= '9') || (LA25_583 >= 'A' && LA25_583 <= 'Z') || LA25_583 == '_' || (LA25_583 >= 'a' && LA25_583 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s651;
-
-                           }
-                       };
-        DFA.State s489 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_489 = input.LA( 1 );
-                               if ( LA25_489 == 'c' ) {
-                                   return DFA25.this.s583;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s370 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_370 = input.LA( 1 );
-                               if ( LA25_370 == 'i' ) {
-                                   return DFA25.this.s489;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s235 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_235 = input.LA( 1 );
-                               if ( LA25_235 == 'l' ) {
-                                   return DFA25.this.s370;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s89  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_89 = input.LA( 1 );
-                               if ( LA25_89 == 'b' ) {
-                                   return DFA25.this.s235;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s704 = new DFA.State() {
-                           {
-                               this.alt = 10;
-                           }
-                       };
-        DFA.State s653 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_653 = input.LA( 1 );
-                               if ( LA25_653 == '$' || (LA25_653 >= '0' && LA25_653 <= '9') || (LA25_653 >= 'A' && LA25_653 <= 'Z') || LA25_653 == '_' || (LA25_653 >= 'a' && LA25_653 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s704;
-
-                           }
-                       };
-        DFA.State s586 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_586 = input.LA( 1 );
-                               if ( LA25_586 == 'e' ) {
-                                   return DFA25.this.s653;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s492 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_492 = input.LA( 1 );
-                               if ( LA25_492 == 't' ) {
-                                   return DFA25.this.s586;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s373 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_373 = input.LA( 1 );
-                               if ( LA25_373 == 'a' ) {
-                                   return DFA25.this.s492;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s238 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_238 = input.LA( 1 );
-                               if ( LA25_238 == 'v' ) {
-                                   return DFA25.this.s373;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s760 = new DFA.State() {
-                           {
-                               this.alt = 12;
-                           }
-                       };
-        DFA.State s738 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_738 = input.LA( 1 );
-                               if ( LA25_738 == '$' || (LA25_738 >= '0' && LA25_738 <= '9') || (LA25_738 >= 'A' && LA25_738 <= 'Z') || LA25_738 == '_' || (LA25_738 >= 'a' && LA25_738 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s760;
-
-                           }
-                       };
-        DFA.State s706 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_706 = input.LA( 1 );
-                               if ( LA25_706 == 'd' ) {
-                                   return DFA25.this.s738;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s656 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_656 = input.LA( 1 );
-                               if ( LA25_656 == 'e' ) {
-                                   return DFA25.this.s706;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s589 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_589 = input.LA( 1 );
-                               if ( LA25_589 == 't' ) {
-                                   return DFA25.this.s656;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s495 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_495 = input.LA( 1 );
-                               if ( LA25_495 == 'c' ) {
-                                   return DFA25.this.s589;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s376 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_376 = input.LA( 1 );
-                               if ( LA25_376 == 'e' ) {
-                                   return DFA25.this.s495;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s239 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_239 = input.LA( 1 );
-                               if ( LA25_239 == 't' ) {
-                                   return DFA25.this.s376;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s90  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'i' :
-                                       return DFA25.this.s238;
-
-                                   case 'o' :
-                                       return DFA25.this.s239;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s9   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'u' :
-                                       return DFA25.this.s89;
-
-                                   case 'r' :
-                                       return DFA25.this.s90;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s659 = new DFA.State() {
-                           {
-                               this.alt = 28;
-                           }
-                       };
-        DFA.State s592 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_592 = input.LA( 1 );
-                               if ( LA25_592 == '$' || (LA25_592 >= '0' && LA25_592 <= '9') || (LA25_592 >= 'A' && LA25_592 <= 'Z') || LA25_592 == '_' || (LA25_592 >= 'a' && LA25_592 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s659;
-
-                           }
-                       };
-        DFA.State s593 = new DFA.State() {
-                           {
-                               this.alt = 38;
-                           }
-                       };
-        DFA.State s498 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 's' :
-                                       return DFA25.this.s592;
-
-                                   case '$' :
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                   case 'A' :
-                                   case 'B' :
-                                   case 'C' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'G' :
-                                   case 'H' :
-                                   case 'I' :
-                                   case 'J' :
-                                   case 'K' :
-                                   case 'L' :
-                                   case 'M' :
-                                   case 'N' :
-                                   case 'O' :
-                                   case 'P' :
-                                   case 'Q' :
-                                   case 'R' :
-                                   case 'S' :
-                                   case 'T' :
-                                   case 'U' :
-                                   case 'V' :
-                                   case 'W' :
-                                   case 'X' :
-                                   case 'Y' :
-                                   case 'Z' :
-                                   case '_' :
-                                   case 'a' :
-                                   case 'b' :
-                                   case 'c' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                   case 'g' :
-                                   case 'h' :
-                                   case 'i' :
-                                   case 'j' :
-                                   case 'k' :
-                                   case 'l' :
-                                   case 'm' :
-                                   case 'n' :
-                                   case 'o' :
-                                   case 'p' :
-                                   case 'q' :
-                                   case 'r' :
-                                   case 't' :
-                                   case 'u' :
-                                   case 'v' :
-                                   case 'w' :
-                                   case 'x' :
-                                   case 'y' :
-                                   case 'z' :
-                                       return DFA25.this.s45;
-
-                                   default :
-                                       return DFA25.this.s593;
-                               }
-                           }
-                       };
-        DFA.State s379 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_379 = input.LA( 1 );
-                               if ( LA25_379 == 'w' ) {
-                                   return DFA25.this.s498;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s774 = new DFA.State() {
-                           {
-                               this.alt = 18;
-                           }
-                       };
-        DFA.State s762 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_762 = input.LA( 1 );
-                               if ( LA25_762 == '$' || (LA25_762 >= '0' && LA25_762 <= '9') || (LA25_762 >= 'A' && LA25_762 <= 'Z') || LA25_762 == '_' || (LA25_762 >= 'a' && LA25_762 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s774;
-
-                           }
-                       };
-        DFA.State s741 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_741 = input.LA( 1 );
-                               if ( LA25_741 == 'e' ) {
-                                   return DFA25.this.s762;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s709 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_709 = input.LA( 1 );
-                               if ( LA25_709 == 'f' ) {
-                                   return DFA25.this.s741;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s661 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_661 = input.LA( 1 );
-                               if ( LA25_661 == 'a' ) {
-                                   return DFA25.this.s709;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s595 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_595 = input.LA( 1 );
-                               if ( LA25_595 == 's' ) {
-                                   return DFA25.this.s661;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s501 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_501 = input.LA( 1 );
-                               if ( LA25_501 == 'd' ) {
-                                   return DFA25.this.s595;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s380 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_380 = input.LA( 1 );
-                               if ( LA25_380 == 'a' ) {
-                                   return DFA25.this.s501;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s242 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'o' :
-                                       return DFA25.this.s379;
-
-                                   case 'e' :
-                                       return DFA25.this.s380;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s504 = new DFA.State() {
-                           {
-                               this.alt = 26;
-                           }
-                       };
-        DFA.State s383 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_383 = input.LA( 1 );
-                               if ( LA25_383 == '$' || (LA25_383 >= '0' && LA25_383 <= '9') || (LA25_383 >= 'A' && LA25_383 <= 'Z') || LA25_383 == '_' || (LA25_383 >= 'a' && LA25_383 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s504;
-
-                           }
-                       };
-        DFA.State s243 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_243 = input.LA( 1 );
-                               if ( LA25_243 == 's' ) {
-                                   return DFA25.this.s383;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s93  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'r' :
-                                       return DFA25.this.s242;
-
-                                   case 'i' :
-                                       return DFA25.this.s243;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s765 = new DFA.State() {
-                           {
-                               this.alt = 14;
-                           }
-                       };
-        DFA.State s744 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_744 = input.LA( 1 );
-                               if ( LA25_744 == '$' || (LA25_744 >= '0' && LA25_744 <= '9') || (LA25_744 >= 'A' && LA25_744 <= 'Z') || LA25_744 == '_' || (LA25_744 >= 'a' && LA25_744 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s765;
-
-                           }
-                       };
-        DFA.State s712 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_712 = input.LA( 1 );
-                               if ( LA25_712 == 't' ) {
-                                   return DFA25.this.s744;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s664 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_664 = input.LA( 1 );
-                               if ( LA25_664 == 'n' ) {
-                                   return DFA25.this.s712;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s598 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_598 = input.LA( 1 );
-                               if ( LA25_598 == 'e' ) {
-                                   return DFA25.this.s664;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s506 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_506 = input.LA( 1 );
-                               if ( LA25_506 == 'i' ) {
-                                   return DFA25.this.s598;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s386 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_386 = input.LA( 1 );
-                               if ( LA25_386 == 's' ) {
-                                   return DFA25.this.s506;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s246 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_246 = input.LA( 1 );
-                               if ( LA25_246 == 'n' ) {
-                                   return DFA25.this.s386;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s389 = new DFA.State() {
-                           {
-                               this.alt = 41;
-                           }
-                       };
-        DFA.State s247 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_247 = input.LA( 1 );
-                               if ( LA25_247 == '$' || (LA25_247 >= '0' && LA25_247 <= '9') || (LA25_247 >= 'A' && LA25_247 <= 'Z') || LA25_247 == '_' || (LA25_247 >= 'a' && LA25_247 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s389;
-
-                           }
-                       };
-        DFA.State s509 = new DFA.State() {
-                           {
-                               this.alt = 45;
-                           }
-                       };
-        DFA.State s391 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_391 = input.LA( 1 );
-                               if ( LA25_391 == '$' || (LA25_391 >= '0' && LA25_391 <= '9') || (LA25_391 >= 'A' && LA25_391 <= 'Z') || LA25_391 == '_' || (LA25_391 >= 'a' && LA25_391 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s509;
-
-                           }
-                       };
-        DFA.State s248 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_248 = input.LA( 1 );
-                               if ( LA25_248 == 'e' ) {
-                                   return DFA25.this.s391;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s94  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'a' :
-                                       return DFA25.this.s246;
-
-                                   case 'y' :
-                                       return DFA25.this.s247;
-
-                                   case 'u' :
-                                       return DFA25.this.s248;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s10  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'h' :
-                                       return DFA25.this.s93;
-
-                                   case 'r' :
-                                       return DFA25.this.s94;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s747 = new DFA.State() {
-                           {
-                               this.alt = 16;
-                           }
-                       };
-        DFA.State s715 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_715 = input.LA( 1 );
-                               if ( LA25_715 == '$' || (LA25_715 >= '0' && LA25_715 <= '9') || (LA25_715 >= 'A' && LA25_715 <= 'Z') || LA25_715 == '_' || (LA25_715 >= 'a' && LA25_715 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s747;
-
-                           }
-                       };
-        DFA.State s667 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_667 = input.LA( 1 );
-                               if ( LA25_667 == 't' ) {
-                                   return DFA25.this.s715;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s601 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_601 = input.LA( 1 );
-                               if ( LA25_601 == 'c' ) {
-                                   return DFA25.this.s667;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s511 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_511 = input.LA( 1 );
-                               if ( LA25_511 == 'a' ) {
-                                   return DFA25.this.s601;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s394 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_394 = input.LA( 1 );
-                               if ( LA25_394 == 'r' ) {
-                                   return DFA25.this.s511;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s251 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_251 = input.LA( 1 );
-                               if ( LA25_251 == 't' ) {
-                                   return DFA25.this.s394;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s97  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_97 = input.LA( 1 );
-                               if ( LA25_97 == 's' ) {
-                                   return DFA25.this.s251;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s11  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_11 = input.LA( 1 );
-                               if ( LA25_11 == 'b' ) {
-                                   return DFA25.this.s97;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s397 = new DFA.State() {
-                           {
-                               this.alt = 48;
-                           }
-                       };
-        DFA.State s254 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_254 = input.LA( 1 );
-                               if ( LA25_254 == '$' || (LA25_254 >= '0' && LA25_254 <= '9') || (LA25_254 >= 'A' && LA25_254 <= 'Z') || LA25_254 == '_' || (LA25_254 >= 'a' && LA25_254 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s397;
-
-                           }
-                       };
-        DFA.State s100 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_100 = input.LA( 1 );
-                               if ( LA25_100 == 'w' ) {
-                                   return DFA25.this.s254;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s670 = new DFA.State() {
-                           {
-                               this.alt = 17;
-                           }
-                       };
-        DFA.State s604 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_604 = input.LA( 1 );
-                               if ( LA25_604 == '$' || (LA25_604 >= '0' && LA25_604 <= '9') || (LA25_604 >= 'A' && LA25_604 <= 'Z') || LA25_604 == '_' || (LA25_604 >= 'a' && LA25_604 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s670;
-
-                           }
-                       };
-        DFA.State s514 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_514 = input.LA( 1 );
-                               if ( LA25_514 == 'e' ) {
-                                   return DFA25.this.s604;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s399 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_399 = input.LA( 1 );
-                               if ( LA25_399 == 'v' ) {
-                                   return DFA25.this.s514;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s257 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_257 = input.LA( 1 );
-                               if ( LA25_257 == 'i' ) {
-                                   return DFA25.this.s399;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s101 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_101 = input.LA( 1 );
-                               if ( LA25_101 == 't' ) {
-                                   return DFA25.this.s257;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s517 = new DFA.State() {
-                           {
-                               this.alt = 47;
-                           }
-                       };
-        DFA.State s402 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_402 = input.LA( 1 );
-                               if ( LA25_402 == '$' || (LA25_402 >= '0' && LA25_402 <= '9') || (LA25_402 >= 'A' && LA25_402 <= 'Z') || LA25_402 == '_' || (LA25_402 >= 'a' && LA25_402 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s517;
-
-                           }
-                       };
-        DFA.State s260 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_260 = input.LA( 1 );
-                               if ( LA25_260 == 'l' ) {
-                                   return DFA25.this.s402;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s102 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_102 = input.LA( 1 );
-                               if ( LA25_102 == 'l' ) {
-                                   return DFA25.this.s260;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s12  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'e' :
-                                       return DFA25.this.s100;
-
-                                   case 'a' :
-                                       return DFA25.this.s101;
-
-                                   case 'u' :
-                                       return DFA25.this.s102;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s718 = new DFA.State() {
-                           {
-                               this.alt = 23;
-                           }
-                       };
-        DFA.State s672 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_672 = input.LA( 1 );
-                               if ( LA25_672 == '$' || (LA25_672 >= '0' && LA25_672 <= '9') || (LA25_672 >= 'A' && LA25_672 <= 'Z') || LA25_672 == '_' || (LA25_672 >= 'a' && LA25_672 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s718;
-
-                           }
-                       };
-        DFA.State s607 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_607 = input.LA( 1 );
-                               if ( LA25_607 == 's' ) {
-                                   return DFA25.this.s672;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s519 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_519 = input.LA( 1 );
-                               if ( LA25_519 == 'd' ) {
-                                   return DFA25.this.s607;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s405 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_405 = input.LA( 1 );
-                               if ( LA25_405 == 'n' ) {
-                                   return DFA25.this.s519;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s263 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_263 = input.LA( 1 );
-                               if ( LA25_263 == 'e' ) {
-                                   return DFA25.this.s405;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s105 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_105 = input.LA( 1 );
-                               if ( LA25_105 == 't' ) {
-                                   return DFA25.this.s263;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s522 = new DFA.State() {
-                           {
-                               this.alt = 30;
-                           }
-                       };
-        DFA.State s408 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_408 = input.LA( 1 );
-                               if ( LA25_408 == '$' || (LA25_408 >= '0' && LA25_408 <= '9') || (LA25_408 >= 'A' && LA25_408 <= 'Z') || LA25_408 == '_' || (LA25_408 >= 'a' && LA25_408 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s522;
-
-                           }
-                       };
-        DFA.State s266 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_266 = input.LA( 1 );
-                               if ( LA25_266 == 'e' ) {
-                                   return DFA25.this.s408;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s106 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_106 = input.LA( 1 );
-                               if ( LA25_106 == 's' ) {
-                                   return DFA25.this.s266;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s13  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'x' :
-                                       return DFA25.this.s105;
-
-                                   case 'l' :
-                                       return DFA25.this.s106;
-
-                                   default :
-                                       return DFA25.this.s45;
-                               }
-                           }
-                       };
-        DFA.State s610 = new DFA.State() {
-                           {
-                               this.alt = 32;
-                           }
-                       };
-        DFA.State s524 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_524 = input.LA( 1 );
-                               if ( LA25_524 == '$' || (LA25_524 >= '0' && LA25_524 <= '9') || (LA25_524 >= 'A' && LA25_524 <= 'Z') || LA25_524 == '_' || (LA25_524 >= 'a' && LA25_524 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s610;
-
-                           }
-                       };
-        DFA.State s411 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_411 = input.LA( 1 );
-                               if ( LA25_411 == 'e' ) {
-                                   return DFA25.this.s524;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s269 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_269 = input.LA( 1 );
-                               if ( LA25_269 == 'l' ) {
-                                   return DFA25.this.s411;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s109 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_109 = input.LA( 1 );
-                               if ( LA25_109 == 'i' ) {
-                                   return DFA25.this.s269;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s14  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_14 = input.LA( 1 );
-                               if ( LA25_14 == 'h' ) {
-                                   return DFA25.this.s109;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s675 = new DFA.State() {
-                           {
-                               this.alt = 36;
-                           }
-                       };
-        DFA.State s612 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_612 = input.LA( 1 );
-                               if ( LA25_612 == '$' || (LA25_612 >= '0' && LA25_612 <= '9') || (LA25_612 >= 'A' && LA25_612 <= 'Z') || LA25_612 == '_' || (LA25_612 >= 'a' && LA25_612 <= 'z') ) {
-                                   return DFA25.this.s45;
-                               }
-                               return DFA25.this.s675;
-
-                           }
-                       };
-        DFA.State s527 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_527 = input.LA( 1 );
-                               if ( LA25_527 == 'n' ) {
-                                   return DFA25.this.s612;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s414 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_414 = input.LA( 1 );
-                               if ( LA25_414 == 'r' ) {
-                                   return DFA25.this.s527;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s272 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_272 = input.LA( 1 );
-                               if ( LA25_272 == 'u' ) {
-                                   return DFA25.this.s414;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s112 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_112 = input.LA( 1 );
-                               if ( LA25_112 == 't' ) {
-                                   return DFA25.this.s272;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s15  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_15 = input.LA( 1 );
-                               if ( LA25_15 == 'e' ) {
-                                   return DFA25.this.s112;
-                               }
-                               return DFA25.this.s45;
-
-                           }
-                       };
-        DFA.State s16  = new DFA.State() {
-                           {
-                               this.alt = 49;
-                           }
-                       };
-        DFA.State s17  = new DFA.State() {
-                           {
-                               this.alt = 50;
-                           }
-                       };
-        DFA.State s18  = new DFA.State() {
-                           {
-                               this.alt = 51;
-                           }
-                       };
-        DFA.State s19  = new DFA.State() {
-                           {
-                               this.alt = 52;
-                           }
-                       };
-        DFA.State s20  = new DFA.State() {
-                           {
-                               this.alt = 53;
-                           }
-                       };
-        DFA.State s21  = new DFA.State() {
-                           {
-                               this.alt = 54;
-                           }
-                       };
-        DFA.State s22  = new DFA.State() {
-                           {
-                               this.alt = 55;
-                           }
-                       };
-        DFA.State s23  = new DFA.State() {
-                           {
-                               this.alt = 56;
-                           }
-                       };
-        DFA.State s24  = new DFA.State() {
-                           {
-                               this.alt = 57;
-                           }
-                       };
-        DFA.State s115 = new DFA.State() {
-                           {
-                               this.alt = 100;
-                           }
-                       };
-        DFA.State s116 = new DFA.State() {
-                           {
-                               this.alt = 58;
-                           }
-                       };
-        DFA.State s25  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_25 = input.LA( 1 );
-                               if ( (LA25_25 >= '0' && LA25_25 <= '9') ) {
-                                   return DFA25.this.s115;
-                               }
-                               return DFA25.this.s116;
-
-                           }
-                       };
-        DFA.State s117 = new DFA.State() {
-                           {
-                               this.alt = 60;
-                           }
-                       };
-        DFA.State s118 = new DFA.State() {
-                           {
-                               this.alt = 59;
-                           }
-                       };
-        DFA.State s26  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_26 = input.LA( 1 );
-                               if ( LA25_26 == '=' ) {
-                                   return DFA25.this.s117;
-                               }
-                               return DFA25.this.s118;
-
-                           }
-                       };
-        DFA.State s119 = new DFA.State() {
-                           {
-                               this.alt = 63;
-                           }
-                       };
-        DFA.State s120 = new DFA.State() {
-                           {
-                               this.alt = 61;
-                           }
-                       };
-        DFA.State s27  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_27 = input.LA( 1 );
-                               if ( LA25_27 == '=' ) {
-                                   return DFA25.this.s119;
-                               }
-                               return DFA25.this.s120;
-
-                           }
-                       };
-        DFA.State s28  = new DFA.State() {
-                           {
-                               this.alt = 62;
-                           }
-                       };
-        DFA.State s121 = new DFA.State() {
-                           {
-                               this.alt = 96;
-                           }
-                       };
-        DFA.State s122 = new DFA.State() {
-                           {
-                               this.alt = 65;
-                           }
-                       };
-        DFA.State s123 = new DFA.State() {
-                           {
-                               this.alt = 97;
-                           }
-                       };
-        DFA.State s124 = new DFA.State() {
-                           {
-                               this.alt = 64;
-                           }
-                       };
-        DFA.State s29  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '/' :
-                                       return DFA25.this.s121;
-
-                                   case '=' :
-                                       return DFA25.this.s122;
-
-                                   case '*' :
-                                       return DFA25.this.s123;
-
-                                   default :
-                                       return DFA25.this.s124;
-                               }
-                           }
-                       };
-        DFA.State s125 = new DFA.State() {
-                           {
-                               this.alt = 67;
-                           }
-                       };
-        DFA.State s126 = new DFA.State() {
-                           {
-                               this.alt = 68;
-                           }
-                       };
-        DFA.State s127 = new DFA.State() {
-                           {
-                               this.alt = 66;
-                           }
-                       };
-        DFA.State s30  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '=' :
-                                       return DFA25.this.s125;
-
-                                   case '+' :
-                                       return DFA25.this.s126;
-
-                                   default :
-                                       return DFA25.this.s127;
-                               }
-                           }
-                       };
-        DFA.State s128 = new DFA.State() {
-                           {
-                               this.alt = 71;
-                           }
-                       };
-        DFA.State s129 = new DFA.State() {
-                           {
-                               this.alt = 70;
-                           }
-                       };
-        DFA.State s130 = new DFA.State() {
-                           {
-                               this.alt = 69;
-                           }
-                       };
-        DFA.State s31  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '-' :
-                                       return DFA25.this.s128;
-
-                                   case '=' :
-                                       return DFA25.this.s129;
-
-                                   default :
-                                       return DFA25.this.s130;
-                               }
-                           }
-                       };
-        DFA.State s131 = new DFA.State() {
-                           {
-                               this.alt = 73;
-                           }
-                       };
-        DFA.State s132 = new DFA.State() {
-                           {
-                               this.alt = 72;
-                           }
-                       };
-        DFA.State s32  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_32 = input.LA( 1 );
-                               if ( LA25_32 == '=' ) {
-                                   return DFA25.this.s131;
-                               }
-                               return DFA25.this.s132;
-
-                           }
-                       };
-        DFA.State s133 = new DFA.State() {
-                           {
-                               this.alt = 75;
-                           }
-                       };
-        DFA.State s134 = new DFA.State() {
-                           {
-                               this.alt = 74;
-                           }
-                       };
-        DFA.State s33  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_33 = input.LA( 1 );
-                               if ( LA25_33 == '=' ) {
-                                   return DFA25.this.s133;
-                               }
-                               return DFA25.this.s134;
-
-                           }
-                       };
-        DFA.State s417 = new DFA.State() {
-                           {
-                               this.alt = 79;
-                           }
-                       };
-        DFA.State s418 = new DFA.State() {
-                           {
-                               this.alt = 78;
-                           }
-                       };
-        DFA.State s275 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_275 = input.LA( 1 );
-                               if ( LA25_275 == '=' ) {
-                                   return DFA25.this.s417;
-                               }
-                               return DFA25.this.s418;
-
-                           }
-                       };
-        DFA.State s276 = new DFA.State() {
-                           {
-                               this.alt = 77;
-                           }
-                       };
-        DFA.State s277 = new DFA.State() {
-                           {
-                               this.alt = 76;
-                           }
-                       };
-        DFA.State s135 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '>' :
-                                       return DFA25.this.s275;
-
-                                   case '=' :
-                                       return DFA25.this.s276;
-
-                                   default :
-                                       return DFA25.this.s277;
-                               }
-                           }
-                       };
-        DFA.State s136 = new DFA.State() {
-                           {
-                               this.alt = 80;
-                           }
-                       };
-        DFA.State s137 = new DFA.State() {
-                           {
-                               this.alt = 81;
-                           }
-                       };
-        DFA.State s34  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '>' :
-                                       return DFA25.this.s135;
-
-                                   case '=' :
-                                       return DFA25.this.s136;
-
-                                   default :
-                                       return DFA25.this.s137;
-                               }
-                           }
-                       };
-        DFA.State s278 = new DFA.State() {
-                           {
-                               this.alt = 83;
-                           }
-                       };
-        DFA.State s279 = new DFA.State() {
-                           {
-                               this.alt = 82;
-                           }
-                       };
-        DFA.State s138 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_138 = input.LA( 1 );
-                               if ( LA25_138 == '=' ) {
-                                   return DFA25.this.s278;
-                               }
-                               return DFA25.this.s279;
-
-                           }
-                       };
-        DFA.State s139 = new DFA.State() {
-                           {
-                               this.alt = 84;
-                           }
-                       };
-        DFA.State s140 = new DFA.State() {
-                           {
-                               this.alt = 85;
-                           }
-                       };
-        DFA.State s35  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '<' :
-                                       return DFA25.this.s138;
-
-                                   case '=' :
-                                       return DFA25.this.s139;
-
-                                   default :
-                                       return DFA25.this.s140;
-                               }
-                           }
-                       };
-        DFA.State s141 = new DFA.State() {
-                           {
-                               this.alt = 87;
-                           }
-                       };
-        DFA.State s142 = new DFA.State() {
-                           {
-                               this.alt = 86;
-                           }
-                       };
-        DFA.State s36  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               int LA25_36 = input.LA( 1 );
-                               if ( LA25_36 == '=' ) {
-                                   return DFA25.this.s141;
-                               }
-                               return DFA25.this.s142;
-
-                           }
-                       };
-        DFA.State s143 = new DFA.State() {
-                           {
-                               this.alt = 89;
-                           }
-                       };
-        DFA.State s144 = new DFA.State() {
-                           {
-                               this.alt = 90;
-                           }
-                       };
-        DFA.State s145 = new DFA.State() {
-                           {
-                               this.alt = 88;
-                           }
-                       };
-        DFA.State s37  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '=' :
-                                       return DFA25.this.s143;
-
-                                   case '|' :
-                                       return DFA25.this.s144;
-
-                                   default :
-                                       return DFA25.this.s145;
-                               }
-                           }
-                       };
-        DFA.State s146 = new DFA.State() {
-                           {
-                               this.alt = 93;
-                           }
-                       };
-        DFA.State s147 = new DFA.State() {
-                           {
-                               this.alt = 92;
-                           }
-                       };
-        DFA.State s148 = new DFA.State() {
-                           {
-                               this.alt = 91;
-                           }
-                       };
-        DFA.State s38  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '&' :
-                                       return DFA25.this.s146;
-
-                                   case '=' :
-                                       return DFA25.this.s147;
-
-                                   default :
-                                       return DFA25.this.s148;
-                               }
-                           }
-                       };
-        DFA.State s39  = new DFA.State() {
-                           {
-                               this.alt = 94;
-                           }
-                       };
-        DFA.State s40  = new DFA.State() {
-                           {
-                               this.alt = 95;
-                           }
-                       };
-        DFA.State s149 = new DFA.State() {
-                           {
-                               this.alt = 99;
-                           }
-                       };
-        DFA.State s151 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '.' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                       return DFA25.this.s115;
-
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                       return DFA25.this.s151;
-
-                                   default :
-                                       return DFA25.this.s149;
-                               }
-                           }
-                       };
-        DFA.State s46  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '.' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                       return DFA25.this.s115;
-
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                       return DFA25.this.s151;
-
-                                   default :
-                                       return DFA25.this.s149;
-                               }
-                           }
-                       };
-        DFA.State s158 = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '.' :
-                                   case '8' :
-                                   case '9' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                       return DFA25.this.s115;
-
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                       return DFA25.this.s158;
-
-                                   default :
-                                       return DFA25.this.s149;
-                               }
-                           }
-                       };
-        DFA.State s47  = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case '.' :
-                                   case '8' :
-                                   case '9' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'd' :
-                                   case 'e' :
-                                   case 'f' :
-                                       return DFA25.this.s115;
-
-                                   case '0' :
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                       return DFA25.this.s158;
-
-                                   default :
-                                       return DFA25.this.s149;
-                               }
-                           }
-                       };
-        DFA.State s48  = new DFA.State() {
-                           {
-                               this.alt = 101;
-                           }
-                       };
-        DFA.State s49  = new DFA.State() {
-                           {
-                               this.alt = 102;
-                           }
-                       };
-        DFA.State s0   = new DFA.State() {
-                           public DFA.State transition(IntStream input) throws RecognitionException {
-                               switch ( input.LA( 1 ) ) {
-                                   case 'v' :
-                                       return DFA25.this.s1;
-
-                                   case 'b' :
-                                       return DFA25.this.s2;
-
-                                   case 'c' :
-                                       return DFA25.this.s3;
-
-                                   case 's' :
-                                       return DFA25.this.s4;
-
-                                   case 'i' :
-                                       return DFA25.this.s5;
-
-                                   case 'f' :
-                                       return DFA25.this.s6;
-
-                                   case 'l' :
-                                       return DFA25.this.s7;
-
-                                   case 'd' :
-                                       return DFA25.this.s8;
-
-                                   case 'p' :
-                                       return DFA25.this.s9;
-
-                                   case 't' :
-                                       return DFA25.this.s10;
-
-                                   case 'a' :
-                                       return DFA25.this.s11;
-
-                                   case 'n' :
-                                       return DFA25.this.s12;
-
-                                   case 'e' :
-                                       return DFA25.this.s13;
-
-                                   case 'w' :
-                                       return DFA25.this.s14;
-
-                                   case 'r' :
-                                       return DFA25.this.s15;
-
-                                   case '?' :
-                                       return DFA25.this.s16;
-
-                                   case '(' :
-                                       return DFA25.this.s17;
-
-                                   case ')' :
-                                       return DFA25.this.s18;
-
-                                   case '[' :
-                                       return DFA25.this.s19;
-
-                                   case ']' :
-                                       return DFA25.this.s20;
-
-                                   case '{' :
-                                       return DFA25.this.s21;
-
-                                   case '}' :
-                                       return DFA25.this.s22;
-
-                                   case ':' :
-                                       return DFA25.this.s23;
-
-                                   case ',' :
-                                       return DFA25.this.s24;
-
-                                   case '.' :
-                                       return DFA25.this.s25;
-
-                                   case '=' :
-                                       return DFA25.this.s26;
-
-                                   case '!' :
-                                       return DFA25.this.s27;
-
-                                   case '~' :
-                                       return DFA25.this.s28;
-
-                                   case '/' :
-                                       return DFA25.this.s29;
-
-                                   case '+' :
-                                       return DFA25.this.s30;
-
-                                   case '-' :
-                                       return DFA25.this.s31;
-
-                                   case '*' :
-                                       return DFA25.this.s32;
-
-                                   case '%' :
-                                       return DFA25.this.s33;
-
-                                   case '>' :
-                                       return DFA25.this.s34;
-
-                                   case '<' :
-                                       return DFA25.this.s35;
-
-                                   case '^' :
-                                       return DFA25.this.s36;
-
-                                   case '|' :
-                                       return DFA25.this.s37;
-
-                                   case '&' :
-                                       return DFA25.this.s38;
-
-                                   case ';' :
-                                       return DFA25.this.s39;
-
-                                   case '\t' :
-                                   case '\n' :
-                                   case '\f' :
-                                   case '\r' :
-                                   case ' ' :
-                                       return DFA25.this.s40;
-
-                                   case '$' :
-                                   case 'A' :
-                                   case 'B' :
-                                   case 'C' :
-                                   case 'D' :
-                                   case 'E' :
-                                   case 'F' :
-                                   case 'G' :
-                                   case 'H' :
-                                   case 'I' :
-                                   case 'J' :
-                                   case 'K' :
-                                   case 'L' :
-                                   case 'M' :
-                                   case 'N' :
-                                   case 'O' :
-                                   case 'P' :
-                                   case 'Q' :
-                                   case 'R' :
-                                   case 'S' :
-                                   case 'T' :
-                                   case 'U' :
-                                   case 'V' :
-                                   case 'W' :
-                                   case 'X' :
-                                   case 'Y' :
-                                   case 'Z' :
-                                   case '_' :
-                                   case 'g' :
-                                   case 'h' :
-                                   case 'j' :
-                                   case 'k' :
-                                   case 'm' :
-                                   case 'o' :
-                                   case 'q' :
-                                   case 'u' :
-                                   case 'x' :
-                                   case 'y' :
-                                   case 'z' :
-                                       return DFA25.this.s45;
-
-                                   case '1' :
-                                   case '2' :
-                                   case '3' :
-                                   case '4' :
-                                   case '5' :
-                                   case '6' :
-                                   case '7' :
-                                   case '8' :
-                                   case '9' :
-                                       return DFA25.this.s46;
-
-                                   case '0' :
-                                       return DFA25.this.s47;
-
-                                   case '\'' :
-                                       return DFA25.this.s48;
-
-                                   case '"' :
-                                       return DFA25.this.s49;
-
-                                   default :
-                                       NoViableAltException nvae = new NoViableAltException( "",
-                                                                                             25,
-                                                                                             0,
-                                                                                             input );
-
-                                       throw nvae;
-                               }
-                           }
-                       };
-
-    }
+	package org.drools.semantics.java.parser;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+public class JavaParserLexer extends Lexer {
+    public static final int SR_ASSIGN=22;
+    public static final int COMMA=12;
+    public static final int MINUS=44;
+    public static final int T70=70;
+    public static final int T74=74;
+    public static final int T85=85;
+    public static final int BOR=31;
+    public static final int DOT=7;
+    public static final int SR=41;
+    public static final int T102=102;
+    public static final int LCURLY=9;
+    public static final int T114=114;
+    public static final int T103=103;
+    public static final int STRING_LITERAL=53;
+    public static final int LE=38;
+    public static final int T81=81;
+    public static final int RPAREN=14;
+    public static final int STAR_ASSIGN=19;
+    public static final int NUM_INT=51;
+    public static final int PLUS=43;
+    public static final int MINUS_ASSIGN=18;
+    public static final int T113=113;
+    public static final int T109=109;
+    public static final int IDENT=6;
+    public static final int DECIMAL_LITERAL=58;
+    public static final int T68=68;
+    public static final int T73=73;
+    public static final int T84=84;
+    public static final int MOD_ASSIGN=21;
+    public static final int T78=78;
+    public static final int T115=115;
+    public static final int WS=55;
+    public static final int LT=36;
+    public static final int BSR=42;
+    public static final int SL_ASSIGN=24;
+    public static final int T96=96;
+    public static final int T71=71;
+    public static final int T72=72;
+    public static final int T94=94;
+    public static final int LAND=30;
+    public static final int LBRACK=4;
+    public static final int T76=76;
+    public static final int NUM_FLOAT=54;
+    public static final int SEMI=10;
+    public static final int GE=39;
+    public static final int LNOT=50;
+    public static final int DIV_ASSIGN=20;
+    public static final int T75=75;
+    public static final int UNICODE_CHAR=66;
+    public static final int EQUAL=35;
+    public static final int T89=89;
+    public static final int OCTAL_DIGIT=65;
+    public static final int COLON=16;
+    public static final int SL=40;
+    public static final int T82=82;
+    public static final int DIV=45;
+    public static final int T100=100;
+    public static final int EXPONENT_PART=62;
+    public static final int T79=79;
+    public static final int LOR=29;
+    public static final int BNOT=49;
+    public static final int INC=47;
+    public static final int T93=93;
+    public static final int T107=107;
+    public static final int MOD=46;
+    public static final int OCTAL_LITERAL=60;
+    public static final int PLUS_ASSIGN=17;
+    public static final int T83=83;
+    public static final int QUESTION=28;
+    public static final int HEX_LITERAL=59;
+    public static final int T101=101;
+    public static final int FLOAT_TYPE_SUFFIX=63;
+    public static final int RCURLY=11;
+    public static final int T91=91;
+    public static final int T105=105;
+    public static final int T86=86;
+    public static final int CHAR_LITERAL=52;
+    public static final int BOR_ASSIGN=27;
+    public static final int ASSIGN=15;
+    public static final int LPAREN=13;
+    public static final int T111=111;
+    public static final int HEX_DIGIT=67;
+    public static final int T77=77;
+    public static final int ML_COMMENT=57;
+    public static final int SL_COMMENT=56;
+    public static final int BAND=33;
+    public static final int T106=106;
+    public static final int T112=112;
+    public static final int T69=69;
+    public static final int NOT_EQUAL=34;
+    public static final int BAND_ASSIGN=25;
+    public static final int T95=95;
+    public static final int DIGITS=61;
+    public static final int T110=110;
+    public static final int T108=108;
+    public static final int T92=92;
+    public static final int BXOR_ASSIGN=26;
+    public static final int GT=37;
+    public static final int BSR_ASSIGN=23;
+    public static final int T88=88;
+    public static final int T98=98;
+    public static final int T87=87;
+    public static final int T80=80;
+    public static final int DEC=48;
+    public static final int T97=97;
+    public static final int ESCAPE_SEQUENCE=64;
+    public static final int EOF=-1;
+    public static final int T104=104;
+    public static final int Tokens=116;
+    public static final int RBRACK=5;
+    public static final int T99=99;
+    public static final int STAR=8;
+    public static final int BXOR=32;
+    public static final int T90=90;
+    
+    	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
+
+    public JavaParserLexer() {;} 
+    public JavaParserLexer(CharStream input) {
+        super(input);
+    }
+    public String getGrammarFileName() { return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g"; }
+
+    // $ANTLR start T68
+    public void mT68() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T68;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:9:7: ( 'void' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:9:7: 'void'
+            {
+            match("void"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T68
+
+    // $ANTLR start T69
+    public void mT69() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T69;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:10:7: ( 'boolean' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:10:7: 'boolean'
+            {
+            match("boolean"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T69
+
+    // $ANTLR start T70
+    public void mT70() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T70;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:11:7: ( 'byte' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:11:7: 'byte'
+            {
+            match("byte"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T70
+
+    // $ANTLR start T71
+    public void mT71() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T71;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:12:7: ( 'char' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:12:7: 'char'
+            {
+            match("char"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T71
+
+    // $ANTLR start T72
+    public void mT72() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T72;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:13:7: ( 'short' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:13:7: 'short'
+            {
+            match("short"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T72
+
+    // $ANTLR start T73
+    public void mT73() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T73;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:14:7: ( 'int' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:14:7: 'int'
+            {
+            match("int"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T73
+
+    // $ANTLR start T74
+    public void mT74() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T74;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:15:7: ( 'float' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:15:7: 'float'
+            {
+            match("float"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T74
+
+    // $ANTLR start T75
+    public void mT75() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T75;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:16:7: ( 'long' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:16:7: 'long'
+            {
+            match("long"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T75
+
+    // $ANTLR start T76
+    public void mT76() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T76;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:17:7: ( 'double' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:17:7: 'double'
+            {
+            match("double"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T76
+
+    // $ANTLR start T77
+    public void mT77() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T77;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:18:7: ( 'private' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:18:7: 'private'
+            {
+            match("private"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T77
+
+    // $ANTLR start T78
+    public void mT78() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T78;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:19:7: ( 'public' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:19:7: 'public'
+            {
+            match("public"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T78
+
+    // $ANTLR start T79
+    public void mT79() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T79;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:20:7: ( 'protected' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:20:7: 'protected'
+            {
+            match("protected"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T79
+
+    // $ANTLR start T80
+    public void mT80() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T80;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:21:7: ( 'static' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:21:7: 'static'
+            {
+            match("static"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T80
+
+    // $ANTLR start T81
+    public void mT81() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T81;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:22:7: ( 'transient' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:22:7: 'transient'
+            {
+            match("transient"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T81
+
+    // $ANTLR start T82
+    public void mT82() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T82;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:23:7: ( 'final' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:23:7: 'final'
+            {
+            match("final"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T82
+
+    // $ANTLR start T83
+    public void mT83() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T83;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:24:7: ( 'abstract' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:24:7: 'abstract'
+            {
+            match("abstract"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T83
+
+    // $ANTLR start T84
+    public void mT84() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T84;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:25:7: ( 'native' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:25:7: 'native'
+            {
+            match("native"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T84
+
+    // $ANTLR start T85
+    public void mT85() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T85;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:26:7: ( 'threadsafe' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:26:7: 'threadsafe'
+            {
+            match("threadsafe"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T85
+
+    // $ANTLR start T86
+    public void mT86() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T86;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:27:7: ( 'synchronized' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:27:7: 'synchronized'
+            {
+            match("synchronized"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T86
+
+    // $ANTLR start T87
+    public void mT87() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T87;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:28:7: ( 'volatile' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:28:7: 'volatile'
+            {
+            match("volatile"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T87
+
+    // $ANTLR start T88
+    public void mT88() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T88;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:29:7: ( 'strictfp' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:29:7: 'strictfp'
+            {
+            match("strictfp"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T88
+
+    // $ANTLR start T89
+    public void mT89() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T89;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:30:7: ( 'class' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:30:7: 'class'
+            {
+            match("class"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T89
+
+    // $ANTLR start T90
+    public void mT90() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T90;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:31:7: ( 'extends' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:31:7: 'extends'
+            {
+            match("extends"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T90
+
+    // $ANTLR start T91
+    public void mT91() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T91;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:32:7: ( 'interface' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:32:7: 'interface'
+            {
+            match("interface"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T91
+
+    // $ANTLR start T92
+    public void mT92() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T92;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:33:7: ( 'implements' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:33:7: 'implements'
+            {
+            match("implements"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T92
+
+    // $ANTLR start T93
+    public void mT93() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T93;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:34:7: ( 'this' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:34:7: 'this'
+            {
+            match("this"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T93
+
+    // $ANTLR start T94
+    public void mT94() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T94;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:35:7: ( 'super' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:35:7: 'super'
+            {
+            match("super"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T94
+
+    // $ANTLR start T95
+    public void mT95() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T95;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:36:7: ( 'throws' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:36:7: 'throws'
+            {
+            match("throws"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T95
+
+    // $ANTLR start T96
+    public void mT96() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T96;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:37:7: ( 'if' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:37:7: 'if'
+            {
+            match("if"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T96
+
+    // $ANTLR start T97
+    public void mT97() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T97;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:38:7: ( 'else' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:38:7: 'else'
+            {
+            match("else"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T97
+
+    // $ANTLR start T98
+    public void mT98() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T98;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:39:7: ( 'for' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:39:7: 'for'
+            {
+            match("for"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T98
+
+    // $ANTLR start T99
+    public void mT99() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T99;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:40:7: ( 'while' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:40:7: 'while'
+            {
+            match("while"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T99
+
+    // $ANTLR start T100
+    public void mT100() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T100;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:41:8: ( 'do' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:41:8: 'do'
+            {
+            match("do"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T100
+
+    // $ANTLR start T101
+    public void mT101() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T101;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:42:8: ( 'break' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:42:8: 'break'
+            {
+            match("break"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T101
+
+    // $ANTLR start T102
+    public void mT102() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T102;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:43:8: ( 'continue' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:43:8: 'continue'
+            {
+            match("continue"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T102
+
+    // $ANTLR start T103
+    public void mT103() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T103;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:44:8: ( 'return' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:44:8: 'return'
+            {
+            match("return"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T103
+
+    // $ANTLR start T104
+    public void mT104() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T104;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:45:8: ( 'switch' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:45:8: 'switch'
+            {
+            match("switch"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T104
+
+    // $ANTLR start T105
+    public void mT105() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T105;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:46:8: ( 'throw' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:46:8: 'throw'
+            {
+            match("throw"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T105
+
+    // $ANTLR start T106
+    public void mT106() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T106;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:47:8: ( 'case' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:47:8: 'case'
+            {
+            match("case"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T106
+
+    // $ANTLR start T107
+    public void mT107() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T107;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:48:8: ( 'default' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:48:8: 'default'
+            {
+            match("default"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T107
+
+    // $ANTLR start T108
+    public void mT108() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T108;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:49:8: ( 'try' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:49:8: 'try'
+            {
+            match("try"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T108
+
+    // $ANTLR start T109
+    public void mT109() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T109;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:50:8: ( 'finally' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:50:8: 'finally'
+            {
+            match("finally"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T109
+
+    // $ANTLR start T110
+    public void mT110() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T110;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:51:8: ( 'catch' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:51:8: 'catch'
+            {
+            match("catch"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T110
+
+    // $ANTLR start T111
+    public void mT111() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T111;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:52:8: ( 'instanceof' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:52:8: 'instanceof'
+            {
+            match("instanceof"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T111
+
+    // $ANTLR start T112
+    public void mT112() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T112;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:53:8: ( 'true' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:53:8: 'true'
+            {
+            match("true"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T112
+
+    // $ANTLR start T113
+    public void mT113() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T113;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:54:8: ( 'false' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:54:8: 'false'
+            {
+            match("false"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T113
+
+    // $ANTLR start T114
+    public void mT114() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T114;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:55:8: ( 'null' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:55:8: 'null'
+            {
+            match("null"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T114
+
+    // $ANTLR start T115
+    public void mT115() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = T115;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:56:8: ( 'new' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:56:8: 'new'
+            {
+            match("new"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end T115
+
+    // $ANTLR start QUESTION
+    public void mQUESTION() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = QUESTION;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:914:13: ( '?' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:914:13: '?'
+            {
+            match('?'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end QUESTION
+
+    // $ANTLR start LPAREN
+    public void mLPAREN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LPAREN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:917:12: ( '(' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:917:12: '('
+            {
+            match('('); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LPAREN
+
+    // $ANTLR start RPAREN
+    public void mRPAREN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = RPAREN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:920:12: ( ')' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:920:12: ')'
+            {
+            match(')'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end RPAREN
+
+    // $ANTLR start LBRACK
+    public void mLBRACK() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LBRACK;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:923:12: ( '[' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:923:12: '['
+            {
+            match('['); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LBRACK
+
+    // $ANTLR start RBRACK
+    public void mRBRACK() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = RBRACK;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:926:12: ( ']' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:926:12: ']'
+            {
+            match(']'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end RBRACK
+
+    // $ANTLR start LCURLY
+    public void mLCURLY() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LCURLY;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:929:12: ( '{' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:929:12: '{'
+            {
+            match('{'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LCURLY
+
+    // $ANTLR start RCURLY
+    public void mRCURLY() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = RCURLY;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:932:12: ( '}' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:932:12: '}'
+            {
+            match('}'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end RCURLY
+
+    // $ANTLR start COLON
+    public void mCOLON() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = COLON;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:935:11: ( ':' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:935:11: ':'
+            {
+            match(':'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end COLON
+
+    // $ANTLR start COMMA
+    public void mCOMMA() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = COMMA;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:938:11: ( ',' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:938:11: ','
+            {
+            match(','); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end COMMA
+
+    // $ANTLR start DOT
+    public void mDOT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = DOT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:940:10: ( '.' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:940:10: '.'
+            {
+            match('.'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end DOT
+
+    // $ANTLR start ASSIGN
+    public void mASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:942:12: ( '=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:942:12: '='
+            {
+            match('='); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end ASSIGN
+
+    // $ANTLR start EQUAL
+    public void mEQUAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = EQUAL;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:945:11: ( '==' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:945:11: '=='
+            {
+            match("=="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end EQUAL
+
+    // $ANTLR start LNOT
+    public void mLNOT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LNOT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:948:10: ( '!' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:948:10: '!'
+            {
+            match('!'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LNOT
+
+    // $ANTLR start BNOT
+    public void mBNOT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BNOT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:951:10: ( '~' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:951:10: '~'
+            {
+            match('~'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BNOT
+
+    // $ANTLR start NOT_EQUAL
+    public void mNOT_EQUAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = NOT_EQUAL;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:954:14: ( '!=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:954:14: '!='
+            {
+            match("!="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end NOT_EQUAL
+
+    // $ANTLR start DIV
+    public void mDIV() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = DIV;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:957:10: ( '/' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:957:10: '/'
+            {
+            match('/'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end DIV
+
+    // $ANTLR start DIV_ASSIGN
+    public void mDIV_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = DIV_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:960:15: ( '/=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:960:15: '/='
+            {
+            match("/="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end DIV_ASSIGN
+
+    // $ANTLR start PLUS
+    public void mPLUS() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = PLUS;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:963:10: ( '+' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:963:10: '+'
+            {
+            match('+'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end PLUS
+
+    // $ANTLR start PLUS_ASSIGN
+    public void mPLUS_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = PLUS_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:966:16: ( '+=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:966:16: '+='
+            {
+            match("+="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end PLUS_ASSIGN
+
+    // $ANTLR start INC
+    public void mINC() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = INC;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:969:10: ( '++' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:969:10: '++'
+            {
+            match("++"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end INC
+
+    // $ANTLR start MINUS
+    public void mMINUS() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = MINUS;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:972:11: ( '-' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:972:11: '-'
+            {
+            match('-'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end MINUS
+
+    // $ANTLR start MINUS_ASSIGN
+    public void mMINUS_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = MINUS_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:975:16: ( '-=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:975:16: '-='
+            {
+            match("-="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end MINUS_ASSIGN
+
+    // $ANTLR start DEC
+    public void mDEC() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = DEC;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:978:10: ( '--' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:978:10: '--'
+            {
+            match("--"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end DEC
+
+    // $ANTLR start STAR
+    public void mSTAR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = STAR;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:981:10: ( '*' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:981:10: '*'
+            {
+            match('*'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end STAR
+
+    // $ANTLR start STAR_ASSIGN
+    public void mSTAR_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = STAR_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:984:16: ( '*=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:984:16: '*='
+            {
+            match("*="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end STAR_ASSIGN
+
+    // $ANTLR start MOD
+    public void mMOD() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = MOD;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:987:10: ( '%' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:987:10: '%'
+            {
+            match('%'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end MOD
+
+    // $ANTLR start MOD_ASSIGN
+    public void mMOD_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = MOD_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:990:15: ( '%=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:990:15: '%='
+            {
+            match("%="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end MOD_ASSIGN
+
+    // $ANTLR start SR
+    public void mSR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = SR;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:993:9: ( '>>' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:993:9: '>>'
+            {
+            match(">>"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SR
+
+    // $ANTLR start SR_ASSIGN
+    public void mSR_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = SR_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:996:14: ( '>>=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:996:14: '>>='
+            {
+            match(">>="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SR_ASSIGN
+
+    // $ANTLR start BSR
+    public void mBSR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BSR;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:999:10: ( '>>>' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:999:10: '>>>'
+            {
+            match(">>>"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BSR
+
+    // $ANTLR start BSR_ASSIGN
+    public void mBSR_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BSR_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1002:15: ( '>>>=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1002:15: '>>>='
+            {
+            match(">>>="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BSR_ASSIGN
+
+    // $ANTLR start GE
+    public void mGE() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = GE;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1005:9: ( '>=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1005:9: '>='
+            {
+            match(">="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end GE
+
+    // $ANTLR start GT
+    public void mGT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = GT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1008:9: ( '>' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1008:9: '>'
+            {
+            match('>'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end GT
+
+    // $ANTLR start SL
+    public void mSL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = SL;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1011:9: ( '<<' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1011:9: '<<'
+            {
+            match("<<"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SL
+
+    // $ANTLR start SL_ASSIGN
+    public void mSL_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = SL_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1014:14: ( '<<=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1014:14: '<<='
+            {
+            match("<<="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SL_ASSIGN
+
+    // $ANTLR start LE
+    public void mLE() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LE;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1017:9: ( '<=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1017:9: '<='
+            {
+            match("<="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LE
+
+    // $ANTLR start LT
+    public void mLT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1020:9: ( '<' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1020:9: '<'
+            {
+            match('<'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LT
+
+    // $ANTLR start BXOR
+    public void mBXOR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BXOR;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1023:10: ( '^' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1023:10: '^'
+            {
+            match('^'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BXOR
+
+    // $ANTLR start BXOR_ASSIGN
+    public void mBXOR_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BXOR_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1026:16: ( '^=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1026:16: '^='
+            {
+            match("^="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BXOR_ASSIGN
+
+    // $ANTLR start BOR
+    public void mBOR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BOR;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1029:10: ( '|' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1029:10: '|'
+            {
+            match('|'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BOR
+
+    // $ANTLR start BOR_ASSIGN
+    public void mBOR_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BOR_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1032:15: ( '|=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1032:15: '|='
+            {
+            match("|="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BOR_ASSIGN
+
+    // $ANTLR start LOR
+    public void mLOR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LOR;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1035:10: ( '||' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1035:10: '||'
+            {
+            match("||"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LOR
+
+    // $ANTLR start BAND
+    public void mBAND() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BAND;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1038:10: ( '&' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1038:10: '&'
+            {
+            match('&'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BAND
+
+    // $ANTLR start BAND_ASSIGN
+    public void mBAND_ASSIGN() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = BAND_ASSIGN;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1041:16: ( '&=' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1041:16: '&='
+            {
+            match("&="); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end BAND_ASSIGN
+
+    // $ANTLR start LAND
+    public void mLAND() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = LAND;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1044:10: ( '&&' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1044:10: '&&'
+            {
+            match("&&"); 
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end LAND
+
+    // $ANTLR start SEMI
+    public void mSEMI() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = SEMI;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1047:10: ( ';' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1047:10: ';'
+            {
+            match(';'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SEMI
+
+    // $ANTLR start WS
+    public void mWS() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = WS;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:6: ( ' ' | '\\t' | '\\f' | ( '\\r\\n' | '\\r' | '\\n' ) )+
+            int cnt2=0;
+            loop2:
+            do {
+                int alt2=5;
+                switch ( input.LA(1) ) {
+                case ' ':
+                    alt2=1;
+                    break;
+                case '\t':
+                    alt2=2;
+                    break;
+                case '\f':
+                    alt2=3;
+                    break;
+                case '\n':
+                case '\r':
+                    alt2=4;
+                    break;
+
+                }
+
+                switch (alt2) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1053:8: ' '
+            	    {
+            	    match(' '); 
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1054:5: '\\t'
+            	    {
+            	    match('\t'); 
+
+            	    }
+            	    break;
+            	case 3 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1055:5: '\\f'
+            	    {
+            	    match('\f'); 
+
+            	    }
+            	    break;
+            	case 4 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:5: ( '\\r\\n' | '\\r' | '\\n' )
+            	    {
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:5: ( '\\r\\n' | '\\r' | '\\n' )
+            	    int alt1=3;
+            	    int LA1_0 = input.LA(1);
+            	    if ( (LA1_0=='\r') ) {
+            	        int LA1_1 = input.LA(2);
+            	        if ( (LA1_1=='\n') ) {
+            	            alt1=1;
+            	        }
+            	        else {
+            	            alt1=2;}
+            	    }
+            	    else if ( (LA1_0=='\n') ) {
+            	        alt1=3;
+            	    }
+            	    else {
+            	        NoViableAltException nvae =
+            	            new NoViableAltException("1057:5: ( '\\r\\n' | '\\r' | '\\n' )", 1, 0, input);
+
+            	        throw nvae;
+            	    }
+            	    switch (alt1) {
+            	        case 1 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1057:7: '\\r\\n'
+            	            {
+            	            match("\r\n"); 
+
+
+            	            }
+            	            break;
+            	        case 2 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1058:6: '\\r'
+            	            {
+            	            match('\r'); 
+
+            	            }
+            	            break;
+            	        case 3 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1059:6: '\\n'
+            	            {
+            	            match('\n'); 
+
+            	            }
+            	            break;
+
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt2 >= 1 ) break loop2;
+                        EarlyExitException eee =
+                            new EarlyExitException(2, input);
+                        throw eee;
+                }
+                cnt2++;
+            } while (true);
+
+             _channel=HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/ 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end WS
+
+    // $ANTLR start SL_COMMENT
+    public void mSL_COMMENT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = SL_COMMENT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:4: ( '//' ( options {greedy=false; } : . )* ( '\\r' )? '\\n' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:4: '//' ( options {greedy=false; } : . )* ( '\\r' )? '\\n'
+            {
+            match("//"); 
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:9: ( options {greedy=false; } : . )*
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+                if ( (LA3_0=='\r') ) {
+                    alt3=2;
+                }
+                else if ( (LA3_0=='\n') ) {
+                    alt3=2;
+                }
+                else if ( ((LA3_0>='\u0000' && LA3_0<='\t')||(LA3_0>='\u000B' && LA3_0<='\f')||(LA3_0>='\u000E' && LA3_0<='\uFFFE')) ) {
+                    alt3=1;
+                }
+
+
+                switch (alt3) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:36: .
+            	    {
+            	    matchAny(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop3;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:40: ( '\\r' )?
+            int alt4=2;
+            int LA4_0 = input.LA(1);
+            if ( (LA4_0=='\r') ) {
+                alt4=1;
+            }
+            switch (alt4) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1069:41: '\\r'
+                    {
+                    match('\r'); 
+
+                    }
+                    break;
+
+            }
+
+            match('\n'); 
+            _channel=HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end SL_COMMENT
+
+    // $ANTLR start ML_COMMENT
+    public void mML_COMMENT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = ML_COMMENT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1077:4: ( '/*' ( options {greedy=false; } : . )* '*/' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1077:4: '/*' ( options {greedy=false; } : . )* '*/'
+            {
+            match("/*"); 
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1078:3: ( options {greedy=false; } : . )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
+                if ( (LA5_0=='*') ) {
+                    int LA5_1 = input.LA(2);
+                    if ( (LA5_1=='/') ) {
+                        alt5=2;
+                    }
+                    else if ( ((LA5_1>='\u0000' && LA5_1<='.')||(LA5_1>='0' && LA5_1<='\uFFFE')) ) {
+                        alt5=1;
+                    }
+
+
+                }
+                else if ( ((LA5_0>='\u0000' && LA5_0<=')')||(LA5_0>='+' && LA5_0<='\uFFFE')) ) {
+                    alt5=1;
+                }
+
+
+                switch (alt5) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1078:31: .
+            	    {
+            	    matchAny(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop5;
+                }
+            } while (true);
+
+            match("*/"); 
+
+            _channel=HIDDEN;/*token = JavaParser.IGNORE_TOKEN;*/
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end ML_COMMENT
+
+    // $ANTLR start IDENT
+    public void mIDENT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = IDENT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:4: ( ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:4: ('a'..'z'|'A'..'Z'|'_'|'$') ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))*
+            {
+            if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:32: ( ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$'))*
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
+                if ( (LA6_0=='$'||(LA6_0>='0' && LA6_0<='9')||(LA6_0>='A' && LA6_0<='Z')||LA6_0=='_'||(LA6_0>='a' && LA6_0<='z')) ) {
+                    alt6=1;
+                }
+
+
+                switch (alt6) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1084:33: ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')
+            	    {
+            	    if ( input.LA(1)=='$'||(input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop6;
+                }
+            } while (true);
+
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end IDENT
+
+    // $ANTLR start NUM_INT
+    public void mNUM_INT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = NUM_INT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1090:7: ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL )
+            int alt7=3;
+            int LA7_0 = input.LA(1);
+            if ( ((LA7_0>='1' && LA7_0<='9')) ) {
+                alt7=1;
+            }
+            else if ( (LA7_0=='0') ) {
+                int LA7_2 = input.LA(2);
+                if ( (LA7_2=='X'||LA7_2=='x') ) {
+                    alt7=2;
+                }
+                else {
+                    alt7=3;}
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("1089:1: NUM_INT : ( DECIMAL_LITERAL | HEX_LITERAL | OCTAL_LITERAL );", 7, 0, input);
+
+                throw nvae;
+            }
+            switch (alt7) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1090:7: DECIMAL_LITERAL
+                    {
+                    mDECIMAL_LITERAL(); 
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1091:7: HEX_LITERAL
+                    {
+                    mHEX_LITERAL(); 
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1092:7: OCTAL_LITERAL
+                    {
+                    mOCTAL_LITERAL(); 
+
+                    }
+                    break;
+
+            }
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end NUM_INT
+
+    // $ANTLR start DECIMAL_LITERAL
+    public void mDECIMAL_LITERAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:18: ( '1' .. '9' ( '0' .. '9' )* ( ('l'|'L'))? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:18: '1' .. '9' ( '0' .. '9' )* ( ('l'|'L'))?
+            {
+            matchRange('1','9'); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:27: ( '0' .. '9' )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
+                if ( ((LA8_0>='0' && LA8_0<='9')) ) {
+                    alt8=1;
+                }
+
+
+                switch (alt8) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:28: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:39: ( ('l'|'L'))?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+            if ( (LA9_0=='L'||LA9_0=='l') ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1096:40: ('l'|'L')
+                    {
+                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end DECIMAL_LITERAL
+
+    // $ANTLR start HEX_LITERAL
+    public void mHEX_LITERAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:14: ( '0' ('x'|'X') ( ('0'..'9'|'a'..'f'|'A'..'F'))+ ( ('l'|'L'))? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:14: '0' ('x'|'X') ( ('0'..'9'|'a'..'f'|'A'..'F'))+ ( ('l'|'L'))?
+            {
+            match('0'); 
+            if ( input.LA(1)=='X'||input.LA(1)=='x' ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:28: ( ('0'..'9'|'a'..'f'|'A'..'F'))+
+            int cnt10=0;
+            loop10:
+            do {
+                int alt10=2;
+                int LA10_0 = input.LA(1);
+                if ( ((LA10_0>='0' && LA10_0<='9')||(LA10_0>='A' && LA10_0<='F')||(LA10_0>='a' && LA10_0<='f')) ) {
+                    alt10=1;
+                }
+
+
+                switch (alt10) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:29: ('0'..'9'|'a'..'f'|'A'..'F')
+            	    {
+            	    if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt10 >= 1 ) break loop10;
+                        EarlyExitException eee =
+                            new EarlyExitException(10, input);
+                        throw eee;
+                }
+                cnt10++;
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:58: ( ('l'|'L'))?
+            int alt11=2;
+            int LA11_0 = input.LA(1);
+            if ( (LA11_0=='L'||LA11_0=='l') ) {
+                alt11=1;
+            }
+            switch (alt11) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1099:59: ('l'|'L')
+                    {
+                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end HEX_LITERAL
+
+    // $ANTLR start OCTAL_LITERAL
+    public void mOCTAL_LITERAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:16: ( '0' ( '0' .. '7' )* ( ('l'|'L'))? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:16: '0' ( '0' .. '7' )* ( ('l'|'L'))?
+            {
+            match('0'); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:20: ( '0' .. '7' )*
+            loop12:
+            do {
+                int alt12=2;
+                int LA12_0 = input.LA(1);
+                if ( ((LA12_0>='0' && LA12_0<='7')) ) {
+                    alt12=1;
+                }
+
+
+                switch (alt12) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:21: '0' .. '7'
+            	    {
+            	    matchRange('0','7'); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop12;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:32: ( ('l'|'L'))?
+            int alt13=2;
+            int LA13_0 = input.LA(1);
+            if ( (LA13_0=='L'||LA13_0=='l') ) {
+                alt13=1;
+            }
+            switch (alt13) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1102:33: ('l'|'L')
+                    {
+                    if ( input.LA(1)=='L'||input.LA(1)=='l' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end OCTAL_LITERAL
+
+    // $ANTLR start NUM_FLOAT
+    public void mNUM_FLOAT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = NUM_FLOAT;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:11: ( DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX | DIGITS EXPONENT_PART | DIGITS FLOAT_TYPE_SUFFIX )
+            int alt19=5;
+            alt19 = dfa19.predict(input);
+            switch (alt19) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:11: DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
+                    {
+                    mDIGITS(); 
+                    match('.'); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:22: ( DIGITS )?
+                    int alt14=2;
+                    int LA14_0 = input.LA(1);
+                    if ( ((LA14_0>='0' && LA14_0<='9')) ) {
+                        alt14=1;
+                    }
+                    switch (alt14) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:23: DIGITS
+                            {
+                            mDIGITS(); 
+
+                            }
+                            break;
+
+                    }
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:32: ( EXPONENT_PART )?
+                    int alt15=2;
+                    int LA15_0 = input.LA(1);
+                    if ( (LA15_0=='E'||LA15_0=='e') ) {
+                        alt15=1;
+                    }
+                    switch (alt15) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:33: EXPONENT_PART
+                            {
+                            mEXPONENT_PART(); 
+
+                            }
+                            break;
+
+                    }
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:49: ( FLOAT_TYPE_SUFFIX )?
+                    int alt16=2;
+                    int LA16_0 = input.LA(1);
+                    if ( (LA16_0=='D'||LA16_0=='F'||LA16_0=='d'||LA16_0=='f') ) {
+                        alt16=1;
+                    }
+                    switch (alt16) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1105:50: FLOAT_TYPE_SUFFIX
+                            {
+                            mFLOAT_TYPE_SUFFIX(); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:7: '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )?
+                    {
+                    match('.'); 
+                    mDIGITS(); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:18: ( EXPONENT_PART )?
+                    int alt17=2;
+                    int LA17_0 = input.LA(1);
+                    if ( (LA17_0=='E'||LA17_0=='e') ) {
+                        alt17=1;
+                    }
+                    switch (alt17) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:19: EXPONENT_PART
+                            {
+                            mEXPONENT_PART(); 
+
+                            }
+                            break;
+
+                    }
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:35: ( FLOAT_TYPE_SUFFIX )?
+                    int alt18=2;
+                    int LA18_0 = input.LA(1);
+                    if ( (LA18_0=='D'||LA18_0=='F'||LA18_0=='d'||LA18_0=='f') ) {
+                        alt18=1;
+                    }
+                    switch (alt18) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1106:36: FLOAT_TYPE_SUFFIX
+                            {
+                            mFLOAT_TYPE_SUFFIX(); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1107:11: DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX
+                    {
+                    mDIGITS(); 
+                    mEXPONENT_PART(); 
+                    mFLOAT_TYPE_SUFFIX(); 
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1108:11: DIGITS EXPONENT_PART
+                    {
+                    mDIGITS(); 
+                    mEXPONENT_PART(); 
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1109:11: DIGITS FLOAT_TYPE_SUFFIX
+                    {
+                    mDIGITS(); 
+                    mFLOAT_TYPE_SUFFIX(); 
+
+                    }
+                    break;
+
+            }
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end NUM_FLOAT
+
+    // $ANTLR start DIGITS
+    public void mDIGITS() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( ( '0' .. '9' )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( '0' .. '9' )+
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:10: ( '0' .. '9' )+
+            int cnt20=0;
+            loop20:
+            do {
+                int alt20=2;
+                int LA20_0 = input.LA(1);
+                if ( ((LA20_0>='0' && LA20_0<='9')) ) {
+                    alt20=1;
+                }
+
+
+                switch (alt20) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1114:11: '0' .. '9'
+            	    {
+            	    matchRange('0','9'); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt20 >= 1 ) break loop20;
+                        EarlyExitException eee =
+                            new EarlyExitException(20, input);
+                        throw eee;
+                }
+                cnt20++;
+            } while (true);
+
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end DIGITS
+
+    // $ANTLR start EXPONENT_PART
+    public void mEXPONENT_PART() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:16: ( ('e'|'E') ( ('+'|'-'))? DIGITS )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:16: ('e'|'E') ( ('+'|'-'))? DIGITS
+            {
+            if ( input.LA(1)=='E'||input.LA(1)=='e' ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:26: ( ('+'|'-'))?
+            int alt21=2;
+            int LA21_0 = input.LA(1);
+            if ( (LA21_0=='+'||LA21_0=='-') ) {
+                alt21=1;
+            }
+            switch (alt21) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1122:27: ('+'|'-')
+                    {
+                    if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            mDIGITS(); 
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end EXPONENT_PART
+
+    // $ANTLR start FLOAT_TYPE_SUFFIX
+    public void mFLOAT_TYPE_SUFFIX() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1125:23: ( ('f'|'F'|'d'|'D'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1125:23: ('f'|'F'|'d'|'D')
+            {
+            if ( input.LA(1)=='D'||input.LA(1)=='F'||input.LA(1)=='d'||input.LA(1)=='f' ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end FLOAT_TYPE_SUFFIX
+
+    // $ANTLR start CHAR_LITERAL
+    public void mCHAR_LITERAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = CHAR_LITERAL;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1129:7: ( '\\'' (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE ) '\\'' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1129:7: '\\'' (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE ) '\\''
+            {
+            match('\''); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1130:7: (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE )
+            int alt22=2;
+            int LA22_0 = input.LA(1);
+            if ( ((LA22_0>='\u0000' && LA22_0<='&')||(LA22_0>='(' && LA22_0<='[')||(LA22_0>=']' && LA22_0<='\uFFFE')) ) {
+                alt22=1;
+            }
+            else if ( (LA22_0=='\\') ) {
+                alt22=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("1130:7: (~ ('\\''|'\\\\') | ESCAPE_SEQUENCE )", 22, 0, input);
+
+                throw nvae;
+            }
+            switch (alt22) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1130:9: ~ ('\\''|'\\\\')
+                    {
+                    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+                        input.consume();
+
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recover(mse);    throw mse;
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1131:9: ESCAPE_SEQUENCE
+                    {
+                    mESCAPE_SEQUENCE(); 
+
+                    }
+                    break;
+
+            }
+
+            match('\''); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end CHAR_LITERAL
+
+    // $ANTLR start STRING_LITERAL
+    public void mSTRING_LITERAL() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            int _type = STRING_LITERAL;
+            int _start = getCharIndex();
+            int _line = getLine();
+            int _charPosition = getCharPositionInLine();
+            int _channel = Token.DEFAULT_CHANNEL;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1138:7: ( '\\\"' (~ ('\\\"'|'\\\\') | ESCAPE_SEQUENCE )* '\\\"' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1138:7: '\\\"' (~ ('\\\"'|'\\\\') | ESCAPE_SEQUENCE )* '\\\"'
+            {
+            match('\"'); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1139:7: (~ ('\\\"'|'\\\\') | ESCAPE_SEQUENCE )*
+            loop23:
+            do {
+                int alt23=3;
+                int LA23_0 = input.LA(1);
+                if ( ((LA23_0>='\u0000' && LA23_0<='!')||(LA23_0>='#' && LA23_0<='[')||(LA23_0>=']' && LA23_0<='\uFFFE')) ) {
+                    alt23=1;
+                }
+                else if ( (LA23_0=='\\') ) {
+                    alt23=2;
+                }
+
+
+                switch (alt23) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1139:9: ~ ('\\\"'|'\\\\')
+            	    {
+            	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) {
+            	        input.consume();
+
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recover(mse);    throw mse;
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1140:9: ESCAPE_SEQUENCE
+            	    {
+            	    mESCAPE_SEQUENCE(); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop23;
+                }
+            } while (true);
+
+            match('\"'); 
+
+            }
+
+
+
+                    if ( token==null && ruleNestingLevel==1 ) {
+                        emit(_type,_line,_charPosition,_channel,_start,getCharIndex()-1);
+                    }
+
+                        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end STRING_LITERAL
+
+    // $ANTLR start ESCAPE_SEQUENCE
+    public void mESCAPE_SEQUENCE() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1147:7: ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR )
+            int alt24=12;
+            int LA24_0 = input.LA(1);
+            if ( (LA24_0=='\\') ) {
+                switch ( input.LA(2) ) {
+                case 'r':
+                    alt24=5;
+                    break;
+                case '\\':
+                    alt24=8;
+                    break;
+                case 't':
+                    alt24=2;
+                    break;
+                case 'f':
+                    alt24=4;
+                    break;
+                case '\'':
+                    alt24=7;
+                    break;
+                case 'u':
+                    alt24=12;
+                    break;
+                case '0':
+                case '1':
+                case '2':
+                case '3':
+                    int LA24_8 = input.LA(3);
+                    if ( ((LA24_8>='0' && LA24_8<='7')) ) {
+                        int LA24_14 = input.LA(4);
+                        if ( ((LA24_14>='0' && LA24_14<='7')) ) {
+                            alt24=9;
+                        }
+                        else {
+                            alt24=10;}
+                    }
+                    else {
+                        alt24=11;}
+                    break;
+                case 'b':
+                    alt24=1;
+                    break;
+                case 'n':
+                    alt24=3;
+                    break;
+                case '\"':
+                    alt24=6;
+                    break;
+                case '4':
+                case '5':
+                case '6':
+                case '7':
+                    int LA24_12 = input.LA(3);
+                    if ( ((LA24_12>='0' && LA24_12<='7')) ) {
+                        alt24=10;
+                    }
+                    else {
+                        alt24=11;}
+                    break;
+                default:
+                    NoViableAltException nvae =
+                        new NoViableAltException("1145:1: fragment ESCAPE_SEQUENCE : ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR );", 24, 1, input);
+
+                    throw nvae;
+                }
+
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("1145:1: fragment ESCAPE_SEQUENCE : ( '\\\\' 'b' | '\\\\' 't' | '\\\\' 'n' | '\\\\' 'f' | '\\\\' 'r' | '\\\\' '\\\"' | '\\\\' '\\'' | '\\\\' '\\\\' | '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT OCTAL_DIGIT | '\\\\' OCTAL_DIGIT | UNICODE_CHAR );", 24, 0, input);
+
+                throw nvae;
+            }
+            switch (alt24) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1147:7: '\\\\' 'b'
+                    {
+                    match('\\'); 
+                    match('b'); 
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1148:9: '\\\\' 't'
+                    {
+                    match('\\'); 
+                    match('t'); 
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1149:9: '\\\\' 'n'
+                    {
+                    match('\\'); 
+                    match('n'); 
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1150:9: '\\\\' 'f'
+                    {
+                    match('\\'); 
+                    match('f'); 
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1151:9: '\\\\' 'r'
+                    {
+                    match('\\'); 
+                    match('r'); 
+
+                    }
+                    break;
+                case 6 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1152:9: '\\\\' '\\\"'
+                    {
+                    match('\\'); 
+                    match('\"'); 
+
+                    }
+                    break;
+                case 7 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1153:9: '\\\\' '\\''
+                    {
+                    match('\\'); 
+                    match('\''); 
+
+                    }
+                    break;
+                case 8 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1154:9: '\\\\' '\\\\'
+                    {
+                    match('\\'); 
+                    match('\\'); 
+
+                    }
+                    break;
+                case 9 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1155:7: '\\\\' '0' .. '3' OCTAL_DIGIT OCTAL_DIGIT
+                    {
+                    match('\\'); 
+                    matchRange('0','3'); 
+                    mOCTAL_DIGIT(); 
+                    mOCTAL_DIGIT(); 
+
+                    }
+                    break;
+                case 10 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1156:9: '\\\\' OCTAL_DIGIT OCTAL_DIGIT
+                    {
+                    match('\\'); 
+                    mOCTAL_DIGIT(); 
+                    mOCTAL_DIGIT(); 
+
+                    }
+                    break;
+                case 11 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1157:9: '\\\\' OCTAL_DIGIT
+                    {
+                    match('\\'); 
+                    mOCTAL_DIGIT(); 
+
+                    }
+                    break;
+                case 12 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1158:4: UNICODE_CHAR
+                    {
+                    mUNICODE_CHAR(); 
+
+                    }
+                    break;
+
+            }
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end ESCAPE_SEQUENCE
+
+    // $ANTLR start UNICODE_CHAR
+    public void mUNICODE_CHAR() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1163:4: ( '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1163:4: '\\\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
+            {
+            match('\\'); 
+            match('u'); 
+            mHEX_DIGIT(); 
+            mHEX_DIGIT(); 
+            mHEX_DIGIT(); 
+            mHEX_DIGIT(); 
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end UNICODE_CHAR
+
+    // $ANTLR start HEX_DIGIT
+    public void mHEX_DIGIT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1168:2: ( ('0'..'9'|'a'..'f'|'A'..'F'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1168:4: ('0'..'9'|'a'..'f'|'A'..'F')
+            {
+            if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) {
+                input.consume();
+
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recover(mse);    throw mse;
+            }
+
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end HEX_DIGIT
+
+    // $ANTLR start OCTAL_DIGIT
+    public void mOCTAL_DIGIT() throws RecognitionException {
+        try {
+            ruleNestingLevel++;
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1173:4: ( '0' .. '7' )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1173:4: '0' .. '7'
+            {
+            matchRange('0','7'); 
+
+            }
+
+        }
+        finally {
+            ruleNestingLevel--;
+        }
+    }
+    // $ANTLR end OCTAL_DIGIT
+
+    public void mTokens() throws RecognitionException {
+        // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:10: ( T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | QUESTION | LPAREN | RPAREN | LBRACK | RBRACK | LCURLY | RCURLY | COLON | COMMA | DOT | ASSIGN | EQUAL | LNOT | BNOT | NOT_EQUAL | DIV | DIV_ASSIGN | PLUS | PLUS_ASSIGN | INC | MINUS | MINUS_ASSIGN | DEC | STAR | STAR_ASSIGN | MOD | MOD_ASSIGN | SR | SR_ASSIGN | BSR | BSR_ASSIGN | GE | GT | SL | SL_ASSIGN | LE | LT | BXOR | BXOR_ASSIGN | BOR | BOR_ASSIGN | LOR | BAND | BAND_ASSIGN | LAND | SEMI | WS | SL_COMMENT | ML_COMMENT | IDENT | NUM_INT | NUM_FLOAT | CHAR_LITERAL | STRING_LITERAL )
+        int alt25=102;
+        alt25 = dfa25.predict(input);
+        switch (alt25) {
+            case 1 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:10: T68
+                {
+                mT68(); 
+
+                }
+                break;
+            case 2 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:14: T69
+                {
+                mT69(); 
+
+                }
+                break;
+            case 3 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:18: T70
+                {
+                mT70(); 
+
+                }
+                break;
+            case 4 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:22: T71
+                {
+                mT71(); 
+
+                }
+                break;
+            case 5 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:26: T72
+                {
+                mT72(); 
+
+                }
+                break;
+            case 6 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:30: T73
+                {
+                mT73(); 
+
+                }
+                break;
+            case 7 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:34: T74
+                {
+                mT74(); 
+
+                }
+                break;
+            case 8 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:38: T75
+                {
+                mT75(); 
+
+                }
+                break;
+            case 9 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:42: T76
+                {
+                mT76(); 
+
+                }
+                break;
+            case 10 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:46: T77
+                {
+                mT77(); 
+
+                }
+                break;
+            case 11 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:50: T78
+                {
+                mT78(); 
+
+                }
+                break;
+            case 12 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:54: T79
+                {
+                mT79(); 
+
+                }
+                break;
+            case 13 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:58: T80
+                {
+                mT80(); 
+
+                }
+                break;
+            case 14 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:62: T81
+                {
+                mT81(); 
+
+                }
+                break;
+            case 15 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:66: T82
+                {
+                mT82(); 
+
+                }
+                break;
+            case 16 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:70: T83
+                {
+                mT83(); 
+
+                }
+                break;
+            case 17 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:74: T84
+                {
+                mT84(); 
+
+                }
+                break;
+            case 18 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:78: T85
+                {
+                mT85(); 
+
+                }
+                break;
+            case 19 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:82: T86
+                {
+                mT86(); 
+
+                }
+                break;
+            case 20 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:86: T87
+                {
+                mT87(); 
+
+                }
+                break;
+            case 21 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:90: T88
+                {
+                mT88(); 
+
+                }
+                break;
+            case 22 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:94: T89
+                {
+                mT89(); 
+
+                }
+                break;
+            case 23 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:98: T90
+                {
+                mT90(); 
+
+                }
+                break;
+            case 24 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:102: T91
+                {
+                mT91(); 
+
+                }
+                break;
+            case 25 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:106: T92
+                {
+                mT92(); 
+
+                }
+                break;
+            case 26 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:110: T93
+                {
+                mT93(); 
+
+                }
+                break;
+            case 27 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:114: T94
+                {
+                mT94(); 
+
+                }
+                break;
+            case 28 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:118: T95
+                {
+                mT95(); 
+
+                }
+                break;
+            case 29 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:122: T96
+                {
+                mT96(); 
+
+                }
+                break;
+            case 30 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:126: T97
+                {
+                mT97(); 
+
+                }
+                break;
+            case 31 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:130: T98
+                {
+                mT98(); 
+
+                }
+                break;
+            case 32 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:134: T99
+                {
+                mT99(); 
+
+                }
+                break;
+            case 33 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:138: T100
+                {
+                mT100(); 
+
+                }
+                break;
+            case 34 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:143: T101
+                {
+                mT101(); 
+
+                }
+                break;
+            case 35 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:148: T102
+                {
+                mT102(); 
+
+                }
+                break;
+            case 36 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:153: T103
+                {
+                mT103(); 
+
+                }
+                break;
+            case 37 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:158: T104
+                {
+                mT104(); 
+
+                }
+                break;
+            case 38 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:163: T105
+                {
+                mT105(); 
+
+                }
+                break;
+            case 39 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:168: T106
+                {
+                mT106(); 
+
+                }
+                break;
+            case 40 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:173: T107
+                {
+                mT107(); 
+
+                }
+                break;
+            case 41 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:178: T108
+                {
+                mT108(); 
+
+                }
+                break;
+            case 42 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:183: T109
+                {
+                mT109(); 
+
+                }
+                break;
+            case 43 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:188: T110
+                {
+                mT110(); 
+
+                }
+                break;
+            case 44 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:193: T111
+                {
+                mT111(); 
+
+                }
+                break;
+            case 45 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:198: T112
+                {
+                mT112(); 
+
+                }
+                break;
+            case 46 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:203: T113
+                {
+                mT113(); 
+
+                }
+                break;
+            case 47 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:208: T114
+                {
+                mT114(); 
+
+                }
+                break;
+            case 48 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:213: T115
+                {
+                mT115(); 
+
+                }
+                break;
+            case 49 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:218: QUESTION
+                {
+                mQUESTION(); 
+
+                }
+                break;
+            case 50 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:227: LPAREN
+                {
+                mLPAREN(); 
+
+                }
+                break;
+            case 51 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:234: RPAREN
+                {
+                mRPAREN(); 
+
+                }
+                break;
+            case 52 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:241: LBRACK
+                {
+                mLBRACK(); 
+
+                }
+                break;
+            case 53 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:248: RBRACK
+                {
+                mRBRACK(); 
+
+                }
+                break;
+            case 54 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:255: LCURLY
+                {
+                mLCURLY(); 
+
+                }
+                break;
+            case 55 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:262: RCURLY
+                {
+                mRCURLY(); 
+
+                }
+                break;
+            case 56 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:269: COLON
+                {
+                mCOLON(); 
+
+                }
+                break;
+            case 57 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:275: COMMA
+                {
+                mCOMMA(); 
+
+                }
+                break;
+            case 58 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:281: DOT
+                {
+                mDOT(); 
+
+                }
+                break;
+            case 59 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:285: ASSIGN
+                {
+                mASSIGN(); 
+
+                }
+                break;
+            case 60 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:292: EQUAL
+                {
+                mEQUAL(); 
+
+                }
+                break;
+            case 61 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:298: LNOT
+                {
+                mLNOT(); 
+
+                }
+                break;
+            case 62 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:303: BNOT
+                {
+                mBNOT(); 
+
+                }
+                break;
+            case 63 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:308: NOT_EQUAL
+                {
+                mNOT_EQUAL(); 
+
+                }
+                break;
+            case 64 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:318: DIV
+                {
+                mDIV(); 
+
+                }
+                break;
+            case 65 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:322: DIV_ASSIGN
+                {
+                mDIV_ASSIGN(); 
+
+                }
+                break;
+            case 66 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:333: PLUS
+                {
+                mPLUS(); 
+
+                }
+                break;
+            case 67 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:338: PLUS_ASSIGN
+                {
+                mPLUS_ASSIGN(); 
+
+                }
+                break;
+            case 68 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:350: INC
+                {
+                mINC(); 
+
+                }
+                break;
+            case 69 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:354: MINUS
+                {
+                mMINUS(); 
+
+                }
+                break;
+            case 70 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:360: MINUS_ASSIGN
+                {
+                mMINUS_ASSIGN(); 
+
+                }
+                break;
+            case 71 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:373: DEC
+                {
+                mDEC(); 
+
+                }
+                break;
+            case 72 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:377: STAR
+                {
+                mSTAR(); 
+
+                }
+                break;
+            case 73 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:382: STAR_ASSIGN
+                {
+                mSTAR_ASSIGN(); 
+
+                }
+                break;
+            case 74 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:394: MOD
+                {
+                mMOD(); 
+
+                }
+                break;
+            case 75 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:398: MOD_ASSIGN
+                {
+                mMOD_ASSIGN(); 
+
+                }
+                break;
+            case 76 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:409: SR
+                {
+                mSR(); 
+
+                }
+                break;
+            case 77 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:412: SR_ASSIGN
+                {
+                mSR_ASSIGN(); 
+
+                }
+                break;
+            case 78 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:422: BSR
+                {
+                mBSR(); 
+
+                }
+                break;
+            case 79 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:426: BSR_ASSIGN
+                {
+                mBSR_ASSIGN(); 
+
+                }
+                break;
+            case 80 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:437: GE
+                {
+                mGE(); 
+
+                }
+                break;
+            case 81 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:440: GT
+                {
+                mGT(); 
+
+                }
+                break;
+            case 82 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:443: SL
+                {
+                mSL(); 
+
+                }
+                break;
+            case 83 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:446: SL_ASSIGN
+                {
+                mSL_ASSIGN(); 
+
+                }
+                break;
+            case 84 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:456: LE
+                {
+                mLE(); 
+
+                }
+                break;
+            case 85 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:459: LT
+                {
+                mLT(); 
+
+                }
+                break;
+            case 86 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:462: BXOR
+                {
+                mBXOR(); 
+
+                }
+                break;
+            case 87 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:467: BXOR_ASSIGN
+                {
+                mBXOR_ASSIGN(); 
+
+                }
+                break;
+            case 88 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:479: BOR
+                {
+                mBOR(); 
+
+                }
+                break;
+            case 89 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:483: BOR_ASSIGN
+                {
+                mBOR_ASSIGN(); 
+
+                }
+                break;
+            case 90 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:494: LOR
+                {
+                mLOR(); 
+
+                }
+                break;
+            case 91 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:498: BAND
+                {
+                mBAND(); 
+
+                }
+                break;
+            case 92 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:503: BAND_ASSIGN
+                {
+                mBAND_ASSIGN(); 
+
+                }
+                break;
+            case 93 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:515: LAND
+                {
+                mLAND(); 
+
+                }
+                break;
+            case 94 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:520: SEMI
+                {
+                mSEMI(); 
+
+                }
+                break;
+            case 95 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:525: WS
+                {
+                mWS(); 
+
+                }
+                break;
+            case 96 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:528: SL_COMMENT
+                {
+                mSL_COMMENT(); 
+
+                }
+                break;
+            case 97 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:539: ML_COMMENT
+                {
+                mML_COMMENT(); 
+
+                }
+                break;
+            case 98 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:550: IDENT
+                {
+                mIDENT(); 
+
+                }
+                break;
+            case 99 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:556: NUM_INT
+                {
+                mNUM_INT(); 
+
+                }
+                break;
+            case 100 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:564: NUM_FLOAT
+                {
+                mNUM_FLOAT(); 
+
+                }
+                break;
+            case 101 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:574: CHAR_LITERAL
+                {
+                mCHAR_LITERAL(); 
+
+                }
+                break;
+            case 102 :
+                // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:1:587: STRING_LITERAL
+                {
+                mSTRING_LITERAL(); 
+
+                }
+                break;
+
+        }
+
+    }
+
+
+    protected DFA19 dfa19 = new DFA19(this);
+    protected DFA25 dfa25 = new DFA25(this);
+    public static final String DFA19_eotS =
+        "\7\uffff\1\10\2\uffff";
+    public static final String DFA19_eofS =
+        "\12\uffff";
+    public static final String DFA19_minS =
+        "\2\56\2\uffff\1\53\1\uffff\2\60\2\uffff";
+    public static final String DFA19_maxS =
+        "\1\71\1\146\2\uffff\1\71\1\uffff\1\71\1\146\2\uffff";
+    public static final String DFA19_acceptS =
+        "\2\uffff\1\2\1\5\1\uffff\1\1\2\uffff\1\4\1\3";
+    public static final String DFA19_specialS =
+        "\12\uffff}>";
+    public static final String[] DFA19_transition = {
+        "\1\2\1\uffff\12\1",
+        "\1\5\1\uffff\12\1\12\uffff\1\3\1\4\1\3\35\uffff\1\3\1\4\1\3",
+        "",
+        "",
+        "\1\6\1\uffff\1\6\2\uffff\12\7",
+        "",
+        "\12\7",
+        "\12\7\12\uffff\1\11\1\uffff\1\11\35\uffff\1\11\1\uffff\1\11",
+        "",
+        ""
+    };
+
+    class DFA19 extends DFA {
+        public DFA19(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 19;
+            this.eot = DFA.unpackEncodedString(DFA19_eotS);
+            this.eof = DFA.unpackEncodedString(DFA19_eofS);
+            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA19_minS);
+            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA19_maxS);
+            this.accept = DFA.unpackEncodedString(DFA19_acceptS);
+            this.special = DFA.unpackEncodedString(DFA19_specialS);
+            int numStates = DFA19_transition.length;
+            this.transition = new short[numStates][];
+            for (int i=0; i<numStates; i++) {
+                transition[i] = DFA.unpackEncodedString(DFA19_transition[i]);
+            }
+        }
+        public String getDescription() {
+            return "1104:1: NUM_FLOAT : ( DIGITS '.' ( DIGITS )? ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | '.' DIGITS ( EXPONENT_PART )? ( FLOAT_TYPE_SUFFIX )? | DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX | DIGITS EXPONENT_PART | DIGITS FLOAT_TYPE_SUFFIX );";
+        }
+    }
+    public static final String DFA25_eotS =
+        "\1\uffff\17\51\11\uffff\1\122\1\124\1\126\1\uffff\1\132\1\135\1"+
+        "\140\1\142\1\144\1\147\1\152\1\154\1\157\1\162\3\uffff\2\163\2\uffff"+
+        "\17\51\1\u0089\5\51\1\u0090\15\51\25\uffff\1\u00a4\1\uffff\1\u00a6"+
+        "\13\uffff\2\163\21\51\1\u00b9\1\51\1\uffff\1\u00bb\5\51\1\uffff"+
+        "\4\51\1\u00c5\7\51\1\u00ce\4\51\1\u00d4\4\uffff\1\u00d5\3\51\1\u00d9"+
+        "\1\u00da\1\51\1\u00dc\12\51\1\uffff\1\51\1\uffff\3\51\1\u00eb\5"+
+        "\51\1\uffff\1\51\1\u00f2\2\51\1\u00f5\1\51\1\u00f7\1\51\1\uffff"+
+        "\1\u00f9\3\51\3\uffff\2\51\1\u00ff\2\uffff\1\u0100\1\uffff\1\u0101"+
+        "\1\51\1\u0103\4\51\1\u0108\3\51\1\u010c\1\u010e\1\u010f\1\uffff"+
+        "\6\51\1\uffff\1\51\1\u0118\1\uffff\1\51\1\uffff\1\51\1\uffff\1\51"+
+        "\1\u011c\3\51\3\uffff\1\51\1\uffff\2\51\1\u0123\1\u0124\1\uffff"+
+        "\3\51\1\uffff\1\51\2\uffff\1\u0129\1\51\1\u012b\4\51\1\u0130\1\uffff"+
+        "\1\51\1\u0132\1\51\1\uffff\1\u0134\1\51\1\u0136\3\51\2\uffff\3\51"+
+        "\1\u013d\1\uffff\1\u013e\1\uffff\1\51\1\u0140\2\51\1\uffff\1\51"+
+        "\1\uffff\1\u0144\1\uffff\1\u0145\1\uffff\1\u0146\1\51\1\u0148\3"+
+        "\51\2\uffff\1\51\1\uffff\2\51\1\u014f\3\uffff\1\51\1\uffff\1\51"+
+        "\1\u0152\1\51\1\u0154\1\u0155\1\51\1\uffff\1\51\1\u0158\1\uffff"+
+        "\1\u0159\2\uffff\1\u015a\1\51\3\uffff\1\u015c\1\uffff";
+    public static final String DFA25_eofS =
+        "\u015d\uffff";
+    public static final String DFA25_minS =
+        "\1\11\2\157\1\141\1\150\1\146\1\141\1\157\1\145\1\162\1\150\1\142"+
+        "\1\141\1\154\1\150\1\145\11\uffff\1\60\2\75\1\uffff\1\52\1\53\1"+
+        "\55\3\75\1\74\2\75\1\46\3\uffff\2\56\2\uffff\1\151\1\157\1\145\1"+
+        "\164\1\163\2\141\1\156\1\160\1\156\1\141\1\151\1\157\1\160\1\163"+
+        "\1\44\1\162\1\154\1\156\1\157\1\156\1\44\1\146\1\142\1\151\1\141"+
+        "\1\151\1\163\1\154\1\164\1\167\1\163\1\164\1\151\1\164\25\uffff"+
+        "\1\75\1\uffff\1\75\13\uffff\2\56\1\144\1\141\1\154\1\141\2\145\1"+
+        "\143\1\162\1\163\1\164\1\145\1\143\1\151\2\164\1\162\1\154\1\44"+
+        "\1\164\1\uffff\1\44\1\163\2\141\1\147\1\142\1\uffff\1\141\1\154"+
+        "\1\164\1\166\1\44\1\156\2\145\1\163\1\164\1\154\1\151\1\44\2\145"+
+        "\1\154\1\165\1\75\4\uffff\1\44\1\164\1\145\1\153\2\44\1\150\1\44"+
+        "\1\163\1\151\1\162\1\150\1\143\1\151\1\143\1\164\1\145\1\162\1\uffff"+
+        "\1\141\1\uffff\1\145\1\154\1\164\1\44\1\154\1\165\1\151\1\145\1"+
+        "\141\1\uffff\1\163\1\44\1\141\1\167\1\44\1\162\1\44\1\166\1\uffff"+
+        "\1\44\1\156\1\145\1\162\3\uffff\1\151\1\141\1\44\2\uffff\1\44\1"+
+        "\uffff\1\44\1\156\1\44\1\162\1\164\1\143\1\150\1\44\1\155\1\146"+
+        "\1\156\3\44\1\uffff\1\145\1\154\2\143\1\164\1\151\1\uffff\1\144"+
+        "\1\44\1\uffff\1\141\1\uffff\1\145\1\uffff\1\144\1\44\1\156\1\154"+
+        "\1\156\3\uffff\1\165\1\uffff\1\157\1\146\2\44\1\uffff\1\145\1\141"+
+        "\1\143\1\uffff\1\171\2\uffff\1\44\1\164\1\44\1\164\2\145\1\163\1"+
+        "\44\1\uffff\1\143\1\44\1\163\1\uffff\1\44\1\145\1\44\1\145\1\156"+
+        "\1\160\2\uffff\1\156\1\143\1\145\1\44\1\uffff\1\44\1\uffff\1\145"+
+        "\1\44\1\156\1\141\1\uffff\1\164\1\uffff\1\44\1\uffff\1\44\1\uffff"+
+        "\1\44\1\151\1\44\1\164\1\145\1\157\2\uffff\1\144\1\uffff\1\164\1"+
+        "\146\1\44\3\uffff\1\172\1\uffff\1\163\1\44\1\146\2\44\1\145\1\uffff"+
+        "\1\145\1\44\1\uffff\1\44\2\uffff\1\44\1\144\3\uffff\1\44\1\uffff";
+    public static final String DFA25_maxS =
+        "\1\176\1\157\1\171\1\157\1\171\1\156\3\157\1\165\1\162\1\142\1\165"+
+        "\1\170\1\150\1\145\11\uffff\1\71\2\75\1\uffff\5\75\1\76\2\75\1\174"+
+        "\1\75\3\uffff\2\146\2\uffff\1\154\1\157\1\145\2\164\2\141\1\156"+
+        "\1\160\1\156\1\162\1\151\1\157\1\160\1\164\1\172\1\162\1\154\1\156"+
+        "\1\157\1\156\1\172\1\146\1\142\1\157\1\171\1\162\1\163\1\154\1\164"+
+        "\1\167\1\163\1\164\1\151\1\164\25\uffff\1\76\1\uffff\1\75\13\uffff"+
+        "\2\146\1\144\1\141\1\154\1\141\2\145\1\143\1\162\1\163\1\164\1\145"+
+        "\1\143\1\151\2\164\1\162\1\154\1\172\1\164\1\uffff\1\172\1\163\2"+
+        "\141\1\147\1\142\1\uffff\1\141\1\154\1\164\1\166\1\172\1\156\1\145"+
+        "\1\157\1\163\1\164\1\154\1\151\1\172\2\145\1\154\1\165\1\75\4\uffff"+
+        "\1\172\1\164\1\145\1\153\2\172\1\150\1\172\1\163\1\151\1\162\1\150"+
+        "\1\143\1\151\1\143\1\164\1\145\1\162\1\uffff\1\141\1\uffff\1\145"+
+        "\1\154\1\164\1\172\1\154\1\165\1\151\1\145\1\141\1\uffff\1\163\1"+
+        "\172\1\141\1\167\1\172\1\162\1\172\1\166\1\uffff\1\172\1\156\1\145"+
+        "\1\162\3\uffff\1\151\1\141\1\172\2\uffff\1\172\1\uffff\1\172\1\156"+
+        "\1\172\1\162\1\164\1\143\1\150\1\172\1\155\1\146\1\156\3\172\1\uffff"+
+        "\1\145\1\154\2\143\1\164\1\151\1\uffff\1\144\1\172\1\uffff\1\141"+
+        "\1\uffff\1\145\1\uffff\1\144\1\172\1\156\1\154\1\156\3\uffff\1\165"+
+        "\1\uffff\1\157\1\146\2\172\1\uffff\1\145\1\141\1\143\1\uffff\1\171"+
+        "\2\uffff\1\172\1\164\1\172\1\164\2\145\1\163\1\172\1\uffff\1\143"+
+        "\1\172\1\163\1\uffff\1\172\1\145\1\172\1\145\1\156\1\160\2\uffff"+
+        "\1\156\1\143\1\145\1\172\1\uffff\1\172\1\uffff\1\145\1\172\1\156"+
+        "\1\141\1\uffff\1\164\1\uffff\1\172\1\uffff\1\172\1\uffff\1\172\1"+
+        "\151\1\172\1\164\1\145\1\157\2\uffff\1\144\1\uffff\1\164\1\146\1"+
+        "\172\3\uffff\1\172\1\uffff\1\163\1\172\1\146\2\172\1\145\1\uffff"+
+        "\1\145\1\172\1\uffff\1\172\2\uffff\1\172\1\144\3\uffff\1\172\1\uffff";
+    public static final String DFA25_acceptS =
+        "\20\uffff\1\61\1\62\1\63\1\64\1\65\1\66\1\67\1\70\1\71\3\uffff\1"+
+        "\76\12\uffff\1\136\1\137\1\142\2\uffff\1\145\1\146\43\uffff\1\144"+
+        "\1\72\1\74\1\73\1\77\1\75\1\140\1\141\1\101\1\100\1\103\1\104\1"+
+        "\102\1\107\1\106\1\105\1\111\1\110\1\113\1\112\1\120\1\uffff\1\121"+
+        "\1\uffff\1\124\1\125\1\127\1\126\1\132\1\131\1\130\1\135\1\134\1"+
+        "\133\1\143\25\uffff\1\35\6\uffff\1\41\22\uffff\1\115\1\114\1\123"+
+        "\1\122\22\uffff\1\6\1\uffff\1\37\11\uffff\1\51\10\uffff\1\60\4\uffff"+
+        "\1\117\1\116\1\1\3\uffff\1\3\1\47\1\uffff\1\4\16\uffff\1\10\6\uffff"+
+        "\1\55\2\uffff\1\32\1\uffff\1\57\1\uffff\1\36\5\uffff\1\42\1\53\1"+
+        "\26\1\uffff\1\33\4\uffff\1\5\3\uffff\1\56\1\uffff\1\17\1\7\10\uffff"+
+        "\1\46\3\uffff\1\40\6\uffff\1\15\1\45\4\uffff\1\11\1\uffff\1\13\4"+
+        "\uffff\1\34\1\uffff\1\21\1\uffff\1\44\1\uffff\1\2\6\uffff\1\52\1"+
+        "\50\1\uffff\1\12\3\uffff\1\27\1\24\1\43\1\uffff\1\25\6\uffff\1\20"+
+        "\2\uffff\1\30\1\uffff\1\14\1\16\2\uffff\1\31\1\54\1\22\1\uffff\1"+
+        "\23";
+    public static final String DFA25_specialS =
+        "\u015d\uffff}>";
+    public static final String[] DFA25_transition = {
+        "\2\50\1\uffff\2\50\22\uffff\1\50\1\33\1\55\1\uffff\1\51\1\41\1\46"+
+        "\1\54\1\21\1\22\1\40\1\36\1\30\1\37\1\31\1\35\1\53\11\52\1\27\1"+
+        "\47\1\43\1\32\1\42\1\20\1\uffff\32\51\1\23\1\uffff\1\24\1\44\1\51"+
+        "\1\uffff\1\13\1\2\1\3\1\10\1\15\1\6\2\51\1\5\2\51\1\7\1\51\1\14"+
+        "\1\51\1\11\1\51\1\17\1\4\1\12\1\51\1\1\1\16\3\51\1\25\1\45\1\26"+
+        "\1\34",
+        "\1\56",
+        "\1\57\2\uffff\1\60\6\uffff\1\61",
+        "\1\62\6\uffff\1\63\3\uffff\1\64\2\uffff\1\65",
+        "\1\72\13\uffff\1\70\1\66\1\uffff\1\71\1\uffff\1\67",
+        "\1\75\6\uffff\1\73\1\74",
+        "\1\77\7\uffff\1\100\2\uffff\1\101\2\uffff\1\76",
+        "\1\102",
+        "\1\104\11\uffff\1\103",
+        "\1\106\2\uffff\1\105",
+        "\1\110\11\uffff\1\107",
+        "\1\111",
+        "\1\113\3\uffff\1\114\17\uffff\1\112",
+        "\1\115\13\uffff\1\116",
+        "\1\117",
+        "\1\120",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "\12\121",
+        "\1\123",
+        "\1\125",
+        "",
+        "\1\130\4\uffff\1\127\15\uffff\1\131",
+        "\1\134\21\uffff\1\133",
+        "\1\136\17\uffff\1\137",
+        "\1\141",
+        "\1\143",
+        "\1\145\1\146",
+        "\1\150\1\151",
+        "\1\153",
+        "\1\156\76\uffff\1\155",
+        "\1\160\26\uffff\1\161",
+        "",
+        "",
+        "",
+        "\1\121\1\uffff\12\164\12\uffff\3\121\35\uffff\3\121",
+        "\1\121\1\uffff\10\165\2\121\12\uffff\3\121\35\uffff\3\121",
+        "",
+        "",
+        "\1\166\2\uffff\1\167",
+        "\1\170",
+        "\1\171",
+        "\1\172",
+        "\1\173\1\174",
+        "\1\175",
+        "\1\176",
+        "\1\177",
+        "\1\u0080",
+        "\1\u0081",
+        "\1\u0083\20\uffff\1\u0082",
+        "\1\u0084",
+        "\1\u0085",
+        "\1\u0086",
+        "\1\u0088\1\u0087",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u008a",
+        "\1\u008b",
+        "\1\u008c",
+        "\1\u008d",
+        "\1\u008e",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\24\51\1"+
+        "\u008f\5\51",
+        "\1\u0091",
+        "\1\u0092",
+        "\1\u0094\5\uffff\1\u0093",
+        "\1\u0096\23\uffff\1\u0097\3\uffff\1\u0095",
+        "\1\u0099\10\uffff\1\u0098",
+        "\1\u009a",
+        "\1\u009b",
+        "\1\u009c",
+        "\1\u009d",
+        "\1\u009e",
+        "\1\u009f",
+        "\1\u00a0",
+        "\1\u00a1",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "\1\u00a3\1\u00a2",
+        "",
+        "\1\u00a5",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "\1\121\1\uffff\12\164\12\uffff\3\121\35\uffff\3\121",
+        "\1\121\1\uffff\10\165\2\121\12\uffff\3\121\35\uffff\3\121",
+        "\1\u00a7",
+        "\1\u00a8",
+        "\1\u00a9",
+        "\1\u00aa",
+        "\1\u00ab",
+        "\1\u00ac",
+        "\1\u00ad",
+        "\1\u00ae",
+        "\1\u00af",
+        "\1\u00b0",
+        "\1\u00b1",
+        "\1\u00b2",
+        "\1\u00b3",
+        "\1\u00b4",
+        "\1\u00b5",
+        "\1\u00b6",
+        "\1\u00b7",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\4\51\1\u00b8"+
+        "\25\51",
+        "\1\u00ba",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00bc",
+        "\1\u00bd",
+        "\1\u00be",
+        "\1\u00bf",
+        "\1\u00c0",
+        "",
+        "\1\u00c1",
+        "\1\u00c2",
+        "\1\u00c3",
+        "\1\u00c4",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00c6",
+        "\1\u00c7",
+        "\1\u00c8\11\uffff\1\u00c9",
+        "\1\u00ca",
+        "\1\u00cb",
+        "\1\u00cc",
+        "\1\u00cd",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00cf",
+        "\1\u00d0",
+        "\1\u00d1",
+        "\1\u00d2",
+        "\1\u00d3",
+        "",
+        "",
+        "",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00d6",
+        "\1\u00d7",
+        "\1\u00d8",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00db",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00dd",
+        "\1\u00de",
+        "\1\u00df",
+        "\1\u00e0",
+        "\1\u00e1",
+        "\1\u00e2",
+        "\1\u00e3",
+        "\1\u00e4",
+        "\1\u00e5",
+        "\1\u00e6",
+        "",
+        "\1\u00e7",
+        "",
+        "\1\u00e8",
+        "\1\u00e9",
+        "\1\u00ea",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00ec",
+        "\1\u00ed",
+        "\1\u00ee",
+        "\1\u00ef",
+        "\1\u00f0",
+        "",
+        "\1\u00f1",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00f3",
+        "\1\u00f4",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00f6",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00f8",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u00fa",
+        "\1\u00fb",
+        "\1\u00fc",
+        "",
+        "",
+        "",
+        "\1\u00fd",
+        "\1\u00fe",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0102",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0104",
+        "\1\u0105",
+        "\1\u0106",
+        "\1\u0107",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0109",
+        "\1\u010a",
+        "\1\u010b",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\13\51\1"+
+        "\u010d\16\51",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\u0110",
+        "\1\u0111",
+        "\1\u0112",
+        "\1\u0113",
+        "\1\u0114",
+        "\1\u0115",
+        "",
+        "\1\u0116",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\22\51\1"+
+        "\u0117\7\51",
+        "",
+        "\1\u0119",
+        "",
+        "\1\u011a",
+        "",
+        "\1\u011b",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u011d",
+        "\1\u011e",
+        "\1\u011f",
+        "",
+        "",
+        "",
+        "\1\u0120",
+        "",
+        "\1\u0121",
+        "\1\u0122",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\u0125",
+        "\1\u0126",
+        "\1\u0127",
+        "",
+        "\1\u0128",
+        "",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u012a",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u012c",
+        "\1\u012d",
+        "\1\u012e",
+        "\1\u012f",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\u0131",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0133",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0135",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0137",
+        "\1\u0138",
+        "\1\u0139",
+        "",
+        "",
+        "\1\u013a",
+        "\1\u013b",
+        "\1\u013c",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\u013f",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0141",
+        "\1\u0142",
+        "",
+        "\1\u0143",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0147",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0149",
+        "\1\u014a",
+        "\1\u014b",
+        "",
+        "",
+        "\1\u014c",
+        "",
+        "\1\u014d",
+        "\1\u014e",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "",
+        "",
+        "\1\u0150",
+        "",
+        "\1\u0151",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0153",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u0156",
+        "",
+        "\1\u0157",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        "\1\u015b",
+        "",
+        "",
+        "",
+        "\1\51\13\uffff\12\51\7\uffff\32\51\4\uffff\1\51\1\uffff\32\51",
+        ""
+    };
+
+    class DFA25 extends DFA {
+        public DFA25(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 25;
+            this.eot = DFA.unpackEncodedString(DFA25_eotS);
+            this.eof = DFA.unpackEncodedString(DFA25_eofS);
+            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA25_minS);
+            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA25_maxS);
+            this.accept = DFA.unpackEncodedString(DFA25_acceptS);
+            this.special = DFA.unpackEncodedString(DFA25_specialS);
+            int numStates = DFA25_transition.length;
+            this.transition = new short[numStates][];
+            for (int i=0; i<numStates; i++) {
+                transition[i] = DFA.unpackEncodedString(DFA25_transition[i]);
+            }
+        }
+        public String getDescription() {
+            return "1:1: Tokens : ( T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | T110 | T111 | T112 | T113 | T114 | T115 | QUESTION | LPAREN | RPAREN | LBRACK | RBRACK | LCURLY | RCURLY | COLON | COMMA | DOT | ASSIGN | EQUAL | LNOT | BNOT | NOT_EQUAL | DIV | DIV_ASSIGN | PLUS | PLUS_ASSIGN | INC | MINUS | MINUS_ASSIGN | DEC | STAR | STAR_ASSIGN | MOD | MOD_ASSIGN | SR | SR_ASSIGN | BSR | BSR_ASSIGN | GE | GT | SL | SL_ASSIGN | LE | LT | BXOR | BXOR_ASSIGN | BOR | BOR_ASSIGN | LOR | BAND | BAND_ASSIGN | LAND | SEMI | WS | SL_COMMENT | ML_COMMENT | IDENT | NUM_INT | NUM_FLOAT | CHAR_LITERAL | STRING_LITERAL );";
+        }
+    }
+ 
+
 }
\ No newline at end of file

Added: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserParser.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserParser.java	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserParser.java	2006-11-29 11:53:01 UTC (rev 7929)
@@ -0,0 +1,5197 @@
+// $ANTLR 3.0b5 D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g 2006-11-22 14:58:22
+
+	package org.drools.semantics.java.parser;
+	import java.util.Iterator;
+
+
+import org.antlr.runtime.*;
+import java.util.Stack;
+import java.util.List;
+import java.util.ArrayList;
+
+public class JavaParserParser extends Parser {
+    public static final String[] tokenNames = new String[] {
+        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LBRACK", "RBRACK", "IDENT", "DOT", "STAR", "LCURLY", "SEMI", "RCURLY", "COMMA", "LPAREN", "RPAREN", "ASSIGN", "COLON", "PLUS_ASSIGN", "MINUS_ASSIGN", "STAR_ASSIGN", "DIV_ASSIGN", "MOD_ASSIGN", "SR_ASSIGN", "BSR_ASSIGN", "SL_ASSIGN", "BAND_ASSIGN", "BXOR_ASSIGN", "BOR_ASSIGN", "QUESTION", "LOR", "LAND", "BOR", "BXOR", "BAND", "NOT_EQUAL", "EQUAL", "LT", "GT", "LE", "GE", "SL", "SR", "BSR", "PLUS", "MINUS", "DIV", "MOD", "INC", "DEC", "BNOT", "LNOT", "NUM_INT", "CHAR_LITERAL", "STRING_LITERAL", "NUM_FLOAT", "WS", "SL_COMMENT", "ML_COMMENT", "DECIMAL_LITERAL", "HEX_LITERAL", "OCTAL_LITERAL", "DIGITS", "EXPONENT_PART", "FLOAT_TYPE_SUFFIX", "ESCAPE_SEQUENCE", "OCTAL_DIGIT", "UNICODE_CHAR", "HEX_DIGIT", "'void'", "'boolean'", "'byte'", "'char'", "'short'", "'int'", "'float'", "'long'", "'double'", "'private'", "'public'", "'protected'", "'static'", "'transient'", "'final'", "'abstract'", "'native'", "'threadsafe'", "'synchronized'"!
 , "'volatile'", "'strictfp'", "'class'", "'extends'", "'interface'", "'implements'", "'this'", "'super'", "'throws'", "'if'", "'else'", "'for'", "'while'", "'do'", "'break'", "'continue'", "'return'", "'switch'", "'throw'", "'case'", "'default'", "'try'", "'finally'", "'catch'", "'instanceof'", "'true'", "'false'", "'null'", "'new'"
+    };
+    public static final int COMMA=12;
+    public static final int SR_ASSIGN=22;
+    public static final int MINUS=44;
+    public static final int LOR=29;
+    public static final int BNOT=49;
+    public static final int INC=47;
+    public static final int MOD=46;
+    public static final int OCTAL_LITERAL=60;
+    public static final int PLUS_ASSIGN=17;
+    public static final int QUESTION=28;
+    public static final int HEX_LITERAL=59;
+    public static final int BOR=31;
+    public static final int DOT=7;
+    public static final int SR=41;
+    public static final int FLOAT_TYPE_SUFFIX=63;
+    public static final int RCURLY=11;
+    public static final int LCURLY=9;
+    public static final int CHAR_LITERAL=52;
+    public static final int BOR_ASSIGN=27;
+    public static final int STRING_LITERAL=53;
+    public static final int ASSIGN=15;
+    public static final int LE=38;
+    public static final int RPAREN=14;
+    public static final int STAR_ASSIGN=19;
+    public static final int NUM_INT=51;
+    public static final int LPAREN=13;
+    public static final int HEX_DIGIT=67;
+    public static final int ML_COMMENT=57;
+    public static final int PLUS=43;
+    public static final int SL_COMMENT=56;
+    public static final int BAND=33;
+    public static final int MINUS_ASSIGN=18;
+    public static final int NOT_EQUAL=34;
+    public static final int BAND_ASSIGN=25;
+    public static final int DIGITS=61;
+    public static final int DECIMAL_LITERAL=58;
+    public static final int IDENT=6;
+    public static final int MOD_ASSIGN=21;
+    public static final int WS=55;
+    public static final int BXOR_ASSIGN=26;
+    public static final int LT=36;
+    public static final int BSR=42;
+    public static final int GT=37;
+    public static final int BSR_ASSIGN=23;
+    public static final int SL_ASSIGN=24;
+    public static final int LAND=30;
+    public static final int LBRACK=4;
+    public static final int NUM_FLOAT=54;
+    public static final int SEMI=10;
+    public static final int GE=39;
+    public static final int LNOT=50;
+    public static final int DIV_ASSIGN=20;
+    public static final int UNICODE_CHAR=66;
+    public static final int DEC=48;
+    public static final int EQUAL=35;
+    public static final int ESCAPE_SEQUENCE=64;
+    public static final int EOF=-1;
+    public static final int OCTAL_DIGIT=65;
+    public static final int RBRACK=5;
+    public static final int COLON=16;
+    public static final int SL=40;
+    public static final int DIV=45;
+    public static final int STAR=8;
+    public static final int BXOR=32;
+    public static final int EXPONENT_PART=62;
+
+        public JavaParserParser(TokenStream input) {
+            super(input);
+        }
+        
+
+    public String[] getTokenNames() { return tokenNames; }
+    public String getGrammarFileName() { return "D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g"; }
+
+    
+    	private List identifiers = new ArrayList();
+    	public List getIdentifiers() { return identifiers; }
+    	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
+    	private List errors = new ArrayList();
+    	
+    	private String source = "unknown";
+    	
+    	public void setSource(String source) {
+    		this.source = source;
+    	}
+    	
+    	public String getSource() {
+    		return this.source;
+    	}
+    		
+    	public void reportError(RecognitionException ex) {
+    	        // if we've already reported an error and have not matched a token
+                    // yet successfully, don't report any errors.
+                    if ( errorRecovery ) {
+                            //System.err.print("[SPURIOUS] ");
+                            return;
+                    }
+                    errorRecovery = true;
+    
+    		errors.add( ex ); 
+    	}
+         	
+         	/** return the raw RecognitionException errors */
+         	public List getErrors() {
+         		return errors;
+         	}
+         	
+         	/** Return a list of pretty strings summarising the errors */
+         	public List getErrorMessages() {
+         		List messages = new ArrayList();
+     		for ( Iterator errorIter = errors.iterator() ; errorIter.hasNext() ; ) {
+         	     		messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
+         	     	}
+         	     	return messages;
+         	}
+         	
+         	/** return true if any parser errors were accumulated */
+         	public boolean hasErrors() {
+      		return ! errors.isEmpty();
+         	}
+         	
+         	/** This will take a RecognitionException, and create a sensible error message out of it */
+         	public String createErrorMessage(RecognitionException e)
+            {
+    		StringBuffer message = new StringBuffer();		
+                    message.append( source + ":"+e.line+":"+e.charPositionInLine+" ");
+                    if ( e instanceof MismatchedTokenException ) {
+                            MismatchedTokenException mte = (MismatchedTokenException)e;
+                            message.append("mismatched token: "+
+                                                               e.token+
+                                                               "; expecting type "+
+                                                               tokenNames[mte.expecting]);
+                    }
+                    else if ( e instanceof MismatchedTreeNodeException ) {
+                            MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
+                            message.append("mismatched tree node: "+
+                                                               mtne.foundNode+
+                                                               "; expecting type "+
+                                                               tokenNames[mtne.expecting]);
+                    }
+                    else if ( e instanceof NoViableAltException ) {
+                            NoViableAltException nvae = (NoViableAltException)e;
+    			message.append( "Unexpected token '" + e.token.getText() + "'" );
+                            /*
+                            message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
+                                                               " state "+nvae.stateNumber+
+                                                               " (decision="+nvae.decisionNumber+
+                                                               ") no viable alt; token="+
+                                                               e.token);
+                                                               */
+                    }
+                    else if ( e instanceof EarlyExitException ) {
+                            EarlyExitException eee = (EarlyExitException)e;
+                            message.append("required (...)+ loop (decision="+
+                                                               eee.decisionNumber+
+                                                               ") did not match anything; token="+
+                                                               e.token);
+                    }
+                    else if ( e instanceof MismatchedSetException ) {
+                            MismatchedSetException mse = (MismatchedSetException)e;
+                            message.append("mismatched token '"+
+                                                               e.token+
+                                                               "' expecting set "+mse.expecting);
+                    }
+                    else if ( e instanceof MismatchedNotSetException ) {
+                            MismatchedNotSetException mse = (MismatchedNotSetException)e;
+                            message.append("mismatched token '"+
+                                                               e.token+
+                                                               "' expecting set "+mse.expecting);
+                    }
+                    else if ( e instanceof FailedPredicateException ) {
+                            FailedPredicateException fpe = (FailedPredicateException)e;
+                            message.append("rule "+fpe.ruleName+" failed predicate: {"+
+                                                               fpe.predicateText+"}?");
+    		}
+                   	return message.toString();
+            }   
+
+
+
+    // $ANTLR start declaration
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:139:1: declaration : modifiers typeSpec variableDefinitions ;
+    public void declaration() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:143:4: ( modifiers typeSpec variableDefinitions )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:143:4: modifiers typeSpec variableDefinitions
+            {
+            pushFollow(FOLLOW_modifiers_in_declaration59);
+            modifiers();
+            _fsp--;
+
+            pushFollow(FOLLOW_typeSpec_in_declaration61);
+            typeSpec();
+            _fsp--;
+
+            pushFollow(FOLLOW_variableDefinitions_in_declaration63);
+            variableDefinitions();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end declaration
+
+
+    // $ANTLR start typeSpec
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );
+    public void typeSpec() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:150:4: ( classTypeSpec | builtInTypeSpec )
+            int alt1=2;
+            int LA1_0 = input.LA(1);
+            if ( (LA1_0==IDENT) ) {
+                alt1=1;
+            }
+            else if ( ((LA1_0>=68 && LA1_0<=76)) ) {
+                alt1=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("149:1: typeSpec : ( classTypeSpec | builtInTypeSpec );", 1, 0, input);
+
+                throw nvae;
+            }
+            switch (alt1) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:150:4: classTypeSpec
+                    {
+                    pushFollow(FOLLOW_classTypeSpec_in_typeSpec79);
+                    classTypeSpec();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:151:4: builtInTypeSpec
+                    {
+                    pushFollow(FOLLOW_builtInTypeSpec_in_typeSpec84);
+                    builtInTypeSpec();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end typeSpec
+
+
+    // $ANTLR start classTypeSpec
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:156:1: classTypeSpec : identifier ( LBRACK RBRACK )* ;
+    public void classTypeSpec() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:4: ( identifier ( LBRACK RBRACK )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:4: identifier ( LBRACK RBRACK )*
+            {
+            pushFollow(FOLLOW_identifier_in_classTypeSpec97);
+            identifier();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:15: ( LBRACK RBRACK )*
+            loop2:
+            do {
+                int alt2=2;
+                int LA2_0 = input.LA(1);
+                if ( (LA2_0==LBRACK) ) {
+                    alt2=1;
+                }
+
+
+                switch (alt2) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:157:16: LBRACK RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_classTypeSpec100); 
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_classTypeSpec103); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop2;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end classTypeSpec
+
+
+    // $ANTLR start builtInTypeSpec
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:162:1: builtInTypeSpec : builtInType ( LBRACK RBRACK )* ;
+    public void builtInTypeSpec() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:4: ( builtInType ( LBRACK RBRACK )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:4: builtInType ( LBRACK RBRACK )*
+            {
+            pushFollow(FOLLOW_builtInType_in_builtInTypeSpec118);
+            builtInType();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:16: ( LBRACK RBRACK )*
+            loop3:
+            do {
+                int alt3=2;
+                int LA3_0 = input.LA(1);
+                if ( (LA3_0==LBRACK) ) {
+                    alt3=1;
+                }
+
+
+                switch (alt3) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:163:17: LBRACK RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_builtInTypeSpec121); 
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_builtInTypeSpec124); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop3;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end builtInTypeSpec
+
+
+    // $ANTLR start type
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:168:1: type : ( identifier | builtInType );
+    public void type() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:169:4: ( identifier | builtInType )
+            int alt4=2;
+            int LA4_0 = input.LA(1);
+            if ( (LA4_0==IDENT) ) {
+                alt4=1;
+            }
+            else if ( ((LA4_0>=68 && LA4_0<=76)) ) {
+                alt4=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("168:1: type : ( identifier | builtInType );", 4, 0, input);
+
+                throw nvae;
+            }
+            switch (alt4) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:169:4: identifier
+                    {
+                    pushFollow(FOLLOW_identifier_in_type139);
+                    identifier();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:170:4: builtInType
+                    {
+                    pushFollow(FOLLOW_builtInType_in_type144);
+                    builtInType();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end type
+
+
+    // $ANTLR start builtInType
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:174:1: builtInType : ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double');
+    public void builtInType() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:175:2: ( ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:175:4: ('void'|'boolean'|'byte'|'char'|'short'|'int'|'float'|'long'|'double')
+            {
+            if ( (input.LA(1)>=68 && input.LA(1)<=76) ) {
+                input.consume();
+                errorRecovery=false;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_builtInType156);    throw mse;
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end builtInType
+
+
+    // $ANTLR start identifier
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:188:1: identifier : IDENT ( DOT IDENT )* ;
+    public void identifier() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:4: ( IDENT ( DOT IDENT )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:4: IDENT ( DOT IDENT )*
+            {
+            match(input,IDENT,FOLLOW_IDENT_in_identifier209); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:11: ( DOT IDENT )*
+            loop5:
+            do {
+                int alt5=2;
+                int LA5_0 = input.LA(1);
+                if ( (LA5_0==DOT) ) {
+                    alt5=1;
+                }
+
+
+                switch (alt5) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:189:13: DOT IDENT
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_identifier214); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_identifier216); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop5;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end identifier
+
+
+    // $ANTLR start identifierStar
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:192:1: identifierStar : IDENT ( DOT IDENT )* ( DOT STAR )? ;
+    public void identifierStar() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:193:4: ( IDENT ( DOT IDENT )* ( DOT STAR )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:193:4: IDENT ( DOT IDENT )* ( DOT STAR )?
+            {
+            match(input,IDENT,FOLLOW_IDENT_in_identifierStar230); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:194:3: ( DOT IDENT )*
+            loop6:
+            do {
+                int alt6=2;
+                int LA6_0 = input.LA(1);
+                if ( (LA6_0==DOT) ) {
+                    int LA6_1 = input.LA(2);
+                    if ( (LA6_1==IDENT) ) {
+                        alt6=1;
+                    }
+
+
+                }
+
+
+                switch (alt6) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:194:5: DOT IDENT
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_identifierStar236); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_identifierStar238); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop6;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:195:3: ( DOT STAR )?
+            int alt7=2;
+            int LA7_0 = input.LA(1);
+            if ( (LA7_0==DOT) ) {
+                alt7=1;
+            }
+            switch (alt7) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:195:5: DOT STAR
+                    {
+                    match(input,DOT,FOLLOW_DOT_in_identifierStar247); 
+                    match(input,STAR,FOLLOW_STAR_in_identifierStar249); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end identifierStar
+
+
+    // $ANTLR start modifiers
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:202:1: modifiers : ( modifier )* ;
+    public void modifiers() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( ( modifier )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( modifier )*
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:4: ( modifier )*
+            loop8:
+            do {
+                int alt8=2;
+                int LA8_0 = input.LA(1);
+                if ( ((LA8_0>=77 && LA8_0<=88)) ) {
+                    alt8=1;
+                }
+
+
+                switch (alt8) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:203:6: modifier
+            	    {
+            	    pushFollow(FOLLOW_modifier_in_modifiers270);
+            	    modifier();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop8;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end modifiers
+
+
+    // $ANTLR start modifier
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:208:1: modifier : ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp');
+    public void modifier() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:209:2: ( ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp'))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:209:4: ('private'|'public'|'protected'|'static'|'transient'|'final'|'abstract'|'native'|'threadsafe'|'synchronized'|'volatile'|'strictfp')
+            {
+            if ( (input.LA(1)>=77 && input.LA(1)<=88) ) {
+                input.consume();
+                errorRecovery=false;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_modifier288);    throw mse;
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end modifier
+
+
+    // $ANTLR start classDefinition
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:225:1: classDefinition : 'class' IDENT superClassClause implementsClause classBlock ;
+    public void classDefinition() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:226:4: ( 'class' IDENT superClassClause implementsClause classBlock )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:226:4: 'class' IDENT superClassClause implementsClause classBlock
+            {
+            match(input,89,FOLLOW_89_in_classDefinition356); 
+            match(input,IDENT,FOLLOW_IDENT_in_classDefinition358); 
+            pushFollow(FOLLOW_superClassClause_in_classDefinition365);
+            superClassClause();
+            _fsp--;
+
+            pushFollow(FOLLOW_implementsClause_in_classDefinition372);
+            implementsClause();
+            _fsp--;
+
+            pushFollow(FOLLOW_classBlock_in_classDefinition379);
+            classBlock();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end classDefinition
+
+
+    // $ANTLR start superClassClause
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:235:1: superClassClause : ( 'extends' identifier )? ;
+    public void superClassClause() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( ( 'extends' identifier )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( 'extends' identifier )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:4: ( 'extends' identifier )?
+            int alt9=2;
+            int LA9_0 = input.LA(1);
+            if ( (LA9_0==90) ) {
+                alt9=1;
+            }
+            switch (alt9) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:236:6: 'extends' identifier
+                    {
+                    match(input,90,FOLLOW_90_in_superClassClause392); 
+                    pushFollow(FOLLOW_identifier_in_superClassClause394);
+                    identifier();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end superClassClause
+
+
+    // $ANTLR start interfaceDefinition
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:241:1: interfaceDefinition : 'interface' IDENT interfaceExtends classBlock ;
+    public void interfaceDefinition() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:242:4: ( 'interface' IDENT interfaceExtends classBlock )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:242:4: 'interface' IDENT interfaceExtends classBlock
+            {
+            match(input,91,FOLLOW_91_in_interfaceDefinition412); 
+            match(input,IDENT,FOLLOW_IDENT_in_interfaceDefinition414); 
+            pushFollow(FOLLOW_interfaceExtends_in_interfaceDefinition421);
+            interfaceExtends();
+            _fsp--;
+
+            pushFollow(FOLLOW_classBlock_in_interfaceDefinition428);
+            classBlock();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end interfaceDefinition
+
+
+    // $ANTLR start classBlock
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:252:1: classBlock : LCURLY ( field | SEMI )* RCURLY ;
+    public void classBlock() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:253:4: ( LCURLY ( field | SEMI )* RCURLY )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:253:4: LCURLY ( field | SEMI )* RCURLY
+            {
+            match(input,LCURLY,FOLLOW_LCURLY_in_classBlock442); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:4: ( field | SEMI )*
+            loop10:
+            do {
+                int alt10=3;
+                int LA10_0 = input.LA(1);
+                if ( (LA10_0==IDENT||LA10_0==LCURLY||(LA10_0>=68 && LA10_0<=89)||LA10_0==91) ) {
+                    alt10=1;
+                }
+                else if ( (LA10_0==SEMI) ) {
+                    alt10=2;
+                }
+
+
+                switch (alt10) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:6: field
+            	    {
+            	    pushFollow(FOLLOW_field_in_classBlock449);
+            	    field();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:254:14: SEMI
+            	    {
+            	    match(input,SEMI,FOLLOW_SEMI_in_classBlock453); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop10;
+                }
+            } while (true);
+
+            match(input,RCURLY,FOLLOW_RCURLY_in_classBlock460); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end classBlock
+
+
+    // $ANTLR start interfaceExtends
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:260:1: interfaceExtends : ( 'extends' identifier ( COMMA identifier )* )? ;
+    public void interfaceExtends() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( ( 'extends' identifier ( COMMA identifier )* )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( 'extends' identifier ( COMMA identifier )* )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:261:4: ( 'extends' identifier ( COMMA identifier )* )?
+            int alt12=2;
+            int LA12_0 = input.LA(1);
+            if ( (LA12_0==90) ) {
+                alt12=1;
+            }
+            switch (alt12) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:262:3: 'extends' identifier ( COMMA identifier )*
+                    {
+                    match(input,90,FOLLOW_90_in_interfaceExtends479); 
+                    pushFollow(FOLLOW_identifier_in_interfaceExtends483);
+                    identifier();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:263:14: ( COMMA identifier )*
+                    loop11:
+                    do {
+                        int alt11=2;
+                        int LA11_0 = input.LA(1);
+                        if ( (LA11_0==COMMA) ) {
+                            alt11=1;
+                        }
+
+
+                        switch (alt11) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:263:16: COMMA identifier
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_interfaceExtends487); 
+                    	    pushFollow(FOLLOW_identifier_in_interfaceExtends489);
+                    	    identifier();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop11;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end interfaceExtends
+
+
+    // $ANTLR start implementsClause
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:268:1: implementsClause : ( 'implements' identifier ( COMMA identifier )* )? ;
+    public void implementsClause() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( ( 'implements' identifier ( COMMA identifier )* )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( 'implements' identifier ( COMMA identifier )* )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:269:4: ( 'implements' identifier ( COMMA identifier )* )?
+            int alt14=2;
+            int LA14_0 = input.LA(1);
+            if ( (LA14_0==92) ) {
+                alt14=1;
+            }
+            switch (alt14) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:4: 'implements' identifier ( COMMA identifier )*
+                    {
+                    match(input,92,FOLLOW_92_in_implementsClause514); 
+                    pushFollow(FOLLOW_identifier_in_implementsClause516);
+                    identifier();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:28: ( COMMA identifier )*
+                    loop13:
+                    do {
+                        int alt13=2;
+                        int LA13_0 = input.LA(1);
+                        if ( (LA13_0==COMMA) ) {
+                            alt13=1;
+                        }
+
+
+                        switch (alt13) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:270:30: COMMA identifier
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_implementsClause520); 
+                    	    pushFollow(FOLLOW_identifier_in_implementsClause522);
+                    	    identifier();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop13;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end implementsClause
+
+
+    // $ANTLR start field
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );
+    public void field() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:280:3: ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement )
+            int alt19=3;
+            switch ( input.LA(1) ) {
+            case 80:
+                int LA19_1 = input.LA(2);
+                if ( (LA19_1==LCURLY) ) {
+                    alt19=2;
+                }
+                else if ( (LA19_1==IDENT||(LA19_1>=68 && LA19_1<=89)||LA19_1==91) ) {
+                    alt19=1;
+                }
+                else {
+                    NoViableAltException nvae =
+                        new NoViableAltException("278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );", 19, 1, input);
+
+                    throw nvae;
+                }
+                break;
+            case IDENT:
+            case 68:
+            case 69:
+            case 70:
+            case 71:
+            case 72:
+            case 73:
+            case 74:
+            case 75:
+            case 76:
+            case 77:
+            case 78:
+            case 79:
+            case 81:
+            case 82:
+            case 83:
+            case 84:
+            case 85:
+            case 86:
+            case 87:
+            case 88:
+            case 89:
+            case 91:
+                alt19=1;
+                break;
+            case LCURLY:
+                alt19=3;
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("278:1: field : ( modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) ) | 'static' compoundStatement | compoundStatement );", 19, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt19) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:280:3: modifiers ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
+                    {
+                    pushFollow(FOLLOW_modifiers_in_field548);
+                    modifiers();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )
+                    int alt18=4;
+                    switch ( input.LA(1) ) {
+                    case IDENT:
+                        int LA18_1 = input.LA(2);
+                        if ( (LA18_1==LPAREN) ) {
+                            alt18=1;
+                        }
+                        else if ( (LA18_1==LBRACK||(LA18_1>=IDENT && LA18_1<=DOT)) ) {
+                            alt18=4;
+                        }
+                        else {
+                            NoViableAltException nvae =
+                                new NoViableAltException("281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )", 18, 1, input);
+
+                            throw nvae;
+                        }
+                        break;
+                    case 89:
+                        alt18=2;
+                        break;
+                    case 91:
+                        alt18=3;
+                        break;
+                    case 68:
+                    case 69:
+                    case 70:
+                    case 71:
+                    case 72:
+                    case 73:
+                    case 74:
+                    case 75:
+                    case 76:
+                        alt18=4;
+                        break;
+                    default:
+                        NoViableAltException nvae =
+                            new NoViableAltException("281:3: ( ctorHead constructorBody | classDefinition | interfaceDefinition | typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI ) )", 18, 0, input);
+
+                        throw nvae;
+                    }
+
+                    switch (alt18) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:281:5: ctorHead constructorBody
+                            {
+                            pushFollow(FOLLOW_ctorHead_in_field554);
+                            ctorHead();
+                            _fsp--;
+
+                            pushFollow(FOLLOW_constructorBody_in_field556);
+                            constructorBody();
+                            _fsp--;
+
+
+                            }
+                            break;
+                        case 2 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:284:5: classDefinition
+                            {
+                            pushFollow(FOLLOW_classDefinition_in_field568);
+                            classDefinition();
+                            _fsp--;
+
+
+                            }
+                            break;
+                        case 3 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:287:5: interfaceDefinition
+                            {
+                            pushFollow(FOLLOW_interfaceDefinition_in_field586);
+                            interfaceDefinition();
+                            _fsp--;
+
+
+                            }
+                            break;
+                        case 4 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:290:5: typeSpec ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
+                            {
+                            pushFollow(FOLLOW_typeSpec_in_field600);
+                            typeSpec();
+                            _fsp--;
+
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )
+                            int alt17=2;
+                            int LA17_0 = input.LA(1);
+                            if ( (LA17_0==IDENT) ) {
+                                int LA17_1 = input.LA(2);
+                                if ( (LA17_1==LPAREN) ) {
+                                    alt17=1;
+                                }
+                                else if ( (LA17_1==LBRACK||LA17_1==SEMI||LA17_1==COMMA||LA17_1==ASSIGN) ) {
+                                    alt17=2;
+                                }
+                                else {
+                                    NoViableAltException nvae =
+                                        new NoViableAltException("291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )", 17, 1, input);
+
+                                    throw nvae;
+                                }
+                            }
+                            else {
+                                NoViableAltException nvae =
+                                    new NoViableAltException("291:4: ( IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI ) | variableDefinitions SEMI )", 17, 0, input);
+
+                                throw nvae;
+                            }
+                            switch (alt17) {
+                                case 1 :
+                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:291:6: IDENT LPAREN parameterDeclarationList RPAREN declaratorBrackets ( throwsClause )? ( compoundStatement | SEMI )
+                                    {
+                                    match(input,IDENT,FOLLOW_IDENT_in_field609); 
+                                    match(input,LPAREN,FOLLOW_LPAREN_in_field623); 
+                                    pushFollow(FOLLOW_parameterDeclarationList_in_field625);
+                                    parameterDeclarationList();
+                                    _fsp--;
+
+                                    match(input,RPAREN,FOLLOW_RPAREN_in_field627); 
+                                    pushFollow(FOLLOW_declaratorBrackets_in_field634);
+                                    declaratorBrackets();
+                                    _fsp--;
+
+                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:300:5: ( throwsClause )?
+                                    int alt15=2;
+                                    int LA15_0 = input.LA(1);
+                                    if ( (LA15_0==95) ) {
+                                        alt15=1;
+                                    }
+                                    switch (alt15) {
+                                        case 1 :
+                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:300:6: throwsClause
+                                            {
+                                            pushFollow(FOLLOW_throwsClause_in_field652);
+                                            throwsClause();
+                                            _fsp--;
+
+
+                                            }
+                                            break;
+
+                                    }
+
+                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:5: ( compoundStatement | SEMI )
+                                    int alt16=2;
+                                    int LA16_0 = input.LA(1);
+                                    if ( (LA16_0==LCURLY) ) {
+                                        alt16=1;
+                                    }
+                                    else if ( (LA16_0==SEMI) ) {
+                                        alt16=2;
+                                    }
+                                    else {
+                                        NoViableAltException nvae =
+                                            new NoViableAltException("302:5: ( compoundStatement | SEMI )", 16, 0, input);
+
+                                        throw nvae;
+                                    }
+                                    switch (alt16) {
+                                        case 1 :
+                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:7: compoundStatement
+                                            {
+                                            pushFollow(FOLLOW_compoundStatement_in_field663);
+                                            compoundStatement();
+                                            _fsp--;
+
+
+                                            }
+                                            break;
+                                        case 2 :
+                                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:302:27: SEMI
+                                            {
+                                            match(input,SEMI,FOLLOW_SEMI_in_field667); 
+
+                                            }
+                                            break;
+
+                                    }
+
+
+                                    }
+                                    break;
+                                case 2 :
+                                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:303:6: variableDefinitions SEMI
+                                    {
+                                    pushFollow(FOLLOW_variableDefinitions_in_field676);
+                                    variableDefinitions();
+                                    _fsp--;
+
+                                    match(input,SEMI,FOLLOW_SEMI_in_field678); 
+
+                                    }
+                                    break;
+
+                            }
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:310:4: 'static' compoundStatement
+                    {
+                    match(input,80,FOLLOW_80_in_field704); 
+                    pushFollow(FOLLOW_compoundStatement_in_field706);
+                    compoundStatement();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:314:4: compoundStatement
+                    {
+                    pushFollow(FOLLOW_compoundStatement_in_field720);
+                    compoundStatement();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end field
+
+
+    // $ANTLR start constructorBody
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:318:1: constructorBody : LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY ;
+    public void constructorBody() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:319:9: ( LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:319:9: LCURLY ( options {greedy=true; } : explicitConstructorInvocation )? ( statement )* RCURLY
+            {
+            match(input,LCURLY,FOLLOW_LCURLY_in_constructorBody739); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:320:13: ( options {greedy=true; } : explicitConstructorInvocation )?
+            int alt20=2;
+            int LA20_0 = input.LA(1);
+            if ( (LA20_0==93) ) {
+                int LA20_1 = input.LA(2);
+                if ( (LA20_1==LPAREN) ) {
+                    alt20=1;
+                }
+            }
+            else if ( (LA20_0==94) ) {
+                int LA20_2 = input.LA(2);
+                if ( (LA20_2==LPAREN) ) {
+                    alt20=1;
+                }
+            }
+            switch (alt20) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:320:40: explicitConstructorInvocation
+                    {
+                    pushFollow(FOLLOW_explicitConstructorInvocation_in_constructorBody765);
+                    explicitConstructorInvocation();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:321:13: ( statement )*
+            loop21:
+            do {
+                int alt21=2;
+                int LA21_0 = input.LA(1);
+                if ( (LA21_0==IDENT||(LA21_0>=LCURLY && LA21_0<=SEMI)||LA21_0==LPAREN||(LA21_0>=PLUS && LA21_0<=MINUS)||(LA21_0>=INC && LA21_0<=NUM_FLOAT)||(LA21_0>=68 && LA21_0<=89)||(LA21_0>=93 && LA21_0<=94)||LA21_0==96||(LA21_0>=98 && LA21_0<=105)||LA21_0==108||(LA21_0>=112 && LA21_0<=115)) ) {
+                    alt21=1;
+                }
+
+
+                switch (alt21) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:321:14: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_constructorBody782);
+            	    statement();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop21;
+                }
+            } while (true);
+
+            match(input,RCURLY,FOLLOW_RCURLY_in_constructorBody794); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end constructorBody
+
+
+    // $ANTLR start explicitConstructorInvocation
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );
+    public void explicitConstructorInvocation() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:327:9: ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI )
+            int alt22=2;
+            int LA22_0 = input.LA(1);
+            if ( (LA22_0==93) ) {
+                alt22=1;
+            }
+            else if ( (LA22_0==94) ) {
+                alt22=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("325:1: explicitConstructorInvocation : ( 'this' LPAREN argList RPAREN SEMI | 'super' LPAREN argList RPAREN SEMI );", 22, 0, input);
+
+                throw nvae;
+            }
+            switch (alt22) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:327:9: 'this' LPAREN argList RPAREN SEMI
+                    {
+                    match(input,93,FOLLOW_93_in_explicitConstructorInvocation815); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_explicitConstructorInvocation817); 
+                    pushFollow(FOLLOW_argList_in_explicitConstructorInvocation819);
+                    argList();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_explicitConstructorInvocation821); 
+                    match(input,SEMI,FOLLOW_SEMI_in_explicitConstructorInvocation823); 
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:329:9: 'super' LPAREN argList RPAREN SEMI
+                    {
+                    match(input,94,FOLLOW_94_in_explicitConstructorInvocation836); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_explicitConstructorInvocation838); 
+                    pushFollow(FOLLOW_argList_in_explicitConstructorInvocation840);
+                    argList();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_explicitConstructorInvocation842); 
+                    match(input,SEMI,FOLLOW_SEMI_in_explicitConstructorInvocation844); 
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end explicitConstructorInvocation
+
+
+    // $ANTLR start variableDefinitions
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:333:1: variableDefinitions : variableDeclarator ( COMMA variableDeclarator )* ;
+    public void variableDefinitions() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:334:4: ( variableDeclarator ( COMMA variableDeclarator )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:334:4: variableDeclarator ( COMMA variableDeclarator )*
+            {
+            pushFollow(FOLLOW_variableDeclarator_in_variableDefinitions861);
+            variableDeclarator();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:335:3: ( COMMA variableDeclarator )*
+            loop23:
+            do {
+                int alt23=2;
+                int LA23_0 = input.LA(1);
+                if ( (LA23_0==COMMA) ) {
+                    alt23=1;
+                }
+
+
+                switch (alt23) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:335:5: COMMA variableDeclarator
+            	    {
+            	    match(input,COMMA,FOLLOW_COMMA_in_variableDefinitions867); 
+            	    pushFollow(FOLLOW_variableDeclarator_in_variableDefinitions872);
+            	    variableDeclarator();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop23;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end variableDefinitions
+
+
+    // $ANTLR start variableDeclarator
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:340:1: variableDeclarator : IDENT declaratorBrackets varInitializer ;
+    public void variableDeclarator() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:345:4: ( IDENT declaratorBrackets varInitializer )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:345:4: IDENT declaratorBrackets varInitializer
+            {
+            match(input,IDENT,FOLLOW_IDENT_in_variableDeclarator890); 
+            pushFollow(FOLLOW_declaratorBrackets_in_variableDeclarator892);
+            declaratorBrackets();
+            _fsp--;
+
+            pushFollow(FOLLOW_varInitializer_in_variableDeclarator894);
+            varInitializer();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end variableDeclarator
+
+
+    // $ANTLR start declaratorBrackets
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:349:1: declaratorBrackets : ( LBRACK RBRACK )* ;
+    public void declaratorBrackets() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( ( LBRACK RBRACK )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( LBRACK RBRACK )*
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:3: ( LBRACK RBRACK )*
+            loop24:
+            do {
+                int alt24=2;
+                int LA24_0 = input.LA(1);
+                if ( (LA24_0==LBRACK) ) {
+                    alt24=1;
+                }
+
+
+                switch (alt24) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:351:4: LBRACK RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_declaratorBrackets912); 
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_declaratorBrackets915); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop24;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end declaratorBrackets
+
+
+    // $ANTLR start varInitializer
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:354:1: varInitializer : ( ASSIGN initializer )? ;
+    public void varInitializer() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ( ASSIGN initializer )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ASSIGN initializer )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:4: ( ASSIGN initializer )?
+            int alt25=2;
+            int LA25_0 = input.LA(1);
+            if ( (LA25_0==ASSIGN) ) {
+                alt25=1;
+            }
+            switch (alt25) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:355:6: ASSIGN initializer
+                    {
+                    match(input,ASSIGN,FOLLOW_ASSIGN_in_varInitializer930); 
+                    pushFollow(FOLLOW_initializer_in_varInitializer932);
+                    initializer();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end varInitializer
+
+
+    // $ANTLR start arrayInitializer
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:359:1: arrayInitializer : LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY ;
+    public void arrayInitializer() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:360:4: ( LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:360:4: LCURLY ( initializer ( COMMA initializer )* ( COMMA )? )? RCURLY
+            {
+            match(input,LCURLY,FOLLOW_LCURLY_in_arrayInitializer947); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:361:4: ( initializer ( COMMA initializer )* ( COMMA )? )?
+            int alt28=2;
+            int LA28_0 = input.LA(1);
+            if ( (LA28_0==IDENT||LA28_0==LCURLY||LA28_0==LPAREN||(LA28_0>=PLUS && LA28_0<=MINUS)||(LA28_0>=INC && LA28_0<=NUM_FLOAT)||(LA28_0>=68 && LA28_0<=76)||(LA28_0>=93 && LA28_0<=94)||(LA28_0>=112 && LA28_0<=115)) ) {
+                alt28=1;
+            }
+            switch (alt28) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:361:6: initializer ( COMMA initializer )* ( COMMA )?
+                    {
+                    pushFollow(FOLLOW_initializer_in_arrayInitializer955);
+                    initializer();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:362:5: ( COMMA initializer )*
+                    loop26:
+                    do {
+                        int alt26=2;
+                        int LA26_0 = input.LA(1);
+                        if ( (LA26_0==COMMA) ) {
+                            int LA26_1 = input.LA(2);
+                            if ( (LA26_1==IDENT||LA26_1==LCURLY||LA26_1==LPAREN||(LA26_1>=PLUS && LA26_1<=MINUS)||(LA26_1>=INC && LA26_1<=NUM_FLOAT)||(LA26_1>=68 && LA26_1<=76)||(LA26_1>=93 && LA26_1<=94)||(LA26_1>=112 && LA26_1<=115)) ) {
+                                alt26=1;
+                            }
+
+
+                        }
+
+
+                        switch (alt26) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:367:6: COMMA initializer
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer992); 
+                    	    pushFollow(FOLLOW_initializer_in_arrayInitializer994);
+                    	    initializer();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop26;
+                        }
+                    } while (true);
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:369:5: ( COMMA )?
+                    int alt27=2;
+                    int LA27_0 = input.LA(1);
+                    if ( (LA27_0==COMMA) ) {
+                        alt27=1;
+                    }
+                    switch (alt27) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:369:6: COMMA
+                            {
+                            match(input,COMMA,FOLLOW_COMMA_in_arrayInitializer1008); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+            match(input,RCURLY,FOLLOW_RCURLY_in_arrayInitializer1020); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end arrayInitializer
+
+
+    // $ANTLR start initializer
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:377:1: initializer : ( expression | arrayInitializer );
+    public void initializer() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:378:4: ( expression | arrayInitializer )
+            int alt29=2;
+            int LA29_0 = input.LA(1);
+            if ( (LA29_0==IDENT||LA29_0==LPAREN||(LA29_0>=PLUS && LA29_0<=MINUS)||(LA29_0>=INC && LA29_0<=NUM_FLOAT)||(LA29_0>=68 && LA29_0<=76)||(LA29_0>=93 && LA29_0<=94)||(LA29_0>=112 && LA29_0<=115)) ) {
+                alt29=1;
+            }
+            else if ( (LA29_0==LCURLY) ) {
+                alt29=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("377:1: initializer : ( expression | arrayInitializer );", 29, 0, input);
+
+                throw nvae;
+            }
+            switch (alt29) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:378:4: expression
+                    {
+                    pushFollow(FOLLOW_expression_in_initializer1034);
+                    expression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:379:4: arrayInitializer
+                    {
+                    pushFollow(FOLLOW_arrayInitializer_in_initializer1039);
+                    arrayInitializer();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end initializer
+
+
+    // $ANTLR start ctorHead
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:385:1: ctorHead : IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? ;
+    public void ctorHead() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:386:4: ( IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:386:4: IDENT LPAREN parameterDeclarationList RPAREN ( throwsClause )?
+            {
+            match(input,IDENT,FOLLOW_IDENT_in_ctorHead1053); 
+            match(input,LPAREN,FOLLOW_LPAREN_in_ctorHead1063); 
+            pushFollow(FOLLOW_parameterDeclarationList_in_ctorHead1065);
+            parameterDeclarationList();
+            _fsp--;
+
+            match(input,RPAREN,FOLLOW_RPAREN_in_ctorHead1067); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:392:3: ( throwsClause )?
+            int alt30=2;
+            int LA30_0 = input.LA(1);
+            if ( (LA30_0==95) ) {
+                alt30=1;
+            }
+            switch (alt30) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:392:4: throwsClause
+                    {
+                    pushFollow(FOLLOW_throwsClause_in_ctorHead1076);
+                    throwsClause();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end ctorHead
+
+
+    // $ANTLR start throwsClause
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:396:1: throwsClause : 'throws' identifier ( COMMA identifier )* ;
+    public void throwsClause() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:4: ( 'throws' identifier ( COMMA identifier )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:4: 'throws' identifier ( COMMA identifier )*
+            {
+            match(input,95,FOLLOW_95_in_throwsClause1090); 
+            pushFollow(FOLLOW_identifier_in_throwsClause1092);
+            identifier();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:24: ( COMMA identifier )*
+            loop31:
+            do {
+                int alt31=2;
+                int LA31_0 = input.LA(1);
+                if ( (LA31_0==COMMA) ) {
+                    alt31=1;
+                }
+
+
+                switch (alt31) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:397:26: COMMA identifier
+            	    {
+            	    match(input,COMMA,FOLLOW_COMMA_in_throwsClause1096); 
+            	    pushFollow(FOLLOW_identifier_in_throwsClause1098);
+            	    identifier();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop31;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end throwsClause
+
+
+    // $ANTLR start parameterDeclarationList
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:402:1: parameterDeclarationList : ( parameterDeclaration ( COMMA parameterDeclaration )* )? ;
+    public void parameterDeclarationList() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( ( parameterDeclaration ( COMMA parameterDeclaration )* )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:4: ( parameterDeclaration ( COMMA parameterDeclaration )* )?
+            int alt33=2;
+            int LA33_0 = input.LA(1);
+            if ( (LA33_0==IDENT||(LA33_0>=68 && LA33_0<=76)||LA33_0==82) ) {
+                alt33=1;
+            }
+            switch (alt33) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:6: parameterDeclaration ( COMMA parameterDeclaration )*
+                    {
+                    pushFollow(FOLLOW_parameterDeclaration_in_parameterDeclarationList1116);
+                    parameterDeclaration();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:27: ( COMMA parameterDeclaration )*
+                    loop32:
+                    do {
+                        int alt32=2;
+                        int LA32_0 = input.LA(1);
+                        if ( (LA32_0==COMMA) ) {
+                            alt32=1;
+                        }
+
+
+                        switch (alt32) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:403:29: COMMA parameterDeclaration
+                    	    {
+                    	    match(input,COMMA,FOLLOW_COMMA_in_parameterDeclarationList1120); 
+                    	    pushFollow(FOLLOW_parameterDeclaration_in_parameterDeclarationList1122);
+                    	    parameterDeclaration();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop32;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end parameterDeclarationList
+
+
+    // $ANTLR start parameterDeclaration
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:407:1: parameterDeclaration : parameterModifier typeSpec IDENT declaratorBrackets ;
+    public void parameterDeclaration() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:408:4: ( parameterModifier typeSpec IDENT declaratorBrackets )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:408:4: parameterModifier typeSpec IDENT declaratorBrackets
+            {
+            pushFollow(FOLLOW_parameterModifier_in_parameterDeclaration1140);
+            parameterModifier();
+            _fsp--;
+
+            pushFollow(FOLLOW_typeSpec_in_parameterDeclaration1142);
+            typeSpec();
+            _fsp--;
+
+            match(input,IDENT,FOLLOW_IDENT_in_parameterDeclaration1144); 
+            pushFollow(FOLLOW_declaratorBrackets_in_parameterDeclaration1148);
+            declaratorBrackets();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end parameterDeclaration
+
+
+    // $ANTLR start parameterModifier
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:412:1: parameterModifier : ( 'final' )? ;
+    public void parameterModifier() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( ( 'final' )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( 'final' )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:4: ( 'final' )?
+            int alt34=2;
+            int LA34_0 = input.LA(1);
+            if ( (LA34_0==82) ) {
+                alt34=1;
+            }
+            switch (alt34) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:413:5: 'final'
+                    {
+                    match(input,82,FOLLOW_82_in_parameterModifier1160); 
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end parameterModifier
+
+
+    // $ANTLR start compoundStatement
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:426:1: compoundStatement : LCURLY ( statement )* RCURLY ;
+    public void compoundStatement() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:427:4: ( LCURLY ( statement )* RCURLY )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:427:4: LCURLY ( statement )* RCURLY
+            {
+            match(input,LCURLY,FOLLOW_LCURLY_in_compoundStatement1185); 
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:429:4: ( statement )*
+            loop35:
+            do {
+                int alt35=2;
+                int LA35_0 = input.LA(1);
+                if ( (LA35_0==IDENT||(LA35_0>=LCURLY && LA35_0<=SEMI)||LA35_0==LPAREN||(LA35_0>=PLUS && LA35_0<=MINUS)||(LA35_0>=INC && LA35_0<=NUM_FLOAT)||(LA35_0>=68 && LA35_0<=89)||(LA35_0>=93 && LA35_0<=94)||LA35_0==96||(LA35_0>=98 && LA35_0<=105)||LA35_0==108||(LA35_0>=112 && LA35_0<=115)) ) {
+                    alt35=1;
+                }
+
+
+                switch (alt35) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:429:5: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_compoundStatement1196);
+            	    statement();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop35;
+                }
+            } while (true);
+
+            match(input,RCURLY,FOLLOW_RCURLY_in_compoundStatement1202); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end compoundStatement
+
+
+    // $ANTLR start statement
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:434:1: statement : ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI );
+    public void statement() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:436:4: ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI )
+            int alt41=17;
+            alt41 = dfa41.predict(input);
+            switch (alt41) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:436:4: compoundStatement
+                    {
+                    pushFollow(FOLLOW_compoundStatement_in_statement1216);
+                    compoundStatement();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:443:4: declaration SEMI
+                    {
+                    pushFollow(FOLLOW_declaration_in_statement1232);
+                    declaration();
+                    _fsp--;
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1234); 
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:448:4: expression SEMI
+                    {
+                    pushFollow(FOLLOW_expression_in_statement1246);
+                    expression();
+                    _fsp--;
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1248); 
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:451:4: modifiers classDefinition
+                    {
+                    pushFollow(FOLLOW_modifiers_in_statement1256);
+                    modifiers();
+                    _fsp--;
+
+                    pushFollow(FOLLOW_classDefinition_in_statement1258);
+                    classDefinition();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:454:4: IDENT COLON statement
+                    {
+                    match(input,IDENT,FOLLOW_IDENT_in_statement1266); 
+                    match(input,COLON,FOLLOW_COLON_in_statement1268); 
+                    pushFollow(FOLLOW_statement_in_statement1271);
+                    statement();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 6 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:457:4: 'if' LPAREN expression RPAREN statement ( 'else' statement )?
+                    {
+                    match(input,96,FOLLOW_96_in_statement1279); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1281); 
+                    pushFollow(FOLLOW_expression_in_statement1283);
+                    expression();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1285); 
+                    pushFollow(FOLLOW_statement_in_statement1287);
+                    statement();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:458:3: ( 'else' statement )?
+                    int alt36=2;
+                    int LA36_0 = input.LA(1);
+                    if ( (LA36_0==97) ) {
+                        alt36=1;
+                    }
+                    switch (alt36) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:462:4: 'else' statement
+                            {
+                            match(input,97,FOLLOW_97_in_statement1308); 
+                            pushFollow(FOLLOW_statement_in_statement1310);
+                            statement();
+                            _fsp--;
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 7 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:466:4: 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement
+                    {
+                    match(input,98,FOLLOW_98_in_statement1323); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1328); 
+                    pushFollow(FOLLOW_forInit_in_statement1334);
+                    forInit();
+                    _fsp--;
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1336); 
+                    pushFollow(FOLLOW_forCond_in_statement1345);
+                    forCond();
+                    _fsp--;
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1347); 
+                    pushFollow(FOLLOW_forIter_in_statement1356);
+                    forIter();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1370); 
+                    pushFollow(FOLLOW_statement_in_statement1375);
+                    statement();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 8 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:475:4: 'while' LPAREN expression RPAREN statement
+                    {
+                    match(input,99,FOLLOW_99_in_statement1404); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1406); 
+                    pushFollow(FOLLOW_expression_in_statement1408);
+                    expression();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1410); 
+                    pushFollow(FOLLOW_statement_in_statement1412);
+                    statement();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 9 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:478:4: 'do' statement 'while' LPAREN expression RPAREN SEMI
+                    {
+                    match(input,100,FOLLOW_100_in_statement1420); 
+                    pushFollow(FOLLOW_statement_in_statement1422);
+                    statement();
+                    _fsp--;
+
+                    match(input,99,FOLLOW_99_in_statement1424); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1426); 
+                    pushFollow(FOLLOW_expression_in_statement1428);
+                    expression();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1430); 
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1432); 
+
+                    }
+                    break;
+                case 10 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:4: 'break' ( IDENT )? SEMI
+                    {
+                    match(input,101,FOLLOW_101_in_statement1440); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:12: ( IDENT )?
+                    int alt37=2;
+                    int LA37_0 = input.LA(1);
+                    if ( (LA37_0==IDENT) ) {
+                        alt37=1;
+                    }
+                    switch (alt37) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:481:13: IDENT
+                            {
+                            match(input,IDENT,FOLLOW_IDENT_in_statement1443); 
+
+                            }
+                            break;
+
+                    }
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1447); 
+
+                    }
+                    break;
+                case 11 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:4: 'continue' ( IDENT )? SEMI
+                    {
+                    match(input,102,FOLLOW_102_in_statement1455); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:15: ( IDENT )?
+                    int alt38=2;
+                    int LA38_0 = input.LA(1);
+                    if ( (LA38_0==IDENT) ) {
+                        alt38=1;
+                    }
+                    switch (alt38) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:484:16: IDENT
+                            {
+                            match(input,IDENT,FOLLOW_IDENT_in_statement1458); 
+
+                            }
+                            break;
+
+                    }
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1462); 
+
+                    }
+                    break;
+                case 12 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:4: 'return' ( expression )? SEMI
+                    {
+                    match(input,103,FOLLOW_103_in_statement1470); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:13: ( expression )?
+                    int alt39=2;
+                    int LA39_0 = input.LA(1);
+                    if ( (LA39_0==IDENT||LA39_0==LPAREN||(LA39_0>=PLUS && LA39_0<=MINUS)||(LA39_0>=INC && LA39_0<=NUM_FLOAT)||(LA39_0>=68 && LA39_0<=76)||(LA39_0>=93 && LA39_0<=94)||(LA39_0>=112 && LA39_0<=115)) ) {
+                        alt39=1;
+                    }
+                    switch (alt39) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:487:14: expression
+                            {
+                            pushFollow(FOLLOW_expression_in_statement1473);
+                            expression();
+                            _fsp--;
+
+
+                            }
+                            break;
+
+                    }
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1477); 
+
+                    }
+                    break;
+                case 13 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:490:4: 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY
+                    {
+                    match(input,104,FOLLOW_104_in_statement1485); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1487); 
+                    pushFollow(FOLLOW_expression_in_statement1489);
+                    expression();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1491); 
+                    match(input,LCURLY,FOLLOW_LCURLY_in_statement1493); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:491:4: ( casesGroup )*
+                    loop40:
+                    do {
+                        int alt40=2;
+                        int LA40_0 = input.LA(1);
+                        if ( ((LA40_0>=106 && LA40_0<=107)) ) {
+                            alt40=1;
+                        }
+
+
+                        switch (alt40) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:491:6: casesGroup
+                    	    {
+                    	    pushFollow(FOLLOW_casesGroup_in_statement1500);
+                    	    casesGroup();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop40;
+                        }
+                    } while (true);
+
+                    match(input,RCURLY,FOLLOW_RCURLY_in_statement1507); 
+
+                    }
+                    break;
+                case 14 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:495:4: tryBlock
+                    {
+                    pushFollow(FOLLOW_tryBlock_in_statement1515);
+                    tryBlock();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 15 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:498:4: 'throw' expression SEMI
+                    {
+                    match(input,105,FOLLOW_105_in_statement1523); 
+                    pushFollow(FOLLOW_expression_in_statement1525);
+                    expression();
+                    _fsp--;
+
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1527); 
+
+                    }
+                    break;
+                case 16 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:501:4: 'synchronized' LPAREN expression RPAREN compoundStatement
+                    {
+                    match(input,86,FOLLOW_86_in_statement1535); 
+                    match(input,LPAREN,FOLLOW_LPAREN_in_statement1537); 
+                    pushFollow(FOLLOW_expression_in_statement1539);
+                    expression();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_statement1541); 
+                    pushFollow(FOLLOW_compoundStatement_in_statement1543);
+                    compoundStatement();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 17 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:507:4: SEMI
+                    {
+                    match(input,SEMI,FOLLOW_SEMI_in_statement1556); 
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end statement
+
+
+    // $ANTLR start casesGroup
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:510:1: casesGroup : ( options {greedy=true; } : aCase )+ caseSList ;
+    public void casesGroup() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( ( options {greedy=true; } : aCase )+ caseSList )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( options {greedy=true; } : aCase )+ caseSList
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:511:4: ( options {greedy=true; } : aCase )+
+            int cnt42=0;
+            loop42:
+            do {
+                int alt42=2;
+                int LA42_0 = input.LA(1);
+                if ( (LA42_0==106) ) {
+                    alt42=1;
+                }
+                else if ( (LA42_0==107) ) {
+                    alt42=1;
+                }
+
+
+                switch (alt42) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:517:4: aCase
+            	    {
+            	    pushFollow(FOLLOW_aCase_in_casesGroup1602);
+            	    aCase();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt42 >= 1 ) break loop42;
+                        EarlyExitException eee =
+                            new EarlyExitException(42, input);
+                        throw eee;
+                }
+                cnt42++;
+            } while (true);
+
+            pushFollow(FOLLOW_caseSList_in_casesGroup1611);
+            caseSList();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end casesGroup
+
+
+    // $ANTLR start aCase
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:523:1: aCase : ( 'case' expression | 'default' ) COLON ;
+    public void aCase() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( ( 'case' expression | 'default' ) COLON )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( 'case' expression | 'default' ) COLON
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:4: ( 'case' expression | 'default' )
+            int alt43=2;
+            int LA43_0 = input.LA(1);
+            if ( (LA43_0==106) ) {
+                alt43=1;
+            }
+            else if ( (LA43_0==107) ) {
+                alt43=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("524:4: ( 'case' expression | 'default' )", 43, 0, input);
+
+                throw nvae;
+            }
+            switch (alt43) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:5: 'case' expression
+                    {
+                    match(input,106,FOLLOW_106_in_aCase1626); 
+                    pushFollow(FOLLOW_expression_in_aCase1628);
+                    expression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:524:25: 'default'
+                    {
+                    match(input,107,FOLLOW_107_in_aCase1632); 
+
+                    }
+                    break;
+
+            }
+
+            match(input,COLON,FOLLOW_COLON_in_aCase1635); 
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end aCase
+
+
+    // $ANTLR start caseSList
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:527:1: caseSList : ( statement )* ;
+    public void caseSList() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( ( statement )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( statement )*
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:4: ( statement )*
+            loop44:
+            do {
+                int alt44=2;
+                int LA44_0 = input.LA(1);
+                if ( (LA44_0==IDENT||(LA44_0>=LCURLY && LA44_0<=SEMI)||LA44_0==LPAREN||(LA44_0>=PLUS && LA44_0<=MINUS)||(LA44_0>=INC && LA44_0<=NUM_FLOAT)||(LA44_0>=68 && LA44_0<=89)||(LA44_0>=93 && LA44_0<=94)||LA44_0==96||(LA44_0>=98 && LA44_0<=105)||LA44_0==108||(LA44_0>=112 && LA44_0<=115)) ) {
+                    alt44=1;
+                }
+
+
+                switch (alt44) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:528:5: statement
+            	    {
+            	    pushFollow(FOLLOW_statement_in_caseSList1647);
+            	    statement();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop44;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end caseSList
+
+
+    // $ANTLR start forInit
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:533:1: forInit : ( declaration | expressionList )? ;
+    public void forInit() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( ( declaration | expressionList )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( declaration | expressionList )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:4: ( declaration | expressionList )?
+            int alt45=3;
+            alt45 = dfa45.predict(input);
+            switch (alt45) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:536:6: declaration
+                    {
+                    pushFollow(FOLLOW_declaration_in_forInit1678);
+                    declaration();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:538:5: expressionList
+                    {
+                    pushFollow(FOLLOW_expressionList_in_forInit1687);
+                    expressionList();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end forInit
+
+
+    // $ANTLR start forCond
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:543:1: forCond : ( expression )? ;
+    public void forCond() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( ( expression )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( expression )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:4: ( expression )?
+            int alt46=2;
+            int LA46_0 = input.LA(1);
+            if ( (LA46_0==IDENT||LA46_0==LPAREN||(LA46_0>=PLUS && LA46_0<=MINUS)||(LA46_0>=INC && LA46_0<=NUM_FLOAT)||(LA46_0>=68 && LA46_0<=76)||(LA46_0>=93 && LA46_0<=94)||(LA46_0>=112 && LA46_0<=115)) ) {
+                alt46=1;
+            }
+            switch (alt46) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:544:5: expression
+                    {
+                    pushFollow(FOLLOW_expression_in_forCond1707);
+                    expression();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end forCond
+
+
+    // $ANTLR start forIter
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:548:1: forIter : ( expressionList )? ;
+    public void forIter() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( ( expressionList )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( expressionList )?
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:4: ( expressionList )?
+            int alt47=2;
+            int LA47_0 = input.LA(1);
+            if ( (LA47_0==IDENT||LA47_0==LPAREN||(LA47_0>=PLUS && LA47_0<=MINUS)||(LA47_0>=INC && LA47_0<=NUM_FLOAT)||(LA47_0>=68 && LA47_0<=76)||(LA47_0>=93 && LA47_0<=94)||(LA47_0>=112 && LA47_0<=115)) ) {
+                alt47=1;
+            }
+            switch (alt47) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:549:5: expressionList
+                    {
+                    pushFollow(FOLLOW_expressionList_in_forIter1724);
+                    expressionList();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end forIter
+
+
+    // $ANTLR start tryBlock
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:554:1: tryBlock : 'try' compoundStatement ( handler )* ( finallyClause )? ;
+    public void tryBlock() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:555:4: ( 'try' compoundStatement ( handler )* ( finallyClause )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:555:4: 'try' compoundStatement ( handler )* ( finallyClause )?
+            {
+            match(input,108,FOLLOW_108_in_tryBlock1741); 
+            pushFollow(FOLLOW_compoundStatement_in_tryBlock1743);
+            compoundStatement();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:556:3: ( handler )*
+            loop48:
+            do {
+                int alt48=2;
+                int LA48_0 = input.LA(1);
+                if ( (LA48_0==110) ) {
+                    alt48=1;
+                }
+
+
+                switch (alt48) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:556:4: handler
+            	    {
+            	    pushFollow(FOLLOW_handler_in_tryBlock1748);
+            	    handler();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop48;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:557:3: ( finallyClause )?
+            int alt49=2;
+            int LA49_0 = input.LA(1);
+            if ( (LA49_0==109) ) {
+                alt49=1;
+            }
+            switch (alt49) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:557:5: finallyClause
+                    {
+                    pushFollow(FOLLOW_finallyClause_in_tryBlock1756);
+                    finallyClause();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end tryBlock
+
+
+    // $ANTLR start finallyClause
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:560:1: finallyClause : 'finally' compoundStatement ;
+    public void finallyClause() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:561:4: ( 'finally' compoundStatement )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:561:4: 'finally' compoundStatement
+            {
+            match(input,109,FOLLOW_109_in_finallyClause1770); 
+            pushFollow(FOLLOW_compoundStatement_in_finallyClause1772);
+            compoundStatement();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end finallyClause
+
+
+    // $ANTLR start handler
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:565:1: handler : 'catch' LPAREN parameterDeclaration RPAREN compoundStatement ;
+    public void handler() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:566:4: ( 'catch' LPAREN parameterDeclaration RPAREN compoundStatement )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:566:4: 'catch' LPAREN parameterDeclaration RPAREN compoundStatement
+            {
+            match(input,110,FOLLOW_110_in_handler1784); 
+            match(input,LPAREN,FOLLOW_LPAREN_in_handler1786); 
+            pushFollow(FOLLOW_parameterDeclaration_in_handler1788);
+            parameterDeclaration();
+            _fsp--;
+
+            match(input,RPAREN,FOLLOW_RPAREN_in_handler1790); 
+            pushFollow(FOLLOW_compoundStatement_in_handler1792);
+            compoundStatement();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end handler
+
+
+    // $ANTLR start expression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:605:1: expression : assignmentExpression ;
+    public void expression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:606:4: ( assignmentExpression )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:606:4: assignmentExpression
+            {
+            pushFollow(FOLLOW_assignmentExpression_in_expression1839);
+            assignmentExpression();
+            _fsp--;
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end expression
+
+
+    // $ANTLR start expressionList
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:612:1: expressionList : expression ( COMMA expression )* ;
+    public void expressionList() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:4: ( expression ( COMMA expression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:4: expression ( COMMA expression )*
+            {
+            pushFollow(FOLLOW_expression_in_expressionList1855);
+            expression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:15: ( COMMA expression )*
+            loop50:
+            do {
+                int alt50=2;
+                int LA50_0 = input.LA(1);
+                if ( (LA50_0==COMMA) ) {
+                    alt50=1;
+                }
+
+
+                switch (alt50) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:613:16: COMMA expression
+            	    {
+            	    match(input,COMMA,FOLLOW_COMMA_in_expressionList1858); 
+            	    pushFollow(FOLLOW_expression_in_expressionList1860);
+            	    expression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop50;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end expressionList
+
+
+    // $ANTLR start assignmentExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:619:1: assignmentExpression : conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )? ;
+    public void assignmentExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:620:4: ( conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:620:4: conditionalExpression ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?
+            {
+            pushFollow(FOLLOW_conditionalExpression_in_assignmentExpression1878);
+            conditionalExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:621:3: ( (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression )?
+            int alt51=2;
+            int LA51_0 = input.LA(1);
+            if ( (LA51_0==ASSIGN||(LA51_0>=PLUS_ASSIGN && LA51_0<=BOR_ASSIGN)) ) {
+                alt51=1;
+            }
+            switch (alt51) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:621:5: (ASSIGN|PLUS_ASSIGN|MINUS_ASSIGN|STAR_ASSIGN|DIV_ASSIGN|MOD_ASSIGN|SR_ASSIGN|BSR_ASSIGN|SL_ASSIGN|BAND_ASSIGN|BXOR_ASSIGN|BOR_ASSIGN) assignmentExpression
+                    {
+                    if ( input.LA(1)==ASSIGN||(input.LA(1)>=PLUS_ASSIGN && input.LA(1)<=BOR_ASSIGN) ) {
+                        input.consume();
+                        errorRecovery=false;
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_assignmentExpression1886);    throw mse;
+                    }
+
+                    pushFollow(FOLLOW_assignmentExpression_in_assignmentExpression2103);
+                    assignmentExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end assignmentExpression
+
+
+    // $ANTLR start conditionalExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:640:1: conditionalExpression : logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? ;
+    public void conditionalExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:641:4: ( logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:641:4: logicalOrExpression ( QUESTION assignmentExpression COLON conditionalExpression )?
+            {
+            pushFollow(FOLLOW_logicalOrExpression_in_conditionalExpression2121);
+            logicalOrExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:642:3: ( QUESTION assignmentExpression COLON conditionalExpression )?
+            int alt52=2;
+            int LA52_0 = input.LA(1);
+            if ( (LA52_0==QUESTION) ) {
+                alt52=1;
+            }
+            switch (alt52) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:642:5: QUESTION assignmentExpression COLON conditionalExpression
+                    {
+                    match(input,QUESTION,FOLLOW_QUESTION_in_conditionalExpression2127); 
+                    pushFollow(FOLLOW_assignmentExpression_in_conditionalExpression2129);
+                    assignmentExpression();
+                    _fsp--;
+
+                    match(input,COLON,FOLLOW_COLON_in_conditionalExpression2131); 
+                    pushFollow(FOLLOW_conditionalExpression_in_conditionalExpression2133);
+                    conditionalExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end conditionalExpression
+
+
+    // $ANTLR start logicalOrExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:647:1: logicalOrExpression : logicalAndExpression ( LOR logicalAndExpression )* ;
+    public void logicalOrExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:4: ( logicalAndExpression ( LOR logicalAndExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:4: logicalAndExpression ( LOR logicalAndExpression )*
+            {
+            pushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression2149);
+            logicalAndExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:25: ( LOR logicalAndExpression )*
+            loop53:
+            do {
+                int alt53=2;
+                int LA53_0 = input.LA(1);
+                if ( (LA53_0==LOR) ) {
+                    alt53=1;
+                }
+
+
+                switch (alt53) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:648:26: LOR logicalAndExpression
+            	    {
+            	    match(input,LOR,FOLLOW_LOR_in_logicalOrExpression2152); 
+            	    pushFollow(FOLLOW_logicalAndExpression_in_logicalOrExpression2154);
+            	    logicalAndExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop53;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end logicalOrExpression
+
+
+    // $ANTLR start logicalAndExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:653:1: logicalAndExpression : inclusiveOrExpression ( LAND inclusiveOrExpression )* ;
+    public void logicalAndExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:4: ( inclusiveOrExpression ( LAND inclusiveOrExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:4: inclusiveOrExpression ( LAND inclusiveOrExpression )*
+            {
+            pushFollow(FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169);
+            inclusiveOrExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:26: ( LAND inclusiveOrExpression )*
+            loop54:
+            do {
+                int alt54=2;
+                int LA54_0 = input.LA(1);
+                if ( (LA54_0==LAND) ) {
+                    alt54=1;
+                }
+
+
+                switch (alt54) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:654:27: LAND inclusiveOrExpression
+            	    {
+            	    match(input,LAND,FOLLOW_LAND_in_logicalAndExpression2172); 
+            	    pushFollow(FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174);
+            	    inclusiveOrExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop54;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end logicalAndExpression
+
+
+    // $ANTLR start inclusiveOrExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:659:1: inclusiveOrExpression : exclusiveOrExpression ( BOR exclusiveOrExpression )* ;
+    public void inclusiveOrExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:4: ( exclusiveOrExpression ( BOR exclusiveOrExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:4: exclusiveOrExpression ( BOR exclusiveOrExpression )*
+            {
+            pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189);
+            exclusiveOrExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:26: ( BOR exclusiveOrExpression )*
+            loop55:
+            do {
+                int alt55=2;
+                int LA55_0 = input.LA(1);
+                if ( (LA55_0==BOR) ) {
+                    alt55=1;
+                }
+
+
+                switch (alt55) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:660:27: BOR exclusiveOrExpression
+            	    {
+            	    match(input,BOR,FOLLOW_BOR_in_inclusiveOrExpression2192); 
+            	    pushFollow(FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194);
+            	    exclusiveOrExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop55;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end inclusiveOrExpression
+
+
+    // $ANTLR start exclusiveOrExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:665:1: exclusiveOrExpression : andExpression ( BXOR andExpression )* ;
+    public void exclusiveOrExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:4: ( andExpression ( BXOR andExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:4: andExpression ( BXOR andExpression )*
+            {
+            pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression2209);
+            andExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:18: ( BXOR andExpression )*
+            loop56:
+            do {
+                int alt56=2;
+                int LA56_0 = input.LA(1);
+                if ( (LA56_0==BXOR) ) {
+                    alt56=1;
+                }
+
+
+                switch (alt56) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:666:19: BXOR andExpression
+            	    {
+            	    match(input,BXOR,FOLLOW_BXOR_in_exclusiveOrExpression2212); 
+            	    pushFollow(FOLLOW_andExpression_in_exclusiveOrExpression2214);
+            	    andExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop56;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end exclusiveOrExpression
+
+
+    // $ANTLR start andExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:671:1: andExpression : equalityExpression ( BAND equalityExpression )* ;
+    public void andExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:4: ( equalityExpression ( BAND equalityExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:4: equalityExpression ( BAND equalityExpression )*
+            {
+            pushFollow(FOLLOW_equalityExpression_in_andExpression2229);
+            equalityExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:23: ( BAND equalityExpression )*
+            loop57:
+            do {
+                int alt57=2;
+                int LA57_0 = input.LA(1);
+                if ( (LA57_0==BAND) ) {
+                    alt57=1;
+                }
+
+
+                switch (alt57) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:672:24: BAND equalityExpression
+            	    {
+            	    match(input,BAND,FOLLOW_BAND_in_andExpression2232); 
+            	    pushFollow(FOLLOW_equalityExpression_in_andExpression2234);
+            	    equalityExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop57;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end andExpression
+
+
+    // $ANTLR start equalityExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:677:1: equalityExpression : relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )* ;
+    public void equalityExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:4: ( relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:4: relationalExpression ( (NOT_EQUAL|EQUAL) relationalExpression )*
+            {
+            pushFollow(FOLLOW_relationalExpression_in_equalityExpression2249);
+            relationalExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:25: ( (NOT_EQUAL|EQUAL) relationalExpression )*
+            loop58:
+            do {
+                int alt58=2;
+                int LA58_0 = input.LA(1);
+                if ( ((LA58_0>=NOT_EQUAL && LA58_0<=EQUAL)) ) {
+                    alt58=1;
+                }
+
+
+                switch (alt58) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:678:26: (NOT_EQUAL|EQUAL) relationalExpression
+            	    {
+            	    if ( (input.LA(1)>=NOT_EQUAL && input.LA(1)<=EQUAL) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_equalityExpression2253);    throw mse;
+            	    }
+
+            	    pushFollow(FOLLOW_relationalExpression_in_equalityExpression2260);
+            	    relationalExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop58;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end equalityExpression
+
+
+    // $ANTLR start relationalExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:683:1: relationalExpression : shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec ) ;
+    public void relationalExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:684:4: ( shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:684:4: shiftExpression ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )
+            {
+            pushFollow(FOLLOW_shiftExpression_in_relationalExpression2275);
+            shiftExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:3: ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )
+            int alt60=2;
+            int LA60_0 = input.LA(1);
+            if ( (LA60_0==RBRACK||(LA60_0>=SEMI && LA60_0<=COMMA)||(LA60_0>=RPAREN && LA60_0<=GE)) ) {
+                alt60=1;
+            }
+            else if ( (LA60_0==111) ) {
+                alt60=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("685:3: ( ( (LT|GT|LE|GE) shiftExpression )* | 'instanceof' typeSpec )", 60, 0, input);
+
+                throw nvae;
+            }
+            switch (alt60) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:5: ( (LT|GT|LE|GE) shiftExpression )*
+                    {
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:5: ( (LT|GT|LE|GE) shiftExpression )*
+                    loop59:
+                    do {
+                        int alt59=2;
+                        int LA59_0 = input.LA(1);
+                        if ( ((LA59_0>=LT && LA59_0<=GE)) ) {
+                            alt59=1;
+                        }
+
+
+                        switch (alt59) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:685:7: (LT|GT|LE|GE) shiftExpression
+                    	    {
+                    	    if ( (input.LA(1)>=LT && input.LA(1)<=GE) ) {
+                    	        input.consume();
+                    	        errorRecovery=false;
+                    	    }
+                    	    else {
+                    	        MismatchedSetException mse =
+                    	            new MismatchedSetException(null,input);
+                    	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_relationalExpression2285);    throw mse;
+                    	    }
+
+                    	    pushFollow(FOLLOW_shiftExpression_in_relationalExpression2321);
+                    	    shiftExpression();
+                    	    _fsp--;
+
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop59;
+                        }
+                    } while (true);
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:692:5: 'instanceof' typeSpec
+                    {
+                    match(input,111,FOLLOW_111_in_relationalExpression2333); 
+                    pushFollow(FOLLOW_typeSpec_in_relationalExpression2335);
+                    typeSpec();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end relationalExpression
+
+
+    // $ANTLR start shiftExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:698:1: shiftExpression : additiveExpression ( (SL|SR|BSR) additiveExpression )* ;
+    public void shiftExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:4: ( additiveExpression ( (SL|SR|BSR) additiveExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:4: additiveExpression ( (SL|SR|BSR) additiveExpression )*
+            {
+            pushFollow(FOLLOW_additiveExpression_in_shiftExpression2352);
+            additiveExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:23: ( (SL|SR|BSR) additiveExpression )*
+            loop61:
+            do {
+                int alt61=2;
+                int LA61_0 = input.LA(1);
+                if ( ((LA61_0>=SL && LA61_0<=BSR)) ) {
+                    alt61=1;
+                }
+
+
+                switch (alt61) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:699:24: (SL|SR|BSR) additiveExpression
+            	    {
+            	    if ( (input.LA(1)>=SL && input.LA(1)<=BSR) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_shiftExpression2356);    throw mse;
+            	    }
+
+            	    pushFollow(FOLLOW_additiveExpression_in_shiftExpression2367);
+            	    additiveExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop61;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end shiftExpression
+
+
+    // $ANTLR start additiveExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:704:1: additiveExpression : multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )* ;
+    public void additiveExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:4: ( multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:4: multiplicativeExpression ( (PLUS|MINUS) multiplicativeExpression )*
+            {
+            pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2382);
+            multiplicativeExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:29: ( (PLUS|MINUS) multiplicativeExpression )*
+            loop62:
+            do {
+                int alt62=2;
+                int LA62_0 = input.LA(1);
+                if ( ((LA62_0>=PLUS && LA62_0<=MINUS)) ) {
+                    alt62=1;
+                }
+
+
+                switch (alt62) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:705:30: (PLUS|MINUS) multiplicativeExpression
+            	    {
+            	    if ( (input.LA(1)>=PLUS && input.LA(1)<=MINUS) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_additiveExpression2386);    throw mse;
+            	    }
+
+            	    pushFollow(FOLLOW_multiplicativeExpression_in_additiveExpression2393);
+            	    multiplicativeExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop62;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end additiveExpression
+
+
+    // $ANTLR start multiplicativeExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:710:1: multiplicativeExpression : unaryExpression ( (STAR|DIV|MOD) unaryExpression )* ;
+    public void multiplicativeExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:4: ( unaryExpression ( (STAR|DIV|MOD) unaryExpression )* )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:4: unaryExpression ( (STAR|DIV|MOD) unaryExpression )*
+            {
+            pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2408);
+            unaryExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:20: ( (STAR|DIV|MOD) unaryExpression )*
+            loop63:
+            do {
+                int alt63=2;
+                int LA63_0 = input.LA(1);
+                if ( (LA63_0==STAR||(LA63_0>=DIV && LA63_0<=MOD)) ) {
+                    alt63=1;
+                }
+
+
+                switch (alt63) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:711:21: (STAR|DIV|MOD) unaryExpression
+            	    {
+            	    if ( input.LA(1)==STAR||(input.LA(1)>=DIV && input.LA(1)<=MOD) ) {
+            	        input.consume();
+            	        errorRecovery=false;
+            	    }
+            	    else {
+            	        MismatchedSetException mse =
+            	            new MismatchedSetException(null,input);
+            	        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_multiplicativeExpression2412);    throw mse;
+            	    }
+
+            	    pushFollow(FOLLOW_unaryExpression_in_multiplicativeExpression2424);
+            	    unaryExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop63;
+                }
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end multiplicativeExpression
+
+
+    // $ANTLR start unaryExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );
+    public void unaryExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:715:4: ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus )
+            int alt64=5;
+            switch ( input.LA(1) ) {
+            case INC:
+                alt64=1;
+                break;
+            case DEC:
+                alt64=2;
+                break;
+            case MINUS:
+                alt64=3;
+                break;
+            case PLUS:
+                alt64=4;
+                break;
+            case IDENT:
+            case LPAREN:
+            case BNOT:
+            case LNOT:
+            case NUM_INT:
+            case CHAR_LITERAL:
+            case STRING_LITERAL:
+            case NUM_FLOAT:
+            case 68:
+            case 69:
+            case 70:
+            case 71:
+            case 72:
+            case 73:
+            case 74:
+            case 75:
+            case 76:
+            case 93:
+            case 94:
+            case 112:
+            case 113:
+            case 114:
+            case 115:
+                alt64=5;
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("714:1: unaryExpression : ( INC unaryExpression | DEC unaryExpression | MINUS unaryExpression | PLUS unaryExpression | unaryExpressionNotPlusMinus );", 64, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt64) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:715:4: INC unaryExpression
+                    {
+                    match(input,INC,FOLLOW_INC_in_unaryExpression2437); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2439);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:716:4: DEC unaryExpression
+                    {
+                    match(input,DEC,FOLLOW_DEC_in_unaryExpression2444); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2446);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:717:4: MINUS unaryExpression
+                    {
+                    match(input,MINUS,FOLLOW_MINUS_in_unaryExpression2451); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2454);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:718:4: PLUS unaryExpression
+                    {
+                    match(input,PLUS,FOLLOW_PLUS_in_unaryExpression2459); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpression2463);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:719:4: unaryExpressionNotPlusMinus
+                    {
+                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468);
+                    unaryExpressionNotPlusMinus();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end unaryExpression
+
+
+    // $ANTLR start unaryExpressionNotPlusMinus
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:722:1: unaryExpressionNotPlusMinus : ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression );
+    public void unaryExpressionNotPlusMinus() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:723:4: ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression )
+            int alt65=5;
+            alt65 = dfa65.predict(input);
+            switch (alt65) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:723:4: BNOT unaryExpression
+                    {
+                    match(input,BNOT,FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:724:4: LNOT unaryExpression
+                    {
+                    match(input,LNOT,FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:726:9: LPAREN builtInTypeSpec RPAREN unaryExpression
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499); 
+                    pushFollow(FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501);
+                    builtInTypeSpec();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503); 
+                    pushFollow(FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513);
+                    unaryExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:732:7: LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549); 
+                    pushFollow(FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551);
+                    classTypeSpec();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553); 
+                    pushFollow(FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563);
+                    unaryExpressionNotPlusMinus();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:735:7: postfixExpression
+                    {
+                    pushFollow(FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572);
+                    postfixExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end unaryExpressionNotPlusMinus
+
+
+    // $ANTLR start postfixExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:739:1: postfixExpression : primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))? ;
+    public void postfixExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:740:6: ( primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:740:6: primaryExpression ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )* ( (INC|DEC))?
+            {
+            pushFollow(FOLLOW_primaryExpression_in_postfixExpression2586);
+            primaryExpression();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:741:3: ( DOT IDENT ( LPAREN argList RPAREN )? | DOT 'this' | DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? ) | DOT newExpression | LBRACK expression RBRACK )*
+            loop69:
+            do {
+                int alt69=6;
+                int LA69_0 = input.LA(1);
+                if ( (LA69_0==DOT) ) {
+                    switch ( input.LA(2) ) {
+                    case IDENT:
+                        alt69=1;
+                        break;
+                    case 94:
+                        alt69=3;
+                        break;
+                    case 93:
+                        alt69=2;
+                        break;
+                    case 115:
+                        alt69=4;
+                        break;
+
+                    }
+
+                }
+                else if ( (LA69_0==LBRACK) ) {
+                    alt69=5;
+                }
+
+
+                switch (alt69) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:741:7: DOT IDENT ( LPAREN argList RPAREN )?
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2594); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_postfixExpression2596); 
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:742:4: ( LPAREN argList RPAREN )?
+            	    int alt66=2;
+            	    int LA66_0 = input.LA(1);
+            	    if ( (LA66_0==LPAREN) ) {
+            	        alt66=1;
+            	    }
+            	    switch (alt66) {
+            	        case 1 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:742:6: LPAREN argList RPAREN
+            	            {
+            	            match(input,LPAREN,FOLLOW_LPAREN_in_postfixExpression2603); 
+            	            pushFollow(FOLLOW_argList_in_postfixExpression2610);
+            	            argList();
+            	            _fsp--;
+
+            	            match(input,RPAREN,FOLLOW_RPAREN_in_postfixExpression2616); 
+
+            	            }
+            	            break;
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 2 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:746:5: DOT 'this'
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2628); 
+            	    match(input,93,FOLLOW_93_in_postfixExpression2630); 
+
+            	    }
+            	    break;
+            	case 3 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:748:5: DOT 'super' ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2637); 
+            	    match(input,94,FOLLOW_94_in_postfixExpression2639); 
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )
+            	    int alt68=2;
+            	    int LA68_0 = input.LA(1);
+            	    if ( (LA68_0==LPAREN) ) {
+            	        alt68=1;
+            	    }
+            	    else if ( (LA68_0==DOT) ) {
+            	        alt68=2;
+            	    }
+            	    else {
+            	        NoViableAltException nvae =
+            	            new NoViableAltException("749:13: ( LPAREN argList RPAREN | DOT IDENT ( LPAREN argList RPAREN )? )", 68, 0, input);
+
+            	        throw nvae;
+            	    }
+            	    switch (alt68) {
+            	        case 1 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:750:17: LPAREN argList RPAREN
+            	            {
+            	            match(input,LPAREN,FOLLOW_LPAREN_in_postfixExpression2674); 
+            	            pushFollow(FOLLOW_argList_in_postfixExpression2676);
+            	            argList();
+            	            _fsp--;
+
+            	            match(input,RPAREN,FOLLOW_RPAREN_in_postfixExpression2678); 
+
+            	            }
+            	            break;
+            	        case 2 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:752:8: DOT IDENT ( LPAREN argList RPAREN )?
+            	            {
+            	            match(input,DOT,FOLLOW_DOT_in_postfixExpression2704); 
+            	            match(input,IDENT,FOLLOW_IDENT_in_postfixExpression2706); 
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:753:17: ( LPAREN argList RPAREN )?
+            	            int alt67=2;
+            	            int LA67_0 = input.LA(1);
+            	            if ( (LA67_0==LPAREN) ) {
+            	                alt67=1;
+            	            }
+            	            switch (alt67) {
+            	                case 1 :
+            	                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:753:19: LPAREN argList RPAREN
+            	                    {
+            	                    match(input,LPAREN,FOLLOW_LPAREN_in_postfixExpression2726); 
+            	                    pushFollow(FOLLOW_argList_in_postfixExpression2749);
+            	                    argList();
+            	                    _fsp--;
+
+            	                    match(input,RPAREN,FOLLOW_RPAREN_in_postfixExpression2771); 
+
+            	                    }
+            	                    break;
+
+            	            }
+
+
+            	            }
+            	            break;
+
+            	    }
+
+
+            	    }
+            	    break;
+            	case 4 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:758:5: DOT newExpression
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_postfixExpression2810); 
+            	    pushFollow(FOLLOW_newExpression_in_postfixExpression2812);
+            	    newExpression();
+            	    _fsp--;
+
+
+            	    }
+            	    break;
+            	case 5 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:759:5: LBRACK expression RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_postfixExpression2818); 
+            	    pushFollow(FOLLOW_expression_in_postfixExpression2821);
+            	    expression();
+            	    _fsp--;
+
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_postfixExpression2823); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop69;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:762:3: ( (INC|DEC))?
+            int alt70=2;
+            int LA70_0 = input.LA(1);
+            if ( ((LA70_0>=INC && LA70_0<=DEC)) ) {
+                alt70=1;
+            }
+            switch (alt70) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:764:4: (INC|DEC)
+                    {
+                    if ( (input.LA(1)>=INC && input.LA(1)<=DEC) ) {
+                        input.consume();
+                        errorRecovery=false;
+                    }
+                    else {
+                        MismatchedSetException mse =
+                            new MismatchedSetException(null,input);
+                        recoverFromMismatchedSet(input,mse,FOLLOW_set_in_postfixExpression2854);    throw mse;
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end postfixExpression
+
+
+    // $ANTLR start primaryExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );
+    public void primaryExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:4: ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' )
+            int alt73=10;
+            switch ( input.LA(1) ) {
+            case IDENT:
+                alt73=1;
+                break;
+            case NUM_INT:
+            case CHAR_LITERAL:
+            case STRING_LITERAL:
+            case NUM_FLOAT:
+                alt73=2;
+                break;
+            case 112:
+                alt73=3;
+                break;
+            case 113:
+                alt73=4;
+                break;
+            case 114:
+                alt73=5;
+                break;
+            case 115:
+                alt73=6;
+                break;
+            case 93:
+                alt73=7;
+                break;
+            case 94:
+                alt73=8;
+                break;
+            case LPAREN:
+                alt73=9;
+                break;
+            case 68:
+            case 69:
+            case 70:
+            case 71:
+            case 72:
+            case 73:
+            case 74:
+            case 75:
+            case 76:
+                alt73=10;
+                break;
+            default:
+                NoViableAltException nvae =
+                    new NoViableAltException("770:1: primaryExpression : ( identPrimary ( options {greedy=true; } : DOT 'class' )? | constant | 'true' | 'false' | 'null' | newExpression | 'this' | 'super' | LPAREN assignmentExpression RPAREN | builtInType ( LBRACK RBRACK )* DOT 'class' );", 73, 0, input);
+
+                throw nvae;
+            }
+
+            switch (alt73) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:4: identPrimary ( options {greedy=true; } : DOT 'class' )?
+                    {
+                    pushFollow(FOLLOW_identPrimary_in_primaryExpression2881);
+                    identPrimary();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:17: ( options {greedy=true; } : DOT 'class' )?
+                    int alt71=2;
+                    int LA71_0 = input.LA(1);
+                    if ( (LA71_0==DOT) ) {
+                        int LA71_1 = input.LA(2);
+                        if ( (LA71_1==89) ) {
+                            alt71=1;
+                        }
+                    }
+                    switch (alt71) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:771:43: DOT 'class'
+                            {
+                            match(input,DOT,FOLLOW_DOT_in_primaryExpression2893); 
+                            match(input,89,FOLLOW_89_in_primaryExpression2895); 
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:772:9: constant
+                    {
+                    pushFollow(FOLLOW_constant_in_primaryExpression2908);
+                    constant();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 3 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:773:4: 'true'
+                    {
+                    match(input,112,FOLLOW_112_in_primaryExpression2913); 
+
+                    }
+                    break;
+                case 4 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:774:4: 'false'
+                    {
+                    match(input,113,FOLLOW_113_in_primaryExpression2918); 
+
+                    }
+                    break;
+                case 5 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:775:4: 'null'
+                    {
+                    match(input,114,FOLLOW_114_in_primaryExpression2923); 
+
+                    }
+                    break;
+                case 6 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:776:9: newExpression
+                    {
+                    pushFollow(FOLLOW_newExpression_in_primaryExpression2933);
+                    newExpression();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 7 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:777:4: 'this'
+                    {
+                    match(input,93,FOLLOW_93_in_primaryExpression2938); 
+
+                    }
+                    break;
+                case 8 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:778:4: 'super'
+                    {
+                    match(input,94,FOLLOW_94_in_primaryExpression2943); 
+
+                    }
+                    break;
+                case 9 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:779:4: LPAREN assignmentExpression RPAREN
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_primaryExpression2948); 
+                    pushFollow(FOLLOW_assignmentExpression_in_primaryExpression2950);
+                    assignmentExpression();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_primaryExpression2952); 
+
+                    }
+                    break;
+                case 10 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:781:4: builtInType ( LBRACK RBRACK )* DOT 'class'
+                    {
+                    pushFollow(FOLLOW_builtInType_in_primaryExpression2960);
+                    builtInType();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:782:3: ( LBRACK RBRACK )*
+                    loop72:
+                    do {
+                        int alt72=2;
+                        int LA72_0 = input.LA(1);
+                        if ( (LA72_0==LBRACK) ) {
+                            alt72=1;
+                        }
+
+
+                        switch (alt72) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:782:5: LBRACK RBRACK
+                    	    {
+                    	    match(input,LBRACK,FOLLOW_LBRACK_in_primaryExpression2966); 
+                    	    match(input,RBRACK,FOLLOW_RBRACK_in_primaryExpression2969); 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    break loop72;
+                        }
+                    } while (true);
+
+                    match(input,DOT,FOLLOW_DOT_in_primaryExpression2976); 
+                    match(input,89,FOLLOW_89_in_primaryExpression2978); 
+
+                    }
+                    break;
+
+            }
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end primaryExpression
+
+
+    // $ANTLR start identPrimary
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:786:1: identPrimary : i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? ;
+    public void identPrimary() throws RecognitionException {   
+        Token i=null;
+
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:791:4: (i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )? )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:791:4: i= IDENT ( options {greedy=true; k=2; } : DOT IDENT )* ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
+            {
+            i=(Token)input.LT(1);
+            match(input,IDENT,FOLLOW_IDENT_in_identPrimary2993); 
+             identifiers.add( i.getText() );  
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:792:3: ( options {greedy=true; k=2; } : DOT IDENT )*
+            loop74:
+            do {
+                int alt74=2;
+                int LA74_0 = input.LA(1);
+                if ( (LA74_0==DOT) ) {
+                    int LA74_3 = input.LA(2);
+                    if ( (LA74_3==IDENT) ) {
+                        alt74=1;
+                    }
+
+
+                }
+
+
+                switch (alt74) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:796:5: DOT IDENT
+            	    {
+            	    match(input,DOT,FOLLOW_DOT_in_identPrimary3031); 
+            	    match(input,IDENT,FOLLOW_IDENT_in_identPrimary3033); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    break loop74;
+                }
+            } while (true);
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:798:3: ( options {greedy=true; } : ( LPAREN argList RPAREN ) | ( options {greedy=true; } : LBRACK RBRACK )+ )?
+            int alt76=3;
+            int LA76_0 = input.LA(1);
+            if ( (LA76_0==LPAREN) ) {
+                alt76=1;
+            }
+            else if ( (LA76_0==LBRACK) ) {
+                int LA76_2 = input.LA(2);
+                if ( (LA76_2==RBRACK) ) {
+                    alt76=2;
+                }
+            }
+            switch (alt76) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:7: ( LPAREN argList RPAREN )
+                    {
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:7: ( LPAREN argList RPAREN )
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:804:9: LPAREN argList RPAREN
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_identPrimary3095); 
+                    pushFollow(FOLLOW_argList_in_identPrimary3098);
+                    argList();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_identPrimary3100); 
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:805:5: ( options {greedy=true; } : LBRACK RBRACK )+
+                    {
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:805:5: ( options {greedy=true; } : LBRACK RBRACK )+
+                    int cnt75=0;
+                    loop75:
+                    do {
+                        int alt75=2;
+                        int LA75_0 = input.LA(1);
+                        if ( (LA75_0==LBRACK) ) {
+                            int LA75_2 = input.LA(2);
+                            if ( (LA75_2==RBRACK) ) {
+                                alt75=1;
+                            }
+
+
+                        }
+
+
+                        switch (alt75) {
+                    	case 1 :
+                    	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:806:15: LBRACK RBRACK
+                    	    {
+                    	    match(input,LBRACK,FOLLOW_LBRACK_in_identPrimary3133); 
+                    	    match(input,RBRACK,FOLLOW_RBRACK_in_identPrimary3136); 
+
+                    	    }
+                    	    break;
+
+                    	default :
+                    	    if ( cnt75 >= 1 ) break loop75;
+                                EarlyExitException eee =
+                                    new EarlyExitException(75, input);
+                                throw eee;
+                        }
+                        cnt75++;
+                    } while (true);
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end identPrimary
+
+
+    // $ANTLR start newExpression
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:811:1: newExpression : 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) ;
+    public void newExpression() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:861:4: ( 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:861:4: 'new' type ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
+            {
+            match(input,115,FOLLOW_115_in_newExpression3172); 
+            pushFollow(FOLLOW_type_in_newExpression3174);
+            type();
+            _fsp--;
+
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:3: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )
+            int alt79=2;
+            int LA79_0 = input.LA(1);
+            if ( (LA79_0==LPAREN) ) {
+                alt79=1;
+            }
+            else if ( (LA79_0==LBRACK) ) {
+                alt79=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("862:3: ( LPAREN argList RPAREN ( classBlock )? | newArrayDeclarator ( arrayInitializer )? )", 79, 0, input);
+
+                throw nvae;
+            }
+            switch (alt79) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:5: LPAREN argList RPAREN ( classBlock )?
+                    {
+                    match(input,LPAREN,FOLLOW_LPAREN_in_newExpression3180); 
+                    pushFollow(FOLLOW_argList_in_newExpression3182);
+                    argList();
+                    _fsp--;
+
+                    match(input,RPAREN,FOLLOW_RPAREN_in_newExpression3184); 
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:27: ( classBlock )?
+                    int alt77=2;
+                    int LA77_0 = input.LA(1);
+                    if ( (LA77_0==LCURLY) ) {
+                        alt77=1;
+                    }
+                    switch (alt77) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:862:28: classBlock
+                            {
+                            pushFollow(FOLLOW_classBlock_in_newExpression3187);
+                            classBlock();
+                            _fsp--;
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:5: newArrayDeclarator ( arrayInitializer )?
+                    {
+                    pushFollow(FOLLOW_newArrayDeclarator_in_newExpression3225);
+                    newArrayDeclarator();
+                    _fsp--;
+
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:24: ( arrayInitializer )?
+                    int alt78=2;
+                    int LA78_0 = input.LA(1);
+                    if ( (LA78_0==LCURLY) ) {
+                        alt78=1;
+                    }
+                    switch (alt78) {
+                        case 1 :
+                            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:872:25: arrayInitializer
+                            {
+                            pushFollow(FOLLOW_arrayInitializer_in_newExpression3228);
+                            arrayInitializer();
+                            _fsp--;
+
+
+                            }
+                            break;
+
+                    }
+
+
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end newExpression
+
+
+    // $ANTLR start argList
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:876:1: argList : ( expressionList | ) ;
+    public void argList() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( ( expressionList | ) )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( expressionList | )
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:4: ( expressionList | )
+            int alt80=2;
+            int LA80_0 = input.LA(1);
+            if ( (LA80_0==IDENT||LA80_0==LPAREN||(LA80_0>=PLUS && LA80_0<=MINUS)||(LA80_0>=INC && LA80_0<=NUM_FLOAT)||(LA80_0>=68 && LA80_0<=76)||(LA80_0>=93 && LA80_0<=94)||(LA80_0>=112 && LA80_0<=115)) ) {
+                alt80=1;
+            }
+            else if ( (LA80_0==RPAREN) ) {
+                alt80=2;
+            }
+            else {
+                NoViableAltException nvae =
+                    new NoViableAltException("877:4: ( expressionList | )", 80, 0, input);
+
+                throw nvae;
+            }
+            switch (alt80) {
+                case 1 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:877:6: expressionList
+                    {
+                    pushFollow(FOLLOW_expressionList_in_argList3247);
+                    expressionList();
+                    _fsp--;
+
+
+                    }
+                    break;
+                case 2 :
+                    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:880:3: 
+                    {
+                    }
+                    break;
+
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end argList
+
+
+    // $ANTLR start newArrayDeclarator
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:883:1: newArrayDeclarator : ( options {k=1; } : LBRACK ( expression )? RBRACK )+ ;
+    public void newArrayDeclarator() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( ( options {k=1; } : LBRACK ( expression )? RBRACK )+ )
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
+            {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:884:4: ( options {k=1; } : LBRACK ( expression )? RBRACK )+
+            int cnt82=0;
+            loop82:
+            do {
+                int alt82=2;
+                int LA82_0 = input.LA(1);
+                if ( (LA82_0==LBRACK) ) {
+                    alt82=1;
+                }
+
+
+                switch (alt82) {
+            	case 1 :
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:893:4: LBRACK ( expression )? RBRACK
+            	    {
+            	    match(input,LBRACK,FOLLOW_LBRACK_in_newArrayDeclarator3317); 
+            	    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:894:5: ( expression )?
+            	    int alt81=2;
+            	    int LA81_0 = input.LA(1);
+            	    if ( (LA81_0==IDENT||LA81_0==LPAREN||(LA81_0>=PLUS && LA81_0<=MINUS)||(LA81_0>=INC && LA81_0<=NUM_FLOAT)||(LA81_0>=68 && LA81_0<=76)||(LA81_0>=93 && LA81_0<=94)||(LA81_0>=112 && LA81_0<=115)) ) {
+            	        alt81=1;
+            	    }
+            	    switch (alt81) {
+            	        case 1 :
+            	            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:894:6: expression
+            	            {
+            	            pushFollow(FOLLOW_expression_in_newArrayDeclarator3325);
+            	            expression();
+            	            _fsp--;
+
+
+            	            }
+            	            break;
+
+            	    }
+
+            	    match(input,RBRACK,FOLLOW_RBRACK_in_newArrayDeclarator3332); 
+
+            	    }
+            	    break;
+
+            	default :
+            	    if ( cnt82 >= 1 ) break loop82;
+                        EarlyExitException eee =
+                            new EarlyExitException(82, input);
+                        throw eee;
+                }
+                cnt82++;
+            } while (true);
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end newArrayDeclarator
+
+
+    // $ANTLR start constant
+    // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:899:1: constant : (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT);
+    public void constant() throws RecognitionException {   
+        try {
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:900:2: ( (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT))
+            // D:\\workspace\\jboss\\jbossrules\\drools-compiler\\src\\main\\resources\\org\\drools\\semantics\\java\\parser\\JavaParser.g:900:4: (NUM_INT|CHAR_LITERAL|STRING_LITERAL|NUM_FLOAT)
+            {
+            if ( (input.LA(1)>=NUM_INT && input.LA(1)<=NUM_FLOAT) ) {
+                input.consume();
+                errorRecovery=false;
+            }
+            else {
+                MismatchedSetException mse =
+                    new MismatchedSetException(null,input);
+                recoverFromMismatchedSet(input,mse,FOLLOW_set_in_constant3348);    throw mse;
+            }
+
+
+            }
+
+        }
+        catch (RecognitionException re) {
+            reportError(re);
+            recover(input,re);
+        }
+        finally {
+       }
+        return ;
+    }
+    // $ANTLR end constant
+
+
+    protected DFA41 dfa41 = new DFA41(this);
+    protected DFA45 dfa45 = new DFA45(this);
+    protected DFA65 dfa65 = new DFA65(this);
+    public static final String DFA41_eotS =
+        "\34\uffff";
+    public static final String DFA41_eofS =
+        "\34\uffff";
+    public static final String DFA41_minS =
+        "\1\6\1\uffff\1\6\2\4\14\uffff\1\6\4\uffff\1\6\2\5\3\4";
+    public static final String DFA41_maxS =
+        "\1\163\1\uffff\1\131\1\157\1\7\14\uffff\1\131\4\uffff\2\163\1\5"+
+        "\2\157\1\7";
+    public static final String DFA41_acceptS =
+        "\1\uffff\1\1\3\uffff\1\3\1\4\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1"+
+        "\15\1\16\1\17\1\uffff\1\21\1\20\1\2\1\5\6\uffff";
+    public static final String DFA41_specialS =
+        "\34\uffff}>";
+    public static final String[] DFA41_transition = {
+        "\1\3\2\uffff\1\1\1\22\2\uffff\1\5\35\uffff\2\5\2\uffff\10\5\15\uffff"+
+        "\11\4\11\21\1\2\2\21\1\6\3\uffff\2\5\1\uffff\1\7\1\uffff\1\10\1"+
+        "\11\1\12\1\13\1\14\1\15\1\16\1\20\2\uffff\1\17\3\uffff\4\5",
+        "",
+        "\1\24\6\uffff\1\23\66\uffff\11\24\14\21\1\6",
+        "\1\27\1\uffff\1\24\1\26\1\5\1\uffff\1\5\2\uffff\1\5\1\uffff\1\5"+
+        "\1\25\40\5\76\uffff\1\5",
+        "\1\30\1\uffff\1\24\1\5",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "",
+        "\1\24\75\uffff\11\24\14\21\1\6",
+        "",
+        "",
+        "",
+        "",
+        "\1\31\122\uffff\1\5\3\uffff\2\5\24\uffff\1\5",
+        "\1\32\1\5\6\uffff\1\5\35\uffff\2\5\2\uffff\10\5\15\uffff\11\5\20"+
+        "\uffff\2\5\21\uffff\4\5",
+        "\1\33",
+        "\1\27\1\uffff\1\24\1\26\1\5\1\uffff\1\5\2\uffff\1\5\1\uffff\1\5"+
+        "\1\uffff\40\5\76\uffff\1\5",
+        "\1\27\1\uffff\1\24\2\5\1\uffff\1\5\4\uffff\1\5\1\uffff\40\5\76\uffff"+
+        "\1\5",
+        "\1\30\1\uffff\1\24\1\5"
+    };
+
+    class DFA41 extends DFA {
+        public DFA41(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 41;
+            this.eot = DFA.unpackEncodedString(DFA41_eotS);
+            this.eof = DFA.unpackEncodedString(DFA41_eofS);
+            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA41_minS);
+            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA41_maxS);
+            this.accept = DFA.unpackEncodedString(DFA41_acceptS);
+            this.special = DFA.unpackEncodedString(DFA41_specialS);
+            int numStates = DFA41_transition.length;
+            this.transition = new short[numStates][];
+            for (int i=0; i<numStates; i++) {
+                transition[i] = DFA.unpackEncodedString(DFA41_transition[i]);
+            }
+        }
+        public String getDescription() {
+            return "434:1: statement : ( compoundStatement | declaration SEMI | expression SEMI | modifiers classDefinition | IDENT COLON statement | 'if' LPAREN expression RPAREN statement ( 'else' statement )? | 'for' LPAREN forInit SEMI forCond SEMI forIter RPAREN statement | 'while' LPAREN expression RPAREN statement | 'do' statement 'while' LPAREN expression RPAREN SEMI | 'break' ( IDENT )? SEMI | 'continue' ( IDENT )? SEMI | 'return' ( expression )? SEMI | 'switch' LPAREN expression RPAREN LCURLY ( casesGroup )* RCURLY | tryBlock | 'throw' expression SEMI | 'synchronized' LPAREN expression RPAREN compoundStatement | SEMI );";
+        }
+    }
+    public static final String DFA45_eotS =
+        "\14\uffff";
+    public static final String DFA45_eofS =
+        "\14\uffff";
+    public static final String DFA45_minS =
+        "\1\6\1\uffff\2\4\2\uffff\1\6\2\5\3\4";
+    public static final String DFA45_maxS =
+        "\1\163\1\uffff\1\157\1\7\2\uffff\2\163\1\5\2\157\1\7";
+    public static final String DFA45_acceptS =
+        "\1\uffff\1\1\2\uffff\1\2\1\3\6\uffff";
+    public static final String DFA45_specialS =
+        "\14\uffff}>";
+    public static final String[] DFA45_transition = {
+        "\1\2\3\uffff\1\5\2\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff"+
+        "\11\3\14\1\4\uffff\2\4\21\uffff\4\4",
+        "",
+        "\1\7\1\uffff\1\1\1\6\1\4\1\uffff\1\4\1\uffff\2\4\1\uffff\1\4\1\uffff"+
+        "\40\4\76\uffff\1\4",
+        "\1\10\1\uffff\1\1\1\4",
+        "",
+        "",
+        "\1\11\122\uffff\1\4\3\uffff\2\4\24\uffff\1\4",
+        "\1\12\1\4\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\4\20"+
+        "\uffff\2\4\21\uffff\4\4",
+        "\1\13",
+        "\1\7\1\uffff\1\1\1\6\1\4\1\uffff\1\4\1\uffff\2\4\1\uffff\1\4\1\uffff"+
+        "\40\4\76\uffff\1\4",
+        "\1\7\1\uffff\1\1\2\4\1\uffff\1\4\1\uffff\1\4\2\uffff\1\4\1\uffff"+
+        "\40\4\76\uffff\1\4",
+        "\1\10\1\uffff\1\1\1\4"
+    };
+
+    class DFA45 extends DFA {
+        public DFA45(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 45;
+            this.eot = DFA.unpackEncodedString(DFA45_eotS);
+            this.eof = DFA.unpackEncodedString(DFA45_eofS);
+            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA45_minS);
+            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA45_maxS);
+            this.accept = DFA.unpackEncodedString(DFA45_acceptS);
+            this.special = DFA.unpackEncodedString(DFA45_specialS);
+            int numStates = DFA45_transition.length;
+            this.transition = new short[numStates][];
+            for (int i=0; i<numStates; i++) {
+                transition[i] = DFA.unpackEncodedString(DFA45_transition[i]);
+            }
+        }
+        public String getDescription() {
+            return "536:4: ( declaration | expressionList )?";
+        }
+    }
+    public static final String DFA65_eotS =
+        "\20\uffff";
+    public static final String DFA65_eofS =
+        "\20\uffff";
+    public static final String DFA65_minS =
+        "\1\6\2\uffff\1\6\1\uffff\2\4\1\6\1\5\1\4\1\5\1\uffff\2\4\1\uffff"+
+        "\1\4";
+    public static final String DFA65_maxS =
+        "\1\163\2\uffff\1\163\1\uffff\1\157\1\16\3\163\1\5\1\uffff\2\157"+
+        "\1\uffff\1\16";
+    public static final String DFA65_acceptS =
+        "\1\uffff\1\1\1\2\1\uffff\1\5\6\uffff\1\3\2\uffff\1\4\1\uffff";
+    public static final String DFA65_specialS =
+        "\20\uffff}>";
+    public static final String[] DFA65_transition = {
+        "\1\4\6\uffff\1\3\43\uffff\1\1\1\2\4\4\15\uffff\11\4\20\uffff\2\4"+
+        "\21\uffff\4\4",
+        "",
+        "",
+        "\1\5\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\6\20\uffff"+
+        "\2\4\21\uffff\4\4",
+        "",
+        "\1\10\2\uffff\1\7\1\4\4\uffff\1\4\1\11\1\4\1\uffff\40\4\76\uffff"+
+        "\1\4",
+        "\1\12\2\uffff\1\4\6\uffff\1\13",
+        "\1\14\122\uffff\1\4\3\uffff\2\4\24\uffff\1\4",
+        "\1\15\1\4\6\uffff\1\4\35\uffff\2\4\2\uffff\10\4\15\uffff\11\4\20"+
+        "\uffff\2\4\21\uffff\4\4",
+        "\2\4\1\16\2\4\1\uffff\3\4\1\16\43\4\6\16\15\uffff\11\16\20\uffff"+
+        "\2\16\20\uffff\1\4\4\16",
+        "\1\17",
+        "",
+        "\1\10\2\uffff\1\7\1\4\4\uffff\1\4\1\11\1\4\1\uffff\40\4\76\uffff"+
+        "\1\4",
+        "\1\10\2\uffff\2\4\5\uffff\1\11\1\4\1\uffff\40\4\76\uffff\1\4",
+        "",
+        "\1\12\2\uffff\1\4\6\uffff\1\13"
+    };
+
+    class DFA65 extends DFA {
+        public DFA65(BaseRecognizer recognizer) {
+            this.recognizer = recognizer;
+            this.decisionNumber = 65;
+            this.eot = DFA.unpackEncodedString(DFA65_eotS);
+            this.eof = DFA.unpackEncodedString(DFA65_eofS);
+            this.min = DFA.unpackEncodedStringToUnsignedChars(DFA65_minS);
+            this.max = DFA.unpackEncodedStringToUnsignedChars(DFA65_maxS);
+            this.accept = DFA.unpackEncodedString(DFA65_acceptS);
+            this.special = DFA.unpackEncodedString(DFA65_specialS);
+            int numStates = DFA65_transition.length;
+            this.transition = new short[numStates][];
+            for (int i=0; i<numStates; i++) {
+                transition[i] = DFA.unpackEncodedString(DFA65_transition[i]);
+            }
+        }
+        public String getDescription() {
+            return "722:1: unaryExpressionNotPlusMinus : ( BNOT unaryExpression | LNOT unaryExpression | LPAREN builtInTypeSpec RPAREN unaryExpression | LPAREN classTypeSpec RPAREN unaryExpressionNotPlusMinus | postfixExpression );";
+        }
+    }
+ 
+
+    public static final BitSet FOLLOW_modifiers_in_declaration59 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_typeSpec_in_declaration61 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_variableDefinitions_in_declaration63 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_classTypeSpec_in_typeSpec79 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_builtInTypeSpec_in_typeSpec84 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identifier_in_classTypeSpec97 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_LBRACK_in_classTypeSpec100 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_classTypeSpec103 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_builtInType_in_builtInTypeSpec118 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_LBRACK_in_builtInTypeSpec121 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_builtInTypeSpec124 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_identifier_in_type139 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_builtInType_in_type144 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_set_in_builtInType156 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_identifier209 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_identifier214 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_identifier216 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_IDENT_in_identifierStar230 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_identifierStar236 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_identifierStar238 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_identifierStar247 = new BitSet(new long[]{0x0000000000000100L});
+    public static final BitSet FOLLOW_STAR_in_identifierStar249 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_modifier_in_modifiers270 = new BitSet(new long[]{0x0000000000000002L,0x0000000001FFE000L});
+    public static final BitSet FOLLOW_set_in_modifier288 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_89_in_classDefinition356 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_classDefinition358 = new BitSet(new long[]{0x0000000000000200L,0x0000000014000000L});
+    public static final BitSet FOLLOW_superClassClause_in_classDefinition365 = new BitSet(new long[]{0x0000000000000200L,0x0000000010000000L});
+    public static final BitSet FOLLOW_implementsClause_in_classDefinition372 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_classBlock_in_classDefinition379 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_superClassClause392 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_superClassClause394 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_91_in_interfaceDefinition412 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_interfaceDefinition414 = new BitSet(new long[]{0x0000000000000200L,0x0000000004000000L});
+    public static final BitSet FOLLOW_interfaceExtends_in_interfaceDefinition421 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_classBlock_in_interfaceDefinition428 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_classBlock442 = new BitSet(new long[]{0x0000000000000E40L,0x000000000BFFFFF0L});
+    public static final BitSet FOLLOW_field_in_classBlock449 = new BitSet(new long[]{0x0000000000000E40L,0x000000000BFFFFF0L});
+    public static final BitSet FOLLOW_SEMI_in_classBlock453 = new BitSet(new long[]{0x0000000000000E40L,0x000000000BFFFFF0L});
+    public static final BitSet FOLLOW_RCURLY_in_classBlock460 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_90_in_interfaceExtends479 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_interfaceExtends483 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_interfaceExtends487 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_interfaceExtends489 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_92_in_implementsClause514 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_implementsClause516 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_implementsClause520 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_implementsClause522 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_modifiers_in_field548 = new BitSet(new long[]{0x0000000000000040L,0x000000000A001FF0L});
+    public static final BitSet FOLLOW_ctorHead_in_field554 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_constructorBody_in_field556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_classDefinition_in_field568 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_interfaceDefinition_in_field586 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_typeSpec_in_field600 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_field609 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_field623 = new BitSet(new long[]{0x0000000000004040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclarationList_in_field625 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_field627 = new BitSet(new long[]{0x0000000000000610L,0x0000000080000000L});
+    public static final BitSet FOLLOW_declaratorBrackets_in_field634 = new BitSet(new long[]{0x0000000000000600L,0x0000000080000000L});
+    public static final BitSet FOLLOW_throwsClause_in_field652 = new BitSet(new long[]{0x0000000000000600L});
+    public static final BitSet FOLLOW_compoundStatement_in_field663 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SEMI_in_field667 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableDefinitions_in_field676 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_field678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_80_in_field704 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_field706 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_compoundStatement_in_field720 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_constructorBody739 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_explicitConstructorInvocation_in_constructorBody765 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_constructorBody782 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_RCURLY_in_constructorBody794 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_93_in_explicitConstructorInvocation815 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation817 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation819 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation821 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation823 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_94_in_explicitConstructorInvocation836 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_explicitConstructorInvocation838 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_explicitConstructorInvocation840 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_explicitConstructorInvocation842 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_explicitConstructorInvocation844 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions861 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_variableDefinitions867 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_variableDeclarator_in_variableDefinitions872 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_IDENT_in_variableDeclarator890 = new BitSet(new long[]{0x0000000000008012L});
+    public static final BitSet FOLLOW_declaratorBrackets_in_variableDeclarator892 = new BitSet(new long[]{0x0000000000008002L});
+    public static final BitSet FOLLOW_varInitializer_in_variableDeclarator894 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LBRACK_in_declaratorBrackets912 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_declaratorBrackets915 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_ASSIGN_in_varInitializer930 = new BitSet(new long[]{0x007F980000002240L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_initializer_in_varInitializer932 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_arrayInitializer947 = new BitSet(new long[]{0x007F980000002A40L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_initializer_in_arrayInitializer955 = new BitSet(new long[]{0x0000000000001800L});
+    public static final BitSet FOLLOW_COMMA_in_arrayInitializer992 = new BitSet(new long[]{0x007F980000002240L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_initializer_in_arrayInitializer994 = new BitSet(new long[]{0x0000000000001800L});
+    public static final BitSet FOLLOW_COMMA_in_arrayInitializer1008 = new BitSet(new long[]{0x0000000000000800L});
+    public static final BitSet FOLLOW_RCURLY_in_arrayInitializer1020 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_initializer1034 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_arrayInitializer_in_initializer1039 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_ctorHead1053 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_ctorHead1063 = new BitSet(new long[]{0x0000000000004040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclarationList_in_ctorHead1065 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_ctorHead1067 = new BitSet(new long[]{0x0000000000000002L,0x0000000080000000L});
+    public static final BitSet FOLLOW_throwsClause_in_ctorHead1076 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_95_in_throwsClause1090 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_throwsClause1092 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_throwsClause1096 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_identifier_in_throwsClause1098 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1116 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_parameterDeclarationList1120 = new BitSet(new long[]{0x0000000000000040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclaration_in_parameterDeclarationList1122 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_parameterModifier_in_parameterDeclaration1140 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_typeSpec_in_parameterDeclaration1142 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_parameterDeclaration1144 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_declaratorBrackets_in_parameterDeclaration1148 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_82_in_parameterModifier1160 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LCURLY_in_compoundStatement1185 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_compoundStatement1196 = new BitSet(new long[]{0x007F980000002E40L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_RCURLY_in_compoundStatement1202 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_compoundStatement_in_statement1216 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_declaration_in_statement1232 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1234 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_statement1246 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1248 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_modifiers_in_statement1256 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_classDefinition_in_statement1258 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_statement1266 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_statement1268 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1271 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_96_in_statement1279 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1281 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1283 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1285 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1287 = new BitSet(new long[]{0x0000000000000002L,0x0000000200000000L});
+    public static final BitSet FOLLOW_97_in_statement1308 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1310 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_98_in_statement1323 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1328 = new BitSet(new long[]{0x007F980000002440L,0x000F000061FFFFF0L});
+    public static final BitSet FOLLOW_forInit_in_statement1334 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1336 = new BitSet(new long[]{0x007F980000002440L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_forCond_in_statement1345 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1347 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_forIter_in_statement1356 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1370 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1375 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_99_in_statement1404 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1406 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1408 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1410 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1412 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_100_in_statement1420 = new BitSet(new long[]{0x007F980000002640L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_statement_in_statement1422 = new BitSet(new long[]{0x0000000000000000L,0x0000000800000000L});
+    public static final BitSet FOLLOW_99_in_statement1424 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1426 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1428 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1430 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1432 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_101_in_statement1440 = new BitSet(new long[]{0x0000000000000440L});
+    public static final BitSet FOLLOW_IDENT_in_statement1443 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1447 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_102_in_statement1455 = new BitSet(new long[]{0x0000000000000440L});
+    public static final BitSet FOLLOW_IDENT_in_statement1458 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1462 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_103_in_statement1470 = new BitSet(new long[]{0x007F980000002440L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1473 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1477 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_104_in_statement1485 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1487 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1489 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1491 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_LCURLY_in_statement1493 = new BitSet(new long[]{0x0000000000000800L,0x00000C0000000000L});
+    public static final BitSet FOLLOW_casesGroup_in_statement1500 = new BitSet(new long[]{0x0000000000000800L,0x00000C0000000000L});
+    public static final BitSet FOLLOW_RCURLY_in_statement1507 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_tryBlock_in_statement1515 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_105_in_statement1523 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1525 = new BitSet(new long[]{0x0000000000000400L});
+    public static final BitSet FOLLOW_SEMI_in_statement1527 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_86_in_statement1535 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_statement1537 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_statement1539 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_statement1541 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_statement1543 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_SEMI_in_statement1556 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_aCase_in_casesGroup1602 = new BitSet(new long[]{0x007F980000002642L,0x000F1FFD61FFFFF0L});
+    public static final BitSet FOLLOW_caseSList_in_casesGroup1611 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_106_in_aCase1626 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_aCase1628 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_107_in_aCase1632 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_aCase1635 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_statement_in_caseSList1647 = new BitSet(new long[]{0x007F980000002642L,0x000F13FD61FFFFF0L});
+    public static final BitSet FOLLOW_declaration_in_forInit1678 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_forInit1687 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_forCond1707 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_forIter1724 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_108_in_tryBlock1741 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_tryBlock1743 = new BitSet(new long[]{0x0000000000000002L,0x0000600000000000L});
+    public static final BitSet FOLLOW_handler_in_tryBlock1748 = new BitSet(new long[]{0x0000000000000002L,0x0000600000000000L});
+    public static final BitSet FOLLOW_finallyClause_in_tryBlock1756 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_109_in_finallyClause1770 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_finallyClause1772 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_110_in_handler1784 = new BitSet(new long[]{0x0000000000002000L});
+    public static final BitSet FOLLOW_LPAREN_in_handler1786 = new BitSet(new long[]{0x0000000000000040L,0x0000000000041FF0L});
+    public static final BitSet FOLLOW_parameterDeclaration_in_handler1788 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_handler1790 = new BitSet(new long[]{0x0000000000000200L});
+    public static final BitSet FOLLOW_compoundStatement_in_handler1792 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_assignmentExpression_in_expression1839 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expression_in_expressionList1855 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_COMMA_in_expressionList1858 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_expressionList1860 = new BitSet(new long[]{0x0000000000001002L});
+    public static final BitSet FOLLOW_conditionalExpression_in_assignmentExpression1878 = new BitSet(new long[]{0x000000000FFE8002L});
+    public static final BitSet FOLLOW_set_in_assignmentExpression1886 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_assignmentExpression_in_assignmentExpression2103 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_logicalOrExpression_in_conditionalExpression2121 = new BitSet(new long[]{0x0000000010000002L});
+    public static final BitSet FOLLOW_QUESTION_in_conditionalExpression2127 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_assignmentExpression_in_conditionalExpression2129 = new BitSet(new long[]{0x0000000000010000L});
+    public static final BitSet FOLLOW_COLON_in_conditionalExpression2131 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_conditionalExpression_in_conditionalExpression2133 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2149 = new BitSet(new long[]{0x0000000020000002L});
+    public static final BitSet FOLLOW_LOR_in_logicalOrExpression2152 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_logicalAndExpression_in_logicalOrExpression2154 = new BitSet(new long[]{0x0000000020000002L});
+    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2169 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_LAND_in_logicalAndExpression2172 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_inclusiveOrExpression_in_logicalAndExpression2174 = new BitSet(new long[]{0x0000000040000002L});
+    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2189 = new BitSet(new long[]{0x0000000080000002L});
+    public static final BitSet FOLLOW_BOR_in_inclusiveOrExpression2192 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_exclusiveOrExpression_in_inclusiveOrExpression2194 = new BitSet(new long[]{0x0000000080000002L});
+    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2209 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_BXOR_in_exclusiveOrExpression2212 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_andExpression_in_exclusiveOrExpression2214 = new BitSet(new long[]{0x0000000100000002L});
+    public static final BitSet FOLLOW_equalityExpression_in_andExpression2229 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_BAND_in_andExpression2232 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_equalityExpression_in_andExpression2234 = new BitSet(new long[]{0x0000000200000002L});
+    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2249 = new BitSet(new long[]{0x0000000C00000002L});
+    public static final BitSet FOLLOW_set_in_equalityExpression2253 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_relationalExpression_in_equalityExpression2260 = new BitSet(new long[]{0x0000000C00000002L});
+    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2275 = new BitSet(new long[]{0x000000F000000002L,0x0000800000000000L});
+    public static final BitSet FOLLOW_set_in_relationalExpression2285 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_shiftExpression_in_relationalExpression2321 = new BitSet(new long[]{0x000000F000000002L});
+    public static final BitSet FOLLOW_111_in_relationalExpression2333 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_typeSpec_in_relationalExpression2335 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2352 = new BitSet(new long[]{0x0000070000000002L});
+    public static final BitSet FOLLOW_set_in_shiftExpression2356 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_additiveExpression_in_shiftExpression2367 = new BitSet(new long[]{0x0000070000000002L});
+    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2382 = new BitSet(new long[]{0x0000180000000002L});
+    public static final BitSet FOLLOW_set_in_additiveExpression2386 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_multiplicativeExpression_in_additiveExpression2393 = new BitSet(new long[]{0x0000180000000002L});
+    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2408 = new BitSet(new long[]{0x0000600000000102L});
+    public static final BitSet FOLLOW_set_in_multiplicativeExpression2412 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_multiplicativeExpression2424 = new BitSet(new long[]{0x0000600000000102L});
+    public static final BitSet FOLLOW_INC_in_unaryExpression2437 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2439 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_DEC_in_unaryExpression2444 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2446 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_MINUS_in_unaryExpression2451 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2454 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_PLUS_in_unaryExpression2459 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpression2463 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpression2468 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_BNOT_in_unaryExpressionNotPlusMinus2479 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2481 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LNOT_in_unaryExpressionNotPlusMinus2486 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2488 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2499 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_builtInTypeSpec_in_unaryExpressionNotPlusMinus2501 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2503 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpression_in_unaryExpressionNotPlusMinus2513 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LPAREN_in_unaryExpressionNotPlusMinus2549 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_classTypeSpec_in_unaryExpressionNotPlusMinus2551 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_unaryExpressionNotPlusMinus2553 = new BitSet(new long[]{0x007E000000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_unaryExpressionNotPlusMinus_in_unaryExpressionNotPlusMinus2563 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_postfixExpression_in_unaryExpressionNotPlusMinus2572 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_primaryExpression_in_postfixExpression2586 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2594 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_postfixExpression2596 = new BitSet(new long[]{0x0001800000002092L});
+    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2603 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_postfixExpression2610 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2616 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2628 = new BitSet(new long[]{0x0000000000000000L,0x0000000020000000L});
+    public static final BitSet FOLLOW_93_in_postfixExpression2630 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2637 = new BitSet(new long[]{0x0000000000000000L,0x0000000040000000L});
+    public static final BitSet FOLLOW_94_in_postfixExpression2639 = new BitSet(new long[]{0x0000000000002080L});
+    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2674 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_postfixExpression2676 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2678 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2704 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_postfixExpression2706 = new BitSet(new long[]{0x0001800000002092L});
+    public static final BitSet FOLLOW_LPAREN_in_postfixExpression2726 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_postfixExpression2749 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_postfixExpression2771 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_DOT_in_postfixExpression2810 = new BitSet(new long[]{0x0000000000000000L,0x0008000000000000L});
+    public static final BitSet FOLLOW_newExpression_in_postfixExpression2812 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_LBRACK_in_postfixExpression2818 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_postfixExpression2821 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_postfixExpression2823 = new BitSet(new long[]{0x0001800000000092L});
+    public static final BitSet FOLLOW_set_in_postfixExpression2854 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_identPrimary_in_primaryExpression2881 = new BitSet(new long[]{0x0000000000000082L});
+    public static final BitSet FOLLOW_DOT_in_primaryExpression2893 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_89_in_primaryExpression2895 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_constant_in_primaryExpression2908 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_112_in_primaryExpression2913 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_113_in_primaryExpression2918 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_114_in_primaryExpression2923 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_newExpression_in_primaryExpression2933 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_93_in_primaryExpression2938 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_94_in_primaryExpression2943 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LPAREN_in_primaryExpression2948 = new BitSet(new long[]{0x007F980000002040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_assignmentExpression_in_primaryExpression2950 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_primaryExpression2952 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_builtInType_in_primaryExpression2960 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_LBRACK_in_primaryExpression2966 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_primaryExpression2969 = new BitSet(new long[]{0x0000000000000090L});
+    public static final BitSet FOLLOW_DOT_in_primaryExpression2976 = new BitSet(new long[]{0x0000000000000000L,0x0000000002000000L});
+    public static final BitSet FOLLOW_89_in_primaryExpression2978 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_IDENT_in_identPrimary2993 = new BitSet(new long[]{0x0000000000002092L});
+    public static final BitSet FOLLOW_DOT_in_identPrimary3031 = new BitSet(new long[]{0x0000000000000040L});
+    public static final BitSet FOLLOW_IDENT_in_identPrimary3033 = new BitSet(new long[]{0x0000000000002092L});
+    public static final BitSet FOLLOW_LPAREN_in_identPrimary3095 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_identPrimary3098 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_identPrimary3100 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LBRACK_in_identPrimary3133 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_identPrimary3136 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_115_in_newExpression3172 = new BitSet(new long[]{0x0000000000000040L,0x0000000000001FF0L});
+    public static final BitSet FOLLOW_type_in_newExpression3174 = new BitSet(new long[]{0x0000000000002010L});
+    public static final BitSet FOLLOW_LPAREN_in_newExpression3180 = new BitSet(new long[]{0x007F980000006040L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_argList_in_newExpression3182 = new BitSet(new long[]{0x0000000000004000L});
+    public static final BitSet FOLLOW_RPAREN_in_newExpression3184 = new BitSet(new long[]{0x0000000000000202L});
+    public static final BitSet FOLLOW_classBlock_in_newExpression3187 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_newArrayDeclarator_in_newExpression3225 = new BitSet(new long[]{0x0000000000000202L});
+    public static final BitSet FOLLOW_arrayInitializer_in_newExpression3228 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_expressionList_in_argList3247 = new BitSet(new long[]{0x0000000000000002L});
+    public static final BitSet FOLLOW_LBRACK_in_newArrayDeclarator3317 = new BitSet(new long[]{0x007F980000002060L,0x000F000060001FF0L});
+    public static final BitSet FOLLOW_expression_in_newArrayDeclarator3325 = new BitSet(new long[]{0x0000000000000020L});
+    public static final BitSet FOLLOW_RBRACK_in_newArrayDeclarator3332 = new BitSet(new long[]{0x0000000000000012L});
+    public static final BitSet FOLLOW_set_in_constant3348 = new BitSet(new long[]{0x0000000000000002L});
+
+}


Property changes on: labs/jbossrules/trunk/drools-compiler/src/main/java/org/drools/semantics/java/parser/JavaParserParser.java
___________________________________________________________________
Name: svn:executable
   + *
Name: svn:keywords
   + id author date revision

Added: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/JavaParser.g	2006-11-29 11:53:01 UTC (rev 7929)
@@ -0,0 +1,1174 @@
+grammar JavaParser;
+
+/*
+tokens {
+	BLOCK; MODIFIERS; OBJBLOCK; SLIST; CTOR_DEF; METHOD_DEF; VARIABLE_DEF;
+	INSTANCE_INIT; STATIC_INIT; TYPE; CLASS_DEF; INTERFACE_DEF;
+	PACKAGE_DEF; ARRAY_DECLARATOR; EXTENDS_CLAUSE; IMPLEMENTS_CLAUSE;
+	PARAMETERS; PARAMETER_DEF; LABELED_STAT; TYPECAST; INDEX_OP;
+	POST_INC; POST_DEC; METHOD_CALL; EXPR; ARRAY_INIT;
+	UNARY_MINUS; UNARY_PLUS; CASE_GROUP; ELIST; FOR_INIT; FOR_CONDITION;
+	FOR_ITERATOR; EMPTY_STAT; SUPER_CTOR_CALL; CTOR_CALL;
+}
+
+*/
+
+ at parser::header {
+	package org.drools.semantics.java.parser;
+	import java.util.Iterator;
+}
+
+ at parser::members {
+	private List identifiers = new ArrayList();
+	public List getIdentifiers() { return identifiers; }
+	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
+	private List errors = new ArrayList();
+	
+	private String source = "unknown";
+	
+	public void setSource(String source) {
+		this.source = source;
+	}
+	
+	public String getSource() {
+		return this.source;
+	}
+		
+	public void reportError(RecognitionException ex) {
+	        // if we've already reported an error and have not matched a token
+                // yet successfully, don't report any errors.
+                if ( errorRecovery ) {
+                        //System.err.print("[SPURIOUS] ");
+                        return;
+                }
+                errorRecovery = true;
+
+		errors.add( ex ); 
+	}
+     	
+     	/** return the raw RecognitionException errors */
+     	public List getErrors() {
+     		return errors;
+     	}
+     	
+     	/** Return a list of pretty strings summarising the errors */
+     	public List getErrorMessages() {
+     		List messages = new ArrayList();
+ 		for ( Iterator errorIter = errors.iterator() ; errorIter.hasNext() ; ) {
+     	     		messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
+     	     	}
+     	     	return messages;
+     	}
+     	
+     	/** return true if any parser errors were accumulated */
+     	public boolean hasErrors() {
+  		return ! errors.isEmpty();
+     	}
+     	
+     	/** This will take a RecognitionException, and create a sensible error message out of it */
+     	public String createErrorMessage(RecognitionException e)
+        {
+		StringBuffer message = new StringBuffer();		
+                message.append( source + ":"+e.line+":"+e.charPositionInLine+" ");
+                if ( e instanceof MismatchedTokenException ) {
+                        MismatchedTokenException mte = (MismatchedTokenException)e;
+                        message.append("mismatched token: "+
+                                                           e.token+
+                                                           "; expecting type "+
+                                                           tokenNames[mte.expecting]);
+                }
+                else if ( e instanceof MismatchedTreeNodeException ) {
+                        MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
+                        message.append("mismatched tree node: "+
+                                                           mtne.foundNode+
+                                                           "; expecting type "+
+                                                           tokenNames[mtne.expecting]);
+                }
+                else if ( e instanceof NoViableAltException ) {
+                        NoViableAltException nvae = (NoViableAltException)e;
+			message.append( "Unexpected token '" + e.token.getText() + "'" );
+                        /*
+                        message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
+                                                           " state "+nvae.stateNumber+
+                                                           " (decision="+nvae.decisionNumber+
+                                                           ") no viable alt; token="+
+                                                           e.token);
+                                                           */
+                }
+                else if ( e instanceof EarlyExitException ) {
+                        EarlyExitException eee = (EarlyExitException)e;
+                        message.append("required (...)+ loop (decision="+
+                                                           eee.decisionNumber+
+                                                           ") did not match anything; token="+
+                                                           e.token);
+                }
+                else if ( e instanceof MismatchedSetException ) {
+                        MismatchedSetException mse = (MismatchedSetException)e;
+                        message.append("mismatched token '"+
+                                                           e.token+
+                                                           "' expecting set "+mse.expecting);
+                }
+                else if ( e instanceof MismatchedNotSetException ) {
+                        MismatchedNotSetException mse = (MismatchedNotSetException)e;
+                        message.append("mismatched token '"+
+                                                           e.token+
+                                                           "' expecting set "+mse.expecting);
+                }
+                else if ( e instanceof FailedPredicateException ) {
+                        FailedPredicateException fpe = (FailedPredicateException)e;
+                        message.append("rule "+fpe.ruleName+" failed predicate: {"+
+                                                           fpe.predicateText+"}?");
+		}
+               	return message.toString();
+        }   
+} 
+
+ at lexer::header {
+	package org.drools.semantics.java.parser;
+}
+
+ at lexer::members {
+	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
+}
+ 
+
+
+
+
+
+/** A declaration is the creation of a reference or primitive-type variable
+ *  Create a separate Type/Var tree for each var in the var list.
+ */
+declaration
+	:	modifiers typeSpec variableDefinitions
+		
+	;
+
+// A type specification is a type name with possible brackets afterwards
+//   (which would make it an array type).
+typeSpec
+	: classTypeSpec
+	| builtInTypeSpec
+	;
+
+// A class type specification is a class type with possible brackets afterwards
+//   (which would make it an array type).
+classTypeSpec
+	:	identifier (LBRACK  RBRACK)*
+	;
+
+// A builtin type specification is a builtin type with possible brackets
+// afterwards (which would make it an array type).
+builtInTypeSpec
+	:	builtInType (LBRACK  RBRACK)*
+	;
+
+// A type name. which is either a (possibly qualified) class name or
+//   a primitive (builtin) type
+type
+	:	identifier
+	|	builtInType
+	;
+
+// The primitive types.
+builtInType
+	:	'void'
+	|	'boolean'
+	|	'byte'
+	|	'char'
+	|	'short'
+	|	'int'
+	|	'float'
+	|	'long'
+	|	'double'
+	;
+
+// A (possibly-qualified) java identifier.  We start with the first IDENT
+//   and expand its name by adding dots and following IDENTS
+identifier
+	:	IDENT  ( DOT IDENT )*
+	;
+
+identifierStar
+	:	IDENT
+		( DOT IDENT )*
+		( DOT STAR  )?
+	;
+
+// A list of zero or more modifiers.  We could have used (modifier)* in
+//   place of a call to modifiers, but I thought it was a good idea to keep
+//   this rule separate so they can easily be collected in a Vector if
+//   someone so desires
+modifiers
+	:	( modifier )*
+		
+	;
+
+// modifiers for Java classes, interfaces, class/instance vars and methods
+modifier
+	:	'private'
+	|	'public'
+	|	'protected'
+	|	'static'
+	|	'transient'
+	|	'final'
+	|	'abstract'
+	|	'native'
+	|	'threadsafe'
+	|	'synchronized'
+//	|	'const'			// reserved word, but not valid
+	|	'volatile'
+	|	'strictfp'
+	;
+
+// Definition of a Java class
+classDefinition
+	:	'class' IDENT
+		// it _might_ have a superclass...
+		superClassClause
+		// it might implement some interfaces...
+		implementsClause
+		// now parse the body of the class
+		classBlock
+	;
+
+superClassClause
+	:	( 'extends' identifier )?
+		
+	;
+
+// Definition of a Java Interface
+interfaceDefinition
+	:	'interface' IDENT
+		// it might extend some other interfaces
+		interfaceExtends
+		// now parse the body of the interface (looks like a class...)
+		classBlock
+	;
+
+
+// This is the body of a class.  You can have fields and extra semicolons,
+// That's about it (until you see what a field is...)
+classBlock
+	:	LCURLY
+			( field | SEMI )*
+		RCURLY
+		
+	;
+
+// An interface can extend several other interfaces...
+interfaceExtends
+	:	(
+		'extends'
+		identifier ( COMMA identifier )*
+		)?
+	;
+
+// A class can implement several interfaces...
+implementsClause
+	:	(
+			'implements' identifier ( COMMA identifier )*
+		)?
+	;
+
+// Now the various things that can be defined inside a class or interface...
+// Note that not all of these are really valid in an interface (constructors,
+//   for example), and if this grammar were used for a compiler there would
+//   need to be some semantic checks to make sure we're doing the right thing...
+field
+	:	// method, constructor, or variable declaration
+		modifiers
+		(	ctorHead constructorBody // constructor
+			
+
+		|	classDefinition       // inner class
+			
+
+		|	interfaceDefinition   // inner interface
+			
+
+		|	typeSpec  // method or variable declaration(s)
+			(	IDENT  // the name of the method
+
+				// parse the formal parameter declarations.
+				LPAREN parameterDeclarationList RPAREN
+
+				declaratorBrackets
+
+				// get the list of exceptions that this method is
+				// declared to throw
+				(throwsClause)?
+
+				( compoundStatement | SEMI )
+			|	variableDefinitions SEMI
+//				
+				
+			)
+		)
+
+    // 'static { ... }' class initializer
+	|	'static' compoundStatement
+		
+
+    // '{ ... }' instance initializer
+	|	compoundStatement
+		
+	;
+
+constructorBody
+    :   LCURLY 
+            ( options {greedy=true;} : explicitConstructorInvocation)?
+            (statement)*
+        RCURLY
+    ;
+
+/** Catch obvious constructor calls, but not the expr.super(...) calls */
+explicitConstructorInvocation
+    :   'this' LPAREN argList RPAREN SEMI
+		
+    |   'super' LPAREN argList RPAREN SEMI
+		
+    ;
+
+variableDefinitions
+	:	variableDeclarator
+		(	COMMA
+			variableDeclarator
+		)*
+	;
+
+/** Declaration of a variable.  This can be a class/instance variable,
+ *   or a local variable in a method
+ * It can also include possible initialization.
+ */
+variableDeclarator
+	:	IDENT declaratorBrackets varInitializer
+		
+	;
+
+declaratorBrackets
+	:	
+		(LBRACK  RBRACK)*
+	;
+
+varInitializer
+	:	( ASSIGN initializer )?
+	;
+
+// This is an initializer used to set up an array.
+arrayInitializer
+	:	LCURLY 
+			(	initializer
+				(
+					// CONFLICT: does a COMMA after an initializer start a new
+					//           initializer or start the option ',' at end?
+					//           ANTLR generates proper code by matching
+					//			 the comma as soon as possible.
+					COMMA initializer
+				)*
+				(COMMA)?
+			)?
+		RCURLY
+	;
+
+
+// The two 'things' that can initialize an array element are an expression
+//   and another (nested) array initializer.
+initializer
+	:	expression
+	|	arrayInitializer
+	;
+
+// This is the header of a method.  It includes the name and parameters
+//   for the method.
+//   This also watches for a list of exception classes in a 'throws' clause.
+ctorHead
+	:	IDENT  // the name of the method
+
+		// parse the formal parameter declarations.
+		LPAREN parameterDeclarationList RPAREN
+
+		// get the list of exceptions that this method is declared to throw
+		(throwsClause)?
+	;
+
+// This is a list of exception classes that the method is declared to throw
+throwsClause
+	:	'throws' identifier ( COMMA identifier )*
+	;
+
+
+// A list of formal parameters
+parameterDeclarationList
+	:	( parameterDeclaration ( COMMA parameterDeclaration )* )?
+	;
+
+// A formal parameter.
+parameterDeclaration
+	:	parameterModifier typeSpec IDENT
+		declaratorBrackets
+	;
+
+parameterModifier
+	:	('final')?
+		
+	;
+
+// Compound statement.  This is used in many contexts:
+//   Inside a class definition prefixed with 'static':
+//      it is a class initializer
+//   Inside a class definition without 'static':
+//      it is an instance initializer
+//   As the body of a method
+//   As a completely indepdent braced block of code inside a method
+//      it starts a new scope for variable definitions
+
+compoundStatement
+	:	LCURLY 
+			// include the (possibly-empty) list of statements
+			(statement)*
+		RCURLY
+	;
+
+
+statement
+	// A list of statements in curly braces -- start a new scope
+	:	compoundStatement
+
+	// declarations are ambiguous with 'ID DOT' relative to expression
+	// statements.  Must backtrack to be sure.  Could use a semantic
+	// predicate to test symbol table to see what the type was coming
+	// up, but that's pretty hard without a symbol table ;)
+	// remove (declaration)=>
+	|	declaration SEMI
+
+	// An expression statement.  This could be a method call,
+	// assignment statement, or any other expression evaluated for
+	// side-effects.
+	|	expression SEMI
+
+	// class definition
+	|	modifiers classDefinition
+
+	// Attach a label to the front of a statement
+	|	IDENT COLON  statement
+
+	// If-else statement
+	|	'if' LPAREN expression RPAREN statement
+		(
+			// CONFLICT: the old "dangling-else" problem...
+			//           ANTLR generates proper code matching
+			//			 as soon as possible.  Hush warning.
+			'else' statement
+		)?
+
+	// For statement
+	|	'for'
+			LPAREN
+				forInit SEMI   // initializer
+				forCond	SEMI   // condition test
+				forIter         // updater
+			RPAREN
+			statement                     // statement to loop over
+
+	// While statement
+	|	'while' LPAREN expression RPAREN statement
+
+	// do-while statement
+	|	'do' statement 'while' LPAREN expression RPAREN SEMI
+
+	// get out of a loop (or switch)
+	|	'break' (IDENT)? SEMI
+
+	// do next iteration of a loop
+	|	'continue' (IDENT)? SEMI
+
+	// Return an expression
+	|	'return' (expression)? SEMI
+
+	// switch/case statement
+	|	'switch' LPAREN expression RPAREN LCURLY
+			( casesGroup )*
+		RCURLY
+
+	// exception try-catch block
+	|	tryBlock
+
+	// throw an exception
+	|	'throw' expression SEMI
+
+	// synchronize a statement
+	|	'synchronized' LPAREN expression RPAREN compoundStatement
+
+	// asserts (uncomment if you want 1.4 compatibility)
+	// |	'assert' expression ( COLON expression )? SEMI
+
+	// empty statement
+	|	SEMI 
+	;
+
+casesGroup
+	:	(	// CONFLICT: to which case group do the statements bind?
+			//           ANTLR generates proper code: it groups the
+			//           many 'case'/'default' labels together then
+			//           follows them with the statements
+				options {greedy=true;}
+			:
+			aCase
+		)+
+		caseSList
+		
+	;
+
+aCase
+	:	('case' expression | 'default') COLON
+	;
+
+caseSList
+	:	(statement)*
+		
+	;
+
+// The initializer for a for loop
+forInit
+		// if it looks like a declaration, it is
+        // remove (declaration)=> 
+	:	(	declaration
+		// otherwise it could be an expression list...
+		|	expressionList
+		)?
+		
+	;
+
+forCond
+	:	(expression)?
+		
+	;
+
+forIter
+	:	(expressionList)?
+		
+	;
+
+// an exception handler try/catch block
+tryBlock
+	:	'try' compoundStatement
+		(handler)*
+		( finallyClause )?
+	;
+
+finallyClause
+	:	'finally' compoundStatement
+	;
+
+// an exception handler
+handler
+	:	'catch' LPAREN parameterDeclaration RPAREN compoundStatement
+	;
+
+
+// expressions
+// Note that most of these expressions follow the pattern
+//   thisLevelExpression :
+//       nextHigherPrecedenceExpression
+//           (OPERATOR nextHigherPrecedenceExpression)*
+// which is a standard recursive definition for a parsing an expression.
+// The operators in java have the following precedences:
+//    lowest  (13)  = *= /= %= += -= <<= >>= >>>= &= = |=
+//            (12)  ?:
+//            (11)  ||
+//            (10)  &&
+//            ( 9)  |
+//            ( 8)  
+//            ( 7)  &
+//            ( 6)  == =
+//            ( 5)  < <= > >=
+//            ( 4)  << >>
+//            ( 3)  +(binary) -(binary)
+//            ( 2)  * / %
+//            ( 1)  ++ -- +(unary) -(unary)  ~    (type)
+//                  []   () (method call)  . (dot -- identifier qualification)
+//                  new   ()  (explicit parenthesis)
+//
+// the last two are not usually on a precedence chart; I put them in
+// to point out that new has a higher precedence than '.', so you
+// can validy use
+//     new Frame().show()
+//
+// Note that the above precedence levels map to the rules below...
+// Once you have a precedence chart, writing the appropriate rules as below
+//   is usually very straightfoward
+
+
+
+// the mother of all expressions
+expression
+	:	assignmentExpression
+		
+	;
+
+
+// This is a list of expressions.
+expressionList
+	:	expression (COMMA expression)*
+		
+	;
+
+
+// assignment expression (level 13)
+assignmentExpression
+	:	conditionalExpression
+		(	(	ASSIGN
+            |   PLUS_ASSIGN
+            |   MINUS_ASSIGN
+            |   STAR_ASSIGN
+            |   DIV_ASSIGN
+            |   MOD_ASSIGN
+            |   SR_ASSIGN
+            |   BSR_ASSIGN
+            |   SL_ASSIGN
+            |   BAND_ASSIGN
+            |   BXOR_ASSIGN
+            |   BOR_ASSIGN
+            )
+			assignmentExpression
+		)?
+	;
+
+
+// conditional test (level 12)
+conditionalExpression
+	:	logicalOrExpression
+		( QUESTION assignmentExpression COLON conditionalExpression )?
+	;
+
+
+// logical or (||)  (level 11)
+logicalOrExpression
+	:	logicalAndExpression (LOR logicalAndExpression)*
+	;
+
+
+// logical and (&&)  (level 10)
+logicalAndExpression
+	:	inclusiveOrExpression (LAND inclusiveOrExpression)*
+	;
+
+
+// bitwise or non-short-circuiting or (|)  (level 9)
+inclusiveOrExpression
+	:	exclusiveOrExpression (BOR exclusiveOrExpression)*
+	;
+
+
+// exclusive or ()  (level 8)
+exclusiveOrExpression
+	:	andExpression (BXOR andExpression)*
+	;
+
+
+// bitwise or non-short-circuiting and (&)  (level 7)
+andExpression
+	:	equalityExpression (BAND equalityExpression)*
+	;
+
+
+// equality/inequality (==/=) (level 6)
+equalityExpression
+	:	relationalExpression ((NOT_EQUAL | EQUAL) relationalExpression)*
+	;
+
+
+// boolean relational expressions (level 5)
+relationalExpression
+	:	shiftExpression
+		(	(	(	LT
+				|	GT
+				|	LE
+				|	GE
+				)
+				shiftExpression
+			)*
+		|	'instanceof' typeSpec
+		)
+	;
+
+
+// bit shift expressions (level 4)
+shiftExpression
+	:	additiveExpression ((SL | SR | BSR) additiveExpression)*
+	;
+
+
+// binary addition/subtraction (level 3)
+additiveExpression
+	:	multiplicativeExpression ((PLUS | MINUS) multiplicativeExpression)*
+	;
+
+
+// multiplication/division/modulo (level 2)
+multiplicativeExpression
+	:	unaryExpression ((STAR | DIV | MOD ) unaryExpression)*
+	;
+
+unaryExpression
+	:	INC unaryExpression
+	|	DEC unaryExpression
+	|	MINUS  unaryExpression
+	|	PLUS   unaryExpression
+	|	unaryExpressionNotPlusMinus
+	;
+
+unaryExpressionNotPlusMinus
+	:	BNOT unaryExpression
+	|	LNOT unaryExpression
+
+    |   LPAREN builtInTypeSpec RPAREN
+        unaryExpression
+
+        // Have to backtrack to see if operator follows.  If no operator
+        // follows, it's a typecast.  No semantic checking needed to parse.
+        // if it _looks_ like a cast, it _is_ a cast; else it's a '(expr)'
+    |	LPAREN classTypeSpec RPAREN
+        unaryExpressionNotPlusMinus
+
+    |	postfixExpression
+	;
+
+// qualified names, array expressions, method invocation, post inc/dec
+postfixExpression
+	:   primaryExpression
+		(   DOT IDENT
+			(	LPAREN 
+				argList
+				RPAREN
+			)?
+		|	DOT 'this'
+
+		|	DOT 'super'
+            (   // (new Outer()).super()  (create enclosing instance)
+                LPAREN argList RPAREN
+                
+			|   DOT IDENT
+                (	LPAREN 
+                    argList
+                    RPAREN
+                )?
+            )
+		|	DOT newExpression
+		|	LBRACK  expression RBRACK
+		)*
+
+		(   // possibly add on a post-increment or post-decrement.
+            // allows INC/DEC on too much, but semantics can check
+			INC 
+	 	|	DEC 
+		)?
+ 	;
+
+// the basic element of an expression
+primaryExpression
+	:	identPrimary ( options {greedy=true;}: DOT 'class' )?
+    |   constant
+	|	'true'
+	|	'false'
+	|	'null'
+    |   newExpression
+	|	'this'
+	|	'super'
+	|	LPAREN assignmentExpression RPAREN
+		// look for int.class and int[].class
+	|	builtInType
+		( LBRACK  RBRACK )*
+		DOT 'class'
+	;
+
+/** Match a, a.b.c refs, a.b.c(...) refs, a.b.c[], a.b.c[].class,
+ *  and a.b.c.class refs.  Also this(...) and super(...).  Match
+ *  this or super.
+ */
+identPrimary
+	:	i=IDENT { identifiers.add( i.getText() );  }
+		(
+				// .ident could match here or in postfixExpression.
+				// We do want to match here.  Turn off warning.
+				options {greedy=true; k=2;}
+		:	DOT IDENT
+		)*
+		(
+				// ARRAY_DECLARATOR here conflicts with INDEX_OP in
+				// postfixExpression on LBRACK RBRACK.
+				// We want to match [] here, so greedy.  This overcomes
+                // limitation of linear approximate lookahead.
+				options {greedy=true;}
+		:   ( LPAREN  argList RPAREN )
+		|	( options {greedy=true;} :
+              LBRACK  RBRACK
+            )+
+		)?
+    ;
+
+/** object instantiation.
+ *  Trees are built as illustrated by the following input/tree pairs:
+ *
+ *  new T()
+ *
+ *  new
+ *   |
+ *   T --  ELIST
+ *           |
+ *          arg1 -- arg2 -- .. -- argn
+ *
+ *  new int[]
+ *
+ *  new
+ *   |
+ *  int -- ARRAY_DECLARATOR
+ *
+ *  new int[] {1,2}
+ *
+ *  new
+ *   |
+ *  int -- ARRAY_DECLARATOR -- ARRAY_INIT
+ *                                  |
+ *                                EXPR -- EXPR
+ *                                  |      |
+ *                                  1      2
+ *
+ *  new int[3]
+ *  new
+ *   |
+ *  int -- ARRAY_DECLARATOR
+ *                |
+ *              EXPR
+ *                |
+ *                3
+ *
+ *  new int[1][2]
+ *
+ *  new
+ *   |
+ *  int -- ARRAY_DECLARATOR
+ *               |
+ *         ARRAY_DECLARATOR -- EXPR
+ *               |              |
+ *             EXPR             1
+ *               |
+ *               2
+ *
+ */
+newExpression
+	:	'new' type
+		(	LPAREN argList RPAREN (classBlock)?
+
+			//java 1.1
+			// Note: This will allow bad constructs like
+			//    new int[4][][3] {exp,exp}.
+			//    There needs to be a semantic check here...
+			// to make sure:
+			//   a) [ expr ] and [ ] are not mixed
+			//   b) [ expr ] and an init are not used together
+
+		|	newArrayDeclarator (arrayInitializer)?
+		)
+	;
+
+argList
+	:	(	expressionList
+		|	/*nothing*/
+			
+		)
+	;
+
+newArrayDeclarator
+	:	(
+			// CONFLICT:
+			// newExpression is a primaryExpression which can be
+			// followed by an array index reference.  This is ok,
+			// as the generated code will stay in this loop as
+			// long as it sees an LBRACK (proper behavior)
+				options {k=1;}
+				//options {warnWhenFollowAmbig = false;}
+		:
+			LBRACK 
+				(expression)?
+			RBRACK
+		)+
+	;
+
+constant
+	:	NUM_INT
+	|	CHAR_LITERAL
+	|	STRING_LITERAL
+	|	NUM_FLOAT
+	;
+
+
+//----------------------------------------------------------------------------
+// The Java scanner
+//----------------------------------------------------------------------------
+
+// OPERATORS
+
+
+QUESTION		:	'?'		;
+
+
+LPAREN			:	'('		;
+
+
+RPAREN			:	')'		;
+
+
+LBRACK			:	'['		;
+
+
+RBRACK			:	']'		;
+
+
+LCURLY			:	'{'		;
+
+
+RCURLY			:	'}'		;
+
+
+COLON			:	':'		;
+
+
+COMMA			:	','		;
+
+DOT				:	'.'		;
+
+ASSIGN			:	'='		;
+
+
+EQUAL			:	'=='	;
+
+
+LNOT			:	'!'		;
+
+
+BNOT			:	'~'		;
+
+
+NOT_EQUAL		:	'!='	;
+
+
+DIV				:	'/'		;
+
+
+DIV_ASSIGN		:	'/='	;
+
+
+PLUS			:	'+'		;
+
+
+PLUS_ASSIGN		:	'+='	;
+
+
+INC				:	'++'	;
+
+
+MINUS			:	'-'		;
+
+
+MINUS_ASSIGN	:	'-='	;
+
+
+DEC				:	'--'	;
+
+
+STAR			:	'*'		;
+
+
+STAR_ASSIGN		:	'*='	;
+
+
+MOD				:	'%'		;
+
+
+MOD_ASSIGN		:	'%='	;
+
+
+SR				:	'>>'	;
+
+
+SR_ASSIGN		:	'>>='	;
+
+
+BSR				:	'>>>'	;
+
+
+BSR_ASSIGN		:	'>>>='	;
+
+
+GE				:	'>='	;
+
+
+GT				:	'>'		;
+
+
+SL				:	'<<'	;
+
+
+SL_ASSIGN		:	'<<='	;
+
+
+LE				:	'<='	;
+
+
+LT				:	'<'		;
+
+
+BXOR			:	'^'		;
+
+
+BXOR_ASSIGN		:	'^='	;
+
+
+BOR				:	'|'		;
+
+
+BOR_ASSIGN		:	'|='	;
+
+
+LOR				:	'||'	;
+
+
+BAND			:	'&'		;
+
+
+BAND_ASSIGN		:	'&='	;
+
+
+LAND			:	'&&'	;
+
+
+SEMI			:	';'		;
+
+
+// Whitespace -- ignored
+
+
+WS	:	(	' '
+		|	'\t'
+		|	'\f'
+			// handle newlines
+		|	(	'\r\n'  // Evil DOS
+			|	'\r'    // Macintosh
+			|	'\n'    // Unix (the right way)
+			)
+		)+
+		{ $channel=HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/ }
+	;
+
+// Single-line comments
+
+
+SL_COMMENT
+	:	'//' (options {greedy=false;} : .)* ('\r')? '\n'
+		{$channel=HIDDEN; /*token = JavaParser.IGNORE_TOKEN;*/}
+	;
+
+// multiple-line comments
+
+
+ML_COMMENT
+	:	'/*'
+		( options {greedy=false;} : . )*
+		'*/'
+		{$channel=HIDDEN;/*token = JavaParser.IGNORE_TOKEN;*/}
+	;
+
+IDENT
+	:	('a'..'z'|'A'..'Z'|'_'|'$') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')*
+	;
+
+// From the java language spec
+
+NUM_INT
+    : DECIMAL_LITERAL 
+    | HEX_LITERAL
+    | OCTAL_LITERAL
+    ;
+
+fragment
+DECIMAL_LITERAL: '1'..'9' ('0'..'9')* ('l'|'L')? ;
+
+fragment
+HEX_LITERAL: '0' ('x'|'X') ('0'..'9'|'a'..'f'|'A'..'F')+ ('l'|'L')? ;
+
+fragment
+OCTAL_LITERAL: '0' ('0'..'7')* ('l'|'L')? ;
+
+NUM_FLOAT
+    :     DIGITS '.' (DIGITS)? (EXPONENT_PART)? (FLOAT_TYPE_SUFFIX)?
+    | '.' DIGITS (EXPONENT_PART)? (FLOAT_TYPE_SUFFIX)?
+    |     DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX
+    |     DIGITS EXPONENT_PART
+    |     DIGITS FLOAT_TYPE_SUFFIX
+    ;
+
+
+fragment
+DIGITS : ('0'..'9')+ ;
+
+/*
+fragment
+EXPONENT_PART: ('e'|'E') ('+'|'-')? DIGITS ;
+*/
+
+fragment
+EXPONENT_PART: ('e'|'E') ('+'|'-')? DIGITS ;
+
+fragment
+FLOAT_TYPE_SUFFIX :   ('f'|'F'|'d'|'D') ;
+
+CHAR_LITERAL
+    :
+      '\''
+      ( ~('\''|'\\')
+      | ESCAPE_SEQUENCE
+      )
+      '\''
+    ;
+
+STRING_LITERAL
+    :
+      '\"'
+      ( ~('\"'|'\\')
+      | ESCAPE_SEQUENCE
+      )*
+      '\"'
+        ;
+
+fragment
+ESCAPE_SEQUENCE
+    :	'\\' 'b'
+    |   '\\' 't'
+    |   '\\' 'n'
+    |   '\\' 'f'
+    |   '\\' 'r'
+    |   '\\' '\"'
+    |   '\\' '\''
+    |   '\\' '\\'
+    |	'\\' '0'..'3' OCTAL_DIGIT OCTAL_DIGIT
+    |   '\\' OCTAL_DIGIT OCTAL_DIGIT
+    |   '\\' OCTAL_DIGIT
+	|	UNICODE_CHAR
+	;
+
+fragment
+UNICODE_CHAR
+	:	'\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
+	;
+
+fragment
+HEX_DIGIT
+	:	'0'..'9'|'a'..'f'|'A'..'F'
+	;
+
+fragment
+OCTAL_DIGIT
+	:	'0'..'7'
+	;

Deleted: labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g	2006-11-29 11:48:37 UTC (rev 7928)
+++ labs/jbossrules/trunk/drools-compiler/src/main/resources/org/drools/semantics/java/parser/java.g	2006-11-29 11:53:01 UTC (rev 7929)
@@ -1,1174 +0,0 @@
-grammar JavaParser;
-
-/*
-tokens {
-	BLOCK; MODIFIERS; OBJBLOCK; SLIST; CTOR_DEF; METHOD_DEF; VARIABLE_DEF;
-	INSTANCE_INIT; STATIC_INIT; TYPE; CLASS_DEF; INTERFACE_DEF;
-	PACKAGE_DEF; ARRAY_DECLARATOR; EXTENDS_CLAUSE; IMPLEMENTS_CLAUSE;
-	PARAMETERS; PARAMETER_DEF; LABELED_STAT; TYPECAST; INDEX_OP;
-	POST_INC; POST_DEC; METHOD_CALL; EXPR; ARRAY_INIT;
-	UNARY_MINUS; UNARY_PLUS; CASE_GROUP; ELIST; FOR_INIT; FOR_CONDITION;
-	FOR_ITERATOR; EMPTY_STAT; SUPER_CTOR_CALL; CTOR_CALL;
-}
-
-*/
-
- at parser::header {
-	package org.drools.semantics.java.parser;
-	import java.util.Iterator;
-}
-
- at parser::members {
-	private List identifiers = new ArrayList();
-	public List getIdentifiers() { return identifiers; }
-	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
-	private List errors = new ArrayList();
-	
-	private String source = "unknown";
-	
-	public void setSource(String source) {
-		this.source = source;
-	}
-	
-	public String getSource() {
-		return this.source;
-	}
-		
-	public void reportError(RecognitionException ex) {
-	        // if we've already reported an error and have not matched a token
-                // yet successfully, don't report any errors.
-                if ( errorRecovery ) {
-                        //System.err.print("[SPURIOUS] ");
-                        return;
-                }
-                errorRecovery = true;
-
-		errors.add( ex ); 
-	}
-     	
-     	/** return the raw RecognitionException errors */
-     	public List getErrors() {
-     		return errors;
-     	}
-     	
-     	/** Return a list of pretty strings summarising the errors */
-     	public List getErrorMessages() {
-     		List messages = new ArrayList();
- 		for ( Iterator errorIter = errors.iterator() ; errorIter.hasNext() ; ) {
-     	     		messages.add( createErrorMessage( (RecognitionException) errorIter.next() ) );
-     	     	}
-     	     	return messages;
-     	}
-     	
-     	/** return true if any parser errors were accumulated */
-     	public boolean hasErrors() {
-  		return ! errors.isEmpty();
-     	}
-     	
-     	/** This will take a RecognitionException, and create a sensible error message out of it */
-     	public String createErrorMessage(RecognitionException e)
-        {
-		StringBuffer message = new StringBuffer();		
-                message.append( source + ":"+e.line+":"+e.charPositionInLine+" ");
-                if ( e instanceof MismatchedTokenException ) {
-                        MismatchedTokenException mte = (MismatchedTokenException)e;
-                        message.append("mismatched token: "+
-                                                           e.token+
-                                                           "; expecting type "+
-                                                           tokenNames[mte.expecting]);
-                }
-                else if ( e instanceof MismatchedTreeNodeException ) {
-                        MismatchedTreeNodeException mtne = (MismatchedTreeNodeException)e;
-                        message.append("mismatched tree node: "+
-                                                           mtne.foundNode+
-                                                           "; expecting type "+
-                                                           tokenNames[mtne.expecting]);
-                }
-                else if ( e instanceof NoViableAltException ) {
-                        NoViableAltException nvae = (NoViableAltException)e;
-			message.append( "Unexpected token '" + e.token.getText() + "'" );
-                        /*
-                        message.append("decision=<<"+nvae.grammarDecisionDescription+">>"+
-                                                           " state "+nvae.stateNumber+
-                                                           " (decision="+nvae.decisionNumber+
-                                                           ") no viable alt; token="+
-                                                           e.token);
-                                                           */
-                }
-                else if ( e instanceof EarlyExitException ) {
-                        EarlyExitException eee = (EarlyExitException)e;
-                        message.append("required (...)+ loop (decision="+
-                                                           eee.decisionNumber+
-                                                           ") did not match anything; token="+
-                                                           e.token);
-                }
-                else if ( e instanceof MismatchedSetException ) {
-                        MismatchedSetException mse = (MismatchedSetException)e;
-                        message.append("mismatched token '"+
-                                                           e.token+
-                                                           "' expecting set "+mse.expecting);
-                }
-                else if ( e instanceof MismatchedNotSetException ) {
-                        MismatchedNotSetException mse = (MismatchedNotSetException)e;
-                        message.append("mismatched token '"+
-                                                           e.token+
-                                                           "' expecting set "+mse.expecting);
-                }
-                else if ( e instanceof FailedPredicateException ) {
-                        FailedPredicateException fpe = (FailedPredicateException)e;
-                        message.append("rule "+fpe.ruleName+" failed predicate: {"+
-                                                           fpe.predicateText+"}?");
-		}
-               	return message.toString();
-        }   
-} 
-
- at lexer::header {
-	package org.drools.semantics.java.parser;
-}
-
- at lexer::members {
-	public static final CommonToken IGNORE_TOKEN = new CommonToken(null,0,99,0,0);
-}
- 
-
-
-
-
-
-/** A declaration is the creation of a reference or primitive-type variable
- *  Create a separate Type/Var tree for each var in the var list.
- */
-declaration
-	:	modifiers typeSpec variableDefinitions
-		
-	;
-
-// A type specification is a type name with possible brackets afterwards
-//   (which would make it an array type).
-typeSpec
-	: classTypeSpec
-	| builtInTypeSpec
-	;
-
-// A class type specification is a class type with possible brackets afterwards
-//   (which would make it an array type).
-classTypeSpec
-	:	identifier (LBRACK  RBRACK)*
-	;
-
-// A builtin type specification is a builtin type with possible brackets
-// afterwards (which would make it an array type).
-builtInTypeSpec
-	:	builtInType (LBRACK  RBRACK)*
-	;
-
-// A type name. which is either a (possibly qualified) class name or
-//   a primitive (builtin) type
-type
-	:	identifier
-	|	builtInType
-	;
-
-// The primitive types.
-builtInType
-	:	'void'
-	|	'boolean'
-	|	'byte'
-	|	'char'
-	|	'short'
-	|	'int'
-	|	'float'
-	|	'long'
-	|	'double'
-	;
-
-// A (possibly-qualified) java identifier.  We start with the first IDENT
-//   and expand its name by adding dots and following IDENTS
-identifier
-	:	IDENT  ( DOT IDENT )*
-	;
-
-identifierStar
-	:	IDENT
-		( DOT IDENT )*
-		( DOT STAR  )?
-	;
-
-// A list of zero or more modifiers.  We could have used (modifier)* in
-//   place of a call to modifiers, but I thought it was a good idea to keep
-//   this rule separate so they can easily be collected in a Vector if
-//   someone so desires
-modifiers
-	:	( modifier )*
-		
-	;
-
-// modifiers for Java classes, interfaces, class/instance vars and methods
-modifier
-	:	'private'
-	|	'public'
-	|	'protected'
-	|	'static'
-	|	'transient'
-	|	'final'
-	|	'abstract'
-	|	'native'
-	|	'threadsafe'
-	|	'synchronized'
-//	|	'const'			// reserved word, but not valid
-	|	'volatile'
-	|	'strictfp'
-	;
-
-// Definition of a Java class
-classDefinition
-	:	'class' IDENT
-		// it _might_ have a superclass...
-		superClassClause
-		// it might implement some interfaces...
-		implementsClause
-		// now parse the body of the class
-		classBlock
-	;
-
-superClassClause
-	:	( 'extends' identifier )?
-		
-	;
-
-// Definition of a Java Interface
-interfaceDefinition
-	:	'interface' IDENT
-		// it might extend some other interfaces
-		interfaceExtends
-		// now parse the body of the interface (looks like a class...)
-		classBlock
-	;
-
-
-// This is the body of a class.  You can have fields and extra semicolons,
-// That's about it (until you see what a field is...)
-classBlock
-	:	LCURLY
-			( field | SEMI )*
-		RCURLY
-		
-	;
-
-// An interface can extend several other interfaces...
-interfaceExtends
-	:	(
-		'extends'
-		identifier ( COMMA identifier )*
-		)?
-	;
-
-// A class can implement several interfaces...
-implementsClause
-	:	(
-			'implements' identifier ( COMMA identifier )*
-		)?
-	;
-
-// Now the various things that can be defined inside a class or interface...
-// Note that not all of these are really valid in an interface (constructors,
-//   for example), and if this grammar were used for a compiler there would
-//   need to be some semantic checks to make sure we're doing the right thing...
-field
-	:	// method, constructor, or variable declaration
-		modifiers
-		(	ctorHead constructorBody // constructor
-			
-
-		|	classDefinition       // inner class
-			
-
-		|	interfaceDefinition   // inner interface
-			
-
-		|	typeSpec  // method or variable declaration(s)
-			(	IDENT  // the name of the method
-
-				// parse the formal parameter declarations.
-				LPAREN parameterDeclarationList RPAREN
-
-				declaratorBrackets
-
-				// get the list of exceptions that this method is
-				// declared to throw
-				(throwsClause)?
-
-				( compoundStatement | SEMI )
-			|	variableDefinitions SEMI
-//				
-				
-			)
-		)
-
-    // 'static { ... }' class initializer
-	|	'static' compoundStatement
-		
-
-    // '{ ... }' instance initializer
-	|	compoundStatement
-		
-	;
-
-constructorBody
-    :   LCURLY 
-            ( options {greedy=true;} : explicitConstructorInvocation)?
-            (statement)*
-        RCURLY
-    ;
-
-/** Catch obvious constructor calls, but not the expr.super(...) calls */
-explicitConstructorInvocation
-    :   'this' LPAREN argList RPAREN SEMI
-		
-    |   'super' LPAREN argList RPAREN SEMI
-		
-    ;
-
-variableDefinitions
-	:	variableDeclarator
-		(	COMMA
-			variableDeclarator
-		)*
-	;
-
-/** Declaration of a variable.  This can be a class/instance variable,
- *   or a local variable in a method
- * It can also include possible initialization.
- */
-variableDeclarator
-	:	IDENT declaratorBrackets varInitializer
-		
-	;
-
-declaratorBrackets
-	:	
-		(LBRACK  RBRACK)*
-	;
-
-varInitializer
-	:	( ASSIGN initializer )?
-	;
-
-// This is an initializer used to set up an array.
-arrayInitializer
-	:	LCURLY 
-			(	initializer
-				(
-					// CONFLICT: does a COMMA after an initializer start a new
-					//           initializer or start the option ',' at end?
-					//           ANTLR generates proper code by matching
-					//			 the comma as soon as possible.
-					COMMA initializer
-				)*
-				(COMMA)?
-			)?
-		RCURLY
-	;
-
-
-// The two 'things' that can initialize an array element are an expression
-//   and another (nested) array initializer.
-initializer
-	:	expression
-	|	arrayInitializer
-	;
-
-// This is the header of a method.  It includes the name and parameters
-//   for the method.
-//   This also watches for a list of exception classes in a 'throws' clause.
-ctorHead
-	:	IDENT  // the name of the method
-
-		// parse the formal parameter declarations.
-		LPAREN parameterDeclarationList RPAREN
-
-		// get the list of exceptions that this method is declared to throw
-		(throwsClause)?
-	;
-
-// This is a list of exception classes that the method is declared to throw
-throwsClause
-	:	'throws' identifier ( COMMA identifier )*
-	;
-
-
-// A list of formal parameters
-parameterDeclarationList
-	:	( parameterDeclaration ( COMMA parameterDeclaration )* )?
-	;
-
-// A formal parameter.
-parameterDeclaration
-	:	parameterModifier typeSpec IDENT
-		declaratorBrackets
-	;
-
-parameterModifier
-	:	('final')?
-		
-	;
-
-// Compound statement.  This is used in many contexts:
-//   Inside a class definition prefixed with 'static':
-//      it is a class initializer
-//   Inside a class definition without 'static':
-//      it is an instance initializer
-//   As the body of a method
-//   As a completely indepdent braced block of code inside a method
-//      it starts a new scope for variable definitions
-
-compoundStatement
-	:	LCURLY 
-			// include the (possibly-empty) list of statements
-			(statement)*
-		RCURLY
-	;
-
-
-statement
-	// A list of statements in curly braces -- start a new scope
-	:	compoundStatement
-
-	// declarations are ambiguous with 'ID DOT' relative to expression
-	// statements.  Must backtrack to be sure.  Could use a semantic
-	// predicate to test symbol table to see what the type was coming
-	// up, but that's pretty hard without a symbol table ;)
-	// remove (declaration)=>
-	|	declaration SEMI
-
-	// An expression statement.  This could be a method call,
-	// assignment statement, or any other expression evaluated for
-	// side-effects.
-	|	expression SEMI
-
-	// class definition
-	|	modifiers classDefinition
-
-	// Attach a label to the front of a statement
-	|	IDENT COLON  statement
-
-	// If-else statement
-	|	'if' LPAREN expression RPAREN statement
-		(
-			// CONFLICT: the old "dangling-else" problem...
-			//           ANTLR generates proper code matching
-			//			 as soon as possible.  Hush warning.
-			'else' statement
-		)?
-
-	// For statement
-	|	'for'
-			LPAREN
-				forInit SEMI   // initializer
-				forCond	SEMI   // condition test
-				forIter         // updater
-			RPAREN
-			statement                     // statement to loop over
-
-	// While statement
-	|	'while' LPAREN expression RPAREN statement
-
-	// do-while statement
-	|	'do' statement 'while' LPAREN expression RPAREN SEMI
-
-	// get out of a loop (or switch)
-	|	'break' (IDENT)? SEMI
-
-	// do next iteration of a loop
-	|	'continue' (IDENT)? SEMI
-
-	// Return an expression
-	|	'return' (expression)? SEMI
-
-	// switch/case statement
-	|	'switch' LPAREN expression RPAREN LCURLY
-			( casesGroup )*
-		RCURLY
-
-	// exception try-catch block
-	|	tryBlock
-
-	// throw an exception
-	|	'throw' expression SEMI
-
-	// synchronize a statement
-	|	'synchronized' LPAREN expression RPAREN compoundStatement
-
-	// asserts (uncomment if you want 1.4 compatibility)
-	// |	'assert' expression ( COLON expression )? SEMI
-
-	// empty statement
-	|	SEMI 
-	;
-
-casesGroup
-	:	(	// CONFLICT: to which case group do the statements bind?
-			//           ANTLR generates proper code: it groups the
-			//           many 'case'/'default' labels together then
-			//           follows them with the statements
-				options {greedy=true;}
-			:
-			aCase
-		)+
-		caseSList
-		
-	;
-
-aCase
-	:	('case' expression | 'default') COLON
-	;
-
-caseSList
-	:	(statement)*
-		
-	;
-
-// The initializer for a for loop
-forInit
-		// if it looks like a declaration, it is
-        // remove (declaration)=> 
-	:	(	declaration
-		// otherwise it could be an expression list...
-		|	expressionList
-		)?
-		
-	;
-
-forCond
-	:	(expression)?
-		
-	;
-
-forIter
-	:	(expressionList)?
-		
-	;
-
-// an exception handler try/catch block
-tryBlock
-	:	'try' compoundStatement
-		(handler)*
-		( finallyClause )?
-	;
-
-finallyClause
-	:	'finally' compoundStatement
-	;
-
-// an exception handler
-handler
-	:	'catch' LPAREN parameterDeclaration RPAREN compoundStatement
-	;
-
-
-// expressions
-// Note that most of these expressions follow the pattern
-//   thisLevelExpression :
-//       nextHigherPrecedenceExpression
-//           (OPERATOR nextHigherPrecedenceExpression)*
-// which is a standard recursive definition for a parsing an expression.
-// The operators in java have the following precedences:
-//    lowest  (13)  = *= /= %= += -= <<= >>= >>>= &= = |=
-//            (12)  ?:
-//            (11)  ||
-//            (10)  &&
-//            ( 9)  |
-//            ( 8)  
-//            ( 7)  &
-//            ( 6)  == =
-//            ( 5)  < <= > >=
-//            ( 4)  << >>
-//            ( 3)  +(binary) -(binary)
-//            ( 2)  * / %
-//            ( 1)  ++ -- +(unary) -(unary)  ~    (type)
-//                  []   () (method call)  . (dot -- identifier qualification)
-//                  new   ()  (explicit parenthesis)
-//
-// the last two are not usually on a precedence chart; I put them in
-// to point out that new has a higher precedence than '.', so you
-// can validy use
-//     new Frame().show()
-//
-// Note that the above precedence levels map to the rules below...
-// Once you have a precedence chart, writing the appropriate rules as below
-//   is usually very straightfoward
-
-
-
-// the mother of all expressions
-expression
-	:	assignmentExpression
-		
-	;
-
-
-// This is a list of expressions.
-expressionList
-	:	expression (COMMA expression)*
-		
-	;
-
-
-// assignment expression (level 13)
-assignmentExpression
-	:	conditionalExpression
-		(	(	ASSIGN
-            |   PLUS_ASSIGN
-            |   MINUS_ASSIGN
-            |   STAR_ASSIGN
-            |   DIV_ASSIGN
-            |   MOD_ASSIGN
-            |   SR_ASSIGN
-            |   BSR_ASSIGN
-            |   SL_ASSIGN
-            |   BAND_ASSIGN
-            |   BXOR_ASSIGN
-            |   BOR_ASSIGN
-            )
-			assignmentExpression
-		)?
-	;
-
-
-// conditional test (level 12)
-conditionalExpression
-	:	logicalOrExpression
-		( QUESTION assignmentExpression COLON conditionalExpression )?
-	;
-
-
-// logical or (||)  (level 11)
-logicalOrExpression
-	:	logicalAndExpression (LOR logicalAndExpression)*
-	;
-
-
-// logical and (&&)  (level 10)
-logicalAndExpression
-	:	inclusiveOrExpression (LAND inclusiveOrExpression)*
-	;
-
-
-// bitwise or non-short-circuiting or (|)  (level 9)
-inclusiveOrExpression
-	:	exclusiveOrExpression (BOR exclusiveOrExpression)*
-	;
-
-
-// exclusive or ()  (level 8)
-exclusiveOrExpression
-	:	andExpression (BXOR andExpression)*
-	;
-
-
-// bitwise or non-short-circuiting and (&)  (level 7)
-andExpression
-	:	equalityExpression (BAND equalityExpression)*
-	;
-
-
-// equality/inequality (==/=) (level 6)
-equalityExpression
-	:	relationalExpression ((NOT_EQUAL | EQUAL) relationalExpression)*
-	;
-
-
-// boolean relational expressions (level 5)
-relationalExpression
-	:	shiftExpression
-		(	(	(	LT
-				|	GT
-				|	LE
-				|	GE
-				)
-				shiftExpression
-			)*
-		|	'instanceof' typeSpec
-		)
-	;
-
-
-// bit shift expressions (level 4)
-shiftExpression
-	:	additiveExpression ((SL | SR | BSR) additiveExpression)*
-	;
-
-
-// binary addition/subtraction (level 3)
-additiveExpression
-	:	multiplicativeExpression ((PLUS | MINUS) multiplicativeExpression)*
-	;
-
-
-// multiplication/division/modulo (level 2)
-multiplicativeExpression
-	:	unaryExpression ((STAR | DIV | MOD ) unaryExpression)*
-	;
-
-unaryExpression
-	:	INC unaryExpression
-	|	DEC unaryExpression
-	|	MINUS  unaryExpression
-	|	PLUS   unaryExpression
-	|	unaryExpressionNotPlusMinus
-	;
-
-unaryExpressionNotPlusMinus
-	:	BNOT unaryExpression
-	|	LNOT unaryExpression
-
-    |   LPAREN builtInTypeSpec RPAREN
-        unaryExpression
-
-        // Have to backtrack to see if operator follows.  If no operator
-        // follows, it's a typecast.  No semantic checking needed to parse.
-        // if it _looks_ like a cast, it _is_ a cast; else it's a '(expr)'
-    |	LPAREN classTypeSpec RPAREN
-        unaryExpressionNotPlusMinus
-
-    |	postfixExpression
-	;
-
-// qualified names, array expressions, method invocation, post inc/dec
-postfixExpression
-	:   primaryExpression
-		(   DOT IDENT
-			(	LPAREN 
-				argList
-				RPAREN
-			)?
-		|	DOT 'this'
-
-		|	DOT 'super'
-            (   // (new Outer()).super()  (create enclosing instance)
-                LPAREN argList RPAREN
-                
-			|   DOT IDENT
-                (	LPAREN 
-                    argList
-                    RPAREN
-                )?
-            )
-		|	DOT newExpression
-		|	LBRACK  expression RBRACK
-		)*
-
-		(   // possibly add on a post-increment or post-decrement.
-            // allows INC/DEC on too much, but semantics can check
-			INC 
-	 	|	DEC 
-		)?
- 	;
-
-// the basic element of an expression
-primaryExpression
-	:	identPrimary ( options {greedy=true;}: DOT 'class' )?
-    |   constant
-	|	'true'
-	|	'false'
-	|	'null'
-    |   newExpression
-	|	'this'
-	|	'super'
-	|	LPAREN assignmentExpression RPAREN
-		// look for int.class and int[].class
-	|	builtInType
-		( LBRACK  RBRACK )*
-		DOT 'class'
-	;
-
-/** Match a, a.b.c refs, a.b.c(...) refs, a.b.c[], a.b.c[].class,
- *  and a.b.c.class refs.  Also this(...) and super(...).  Match
- *  this or super.
- */
-identPrimary
-	:	i=IDENT { identifiers.add( i.getText() );  }
-		(
-				// .ident could match here or in postfixExpression.
-				// We do want to match here.  Turn off warning.
-				options {greedy=true; k=2;}
-		:	DOT IDENT
-		)*
-		(
-				// ARRAY_DECLARATOR here conflicts with INDEX_OP in
-				// postfixExpression on LBRACK RBRACK.
-				// We want to match [] here, so greedy.  This overcomes
-                // limitation of linear approximate lookahead.
-				options {greedy=true;}
-		:   ( LPAREN  argList RPAREN )
-		|	( options {greedy=true;} :
-              LBRACK  RBRACK
-            )+
-		)?
-    ;
-
-/** object instantiation.
- *  Trees are built as illustrated by the following input/tree pairs:
- *
- *  new T()
- *
- *  new
- *   |
- *   T --  ELIST
- *           |
- *          arg1 -- arg2 -- .. -- argn
- *
- *  new int[]
- *
- *  new
- *   |
- *  int -- ARRAY_DECLARATOR
- *
- *  new int[] {1,2}
- *
- *  new
- *   |
- *  int -- ARRAY_DECLARATOR -- ARRAY_INIT
- *                                  |
- *                                EXPR -- EXPR
- *                                  |      |
- *                                  1      2
- *
- *  new int[3]
- *  new
- *   |
- *  int -- ARRAY_DECLARATOR
- *                |
- *              EXPR
- *                |
- *                3
- *
- *  new int[1][2]
- *
- *  new
- *   |
- *  int -- ARRAY_DECLARATOR
- *               |
- *         ARRAY_DECLARATOR -- EXPR
- *               |              |
- *             EXPR             1
- *               |
- *               2
- *
- */
-newExpression
-	:	'new' type
-		(	LPAREN argList RPAREN (classBlock)?
-
-			//java 1.1
-			// Note: This will allow bad constructs like
-			//    new int[4][][3] {exp,exp}.
-			//    There needs to be a semantic check here...
-			// to make sure:
-			//   a) [ expr ] and [ ] are not mixed
-			//   b) [ expr ] and an init are not used together
-
-		|	newArrayDeclarator (arrayInitializer)?
-		)
-	;
-
-argList
-	:	(	expressionList
-		|	/*nothing*/
-			
-		)
-	;
-
-newArrayDeclarator
-	:	(
-			// CONFLICT:
-			// newExpression is a primaryExpression which can be
-			// followed by an array index reference.  This is ok,
-			// as the generated code will stay in this loop as
-			// long as it sees an LBRACK (proper behavior)
-				options {k=1;}
-				//options {warnWhenFollowAmbig = false;}
-		:
-			LBRACK 
-				(expression)?
-			RBRACK
-		)+
-	;
-
-constant
-	:	NUM_INT
-	|	CHAR_LITERAL
-	|	STRING_LITERAL
-	|	NUM_FLOAT
-	;
-
-
-//----------------------------------------------------------------------------
-// The Java scanner
-//----------------------------------------------------------------------------
-
-// OPERATORS
-
-
-QUESTION		:	'?'		;
-
-
-LPAREN			:	'('		;
-
-
-RPAREN			:	')'		;
-
-
-LBRACK			:	'['		;
-
-
-RBRACK			:	']'		;
-
-
-LCURLY			:	'{'		;
-
-
-RCURLY			:	'}'		;
-
-
-COLON			:	':'		;
-
-
-COMMA			:	','		;
-
-DOT				:	'.'		;
-
-ASSIGN			:	'='		;
-
-
-EQUAL			:	'=='	;
-
-
-LNOT			:	'!'		;
-
-
-BNOT			:	'~'		;
-
-
-NOT_EQUAL		:	'!='	;
-
-
-DIV				:	'/'		;
-
-
-DIV_ASSIGN		:	'/='	;
-
-
-PLUS			:	'+'		;
-
-
-PLUS_ASSIGN		:	'+='	;
-
-
-INC				:	'++'	;
-
-
-MINUS			:	'-'		;
-
-
-MINUS_ASSIGN	:	'-='	;
-
-
-DEC				:	'--'	;
-
-
-STAR			:	'*'		;
-
-
-STAR_ASSIGN		:	'*='	;
-
-
-MOD				:	'%'		;
-
-
-MOD_ASSIGN		:	'%='	;
-
-
-SR				:	'>>'	;
-
-
-SR_ASSIGN		:	'>>='	;
-
-
-BSR				:	'>>>'	;
-
-
-BSR_ASSIGN		:	'>>>='	;
-
-
-GE				:	'>='	;
-
-
-GT				:	'>'		;
-
-
-SL				:	'<<'	;
-
-
-SL_ASSIGN		:	'<<='	;
-
-
-LE				:	'<='	;
-
-
-LT				:	'<'		;
-
-
-BXOR			:	'^'		;
-
-
-BXOR_ASSIGN		:	'^='	;
-
-
-BOR				:	'|'		;
-
-
-BOR_ASSIGN		:	'|='	;
-
-
-LOR				:	'||'	;
-
-
-BAND			:	'&'		;
-
-
-BAND_ASSIGN		:	'&='	;
-
-
-LAND			:	'&&'	;
-
-
-SEMI			:	';'		;
-
-
-// Whitespace -- ignored
-
-
-WS	:	(	' '
-		|	'\t'
-		|	'\f'
-			// handle newlines
-		|	(	'\r\n'  // Evil DOS
-			|	'\r'    // Macintosh
-			|	'\n'    // Unix (the right way)
-			)
-		)+
-		{ channel=99; /*token = JavaParser.IGNORE_TOKEN;*/ }
-	;
-
-// Single-line comments
-
-
-SL_COMMENT
-	:	'//' (options {greedy=false;} : .)* ('\r')? '\n'
-		{channel=99; /*token = JavaParser.IGNORE_TOKEN;*/}
-	;
-
-// multiple-line comments
-
-
-ML_COMMENT
-	:	'/*'
-		( options {greedy=false;} : . )*
-		'*/'
-		{channel=99;/*token = JavaParser.IGNORE_TOKEN;*/}
-	;
-
-IDENT
-	:	('a'..'z'|'A'..'Z'|'_'|'$') ('a'..'z'|'A'..'Z'|'_'|'0'..'9'|'$')*
-	;
-
-// From the java language spec
-
-NUM_INT
-    : DECIMAL_LITERAL 
-    | HEX_LITERAL
-    | OCTAL_LITERAL
-    ;
-
-fragment
-DECIMAL_LITERAL: '1'..'9' ('0'..'9')* ('l'|'L')? ;
-
-fragment
-HEX_LITERAL: '0' ('x'|'X') ('0'..'9'|'a'..'f'|'A'..'F')+ ('l'|'L')? ;
-
-fragment
-OCTAL_LITERAL: '0' ('0'..'7')* ('l'|'L')? ;
-
-NUM_FLOAT
-    :     DIGITS '.' (DIGITS)? (EXPONENT_PART)? (FLOAT_TYPE_SUFFIX)?
-    | '.' DIGITS (EXPONENT_PART)? (FLOAT_TYPE_SUFFIX)?
-    |     DIGITS EXPONENT_PART FLOAT_TYPE_SUFFIX
-    |     DIGITS EXPONENT_PART
-    |     DIGITS FLOAT_TYPE_SUFFIX
-    ;
-
-
-fragment
-DIGITS : ('0'..'9')+ ;
-
-/*
-fragment
-EXPONENT_PART: ('e'|'E') ('+'|'-')? DIGITS ;
-*/
-
-fragment
-EXPONENT_PART: ('e'|'E') ('+'|'-')? DIGITS ;
-
-fragment
-FLOAT_TYPE_SUFFIX :   ('f'|'F'|'d'|'D') ;
-
-CHAR_LITERAL
-    :
-      '\''
-      ( ~('\''|'\\')
-      | ESCAPE_SEQUENCE
-      )
-      '\''
-    ;
-
-STRING_LITERAL
-    :
-      '\"'
-      ( ~('\"'|'\\')
-      | ESCAPE_SEQUENCE
-      )*
-      '\"'
-        ;
-
-fragment
-ESCAPE_SEQUENCE
-    :	'\\' 'b'
-    |   '\\' 't'
-    |   '\\' 'n'
-    |   '\\' 'f'
-    |   '\\' 'r'
-    |   '\\' '\"'
-    |   '\\' '\''
-    |   '\\' '\\'
-    |	'\\' '0'..'3' OCTAL_DIGIT OCTAL_DIGIT
-    |   '\\' OCTAL_DIGIT OCTAL_DIGIT
-    |   '\\' OCTAL_DIGIT
-	|	UNICODE_CHAR
-	;
-
-fragment
-UNICODE_CHAR
-	:	'\\' 'u' HEX_DIGIT HEX_DIGIT HEX_DIGIT HEX_DIGIT
-	;
-
-fragment
-HEX_DIGIT
-	:	'0'..'9'|'a'..'f'|'A'..'F'
-	;
-
-fragment
-OCTAL_DIGIT
-	:	'0'..'7'
-	;




More information about the jboss-svn-commits mailing list