$ANTLR start "RULE_ID"
333014
public final void mRULE_ID() throws RecognitionException {
        try {
            int _type = RULE_ID;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // InternalSARL.g:48763:9: ( ( '^' )? ( RULE_IDENTIFIER_START | RULE_UNICODE_ESCAPE ) ( RULE_IDENTIFIER_PART | RULE_UNICODE_ESCAPE )* )
            // InternalSARL.g:48763:11: ( '^' )? ( RULE_IDENTIFIER_START | RULE_UNICODE_ESCAPE ) ( RULE_IDENTIFIER_PART | RULE_UNICODE_ESCAPE )*
            {
            // InternalSARL.g:48763:11: ( '^' )?
            int alt1=2;
            int LA1_0 = input.LA(1);

            if ( (LA1_0=='^') ) {
                alt1=1;
            }
            switch (alt1) {
                case 1 :
                    // InternalSARL.g:48763:11: '^'
                    {
                    match('^'); 

                    }
                    break;

            }

            // InternalSARL.g:48763:16: ( RULE_IDENTIFIER_START | RULE_UNICODE_ESCAPE )
            int alt2=2;
            int LA2_0 = input.LA(1);

            if ( (LA2_0=='$'||(LA2_0>='A' && LA2_0<='Z')||LA2_0=='_'||(LA2_0>='a' && LA2_0<='z')||(LA2_0>='\u00A2' && LA2_0<='\u00A5')||LA2_0=='\u00AA'||LA2_0=='\u00B5'||LA2_0=='\u00BA'||(LA2_0>='\u00C0' && LA2_0<='\u00D6')||(LA2_0>='\u00D8' && LA2_0<='\u00F6')||(LA2_0>='\u00F8' && LA2_0<='\u0236')||(LA2_0>='\u0250' && LA2_0<='\u02C1')||(LA2_0>='\u02C6' && LA2_0<='\u02D1')||(LA2_0>='\u02E0' && LA2_0<='\u02E4')||LA2_0=='\u02EE'||LA2_0=='\u037A'||LA2_0=='\u0386'||(LA2_0>='\u0388' && LA2_0<='\u038A')||LA2_0=='\u038C'||(LA2_0>='\u038E' && LA2_0<='\u03A1')||(LA2_0>='\u03A3' && LA2_0<='\u03CE')||(LA2_0>='\u03D0' && LA2_0<='\u03F5')||(LA2_0>='\u03F7' && LA2_0<='\u03FB')||(LA2_0>='\u0400' && LA2_0<='\u0481')||(LA2_0>='\u048A' && LA2_0<='\u04CE')||(LA2_0>='\u04D0' && LA2_0<='\u04F5')||(LA2_0>='\u04F8' && LA2_0<='\u04F9')||(LA2_0>='\u0500' && LA2_0<='\u050F')||(LA2_0>='\u0531' && LA2_0<='\u0556')||LA2_0=='\u0559'||(LA2_0>='\u0561' && LA2_0<='\u0587')||(LA2_0>='\u05D0' && LA2_0<='\u05EA')||(LA2_0>='\u05F0' && LA2_0<='\u05F2')||(LA2_0>='\u0621' && LA2_0<='\u063A')||(LA2_0>='\u0640' && LA2_0<='\u064A')||(LA2_0>='\u066E' && LA2_0<='\u066F')||(LA2_0>='\u0671' && LA2_0<='\u06D3')||LA2_0=='\u06D5'||(LA2_0>='\u06E5' && LA2_0<='\u06E6')||(LA2_0>='\u06EE' && LA2_0<='\u06EF')||(LA2_0>='\u06FA' && LA2_0<='\u06FC')||LA2_0=='\u06FF'||LA2_0=='\u0710'||(LA2_0>='\u0712' && LA2_0<='\u072F')||(LA2_0>='\u074D' && LA2_0<='\u074F')||(LA2_0>='\u0780' && LA2_0<='\u07A5')||LA2_0=='\u07B1'||(LA2_0>='\u0904' && LA2_0<='\u0939')||LA2_0=='\u093D'||LA2_0=='\u0950'||(LA2_0>='\u0958' && LA2_0<='\u0961')||(LA2_0>='\u0985' && LA2_0<='\u098C')||(LA2_0>='\u098F' && LA2_0<='\u0990')||(LA2_0>='\u0993' && LA2_0<='\u09A8')||(LA2_0>='\u09AA' && LA2_0<='\u09B0')||LA2_0=='\u09B2'||(LA2_0>='\u09B6' && LA2_0<='\u09B9')||LA2_0=='\u09BD'||(LA2_0>='\u09DC' && LA2_0<='\u09DD')||(LA2_0>='\u09DF' && LA2_0<='\u09E1')||(LA2_0>='\u09F0' && LA2_0<='\u09F3')||(LA2_0>='\u0A05' && LA2_0<='\u0A0A')||(LA2_0>='\u0A0F' && LA2_0<='\u0A10')||(LA2_0>='\u0A13' && LA2_0<='\u0A28')||(LA2_0>='\u0A2A' && LA2_0<='\u0A30')||(LA2_0>='\u0A32' && LA2_0<='\u0A33')||(LA2_0>='\u0A35' && LA2_0<='\u0A36')||(LA2_0>='\u0A38' && LA2_0<='\u0A39')||(LA2_0>='\u0A59' && LA2_0<='\u0A5C')||LA2_0=='\u0A5E'||(LA2_0>='\u0A72' && LA2_0<='\u0A74')||(LA2_0>='\u0A85' && LA2_0<='\u0A8D')||(LA2_0>='\u0A8F' && LA2_0<='\u0A91')||(LA2_0>='\u0A93' && LA2_0<='\u0AA8')||(LA2_0>='\u0AAA' && LA2_0<='\u0AB0')||(LA2_0>='\u0AB2' && LA2_0<='\u0AB3')||(LA2_0>='\u0AB5' && LA2_0<='\u0AB9')||LA2_0=='\u0ABD'||LA2_0=='\u0AD0'||(LA2_0>='\u0AE0' && LA2_0<='\u0AE1')||LA2_0=='\u0AF1'||(LA2_0>='\u0B05' && LA2_0<='\u0B0C')||(LA2_0>='\u0B0F' && LA2_0<='\u0B10')||(LA2_0>='\u0B13' && LA2_0<='\u0B28')||(LA2_0>='\u0B2A' && LA2_0<='\u0B30')||(LA2_0>='\u0B32' && LA2_0<='\u0B33')||(LA2_0>='\u0B35' && LA2_0<='\u0B39')||LA2_0=='\u0B3D'||(LA2_0>='\u0B5C' && LA2_0<='\u0B5D')||(LA2_0>='\u0B5F' && LA2_0<='\u0B61')||LA2_0=='\u0B71'||LA2_0=='\u0B83'||(LA2_0>='\u0B85' && LA2_0<='\u0B8A')||(LA2_0>='\u0B8E' && LA2_0<='\u0B90')||(LA2_0>='\u0B92' && LA2_0<='\u0B95')||(LA2_0>='\u0B99' && LA2_0<='\u0B9A')||LA2_0=='\u0B9C'||(LA2_0>='\u0B9E' && LA2_0<='\u0B9F')||(LA2_0>='\u0BA3' && LA2_0<='\u0BA4')||(LA2_0>='\u0BA8' && LA2_0<='\u0BAA')||(LA2_0>='\u0BAE' && LA2_0<='\u0BB5')||(LA2_0>='\u0BB7' && LA2_0<='\u0BB9')||LA2_0=='\u0BF9'||(LA2_0>='\u0C05' && LA2_0<='\u0C0C')||(LA2_0>='\u0C0E' && LA2_0<='\u0C10')||(LA2_0>='\u0C12' && LA2_0<='\u0C28')||(LA2_0>='\u0C2A' && LA2_0<='\u0C33')||(LA2_0>='\u0C35' && LA2_0<='\u0C39')||(LA2_0>='\u0C60' && LA2_0<='\u0C61')||(LA2_0>='\u0C85' && LA2_0<='\u0C8C')||(LA2_0>='\u0C8E' && LA2_0<='\u0C90')||(LA2_0>='\u0C92' && LA2_0<='\u0CA8')||(LA2_0>='\u0CAA' && LA2_0<='\u0CB3')||(LA2_0>='\u0CB5' && LA2_0<='\u0CB9')||LA2_0=='\u0CBD'||LA2_0=='\u0CDE'||(LA2_0>='\u0CE0' && LA2_0<='\u0CE1')||(LA2_0>='\u0D05' && LA2_0<='\u0D0C')||(LA2_0>='\u0D0E' && LA2_0<='\u0D10')||(LA2_0>='\u0D12' && LA2_0<='\u0D28')||(LA2_0>='\u0D2A' && LA2_0<='\u0D39')||(LA2_0>='\u0D60' && LA2_0<='\u0D61')||(LA2_0>='\u0D85' && LA2_0<='\u0D96')||(LA2_0>='\u0D9A' && LA2_0<='\u0DB1')||(LA2_0>='\u0DB3' && LA2_0<='\u0DBB')||LA2_0=='\u0DBD'||(LA2_0>='\u0DC0' && LA2_0<='\u0DC6')||(LA2_0>='\u0E01' && LA2_0<='\u0E30')||(LA2_0>='\u0E32' && LA2_0<='\u0E33')||(LA2_0>='\u0E3F' && LA2_0<='\u0E46')||(LA2_0>='\u0E81' && LA2_0<='\u0E82')||LA2_0=='\u0E84'||(LA2_0>='\u0E87' && LA2_0<='\u0E88')||LA2_0=='\u0E8A'||LA2_0=='\u0E8D'||(LA2_0>='\u0E94' && LA2_0<='\u0E97')||(LA2_0>='\u0E99' && LA2_0<='\u0E9F')||(LA2_0>='\u0EA1' && LA2_0<='\u0EA3')||LA2_0=='\u0EA5'||LA2_0=='\u0EA7'||(LA2_0>='\u0EAA' && LA2_0<='\u0EAB')||(LA2_0>='\u0EAD' && LA2_0<='\u0EB0')||(LA2_0>='\u0EB2' && LA2_0<='\u0EB3')||LA2_0=='\u0EBD'||(LA2_0>='\u0EC0' && LA2_0<='\u0EC4')||LA2_0=='\u0EC6'||(LA2_0>='\u0EDC' && LA2_0<='\u0EDD')||LA2_0=='\u0F00'||(LA2_0>='\u0F40' && LA2_0<='\u0F47')||(LA2_0>='\u0F49' && LA2_0<='\u0F6A')||(LA2_0>='\u0F88' && LA2_0<='\u0F8B')||(LA2_0>='\u1000' && LA2_0<='\u1021')||(LA2_0>='\u1023' && LA2_0<='\u1027')||(LA2_0>='\u1029' && LA2_0<='\u102A')||(LA2_0>='\u1050' && LA2_0<='\u1055')||(LA2_0>='\u10A0' && LA2_0<='\u10C5')||(LA2_0>='\u10D0' && LA2_0<='\u10F8')||(LA2_0>='\u1100' && LA2_0<='\u1159')||(LA2_0>='\u115F' && LA2_0<='\u11A2')||(LA2_0>='\u11A8' && LA2_0<='\u11F9')||(LA2_0>='\u1200' && LA2_0<='\u1206')||(LA2_0>='\u1208' && LA2_0<='\u1246')||LA2_0=='\u1248'||(LA2_0>='\u124A' && LA2_0<='\u124D')||(LA2_0>='\u1250' && LA2_0<='\u1256')||LA2_0=='\u1258'||(LA2_0>='\u125A' && LA2_0<='\u125D')||(LA2_0>='\u1260' && LA2_0<='\u1286')||LA2_0=='\u1288'||(LA2_0>='\u128A' && LA2_0<='\u128D')||(LA2_0>='\u1290' && LA2_0<='\u12AE')||LA2_0=='\u12B0'||(LA2_0>='\u12B2' && LA2_0<='\u12B5')||(LA2_0>='\u12B8' && LA2_0<='\u12BE')||LA2_0=='\u12C0'||(LA2_0>='\u12C2' && LA2_0<='\u12C5')||(LA2_0>='\u12C8' && LA2_0<='\u12CE')||(LA2_0>='\u12D0' && LA2_0<='\u12D6')||(LA2_0>='\u12D8' && LA2_0<='\u12EE')||(LA2_0>='\u12F0' && LA2_0<='\u130E')||LA2_0=='\u1310'||(LA2_0>='\u1312' && LA2_0<='\u1315')||(LA2_0>='\u1318' && LA2_0<='\u131E')||(LA2_0>='\u1320' && LA2_0<='\u1346')||(LA2_0>='\u1348' && LA2_0<='\u135A')||(LA2_0>='\u13A0' && LA2_0<='\u13F4')||(LA2_0>='\u1401' && LA2_0<='\u166C')||(LA2_0>='\u166F' && LA2_0<='\u1676')||(LA2_0>='\u1681' && LA2_0<='\u169A')||(LA2_0>='\u16A0' && LA2_0<='\u16EA')||(LA2_0>='\u16EE' && LA2_0<='\u16F0')||(LA2_0>='\u1700' && LA2_0<='\u170C')||(LA2_0>='\u170E' && LA2_0<='\u1711')||(LA2_0>='\u1720' && LA2_0<='\u1731')||(LA2_0>='\u1740' && LA2_0<='\u1751')||(LA2_0>='\u1760' && LA2_0<='\u176C')||(LA2_0>='\u176E' && LA2_0<='\u1770')||(LA2_0>='\u1780' && LA2_0<='\u17B3')||LA2_0=='\u17D7'||(LA2_0>='\u17DB' && LA2_0<='\u17DC')||(LA2_0>='\u1820' && LA2_0<='\u1877')||(LA2_0>='\u1880' && LA2_0<='\u18A8')||(LA2_0>='\u1900' && LA2_0<='\u191C')||(LA2_0>='\u1950' && LA2_0<='\u196D')||(LA2_0>='\u1970' && LA2_0<='\u1974')||(LA2_0>='\u1D00' && LA2_0<='\u1D6B')||(LA2_0>='\u1E00' && LA2_0<='\u1E9B')||(LA2_0>='\u1EA0' && LA2_0<='\u1EF9')||(LA2_0>='\u1F00' && LA2_0<='\u1F15')||(LA2_0>='\u1F18' && LA2_0<='\u1F1D')||(LA2_0>='\u1F20' && LA2_0<='\u1F45')||(LA2_0>='\u1F48' && LA2_0<='\u1F4D')||(LA2_0>='\u1F50' && LA2_0<='\u1F57')||LA2_0=='\u1F59'||LA2_0=='\u1F5B'||LA2_0=='\u1F5D'||(LA2_0>='\u1F5F' && LA2_0<='\u1F7D')||(LA2_0>='\u1F80' && LA2_0<='\u1FB4')||(LA2_0>='\u1FB6' && LA2_0<='\u1FBC')||LA2_0=='\u1FBE'||(LA2_0>='\u1FC2' && LA2_0<='\u1FC4')||(LA2_0>='\u1FC6' && LA2_0<='\u1FCC')||(LA2_0>='\u1FD0' && LA2_0<='\u1FD3')||(LA2_0>='\u1FD6' && LA2_0<='\u1FDB')||(LA2_0>='\u1FE0' && LA2_0<='\u1FEC')||(LA2_0>='\u1FF2' && LA2_0<='\u1FF4')||(LA2_0>='\u1FF6' && LA2_0<='\u1FFC')||(LA2_0>='\u203F' && LA2_0<='\u2040')||LA2_0=='\u2054'||LA2_0=='\u2071'||LA2_0=='\u207F'||(LA2_0>='\u20A0' && LA2_0<='\u20B1')||LA2_0=='\u2102'||LA2_0=='\u2107'||(LA2_0>='\u210A' && LA2_0<='\u2113')||LA2_0=='\u2115'||(LA2_0>='\u2119' && LA2_0<='\u211D')||LA2_0=='\u2124'||LA2_0=='\u2126'||LA2_0=='\u2128'||(LA2_0>='\u212A' && LA2_0<='\u212D')||(LA2_0>='\u212F' && LA2_0<='\u2131')||(LA2_0>='\u2133' && LA2_0<='\u2139')||(LA2_0>='\u213D' && LA2_0<='\u213F')||(LA2_0>='\u2145' && LA2_0<='\u2149')||(LA2_0>='\u2160' && LA2_0<='\u2183')||(LA2_0>='\u3005' && LA2_0<='\u3007')||(LA2_0>='\u3021' && LA2_0<='\u3029')||(LA2_0>='\u3031' && LA2_0<='\u3035')||(LA2_0>='\u3038' && LA2_0<='\u303C')||(LA2_0>='\u3041' && LA2_0<='\u3096')||(LA2_0>='\u309D' && LA2_0<='\u309F')||(LA2_0>='\u30A1' && LA2_0<='\u30FF')||(LA2_0>='\u3105' && LA2_0<='\u312C')||(LA2_0>='\u3131' && LA2_0<='\u318E')||(LA2_0>='\u31A0' && LA2_0<='\u31B7')||(LA2_0>='\u31F0' && LA2_0<='\u31FF')||(LA2_0>='\u3400' && LA2_0<='\u4DB5')||(LA2_0>='\u4E00' && LA2_0<='\u9FA5')||(LA2_0>='\uA000' && LA2_0<='\uA48C')||(LA2_0>='\uAC00' && LA2_0<='\uD7A3')||(LA2_0>='\uF900' && LA2_0<='\uFA2D')||(LA2_0>='\uFA30' && LA2_0<='\uFA6A')||(LA2_0>='\uFB00' && LA2_0<='\uFB06')||(LA2_0>='\uFB13' && LA2_0<='\uFB17')||LA2_0=='\uFB1D'||(LA2_0>='\uFB1F' && LA2_0<='\uFB28')||(LA2_0>='\uFB2A' && LA2_0<='\uFB36')||(LA2_0>='\uFB38' && LA2_0<='\uFB3C')||LA2_0=='\uFB3E'||(LA2_0>='\uFB40' && LA2_0<='\uFB41')||(LA2_0>='\uFB43' && LA2_0<='\uFB44')||(LA2_0>='\uFB46' && LA2_0<='\uFBB1')||(LA2_0>='\uFBD3' && LA2_0<='\uFD3D')||(LA2_0>='\uFD50' && LA2_0<='\uFD8F')||(LA2_0>='\uFD92' && LA2_0<='\uFDC7')||(LA2_0>='\uFDF0' && LA2_0<='\uFDFC')||(LA2_0>='\uFE33' && LA2_0<='\uFE34')||(LA2_0>='\uFE4D' && LA2_0<='\uFE4F')||LA2_0=='\uFE69'||(LA2_0>='\uFE70' && LA2_0<='\uFE74')||(LA2_0>='\uFE76' && LA2_0<='\uFEFC')||LA2_0=='\uFF04'||(LA2_0>='\uFF21' && LA2_0<='\uFF3A')||LA2_0=='\uFF3F'||(LA2_0>='\uFF41' && LA2_0<='\uFF5A')||(LA2_0>='\uFF65' && LA2_0<='\uFFBE')||(LA2_0>='\uFFC2' && LA2_0<='\uFFC7')||(LA2_0>='\uFFCA' && LA2_0<='\uFFCF')||(LA2_0>='\uFFD2' && LA2_0<='\uFFD7')||(LA2_0>='\uFFDA' && LA2_0<='\uFFDC')||(LA2_0>='\uFFE0' && LA2_0<='\uFFE1')||(LA2_0>='\uFFE5' && LA2_0<='\uFFE6')) ) {
                alt2=1;
            }
            else if ( (LA2_0=='\\') ) {
                alt2=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 2, 0, input);

                throw nvae;
            }
            switch (alt2) {
                case 1 :
                    // InternalSARL.g:48763:17: RULE_IDENTIFIER_START
                    {
                    mRULE_IDENTIFIER_START(); 

                    }
                    break;
                case 2 :
                    // InternalSARL.g:48763:39: RULE_UNICODE_ESCAPE
                    {
                    mRULE_UNICODE_ESCAPE(); 

                    }
                    break;

            }

            // InternalSARL.g:48763:60: ( RULE_IDENTIFIER_PART | RULE_UNICODE_ESCAPE )*
            loop3:
            do {
                int alt3=3;
                int LA3_0 = input.LA(1);

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


                switch (alt3) {
            	case 1 :
            	    // InternalSARL.g:48763:61: RULE_IDENTIFIER_PART
            	    {
            	    mRULE_IDENTIFIER_PART(); 

            	    }
            	    break;
            	case 2 :
            	    // InternalSARL.g:48763:82: RULE_UNICODE_ESCAPE
            	    {
            	    mRULE_UNICODE_ESCAPE(); 

            	    }
            	    break;

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


            }

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

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXbase.g:446:2: ( ( ( rule__OpAdd__Alternatives ) ) )
            // InternalXbase.g:447:2: ( ( rule__OpAdd__Alternatives ) )
            {
            // InternalXbase.g:447:2: ( ( rule__OpAdd__Alternatives ) )
            // InternalXbase.g:448:3: ( rule__OpAdd__Alternatives )
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOpAddAccess().getAlternatives()); 
            }
            // InternalXbase.g:449:3: ( rule__OpAdd__Alternatives )
            // InternalXbase.g:449:4: rule__OpAdd__Alternatives
            {
            pushFollow(FOLLOW_2);
            rule__OpAdd__Alternatives();

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

            }

            if ( state.backtracking==0 ) {
               after(grammarAccess.getOpAddAccess().getAlternatives()); 
            }

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
474920
private String stringId() throws RecognitionException {
        if ( input.LA( 1 ) == DRL5Lexer.ID ) {
            Token id = match( input,
                              DRL5Lexer.ID,
                              null,
                              null,
                              DroolsEditorType.IDENTIFIER );
            if ( state.failed ) return null;
            return id.getText();
        } else if ( input.LA( 1 ) == DRL5Lexer.STRING ) {
            Token id = match( input,
                              DRL5Lexer.STRING,
                              null,
                              null,
                              DroolsEditorType.IDENTIFIER );
            if ( state.failed ) return null;
            return StringUtils.unescapeJava( safeStripStringDelimiters( id.getText() ) );
        } else {
            throw new MismatchedTokenException( DRL5Lexer.ID,
                                                input );
        }
    }
544094
public final AntlrDatatypeRuleToken ruleGrammarID() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token kw=null;
        AntlrDatatypeRuleToken this_ValidID_0 = null;

        AntlrDatatypeRuleToken this_ValidID_2 = null;



        	enterRule();

        try {
            // InternalXtext.g:265:2: ( (this_ValidID_0= ruleValidID (kw= '.' this_ValidID_2= ruleValidID )* ) )
            // InternalXtext.g:266:2: (this_ValidID_0= ruleValidID (kw= '.' this_ValidID_2= ruleValidID )* )
            {
            // InternalXtext.g:266:2: (this_ValidID_0= ruleValidID (kw= '.' this_ValidID_2= ruleValidID )* )
            // InternalXtext.g:267:3: this_ValidID_0= ruleValidID (kw= '.' this_ValidID_2= ruleValidID )*
            {

            			newCompositeNode(grammarAccess.getGrammarIDAccess().getValidIDParserRuleCall_0());
            		
            pushFollow(FollowSets000.FOLLOW_10);
            this_ValidID_0=ruleValidID();

            state._fsp--;


            			current.merge(this_ValidID_0);
            		

            			afterParserOrEnumRuleCall();
            		
            // InternalXtext.g:277:3: (kw= '.' this_ValidID_2= ruleValidID )*
            loop8:
            do {
                int alt8=2;
                int LA8_0 = input.LA(1);

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


                switch (alt8) {
            	case 1 :
            	    // InternalXtext.g:278:4: kw= '.' this_ValidID_2= ruleValidID
            	    {
            	    kw=(Token)match(input,17,FollowSets000.FOLLOW_3); 

            	    				current.merge(kw);
            	    				newLeafNode(kw, grammarAccess.getGrammarIDAccess().getFullStopKeyword_1_0());
            	    			

            	    				newCompositeNode(grammarAccess.getGrammarIDAccess().getValidIDParserRuleCall_1_1());
            	    			
            	    pushFollow(FollowSets000.FOLLOW_10);
            	    this_ValidID_2=ruleValidID();

            	    state._fsp--;


            	    				current.merge(this_ValidID_2);
            	    			

            	    				afterParserOrEnumRuleCall();
            	    			

            	    }
            	    break;

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


            }


            }


            	leaveRule();

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
1093090
public final void entryRuleOpAdd() throws RecognitionException {
        try {
            // InternalXbase.g:434:1: ( ruleOpAdd EOF )
            // InternalXbase.g:435:1: ruleOpAdd EOF
            {
            if ( state.backtracking==0 ) {
               before(grammarAccess.getOpAddRule()); 
            }
            pushFollow(FOLLOW_1);
            ruleOpAdd();

            state._fsp--;
            if (state.failed) return ;
            if ( state.backtracking==0 ) {
               after(grammarAccess.getOpAddRule()); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return ;

            }

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

            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;}


            }

        }
        finally {
        }
    }
813410
public void execute(int rule, int... ids) throws Exception{
        setCurrentRule(rule);
        for(int id: ids){
            Node node = currentRule.nodes().get(id);
            if(node.action== BufferAction.INSTANCE){
                System.out.println("BUFFERRING");
                parser.getBuffer().push();
            }else if(node.action instanceof PublishAction){
                PublishAction action = (PublishAction)node.action;
                Chars data = parser.getBuffer().pop(action.begin, action.end);
                System.out.println(action.name+"(\""+ StringUtil.toLiteral(data, false)+"\")");
            }else if(node.action instanceof EventAction){
                EventAction action = (EventAction)node.action;
                System.out.println(action.name+"()");
            }else if(node.action instanceof ErrorAction){
                ErrorAction action = (ErrorAction)node.action;
                System.out.println("error(\""+StringUtil.toLiteral(action.errorMessage, false)+"\")");
                fatalError(action.errorMessage);
            }
            scene.executing(node);
        }
    }
628198
public final String entryRuleIdOrInt() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleIdOrInt = null;


        try {
            // InternalSimpleAntlr.g:282:2: (iv_ruleIdOrInt= ruleIdOrInt EOF )
            // InternalSimpleAntlr.g:283:2: iv_ruleIdOrInt= ruleIdOrInt EOF
            {
            if ( state.backtracking==0 ) {
               newCompositeNode(grammarAccess.getIdOrIntRule()); 
            }
            pushFollow(FOLLOW_1);
            iv_ruleIdOrInt=ruleIdOrInt();

            state._fsp--;
            if (state.failed) return current;
            if ( state.backtracking==0 ) {
               current =iv_ruleIdOrInt.getText(); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return current;

            }

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

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:833:2: ( ( ( rule__ValidID__Alternatives ) ) )
            // InternalXtext.g:834:2: ( ( rule__ValidID__Alternatives ) )
            {
            // InternalXtext.g:834:2: ( ( rule__ValidID__Alternatives ) )
            // InternalXtext.g:835:3: ( rule__ValidID__Alternatives )
            {
             before(grammarAccess.getValidIDAccess().getAlternatives()); 
            // InternalXtext.g:836:3: ( rule__ValidID__Alternatives )
            // InternalXtext.g:836:4: rule__ValidID__Alternatives
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__ValidID__Alternatives();

            state._fsp--;


            }

             after(grammarAccess.getValidIDAccess().getAlternatives()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1344041
public final String entryRuleOpAnd() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleOpAnd = null;


        try {
            // InternalPureXbase.g:1206:45: (iv_ruleOpAnd= ruleOpAnd EOF )
            // InternalPureXbase.g:1207:2: iv_ruleOpAnd= ruleOpAnd EOF
            {
            if ( state.backtracking==0 ) {
               newCompositeNode(grammarAccess.getOpAndRule()); 
            }
            pushFollow(FOLLOW_1);
            iv_ruleOpAnd=ruleOpAnd();

            state._fsp--;
            if (state.failed) return current;
            if ( state.backtracking==0 ) {
               current =iv_ruleOpAnd.getText(); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return current;

            }

        }

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

        Token otherlv_1=null;
        Token otherlv_2=null;
        Token otherlv_5=null;
        AntlrDatatypeRuleToken lv_arrayDimensions_4_0 = null;



        	enterRule();

        try {
            // InternalXbase.g:4836:2: ( ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' ) )
            // InternalXbase.g:4837:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
            {
            // InternalXbase.g:4837:2: ( () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')' )
            // InternalXbase.g:4838:3: () otherlv_1= 'typeof' otherlv_2= '(' ( ( ruleQualifiedName ) ) ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )* otherlv_5= ')'
            {
            // InternalXbase.g:4838:3: ()
            // InternalXbase.g:4839:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getXTypeLiteralAccess().getXTypeLiteralAction_0(),
              					current);
              			
            }

            }

            otherlv_1=(Token)match(input,78,FOLLOW_44); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              			newLeafNode(otherlv_1, grammarAccess.getXTypeLiteralAccess().getTypeofKeyword_1());
              		
            }
            otherlv_2=(Token)match(input,49,FOLLOW_61); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              			newLeafNode(otherlv_2, grammarAccess.getXTypeLiteralAccess().getLeftParenthesisKeyword_2());
              		
            }
            // InternalXbase.g:4853:3: ( ( ruleQualifiedName ) )
            // InternalXbase.g:4854:4: ( ruleQualifiedName )
            {
            // InternalXbase.g:4854:4: ( ruleQualifiedName )
            // InternalXbase.g:4855:5: ruleQualifiedName
            {
            if ( state.backtracking==0 ) {

              					if (current==null) {
              						current = createModelElement(grammarAccess.getXTypeLiteralRule());
              					}
              				
            }
            if ( state.backtracking==0 ) {

              					newCompositeNode(grammarAccess.getXTypeLiteralAccess().getTypeJvmTypeCrossReference_3_0());
              				
            }
            pushFollow(FOLLOW_66);
            ruleQualifiedName();

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

              					afterParserOrEnumRuleCall();
              				
            }

            }


            }

            // InternalXbase.g:4869:3: ( (lv_arrayDimensions_4_0= ruleArrayBrackets ) )*
            loop82:
            do {
                int alt82=2;
                int LA82_0 = input.LA(1);

                if ( (LA82_0==54) ) {
                    alt82=1;
                }


                switch (alt82) {
            	case 1 :
            	    // InternalXbase.g:4870:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
            	    {
            	    // InternalXbase.g:4870:4: (lv_arrayDimensions_4_0= ruleArrayBrackets )
            	    // InternalXbase.g:4871:5: lv_arrayDimensions_4_0= ruleArrayBrackets
            	    {
            	    if ( state.backtracking==0 ) {

            	      					newCompositeNode(grammarAccess.getXTypeLiteralAccess().getArrayDimensionsArrayBracketsParserRuleCall_4_0());
            	      				
            	    }
            	    pushFollow(FOLLOW_66);
            	    lv_arrayDimensions_4_0=ruleArrayBrackets();

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

            	      					if (current==null) {
            	      						current = createModelElementForParent(grammarAccess.getXTypeLiteralRule());
            	      					}
            	      					add(
            	      						current,
            	      						"arrayDimensions",
            	      						lv_arrayDimensions_4_0,
            	      						"org.eclipse.xtext.xbase.Xtype.ArrayBrackets");
            	      					afterParserOrEnumRuleCall();
            	      				
            	    }

            	    }


            	    }
            	    break;

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

            otherlv_5=(Token)match(input,50,FOLLOW_2); if (state.failed) return current;
            if ( state.backtracking==0 ) {

              			newLeafNode(otherlv_5, grammarAccess.getXTypeLiteralAccess().getRightParenthesisKeyword_5());
              		
            }

            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

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

        		int stackSize = keepStackSize();
        	
        try {
            // InternalXtext.g:91:2: ( ( ( rule__GrammarID__Group__0 ) ) )
            // InternalXtext.g:92:2: ( ( rule__GrammarID__Group__0 ) )
            {
            // InternalXtext.g:92:2: ( ( rule__GrammarID__Group__0 ) )
            // InternalXtext.g:93:3: ( rule__GrammarID__Group__0 )
            {
             before(grammarAccess.getGrammarIDAccess().getGroup()); 
            // InternalXtext.g:94:3: ( rule__GrammarID__Group__0 )
            // InternalXtext.g:94:4: rule__GrammarID__Group__0
            {
            pushFollow(FollowSets000.FOLLOW_2);
            rule__GrammarID__Group__0();

            state._fsp--;


            }

             after(grammarAccess.getGrammarIDAccess().getGroup()); 

            }


            }

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

            	restoreStackSize(stackSize);

        }
        return ;
    }
1028679
public final EObject ruleXNumberLiteral() throws RecognitionException {
        EObject current = null;

        AntlrDatatypeRuleToken lv_value_1_0 = null;



        	enterRule();

        try {
            // InternalPureXbase.g:5368:2: ( ( () ( (lv_value_1_0= ruleNumber ) ) ) )
            // InternalPureXbase.g:5369:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
            {
            // InternalPureXbase.g:5369:2: ( () ( (lv_value_1_0= ruleNumber ) ) )
            // InternalPureXbase.g:5370:3: () ( (lv_value_1_0= ruleNumber ) )
            {
            // InternalPureXbase.g:5370:3: ()
            // InternalPureXbase.g:5371:4: 
            {
            if ( state.backtracking==0 ) {

              				current = forceCreateModelElement(
              					grammarAccess.getXNumberLiteralAccess().getXNumberLiteralAction_0(),
              					current);
              			
            }

            }

            // InternalPureXbase.g:5377:3: ( (lv_value_1_0= ruleNumber ) )
            // InternalPureXbase.g:5378:4: (lv_value_1_0= ruleNumber )
            {
            // InternalPureXbase.g:5378:4: (lv_value_1_0= ruleNumber )
            // InternalPureXbase.g:5379:5: lv_value_1_0= ruleNumber
            {
            if ( state.backtracking==0 ) {

              					newCompositeNode(grammarAccess.getXNumberLiteralAccess().getValueNumberParserRuleCall_1_0());
              				
            }
            pushFollow(FOLLOW_2);
            lv_value_1_0=ruleNumber();

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

              					if (current==null) {
              						current = createModelElementForParent(grammarAccess.getXNumberLiteralRule());
              					}
              					set(
              						current,
              						"value",
              						lv_value_1_0,
              						"org.eclipse.xtext.xbase.Xbase.Number");
              					afterParserOrEnumRuleCall();
              				
            }

            }


            }


            }


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
366639
public final void mRULE_STRING() throws RecognitionException {
        try {
            int _type = RULE_STRING;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // InternalPureXbase.g:6887:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? ) )
            // InternalPureXbase.g:6887:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
            {
            // InternalPureXbase.g:6887:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )? | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )? )
            int alt15=2;
            int LA15_0 = input.LA(1);

            if ( (LA15_0=='\"') ) {
                alt15=1;
            }
            else if ( (LA15_0=='\'') ) {
                alt15=2;
            }
            else {
                NoViableAltException nvae =
                    new NoViableAltException("", 15, 0, input);

                throw nvae;
            }
            switch (alt15) {
                case 1 :
                    // InternalPureXbase.g:6887:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* ( '\"' )?
                    {
                    match('\"'); 
                    // InternalPureXbase.g:6887:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
                    loop11:
                    do {
                        int alt11=3;
                        int LA11_0 = input.LA(1);

                        if ( (LA11_0=='\\') ) {
                            alt11=1;
                        }
                        else if ( ((LA11_0>='\u0000' && LA11_0<='!')||(LA11_0>='#' && LA11_0<='[')||(LA11_0>=']' && LA11_0<='\uFFFF')) ) {
                            alt11=2;
                        }


                        switch (alt11) {
                    	case 1 :
                    	    // InternalPureXbase.g:6887:21: '\\\\' .
                    	    {
                    	    match('\\'); 
                    	    matchAny(); 

                    	    }
                    	    break;
                    	case 2 :
                    	    // InternalPureXbase.g:6887:28: ~ ( ( '\\\\' | '\"' ) )
                    	    {
                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}


                    	    }
                    	    break;

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

                    // InternalPureXbase.g:6887:44: ( '\"' )?
                    int alt12=2;
                    int LA12_0 = input.LA(1);

                    if ( (LA12_0=='\"') ) {
                        alt12=1;
                    }
                    switch (alt12) {
                        case 1 :
                            // InternalPureXbase.g:6887:44: '\"'
                            {
                            match('\"'); 

                            }
                            break;

                    }


                    }
                    break;
                case 2 :
                    // InternalPureXbase.g:6887:49: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* ( '\\'' )?
                    {
                    match('\''); 
                    // InternalPureXbase.g:6887:54: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
                    loop13:
                    do {
                        int alt13=3;
                        int LA13_0 = input.LA(1);

                        if ( (LA13_0=='\\') ) {
                            alt13=1;
                        }
                        else if ( ((LA13_0>='\u0000' && LA13_0<='&')||(LA13_0>='(' && LA13_0<='[')||(LA13_0>=']' && LA13_0<='\uFFFF')) ) {
                            alt13=2;
                        }


                        switch (alt13) {
                    	case 1 :
                    	    // InternalPureXbase.g:6887:55: '\\\\' .
                    	    {
                    	    match('\\'); 
                    	    matchAny(); 

                    	    }
                    	    break;
                    	case 2 :
                    	    // InternalPureXbase.g:6887:62: ~ ( ( '\\\\' | '\\'' ) )
                    	    {
                    	    if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
                    	        input.consume();

                    	    }
                    	    else {
                    	        MismatchedSetException mse = new MismatchedSetException(null,input);
                    	        recover(mse);
                    	        throw mse;}


                    	    }
                    	    break;

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

                    // InternalPureXbase.g:6887:79: ( '\\'' )?
                    int alt14=2;
                    int LA14_0 = input.LA(1);

                    if ( (LA14_0=='\'') ) {
                        alt14=1;
                    }
                    switch (alt14) {
                        case 1 :
                            // InternalPureXbase.g:6887:79: '\\''
                            {
                            match('\''); 

                            }
                            break;

                    }


                    }
                    break;

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        }
    }
471174
public final void qualifiedName() throws RecognitionException {
		int qualifiedName_StartIndex = input.index();

		try {
			if ( state.backtracking>0 && alreadyParsedRule(input, 60) ) { return; }

			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:583:5: ( Identifier ( '.' Identifier )* )
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:583:7: Identifier ( '.' Identifier )*
			{
			match(input,Identifier,FOLLOW_Identifier_in_qualifiedName2123); if (state.failed) return;
			// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:583:18: ( '.' Identifier )*
			loop83:
			while (true) {
				int alt83=2;
				int LA83_0 = input.LA(1);
				if ( (LA83_0==47) ) {
					alt83=1;
				}

				switch (alt83) {
				case 1 :
					// src/main/resources/org/drools/compiler/semantics/java/parser/Java.g:583:19: '.' Identifier
					{
					match(input,47,FOLLOW_47_in_qualifiedName2126); if (state.failed) return;
					match(input,Identifier,FOLLOW_Identifier_in_qualifiedName2128); if (state.failed) return;
					}
					break;

				default :
					break loop83;
				}
			}

			}

		}
		catch (RecognitionException re) {
			reportError(re);
			recover(input,re);
		}
		finally {
			// do for sure before leaving
			if ( state.backtracking>0 ) { memoize(input, 60, qualifiedName_StartIndex); }

		}
	}
870855
public final String entryRuleFeatureCallID() throws RecognitionException {
        String current = null;

        AntlrDatatypeRuleToken iv_ruleFeatureCallID = null;


        try {
            // InternalSARL.g:9873:53: (iv_ruleFeatureCallID= ruleFeatureCallID EOF )
            // InternalSARL.g:9874:2: iv_ruleFeatureCallID= ruleFeatureCallID EOF
            {
            if ( state.backtracking==0 ) {
               newCompositeNode(grammarAccess.getFeatureCallIDRule()); 
            }
            pushFollow(FOLLOW_1);
            iv_ruleFeatureCallID=ruleFeatureCallID();

            state._fsp--;
            if (state.failed) return current;
            if ( state.backtracking==0 ) {
               current =iv_ruleFeatureCallID.getText(); 
            }
            match(input,EOF,FOLLOW_2); if (state.failed) return current;

            }

        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }
686011
public final AntlrDatatypeRuleToken ruleQualifiedNameInStaticImport() throws RecognitionException {
        AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();

        Token kw=null;
        AntlrDatatypeRuleToken this_ValidID_0 = null;



        	enterRule();

        try {
            // InternalXbase.g:6329:2: ( (this_ValidID_0= ruleValidID kw= '.' )+ )
            // InternalXbase.g:6330:2: (this_ValidID_0= ruleValidID kw= '.' )+
            {
            // InternalXbase.g:6330:2: (this_ValidID_0= ruleValidID kw= '.' )+
            int cnt110=0;
            loop110:
            do {
                int alt110=2;
                int LA110_0 = input.LA(1);

                if ( (LA110_0==RULE_ID) ) {
                    int LA110_2 = input.LA(2);

                    if ( (LA110_2==45) ) {
                        alt110=1;
                    }


                }


                switch (alt110) {
            	case 1 :
            	    // InternalXbase.g:6331:3: this_ValidID_0= ruleValidID kw= '.'
            	    {
            	    if ( state.backtracking==0 ) {

            	      			newCompositeNode(grammarAccess.getQualifiedNameInStaticImportAccess().getValidIDParserRuleCall_0());
            	      		
            	    }
            	    pushFollow(FOLLOW_78);
            	    this_ValidID_0=ruleValidID();

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

            	      			current.merge(this_ValidID_0);
            	      		
            	    }
            	    if ( state.backtracking==0 ) {

            	      			afterParserOrEnumRuleCall();
            	      		
            	    }
            	    kw=(Token)match(input,45,FOLLOW_84); if (state.failed) return current;
            	    if ( state.backtracking==0 ) {

            	      			current.merge(kw);
            	      			newLeafNode(kw, grammarAccess.getQualifiedNameInStaticImportAccess().getFullStopKeyword_1());
            	      		
            	    }

            	    }
            	    break;

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


            }

            if ( state.backtracking==0 ) {

              	leaveRule();

            }
        }

            catch (RecognitionException re) {
                recover(input,re);
                appendSkippedTokens();
            }
        finally {
        }
        return current;
    }