Package tool.model.grammar

Source Code of tool.model.grammar.FortePRXTree

// $ANTLR 3.4 /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g 2012-01-07 15:11:07

package tool.model.grammar;
import tool.model.ToolPlan;
import tool.model.ToolConstant;
import tool.model.ToolProperty;
import org.eclipse.core.resources.IProject;


import org.antlr.runtime.*;
import org.antlr.runtime.tree.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class FortePRXTree extends TreeParser {
    public static final String[] tokenNames = new String[] {
        "<invalid>", "<EOR>", "<DOWN>", "<UP>", "AND", "ARGUMENT", "ARGUMENT_LIST", "ARGUMENT_LIST_EVENT", "ARRAY", "ARRAY_CSTYLE", "ARRAY_DECLARATOR_LIST", "ARRAY_ELEMENT_ACCESS", "ARRAY_INDEX", "ARRAY_TYPE", "ATTRIBUTE", "ATTRIBUTE_DECLARATION", "BEGIN", "BIT_AND", "BIT_OR", "BIT_XOR", "BLOCK", "BLOCK_SCOPE", "BY", "CASE", "CAST_EXPR", "CHANGED", "CL", "CLASS", "CLASS_CONSTRUCTOR_CALL", "CLASS_DECLARATION", "COLON", "COMMA", "COMMENT", "COMPLETION", "CONSTANT", "CONTINUE", "COPY", "CURSOR", "C_ARRAY", "DEPENDENT", "DIGIT", "DIV", "DO", "DOT", "DOTDOT", "ELSE", "ELSEIF", "END", "ENUM", "EQ", "EVENT", "EVENT_CASE", "EVENT_DECLARATION", "EVENT_HANDLER_DECLARATION", "EVENT_HANDLER_IMPLEMENTATION", "EVENT_LOOP", "EXCEPTION", "EXIT", "EXPR", "EXTENDED", "Escape", "EscapeSequence", "FALSE", "FLOATLITERAL", "FOR", "FORMAL_PARAM_LIST", "FORWARD", "FORWARD_CLASS", "FORWARD_CURSOR", "FORWARD_INTERFACE", "FORWARD_MAPPED_CLASS", "FOR_COUNT", "FOR_EACH", "FOR_SQL", "FRAMEWORK", "FROM", "FUNCTION_METHOD_DECL", "GENERATED", "GENERICARRAY", "GET_EXPRESSION", "GT", "GTEQ", "HANDLER", "HAS", "HEXLITERAL", "HexDigit", "HexPrefix", "IDENTIFIER", "IF", "IMPLEMENTS", "IN", "INCLUDE", "INCLUDES", "INDEPENDENT", "INHERITS", "INPUT", "INTERFACE", "INTERFACE_DECLARATION", "INTLITERAL", "IS", "IS_LIBRARY", "IntegerNumber", "LABEL", "LARAGEARRAY", "LETTER", "LIBRARY", "LINE_COMMENT", "LOCAL_DECLARATION", "LOOP", "LPAREN", "LT", "LTEQ", "MAPPED", "METHOD", "METHOD_CALL", "METHOD_COMPLETION", "METHOD_DECLARATION", "METHOD_IMPLEMENTATION", "MINUS", "MOD", "MULT", "NEGATION", "NESTED", "NEW", "NIL", "NOT", "NOT_EQUAL", "OF", "OR", "OUTPUT", "PARAMETER", "PARENTESIZED_EXPR", "PLAN_TYPE", "PLUS", "POINTER", "POINTER_TYPE", "POST", "POSTREGISTER", "PREREGISTER", "PRIVATE", "PROJECT", "PROJECT_TYPE", "PROPERTY", "PUBLIC", "QUALIFIED_NAME", "QUALIFIED_TYPE_IDENT", "Quote", "RAISE", "REGISTER", "RETURN", "RPAREN", "SELF", "SELF_CONSTRUCTOR_CALL", "SEMI", "SERVICE", "SET_EXPRESSION", "SO_DIALOG", "SO_EXT_MGR", "SO_FAILOVER", "SO_LOADBALANCE", "SO_PASSWORD", "SO_PATH", "SO_RESOURCE", "SO_USERNAME", "SO_VIS", "SQL", "SQL_DO", "START", "START_TASK", "STRINGLITERAL", "STRUCT", "SUPER", "SUPER_CONSTRUCTOR_CALL", "SUPPLIER_PLANS", "TASK", "THEN", "TO", "TRANSACTION", "TRUE", "TYPE", "TYPEDEF", "UNARY_MINUS", "UNARY_PLUS", "UNDERSCORE", "UNION", "UUID", "VIRTUAL", "VIRTUAL_ATTRIBUTE", "VOID_METHOD_DECL", "WHEN", "WHEN_CASE", "WHEN_EVENT", "WHEN_EXCEPTION", "WHERE", "WHILE", "WIDGETIDENTFIER", "WINDOWLITERAL", "WINDOWTERMINATOR", "WS", "'\"'", "'#'", "'APPC'", "'Configuration'", "'Corba'", "'CosNaming'", "'DB2'", "'DCE'", "'DDEProject'", "'DisplayProject'", "'EnvManagement'", "'ForeignObjMgr'", "'GenericDBMS'", "'GenericRepository'", "'HTTP'", "'HTTPSupport'", "'Informix'", "'Ingres'", "'LDAP'", "'ODBC'", "'OLE'", "'OLE2'", "'Oracle'", "'Oracle7'", "'Rdb'", "'Sybase'", "'SybaseCTLib'", "'SystemMonitor'", "'TOOLCompiler'", "'TOOLInterpreter'", "'XMLDOM2'", "'XMLParser'", "'XMLSAX2'", "'XMLSvr'", "'XSLT'", "'['", "']'", "'allow'", "'boolean'", "'char'", "'classlineage'", "'compatibilitylevel'", "'distributed'", "'double'", "'float'", "'i1'", "'i2'", "'i4'", "'ignore'", "'int'", "'integer'", "'internal'", "'iu1'", "'libraryname'", "'long'", "'monitored'", "'multithreaded'", "'override'", "'privateinternal'", "'projecttype'", "'publicinternal'", "'restricted'", "'shared'", "'short'", "'startingmethod'", "'string'", "'transactional'", "'uchar'", "'ui1'", "'ui2'", "'ui4'"
    };

    public static final int EOF=-1;
    public static final int T__199=199;
    public static final int T__200=200;
    public static final int T__201=201;
    public static final int T__202=202;
    public static final int T__203=203;
    public static final int T__204=204;
    public static final int T__205=205;
    public static final int T__206=206;
    public static final int T__207=207;
    public static final int T__208=208;
    public static final int T__209=209;
    public static final int T__210=210;
    public static final int T__211=211;
    public static final int T__212=212;
    public static final int T__213=213;
    public static final int T__214=214;
    public static final int T__215=215;
    public static final int T__216=216;
    public static final int T__217=217;
    public static final int T__218=218;
    public static final int T__219=219;
    public static final int T__220=220;
    public static final int T__221=221;
    public static final int T__222=222;
    public static final int T__223=223;
    public static final int T__224=224;
    public static final int T__225=225;
    public static final int T__226=226;
    public static final int T__227=227;
    public static final int T__228=228;
    public static final int T__229=229;
    public static final int T__230=230;
    public static final int T__231=231;
    public static final int T__232=232;
    public static final int T__233=233;
    public static final int T__234=234;
    public static final int T__235=235;
    public static final int T__236=236;
    public static final int T__237=237;
    public static final int T__238=238;
    public static final int T__239=239;
    public static final int T__240=240;
    public static final int T__241=241;
    public static final int T__242=242;
    public static final int T__243=243;
    public static final int T__244=244;
    public static final int T__245=245;
    public static final int T__246=246;
    public static final int T__247=247;
    public static final int T__248=248;
    public static final int T__249=249;
    public static final int T__250=250;
    public static final int T__251=251;
    public static final int T__252=252;
    public static final int T__253=253;
    public static final int T__254=254;
    public static final int T__255=255;
    public static final int T__256=256;
    public static final int T__257=257;
    public static final int T__258=258;
    public static final int T__259=259;
    public static final int T__260=260;
    public static final int T__261=261;
    public static final int T__262=262;
    public static final int T__263=263;
    public static final int T__264=264;
    public static final int T__265=265;
    public static final int T__266=266;
    public static final int T__267=267;
    public static final int T__268=268;
    public static final int T__269=269;
    public static final int AND=4;
    public static final int ARGUMENT=5;
    public static final int ARGUMENT_LIST=6;
    public static final int ARGUMENT_LIST_EVENT=7;
    public static final int ARRAY=8;
    public static final int ARRAY_CSTYLE=9;
    public static final int ARRAY_DECLARATOR_LIST=10;
    public static final int ARRAY_ELEMENT_ACCESS=11;
    public static final int ARRAY_INDEX=12;
    public static final int ARRAY_TYPE=13;
    public static final int ATTRIBUTE=14;
    public static final int ATTRIBUTE_DECLARATION=15;
    public static final int BEGIN=16;
    public static final int BIT_AND=17;
    public static final int BIT_OR=18;
    public static final int BIT_XOR=19;
    public static final int BLOCK=20;
    public static final int BLOCK_SCOPE=21;
    public static final int BY=22;
    public static final int CASE=23;
    public static final int CAST_EXPR=24;
    public static final int CHANGED=25;
    public static final int CL=26;
    public static final int CLASS=27;
    public static final int CLASS_CONSTRUCTOR_CALL=28;
    public static final int CLASS_DECLARATION=29;
    public static final int COLON=30;
    public static final int COMMA=31;
    public static final int COMMENT=32;
    public static final int COMPLETION=33;
    public static final int CONSTANT=34;
    public static final int CONTINUE=35;
    public static final int COPY=36;
    public static final int CURSOR=37;
    public static final int C_ARRAY=38;
    public static final int DEPENDENT=39;
    public static final int DIGIT=40;
    public static final int DIV=41;
    public static final int DO=42;
    public static final int DOT=43;
    public static final int DOTDOT=44;
    public static final int ELSE=45;
    public static final int ELSEIF=46;
    public static final int END=47;
    public static final int ENUM=48;
    public static final int EQ=49;
    public static final int EVENT=50;
    public static final int EVENT_CASE=51;
    public static final int EVENT_DECLARATION=52;
    public static final int EVENT_HANDLER_DECLARATION=53;
    public static final int EVENT_HANDLER_IMPLEMENTATION=54;
    public static final int EVENT_LOOP=55;
    public static final int EXCEPTION=56;
    public static final int EXIT=57;
    public static final int EXPR=58;
    public static final int EXTENDED=59;
    public static final int Escape=60;
    public static final int EscapeSequence=61;
    public static final int FALSE=62;
    public static final int FLOATLITERAL=63;
    public static final int FOR=64;
    public static final int FORMAL_PARAM_LIST=65;
    public static final int FORWARD=66;
    public static final int FORWARD_CLASS=67;
    public static final int FORWARD_CURSOR=68;
    public static final int FORWARD_INTERFACE=69;
    public static final int FORWARD_MAPPED_CLASS=70;
    public static final int FOR_COUNT=71;
    public static final int FOR_EACH=72;
    public static final int FOR_SQL=73;
    public static final int FRAMEWORK=74;
    public static final int FROM=75;
    public static final int FUNCTION_METHOD_DECL=76;
    public static final int GENERATED=77;
    public static final int GENERICARRAY=78;
    public static final int GET_EXPRESSION=79;
    public static final int GT=80;
    public static final int GTEQ=81;
    public static final int HANDLER=82;
    public static final int HAS=83;
    public static final int HEXLITERAL=84;
    public static final int HexDigit=85;
    public static final int HexPrefix=86;
    public static final int IDENTIFIER=87;
    public static final int IF=88;
    public static final int IMPLEMENTS=89;
    public static final int IN=90;
    public static final int INCLUDE=91;
    public static final int INCLUDES=92;
    public static final int INDEPENDENT=93;
    public static final int INHERITS=94;
    public static final int INPUT=95;
    public static final int INTERFACE=96;
    public static final int INTERFACE_DECLARATION=97;
    public static final int INTLITERAL=98;
    public static final int IS=99;
    public static final int IS_LIBRARY=100;
    public static final int IntegerNumber=101;
    public static final int LABEL=102;
    public static final int LARAGEARRAY=103;
    public static final int LETTER=104;
    public static final int LIBRARY=105;
    public static final int LINE_COMMENT=106;
    public static final int LOCAL_DECLARATION=107;
    public static final int LOOP=108;
    public static final int LPAREN=109;
    public static final int LT=110;
    public static final int LTEQ=111;
    public static final int MAPPED=112;
    public static final int METHOD=113;
    public static final int METHOD_CALL=114;
    public static final int METHOD_COMPLETION=115;
    public static final int METHOD_DECLARATION=116;
    public static final int METHOD_IMPLEMENTATION=117;
    public static final int MINUS=118;
    public static final int MOD=119;
    public static final int MULT=120;
    public static final int NEGATION=121;
    public static final int NESTED=122;
    public static final int NEW=123;
    public static final int NIL=124;
    public static final int NOT=125;
    public static final int NOT_EQUAL=126;
    public static final int OF=127;
    public static final int OR=128;
    public static final int OUTPUT=129;
    public static final int PARAMETER=130;
    public static final int PARENTESIZED_EXPR=131;
    public static final int PLAN_TYPE=132;
    public static final int PLUS=133;
    public static final int POINTER=134;
    public static final int POINTER_TYPE=135;
    public static final int POST=136;
    public static final int POSTREGISTER=137;
    public static final int PREREGISTER=138;
    public static final int PRIVATE=139;
    public static final int PROJECT=140;
    public static final int PROJECT_TYPE=141;
    public static final int PROPERTY=142;
    public static final int PUBLIC=143;
    public static final int QUALIFIED_NAME=144;
    public static final int QUALIFIED_TYPE_IDENT=145;
    public static final int Quote=146;
    public static final int RAISE=147;
    public static final int REGISTER=148;
    public static final int RETURN=149;
    public static final int RPAREN=150;
    public static final int SELF=151;
    public static final int SELF_CONSTRUCTOR_CALL=152;
    public static final int SEMI=153;
    public static final int SERVICE=154;
    public static final int SET_EXPRESSION=155;
    public static final int SO_DIALOG=156;
    public static final int SO_EXT_MGR=157;
    public static final int SO_FAILOVER=158;
    public static final int SO_LOADBALANCE=159;
    public static final int SO_PASSWORD=160;
    public static final int SO_PATH=161;
    public static final int SO_RESOURCE=162;
    public static final int SO_USERNAME=163;
    public static final int SO_VIS=164;
    public static final int SQL=165;
    public static final int SQL_DO=166;
    public static final int START=167;
    public static final int START_TASK=168;
    public static final int STRINGLITERAL=169;
    public static final int STRUCT=170;
    public static final int SUPER=171;
    public static final int SUPER_CONSTRUCTOR_CALL=172;
    public static final int SUPPLIER_PLANS=173;
    public static final int TASK=174;
    public static final int THEN=175;
    public static final int TO=176;
    public static final int TRANSACTION=177;
    public static final int TRUE=178;
    public static final int TYPE=179;
    public static final int TYPEDEF=180;
    public static final int UNARY_MINUS=181;
    public static final int UNARY_PLUS=182;
    public static final int UNDERSCORE=183;
    public static final int UNION=184;
    public static final int UUID=185;
    public static final int VIRTUAL=186;
    public static final int VIRTUAL_ATTRIBUTE=187;
    public static final int VOID_METHOD_DECL=188;
    public static final int WHEN=189;
    public static final int WHEN_CASE=190;
    public static final int WHEN_EVENT=191;
    public static final int WHEN_EXCEPTION=192;
    public static final int WHERE=193;
    public static final int WHILE=194;
    public static final int WIDGETIDENTFIER=195;
    public static final int WINDOWLITERAL=196;
    public static final int WINDOWTERMINATOR=197;
    public static final int WS=198;

    // delegates
    public TreeParser[] getDelegates() {
        return new TreeParser[] {};
    }

    // delegators


    public FortePRXTree(TreeNodeStream input) {
        this(input, new RecognizerSharedState());
    }
    public FortePRXTree(TreeNodeStream input, RecognizerSharedState state) {
        super(input, state);
    }

    public String[] getTokenNames() { return FortePRXTree.tokenNames; }
    public String getGrammarFileName() { return "/Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g"; }


     private ToolPlan plan;
    
     public FortePRXTree(ToolPlan plan, TreeNodeStream input) {
         super(input);
         this.plan = plan;
     }



    // $ANTLR start "project"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:25:1: project : ^( PROJECT IDENTIFIER planType includes ( forward )* ( constantDeclaration )* ( cDataTypeDeclatation )* ( hasProperty )? ( uuid )? ( include )* ) ;
    public final void project() throws RecognitionException {
        CommonTree IDENTIFIER1=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:26:3: ( ^( PROJECT IDENTIFIER planType includes ( forward )* ( constantDeclaration )* ( cDataTypeDeclatation )* ( hasProperty )? ( uuid )? ( include )* ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:26:5: ^( PROJECT IDENTIFIER planType includes ( forward )* ( constantDeclaration )* ( cDataTypeDeclatation )* ( hasProperty )? ( uuid )? ( include )* )
            {
            match(input,PROJECT,FOLLOW_PROJECT_in_project59);

            match(input, Token.DOWN, null);
            IDENTIFIER1=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_project61);

            pushFollow(FOLLOW_planType_in_project67);
            planType();

            state._fsp--;


            pushFollow(FOLLOW_includes_in_project73);
            includes();

            state._fsp--;


            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:29:4: ( forward )*
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( ((LA1_0 >= FORWARD_CLASS && LA1_0 <= FORWARD_MAPPED_CLASS)) ) {
                    alt1=1;
                }


                switch (alt1) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:29:4: forward
                  {
                  pushFollow(FOLLOW_forward_in_project79);
                  forward();

                  state._fsp--;


                  }
                  break;

              default :
                  break loop1;
                }
            } while (true);


            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:30:4: ( constantDeclaration )*
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0==CONSTANT) ) {
                    alt2=1;
                }


                switch (alt2) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:30:4: constantDeclaration
                  {
                  pushFollow(FOLLOW_constantDeclaration_in_project86);
                  constantDeclaration();

                  state._fsp--;


                  }
                  break;

              default :
                  break loop2;
                }
            } while (true);


            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:31:4: ( cDataTypeDeclatation )*
            loop3:
            do {
                int alt3=2;
                int LA3_0 = input.LA(1);

                if ( (LA3_0==ENUM||LA3_0==STRUCT||LA3_0==TYPEDEF) ) {
                    alt3=1;
                }


                switch (alt3) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:31:4: cDataTypeDeclatation
                  {
                  pushFollow(FOLLOW_cDataTypeDeclatation_in_project92);
                  cDataTypeDeclatation();

                  state._fsp--;


                  }
                  break;

              default :
                  break loop3;
                }
            } while (true);


            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:35:4: ( hasProperty )?
            int alt4=2;
            int LA4_0 = input.LA(1);

            if ( (LA4_0==EXTENDED||LA4_0==240||LA4_0==250||LA4_0==252||LA4_0==255||LA4_0==258||LA4_0==260||LA4_0==263) ) {
                alt4=1;
            }
            switch (alt4) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:35:4: hasProperty
                    {
                    pushFollow(FOLLOW_hasProperty_in_project101);
                    hasProperty();

                    state._fsp--;


                    }
                    break;

            }


            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:36:4: ( uuid )?
            int alt5=2;
            int LA5_0 = input.LA(1);

            if ( (LA5_0==UUID) ) {
                alt5=1;
            }
            switch (alt5) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:36:4: uuid
                    {
                    pushFollow(FOLLOW_uuid_in_project107);
                    uuid();

                    state._fsp--;


                    }
                    break;

            }


            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:37:4: ( include )*
            loop6:
            do {
                int alt6=2;
                int LA6_0 = input.LA(1);

                if ( (LA6_0==INCLUDE) ) {
                    alt6=1;
                }


                switch (alt6) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:37:4: include
                  {
                  pushFollow(FOLLOW_include_in_project114);
                  include();

                  state._fsp--;


                  }
                  break;

              default :
                  break loop6;
                }
            } while (true);


            match(input, Token.UP, null);



                plan.setToolName((IDENTIFIER1!=null?IDENTIFIER1.getText():null));
               
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "project"



    // $ANTLR start "projectConstants"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:45:1: projectConstants : ( constantDeclaration )* ;
    public final void projectConstants() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:46:2: ( ( constantDeclaration )* )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:46:4: ( constantDeclaration )*
            {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:46:4: ( constantDeclaration )*
            loop7:
            do {
                int alt7=2;
                int LA7_0 = input.LA(1);

                if ( (LA7_0==CONSTANT) ) {
                    alt7=1;
                }


                switch (alt7) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:46:4: constantDeclaration
                  {
                  pushFollow(FOLLOW_constantDeclaration_in_projectConstants138);
                  constantDeclaration();

                  state._fsp--;


                  }
                  break;

              default :
                  break loop7;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "projectConstants"



    // $ANTLR start "hasProperty"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:49:1: hasProperty : ( project_property )+ ;
    public final void hasProperty() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:50:2: ( ( project_property )+ )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:50:4: ( project_property )+
            {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:50:4: ( project_property )+
            int cnt8=0;
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

                if ( (LA8_0==EXTENDED||LA8_0==240||LA8_0==250||LA8_0==252||LA8_0==255||LA8_0==258||LA8_0==260||LA8_0==263) ) {
                    alt8=1;
                }


                switch (alt8) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:50:4: project_property
                  {
                  pushFollow(FOLLOW_project_property_in_hasProperty152);
                  project_property();

                  state._fsp--;


                  }
                  break;

              default :
                  if ( cnt8 >= 1 ) break loop8;
                        EarlyExitException eee =
                            new EarlyExitException(8, input);
                        throw eee;
                }
                cnt8++;
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "hasProperty"



    // $ANTLR start "planType"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:54:2: planType : ^( PLAN_TYPE IDENTIFIER ) ;
    public final void planType() throws RecognitionException {
        CommonTree IDENTIFIER2=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:55:3: ( ^( PLAN_TYPE IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:55:5: ^( PLAN_TYPE IDENTIFIER )
            {
            match(input,PLAN_TYPE,FOLLOW_PLAN_TYPE_in_planType170);

            match(input, Token.DOWN, null);
            IDENTIFIER2=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_planType172);

            match(input, Token.UP, null);



               plan.setProjectType((IDENTIFIER2!=null?IDENTIFIER2.getText():null));
              

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "planType"



    // $ANTLR start "includes"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:61:2: includes : ^( SUPPLIER_PLANS ( supplierPlan )+ ) ;
    public final void includes() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:62:3: ( ^( SUPPLIER_PLANS ( supplierPlan )+ ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:62:5: ^( SUPPLIER_PLANS ( supplierPlan )+ )
            {
            match(input,SUPPLIER_PLANS,FOLLOW_SUPPLIER_PLANS_in_includes194);

            match(input, Token.DOWN, null);
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:62:22: ( supplierPlan )+
            int cnt9=0;
            loop9:
            do {
                int alt9=2;
                int LA9_0 = input.LA(1);

                if ( (LA9_0==FRAMEWORK||LA9_0==IDENTIFIER) ) {
                    alt9=1;
                }


                switch (alt9) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:62:22: supplierPlan
                  {
                  pushFollow(FOLLOW_supplierPlan_in_includes196);
                  supplierPlan();

                  state._fsp--;


                  }
                  break;

              default :
                  if ( cnt9 >= 1 ) break loop9;
                        EarlyExitException eee =
                            new EarlyExitException(9, input);
                        throw eee;
                }
                cnt9++;
            } while (true);


            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "includes"



    // $ANTLR start "supplierPlan"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:65:1: supplierPlan : ( IDENTIFIER | FRAMEWORK );
    public final void supplierPlan() throws RecognitionException {
        CommonTree IDENTIFIER3=null;
        CommonTree FRAMEWORK4=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:66:3: ( IDENTIFIER | FRAMEWORK )
            int alt10=2;
            int LA10_0 = input.LA(1);

            if ( (LA10_0==IDENTIFIER) ) {
                alt10=1;
            }
            else if ( (LA10_0==FRAMEWORK) ) {
                alt10=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 10, 0, input);

                throw nvae;

            }
            switch (alt10) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:66:5: IDENTIFIER
                    {
                    IDENTIFIER3=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_supplierPlan213);

                    plan.addSupplierPlan((IDENTIFIER3!=null?IDENTIFIER3.getText():null));

                    }
                    break;
                case 2 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:67:5: FRAMEWORK
                    {
                    FRAMEWORK4=(CommonTree)match(input,FRAMEWORK,FOLLOW_FRAMEWORK_in_supplierPlan222);

                    plan.addSupplierPlan((FRAMEWORK4!=null?FRAMEWORK4.getText():null));

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "supplierPlan"



    // $ANTLR start "project_property"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:70:2: project_property : ( compatibility_level | project_type | multithreaded | internal | library_name | restricted | starting_method | extended_property );
    public final void project_property() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:71:3: ( compatibility_level | project_type | multithreaded | internal | library_name | restricted | starting_method | extended_property )
            int alt11=8;
            switch ( input.LA(1) ) {
            case 240:
                {
                alt11=1;
                }
                break;
            case 258:
                {
                alt11=2;
                }
                break;
            case 255:
                {
                alt11=3;
                }
                break;
            case 250:
                {
                alt11=4;
                }
                break;
            case 252:
                {
                alt11=5;
                }
                break;
            case 260:
                {
                alt11=6;
                }
                break;
            case 263:
                {
                alt11=7;
                }
                break;
            case EXTENDED:
                {
                alt11=8;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 11, 0, input);

                throw nvae;

            }

            switch (alt11) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:71:5: compatibility_level
                    {
                    pushFollow(FOLLOW_compatibility_level_in_project_property239);
                    compatibility_level();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:72:5: project_type
                    {
                    pushFollow(FOLLOW_project_type_in_project_property245);
                    project_type();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:73:4: multithreaded
                    {
                    pushFollow(FOLLOW_multithreaded_in_project_property250);
                    multithreaded();

                    state._fsp--;


                    }
                    break;
                case 4 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:74:4: internal
                    {
                    pushFollow(FOLLOW_internal_in_project_property255);
                    internal();

                    state._fsp--;


                    }
                    break;
                case 5 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:75:4: library_name
                    {
                    pushFollow(FOLLOW_library_name_in_project_property260);
                    library_name();

                    state._fsp--;


                    }
                    break;
                case 6 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:76:4: restricted
                    {
                    pushFollow(FOLLOW_restricted_in_project_property265);
                    restricted();

                    state._fsp--;


                    }
                    break;
                case 7 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:77:4: starting_method
                    {
                    pushFollow(FOLLOW_starting_method_in_project_property270);
                    starting_method();

                    state._fsp--;


                    }
                    break;
                case 8 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:78:5: extended_property
                    {
                    pushFollow(FOLLOW_extended_property_in_project_property276);
                    extended_property();

                    state._fsp--;


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "project_property"



    // $ANTLR start "isLibrary"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:81:2: isLibrary : ^( IS_LIBRARY booleanLiteral ) ;
    public final void isLibrary() throws RecognitionException {
        FortePRXTree.booleanLiteral_return booleanLiteral5 =null;


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:82:3: ( ^( IS_LIBRARY booleanLiteral ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:82:5: ^( IS_LIBRARY booleanLiteral )
            {
            match(input,IS_LIBRARY,FOLLOW_IS_LIBRARY_in_isLibrary292);

            match(input, Token.DOWN, null);
            pushFollow(FOLLOW_booleanLiteral_in_isLibrary294);
            booleanLiteral5=booleanLiteral();

            state._fsp--;


            match(input, Token.UP, null);


            plan.setLibrary(Boolean.parseBoolean((booleanLiteral5!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(booleanLiteral5.start),input.getTreeAdaptor().getTokenStopIndex(booleanLiteral5.start))):null)));

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "isLibrary"



    // $ANTLR start "restricted"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:86:1: restricted : ^( 'restricted' booleanLiteral ) ;
    public final void restricted() throws RecognitionException {
        FortePRXTree.booleanLiteral_return booleanLiteral6 =null;


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:87:2: ( ^( 'restricted' booleanLiteral ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:87:4: ^( 'restricted' booleanLiteral )
            {
            match(input,260,FOLLOW_260_in_restricted315);

            match(input, Token.DOWN, null);
            pushFollow(FOLLOW_booleanLiteral_in_restricted317);
            booleanLiteral6=booleanLiteral();

            state._fsp--;


            match(input, Token.UP, null);



                plan.setRestricted(Boolean.parseBoolean((booleanLiteral6!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(booleanLiteral6.start),input.getTreeAdaptor().getTokenStopIndex(booleanLiteral6.start))):null)));
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "restricted"



    // $ANTLR start "compatibility_level"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:93:1: compatibility_level : ^( 'compatibilitylevel' INTLITERAL ) ;
    public final void compatibility_level() throws RecognitionException {
        CommonTree INTLITERAL7=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:94:2: ( ^( 'compatibilitylevel' INTLITERAL ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:94:4: ^( 'compatibilitylevel' INTLITERAL )
            {
            match(input,240,FOLLOW_240_in_compatibility_level334);

            match(input, Token.DOWN, null);
            INTLITERAL7=(CommonTree)match(input,INTLITERAL,FOLLOW_INTLITERAL_in_compatibility_level336);

            match(input, Token.UP, null);



              plan.setCompatibilityLevel(Integer.parseInt((INTLITERAL7!=null?INTLITERAL7.getText():null)));
             

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "compatibility_level"



    // $ANTLR start "project_type"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:100:1: project_type : ^( 'projecttype' IDENTIFIER ) ;
    public final void project_type() throws RecognitionException {
        CommonTree IDENTIFIER8=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:101:2: ( ^( 'projecttype' IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:101:4: ^( 'projecttype' IDENTIFIER )
            {
            match(input,258,FOLLOW_258_in_project_type355);

            match(input, Token.DOWN, null);
            IDENTIFIER8=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_project_type357);

            match(input, Token.UP, null);



              plan.setProjectType((IDENTIFIER8!=null?IDENTIFIER8.getText():null));
             

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "project_type"



    // $ANTLR start "multithreaded"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:108:1: multithreaded : ^( 'multithreaded' booleanLiteral ) ;
    public final void multithreaded() throws RecognitionException {
        FortePRXTree.booleanLiteral_return booleanLiteral9 =null;


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:109:2: ( ^( 'multithreaded' booleanLiteral ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:109:4: ^( 'multithreaded' booleanLiteral )
            {
            match(input,255,FOLLOW_255_in_multithreaded376);

            match(input, Token.DOWN, null);
            pushFollow(FOLLOW_booleanLiteral_in_multithreaded378);
            booleanLiteral9=booleanLiteral();

            state._fsp--;


            match(input, Token.UP, null);



              plan.setMultiThreaded(Boolean.parseBoolean((booleanLiteral9!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(booleanLiteral9.start),input.getTreeAdaptor().getTokenStopIndex(booleanLiteral9.start))):null)));
             

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "multithreaded"



    // $ANTLR start "internal"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:115:1: internal : ^( 'internal' booleanLiteral ) ;
    public final void internal() throws RecognitionException {
        FortePRXTree.booleanLiteral_return booleanLiteral10 =null;


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:116:2: ( ^( 'internal' booleanLiteral ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:116:4: ^( 'internal' booleanLiteral )
            {
            match(input,250,FOLLOW_250_in_internal394);

            match(input, Token.DOWN, null);
            pushFollow(FOLLOW_booleanLiteral_in_internal396);
            booleanLiteral10=booleanLiteral();

            state._fsp--;


            match(input, Token.UP, null);



              plan.setInternal(Boolean.parseBoolean((booleanLiteral10!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(booleanLiteral10.start),input.getTreeAdaptor().getTokenStopIndex(booleanLiteral10.start))):null)));
             

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "internal"



    // $ANTLR start "library_name"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:122:1: library_name : ^( 'libraryname' STRINGLITERAL ) ;
    public final void library_name() throws RecognitionException {
        CommonTree STRINGLITERAL11=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:123:2: ( ^( 'libraryname' STRINGLITERAL ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:123:4: ^( 'libraryname' STRINGLITERAL )
            {
            match(input,252,FOLLOW_252_in_library_name412);

            match(input, Token.DOWN, null);
            STRINGLITERAL11=(CommonTree)match(input,STRINGLITERAL,FOLLOW_STRINGLITERAL_in_library_name414);

            match(input, Token.UP, null);



              plan.setLibraryName((STRINGLITERAL11!=null?STRINGLITERAL11.getText():null));
             

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "library_name"



    // $ANTLR start "starting_method"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:129:1: starting_method : ^( 'startingmethod' c= IDENTIFIER m= IDENTIFIER ) ;
    public final void starting_method() throws RecognitionException {
        CommonTree c=null;
        CommonTree m=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:130:2: ( ^( 'startingmethod' c= IDENTIFIER m= IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:130:4: ^( 'startingmethod' c= IDENTIFIER m= IDENTIFIER )
            {
            match(input,263,FOLLOW_263_in_starting_method431);

            match(input, Token.DOWN, null);
            c=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_starting_method435);

            m=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_starting_method439);

            match(input, Token.UP, null);



                plan.setStartClass((c!=null?c.getText():null));
                plan.setStartMethod((m!=null?m.getText():null));
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "starting_method"



    // $ANTLR start "forward"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:138:1: forward : ( forward_class | forward_mapped_class | forward_interface | forward_cursor );
    public final void forward() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:139:2: ( forward_class | forward_mapped_class | forward_interface | forward_cursor )
            int alt12=4;
            switch ( input.LA(1) ) {
            case FORWARD_CLASS:
                {
                alt12=1;
                }
                break;
            case FORWARD_MAPPED_CLASS:
                {
                alt12=2;
                }
                break;
            case FORWARD_INTERFACE:
                {
                alt12=3;
                }
                break;
            case FORWARD_CURSOR:
                {
                alt12=4;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 12, 0, input);

                throw nvae;

            }

            switch (alt12) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:140:3: forward_class
                    {
                    pushFollow(FOLLOW_forward_class_in_forward460);
                    forward_class();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:141:5: forward_mapped_class
                    {
                    pushFollow(FOLLOW_forward_mapped_class_in_forward466);
                    forward_mapped_class();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:142:5: forward_interface
                    {
                    pushFollow(FOLLOW_forward_interface_in_forward472);
                    forward_interface();

                    state._fsp--;


                    }
                    break;
                case 4 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:143:5: forward_cursor
                    {
                    pushFollow(FOLLOW_forward_cursor_in_forward478);
                    forward_cursor();

                    state._fsp--;


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "forward"



    // $ANTLR start "forward_class"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:146:1: forward_class : ^( FORWARD_CLASS IDENTIFIER ) ;
    public final void forward_class() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:147:2: ( ^( FORWARD_CLASS IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:147:4: ^( FORWARD_CLASS IDENTIFIER )
            {
            match(input,FORWARD_CLASS,FOLLOW_FORWARD_CLASS_in_forward_class491);

            match(input, Token.DOWN, null);
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_forward_class493);

            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "forward_class"



    // $ANTLR start "forward_mapped_class"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:150:1: forward_mapped_class : ^( FORWARD_MAPPED_CLASS IDENTIFIER ) ;
    public final void forward_mapped_class() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:151:2: ( ^( FORWARD_MAPPED_CLASS IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:151:4: ^( FORWARD_MAPPED_CLASS IDENTIFIER )
            {
            match(input,FORWARD_MAPPED_CLASS,FOLLOW_FORWARD_MAPPED_CLASS_in_forward_mapped_class506);

            match(input, Token.DOWN, null);
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_forward_mapped_class508);

            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "forward_mapped_class"



    // $ANTLR start "forward_interface"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:153:1: forward_interface : ^( FORWARD_INTERFACE IDENTIFIER ) ;
    public final void forward_interface() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:154:2: ( ^( FORWARD_INTERFACE IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:154:4: ^( FORWARD_INTERFACE IDENTIFIER )
            {
            match(input,FORWARD_INTERFACE,FOLLOW_FORWARD_INTERFACE_in_forward_interface520);

            match(input, Token.DOWN, null);
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_forward_interface522);

            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "forward_interface"



    // $ANTLR start "forward_cursor"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:156:1: forward_cursor : ^( FORWARD_CURSOR IDENTIFIER ) ;
    public final void forward_cursor() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:157:2: ( ^( FORWARD_CURSOR IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:157:4: ^( FORWARD_CURSOR IDENTIFIER )
            {
            match(input,FORWARD_CURSOR,FOLLOW_FORWARD_CURSOR_in_forward_cursor534);

            match(input, Token.DOWN, null);
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_forward_cursor536);

            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "forward_cursor"



    // $ANTLR start "include"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:160:1: include : ^( INCLUDE IDENTIFIER IDENTIFIER ) ;
    public final void include() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:161:2: ( ^( INCLUDE IDENTIFIER IDENTIFIER ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:161:4: ^( INCLUDE IDENTIFIER IDENTIFIER )
            {
            match(input,INCLUDE,FOLLOW_INCLUDE_in_include550);

            match(input, Token.DOWN, null);
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_include553);

            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_include555);

            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "include"



    // $ANTLR start "uuid"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:164:1: uuid : ^( UUID STRINGLITERAL ) ;
    public final void uuid() throws RecognitionException {
        CommonTree STRINGLITERAL12=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:165:2: ( ^( UUID STRINGLITERAL ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:165:4: ^( UUID STRINGLITERAL )
            {
            match(input,UUID,FOLLOW_UUID_in_uuid569);

            match(input, Token.DOWN, null);
            STRINGLITERAL12=(CommonTree)match(input,STRINGLITERAL,FOLLOW_STRINGLITERAL_in_uuid571);

            match(input, Token.UP, null);


            
                String wholeString = (STRINGLITERAL12!=null?STRINGLITERAL12.getText():null);
                String uuidString = wholeString.substring(1, wholeString.length()-1);
                plan.setUUID(java.util.UUID.fromString(uuidString));
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "uuid"



    // $ANTLR start "constantDeclaration"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:174:1: constantDeclaration : ^( CONSTANT IDENTIFIER literal ) ;
    public final void constantDeclaration() throws RecognitionException {
        CommonTree IDENTIFIER13=null;
        FortePRXTree.literal_return literal14 =null;


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:175:5: ( ^( CONSTANT IDENTIFIER literal ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:175:7: ^( CONSTANT IDENTIFIER literal )
            {
            match(input,CONSTANT,FOLLOW_CONSTANT_in_constantDeclaration592);

            match(input, Token.DOWN, null);
            IDENTIFIER13=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_constantDeclaration594);

            pushFollow(FOLLOW_literal_in_constantDeclaration596);
            literal14=literal();

            state._fsp--;


            match(input, Token.UP, null);



                   ToolConstant con = new ToolConstant(plan,
                          (IDENTIFIER13!=null?IDENTIFIER13.getText():null)//Constant ID
                          (literal14!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(literal14.start),input.getTreeAdaptor().getTokenStopIndex(literal14.start))):null)//Constant Value
                          true);
                      plan.addConstant(con);
                  

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "constantDeclaration"



    // $ANTLR start "declatrationTerminator"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:185:1: declatrationTerminator : ( property )* ;
    public final void declatrationTerminator() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:186:2: ( ( property )* )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:186:4: ( property )*
            {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:186:4: ( property )*
            loop13:
            do {
                int alt13=2;
                int LA13_0 = input.LA(1);

                if ( (LA13_0==PROPERTY) ) {
                    alt13=1;
                }


                switch (alt13) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:186:4: property
                  {
                  pushFollow(FOLLOW_property_in_declatrationTerminator618);
                  property();

                  state._fsp--;


                  }
                  break;

              default :
                  break loop13;
                }
            } while (true);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "declatrationTerminator"



    // $ANTLR start "cDataTypeDeclatation"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:189:1: cDataTypeDeclatation : ( cStruct | cEnum | cTypeDef );
    public final void cDataTypeDeclatation() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:190:3: ( cStruct | cEnum | cTypeDef )
            int alt14=3;
            switch ( input.LA(1) ) {
            case STRUCT:
                {
                alt14=1;
                }
                break;
            case ENUM:
                {
                alt14=2;
                }
                break;
            case TYPEDEF:
                {
                alt14=3;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 14, 0, input);

                throw nvae;

            }

            switch (alt14) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:190:5: cStruct
                    {
                    pushFollow(FOLLOW_cStruct_in_cDataTypeDeclatation631);
                    cStruct();

                    state._fsp--;


                    }
                    break;
                case 2 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:191:5: cEnum
                    {
                    pushFollow(FOLLOW_cEnum_in_cDataTypeDeclatation637);
                    cEnum();

                    state._fsp--;


                    }
                    break;
                case 3 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:192:5: cTypeDef
                    {
                    pushFollow(FOLLOW_cTypeDef_in_cDataTypeDeclatation643);
                    cTypeDef();

                    state._fsp--;


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cDataTypeDeclatation"



    // $ANTLR start "cStruct"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:194:1: cStruct : ^( STRUCT structName= IDENTIFIER (memberName= IDENTIFIER cType )+ ) ;
    public final void cStruct() throws RecognitionException {
        CommonTree structName=null;
        CommonTree memberName=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:195:2: ( ^( STRUCT structName= IDENTIFIER (memberName= IDENTIFIER cType )+ ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:195:4: ^( STRUCT structName= IDENTIFIER (memberName= IDENTIFIER cType )+ )
            {
            match(input,STRUCT,FOLLOW_STRUCT_in_cStruct655);

            match(input, Token.DOWN, null);
            structName=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_cStruct659);

            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:195:35: (memberName= IDENTIFIER cType )+
            int cnt15=0;
            loop15:
            do {
                int alt15=2;
                int LA15_0 = input.LA(1);

                if ( (LA15_0==IDENTIFIER) ) {
                    alt15=1;
                }


                switch (alt15) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:195:36: memberName= IDENTIFIER cType
                  {
                  memberName=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_cStruct664);

                  pushFollow(FOLLOW_cType_in_cStruct666);
                  cType();

                  state._fsp--;


                  }
                  break;

              default :
                  if ( cnt15 >= 1 ) break loop15;
                        EarlyExitException eee =
                            new EarlyExitException(15, input);
                        throw eee;
                }
                cnt15++;
            } while (true);


            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cStruct"



    // $ANTLR start "cEnum"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:198:1: cEnum : ^( ENUM enumName= IDENTIFIER (memberName= IDENTIFIER ( literal )? )+ ) ;
    public final void cEnum() throws RecognitionException {
        CommonTree enumName=null;
        CommonTree memberName=null;

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:199:2: ( ^( ENUM enumName= IDENTIFIER (memberName= IDENTIFIER ( literal )? )+ ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:199:4: ^( ENUM enumName= IDENTIFIER (memberName= IDENTIFIER ( literal )? )+ )
            {
            match(input,ENUM,FOLLOW_ENUM_in_cEnum681);

            match(input, Token.DOWN, null);
            enumName=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_cEnum685);

            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:199:31: (memberName= IDENTIFIER ( literal )? )+
            int cnt17=0;
            loop17:
            do {
                int alt17=2;
                int LA17_0 = input.LA(1);

                if ( (LA17_0==IDENTIFIER) ) {
                    alt17=1;
                }


                switch (alt17) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:199:32: memberName= IDENTIFIER ( literal )?
                  {
                  memberName=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_cEnum690);

                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:199:54: ( literal )?
                  int alt16=2;
                  int LA16_0 = input.LA(1);

                  if ( ((LA16_0 >= FALSE && LA16_0 <= FLOATLITERAL)||LA16_0==HEXLITERAL||LA16_0==INTLITERAL||LA16_0==NIL||LA16_0==STRINGLITERAL||LA16_0==TRUE) ) {
                      alt16=1;
                  }
                  switch (alt16) {
                      case 1 :
                          // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:199:54: literal
                          {
                          pushFollow(FOLLOW_literal_in_cEnum692);
                          literal();

                          state._fsp--;


                          }
                          break;

                  }


                  }
                  break;

              default :
                  if ( cnt17 >= 1 ) break loop17;
                        EarlyExitException eee =
                            new EarlyExitException(17, input);
                        throw eee;
                }
                cnt17++;
            } while (true);


            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cEnum"



    // $ANTLR start "cTypeDef"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:202:1: cTypeDef : ^( TYPEDEF IDENTIFIER cType ) ;
    public final void cTypeDef() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:203:3: ( ^( TYPEDEF IDENTIFIER cType ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:203:5: ^( TYPEDEF IDENTIFIER cType )
            {
            match(input,TYPEDEF,FOLLOW_TYPEDEF_in_cTypeDef710);

            match(input, Token.DOWN, null);
            match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_cTypeDef712);

            pushFollow(FOLLOW_cType_in_cTypeDef714);
            cType();

            state._fsp--;


            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cTypeDef"



    // $ANTLR start "cType"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:206:1: cType : ( 'int' | 'short' | 'long' | 'float' | 'double' | 'char' | 'iu1' | 'i1' | 'string' | 'pointer' | cStruct | cEnum );
    public final void cType() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:207:3: ( 'int' | 'short' | 'long' | 'float' | 'double' | 'char' | 'iu1' | 'i1' | 'string' | 'pointer' | cStruct | cEnum )
            int alt18=12;
            switch ( input.LA(1) ) {
            case 248:
                {
                alt18=1;
                }
                break;
            case 262:
                {
                alt18=2;
                }
                break;
            case 253:
                {
                alt18=3;
                }
                break;
            case 243:
                {
                alt18=4;
                }
                break;
            case 242:
                {
                alt18=5;
                }
                break;
            case 238:
                {
                alt18=6;
                }
                break;
            case 251:
                {
                alt18=7;
                }
                break;
            case 244:
                {
                alt18=8;
                }
                break;
            case 264:
                {
                alt18=9;
                }
                break;
            case POINTER:
                {
                alt18=10;
                }
                break;
            case STRUCT:
                {
                alt18=11;
                }
                break;
            case ENUM:
                {
                alt18=12;
                }
                break;
            default:
                NoViableAltException nvae =
                    new NoViableAltException("", 18, 0, input);

                throw nvae;

            }

            switch (alt18) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:207:5: 'int'
                    {
                    match(input,248,FOLLOW_248_in_cType729);

                    }
                    break;
                case 2 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:208:5: 'short'
                    {
                    match(input,262,FOLLOW_262_in_cType735);

                    }
                    break;
                case 3 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:209:5: 'long'
                    {
                    match(input,253,FOLLOW_253_in_cType741);

                    }
                    break;
                case 4 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:210:5: 'float'
                    {
                    match(input,243,FOLLOW_243_in_cType747);

                    }
                    break;
                case 5 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:211:5: 'double'
                    {
                    match(input,242,FOLLOW_242_in_cType753);

                    }
                    break;
                case 6 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:212:5: 'char'
                    {
                    match(input,238,FOLLOW_238_in_cType759);

                    }
                    break;
                case 7 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:213:5: 'iu1'
                    {
                    match(input,251,FOLLOW_251_in_cType765);

                    }
                    break;
                case 8 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:214:5: 'i1'
                    {
                    match(input,244,FOLLOW_244_in_cType771);

                    }
                    break;
                case 9 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:215:5: 'string'
                    {
                    match(input,264,FOLLOW_264_in_cType777);

                    }
                    break;
                case 10 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:216:5: 'pointer'
                    {
                    match(input,POINTER,FOLLOW_POINTER_in_cType783);

                    }
                    break;
                case 11 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:217:5: cStruct
                    {
                    pushFollow(FOLLOW_cStruct_in_cType789);
                    cStruct();

                    state._fsp--;


                    }
                    break;
                case 12 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:218:5: cEnum
                    {
                    pushFollow(FOLLOW_cEnum_in_cType795);
                    cEnum();

                    state._fsp--;


                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "cType"


    public static class compound_property_return extends TreeRuleReturnScope {
        public String name;
        public List<ToolProperty> props;
    };


    // $ANTLR start "compound_property"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:225:1: compound_property returns [String name, List<ToolProperty> props] : ^( PROPERTY ^(id= IDENTIFIER (prop= property )+ ) ) ;
    public final FortePRXTree.compound_property_return compound_property() throws RecognitionException {
        FortePRXTree.compound_property_return retval = new FortePRXTree.compound_property_return();
        retval.start = input.LT(1);


        CommonTree id=null;
        ToolProperty prop =null;



          retval.props = new ArrayList<ToolProperty>();

        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:229:2: ( ^( PROPERTY ^(id= IDENTIFIER (prop= property )+ ) ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:229:4: ^( PROPERTY ^(id= IDENTIFIER (prop= property )+ ) )
            {
            match(input,PROPERTY,FOLLOW_PROPERTY_in_compound_property821);

            match(input, Token.DOWN, null);
            id=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_compound_property826);

            match(input, Token.DOWN, null);
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:229:31: (prop= property )+
            int cnt19=0;
            loop19:
            do {
                int alt19=2;
                int LA19_0 = input.LA(1);

                if ( (LA19_0==PROPERTY) ) {
                    alt19=1;
                }


                switch (alt19) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:229:32: prop= property
                  {
                  pushFollow(FOLLOW_property_in_compound_property831);
                  prop=property();

                  state._fsp--;


                   retval.props.add(prop);

                  }
                  break;

              default :
                  if ( cnt19 >= 1 ) break loop19;
                        EarlyExitException eee =
                            new EarlyExitException(19, input);
                        throw eee;
                }
                cnt19++;
            } while (true);


            match(input, Token.UP, null);


            match(input, Token.UP, null);


            
                retval.name = (id!=null?id.getText():null);
               

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "compound_property"



    // $ANTLR start "extended_property"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:235:1: extended_property : ^( EXTENDED ( property )+ ) ;
    public final void extended_property() throws RecognitionException {
        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:236:2: ( ^( EXTENDED ( property )+ ) )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:236:4: ^( EXTENDED ( property )+ )
            {
            match(input,EXTENDED,FOLLOW_EXTENDED_in_extended_property855);

            match(input, Token.DOWN, null);
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:236:15: ( property )+
            int cnt20=0;
            loop20:
            do {
                int alt20=2;
                int LA20_0 = input.LA(1);

                if ( (LA20_0==PROPERTY) ) {
                    alt20=1;
                }


                switch (alt20) {
              case 1 :
                  // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:236:15: property
                  {
                  pushFollow(FOLLOW_property_in_extended_property857);
                  property();

                  state._fsp--;


                  }
                  break;

              default :
                  if ( cnt20 >= 1 ) break loop20;
                        EarlyExitException eee =
                            new EarlyExitException(20, input);
                        throw eee;
                }
                cnt20++;
            } while (true);


            match(input, Token.UP, null);


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return ;
    }
    // $ANTLR end "extended_property"



    // $ANTLR start "property"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:239:1: property returns [ToolProperty toolProp] : ( ^( PROPERTY IDENTIFIER literal ) | ^( PROPERTY id1= IDENTIFIER id2= IDENTIFIER ) );
    public final ToolProperty property() throws RecognitionException {
        ToolProperty toolProp = null;


        CommonTree id1=null;
        CommonTree id2=null;
        CommonTree IDENTIFIER15=null;
        FortePRXTree.literal_return literal16 =null;


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:240:2: ( ^( PROPERTY IDENTIFIER literal ) | ^( PROPERTY id1= IDENTIFIER id2= IDENTIFIER ) )
            int alt21=2;
            int LA21_0 = input.LA(1);

            if ( (LA21_0==PROPERTY) ) {
                int LA21_1 = input.LA(2);

                if ( (LA21_1==DOWN) ) {
                    int LA21_2 = input.LA(3);

                    if ( (LA21_2==IDENTIFIER) ) {
                        int LA21_3 = input.LA(4);

                        if ( (LA21_3==IDENTIFIER) ) {
                            alt21=2;
                        }
                        else if ( ((LA21_3 >= FALSE && LA21_3 <= FLOATLITERAL)||LA21_3==HEXLITERAL||LA21_3==INTLITERAL||LA21_3==NIL||LA21_3==STRINGLITERAL||LA21_3==TRUE) ) {
                            alt21=1;
                        }
                        else {
                            NoViableAltException nvae =
                                new NoViableAltException("", 21, 3, input);

                            throw nvae;

                        }
                    }
                    else {
                        NoViableAltException nvae =
                            new NoViableAltException("", 21, 2, input);

                        throw nvae;

                    }
                }
                else {
                    NoViableAltException nvae =
                        new NoViableAltException("", 21, 1, input);

                    throw nvae;

                }
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 21, 0, input);

                throw nvae;

            }
            switch (alt21) {
                case 1 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:240:4: ^( PROPERTY IDENTIFIER literal )
                    {
                    match(input,PROPERTY,FOLLOW_PROPERTY_in_property875);

                    match(input, Token.DOWN, null);
                    IDENTIFIER15=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_property877);

                    pushFollow(FOLLOW_literal_in_property879);
                    literal16=literal();

                    state._fsp--;


                    match(input, Token.UP, null);



                        toolProp = new ToolProperty();
                        toolProp.setToolName((IDENTIFIER15!=null?IDENTIFIER15.getText():null));
                        toolProp.setValue((literal16!=null?(input.getTokenStream().toString(input.getTreeAdaptor().getTokenStartIndex(literal16.start),input.getTreeAdaptor().getTokenStopIndex(literal16.start))):null));
                       

                    }
                    break;
                case 2 :
                    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:246:4: ^( PROPERTY id1= IDENTIFIER id2= IDENTIFIER )
                    {
                    match(input,PROPERTY,FOLLOW_PROPERTY_in_property890);

                    match(input, Token.DOWN, null);
                    id1=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_property894);

                    id2=(CommonTree)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_property898);

                    match(input, Token.UP, null);



                        toolProp = new ToolProperty();
                        toolProp.setToolName((id1!=null?id1.getText():null));
                        toolProp.setValue((id2!=null?id2.getText():null));
                       

                    }
                    break;

            }
        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return toolProp;
    }
    // $ANTLR end "property"


    public static class literal_return extends TreeRuleReturnScope {
    };


    // $ANTLR start "literal"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:254:1: literal : ( HEXLITERAL | INTLITERAL | FLOATLITERAL | STRINGLITERAL | TRUE | FALSE | NIL );
    public final FortePRXTree.literal_return literal() throws RecognitionException {
        FortePRXTree.literal_return retval = new FortePRXTree.literal_return();
        retval.start = input.LT(1);


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:255:5: ( HEXLITERAL | INTLITERAL | FLOATLITERAL | STRINGLITERAL | TRUE | FALSE | NIL )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:
            {
            if ( (input.LA(1) >= FALSE && input.LA(1) <= FLOATLITERAL)||input.LA(1)==HEXLITERAL||input.LA(1)==INTLITERAL||input.LA(1)==NIL||input.LA(1)==STRINGLITERAL||input.LA(1)==TRUE ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "literal"


    public static class booleanLiteral_return extends TreeRuleReturnScope {
    };


    // $ANTLR start "booleanLiteral"
    // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:264:1: booleanLiteral : ( TRUE | FALSE );
    public final FortePRXTree.booleanLiteral_return booleanLiteral() throws RecognitionException {
        FortePRXTree.booleanLiteral_return retval = new FortePRXTree.booleanLiteral_return();
        retval.start = input.LT(1);


        try {
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:265:3: ( TRUE | FALSE )
            // /Users/peter/Documents/workspace/Tool/src/tool/model/grammar/FortePRXTree.g:
            {
            if ( input.LA(1)==FALSE||input.LA(1)==TRUE ) {
                input.consume();
                state.errorRecovery=false;
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                throw mse;
            }


            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }

        finally {
          // do for sure before leaving
        }
        return retval;
    }
    // $ANTLR end "booleanLiteral"

    // Delegated rules



    public static final BitSet FOLLOW_PROJECT_in_project59 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_project61 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000000000000010L});
    public static final BitSet FOLLOW_planType_in_project67 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000000L,0x0000200000000000L});
    public static final BitSet FOLLOW_includes_in_project73 = new BitSet(new long[]{0x0801000400000008L,0x0000000008000078L,0x0210040000000000L,0x9401000000000000L,0x0000000000000094L});
    public static final BitSet FOLLOW_forward_in_project79 = new BitSet(new long[]{0x0801000400000008L,0x0000000008000078L,0x0210040000000000L,0x9401000000000000L,0x0000000000000094L});
    public static final BitSet FOLLOW_constantDeclaration_in_project86 = new BitSet(new long[]{0x0801000400000008L,0x0000000008000000L,0x0210040000000000L,0x9401000000000000L,0x0000000000000094L});
    public static final BitSet FOLLOW_cDataTypeDeclatation_in_project92 = new BitSet(new long[]{0x0801000000000008L,0x0000000008000000L,0x0210040000000000L,0x9401000000000000L,0x0000000000000094L});
    public static final BitSet FOLLOW_hasProperty_in_project101 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L,0x0200000000000000L});
    public static final BitSet FOLLOW_uuid_in_project107 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L});
    public static final BitSet FOLLOW_include_in_project114 = new BitSet(new long[]{0x0000000000000008L,0x0000000008000000L});
    public static final BitSet FOLLOW_constantDeclaration_in_projectConstants138 = new BitSet(new long[]{0x0000000400000002L});
    public static final BitSet FOLLOW_project_property_in_hasProperty152 = new BitSet(new long[]{0x0800000000000002L,0x0000000000000000L,0x0000000000000000L,0x9401000000000000L,0x0000000000000094L});
    public static final BitSet FOLLOW_PLAN_TYPE_in_planType170 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_planType172 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_SUPPLIER_PLANS_in_includes194 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_supplierPlan_in_includes196 = new BitSet(new long[]{0x0000000000000008L,0x0000000000800400L});
    public static final BitSet FOLLOW_IDENTIFIER_in_supplierPlan213 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FRAMEWORK_in_supplierPlan222 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_compatibility_level_in_project_property239 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_project_type_in_project_property245 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_multithreaded_in_project_property250 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_internal_in_project_property255 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_library_name_in_project_property260 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_restricted_in_project_property265 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_starting_method_in_project_property270 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_extended_property_in_project_property276 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_IS_LIBRARY_in_isLibrary292 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_booleanLiteral_in_isLibrary294 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_260_in_restricted315 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_booleanLiteral_in_restricted317 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_240_in_compatibility_level334 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_INTLITERAL_in_compatibility_level336 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_258_in_project_type355 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_project_type357 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_255_in_multithreaded376 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_booleanLiteral_in_multithreaded378 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_250_in_internal394 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_booleanLiteral_in_internal396 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_252_in_library_name412 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_STRINGLITERAL_in_library_name414 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_263_in_starting_method431 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_starting_method435 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_starting_method439 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_forward_class_in_forward460 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_forward_mapped_class_in_forward466 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_forward_interface_in_forward472 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_forward_cursor_in_forward478 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_FORWARD_CLASS_in_forward_class491 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_forward_class493 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_FORWARD_MAPPED_CLASS_in_forward_mapped_class506 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_forward_mapped_class508 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_FORWARD_INTERFACE_in_forward_interface520 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_forward_interface522 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_FORWARD_CURSOR_in_forward_cursor534 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_forward_cursor536 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_INCLUDE_in_include550 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_include553 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_include555 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_UUID_in_uuid569 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_STRINGLITERAL_in_uuid571 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_CONSTANT_in_constantDeclaration592 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_constantDeclaration594 = new BitSet(new long[]{0xC000000000000000L,0x1000000400100000L,0x0004020000000000L});
    public static final BitSet FOLLOW_literal_in_constantDeclaration596 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_property_in_declatrationTerminator618 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_cStruct_in_cDataTypeDeclatation631 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_cEnum_in_cDataTypeDeclatation637 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_cTypeDef_in_cDataTypeDeclatation643 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_STRUCT_in_cStruct655 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_cStruct659 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_cStruct664 = new BitSet(new long[]{0x0001000000000000L,0x0000000000000000L,0x0000040000000040L,0x291C400000000000L,0x0000000000000140L});
    public static final BitSet FOLLOW_cType_in_cStruct666 = new BitSet(new long[]{0x0000000000000008L,0x0000000000800000L});
    public static final BitSet FOLLOW_ENUM_in_cEnum681 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_cEnum685 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_cEnum690 = new BitSet(new long[]{0xC000000000000008L,0x1000000400900000L,0x0004020000000000L});
    public static final BitSet FOLLOW_literal_in_cEnum692 = new BitSet(new long[]{0x0000000000000008L,0x0000000000800000L});
    public static final BitSet FOLLOW_TYPEDEF_in_cTypeDef710 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_cTypeDef712 = new BitSet(new long[]{0x0001000000000000L,0x0000000000000000L,0x0000040000000040L,0x291C400000000000L,0x0000000000000140L});
    public static final BitSet FOLLOW_cType_in_cTypeDef714 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_248_in_cType729 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_262_in_cType735 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_253_in_cType741 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_243_in_cType747 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_242_in_cType753 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_238_in_cType759 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_251_in_cType765 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_244_in_cType771 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_264_in_cType777 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_POINTER_in_cType783 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_cStruct_in_cType789 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_cEnum_in_cType795 = new BitSet(new long[]{0x0000000000000002L});
    public static final BitSet FOLLOW_PROPERTY_in_compound_property821 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_compound_property826 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_property_in_compound_property831 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_EXTENDED_in_extended_property855 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_property_in_extended_property857 = new BitSet(new long[]{0x0000000000000008L,0x0000000000000000L,0x0000000000004000L});
    public static final BitSet FOLLOW_PROPERTY_in_property875 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_property877 = new BitSet(new long[]{0xC000000000000000L,0x1000000400100000L,0x0004020000000000L});
    public static final BitSet FOLLOW_literal_in_property879 = new BitSet(new long[]{0x0000000000000008L});
    public static final BitSet FOLLOW_PROPERTY_in_property890 = new BitSet(new long[]{0x0000000000000004L});
    public static final BitSet FOLLOW_IDENTIFIER_in_property894 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
    public static final BitSet FOLLOW_IDENTIFIER_in_property898 = new BitSet(new long[]{0x0000000000000008L});

}
TOP

Related Classes of tool.model.grammar.FortePRXTree

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.