Search in sources :

Example 71 with RewriteRuleTokenStream

use of org.antlr.runtime.tree.RewriteRuleTokenStream in project drools by kiegroup.

the class DSLMapParser method entry.

// $ANTLR start "entry"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:1: entry : scope_section ( meta_section )? key_section EQUALS ( value_section )? ( EOL | EOF ) -> ^( VT_ENTRY scope_section ( meta_section )? key_section ( value_section )? ) ;
public final DSLMapParser.entry_return entry() throws RecognitionException {
    DSLMapParser.entry_return retval = new DSLMapParser.entry_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    Token EQUALS7 = null;
    Token EOL9 = null;
    Token EOF10 = null;
    ParserRuleReturnScope scope_section4 = null;
    ParserRuleReturnScope meta_section5 = null;
    ParserRuleReturnScope key_section6 = null;
    ParserRuleReturnScope value_section8 = null;
    Object EQUALS7_tree = null;
    Object EOL9_tree = null;
    Object EOF10_tree = null;
    RewriteRuleTokenStream stream_EQUALS = new RewriteRuleTokenStream(adaptor, "token EQUALS");
    RewriteRuleTokenStream stream_EOL = new RewriteRuleTokenStream(adaptor, "token EOL");
    RewriteRuleTokenStream stream_EOF = new RewriteRuleTokenStream(adaptor, "token EOF");
    RewriteRuleSubtreeStream stream_meta_section = new RewriteRuleSubtreeStream(adaptor, "rule meta_section");
    RewriteRuleSubtreeStream stream_key_section = new RewriteRuleSubtreeStream(adaptor, "rule key_section");
    RewriteRuleSubtreeStream stream_scope_section = new RewriteRuleSubtreeStream(adaptor, "rule scope_section");
    RewriteRuleSubtreeStream stream_value_section = new RewriteRuleSubtreeStream(adaptor, "rule value_section");
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:8: ( scope_section ( meta_section )? key_section EQUALS ( value_section )? ( EOL | EOF ) -> ^( VT_ENTRY scope_section ( meta_section )? key_section ( value_section )? ) )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:10: scope_section ( meta_section )? key_section EQUALS ( value_section )? ( EOL | EOF )
        {
            pushFollow(FOLLOW_scope_section_in_entry336);
            scope_section4 = scope_section();
            state._fsp--;
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_scope_section.add(scope_section4.getTree());
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:24: ( meta_section )?
            int alt3 = 2;
            int LA3_0 = input.LA(1);
            if ((LA3_0 == LEFT_SQUARE)) {
                int LA3_1 = input.LA(2);
                if ((LA3_1 == LITERAL)) {
                    int LA3_3 = input.LA(3);
                    if ((LA3_3 == RIGHT_SQUARE)) {
                        int LA3_5 = input.LA(4);
                        if ((synpred3_DSLMap())) {
                            alt3 = 1;
                        }
                    }
                } else if ((LA3_1 == RIGHT_SQUARE)) {
                    int LA3_4 = input.LA(3);
                    if ((synpred3_DSLMap())) {
                        alt3 = 1;
                    }
                }
            }
            switch(alt3) {
                case 1:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:24: meta_section
                    {
                        pushFollow(FOLLOW_meta_section_in_entry338);
                        meta_section5 = meta_section();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_meta_section.add(meta_section5.getTree());
                    }
                    break;
            }
            pushFollow(FOLLOW_key_section_in_entry341);
            key_section6 = key_section();
            state._fsp--;
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_key_section.add(key_section6.getTree());
            EQUALS7 = (Token) match(input, EQUALS, FOLLOW_EQUALS_in_entry343);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_EQUALS.add(EQUALS7);
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:57: ( value_section )?
            int alt4 = 2;
            int LA4_0 = input.LA(1);
            if (((LA4_0 >= COLON && LA4_0 <= DOT) || LA4_0 == EQUALS || (LA4_0 >= LEFT_CURLY && LA4_0 <= LITERAL) || LA4_0 == RIGHT_SQUARE)) {
                alt4 = 1;
            }
            switch(alt4) {
                case 1:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:57: value_section
                    {
                        pushFollow(FOLLOW_value_section_in_entry345);
                        value_section8 = value_section();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_value_section.add(value_section8.getTree());
                    }
                    break;
            }
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:72: ( EOL | EOF )
            int alt5 = 2;
            int LA5_0 = input.LA(1);
            if ((LA5_0 == EOL)) {
                alt5 = 1;
            } else if ((LA5_0 == EOF)) {
                alt5 = 2;
            } else {
                if (state.backtracking > 0) {
                    state.failed = true;
                    return retval;
                }
                NoViableAltException nvae = new NoViableAltException("", 5, 0, input);
                throw nvae;
            }
            switch(alt5) {
                case 1:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:73: EOL
                    {
                        EOL9 = (Token) match(input, EOL, FOLLOW_EOL_in_entry349);
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_EOL.add(EOL9);
                    }
                    break;
                case 2:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:119:77: EOF
                    {
                        EOF10 = (Token) match(input, EOF, FOLLOW_EOF_in_entry351);
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_EOF.add(EOF10);
                    }
                    break;
            }
            // wildcard labels:
            if (state.backtracking == 0) {
                retval.tree = root_0;
                RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.getTree() : null);
                root_0 = (Object) adaptor.nil();
                // 120:5: -> ^( VT_ENTRY scope_section ( meta_section )? key_section ( value_section )? )
                {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:120:8: ^( VT_ENTRY scope_section ( meta_section )? key_section ( value_section )? )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_ENTRY, "VT_ENTRY"), root_1);
                        adaptor.addChild(root_1, stream_scope_section.nextTree());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:120:33: ( meta_section )?
                        if (stream_meta_section.hasNext()) {
                            adaptor.addChild(root_1, stream_meta_section.nextTree());
                        }
                        stream_meta_section.reset();
                        adaptor.addChild(root_1, stream_key_section.nextTree());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:120:59: ( value_section )?
                        if (stream_value_section.hasNext()) {
                            adaptor.addChild(root_1, stream_value_section.nextTree());
                        }
                        stream_value_section.reset();
                        adaptor.addChild(root_0, root_1);
                    }
                }
                retval.tree = root_0;
            }
        }
        retval.stop = input.LT(-1);
        if (state.backtracking == 0) {
            retval.tree = (Object) adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
        }
    } catch (RecognitionException e) {
        reportError(e);
    } catch (RewriteEmptyStreamException e) {
    } finally {
    // do for sure before leaving
    }
    return retval;
}
Also used : RewriteRuleTokenStream(org.antlr.runtime.tree.RewriteRuleTokenStream) RewriteEmptyStreamException(org.antlr.runtime.tree.RewriteEmptyStreamException) NoViableAltException(org.antlr.runtime.NoViableAltException) RewriteRuleSubtreeStream(org.antlr.runtime.tree.RewriteRuleSubtreeStream) Token(org.antlr.runtime.Token) CommonToken(org.antlr.runtime.CommonToken) ParserRuleReturnScope(org.antlr.runtime.ParserRuleReturnScope) RecognitionException(org.antlr.runtime.RecognitionException)

Example 72 with RewriteRuleTokenStream

use of org.antlr.runtime.tree.RewriteRuleTokenStream in project drools by kiegroup.

the class DSLMapParser method keyword_key.

// $ANTLR start "keyword_key"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:261:1: keyword_key :{...}?value= LITERAL -> VT_KEYWORD[$value] ;
public final DSLMapParser.keyword_key_return keyword_key() throws RecognitionException {
    DSLMapParser.keyword_key_return retval = new DSLMapParser.keyword_key_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    Token value = null;
    Object value_tree = null;
    RewriteRuleTokenStream stream_LITERAL = new RewriteRuleTokenStream(adaptor, "token LITERAL");
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:262:5: ({...}?value= LITERAL -> VT_KEYWORD[$value] )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:262:7: {...}?value= LITERAL
        {
            if (!((validateIdentifierKey("keyword")))) {
                if (state.backtracking > 0) {
                    state.failed = true;
                    return retval;
                }
                throw new FailedPredicateException(input, "keyword_key", "validateIdentifierKey(\"keyword\")");
            }
            value = (Token) match(input, LITERAL, FOLLOW_LITERAL_in_keyword_key1663);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_LITERAL.add(value);
            // wildcard labels:
            if (state.backtracking == 0) {
                retval.tree = root_0;
                RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.getTree() : null);
                root_0 = (Object) adaptor.nil();
                // 263:5: -> VT_KEYWORD[$value]
                {
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_KEYWORD, value));
                }
                retval.tree = root_0;
            }
        }
        retval.stop = input.LT(-1);
        if (state.backtracking == 0) {
            retval.tree = (Object) adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
        }
    } catch (RecognitionException re) {
        reportError(re);
        recover(input, re);
        retval.tree = (Object) adaptor.errorNode(input, retval.start, input.LT(-1), re);
    } finally {
    // do for sure before leaving
    }
    return retval;
}
Also used : RewriteRuleTokenStream(org.antlr.runtime.tree.RewriteRuleTokenStream) RewriteRuleSubtreeStream(org.antlr.runtime.tree.RewriteRuleSubtreeStream) Token(org.antlr.runtime.Token) CommonToken(org.antlr.runtime.CommonToken) FailedPredicateException(org.antlr.runtime.FailedPredicateException) RecognitionException(org.antlr.runtime.RecognitionException)

Example 73 with RewriteRuleTokenStream

use of org.antlr.runtime.tree.RewriteRuleTokenStream in project drools by kiegroup.

the class DSLMapParser method variable_definition.

// $ANTLR start "variable_definition"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:190:1: variable_definition : lc= LEFT_CURLY name= LITERAL ( ( COLON q= LITERAL )? COLON pat= pattern )? rc= RIGHT_CURLY -> { hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) -> { hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) -> { hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) VT_SPACE -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) VT_SPACE -> { hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) VT_SPACE -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) VT_SPACE -> ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) ;
public final DSLMapParser.variable_definition_return variable_definition() throws RecognitionException {
    DSLMapParser.variable_definition_return retval = new DSLMapParser.variable_definition_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    Token lc = null;
    Token name = null;
    Token q = null;
    Token rc = null;
    Token COLON25 = null;
    Token COLON26 = null;
    ParserRuleReturnScope pat = null;
    Object lc_tree = null;
    Object name_tree = null;
    Object q_tree = null;
    Object rc_tree = null;
    Object COLON25_tree = null;
    Object COLON26_tree = null;
    RewriteRuleTokenStream stream_COLON = new RewriteRuleTokenStream(adaptor, "token COLON");
    RewriteRuleTokenStream stream_LITERAL = new RewriteRuleTokenStream(adaptor, "token LITERAL");
    RewriteRuleTokenStream stream_RIGHT_CURLY = new RewriteRuleTokenStream(adaptor, "token RIGHT_CURLY");
    RewriteRuleTokenStream stream_LEFT_CURLY = new RewriteRuleTokenStream(adaptor, "token LEFT_CURLY");
    RewriteRuleSubtreeStream stream_pattern = new RewriteRuleSubtreeStream(adaptor, "rule pattern");
    String text = "";
    boolean hasSpaceBefore = false;
    boolean hasSpaceAfter = false;
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:196:5: (lc= LEFT_CURLY name= LITERAL ( ( COLON q= LITERAL )? COLON pat= pattern )? rc= RIGHT_CURLY -> { hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) -> { hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) -> { hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) VT_SPACE -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) VT_SPACE -> { hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) VT_SPACE -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) VT_SPACE -> ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:196:7: lc= LEFT_CURLY name= LITERAL ( ( COLON q= LITERAL )? COLON pat= pattern )? rc= RIGHT_CURLY
        {
            lc = (Token) match(input, LEFT_CURLY, FOLLOW_LEFT_CURLY_in_variable_definition809);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_LEFT_CURLY.add(lc);
            if (state.backtracking == 0) {
                CommonToken back2 = (CommonToken) input.LT(-2);
                if (back2 != null && back2.getStopIndex() < ((CommonToken) lc).getStartIndex() - 1)
                    hasSpaceBefore = true;
            }
            name = (Token) match(input, LITERAL, FOLLOW_LITERAL_in_variable_definition827);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_LITERAL.add(name);
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:201:18: ( ( COLON q= LITERAL )? COLON pat= pattern )?
            int alt15 = 2;
            int LA15_0 = input.LA(1);
            if ((LA15_0 == COLON)) {
                alt15 = 1;
            }
            switch(alt15) {
                case 1:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:201:20: ( COLON q= LITERAL )? COLON pat= pattern
                    {
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:201:20: ( COLON q= LITERAL )?
                        int alt14 = 2;
                        int LA14_0 = input.LA(1);
                        if ((LA14_0 == COLON)) {
                            int LA14_1 = input.LA(2);
                            if ((LA14_1 == LITERAL)) {
                                int LA14_2 = input.LA(3);
                                if ((LA14_2 == COLON)) {
                                    int LA14_4 = input.LA(4);
                                    if ((synpred22_DSLMap())) {
                                        alt14 = 1;
                                    }
                                }
                            }
                        }
                        switch(alt14) {
                            case 1:
                                // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:201:21: COLON q= LITERAL
                                {
                                    COLON25 = (Token) match(input, COLON, FOLLOW_COLON_in_variable_definition832);
                                    if (state.failed)
                                        return retval;
                                    if (state.backtracking == 0)
                                        stream_COLON.add(COLON25);
                                    q = (Token) match(input, LITERAL, FOLLOW_LITERAL_in_variable_definition836);
                                    if (state.failed)
                                        return retval;
                                    if (state.backtracking == 0)
                                        stream_LITERAL.add(q);
                                }
                                break;
                        }
                        COLON26 = (Token) match(input, COLON, FOLLOW_COLON_in_variable_definition840);
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_COLON.add(COLON26);
                        pushFollow(FOLLOW_pattern_in_variable_definition844);
                        pat = pattern();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_pattern.add(pat.getTree());
                        if (state.backtracking == 0) {
                            text = (pat != null ? input.toString(pat.start, pat.stop) : null);
                        }
                    }
                    break;
            }
            rc = (Token) match(input, RIGHT_CURLY, FOLLOW_RIGHT_CURLY_in_variable_definition853);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_RIGHT_CURLY.add(rc);
            if (state.backtracking == 0) {
                CommonToken rc1 = (CommonToken) input.LT(1);
                if (!"=".equals(rc1.getText()) && ((CommonToken) rc).getStopIndex() < rc1.getStartIndex() - 1)
                    hasSpaceAfter = true;
                isIdentifier(name);
            }
            // wildcard labels:
            if (state.backtracking == 0) {
                retval.tree = root_0;
                RewriteRuleTokenStream stream_q = new RewriteRuleTokenStream(adaptor, "token q", q);
                RewriteRuleTokenStream stream_name = new RewriteRuleTokenStream(adaptor, "token name", name);
                RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.getTree() : null);
                root_0 = (Object) adaptor.nil();
                // 208:5: -> { hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] )
                if (hasSpaceBefore && !"".equals(text) && !hasSpaceAfter) {
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:208:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:208:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:208:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_1, (Object) adaptor.create(VT_PATTERN, (pat != null ? (pat.start) : null), text));
                        adaptor.addChild(root_0, root_1);
                    }
                } else // 209:5: -> {!hasSpaceBefore && !\"\".equals(text) && !hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] )
                if (!hasSpaceBefore && !"".equals(text) && !hasSpaceAfter) {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:209:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:209:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:209:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_1, (Object) adaptor.create(VT_PATTERN, (pat != null ? (pat.start) : null), text));
                        adaptor.addChild(root_0, root_1);
                    }
                } else // 210:5: -> { hasSpaceBefore && !hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                if (hasSpaceBefore && !hasSpaceAfter) {
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:210:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:210:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:210:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_0, root_1);
                    }
                } else // 211:5: -> {!hasSpaceBefore && !hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                if (!hasSpaceBefore && !hasSpaceAfter) {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:211:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:211:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:211:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_0, root_1);
                    }
                } else // 212:5: -> { hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) VT_SPACE
                if (hasSpaceBefore && !"".equals(text) && hasSpaceAfter) {
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:212:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:212:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:212:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_1, (Object) adaptor.create(VT_PATTERN, (pat != null ? (pat.start) : null), text));
                        adaptor.addChild(root_0, root_1);
                    }
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                } else // 213:5: -> {!hasSpaceBefore && !\"\".equals(text) && hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] ) VT_SPACE
                if (!hasSpaceBefore && !"".equals(text) && hasSpaceAfter) {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:213:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) VT_PATTERN[$pat.start, text] )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:213:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:213:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_1, (Object) adaptor.create(VT_PATTERN, (pat != null ? (pat.start) : null), text));
                        adaptor.addChild(root_0, root_1);
                    }
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                } else // 214:5: -> { hasSpaceBefore && hasSpaceAfter}? VT_SPACE ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) VT_SPACE
                if (hasSpaceBefore && hasSpaceAfter) {
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:214:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:214:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:214:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_0, root_1);
                    }
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                } else // 215:5: -> {!hasSpaceBefore && hasSpaceAfter}? ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) ) VT_SPACE
                if (!hasSpaceBefore && hasSpaceAfter) {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:215:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:215:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:215:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_0, root_1);
                    }
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_SPACE, "VT_SPACE"));
                } else // 216:5: -> ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:216:74: ^( VT_VAR_DEF $name ^( VT_QUAL ( $q)? ) )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_VAR_DEF, "VT_VAR_DEF"), root_1);
                        adaptor.addChild(root_1, stream_name.nextNode());
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:216:93: ^( VT_QUAL ( $q)? )
                        {
                            Object root_2 = (Object) adaptor.nil();
                            root_2 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_QUAL, "VT_QUAL"), root_2);
                            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:216:104: ( $q)?
                            if (stream_q.hasNext()) {
                                adaptor.addChild(root_2, stream_q.nextNode());
                            }
                            stream_q.reset();
                            adaptor.addChild(root_1, root_2);
                        }
                        adaptor.addChild(root_0, root_1);
                    }
                }
                retval.tree = root_0;
            }
        }
        retval.stop = input.LT(-1);
        if (state.backtracking == 0) {
            retval.tree = (Object) adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
        }
    } catch (RecognitionException re) {
        reportError(re);
        recover(input, re);
        retval.tree = (Object) adaptor.errorNode(input, retval.start, input.LT(-1), re);
    } finally {
    // do for sure before leaving
    }
    return retval;
}
Also used : RewriteRuleSubtreeStream(org.antlr.runtime.tree.RewriteRuleSubtreeStream) Token(org.antlr.runtime.Token) CommonToken(org.antlr.runtime.CommonToken) ParserRuleReturnScope(org.antlr.runtime.ParserRuleReturnScope) RewriteRuleTokenStream(org.antlr.runtime.tree.RewriteRuleTokenStream) CommonToken(org.antlr.runtime.CommonToken) RecognitionException(org.antlr.runtime.RecognitionException)

Example 74 with RewriteRuleTokenStream

use of org.antlr.runtime.tree.RewriteRuleTokenStream in project drools by kiegroup.

the class DSLMapParser method consequence_key.

// $ANTLR start "consequence_key"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:256:1: consequence_key :{...}?value= LITERAL -> VT_CONSEQUENCE[$value] ;
public final DSLMapParser.consequence_key_return consequence_key() throws RecognitionException {
    DSLMapParser.consequence_key_return retval = new DSLMapParser.consequence_key_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    Token value = null;
    Object value_tree = null;
    RewriteRuleTokenStream stream_LITERAL = new RewriteRuleTokenStream(adaptor, "token LITERAL");
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:257:5: ({...}?value= LITERAL -> VT_CONSEQUENCE[$value] )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:257:7: {...}?value= LITERAL
        {
            if (!((validateIdentifierKey("consequence") || validateIdentifierKey("then")))) {
                if (state.backtracking > 0) {
                    state.failed = true;
                    return retval;
                }
                throw new FailedPredicateException(input, "consequence_key", "validateIdentifierKey(\"consequence\")||validateIdentifierKey(\"then\")");
            }
            value = (Token) match(input, LITERAL, FOLLOW_LITERAL_in_consequence_key1631);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_LITERAL.add(value);
            // wildcard labels:
            if (state.backtracking == 0) {
                retval.tree = root_0;
                RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.getTree() : null);
                root_0 = (Object) adaptor.nil();
                // 258:5: -> VT_CONSEQUENCE[$value]
                {
                    adaptor.addChild(root_0, (Object) adaptor.create(VT_CONSEQUENCE, value));
                }
                retval.tree = root_0;
            }
        }
        retval.stop = input.LT(-1);
        if (state.backtracking == 0) {
            retval.tree = (Object) adaptor.rulePostProcessing(root_0);
            adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
        }
    } catch (RecognitionException re) {
        reportError(re);
        recover(input, re);
        retval.tree = (Object) adaptor.errorNode(input, retval.start, input.LT(-1), re);
    } finally {
    // do for sure before leaving
    }
    return retval;
}
Also used : RewriteRuleTokenStream(org.antlr.runtime.tree.RewriteRuleTokenStream) RewriteRuleSubtreeStream(org.antlr.runtime.tree.RewriteRuleSubtreeStream) Token(org.antlr.runtime.Token) CommonToken(org.antlr.runtime.CommonToken) FailedPredicateException(org.antlr.runtime.FailedPredicateException) RecognitionException(org.antlr.runtime.RecognitionException)

Aggregations

RecognitionException (org.antlr.runtime.RecognitionException)74 Token (org.antlr.runtime.Token)74 RewriteRuleSubtreeStream (org.antlr.runtime.tree.RewriteRuleSubtreeStream)74 RewriteRuleTokenStream (org.antlr.runtime.tree.RewriteRuleTokenStream)74 CommonTree (org.antlr.runtime.tree.CommonTree)62 NoViableAltException (org.antlr.runtime.NoViableAltException)22 RewriteEarlyExitException (org.antlr.runtime.tree.RewriteEarlyExitException)12 CommonToken (org.antlr.runtime.CommonToken)9 FailedPredicateException (org.antlr.runtime.FailedPredicateException)4 ParserRuleReturnScope (org.antlr.runtime.ParserRuleReturnScope)4 EarlyExitException (org.antlr.runtime.EarlyExitException)1 RewriteEmptyStreamException (org.antlr.runtime.tree.RewriteEmptyStreamException)1