InternalXtext.g:1179:1: ruleTerminalToken : ( ( rule__TerminalToken__Group__0 ) ) ;
18388
public final void ruleTerminalToken() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:1183:2: ( ( ( rule__TerminalToken__Group__0 ) ) )
            // InternalXtext.g:1184:2: ( ( rule__TerminalToken__Group__0 ) )
            {
            // InternalXtext.g:1184:2: ( ( rule__TerminalToken__Group__0 ) )
            // InternalXtext.g:1185:3: ( rule__TerminalToken__Group__0 )
            {
             before(grammarAccess.getTerminalTokenAccess().getGroup()); 
            // InternalXtext.g:1186:3: ( rule__TerminalToken__Group__0 )
            // InternalXtext.g:1186:4: rule__TerminalToken__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__TerminalToken__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getTerminalTokenAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1262831
public final EObject ruleAlternatives() throws RecognitionException {
        EObject current = null;

        Token otherlv_2=null;
        EObject this_Group_0 = null;

        EObject lv_groups_3_0 = null;


         enterRule(); 
            
        try {
            // InternalSimpleAntlr.g:514:28: ( (this_Group_0= ruleGroup ( () (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+ )? ) )
            // InternalSimpleAntlr.g:515:1: (this_Group_0= ruleGroup ( () (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+ )? )
            {
            // InternalSimpleAntlr.g:515:1: (this_Group_0= ruleGroup ( () (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+ )? )
            // InternalSimpleAntlr.g:516:2: this_Group_0= ruleGroup ( () (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+ )?
            {
            if ( state.backtracking==0 ) {
               
              	  /* */ 
              	
            }
            if ( state.backtracking==0 ) {
               
                      newCompositeNode(grammarAccess.getAlternativesAccess().getGroupParserRuleCall_0()); 
                  
            }
            pushFollow(FOLLOW_15);
            this_Group_0=ruleGroup();

            state._fsp--;
            if (state.failed) return current;
            if ( state.backtracking==0 ) {
               
                      current = this_Group_0; 
                      afterParserOrEnumRuleCall();
                  
            }
            // InternalSimpleAntlr.g:527:1: ( () (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+ )?
            int alt9=2;
            int LA9_0 = input.LA(1);

            if ( (LA9_0==24) ) {
                alt9=1;
            }
            switch (alt9) {
                case 1 :
                    // InternalSimpleAntlr.g:527:2: () (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+
                    {
                    // InternalSimpleAntlr.g:527:2: ()
                    // InternalSimpleAntlr.g:528:2: 
                    {
                    if ( state.backtracking==0 ) {
                       
                      	  /* */ 
                      	
                    }
                    if ( state.backtracking==0 ) {

                              current = forceCreateModelElementAndAdd(
                                  grammarAccess.getAlternativesAccess().getAlternativesGroupsAction_1_0(),
                                  current);
                          
                    }

                    }

                    // InternalSimpleAntlr.g:536:2: (otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) ) )+
                    int cnt8=0;
                    loop8:
                    do {
                        int alt8=2;
                        int LA8_0 = input.LA(1);

                        if ( (LA8_0==24) ) {
                            alt8=1;
                        }


                        switch (alt8) {
                    	case 1 :
                    	    // InternalSimpleAntlr.g:536:4: otherlv_2= '|' ( (lv_groups_3_0= ruleGroup ) )
                    	    {
                    	    otherlv_2=(Token)match(input,24,FOLLOW_14); if (state.failed) return current;
                    	    if ( state.backtracking==0 ) {

                    	          	newLeafNode(otherlv_2, grammarAccess.getAlternativesAccess().getVerticalLineKeyword_1_1_0());
                    	          
                    	    }
                    	    // InternalSimpleAntlr.g:540:1: ( (lv_groups_3_0= ruleGroup ) )
                    	    // InternalSimpleAntlr.g:541:1: (lv_groups_3_0= ruleGroup )
                    	    {
                    	    // InternalSimpleAntlr.g:541:1: (lv_groups_3_0= ruleGroup )
                    	    // InternalSimpleAntlr.g:542:3: lv_groups_3_0= ruleGroup
                    	    {
                    	    if ( state.backtracking==0 ) {
                    	       
                    	      	        newCompositeNode(grammarAccess.getAlternativesAccess().getGroupsGroupParserRuleCall_1_1_1_0()); 
                    	      	    
                    	    }
                    	    pushFollow(FOLLOW_15);
                    	    lv_groups_3_0=ruleGroup();

                    	    state._fsp--;
                    	    if (state.failed) return current;
                    	    if ( state.backtracking==0 ) {

                    	      	        if (current==null) {
                    	      	            current = createModelElementForParent(grammarAccess.getAlternativesRule());
                    	      	        }
                    	             		add(
                    	             			current, 
                    	             			"groups",
                    	              		lv_groups_3_0, 
                    	              		"org.eclipse.xtext.generator.parser.antlr.debug.SimpleAntlr.Group");
                    	      	        afterParserOrEnumRuleCall();
                    	      	    
                    	    }

                    	    }


                    	    }


                    	    }
                    	    break;

                    	default :
                    	    if ( cnt8 >= 1 ) break loop8;
                    	    if (state.backtracking>0) {state.failed=true; return current;}
                                EarlyExitException eee =
                                    new EarlyExitException(8, input);
                                throw eee;
                        }
                        cnt8++;
                    } while (true);


                    }
                    break;

            }


            }


            }

            if ( state.backtracking==0 ) {
               leaveRule(); 
            }
        }
         
            catch (RecognitionException re) { 
                recover(input,re); 
                appendSkippedTokens();
            } 
        finally {
        }
        return current;
    }
1361154
public void mTokens() throws RecognitionException {
        // InternalXbaseWithAnnotations.g:1:8: ( T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | RULE_HEX | RULE_INT | RULE_DECIMAL | RULE_ID | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt21=84;
        alt21 = dfa21.predict(input);
        switch (alt21) {
            case 1 :
                // InternalXbaseWithAnnotations.g:1:10: T__13
                {
                mT__13(); 

                }
                break;
            case 2 :
                // InternalXbaseWithAnnotations.g:1:16: T__14
                {
                mT__14(); 

                }
                break;
            case 3 :
                // InternalXbaseWithAnnotations.g:1:22: T__15
                {
                mT__15(); 

                }
                break;
            case 4 :
                // InternalXbaseWithAnnotations.g:1:28: T__16
                {
                mT__16(); 

                }
                break;
            case 5 :
                // InternalXbaseWithAnnotations.g:1:34: T__17
                {
                mT__17(); 

                }
                break;
            case 6 :
                // InternalXbaseWithAnnotations.g:1:40: T__18
                {
                mT__18(); 

                }
                break;
            case 7 :
                // InternalXbaseWithAnnotations.g:1:46: T__19
                {
                mT__19(); 

                }
                break;
            case 8 :
                // InternalXbaseWithAnnotations.g:1:52: T__20
                {
                mT__20(); 

                }
                break;
            case 9 :
                // InternalXbaseWithAnnotations.g:1:58: T__21
                {
                mT__21(); 

                }
                break;
            case 10 :
                // InternalXbaseWithAnnotations.g:1:64: T__22
                {
                mT__22(); 

                }
                break;
            case 11 :
                // InternalXbaseWithAnnotations.g:1:70: T__23
                {
                mT__23(); 

                }
                break;
            case 12 :
                // InternalXbaseWithAnnotations.g:1:76: T__24
                {
                mT__24(); 

                }
                break;
            case 13 :
                // InternalXbaseWithAnnotations.g:1:82: T__25
                {
                mT__25(); 

                }
                break;
            case 14 :
                // InternalXbaseWithAnnotations.g:1:88: T__26
                {
                mT__26(); 

                }
                break;
            case 15 :
                // InternalXbaseWithAnnotations.g:1:94: T__27
                {
                mT__27(); 

                }
                break;
            case 16 :
                // InternalXbaseWithAnnotations.g:1:100: T__28
                {
                mT__28(); 

                }
                break;
            case 17 :
                // InternalXbaseWithAnnotations.g:1:106: T__29
                {
                mT__29(); 

                }
                break;
            case 18 :
                // InternalXbaseWithAnnotations.g:1:112: T__30
                {
                mT__30(); 

                }
                break;
            case 19 :
                // InternalXbaseWithAnnotations.g:1:118: T__31
                {
                mT__31(); 

                }
                break;
            case 20 :
                // InternalXbaseWithAnnotations.g:1:124: T__32
                {
                mT__32(); 

                }
                break;
            case 21 :
                // InternalXbaseWithAnnotations.g:1:130: T__33
                {
                mT__33(); 

                }
                break;
            case 22 :
                // InternalXbaseWithAnnotations.g:1:136: T__34
                {
                mT__34(); 

                }
                break;
            case 23 :
                // InternalXbaseWithAnnotations.g:1:142: T__35
                {
                mT__35(); 

                }
                break;
            case 24 :
                // InternalXbaseWithAnnotations.g:1:148: T__36
                {
                mT__36(); 

                }
                break;
            case 25 :
                // InternalXbaseWithAnnotations.g:1:154: T__37
                {
                mT__37(); 

                }
                break;
            case 26 :
                // InternalXbaseWithAnnotations.g:1:160: T__38
                {
                mT__38(); 

                }
                break;
            case 27 :
                // InternalXbaseWithAnnotations.g:1:166: T__39
                {
                mT__39(); 

                }
                break;
            case 28 :
                // InternalXbaseWithAnnotations.g:1:172: T__40
                {
                mT__40(); 

                }
                break;
            case 29 :
                // InternalXbaseWithAnnotations.g:1:178: T__41
                {
                mT__41(); 

                }
                break;
            case 30 :
                // InternalXbaseWithAnnotations.g:1:184: T__42
                {
                mT__42(); 

                }
                break;
            case 31 :
                // InternalXbaseWithAnnotations.g:1:190: T__43
                {
                mT__43(); 

                }
                break;
            case 32 :
                // InternalXbaseWithAnnotations.g:1:196: T__44
                {
                mT__44(); 

                }
                break;
            case 33 :
                // InternalXbaseWithAnnotations.g:1:202: T__45
                {
                mT__45(); 

                }
                break;
            case 34 :
                // InternalXbaseWithAnnotations.g:1:208: T__46
                {
                mT__46(); 

                }
                break;
            case 35 :
                // InternalXbaseWithAnnotations.g:1:214: T__47
                {
                mT__47(); 

                }
                break;
            case 36 :
                // InternalXbaseWithAnnotations.g:1:220: T__48
                {
                mT__48(); 

                }
                break;
            case 37 :
                // InternalXbaseWithAnnotations.g:1:226: T__49
                {
                mT__49(); 

                }
                break;
            case 38 :
                // InternalXbaseWithAnnotations.g:1:232: T__50
                {
                mT__50(); 

                }
                break;
            case 39 :
                // InternalXbaseWithAnnotations.g:1:238: T__51
                {
                mT__51(); 

                }
                break;
            case 40 :
                // InternalXbaseWithAnnotations.g:1:244: T__52
                {
                mT__52(); 

                }
                break;
            case 41 :
                // InternalXbaseWithAnnotations.g:1:250: T__53
                {
                mT__53(); 

                }
                break;
            case 42 :
                // InternalXbaseWithAnnotations.g:1:256: T__54
                {
                mT__54(); 

                }
                break;
            case 43 :
                // InternalXbaseWithAnnotations.g:1:262: T__55
                {
                mT__55(); 

                }
                break;
            case 44 :
                // InternalXbaseWithAnnotations.g:1:268: T__56
                {
                mT__56(); 

                }
                break;
            case 45 :
                // InternalXbaseWithAnnotations.g:1:274: T__57
                {
                mT__57(); 

                }
                break;
            case 46 :
                // InternalXbaseWithAnnotations.g:1:280: T__58
                {
                mT__58(); 

                }
                break;
            case 47 :
                // InternalXbaseWithAnnotations.g:1:286: T__59
                {
                mT__59(); 

                }
                break;
            case 48 :
                // InternalXbaseWithAnnotations.g:1:292: T__60
                {
                mT__60(); 

                }
                break;
            case 49 :
                // InternalXbaseWithAnnotations.g:1:298: T__61
                {
                mT__61(); 

                }
                break;
            case 50 :
                // InternalXbaseWithAnnotations.g:1:304: T__62
                {
                mT__62(); 

                }
                break;
            case 51 :
                // InternalXbaseWithAnnotations.g:1:310: T__63
                {
                mT__63(); 

                }
                break;
            case 52 :
                // InternalXbaseWithAnnotations.g:1:316: T__64
                {
                mT__64(); 

                }
                break;
            case 53 :
                // InternalXbaseWithAnnotations.g:1:322: T__65
                {
                mT__65(); 

                }
                break;
            case 54 :
                // InternalXbaseWithAnnotations.g:1:328: T__66
                {
                mT__66(); 

                }
                break;
            case 55 :
                // InternalXbaseWithAnnotations.g:1:334: T__67
                {
                mT__67(); 

                }
                break;
            case 56 :
                // InternalXbaseWithAnnotations.g:1:340: T__68
                {
                mT__68(); 

                }
                break;
            case 57 :
                // InternalXbaseWithAnnotations.g:1:346: T__69
                {
                mT__69(); 

                }
                break;
            case 58 :
                // InternalXbaseWithAnnotations.g:1:352: T__70
                {
                mT__70(); 

                }
                break;
            case 59 :
                // InternalXbaseWithAnnotations.g:1:358: T__71
                {
                mT__71(); 

                }
                break;
            case 60 :
                // InternalXbaseWithAnnotations.g:1:364: T__72
                {
                mT__72(); 

                }
                break;
            case 61 :
                // InternalXbaseWithAnnotations.g:1:370: T__73
                {
                mT__73(); 

                }
                break;
            case 62 :
                // InternalXbaseWithAnnotations.g:1:376: T__74
                {
                mT__74(); 

                }
                break;
            case 63 :
                // InternalXbaseWithAnnotations.g:1:382: T__75
                {
                mT__75(); 

                }
                break;
            case 64 :
                // InternalXbaseWithAnnotations.g:1:388: T__76
                {
                mT__76(); 

                }
                break;
            case 65 :
                // InternalXbaseWithAnnotations.g:1:394: T__77
                {
                mT__77(); 

                }
                break;
            case 66 :
                // InternalXbaseWithAnnotations.g:1:400: T__78
                {
                mT__78(); 

                }
                break;
            case 67 :
                // InternalXbaseWithAnnotations.g:1:406: T__79
                {
                mT__79(); 

                }
                break;
            case 68 :
                // InternalXbaseWithAnnotations.g:1:412: T__80
                {
                mT__80(); 

                }
                break;
            case 69 :
                // InternalXbaseWithAnnotations.g:1:418: T__81
                {
                mT__81(); 

                }
                break;
            case 70 :
                // InternalXbaseWithAnnotations.g:1:424: T__82
                {
                mT__82(); 

                }
                break;
            case 71 :
                // InternalXbaseWithAnnotations.g:1:430: T__83
                {
                mT__83(); 

                }
                break;
            case 72 :
                // InternalXbaseWithAnnotations.g:1:436: T__84
                {
                mT__84(); 

                }
                break;
            case 73 :
                // InternalXbaseWithAnnotations.g:1:442: T__85
                {
                mT__85(); 

                }
                break;
            case 74 :
                // InternalXbaseWithAnnotations.g:1:448: T__86
                {
                mT__86(); 

                }
                break;
            case 75 :
                // InternalXbaseWithAnnotations.g:1:454: T__87
                {
                mT__87(); 

                }
                break;
            case 76 :
                // InternalXbaseWithAnnotations.g:1:460: RULE_HEX
                {
                mRULE_HEX(); 

                }
                break;
            case 77 :
                // InternalXbaseWithAnnotations.g:1:469: RULE_INT
                {
                mRULE_INT(); 

                }
                break;
            case 78 :
                // InternalXbaseWithAnnotations.g:1:478: RULE_DECIMAL
                {
                mRULE_DECIMAL(); 

                }
                break;
            case 79 :
                // InternalXbaseWithAnnotations.g:1:491: RULE_ID
                {
                mRULE_ID(); 

                }
                break;
            case 80 :
                // InternalXbaseWithAnnotations.g:1:499: RULE_STRING
                {
                mRULE_STRING(); 

                }
                break;
            case 81 :
                // InternalXbaseWithAnnotations.g:1:511: RULE_ML_COMMENT
                {
                mRULE_ML_COMMENT(); 

                }
                break;
            case 82 :
                // InternalXbaseWithAnnotations.g:1:527: RULE_SL_COMMENT
                {
                mRULE_SL_COMMENT(); 

                }
                break;
            case 83 :
                // InternalXbaseWithAnnotations.g:1:543: RULE_WS
                {
                mRULE_WS(); 

                }
                break;
            case 84 :
                // InternalXbaseWithAnnotations.g:1:551: RULE_ANY_OTHER
                {
                mRULE_ANY_OTHER(); 

                }
                break;

        }

    }
315091
public final void ruleXVariableDeclaration() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1121:2: ( ( ( rule__XVariableDeclaration__Group__0 ) ) )
            // InternalXbase.g:1122:2: ( ( rule__XVariableDeclaration__Group__0 ) )
            {
            // InternalXbase.g:1122:2: ( ( rule__XVariableDeclaration__Group__0 ) )
            // InternalXbase.g:1123:3: ( rule__XVariableDeclaration__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXVariableDeclarationAccess().getGroup()); 
            }
            // InternalXbase.g:1124:3: ( rule__XVariableDeclaration__Group__0 )
            // InternalXbase.g:1124:4: rule__XVariableDeclaration__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XVariableDeclaration__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXVariableDeclarationAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
585790
@Override
	public void mTokens() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:8: ( WS | FLOAT | HEX | DECIMAL | STRING | TIME_INTERVAL | BOOL | NULL | AT | PLUS_ASSIGN | MINUS_ASSIGN | MULT_ASSIGN | DIV_ASSIGN | AND_ASSIGN | OR_ASSIGN | XOR_ASSIGN | MOD_ASSIGN | UNIFY | DECR | INCR | ARROW | SEMICOLON | COLON | EQUALS | NOT_EQUALS | GREATER_EQUALS | LESS_EQUALS | GREATER | LESS | EQUALS_ASSIGN | LEFT_PAREN | RIGHT_PAREN | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | COMMA | DOT | NULL_SAFE_DOT | DOUBLE_AMPER | DOUBLE_PIPE | QUESTION | NEGATION | TILDE | PIPE | AMPER | XOR | MOD | STAR | MINUS | PLUS | HASH | C_STYLE_SINGLE_LINE_COMMENT | MULTI_LINE_COMMENT | ID | DIV | MISC )
		int alt63=57;
		alt63 = dfa63.predict(input);
		switch (alt63) {
			case 1 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:10: WS
				{
				mWS(); if (state.failed) return;

				}
				break;
			case 2 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:13: FLOAT
				{
				mFLOAT(); if (state.failed) return;

				}
				break;
			case 3 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:19: HEX
				{
				mHEX(); if (state.failed) return;

				}
				break;
			case 4 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:23: DECIMAL
				{
				mDECIMAL(); if (state.failed) return;

				}
				break;
			case 5 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:31: STRING
				{
				mSTRING(); if (state.failed) return;

				}
				break;
			case 6 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:38: TIME_INTERVAL
				{
				mTIME_INTERVAL(); if (state.failed) return;

				}
				break;
			case 7 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:52: BOOL
				{
				mBOOL(); if (state.failed) return;

				}
				break;
			case 8 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:57: NULL
				{
				mNULL(); if (state.failed) return;

				}
				break;
			case 9 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:62: AT
				{
				mAT(); if (state.failed) return;

				}
				break;
			case 10 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:65: PLUS_ASSIGN
				{
				mPLUS_ASSIGN(); if (state.failed) return;

				}
				break;
			case 11 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:77: MINUS_ASSIGN
				{
				mMINUS_ASSIGN(); if (state.failed) return;

				}
				break;
			case 12 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:90: MULT_ASSIGN
				{
				mMULT_ASSIGN(); if (state.failed) return;

				}
				break;
			case 13 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:102: DIV_ASSIGN
				{
				mDIV_ASSIGN(); if (state.failed) return;

				}
				break;
			case 14 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:113: AND_ASSIGN
				{
				mAND_ASSIGN(); if (state.failed) return;

				}
				break;
			case 15 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:124: OR_ASSIGN
				{
				mOR_ASSIGN(); if (state.failed) return;

				}
				break;
			case 16 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:134: XOR_ASSIGN
				{
				mXOR_ASSIGN(); if (state.failed) return;

				}
				break;
			case 17 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:145: MOD_ASSIGN
				{
				mMOD_ASSIGN(); if (state.failed) return;

				}
				break;
			case 18 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:156: UNIFY
				{
				mUNIFY(); if (state.failed) return;

				}
				break;
			case 19 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:162: DECR
				{
				mDECR(); if (state.failed) return;

				}
				break;
			case 20 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:167: INCR
				{
				mINCR(); if (state.failed) return;

				}
				break;
			case 21 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:172: ARROW
				{
				mARROW(); if (state.failed) return;

				}
				break;
			case 22 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:178: SEMICOLON
				{
				mSEMICOLON(); if (state.failed) return;

				}
				break;
			case 23 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:188: COLON
				{
				mCOLON(); if (state.failed) return;

				}
				break;
			case 24 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:194: EQUALS
				{
				mEQUALS(); if (state.failed) return;

				}
				break;
			case 25 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:201: NOT_EQUALS
				{
				mNOT_EQUALS(); if (state.failed) return;

				}
				break;
			case 26 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:212: GREATER_EQUALS
				{
				mGREATER_EQUALS(); if (state.failed) return;

				}
				break;
			case 27 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:227: LESS_EQUALS
				{
				mLESS_EQUALS(); if (state.failed) return;

				}
				break;
			case 28 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:239: GREATER
				{
				mGREATER(); if (state.failed) return;

				}
				break;
			case 29 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:247: LESS
				{
				mLESS(); if (state.failed) return;

				}
				break;
			case 30 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:252: EQUALS_ASSIGN
				{
				mEQUALS_ASSIGN(); if (state.failed) return;

				}
				break;
			case 31 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:266: LEFT_PAREN
				{
				mLEFT_PAREN(); if (state.failed) return;

				}
				break;
			case 32 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:277: RIGHT_PAREN
				{
				mRIGHT_PAREN(); if (state.failed) return;

				}
				break;
			case 33 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:289: LEFT_SQUARE
				{
				mLEFT_SQUARE(); if (state.failed) return;

				}
				break;
			case 34 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:301: RIGHT_SQUARE
				{
				mRIGHT_SQUARE(); if (state.failed) return;

				}
				break;
			case 35 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:314: LEFT_CURLY
				{
				mLEFT_CURLY(); if (state.failed) return;

				}
				break;
			case 36 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:325: RIGHT_CURLY
				{
				mRIGHT_CURLY(); if (state.failed) return;

				}
				break;
			case 37 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:337: COMMA
				{
				mCOMMA(); if (state.failed) return;

				}
				break;
			case 38 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:343: DOT
				{
				mDOT(); if (state.failed) return;

				}
				break;
			case 39 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:347: NULL_SAFE_DOT
				{
				mNULL_SAFE_DOT(); if (state.failed) return;

				}
				break;
			case 40 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:361: DOUBLE_AMPER
				{
				mDOUBLE_AMPER(); if (state.failed) return;

				}
				break;
			case 41 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:374: DOUBLE_PIPE
				{
				mDOUBLE_PIPE(); if (state.failed) return;

				}
				break;
			case 42 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:386: QUESTION
				{
				mQUESTION(); if (state.failed) return;

				}
				break;
			case 43 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:395: NEGATION
				{
				mNEGATION(); if (state.failed) return;

				}
				break;
			case 44 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:404: TILDE
				{
				mTILDE(); if (state.failed) return;

				}
				break;
			case 45 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:410: PIPE
				{
				mPIPE(); if (state.failed) return;

				}
				break;
			case 46 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:415: AMPER
				{
				mAMPER(); if (state.failed) return;

				}
				break;
			case 47 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:421: XOR
				{
				mXOR(); if (state.failed) return;

				}
				break;
			case 48 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:425: MOD
				{
				mMOD(); if (state.failed) return;

				}
				break;
			case 49 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:429: STAR
				{
				mSTAR(); if (state.failed) return;

				}
				break;
			case 50 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:434: MINUS
				{
				mMINUS(); if (state.failed) return;

				}
				break;
			case 51 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:440: PLUS
				{
				mPLUS(); if (state.failed) return;

				}
				break;
			case 52 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:445: HASH
				{
				mHASH(); if (state.failed) return;

				}
				break;
			case 53 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:450: C_STYLE_SINGLE_LINE_COMMENT
				{
				mC_STYLE_SINGLE_LINE_COMMENT(); if (state.failed) return;

				}
				break;
			case 54 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:478: MULTI_LINE_COMMENT
				{
				mMULTI_LINE_COMMENT(); if (state.failed) return;

				}
				break;
			case 55 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:497: ID
				{
				mID(); if (state.failed) return;

				}
				break;
			case 56 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:500: DIV
				{
				mDIV(); if (state.failed) return;

				}
				break;
			case 57 :
				// src/main/resources/org/drools/compiler/lang/DRL5Lexer.g:1:504: MISC
				{
				mMISC(); if (state.failed) return;

				}
				break;

		}
	}
199860
public final void ruleLiteralCondition() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:608:2: ( ( ( rule__LiteralCondition__Group__0 ) ) )
            // InternalXtext.g:609:2: ( ( rule__LiteralCondition__Group__0 ) )
            {
            // InternalXtext.g:609:2: ( ( rule__LiteralCondition__Group__0 ) )
            // InternalXtext.g:610:3: ( rule__LiteralCondition__Group__0 )
            {
             before(grammarAccess.getLiteralConditionAccess().getGroup()); 
            // InternalXtext.g:611:3: ( rule__LiteralCondition__Group__0 )
            // InternalXtext.g:611:4: rule__LiteralCondition__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__LiteralCondition__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getLiteralConditionAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1235600
public final void mT__18() throws RecognitionException {
        try {
            int _type = T__18;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // InternalXbase.g:16:7: ( '*=' )
            // InternalXbase.g:16:9: '*='
            {
            match("*="); 


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
961441
public final void ruleAlternatives() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:333:2: ( ( ( rule__Alternatives__Group__0 ) ) )
            // InternalXtext.g:334:2: ( ( rule__Alternatives__Group__0 ) )
            {
            // InternalXtext.g:334:2: ( ( rule__Alternatives__Group__0 ) )
            // InternalXtext.g:335:3: ( rule__Alternatives__Group__0 )
            {
             before(grammarAccess.getAlternativesAccess().getGroup()); 
            // InternalXtext.g:336:3: ( rule__Alternatives__Group__0 )
            // InternalXtext.g:336:4: rule__Alternatives__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__Alternatives__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getAlternativesAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
792125
@Override
	public void mTokens() throws RecognitionException {
		// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:8: ( WS | EOL | LEFT_SQUARE | RIGHT_SQUARE | LEFT_CURLY | RIGHT_CURLY | EQUALS | DOT | COLON | COMMA | LITERAL )
		int alt4=11;
		int LA4_0 = input.LA(1);
		if ( (LA4_0=='\t'||LA4_0=='\f'||LA4_0==' ') ) {
			alt4=1;
		}
		else if ( (LA4_0=='\n'||LA4_0=='\r') ) {
			alt4=2;
		}
		else if ( (LA4_0=='[') ) {
			alt4=3;
		}
		else if ( (LA4_0==']') ) {
			alt4=4;
		}
		else if ( (LA4_0=='{') ) {
			alt4=5;
		}
		else if ( (LA4_0=='}') ) {
			alt4=6;
		}
		else if ( (LA4_0=='=') ) {
			alt4=7;
		}
		else if ( (LA4_0=='.') ) {
			int LA4_8 = input.LA(2);
			if ( ((LA4_8 >= '\u0000' && LA4_8 <= '\b')||(LA4_8 >= '\u000E' && LA4_8 <= '\u001B')||(LA4_8 >= '!' && LA4_8 <= '9')||(LA4_8 >= ';' && LA4_8 <= '<')||(LA4_8 >= '>' && LA4_8 <= 'Z')||LA4_8=='\\'||(LA4_8 >= '^' && LA4_8 <= '_')||(LA4_8 >= 'a' && LA4_8 <= 'z')||LA4_8=='|'||(LA4_8 >= '~' && LA4_8 <= '\u009F')||(LA4_8 >= '\u00A2' && LA4_8 <= '\u00A5')||LA4_8=='\u00AA'||LA4_8=='\u00AD'||LA4_8=='\u00B5'||LA4_8=='\u00BA'||(LA4_8 >= '\u00C0' && LA4_8 <= '\u00D6')||(LA4_8 >= '\u00D8' && LA4_8 <= '\u00F6')||(LA4_8 >= '\u00F8' && LA4_8 <= '\u0236')||(LA4_8 >= '\u0250' && LA4_8 <= '\u02C1')||(LA4_8 >= '\u02C6' && LA4_8 <= '\u02D1')||(LA4_8 >= '\u02E0' && LA4_8 <= '\u02E4')||LA4_8=='\u02EE'||(LA4_8 >= '\u0300' && LA4_8 <= '\u0357')||(LA4_8 >= '\u035D' && LA4_8 <= '\u036F')||LA4_8=='\u037A'||LA4_8=='\u0386'||(LA4_8 >= '\u0388' && LA4_8 <= '\u038A')||LA4_8=='\u038C'||(LA4_8 >= '\u038E' && LA4_8 <= '\u03A1')||(LA4_8 >= '\u03A3' && LA4_8 <= '\u03CE')||(LA4_8 >= '\u03D0' && LA4_8 <= '\u03F5')||(LA4_8 >= '\u03F7' && LA4_8 <= '\u03FB')||(LA4_8 >= '\u0400' && LA4_8 <= '\u0481')||(LA4_8 >= '\u0483' && LA4_8 <= '\u0486')||(LA4_8 >= '\u048A' && LA4_8 <= '\u04CE')||(LA4_8 >= '\u04D0' && LA4_8 <= '\u04F5')||(LA4_8 >= '\u04F8' && LA4_8 <= '\u04F9')||(LA4_8 >= '\u0500' && LA4_8 <= '\u050F')||(LA4_8 >= '\u0531' && LA4_8 <= '\u0556')||LA4_8=='\u0559'||(LA4_8 >= '\u0561' && LA4_8 <= '\u0587')||(LA4_8 >= '\u0591' && LA4_8 <= '\u05A1')||(LA4_8 >= '\u05A3' && LA4_8 <= '\u05B9')||(LA4_8 >= '\u05BB' && LA4_8 <= '\u05BD')||LA4_8=='\u05BF'||(LA4_8 >= '\u05C1' && LA4_8 <= '\u05C2')||LA4_8=='\u05C4'||(LA4_8 >= '\u05D0' && LA4_8 <= '\u05EA')||(LA4_8 >= '\u05F0' && LA4_8 <= '\u05F2')||(LA4_8 >= '\u0600' && LA4_8 <= '\u0603')||(LA4_8 >= '\u0610' && LA4_8 <= '\u0615')||(LA4_8 >= '\u0621' && LA4_8 <= '\u063A')||(LA4_8 >= '\u0640' && LA4_8 <= '\u0658')||(LA4_8 >= '\u0660' && LA4_8 <= '\u0669')||(LA4_8 >= '\u066E' && LA4_8 <= '\u06D3')||(LA4_8 >= '\u06D5' && LA4_8 <= '\u06DD')||(LA4_8 >= '\u06DF' && LA4_8 <= '\u06E8')||(LA4_8 >= '\u06EA' && LA4_8 <= '\u06FC')||LA4_8=='\u06FF'||(LA4_8 >= '\u070F' && LA4_8 <= '\u074A')||(LA4_8 >= '\u074D' && LA4_8 <= '\u074F')||(LA4_8 >= '\u0780' && LA4_8 <= '\u07B1')||(LA4_8 >= '\u0901' && LA4_8 <= '\u0939')||(LA4_8 >= '\u093C' && LA4_8 <= '\u094D')||(LA4_8 >= '\u0950' && LA4_8 <= '\u0954')||(LA4_8 >= '\u0958' && LA4_8 <= '\u0963')||(LA4_8 >= '\u0966' && LA4_8 <= '\u096F')||(LA4_8 >= '\u0981' && LA4_8 <= '\u0983')||(LA4_8 >= '\u0985' && LA4_8 <= '\u098C')||(LA4_8 >= '\u098F' && LA4_8 <= '\u0990')||(LA4_8 >= '\u0993' && LA4_8 <= '\u09A8')||(LA4_8 >= '\u09AA' && LA4_8 <= '\u09B0')||LA4_8=='\u09B2'||(LA4_8 >= '\u09B6' && LA4_8 <= '\u09B9')||(LA4_8 >= '\u09BC' && LA4_8 <= '\u09C4')||(LA4_8 >= '\u09C7' && LA4_8 <= '\u09C8')||(LA4_8 >= '\u09CB' && LA4_8 <= '\u09CD')||LA4_8=='\u09D7'||(LA4_8 >= '\u09DC' && LA4_8 <= '\u09DD')||(LA4_8 >= '\u09DF' && LA4_8 <= '\u09E3')||(LA4_8 >= '\u09E6' && LA4_8 <= '\u09F3')||(LA4_8 >= '\u0A01' && LA4_8 <= '\u0A03')||(LA4_8 >= '\u0A05' && LA4_8 <= '\u0A0A')||(LA4_8 >= '\u0A0F' && LA4_8 <= '\u0A10')||(LA4_8 >= '\u0A13' && LA4_8 <= '\u0A28')||(LA4_8 >= '\u0A2A' && LA4_8 <= '\u0A30')||(LA4_8 >= '\u0A32' && LA4_8 <= '\u0A33')||(LA4_8 >= '\u0A35' && LA4_8 <= '\u0A36')||(LA4_8 >= '\u0A38' && LA4_8 <= '\u0A39')||LA4_8=='\u0A3C'||(LA4_8 >= '\u0A3E' && LA4_8 <= '\u0A42')||(LA4_8 >= '\u0A47' && LA4_8 <= '\u0A48')||(LA4_8 >= '\u0A4B' && LA4_8 <= '\u0A4D')||(LA4_8 >= '\u0A59' && LA4_8 <= '\u0A5C')||LA4_8=='\u0A5E'||(LA4_8 >= '\u0A66' && LA4_8 <= '\u0A74')||(LA4_8 >= '\u0A81' && LA4_8 <= '\u0A83')||(LA4_8 >= '\u0A85' && LA4_8 <= '\u0A8D')||(LA4_8 >= '\u0A8F' && LA4_8 <= '\u0A91')||(LA4_8 >= '\u0A93' && LA4_8 <= '\u0AA8')||(LA4_8 >= '\u0AAA' && LA4_8 <= '\u0AB0')||(LA4_8 >= '\u0AB2' && LA4_8 <= '\u0AB3')||(LA4_8 >= '\u0AB5' && LA4_8 <= '\u0AB9')||(LA4_8 >= '\u0ABC' && LA4_8 <= '\u0AC5')||(LA4_8 >= '\u0AC7' && LA4_8 <= '\u0AC9')||(LA4_8 >= '\u0ACB' && LA4_8 <= '\u0ACD')||LA4_8=='\u0AD0'||(LA4_8 >= '\u0AE0' && LA4_8 <= '\u0AE3')||(LA4_8 >= '\u0AE6' && LA4_8 <= '\u0AEF')||LA4_8=='\u0AF1'||(LA4_8 >= '\u0B01' && LA4_8 <= '\u0B03')||(LA4_8 >= '\u0B05' && LA4_8 <= '\u0B0C')||(LA4_8 >= '\u0B0F' && LA4_8 <= '\u0B10')||(LA4_8 >= '\u0B13' && LA4_8 <= '\u0B28')||(LA4_8 >= '\u0B2A' && LA4_8 <= '\u0B30')||(LA4_8 >= '\u0B32' && LA4_8 <= '\u0B33')||(LA4_8 >= '\u0B35' && LA4_8 <= '\u0B39')||(LA4_8 >= '\u0B3C' && LA4_8 <= '\u0B43')||(LA4_8 >= '\u0B47' && LA4_8 <= '\u0B48')||(LA4_8 >= '\u0B4B' && LA4_8 <= '\u0B4D')||(LA4_8 >= '\u0B56' && LA4_8 <= '\u0B57')||(LA4_8 >= '\u0B5C' && LA4_8 <= '\u0B5D')||(LA4_8 >= '\u0B5F' && LA4_8 <= '\u0B61')||(LA4_8 >= '\u0B66' && LA4_8 <= '\u0B6F')||LA4_8=='\u0B71'||(LA4_8 >= '\u0B82' && LA4_8 <= '\u0B83')||(LA4_8 >= '\u0B85' && LA4_8 <= '\u0B8A')||(LA4_8 >= '\u0B8E' && LA4_8 <= '\u0B90')||(LA4_8 >= '\u0B92' && LA4_8 <= '\u0B95')||(LA4_8 >= '\u0B99' && LA4_8 <= '\u0B9A')||LA4_8=='\u0B9C'||(LA4_8 >= '\u0B9E' && LA4_8 <= '\u0B9F')||(LA4_8 >= '\u0BA3' && LA4_8 <= '\u0BA4')||(LA4_8 >= '\u0BA8' && LA4_8 <= '\u0BAA')||(LA4_8 >= '\u0BAE' && LA4_8 <= '\u0BB5')||(LA4_8 >= '\u0BB7' && LA4_8 <= '\u0BB9')||(LA4_8 >= '\u0BBE' && LA4_8 <= '\u0BC2')||(LA4_8 >= '\u0BC6' && LA4_8 <= '\u0BC8')||(LA4_8 >= '\u0BCA' && LA4_8 <= '\u0BCD')||LA4_8=='\u0BD7'||(LA4_8 >= '\u0BE7' && LA4_8 <= '\u0BEF')||LA4_8=='\u0BF9'||(LA4_8 >= '\u0C01' && LA4_8 <= '\u0C03')||(LA4_8 >= '\u0C05' && LA4_8 <= '\u0C0C')||(LA4_8 >= '\u0C0E' && LA4_8 <= '\u0C10')||(LA4_8 >= '\u0C12' && LA4_8 <= '\u0C28')||(LA4_8 >= '\u0C2A' && LA4_8 <= '\u0C33')||(LA4_8 >= '\u0C35' && LA4_8 <= '\u0C39')||(LA4_8 >= '\u0C3E' && LA4_8 <= '\u0C44')||(LA4_8 >= '\u0C46' && LA4_8 <= '\u0C48')||(LA4_8 >= '\u0C4A' && LA4_8 <= '\u0C4D')||(LA4_8 >= '\u0C55' && LA4_8 <= '\u0C56')||(LA4_8 >= '\u0C60' && LA4_8 <= '\u0C61')||(LA4_8 >= '\u0C66' && LA4_8 <= '\u0C6F')||(LA4_8 >= '\u0C82' && LA4_8 <= '\u0C83')||(LA4_8 >= '\u0C85' && LA4_8 <= '\u0C8C')||(LA4_8 >= '\u0C8E' && LA4_8 <= '\u0C90')||(LA4_8 >= '\u0C92' && LA4_8 <= '\u0CA8')||(LA4_8 >= '\u0CAA' && LA4_8 <= '\u0CB3')||(LA4_8 >= '\u0CB5' && LA4_8 <= '\u0CB9')||(LA4_8 >= '\u0CBC' && LA4_8 <= '\u0CC4')||(LA4_8 >= '\u0CC6' && LA4_8 <= '\u0CC8')||(LA4_8 >= '\u0CCA' && LA4_8 <= '\u0CCD')||(LA4_8 >= '\u0CD5' && LA4_8 <= '\u0CD6')||LA4_8=='\u0CDE'||(LA4_8 >= '\u0CE0' && LA4_8 <= '\u0CE1')||(LA4_8 >= '\u0CE6' && LA4_8 <= '\u0CEF')||(LA4_8 >= '\u0D02' && LA4_8 <= '\u0D03')||(LA4_8 >= '\u0D05' && LA4_8 <= '\u0D0C')||(LA4_8 >= '\u0D0E' && LA4_8 <= '\u0D10')||(LA4_8 >= '\u0D12' && LA4_8 <= '\u0D28')||(LA4_8 >= '\u0D2A' && LA4_8 <= '\u0D39')||(LA4_8 >= '\u0D3E' && LA4_8 <= '\u0D43')||(LA4_8 >= '\u0D46' && LA4_8 <= '\u0D48')||(LA4_8 >= '\u0D4A' && LA4_8 <= '\u0D4D')||LA4_8=='\u0D57'||(LA4_8 >= '\u0D60' && LA4_8 <= '\u0D61')||(LA4_8 >= '\u0D66' && LA4_8 <= '\u0D6F')||(LA4_8 >= '\u0D82' && LA4_8 <= '\u0D83')||(LA4_8 >= '\u0D85' && LA4_8 <= '\u0D96')||(LA4_8 >= '\u0D9A' && LA4_8 <= '\u0DB1')||(LA4_8 >= '\u0DB3' && LA4_8 <= '\u0DBB')||LA4_8=='\u0DBD'||(LA4_8 >= '\u0DC0' && LA4_8 <= '\u0DC6')||LA4_8=='\u0DCA'||(LA4_8 >= '\u0DCF' && LA4_8 <= '\u0DD4')||LA4_8=='\u0DD6'||(LA4_8 >= '\u0DD8' && LA4_8 <= '\u0DDF')||(LA4_8 >= '\u0DF2' && LA4_8 <= '\u0DF3')||(LA4_8 >= '\u0E01' && LA4_8 <= '\u0E3A')||(LA4_8 >= '\u0E3F' && LA4_8 <= '\u0E4E')||(LA4_8 >= '\u0E50' && LA4_8 <= '\u0E59')||(LA4_8 >= '\u0E81' && LA4_8 <= '\u0E82')||LA4_8=='\u0E84'||(LA4_8 >= '\u0E87' && LA4_8 <= '\u0E88')||LA4_8=='\u0E8A'||LA4_8=='\u0E8D'||(LA4_8 >= '\u0E94' && LA4_8 <= '\u0E97')||(LA4_8 >= '\u0E99' && LA4_8 <= '\u0E9F')||(LA4_8 >= '\u0EA1' && LA4_8 <= '\u0EA3')||LA4_8=='\u0EA5'||LA4_8=='\u0EA7'||(LA4_8 >= '\u0EAA' && LA4_8 <= '\u0EAB')||(LA4_8 >= '\u0EAD' && LA4_8 <= '\u0EB9')||(LA4_8 >= '\u0EBB' && LA4_8 <= '\u0EBD')||(LA4_8 >= '\u0EC0' && LA4_8 <= '\u0EC4')||LA4_8=='\u0EC6'||(LA4_8 >= '\u0EC8' && LA4_8 <= '\u0ECD')||(LA4_8 >= '\u0ED0' && LA4_8 <= '\u0ED9')||(LA4_8 >= '\u0EDC' && LA4_8 <= '\u0EDD')||LA4_8=='\u0F00'||(LA4_8 >= '\u0F18' && LA4_8 <= '\u0F19')||(LA4_8 >= '\u0F20' && LA4_8 <= '\u0F29')||LA4_8=='\u0F35'||LA4_8=='\u0F37'||LA4_8=='\u0F39'||(LA4_8 >= '\u0F3E' && LA4_8 <= '\u0F47')||(LA4_8 >= '\u0F49' && LA4_8 <= '\u0F6A')||(LA4_8 >= '\u0F71' && LA4_8 <= '\u0F84')||(LA4_8 >= '\u0F86' && LA4_8 <= '\u0F8B')||(LA4_8 >= '\u0F90' && LA4_8 <= '\u0F97')||(LA4_8 >= '\u0F99' && LA4_8 <= '\u0FBC')||LA4_8=='\u0FC6'||(LA4_8 >= '\u1000' && LA4_8 <= '\u1021')||(LA4_8 >= '\u1023' && LA4_8 <= '\u1027')||(LA4_8 >= '\u1029' && LA4_8 <= '\u102A')||(LA4_8 >= '\u102C' && LA4_8 <= '\u1032')||(LA4_8 >= '\u1036' && LA4_8 <= '\u1039')||(LA4_8 >= '\u1040' && LA4_8 <= '\u1049')||(LA4_8 >= '\u1050' && LA4_8 <= '\u1059')||(LA4_8 >= '\u10A0' && LA4_8 <= '\u10C5')||(LA4_8 >= '\u10D0' && LA4_8 <= '\u10F8')||(LA4_8 >= '\u1100' && LA4_8 <= '\u1159')||(LA4_8 >= '\u115F' && LA4_8 <= '\u11A2')||(LA4_8 >= '\u11A8' && LA4_8 <= '\u11F9')||(LA4_8 >= '\u1200' && LA4_8 <= '\u1206')||(LA4_8 >= '\u1208' && LA4_8 <= '\u1246')||LA4_8=='\u1248'||(LA4_8 >= '\u124A' && LA4_8 <= '\u124D')||(LA4_8 >= '\u1250' && LA4_8 <= '\u1256')||LA4_8=='\u1258'||(LA4_8 >= '\u125A' && LA4_8 <= '\u125D')||(LA4_8 >= '\u1260' && LA4_8 <= '\u1286')||LA4_8=='\u1288'||(LA4_8 >= '\u128A' && LA4_8 <= '\u128D')||(LA4_8 >= '\u1290' && LA4_8 <= '\u12AE')||LA4_8=='\u12B0'||(LA4_8 >= '\u12B2' && LA4_8 <= '\u12B5')||(LA4_8 >= '\u12B8' && LA4_8 <= '\u12BE')||LA4_8=='\u12C0'||(LA4_8 >= '\u12C2' && LA4_8 <= '\u12C5')||(LA4_8 >= '\u12C8' && LA4_8 <= '\u12CE')||(LA4_8 >= '\u12D0' && LA4_8 <= '\u12D6')||(LA4_8 >= '\u12D8' && LA4_8 <= '\u12EE')||(LA4_8 >= '\u12F0' && LA4_8 <= '\u130E')||LA4_8=='\u1310'||(LA4_8 >= '\u1312' && LA4_8 <= '\u1315')||(LA4_8 >= '\u1318' && LA4_8 <= '\u131E')||(LA4_8 >= '\u1320' && LA4_8 <= '\u1346')||(LA4_8 >= '\u1348' && LA4_8 <= '\u135A')||(LA4_8 >= '\u1369' && LA4_8 <= '\u1371')||(LA4_8 >= '\u13A0' && LA4_8 <= '\u13F4')||(LA4_8 >= '\u1401' && LA4_8 <= '\u166C')||(LA4_8 >= '\u166F' && LA4_8 <= '\u1676')||(LA4_8 >= '\u1681' && LA4_8 <= '\u169A')||(LA4_8 >= '\u16A0' && LA4_8 <= '\u16EA')||(LA4_8 >= '\u16EE' && LA4_8 <= '\u16F0')||(LA4_8 >= '\u1700' && LA4_8 <= '\u170C')||(LA4_8 >= '\u170E' && LA4_8 <= '\u1714')||(LA4_8 >= '\u1720' && LA4_8 <= '\u1734')||(LA4_8 >= '\u1740' && LA4_8 <= '\u1753')||(LA4_8 >= '\u1760' && LA4_8 <= '\u176C')||(LA4_8 >= '\u176E' && LA4_8 <= '\u1770')||(LA4_8 >= '\u1772' && LA4_8 <= '\u1773')||(LA4_8 >= '\u1780' && LA4_8 <= '\u17D3')||LA4_8=='\u17D7'||(LA4_8 >= '\u17DB' && LA4_8 <= '\u17DD')||(LA4_8 >= '\u17E0' && LA4_8 <= '\u17E9')||(LA4_8 >= '\u180B' && LA4_8 <= '\u180D')||(LA4_8 >= '\u1810' && LA4_8 <= '\u1819')||(LA4_8 >= '\u1820' && LA4_8 <= '\u1877')||(LA4_8 >= '\u1880' && LA4_8 <= '\u18A9')||(LA4_8 >= '\u1900' && LA4_8 <= '\u191C')||(LA4_8 >= '\u1920' && LA4_8 <= '\u192B')||(LA4_8 >= '\u1930' && LA4_8 <= '\u193B')||(LA4_8 >= '\u1946' && LA4_8 <= '\u196D')||(LA4_8 >= '\u1970' && LA4_8 <= '\u1974')||(LA4_8 >= '\u1D00' && LA4_8 <= '\u1D6B')||(LA4_8 >= '\u1E00' && LA4_8 <= '\u1E9B')||(LA4_8 >= '\u1EA0' && LA4_8 <= '\u1EF9')||(LA4_8 >= '\u1F00' && LA4_8 <= '\u1F15')||(LA4_8 >= '\u1F18' && LA4_8 <= '\u1F1D')||(LA4_8 >= '\u1F20' && LA4_8 <= '\u1F45')||(LA4_8 >= '\u1F48' && LA4_8 <= '\u1F4D')||(LA4_8 >= '\u1F50' && LA4_8 <= '\u1F57')||LA4_8=='\u1F59'||LA4_8=='\u1F5B'||LA4_8=='\u1F5D'||(LA4_8 >= '\u1F5F' && LA4_8 <= '\u1F7D')||(LA4_8 >= '\u1F80' && LA4_8 <= '\u1FB4')||(LA4_8 >= '\u1FB6' && LA4_8 <= '\u1FBC')||LA4_8=='\u1FBE'||(LA4_8 >= '\u1FC2' && LA4_8 <= '\u1FC4')||(LA4_8 >= '\u1FC6' && LA4_8 <= '\u1FCC')||(LA4_8 >= '\u1FD0' && LA4_8 <= '\u1FD3')||(LA4_8 >= '\u1FD6' && LA4_8 <= '\u1FDB')||(LA4_8 >= '\u1FE0' && LA4_8 <= '\u1FEC')||(LA4_8 >= '\u1FF2' && LA4_8 <= '\u1FF4')||(LA4_8 >= '\u1FF6' && LA4_8 <= '\u1FFC')||(LA4_8 >= '\u200C' && LA4_8 <= '\u200F')||(LA4_8 >= '\u202A' && LA4_8 <= '\u202E')||(LA4_8 >= '\u203F' && LA4_8 <= '\u2040')||LA4_8=='\u2054'||(LA4_8 >= '\u2060' && LA4_8 <= '\u2063')||(LA4_8 >= '\u206A' && LA4_8 <= '\u206F')||LA4_8=='\u2071'||LA4_8=='\u207F'||(LA4_8 >= '\u20A0' && LA4_8 <= '\u20B1')||(LA4_8 >= '\u20D0' && LA4_8 <= '\u20DC')||LA4_8=='\u20E1'||(LA4_8 >= '\u20E5' && LA4_8 <= '\u20EA')||LA4_8=='\u2102'||LA4_8=='\u2107'||(LA4_8 >= '\u210A' && LA4_8 <= '\u2113')||LA4_8=='\u2115'||(LA4_8 >= '\u2119' && LA4_8 <= '\u211D')||LA4_8=='\u2124'||LA4_8=='\u2126'||LA4_8=='\u2128'||(LA4_8 >= '\u212A' && LA4_8 <= '\u212D')||(LA4_8 >= '\u212F' && LA4_8 <= '\u2131')||(LA4_8 >= '\u2133' && LA4_8 <= '\u2139')||(LA4_8 >= '\u213D' && LA4_8 <= '\u213F')||(LA4_8 >= '\u2145' && LA4_8 <= '\u2149')||(LA4_8 >= '\u2160' && LA4_8 <= '\u2183')||LA4_8=='\u3000'||(LA4_8 >= '\u3005' && LA4_8 <= '\u3007')||(LA4_8 >= '\u3021' && LA4_8 <= '\u302F')||(LA4_8 >= '\u3031' && LA4_8 <= '\u3035')||(LA4_8 >= '\u3038' && LA4_8 <= '\u303C')||(LA4_8 >= '\u3041' && LA4_8 <= '\u3096')||(LA4_8 >= '\u3099' && LA4_8 <= '\u309A')||(LA4_8 >= '\u309D' && LA4_8 <= '\u309F')||(LA4_8 >= '\u30A1' && LA4_8 <= '\u30FF')||(LA4_8 >= '\u3105' && LA4_8 <= '\u312C')||(LA4_8 >= '\u3131' && LA4_8 <= '\u318E')||(LA4_8 >= '\u31A0' && LA4_8 <= '\u31B7')||(LA4_8 >= '\u31F0' && LA4_8 <= '\u31FF')||(LA4_8 >= '\u3400' && LA4_8 <= '\u4DB5')||(LA4_8 >= '\u4E00' && LA4_8 <= '\u9FA5')||(LA4_8 >= '\uA000' && LA4_8 <= '\uA48C')||(LA4_8 >= '\uAC00' && LA4_8 <= '\uD7A3')||(LA4_8 >= '\uF900' && LA4_8 <= '\uFA2D')||(LA4_8 >= '\uFA30' && LA4_8 <= '\uFA6A')||(LA4_8 >= '\uFB00' && LA4_8 <= '\uFB06')||(LA4_8 >= '\uFB13' && LA4_8 <= '\uFB17')||(LA4_8 >= '\uFB1D' && LA4_8 <= '\uFB28')||(LA4_8 >= '\uFB2A' && LA4_8 <= '\uFB36')||(LA4_8 >= '\uFB38' && LA4_8 <= '\uFB3C')||LA4_8=='\uFB3E'||(LA4_8 >= '\uFB40' && LA4_8 <= '\uFB41')||(LA4_8 >= '\uFB43' && LA4_8 <= '\uFB44')||(LA4_8 >= '\uFB46' && LA4_8 <= '\uFBB1')||(LA4_8 >= '\uFBD3' && LA4_8 <= '\uFD3D')||(LA4_8 >= '\uFD50' && LA4_8 <= '\uFD8F')||(LA4_8 >= '\uFD92' && LA4_8 <= '\uFDC7')||(LA4_8 >= '\uFDF0' && LA4_8 <= '\uFDFC')||(LA4_8 >= '\uFE00' && LA4_8 <= '\uFE0F')||(LA4_8 >= '\uFE20' && LA4_8 <= '\uFE23')||(LA4_8 >= '\uFE33' && LA4_8 <= '\uFE34')||(LA4_8 >= '\uFE4D' && LA4_8 <= '\uFE4F')||LA4_8=='\uFE69'||(LA4_8 >= '\uFE70' && LA4_8 <= '\uFE74')||(LA4_8 >= '\uFE76' && LA4_8 <= '\uFEFC')||LA4_8=='\uFEFF'||LA4_8=='\uFF04'||(LA4_8 >= '\uFF10' && LA4_8 <= '\uFF19')||(LA4_8 >= '\uFF21' && LA4_8 <= '\uFF3A')||LA4_8=='\uFF3F'||(LA4_8 >= '\uFF41' && LA4_8 <= '\uFF5A')||(LA4_8 >= '\uFF65' && LA4_8 <= '\uFFBE')||(LA4_8 >= '\uFFC2' && LA4_8 <= '\uFFC7')||(LA4_8 >= '\uFFCA' && LA4_8 <= '\uFFCF')||(LA4_8 >= '\uFFD2' && LA4_8 <= '\uFFD7')||(LA4_8 >= '\uFFDA' && LA4_8 <= '\uFFDC')||(LA4_8 >= '\uFFE0' && LA4_8 <= '\uFFE1')||(LA4_8 >= '\uFFE5' && LA4_8 <= '\uFFE6')||(LA4_8 >= '\uFFF9' && LA4_8 <= '\uFFFB')) ) {
				alt4=11;
			}

			else {
				alt4=8;
			}

		}
		else if ( (LA4_0==':') ) {
			alt4=9;
		}
		else if ( (LA4_0==',') ) {
			int LA4_10 = input.LA(2);
			if ( ((LA4_10 >= '\u0000' && LA4_10 <= '\b')||(LA4_10 >= '\u000E' && LA4_10 <= '\u001B')||(LA4_10 >= '!' && LA4_10 <= '9')||(LA4_10 >= ';' && LA4_10 <= '<')||(LA4_10 >= '>' && LA4_10 <= 'Z')||LA4_10=='\\'||(LA4_10 >= '^' && LA4_10 <= '_')||(LA4_10 >= 'a' && LA4_10 <= 'z')||LA4_10=='|'||(LA4_10 >= '~' && LA4_10 <= '\u009F')||(LA4_10 >= '\u00A2' && LA4_10 <= '\u00A5')||LA4_10=='\u00AA'||LA4_10=='\u00AD'||LA4_10=='\u00B5'||LA4_10=='\u00BA'||(LA4_10 >= '\u00C0' && LA4_10 <= '\u00D6')||(LA4_10 >= '\u00D8' && LA4_10 <= '\u00F6')||(LA4_10 >= '\u00F8' && LA4_10 <= '\u0236')||(LA4_10 >= '\u0250' && LA4_10 <= '\u02C1')||(LA4_10 >= '\u02C6' && LA4_10 <= '\u02D1')||(LA4_10 >= '\u02E0' && LA4_10 <= '\u02E4')||LA4_10=='\u02EE'||(LA4_10 >= '\u0300' && LA4_10 <= '\u0357')||(LA4_10 >= '\u035D' && LA4_10 <= '\u036F')||LA4_10=='\u037A'||LA4_10=='\u0386'||(LA4_10 >= '\u0388' && LA4_10 <= '\u038A')||LA4_10=='\u038C'||(LA4_10 >= '\u038E' && LA4_10 <= '\u03A1')||(LA4_10 >= '\u03A3' && LA4_10 <= '\u03CE')||(LA4_10 >= '\u03D0' && LA4_10 <= '\u03F5')||(LA4_10 >= '\u03F7' && LA4_10 <= '\u03FB')||(LA4_10 >= '\u0400' && LA4_10 <= '\u0481')||(LA4_10 >= '\u0483' && LA4_10 <= '\u0486')||(LA4_10 >= '\u048A' && LA4_10 <= '\u04CE')||(LA4_10 >= '\u04D0' && LA4_10 <= '\u04F5')||(LA4_10 >= '\u04F8' && LA4_10 <= '\u04F9')||(LA4_10 >= '\u0500' && LA4_10 <= '\u050F')||(LA4_10 >= '\u0531' && LA4_10 <= '\u0556')||LA4_10=='\u0559'||(LA4_10 >= '\u0561' && LA4_10 <= '\u0587')||(LA4_10 >= '\u0591' && LA4_10 <= '\u05A1')||(LA4_10 >= '\u05A3' && LA4_10 <= '\u05B9')||(LA4_10 >= '\u05BB' && LA4_10 <= '\u05BD')||LA4_10=='\u05BF'||(LA4_10 >= '\u05C1' && LA4_10 <= '\u05C2')||LA4_10=='\u05C4'||(LA4_10 >= '\u05D0' && LA4_10 <= '\u05EA')||(LA4_10 >= '\u05F0' && LA4_10 <= '\u05F2')||(LA4_10 >= '\u0600' && LA4_10 <= '\u0603')||(LA4_10 >= '\u0610' && LA4_10 <= '\u0615')||(LA4_10 >= '\u0621' && LA4_10 <= '\u063A')||(LA4_10 >= '\u0640' && LA4_10 <= '\u0658')||(LA4_10 >= '\u0660' && LA4_10 <= '\u0669')||(LA4_10 >= '\u066E' && LA4_10 <= '\u06D3')||(LA4_10 >= '\u06D5' && LA4_10 <= '\u06DD')||(LA4_10 >= '\u06DF' && LA4_10 <= '\u06E8')||(LA4_10 >= '\u06EA' && LA4_10 <= '\u06FC')||LA4_10=='\u06FF'||(LA4_10 >= '\u070F' && LA4_10 <= '\u074A')||(LA4_10 >= '\u074D' && LA4_10 <= '\u074F')||(LA4_10 >= '\u0780' && LA4_10 <= '\u07B1')||(LA4_10 >= '\u0901' && LA4_10 <= '\u0939')||(LA4_10 >= '\u093C' && LA4_10 <= '\u094D')||(LA4_10 >= '\u0950' && LA4_10 <= '\u0954')||(LA4_10 >= '\u0958' && LA4_10 <= '\u0963')||(LA4_10 >= '\u0966' && LA4_10 <= '\u096F')||(LA4_10 >= '\u0981' && LA4_10 <= '\u0983')||(LA4_10 >= '\u0985' && LA4_10 <= '\u098C')||(LA4_10 >= '\u098F' && LA4_10 <= '\u0990')||(LA4_10 >= '\u0993' && LA4_10 <= '\u09A8')||(LA4_10 >= '\u09AA' && LA4_10 <= '\u09B0')||LA4_10=='\u09B2'||(LA4_10 >= '\u09B6' && LA4_10 <= '\u09B9')||(LA4_10 >= '\u09BC' && LA4_10 <= '\u09C4')||(LA4_10 >= '\u09C7' && LA4_10 <= '\u09C8')||(LA4_10 >= '\u09CB' && LA4_10 <= '\u09CD')||LA4_10=='\u09D7'||(LA4_10 >= '\u09DC' && LA4_10 <= '\u09DD')||(LA4_10 >= '\u09DF' && LA4_10 <= '\u09E3')||(LA4_10 >= '\u09E6' && LA4_10 <= '\u09F3')||(LA4_10 >= '\u0A01' && LA4_10 <= '\u0A03')||(LA4_10 >= '\u0A05' && LA4_10 <= '\u0A0A')||(LA4_10 >= '\u0A0F' && LA4_10 <= '\u0A10')||(LA4_10 >= '\u0A13' && LA4_10 <= '\u0A28')||(LA4_10 >= '\u0A2A' && LA4_10 <= '\u0A30')||(LA4_10 >= '\u0A32' && LA4_10 <= '\u0A33')||(LA4_10 >= '\u0A35' && LA4_10 <= '\u0A36')||(LA4_10 >= '\u0A38' && LA4_10 <= '\u0A39')||LA4_10=='\u0A3C'||(LA4_10 >= '\u0A3E' && LA4_10 <= '\u0A42')||(LA4_10 >= '\u0A47' && LA4_10 <= '\u0A48')||(LA4_10 >= '\u0A4B' && LA4_10 <= '\u0A4D')||(LA4_10 >= '\u0A59' && LA4_10 <= '\u0A5C')||LA4_10=='\u0A5E'||(LA4_10 >= '\u0A66' && LA4_10 <= '\u0A74')||(LA4_10 >= '\u0A81' && LA4_10 <= '\u0A83')||(LA4_10 >= '\u0A85' && LA4_10 <= '\u0A8D')||(LA4_10 >= '\u0A8F' && LA4_10 <= '\u0A91')||(LA4_10 >= '\u0A93' && LA4_10 <= '\u0AA8')||(LA4_10 >= '\u0AAA' && LA4_10 <= '\u0AB0')||(LA4_10 >= '\u0AB2' && LA4_10 <= '\u0AB3')||(LA4_10 >= '\u0AB5' && LA4_10 <= '\u0AB9')||(LA4_10 >= '\u0ABC' && LA4_10 <= '\u0AC5')||(LA4_10 >= '\u0AC7' && LA4_10 <= '\u0AC9')||(LA4_10 >= '\u0ACB' && LA4_10 <= '\u0ACD')||LA4_10=='\u0AD0'||(LA4_10 >= '\u0AE0' && LA4_10 <= '\u0AE3')||(LA4_10 >= '\u0AE6' && LA4_10 <= '\u0AEF')||LA4_10=='\u0AF1'||(LA4_10 >= '\u0B01' && LA4_10 <= '\u0B03')||(LA4_10 >= '\u0B05' && LA4_10 <= '\u0B0C')||(LA4_10 >= '\u0B0F' && LA4_10 <= '\u0B10')||(LA4_10 >= '\u0B13' && LA4_10 <= '\u0B28')||(LA4_10 >= '\u0B2A' && LA4_10 <= '\u0B30')||(LA4_10 >= '\u0B32' && LA4_10 <= '\u0B33')||(LA4_10 >= '\u0B35' && LA4_10 <= '\u0B39')||(LA4_10 >= '\u0B3C' && LA4_10 <= '\u0B43')||(LA4_10 >= '\u0B47' && LA4_10 <= '\u0B48')||(LA4_10 >= '\u0B4B' && LA4_10 <= '\u0B4D')||(LA4_10 >= '\u0B56' && LA4_10 <= '\u0B57')||(LA4_10 >= '\u0B5C' && LA4_10 <= '\u0B5D')||(LA4_10 >= '\u0B5F' && LA4_10 <= '\u0B61')||(LA4_10 >= '\u0B66' && LA4_10 <= '\u0B6F')||LA4_10=='\u0B71'||(LA4_10 >= '\u0B82' && LA4_10 <= '\u0B83')||(LA4_10 >= '\u0B85' && LA4_10 <= '\u0B8A')||(LA4_10 >= '\u0B8E' && LA4_10 <= '\u0B90')||(LA4_10 >= '\u0B92' && LA4_10 <= '\u0B95')||(LA4_10 >= '\u0B99' && LA4_10 <= '\u0B9A')||LA4_10=='\u0B9C'||(LA4_10 >= '\u0B9E' && LA4_10 <= '\u0B9F')||(LA4_10 >= '\u0BA3' && LA4_10 <= '\u0BA4')||(LA4_10 >= '\u0BA8' && LA4_10 <= '\u0BAA')||(LA4_10 >= '\u0BAE' && LA4_10 <= '\u0BB5')||(LA4_10 >= '\u0BB7' && LA4_10 <= '\u0BB9')||(LA4_10 >= '\u0BBE' && LA4_10 <= '\u0BC2')||(LA4_10 >= '\u0BC6' && LA4_10 <= '\u0BC8')||(LA4_10 >= '\u0BCA' && LA4_10 <= '\u0BCD')||LA4_10=='\u0BD7'||(LA4_10 >= '\u0BE7' && LA4_10 <= '\u0BEF')||LA4_10=='\u0BF9'||(LA4_10 >= '\u0C01' && LA4_10 <= '\u0C03')||(LA4_10 >= '\u0C05' && LA4_10 <= '\u0C0C')||(LA4_10 >= '\u0C0E' && LA4_10 <= '\u0C10')||(LA4_10 >= '\u0C12' && LA4_10 <= '\u0C28')||(LA4_10 >= '\u0C2A' && LA4_10 <= '\u0C33')||(LA4_10 >= '\u0C35' && LA4_10 <= '\u0C39')||(LA4_10 >= '\u0C3E' && LA4_10 <= '\u0C44')||(LA4_10 >= '\u0C46' && LA4_10 <= '\u0C48')||(LA4_10 >= '\u0C4A' && LA4_10 <= '\u0C4D')||(LA4_10 >= '\u0C55' && LA4_10 <= '\u0C56')||(LA4_10 >= '\u0C60' && LA4_10 <= '\u0C61')||(LA4_10 >= '\u0C66' && LA4_10 <= '\u0C6F')||(LA4_10 >= '\u0C82' && LA4_10 <= '\u0C83')||(LA4_10 >= '\u0C85' && LA4_10 <= '\u0C8C')||(LA4_10 >= '\u0C8E' && LA4_10 <= '\u0C90')||(LA4_10 >= '\u0C92' && LA4_10 <= '\u0CA8')||(LA4_10 >= '\u0CAA' && LA4_10 <= '\u0CB3')||(LA4_10 >= '\u0CB5' && LA4_10 <= '\u0CB9')||(LA4_10 >= '\u0CBC' && LA4_10 <= '\u0CC4')||(LA4_10 >= '\u0CC6' && LA4_10 <= '\u0CC8')||(LA4_10 >= '\u0CCA' && LA4_10 <= '\u0CCD')||(LA4_10 >= '\u0CD5' && LA4_10 <= '\u0CD6')||LA4_10=='\u0CDE'||(LA4_10 >= '\u0CE0' && LA4_10 <= '\u0CE1')||(LA4_10 >= '\u0CE6' && LA4_10 <= '\u0CEF')||(LA4_10 >= '\u0D02' && LA4_10 <= '\u0D03')||(LA4_10 >= '\u0D05' && LA4_10 <= '\u0D0C')||(LA4_10 >= '\u0D0E' && LA4_10 <= '\u0D10')||(LA4_10 >= '\u0D12' && LA4_10 <= '\u0D28')||(LA4_10 >= '\u0D2A' && LA4_10 <= '\u0D39')||(LA4_10 >= '\u0D3E' && LA4_10 <= '\u0D43')||(LA4_10 >= '\u0D46' && LA4_10 <= '\u0D48')||(LA4_10 >= '\u0D4A' && LA4_10 <= '\u0D4D')||LA4_10=='\u0D57'||(LA4_10 >= '\u0D60' && LA4_10 <= '\u0D61')||(LA4_10 >= '\u0D66' && LA4_10 <= '\u0D6F')||(LA4_10 >= '\u0D82' && LA4_10 <= '\u0D83')||(LA4_10 >= '\u0D85' && LA4_10 <= '\u0D96')||(LA4_10 >= '\u0D9A' && LA4_10 <= '\u0DB1')||(LA4_10 >= '\u0DB3' && LA4_10 <= '\u0DBB')||LA4_10=='\u0DBD'||(LA4_10 >= '\u0DC0' && LA4_10 <= '\u0DC6')||LA4_10=='\u0DCA'||(LA4_10 >= '\u0DCF' && LA4_10 <= '\u0DD4')||LA4_10=='\u0DD6'||(LA4_10 >= '\u0DD8' && LA4_10 <= '\u0DDF')||(LA4_10 >= '\u0DF2' && LA4_10 <= '\u0DF3')||(LA4_10 >= '\u0E01' && LA4_10 <= '\u0E3A')||(LA4_10 >= '\u0E3F' && LA4_10 <= '\u0E4E')||(LA4_10 >= '\u0E50' && LA4_10 <= '\u0E59')||(LA4_10 >= '\u0E81' && LA4_10 <= '\u0E82')||LA4_10=='\u0E84'||(LA4_10 >= '\u0E87' && LA4_10 <= '\u0E88')||LA4_10=='\u0E8A'||LA4_10=='\u0E8D'||(LA4_10 >= '\u0E94' && LA4_10 <= '\u0E97')||(LA4_10 >= '\u0E99' && LA4_10 <= '\u0E9F')||(LA4_10 >= '\u0EA1' && LA4_10 <= '\u0EA3')||LA4_10=='\u0EA5'||LA4_10=='\u0EA7'||(LA4_10 >= '\u0EAA' && LA4_10 <= '\u0EAB')||(LA4_10 >= '\u0EAD' && LA4_10 <= '\u0EB9')||(LA4_10 >= '\u0EBB' && LA4_10 <= '\u0EBD')||(LA4_10 >= '\u0EC0' && LA4_10 <= '\u0EC4')||LA4_10=='\u0EC6'||(LA4_10 >= '\u0EC8' && LA4_10 <= '\u0ECD')||(LA4_10 >= '\u0ED0' && LA4_10 <= '\u0ED9')||(LA4_10 >= '\u0EDC' && LA4_10 <= '\u0EDD')||LA4_10=='\u0F00'||(LA4_10 >= '\u0F18' && LA4_10 <= '\u0F19')||(LA4_10 >= '\u0F20' && LA4_10 <= '\u0F29')||LA4_10=='\u0F35'||LA4_10=='\u0F37'||LA4_10=='\u0F39'||(LA4_10 >= '\u0F3E' && LA4_10 <= '\u0F47')||(LA4_10 >= '\u0F49' && LA4_10 <= '\u0F6A')||(LA4_10 >= '\u0F71' && LA4_10 <= '\u0F84')||(LA4_10 >= '\u0F86' && LA4_10 <= '\u0F8B')||(LA4_10 >= '\u0F90' && LA4_10 <= '\u0F97')||(LA4_10 >= '\u0F99' && LA4_10 <= '\u0FBC')||LA4_10=='\u0FC6'||(LA4_10 >= '\u1000' && LA4_10 <= '\u1021')||(LA4_10 >= '\u1023' && LA4_10 <= '\u1027')||(LA4_10 >= '\u1029' && LA4_10 <= '\u102A')||(LA4_10 >= '\u102C' && LA4_10 <= '\u1032')||(LA4_10 >= '\u1036' && LA4_10 <= '\u1039')||(LA4_10 >= '\u1040' && LA4_10 <= '\u1049')||(LA4_10 >= '\u1050' && LA4_10 <= '\u1059')||(LA4_10 >= '\u10A0' && LA4_10 <= '\u10C5')||(LA4_10 >= '\u10D0' && LA4_10 <= '\u10F8')||(LA4_10 >= '\u1100' && LA4_10 <= '\u1159')||(LA4_10 >= '\u115F' && LA4_10 <= '\u11A2')||(LA4_10 >= '\u11A8' && LA4_10 <= '\u11F9')||(LA4_10 >= '\u1200' && LA4_10 <= '\u1206')||(LA4_10 >= '\u1208' && LA4_10 <= '\u1246')||LA4_10=='\u1248'||(LA4_10 >= '\u124A' && LA4_10 <= '\u124D')||(LA4_10 >= '\u1250' && LA4_10 <= '\u1256')||LA4_10=='\u1258'||(LA4_10 >= '\u125A' && LA4_10 <= '\u125D')||(LA4_10 >= '\u1260' && LA4_10 <= '\u1286')||LA4_10=='\u1288'||(LA4_10 >= '\u128A' && LA4_10 <= '\u128D')||(LA4_10 >= '\u1290' && LA4_10 <= '\u12AE')||LA4_10=='\u12B0'||(LA4_10 >= '\u12B2' && LA4_10 <= '\u12B5')||(LA4_10 >= '\u12B8' && LA4_10 <= '\u12BE')||LA4_10=='\u12C0'||(LA4_10 >= '\u12C2' && LA4_10 <= '\u12C5')||(LA4_10 >= '\u12C8' && LA4_10 <= '\u12CE')||(LA4_10 >= '\u12D0' && LA4_10 <= '\u12D6')||(LA4_10 >= '\u12D8' && LA4_10 <= '\u12EE')||(LA4_10 >= '\u12F0' && LA4_10 <= '\u130E')||LA4_10=='\u1310'||(LA4_10 >= '\u1312' && LA4_10 <= '\u1315')||(LA4_10 >= '\u1318' && LA4_10 <= '\u131E')||(LA4_10 >= '\u1320' && LA4_10 <= '\u1346')||(LA4_10 >= '\u1348' && LA4_10 <= '\u135A')||(LA4_10 >= '\u1369' && LA4_10 <= '\u1371')||(LA4_10 >= '\u13A0' && LA4_10 <= '\u13F4')||(LA4_10 >= '\u1401' && LA4_10 <= '\u166C')||(LA4_10 >= '\u166F' && LA4_10 <= '\u1676')||(LA4_10 >= '\u1681' && LA4_10 <= '\u169A')||(LA4_10 >= '\u16A0' && LA4_10 <= '\u16EA')||(LA4_10 >= '\u16EE' && LA4_10 <= '\u16F0')||(LA4_10 >= '\u1700' && LA4_10 <= '\u170C')||(LA4_10 >= '\u170E' && LA4_10 <= '\u1714')||(LA4_10 >= '\u1720' && LA4_10 <= '\u1734')||(LA4_10 >= '\u1740' && LA4_10 <= '\u1753')||(LA4_10 >= '\u1760' && LA4_10 <= '\u176C')||(LA4_10 >= '\u176E' && LA4_10 <= '\u1770')||(LA4_10 >= '\u1772' && LA4_10 <= '\u1773')||(LA4_10 >= '\u1780' && LA4_10 <= '\u17D3')||LA4_10=='\u17D7'||(LA4_10 >= '\u17DB' && LA4_10 <= '\u17DD')||(LA4_10 >= '\u17E0' && LA4_10 <= '\u17E9')||(LA4_10 >= '\u180B' && LA4_10 <= '\u180D')||(LA4_10 >= '\u1810' && LA4_10 <= '\u1819')||(LA4_10 >= '\u1820' && LA4_10 <= '\u1877')||(LA4_10 >= '\u1880' && LA4_10 <= '\u18A9')||(LA4_10 >= '\u1900' && LA4_10 <= '\u191C')||(LA4_10 >= '\u1920' && LA4_10 <= '\u192B')||(LA4_10 >= '\u1930' && LA4_10 <= '\u193B')||(LA4_10 >= '\u1946' && LA4_10 <= '\u196D')||(LA4_10 >= '\u1970' && LA4_10 <= '\u1974')||(LA4_10 >= '\u1D00' && LA4_10 <= '\u1D6B')||(LA4_10 >= '\u1E00' && LA4_10 <= '\u1E9B')||(LA4_10 >= '\u1EA0' && LA4_10 <= '\u1EF9')||(LA4_10 >= '\u1F00' && LA4_10 <= '\u1F15')||(LA4_10 >= '\u1F18' && LA4_10 <= '\u1F1D')||(LA4_10 >= '\u1F20' && LA4_10 <= '\u1F45')||(LA4_10 >= '\u1F48' && LA4_10 <= '\u1F4D')||(LA4_10 >= '\u1F50' && LA4_10 <= '\u1F57')||LA4_10=='\u1F59'||LA4_10=='\u1F5B'||LA4_10=='\u1F5D'||(LA4_10 >= '\u1F5F' && LA4_10 <= '\u1F7D')||(LA4_10 >= '\u1F80' && LA4_10 <= '\u1FB4')||(LA4_10 >= '\u1FB6' && LA4_10 <= '\u1FBC')||LA4_10=='\u1FBE'||(LA4_10 >= '\u1FC2' && LA4_10 <= '\u1FC4')||(LA4_10 >= '\u1FC6' && LA4_10 <= '\u1FCC')||(LA4_10 >= '\u1FD0' && LA4_10 <= '\u1FD3')||(LA4_10 >= '\u1FD6' && LA4_10 <= '\u1FDB')||(LA4_10 >= '\u1FE0' && LA4_10 <= '\u1FEC')||(LA4_10 >= '\u1FF2' && LA4_10 <= '\u1FF4')||(LA4_10 >= '\u1FF6' && LA4_10 <= '\u1FFC')||(LA4_10 >= '\u200C' && LA4_10 <= '\u200F')||(LA4_10 >= '\u202A' && LA4_10 <= '\u202E')||(LA4_10 >= '\u203F' && LA4_10 <= '\u2040')||LA4_10=='\u2054'||(LA4_10 >= '\u2060' && LA4_10 <= '\u2063')||(LA4_10 >= '\u206A' && LA4_10 <= '\u206F')||LA4_10=='\u2071'||LA4_10=='\u207F'||(LA4_10 >= '\u20A0' && LA4_10 <= '\u20B1')||(LA4_10 >= '\u20D0' && LA4_10 <= '\u20DC')||LA4_10=='\u20E1'||(LA4_10 >= '\u20E5' && LA4_10 <= '\u20EA')||LA4_10=='\u2102'||LA4_10=='\u2107'||(LA4_10 >= '\u210A' && LA4_10 <= '\u2113')||LA4_10=='\u2115'||(LA4_10 >= '\u2119' && LA4_10 <= '\u211D')||LA4_10=='\u2124'||LA4_10=='\u2126'||LA4_10=='\u2128'||(LA4_10 >= '\u212A' && LA4_10 <= '\u212D')||(LA4_10 >= '\u212F' && LA4_10 <= '\u2131')||(LA4_10 >= '\u2133' && LA4_10 <= '\u2139')||(LA4_10 >= '\u213D' && LA4_10 <= '\u213F')||(LA4_10 >= '\u2145' && LA4_10 <= '\u2149')||(LA4_10 >= '\u2160' && LA4_10 <= '\u2183')||LA4_10=='\u3000'||(LA4_10 >= '\u3005' && LA4_10 <= '\u3007')||(LA4_10 >= '\u3021' && LA4_10 <= '\u302F')||(LA4_10 >= '\u3031' && LA4_10 <= '\u3035')||(LA4_10 >= '\u3038' && LA4_10 <= '\u303C')||(LA4_10 >= '\u3041' && LA4_10 <= '\u3096')||(LA4_10 >= '\u3099' && LA4_10 <= '\u309A')||(LA4_10 >= '\u309D' && LA4_10 <= '\u309F')||(LA4_10 >= '\u30A1' && LA4_10 <= '\u30FF')||(LA4_10 >= '\u3105' && LA4_10 <= '\u312C')||(LA4_10 >= '\u3131' && LA4_10 <= '\u318E')||(LA4_10 >= '\u31A0' && LA4_10 <= '\u31B7')||(LA4_10 >= '\u31F0' && LA4_10 <= '\u31FF')||(LA4_10 >= '\u3400' && LA4_10 <= '\u4DB5')||(LA4_10 >= '\u4E00' && LA4_10 <= '\u9FA5')||(LA4_10 >= '\uA000' && LA4_10 <= '\uA48C')||(LA4_10 >= '\uAC00' && LA4_10 <= '\uD7A3')||(LA4_10 >= '\uF900' && LA4_10 <= '\uFA2D')||(LA4_10 >= '\uFA30' && LA4_10 <= '\uFA6A')||(LA4_10 >= '\uFB00' && LA4_10 <= '\uFB06')||(LA4_10 >= '\uFB13' && LA4_10 <= '\uFB17')||(LA4_10 >= '\uFB1D' && LA4_10 <= '\uFB28')||(LA4_10 >= '\uFB2A' && LA4_10 <= '\uFB36')||(LA4_10 >= '\uFB38' && LA4_10 <= '\uFB3C')||LA4_10=='\uFB3E'||(LA4_10 >= '\uFB40' && LA4_10 <= '\uFB41')||(LA4_10 >= '\uFB43' && LA4_10 <= '\uFB44')||(LA4_10 >= '\uFB46' && LA4_10 <= '\uFBB1')||(LA4_10 >= '\uFBD3' && LA4_10 <= '\uFD3D')||(LA4_10 >= '\uFD50' && LA4_10 <= '\uFD8F')||(LA4_10 >= '\uFD92' && LA4_10 <= '\uFDC7')||(LA4_10 >= '\uFDF0' && LA4_10 <= '\uFDFC')||(LA4_10 >= '\uFE00' && LA4_10 <= '\uFE0F')||(LA4_10 >= '\uFE20' && LA4_10 <= '\uFE23')||(LA4_10 >= '\uFE33' && LA4_10 <= '\uFE34')||(LA4_10 >= '\uFE4D' && LA4_10 <= '\uFE4F')||LA4_10=='\uFE69'||(LA4_10 >= '\uFE70' && LA4_10 <= '\uFE74')||(LA4_10 >= '\uFE76' && LA4_10 <= '\uFEFC')||LA4_10=='\uFEFF'||LA4_10=='\uFF04'||(LA4_10 >= '\uFF10' && LA4_10 <= '\uFF19')||(LA4_10 >= '\uFF21' && LA4_10 <= '\uFF3A')||LA4_10=='\uFF3F'||(LA4_10 >= '\uFF41' && LA4_10 <= '\uFF5A')||(LA4_10 >= '\uFF65' && LA4_10 <= '\uFFBE')||(LA4_10 >= '\uFFC2' && LA4_10 <= '\uFFC7')||(LA4_10 >= '\uFFCA' && LA4_10 <= '\uFFCF')||(LA4_10 >= '\uFFD2' && LA4_10 <= '\uFFD7')||(LA4_10 >= '\uFFDA' && LA4_10 <= '\uFFDC')||(LA4_10 >= '\uFFE0' && LA4_10 <= '\uFFE1')||(LA4_10 >= '\uFFE5' && LA4_10 <= '\uFFE6')||(LA4_10 >= '\uFFF9' && LA4_10 <= '\uFFFB')) ) {
				alt4=11;
			}

			else {
				alt4=10;
			}

		}
		else if ( ((LA4_0 >= '\u0000' && LA4_0 <= '\b')||(LA4_0 >= '\u000E' && LA4_0 <= '\u001B')||(LA4_0 >= '!' && LA4_0 <= '+')||LA4_0=='-'||(LA4_0 >= '/' && LA4_0 <= '9')||(LA4_0 >= ';' && LA4_0 <= '<')||(LA4_0 >= '>' && LA4_0 <= 'Z')||LA4_0=='\\'||(LA4_0 >= '^' && LA4_0 <= '_')||(LA4_0 >= 'a' && LA4_0 <= 'z')||LA4_0=='|'||(LA4_0 >= '~' && LA4_0 <= '\u009F')||(LA4_0 >= '\u00A2' && LA4_0 <= '\u00A5')||LA4_0=='\u00AA'||LA4_0=='\u00AD'||LA4_0=='\u00B5'||LA4_0=='\u00BA'||(LA4_0 >= '\u00C0' && LA4_0 <= '\u00D6')||(LA4_0 >= '\u00D8' && LA4_0 <= '\u00F6')||(LA4_0 >= '\u00F8' && LA4_0 <= '\u0236')||(LA4_0 >= '\u0250' && LA4_0 <= '\u02C1')||(LA4_0 >= '\u02C6' && LA4_0 <= '\u02D1')||(LA4_0 >= '\u02E0' && LA4_0 <= '\u02E4')||LA4_0=='\u02EE'||(LA4_0 >= '\u0300' && LA4_0 <= '\u0357')||(LA4_0 >= '\u035D' && LA4_0 <= '\u036F')||LA4_0=='\u037A'||LA4_0=='\u0386'||(LA4_0 >= '\u0388' && LA4_0 <= '\u038A')||LA4_0=='\u038C'||(LA4_0 >= '\u038E' && LA4_0 <= '\u03A1')||(LA4_0 >= '\u03A3' && LA4_0 <= '\u03CE')||(LA4_0 >= '\u03D0' && LA4_0 <= '\u03F5')||(LA4_0 >= '\u03F7' && LA4_0 <= '\u03FB')||(LA4_0 >= '\u0400' && LA4_0 <= '\u0481')||(LA4_0 >= '\u0483' && LA4_0 <= '\u0486')||(LA4_0 >= '\u048A' && LA4_0 <= '\u04CE')||(LA4_0 >= '\u04D0' && LA4_0 <= '\u04F5')||(LA4_0 >= '\u04F8' && LA4_0 <= '\u04F9')||(LA4_0 >= '\u0500' && LA4_0 <= '\u050F')||(LA4_0 >= '\u0531' && LA4_0 <= '\u0556')||LA4_0=='\u0559'||(LA4_0 >= '\u0561' && LA4_0 <= '\u0587')||(LA4_0 >= '\u0591' && LA4_0 <= '\u05A1')||(LA4_0 >= '\u05A3' && LA4_0 <= '\u05B9')||(LA4_0 >= '\u05BB' && LA4_0 <= '\u05BD')||LA4_0=='\u05BF'||(LA4_0 >= '\u05C1' && LA4_0 <= '\u05C2')||LA4_0=='\u05C4'||(LA4_0 >= '\u05D0' && LA4_0 <= '\u05EA')||(LA4_0 >= '\u05F0' && LA4_0 <= '\u05F2')||(LA4_0 >= '\u0600' && LA4_0 <= '\u0603')||(LA4_0 >= '\u0610' && LA4_0 <= '\u0615')||(LA4_0 >= '\u0621' && LA4_0 <= '\u063A')||(LA4_0 >= '\u0640' && LA4_0 <= '\u0658')||(LA4_0 >= '\u0660' && LA4_0 <= '\u0669')||(LA4_0 >= '\u066E' && LA4_0 <= '\u06D3')||(LA4_0 >= '\u06D5' && LA4_0 <= '\u06DD')||(LA4_0 >= '\u06DF' && LA4_0 <= '\u06E8')||(LA4_0 >= '\u06EA' && LA4_0 <= '\u06FC')||LA4_0=='\u06FF'||(LA4_0 >= '\u070F' && LA4_0 <= '\u074A')||(LA4_0 >= '\u074D' && LA4_0 <= '\u074F')||(LA4_0 >= '\u0780' && LA4_0 <= '\u07B1')||(LA4_0 >= '\u0901' && LA4_0 <= '\u0939')||(LA4_0 >= '\u093C' && LA4_0 <= '\u094D')||(LA4_0 >= '\u0950' && LA4_0 <= '\u0954')||(LA4_0 >= '\u0958' && LA4_0 <= '\u0963')||(LA4_0 >= '\u0966' && LA4_0 <= '\u096F')||(LA4_0 >= '\u0981' && LA4_0 <= '\u0983')||(LA4_0 >= '\u0985' && LA4_0 <= '\u098C')||(LA4_0 >= '\u098F' && LA4_0 <= '\u0990')||(LA4_0 >= '\u0993' && LA4_0 <= '\u09A8')||(LA4_0 >= '\u09AA' && LA4_0 <= '\u09B0')||LA4_0=='\u09B2'||(LA4_0 >= '\u09B6' && LA4_0 <= '\u09B9')||(LA4_0 >= '\u09BC' && LA4_0 <= '\u09C4')||(LA4_0 >= '\u09C7' && LA4_0 <= '\u09C8')||(LA4_0 >= '\u09CB' && LA4_0 <= '\u09CD')||LA4_0=='\u09D7'||(LA4_0 >= '\u09DC' && LA4_0 <= '\u09DD')||(LA4_0 >= '\u09DF' && LA4_0 <= '\u09E3')||(LA4_0 >= '\u09E6' && LA4_0 <= '\u09F3')||(LA4_0 >= '\u0A01' && LA4_0 <= '\u0A03')||(LA4_0 >= '\u0A05' && LA4_0 <= '\u0A0A')||(LA4_0 >= '\u0A0F' && LA4_0 <= '\u0A10')||(LA4_0 >= '\u0A13' && LA4_0 <= '\u0A28')||(LA4_0 >= '\u0A2A' && LA4_0 <= '\u0A30')||(LA4_0 >= '\u0A32' && LA4_0 <= '\u0A33')||(LA4_0 >= '\u0A35' && LA4_0 <= '\u0A36')||(LA4_0 >= '\u0A38' && LA4_0 <= '\u0A39')||LA4_0=='\u0A3C'||(LA4_0 >= '\u0A3E' && LA4_0 <= '\u0A42')||(LA4_0 >= '\u0A47' && LA4_0 <= '\u0A48')||(LA4_0 >= '\u0A4B' && LA4_0 <= '\u0A4D')||(LA4_0 >= '\u0A59' && LA4_0 <= '\u0A5C')||LA4_0=='\u0A5E'||(LA4_0 >= '\u0A66' && LA4_0 <= '\u0A74')||(LA4_0 >= '\u0A81' && LA4_0 <= '\u0A83')||(LA4_0 >= '\u0A85' && LA4_0 <= '\u0A8D')||(LA4_0 >= '\u0A8F' && LA4_0 <= '\u0A91')||(LA4_0 >= '\u0A93' && LA4_0 <= '\u0AA8')||(LA4_0 >= '\u0AAA' && LA4_0 <= '\u0AB0')||(LA4_0 >= '\u0AB2' && LA4_0 <= '\u0AB3')||(LA4_0 >= '\u0AB5' && LA4_0 <= '\u0AB9')||(LA4_0 >= '\u0ABC' && LA4_0 <= '\u0AC5')||(LA4_0 >= '\u0AC7' && LA4_0 <= '\u0AC9')||(LA4_0 >= '\u0ACB' && LA4_0 <= '\u0ACD')||LA4_0=='\u0AD0'||(LA4_0 >= '\u0AE0' && LA4_0 <= '\u0AE3')||(LA4_0 >= '\u0AE6' && LA4_0 <= '\u0AEF')||LA4_0=='\u0AF1'||(LA4_0 >= '\u0B01' && LA4_0 <= '\u0B03')||(LA4_0 >= '\u0B05' && LA4_0 <= '\u0B0C')||(LA4_0 >= '\u0B0F' && LA4_0 <= '\u0B10')||(LA4_0 >= '\u0B13' && LA4_0 <= '\u0B28')||(LA4_0 >= '\u0B2A' && LA4_0 <= '\u0B30')||(LA4_0 >= '\u0B32' && LA4_0 <= '\u0B33')||(LA4_0 >= '\u0B35' && LA4_0 <= '\u0B39')||(LA4_0 >= '\u0B3C' && LA4_0 <= '\u0B43')||(LA4_0 >= '\u0B47' && LA4_0 <= '\u0B48')||(LA4_0 >= '\u0B4B' && LA4_0 <= '\u0B4D')||(LA4_0 >= '\u0B56' && LA4_0 <= '\u0B57')||(LA4_0 >= '\u0B5C' && LA4_0 <= '\u0B5D')||(LA4_0 >= '\u0B5F' && LA4_0 <= '\u0B61')||(LA4_0 >= '\u0B66' && LA4_0 <= '\u0B6F')||LA4_0=='\u0B71'||(LA4_0 >= '\u0B82' && LA4_0 <= '\u0B83')||(LA4_0 >= '\u0B85' && LA4_0 <= '\u0B8A')||(LA4_0 >= '\u0B8E' && LA4_0 <= '\u0B90')||(LA4_0 >= '\u0B92' && LA4_0 <= '\u0B95')||(LA4_0 >= '\u0B99' && LA4_0 <= '\u0B9A')||LA4_0=='\u0B9C'||(LA4_0 >= '\u0B9E' && LA4_0 <= '\u0B9F')||(LA4_0 >= '\u0BA3' && LA4_0 <= '\u0BA4')||(LA4_0 >= '\u0BA8' && LA4_0 <= '\u0BAA')||(LA4_0 >= '\u0BAE' && LA4_0 <= '\u0BB5')||(LA4_0 >= '\u0BB7' && LA4_0 <= '\u0BB9')||(LA4_0 >= '\u0BBE' && LA4_0 <= '\u0BC2')||(LA4_0 >= '\u0BC6' && LA4_0 <= '\u0BC8')||(LA4_0 >= '\u0BCA' && LA4_0 <= '\u0BCD')||LA4_0=='\u0BD7'||(LA4_0 >= '\u0BE7' && LA4_0 <= '\u0BEF')||LA4_0=='\u0BF9'||(LA4_0 >= '\u0C01' && LA4_0 <= '\u0C03')||(LA4_0 >= '\u0C05' && LA4_0 <= '\u0C0C')||(LA4_0 >= '\u0C0E' && LA4_0 <= '\u0C10')||(LA4_0 >= '\u0C12' && LA4_0 <= '\u0C28')||(LA4_0 >= '\u0C2A' && LA4_0 <= '\u0C33')||(LA4_0 >= '\u0C35' && LA4_0 <= '\u0C39')||(LA4_0 >= '\u0C3E' && LA4_0 <= '\u0C44')||(LA4_0 >= '\u0C46' && LA4_0 <= '\u0C48')||(LA4_0 >= '\u0C4A' && LA4_0 <= '\u0C4D')||(LA4_0 >= '\u0C55' && LA4_0 <= '\u0C56')||(LA4_0 >= '\u0C60' && LA4_0 <= '\u0C61')||(LA4_0 >= '\u0C66' && LA4_0 <= '\u0C6F')||(LA4_0 >= '\u0C82' && LA4_0 <= '\u0C83')||(LA4_0 >= '\u0C85' && LA4_0 <= '\u0C8C')||(LA4_0 >= '\u0C8E' && LA4_0 <= '\u0C90')||(LA4_0 >= '\u0C92' && LA4_0 <= '\u0CA8')||(LA4_0 >= '\u0CAA' && LA4_0 <= '\u0CB3')||(LA4_0 >= '\u0CB5' && LA4_0 <= '\u0CB9')||(LA4_0 >= '\u0CBC' && LA4_0 <= '\u0CC4')||(LA4_0 >= '\u0CC6' && LA4_0 <= '\u0CC8')||(LA4_0 >= '\u0CCA' && LA4_0 <= '\u0CCD')||(LA4_0 >= '\u0CD5' && LA4_0 <= '\u0CD6')||LA4_0=='\u0CDE'||(LA4_0 >= '\u0CE0' && LA4_0 <= '\u0CE1')||(LA4_0 >= '\u0CE6' && LA4_0 <= '\u0CEF')||(LA4_0 >= '\u0D02' && LA4_0 <= '\u0D03')||(LA4_0 >= '\u0D05' && LA4_0 <= '\u0D0C')||(LA4_0 >= '\u0D0E' && LA4_0 <= '\u0D10')||(LA4_0 >= '\u0D12' && LA4_0 <= '\u0D28')||(LA4_0 >= '\u0D2A' && LA4_0 <= '\u0D39')||(LA4_0 >= '\u0D3E' && LA4_0 <= '\u0D43')||(LA4_0 >= '\u0D46' && LA4_0 <= '\u0D48')||(LA4_0 >= '\u0D4A' && LA4_0 <= '\u0D4D')||LA4_0=='\u0D57'||(LA4_0 >= '\u0D60' && LA4_0 <= '\u0D61')||(LA4_0 >= '\u0D66' && LA4_0 <= '\u0D6F')||(LA4_0 >= '\u0D82' && LA4_0 <= '\u0D83')||(LA4_0 >= '\u0D85' && LA4_0 <= '\u0D96')||(LA4_0 >= '\u0D9A' && LA4_0 <= '\u0DB1')||(LA4_0 >= '\u0DB3' && LA4_0 <= '\u0DBB')||LA4_0=='\u0DBD'||(LA4_0 >= '\u0DC0' && LA4_0 <= '\u0DC6')||LA4_0=='\u0DCA'||(LA4_0 >= '\u0DCF' && LA4_0 <= '\u0DD4')||LA4_0=='\u0DD6'||(LA4_0 >= '\u0DD8' && LA4_0 <= '\u0DDF')||(LA4_0 >= '\u0DF2' && LA4_0 <= '\u0DF3')||(LA4_0 >= '\u0E01' && LA4_0 <= '\u0E3A')||(LA4_0 >= '\u0E3F' && LA4_0 <= '\u0E4E')||(LA4_0 >= '\u0E50' && LA4_0 <= '\u0E59')||(LA4_0 >= '\u0E81' && LA4_0 <= '\u0E82')||LA4_0=='\u0E84'||(LA4_0 >= '\u0E87' && LA4_0 <= '\u0E88')||LA4_0=='\u0E8A'||LA4_0=='\u0E8D'||(LA4_0 >= '\u0E94' && LA4_0 <= '\u0E97')||(LA4_0 >= '\u0E99' && LA4_0 <= '\u0E9F')||(LA4_0 >= '\u0EA1' && LA4_0 <= '\u0EA3')||LA4_0=='\u0EA5'||LA4_0=='\u0EA7'||(LA4_0 >= '\u0EAA' && LA4_0 <= '\u0EAB')||(LA4_0 >= '\u0EAD' && LA4_0 <= '\u0EB9')||(LA4_0 >= '\u0EBB' && LA4_0 <= '\u0EBD')||(LA4_0 >= '\u0EC0' && LA4_0 <= '\u0EC4')||LA4_0=='\u0EC6'||(LA4_0 >= '\u0EC8' && LA4_0 <= '\u0ECD')||(LA4_0 >= '\u0ED0' && LA4_0 <= '\u0ED9')||(LA4_0 >= '\u0EDC' && LA4_0 <= '\u0EDD')||LA4_0=='\u0F00'||(LA4_0 >= '\u0F18' && LA4_0 <= '\u0F19')||(LA4_0 >= '\u0F20' && LA4_0 <= '\u0F29')||LA4_0=='\u0F35'||LA4_0=='\u0F37'||LA4_0=='\u0F39'||(LA4_0 >= '\u0F3E' && LA4_0 <= '\u0F47')||(LA4_0 >= '\u0F49' && LA4_0 <= '\u0F6A')||(LA4_0 >= '\u0F71' && LA4_0 <= '\u0F84')||(LA4_0 >= '\u0F86' && LA4_0 <= '\u0F8B')||(LA4_0 >= '\u0F90' && LA4_0 <= '\u0F97')||(LA4_0 >= '\u0F99' && LA4_0 <= '\u0FBC')||LA4_0=='\u0FC6'||(LA4_0 >= '\u1000' && LA4_0 <= '\u1021')||(LA4_0 >= '\u1023' && LA4_0 <= '\u1027')||(LA4_0 >= '\u1029' && LA4_0 <= '\u102A')||(LA4_0 >= '\u102C' && LA4_0 <= '\u1032')||(LA4_0 >= '\u1036' && LA4_0 <= '\u1039')||(LA4_0 >= '\u1040' && LA4_0 <= '\u1049')||(LA4_0 >= '\u1050' && LA4_0 <= '\u1059')||(LA4_0 >= '\u10A0' && LA4_0 <= '\u10C5')||(LA4_0 >= '\u10D0' && LA4_0 <= '\u10F8')||(LA4_0 >= '\u1100' && LA4_0 <= '\u1159')||(LA4_0 >= '\u115F' && LA4_0 <= '\u11A2')||(LA4_0 >= '\u11A8' && LA4_0 <= '\u11F9')||(LA4_0 >= '\u1200' && LA4_0 <= '\u1206')||(LA4_0 >= '\u1208' && LA4_0 <= '\u1246')||LA4_0=='\u1248'||(LA4_0 >= '\u124A' && LA4_0 <= '\u124D')||(LA4_0 >= '\u1250' && LA4_0 <= '\u1256')||LA4_0=='\u1258'||(LA4_0 >= '\u125A' && LA4_0 <= '\u125D')||(LA4_0 >= '\u1260' && LA4_0 <= '\u1286')||LA4_0=='\u1288'||(LA4_0 >= '\u128A' && LA4_0 <= '\u128D')||(LA4_0 >= '\u1290' && LA4_0 <= '\u12AE')||LA4_0=='\u12B0'||(LA4_0 >= '\u12B2' && LA4_0 <= '\u12B5')||(LA4_0 >= '\u12B8' && LA4_0 <= '\u12BE')||LA4_0=='\u12C0'||(LA4_0 >= '\u12C2' && LA4_0 <= '\u12C5')||(LA4_0 >= '\u12C8' && LA4_0 <= '\u12CE')||(LA4_0 >= '\u12D0' && LA4_0 <= '\u12D6')||(LA4_0 >= '\u12D8' && LA4_0 <= '\u12EE')||(LA4_0 >= '\u12F0' && LA4_0 <= '\u130E')||LA4_0=='\u1310'||(LA4_0 >= '\u1312' && LA4_0 <= '\u1315')||(LA4_0 >= '\u1318' && LA4_0 <= '\u131E')||(LA4_0 >= '\u1320' && LA4_0 <= '\u1346')||(LA4_0 >= '\u1348' && LA4_0 <= '\u135A')||(LA4_0 >= '\u1369' && LA4_0 <= '\u1371')||(LA4_0 >= '\u13A0' && LA4_0 <= '\u13F4')||(LA4_0 >= '\u1401' && LA4_0 <= '\u166C')||(LA4_0 >= '\u166F' && LA4_0 <= '\u1676')||(LA4_0 >= '\u1681' && LA4_0 <= '\u169A')||(LA4_0 >= '\u16A0' && LA4_0 <= '\u16EA')||(LA4_0 >= '\u16EE' && LA4_0 <= '\u16F0')||(LA4_0 >= '\u1700' && LA4_0 <= '\u170C')||(LA4_0 >= '\u170E' && LA4_0 <= '\u1714')||(LA4_0 >= '\u1720' && LA4_0 <= '\u1734')||(LA4_0 >= '\u1740' && LA4_0 <= '\u1753')||(LA4_0 >= '\u1760' && LA4_0 <= '\u176C')||(LA4_0 >= '\u176E' && LA4_0 <= '\u1770')||(LA4_0 >= '\u1772' && LA4_0 <= '\u1773')||(LA4_0 >= '\u1780' && LA4_0 <= '\u17D3')||LA4_0=='\u17D7'||(LA4_0 >= '\u17DB' && LA4_0 <= '\u17DD')||(LA4_0 >= '\u17E0' && LA4_0 <= '\u17E9')||(LA4_0 >= '\u180B' && LA4_0 <= '\u180D')||(LA4_0 >= '\u1810' && LA4_0 <= '\u1819')||(LA4_0 >= '\u1820' && LA4_0 <= '\u1877')||(LA4_0 >= '\u1880' && LA4_0 <= '\u18A9')||(LA4_0 >= '\u1900' && LA4_0 <= '\u191C')||(LA4_0 >= '\u1920' && LA4_0 <= '\u192B')||(LA4_0 >= '\u1930' && LA4_0 <= '\u193B')||(LA4_0 >= '\u1946' && LA4_0 <= '\u196D')||(LA4_0 >= '\u1970' && LA4_0 <= '\u1974')||(LA4_0 >= '\u1D00' && LA4_0 <= '\u1D6B')||(LA4_0 >= '\u1E00' && LA4_0 <= '\u1E9B')||(LA4_0 >= '\u1EA0' && LA4_0 <= '\u1EF9')||(LA4_0 >= '\u1F00' && LA4_0 <= '\u1F15')||(LA4_0 >= '\u1F18' && LA4_0 <= '\u1F1D')||(LA4_0 >= '\u1F20' && LA4_0 <= '\u1F45')||(LA4_0 >= '\u1F48' && LA4_0 <= '\u1F4D')||(LA4_0 >= '\u1F50' && LA4_0 <= '\u1F57')||LA4_0=='\u1F59'||LA4_0=='\u1F5B'||LA4_0=='\u1F5D'||(LA4_0 >= '\u1F5F' && LA4_0 <= '\u1F7D')||(LA4_0 >= '\u1F80' && LA4_0 <= '\u1FB4')||(LA4_0 >= '\u1FB6' && LA4_0 <= '\u1FBC')||LA4_0=='\u1FBE'||(LA4_0 >= '\u1FC2' && LA4_0 <= '\u1FC4')||(LA4_0 >= '\u1FC6' && LA4_0 <= '\u1FCC')||(LA4_0 >= '\u1FD0' && LA4_0 <= '\u1FD3')||(LA4_0 >= '\u1FD6' && LA4_0 <= '\u1FDB')||(LA4_0 >= '\u1FE0' && LA4_0 <= '\u1FEC')||(LA4_0 >= '\u1FF2' && LA4_0 <= '\u1FF4')||(LA4_0 >= '\u1FF6' && LA4_0 <= '\u1FFC')||(LA4_0 >= '\u200C' && LA4_0 <= '\u200F')||(LA4_0 >= '\u202A' && LA4_0 <= '\u202E')||(LA4_0 >= '\u203F' && LA4_0 <= '\u2040')||LA4_0=='\u2054'||(LA4_0 >= '\u2060' && LA4_0 <= '\u2063')||(LA4_0 >= '\u206A' && LA4_0 <= '\u206F')||LA4_0=='\u2071'||LA4_0=='\u207F'||(LA4_0 >= '\u20A0' && LA4_0 <= '\u20B1')||(LA4_0 >= '\u20D0' && LA4_0 <= '\u20DC')||LA4_0=='\u20E1'||(LA4_0 >= '\u20E5' && LA4_0 <= '\u20EA')||LA4_0=='\u2102'||LA4_0=='\u2107'||(LA4_0 >= '\u210A' && LA4_0 <= '\u2113')||LA4_0=='\u2115'||(LA4_0 >= '\u2119' && LA4_0 <= '\u211D')||LA4_0=='\u2124'||LA4_0=='\u2126'||LA4_0=='\u2128'||(LA4_0 >= '\u212A' && LA4_0 <= '\u212D')||(LA4_0 >= '\u212F' && LA4_0 <= '\u2131')||(LA4_0 >= '\u2133' && LA4_0 <= '\u2139')||(LA4_0 >= '\u213D' && LA4_0 <= '\u213F')||(LA4_0 >= '\u2145' && LA4_0 <= '\u2149')||(LA4_0 >= '\u2160' && LA4_0 <= '\u2183')||LA4_0=='\u3000'||(LA4_0 >= '\u3005' && LA4_0 <= '\u3007')||(LA4_0 >= '\u3021' && LA4_0 <= '\u302F')||(LA4_0 >= '\u3031' && LA4_0 <= '\u3035')||(LA4_0 >= '\u3038' && LA4_0 <= '\u303C')||(LA4_0 >= '\u3041' && LA4_0 <= '\u3096')||(LA4_0 >= '\u3099' && LA4_0 <= '\u309A')||(LA4_0 >= '\u309D' && LA4_0 <= '\u309F')||(LA4_0 >= '\u30A1' && LA4_0 <= '\u30FF')||(LA4_0 >= '\u3105' && LA4_0 <= '\u312C')||(LA4_0 >= '\u3131' && LA4_0 <= '\u318E')||(LA4_0 >= '\u31A0' && LA4_0 <= '\u31B7')||(LA4_0 >= '\u31F0' && LA4_0 <= '\u31FF')||(LA4_0 >= '\u3400' && LA4_0 <= '\u4DB5')||(LA4_0 >= '\u4E00' && LA4_0 <= '\u9FA5')||(LA4_0 >= '\uA000' && LA4_0 <= '\uA48C')||(LA4_0 >= '\uAC00' && LA4_0 <= '\uD7A3')||(LA4_0 >= '\uF900' && LA4_0 <= '\uFA2D')||(LA4_0 >= '\uFA30' && LA4_0 <= '\uFA6A')||(LA4_0 >= '\uFB00' && LA4_0 <= '\uFB06')||(LA4_0 >= '\uFB13' && LA4_0 <= '\uFB17')||(LA4_0 >= '\uFB1D' && LA4_0 <= '\uFB28')||(LA4_0 >= '\uFB2A' && LA4_0 <= '\uFB36')||(LA4_0 >= '\uFB38' && LA4_0 <= '\uFB3C')||LA4_0=='\uFB3E'||(LA4_0 >= '\uFB40' && LA4_0 <= '\uFB41')||(LA4_0 >= '\uFB43' && LA4_0 <= '\uFB44')||(LA4_0 >= '\uFB46' && LA4_0 <= '\uFBB1')||(LA4_0 >= '\uFBD3' && LA4_0 <= '\uFD3D')||(LA4_0 >= '\uFD50' && LA4_0 <= '\uFD8F')||(LA4_0 >= '\uFD92' && LA4_0 <= '\uFDC7')||(LA4_0 >= '\uFDF0' && LA4_0 <= '\uFDFC')||(LA4_0 >= '\uFE00' && LA4_0 <= '\uFE0F')||(LA4_0 >= '\uFE20' && LA4_0 <= '\uFE23')||(LA4_0 >= '\uFE33' && LA4_0 <= '\uFE34')||(LA4_0 >= '\uFE4D' && LA4_0 <= '\uFE4F')||LA4_0=='\uFE69'||(LA4_0 >= '\uFE70' && LA4_0 <= '\uFE74')||(LA4_0 >= '\uFE76' && LA4_0 <= '\uFEFC')||LA4_0=='\uFEFF'||LA4_0=='\uFF04'||(LA4_0 >= '\uFF10' && LA4_0 <= '\uFF19')||(LA4_0 >= '\uFF21' && LA4_0 <= '\uFF3A')||LA4_0=='\uFF3F'||(LA4_0 >= '\uFF41' && LA4_0 <= '\uFF5A')||(LA4_0 >= '\uFF65' && LA4_0 <= '\uFFBE')||(LA4_0 >= '\uFFC2' && LA4_0 <= '\uFFC7')||(LA4_0 >= '\uFFCA' && LA4_0 <= '\uFFCF')||(LA4_0 >= '\uFFD2' && LA4_0 <= '\uFFD7')||(LA4_0 >= '\uFFDA' && LA4_0 <= '\uFFDC')||(LA4_0 >= '\uFFE0' && LA4_0 <= '\uFFE1')||(LA4_0 >= '\uFFE5' && LA4_0 <= '\uFFE6')||(LA4_0 >= '\uFFF9' && LA4_0 <= '\uFFFB')) ) {
			alt4=11;
		}

		else {
			if (state.backtracking>0) {state.failed=true; return;}
			NoViableAltException nvae =
				new NoViableAltException("", 4, 0, input);
			throw nvae;
		}

		switch (alt4) {
			case 1 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:10: WS
				{
				mWS(); if (state.failed) return;

				}
				break;
			case 2 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:13: EOL
				{
				mEOL(); if (state.failed) return;

				}
				break;
			case 3 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:17: LEFT_SQUARE
				{
				mLEFT_SQUARE(); if (state.failed) return;

				}
				break;
			case 4 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:29: RIGHT_SQUARE
				{
				mRIGHT_SQUARE(); if (state.failed) return;

				}
				break;
			case 5 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:42: LEFT_CURLY
				{
				mLEFT_CURLY(); if (state.failed) return;

				}
				break;
			case 6 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:53: RIGHT_CURLY
				{
				mRIGHT_CURLY(); if (state.failed) return;

				}
				break;
			case 7 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:65: EQUALS
				{
				mEQUALS(); if (state.failed) return;

				}
				break;
			case 8 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:72: DOT
				{
				mDOT(); if (state.failed) return;

				}
				break;
			case 9 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:76: COLON
				{
				mCOLON(); if (state.failed) return;

				}
				break;
			case 10 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:82: COMMA
				{
				mCOMMA(); if (state.failed) return;

				}
				break;
			case 11 :
				// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:1:88: LITERAL
				{
				mLITERAL(); if (state.failed) return;

				}
				break;

		}
	}
99737
public final void ruleXReturnExpression() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1446:2: ( ( ( rule__XReturnExpression__Group__0 ) ) )
            // InternalXbase.g:1447:2: ( ( rule__XReturnExpression__Group__0 ) )
            {
            // InternalXbase.g:1447:2: ( ( rule__XReturnExpression__Group__0 ) )
            // InternalXbase.g:1448:3: ( rule__XReturnExpression__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXReturnExpressionAccess().getGroup()); 
            }
            // InternalXbase.g:1449:3: ( rule__XReturnExpression__Group__0 )
            // InternalXbase.g:1449:4: rule__XReturnExpression__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XReturnExpression__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXReturnExpressionAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
473811
public final EObject ruleParenthesizedTerminalElement() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        Token otherlv_2=null;
        EObject this_TerminalAlternatives_1 = null;



        	enterRule();

        try {
            // InternalXtext.g:3265:2: ( (otherlv_0= '(' this_TerminalAlternatives_1= ruleTerminalAlternatives otherlv_2= ')' ) )
            // InternalXtext.g:3266:2: (otherlv_0= '(' this_TerminalAlternatives_1= ruleTerminalAlternatives otherlv_2= ')' )
            {
            // InternalXtext.g:3266:2: (otherlv_0= '(' this_TerminalAlternatives_1= ruleTerminalAlternatives otherlv_2= ')' )
            // InternalXtext.g:3267:3: otherlv_0= '(' this_TerminalAlternatives_1= ruleTerminalAlternatives otherlv_2= ')'
            {
            otherlv_0=(Token)match(input,15,FollowSets000.FOLLOW_47); 

            			newLeafNode(otherlv_0, grammarAccess.getParenthesizedTerminalElementAccess().getLeftParenthesisKeyword_0());
            		

            			newCompositeNode(grammarAccess.getParenthesizedTerminalElementAccess().getTerminalAlternativesParserRuleCall_1());
            		
            pushFollow(FollowSets000.FOLLOW_37);
            this_TerminalAlternatives_1=ruleTerminalAlternatives();

            state._fsp--;


            			current = this_TerminalAlternatives_1;
            			afterParserOrEnumRuleCall();
            		
            otherlv_2=(Token)match(input,16,FollowSets000.FOLLOW_2); 

            			newLeafNode(otherlv_2, grammarAccess.getParenthesizedTerminalElementAccess().getRightParenthesisKeyword_2());
            		

            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1210892
public final EObject ruleNegatedToken() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        EObject lv_terminal_1_0 = null;



        	enterRule();

        try {
            // InternalXtext.g:3336:2: ( (otherlv_0= '!' ( (lv_terminal_1_0= ruleTerminalTokenElement ) ) ) )
            // InternalXtext.g:3337:2: (otherlv_0= '!' ( (lv_terminal_1_0= ruleTerminalTokenElement ) ) )
            {
            // InternalXtext.g:3337:2: (otherlv_0= '!' ( (lv_terminal_1_0= ruleTerminalTokenElement ) ) )
            // InternalXtext.g:3338:3: otherlv_0= '!' ( (lv_terminal_1_0= ruleTerminalTokenElement ) )
            {
            otherlv_0=(Token)match(input,41,FollowSets000.FOLLOW_47); 

            			newLeafNode(otherlv_0, grammarAccess.getNegatedTokenAccess().getExclamationMarkKeyword_0());
            		
            // InternalXtext.g:3342:3: ( (lv_terminal_1_0= ruleTerminalTokenElement ) )
            // InternalXtext.g:3343:4: (lv_terminal_1_0= ruleTerminalTokenElement )
            {
            // InternalXtext.g:3343:4: (lv_terminal_1_0= ruleTerminalTokenElement )
            // InternalXtext.g:3344:5: lv_terminal_1_0= ruleTerminalTokenElement
            {

            					newCompositeNode(grammarAccess.getNegatedTokenAccess().getTerminalTerminalTokenElementParserRuleCall_1_0());
            				
            pushFollow(FollowSets000.FOLLOW_2);
            lv_terminal_1_0=ruleTerminalTokenElement();

            state._fsp--;


            					if (current==null) {
            						current = createModelElementForParent(grammarAccess.getNegatedTokenRule());
            					}
            					set(
            						current,
            						"terminal",
            						lv_terminal_1_0,
            						"org.eclipse.xtext.Xtext.TerminalTokenElement");
            					afterParserOrEnumRuleCall();
            				

            }


            }


            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1334954
public void mTokens() throws RecognitionException {
        // InternalXtext.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
        int alt12=47;
        alt12 = dfa12.predict(input);
        switch (alt12) {
            case 1 :
                // InternalXtext.g:1:10: T__11
                {
                mT__11(); 

                }
                break;
            case 2 :
                // InternalXtext.g:1:16: T__12
                {
                mT__12(); 

                }
                break;
            case 3 :
                // InternalXtext.g:1:22: T__13
                {
                mT__13(); 

                }
                break;
            case 4 :
                // InternalXtext.g:1:28: T__14
                {
                mT__14(); 

                }
                break;
            case 5 :
                // InternalXtext.g:1:34: T__15
                {
                mT__15(); 

                }
                break;
            case 6 :
                // InternalXtext.g:1:40: T__16
                {
                mT__16(); 

                }
                break;
            case 7 :
                // InternalXtext.g:1:46: T__17
                {
                mT__17(); 

                }
                break;
            case 8 :
                // InternalXtext.g:1:52: T__18
                {
                mT__18(); 

                }
                break;
            case 9 :
                // InternalXtext.g:1:58: T__19
                {
                mT__19(); 

                }
                break;
            case 10 :
                // InternalXtext.g:1:64: T__20
                {
                mT__20(); 

                }
                break;
            case 11 :
                // InternalXtext.g:1:70: T__21
                {
                mT__21(); 

                }
                break;
            case 12 :
                // InternalXtext.g:1:76: T__22
                {
                mT__22(); 

                }
                break;
            case 13 :
                // InternalXtext.g:1:82: T__23
                {
                mT__23(); 

                }
                break;
            case 14 :
                // InternalXtext.g:1:88: T__24
                {
                mT__24(); 

                }
                break;
            case 15 :
                // InternalXtext.g:1:94: T__25
                {
                mT__25(); 

                }
                break;
            case 16 :
                // InternalXtext.g:1:100: T__26
                {
                mT__26(); 

                }
                break;
            case 17 :
                // InternalXtext.g:1:106: T__27
                {
                mT__27(); 

                }
                break;
            case 18 :
                // InternalXtext.g:1:112: T__28
                {
                mT__28(); 

                }
                break;
            case 19 :
                // InternalXtext.g:1:118: T__29
                {
                mT__29(); 

                }
                break;
            case 20 :
                // InternalXtext.g:1:124: T__30
                {
                mT__30(); 

                }
                break;
            case 21 :
                // InternalXtext.g:1:130: T__31
                {
                mT__31(); 

                }
                break;
            case 22 :
                // InternalXtext.g:1:136: T__32
                {
                mT__32(); 

                }
                break;
            case 23 :
                // InternalXtext.g:1:142: T__33
                {
                mT__33(); 

                }
                break;
            case 24 :
                // InternalXtext.g:1:148: T__34
                {
                mT__34(); 

                }
                break;
            case 25 :
                // InternalXtext.g:1:154: T__35
                {
                mT__35(); 

                }
                break;
            case 26 :
                // InternalXtext.g:1:160: T__36
                {
                mT__36(); 

                }
                break;
            case 27 :
                // InternalXtext.g:1:166: T__37
                {
                mT__37(); 

                }
                break;
            case 28 :
                // InternalXtext.g:1:172: T__38
                {
                mT__38(); 

                }
                break;
            case 29 :
                // InternalXtext.g:1:178: T__39
                {
                mT__39(); 

                }
                break;
            case 30 :
                // InternalXtext.g:1:184: T__40
                {
                mT__40(); 

                }
                break;
            case 31 :
                // InternalXtext.g:1:190: T__41
                {
                mT__41(); 

                }
                break;
            case 32 :
                // InternalXtext.g:1:196: T__42
                {
                mT__42(); 

                }
                break;
            case 33 :
                // InternalXtext.g:1:202: T__43
                {
                mT__43(); 

                }
                break;
            case 34 :
                // InternalXtext.g:1:208: T__44
                {
                mT__44(); 

                }
                break;
            case 35 :
                // InternalXtext.g:1:214: T__45
                {
                mT__45(); 

                }
                break;
            case 36 :
                // InternalXtext.g:1:220: T__46
                {
                mT__46(); 

                }
                break;
            case 37 :
                // InternalXtext.g:1:226: T__47
                {
                mT__47(); 

                }
                break;
            case 38 :
                // InternalXtext.g:1:232: T__48
                {
                mT__48(); 

                }
                break;
            case 39 :
                // InternalXtext.g:1:238: T__49
                {
                mT__49(); 

                }
                break;
            case 40 :
                // InternalXtext.g:1:244: T__50
                {
                mT__50(); 

                }
                break;
            case 41 :
                // InternalXtext.g:1:250: RULE_ID
                {
                mRULE_ID(); 

                }
                break;
            case 42 :
                // InternalXtext.g:1:258: RULE_INT
                {
                mRULE_INT(); 

                }
                break;
            case 43 :
                // InternalXtext.g:1:267: RULE_STRING
                {
                mRULE_STRING(); 

                }
                break;
            case 44 :
                // InternalXtext.g:1:279: RULE_ML_COMMENT
                {
                mRULE_ML_COMMENT(); 

                }
                break;
            case 45 :
                // InternalXtext.g:1:295: RULE_SL_COMMENT
                {
                mRULE_SL_COMMENT(); 

                }
                break;
            case 46 :
                // InternalXtext.g:1:311: RULE_WS
                {
                mRULE_WS(); 

                }
                break;
            case 47 :
                // InternalXtext.g:1:319: RULE_ANY_OTHER
                {
                mRULE_ANY_OTHER(); 

                }
                break;

        }

    }
170468
public final void ruleXNullLiteral() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1321:2: ( ( ( rule__XNullLiteral__Group__0 ) ) )
            // InternalXbase.g:1322:2: ( ( rule__XNullLiteral__Group__0 ) )
            {
            // InternalXbase.g:1322:2: ( ( rule__XNullLiteral__Group__0 ) )
            // InternalXbase.g:1323:3: ( rule__XNullLiteral__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXNullLiteralAccess().getGroup()); 
            }
            // InternalXbase.g:1324:3: ( rule__XNullLiteral__Group__0 )
            // InternalXbase.g:1324:4: rule__XNullLiteral__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XNullLiteral__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXNullLiteralAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1241192
public final void entryRuleTerminalToken() throws RecognitionException {
        try {
            // InternalXtext.g:1171:1: ( ruleTerminalToken EOF )
            // InternalXtext.g:1172:1: ruleTerminalToken EOF
            {
             before(grammarAccess.getTerminalTokenRule()); 
            pushFollow(FollowSets000.FOLLOW_1);
            ruleTerminalToken();

            state._fsp--;

             after(grammarAccess.getTerminalTokenRule()); 
            match(input,EOF,FollowSets000.FOLLOW_2); 

            }

        }
        catch (RecognitionException re) {
            reportError(re);
            recover(input,re);
        }
        finally {
        }
        return ;
    }
15055
public final EObject ruleUntilToken() throws RecognitionException {
        EObject current = null;

        Token otherlv_0=null;
        EObject lv_terminal_1_0 = null;



        	enterRule();

        try {
            // InternalXtext.g:3378:2: ( (otherlv_0= '->' ( (lv_terminal_1_0= ruleTerminalTokenElement ) ) ) )
            // InternalXtext.g:3379:2: (otherlv_0= '->' ( (lv_terminal_1_0= ruleTerminalTokenElement ) ) )
            {
            // InternalXtext.g:3379:2: (otherlv_0= '->' ( (lv_terminal_1_0= ruleTerminalTokenElement ) ) )
            // InternalXtext.g:3380:3: otherlv_0= '->' ( (lv_terminal_1_0= ruleTerminalTokenElement ) )
            {
            otherlv_0=(Token)match(input,43,FollowSets000.FOLLOW_47); 

            			newLeafNode(otherlv_0, grammarAccess.getUntilTokenAccess().getHyphenMinusGreaterThanSignKeyword_0());
            		
            // InternalXtext.g:3384:3: ( (lv_terminal_1_0= ruleTerminalTokenElement ) )
            // InternalXtext.g:3385:4: (lv_terminal_1_0= ruleTerminalTokenElement )
            {
            // InternalXtext.g:3385:4: (lv_terminal_1_0= ruleTerminalTokenElement )
            // InternalXtext.g:3386:5: lv_terminal_1_0= ruleTerminalTokenElement
            {

            					newCompositeNode(grammarAccess.getUntilTokenAccess().getTerminalTerminalTokenElementParserRuleCall_1_0());
            				
            pushFollow(FollowSets000.FOLLOW_2);
            lv_terminal_1_0=ruleTerminalTokenElement();

            state._fsp--;


            					if (current==null) {
            						current = createModelElementForParent(grammarAccess.getUntilTokenRule());
            					}
            					set(
            						current,
            						"terminal",
            						lv_terminal_1_0,
            						"org.eclipse.xtext.Xtext.TerminalTokenElement");
            					afterParserOrEnumRuleCall();
            				

            }


            }


            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1355224
public final void ruleXCatchClause() throws RecognitionException {

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:1521:2: ( ( ( rule__XCatchClause__Group__0 ) ) )
            // InternalXbase.g:1522:2: ( ( rule__XCatchClause__Group__0 ) )
            {
            // InternalXbase.g:1522:2: ( ( rule__XCatchClause__Group__0 ) )
            // InternalXbase.g:1523:3: ( rule__XCatchClause__Group__0 )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getXCatchClauseAccess().getGroup()); 
            }
            // InternalXbase.g:1524:3: ( rule__XCatchClause__Group__0 )
            // InternalXbase.g:1524:4: rule__XCatchClause__Group__0
            {
            pushFollow(FOLLOW_2);
            rule__XCatchClause__Group__0();

            state._fsp--;
            if (state.failed) return ;

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getXCatchClauseAccess().getGroup()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }