Search in sources :

Example 91 with RewriteRuleSubtreeStream

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

the class DSLMapParser method key_section.

// $ANTLR start "key_section"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:149:1: key_section : (ks= key_sentence )+ -> ^( VT_ENTRY_KEY ( key_sentence )+ ) ;
public final DSLMapParser.key_section_return key_section() throws RecognitionException {
    DSLMapParser.key_section_return retval = new DSLMapParser.key_section_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    ParserRuleReturnScope ks = null;
    RewriteRuleSubtreeStream stream_key_sentence = new RewriteRuleSubtreeStream(adaptor, "rule key_sentence");
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:150:5: ( (ks= key_sentence )+ -> ^( VT_ENTRY_KEY ( key_sentence )+ ) )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:150:7: (ks= key_sentence )+
        {
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:150:9: (ks= key_sentence )+
            int cnt8 = 0;
            loop8: while (true) {
                int alt8 = 2;
                int LA8_0 = input.LA(1);
                if ((LA8_0 == COLON || (LA8_0 >= LEFT_CURLY && LA8_0 <= LITERAL) || LA8_0 == RIGHT_SQUARE)) {
                    alt8 = 1;
                }
                switch(alt8) {
                    case 1:
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:150:9: ks= key_sentence
                        {
                            pushFollow(FOLLOW_key_sentence_in_key_section568);
                            ks = key_sentence();
                            state._fsp--;
                            if (state.failed)
                                return retval;
                            if (state.backtracking == 0)
                                stream_key_sentence.add(ks.getTree());
                        }
                        break;
                    default:
                        if (cnt8 >= 1)
                            break loop8;
                        if (state.backtracking > 0) {
                            state.failed = true;
                            return retval;
                        }
                        EarlyExitException eee = new EarlyExitException(8, input);
                        throw eee;
                }
                cnt8++;
            }
            // 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();
                // 151:5: -> ^( VT_ENTRY_KEY ( key_sentence )+ )
                {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:151:8: ^( VT_ENTRY_KEY ( key_sentence )+ )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_ENTRY_KEY, "VT_ENTRY_KEY"), root_1);
                        if (!(stream_key_sentence.hasNext())) {
                            throw new RewriteEarlyExitException();
                        }
                        while (stream_key_sentence.hasNext()) {
                            adaptor.addChild(root_1, stream_key_sentence.nextTree());
                        }
                        stream_key_sentence.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 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) EarlyExitException(org.antlr.runtime.EarlyExitException) RewriteEarlyExitException(org.antlr.runtime.tree.RewriteEarlyExitException) RewriteEarlyExitException(org.antlr.runtime.tree.RewriteEarlyExitException) ParserRuleReturnScope(org.antlr.runtime.ParserRuleReturnScope) RecognitionException(org.antlr.runtime.RecognitionException)

Example 92 with RewriteRuleSubtreeStream

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

the class DSLMapParser method mapping_file.

// $ANTLR start "mapping_file"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:106:1: mapping_file : ( statement )* -> ^( VT_DSL_GRAMMAR ( statement )* ) ;
public final DSLMapParser.mapping_file_return mapping_file() throws RecognitionException {
    DSLMapParser.mapping_file_return retval = new DSLMapParser.mapping_file_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    ParserRuleReturnScope statement1 = null;
    RewriteRuleSubtreeStream stream_statement = new RewriteRuleSubtreeStream(adaptor, "rule statement");
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:107:5: ( ( statement )* -> ^( VT_DSL_GRAMMAR ( statement )* ) )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:107:7: ( statement )*
        {
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:107:7: ( statement )*
            loop1: while (true) {
                int alt1 = 2;
                int LA1_0 = input.LA(1);
                if ((LA1_0 == EOL || LA1_0 == LEFT_SQUARE)) {
                    alt1 = 1;
                }
                switch(alt1) {
                    case 1:
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:107:7: statement
                        {
                            pushFollow(FOLLOW_statement_in_mapping_file275);
                            statement1 = statement();
                            state._fsp--;
                            if (state.failed)
                                return retval;
                            if (state.backtracking == 0)
                                stream_statement.add(statement1.getTree());
                        }
                        break;
                    default:
                        break loop1;
                }
            }
            // 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();
                // 108:5: -> ^( VT_DSL_GRAMMAR ( statement )* )
                {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:108:8: ^( VT_DSL_GRAMMAR ( statement )* )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_DSL_GRAMMAR, "VT_DSL_GRAMMAR"), root_1);
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:108:25: ( statement )*
                        while (stream_statement.hasNext()) {
                            adaptor.addChild(root_1, stream_statement.nextTree());
                        }
                        stream_statement.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 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) ParserRuleReturnScope(org.antlr.runtime.ParserRuleReturnScope) RecognitionException(org.antlr.runtime.RecognitionException)

Example 93 with RewriteRuleSubtreeStream

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

the class DSLMapParser method scope_section.

// $ANTLR start "scope_section"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:130:1: scope_section : LEFT_SQUARE (value1= condition_key |value2= consequence_key |value3= keyword_key |value4= any_key ) RIGHT_SQUARE -> ^( VT_SCOPE[$LEFT_SQUARE, \"SCOPE SECTION\"] ( $value1)? ( $value2)? ( $value3)? ( $value4)? ) ;
public final DSLMapParser.scope_section_return scope_section() throws RecognitionException {
    DSLMapParser.scope_section_return retval = new DSLMapParser.scope_section_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    Token LEFT_SQUARE11 = null;
    Token RIGHT_SQUARE12 = null;
    ParserRuleReturnScope value1 = null;
    ParserRuleReturnScope value2 = null;
    ParserRuleReturnScope value3 = null;
    ParserRuleReturnScope value4 = null;
    Object LEFT_SQUARE11_tree = null;
    Object RIGHT_SQUARE12_tree = null;
    RewriteRuleTokenStream stream_RIGHT_SQUARE = new RewriteRuleTokenStream(adaptor, "token RIGHT_SQUARE");
    RewriteRuleTokenStream stream_LEFT_SQUARE = new RewriteRuleTokenStream(adaptor, "token LEFT_SQUARE");
    RewriteRuleSubtreeStream stream_any_key = new RewriteRuleSubtreeStream(adaptor, "rule any_key");
    RewriteRuleSubtreeStream stream_condition_key = new RewriteRuleSubtreeStream(adaptor, "rule condition_key");
    RewriteRuleSubtreeStream stream_keyword_key = new RewriteRuleSubtreeStream(adaptor, "rule keyword_key");
    RewriteRuleSubtreeStream stream_consequence_key = new RewriteRuleSubtreeStream(adaptor, "rule consequence_key");
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:131:5: ( LEFT_SQUARE (value1= condition_key |value2= consequence_key |value3= keyword_key |value4= any_key ) RIGHT_SQUARE -> ^( VT_SCOPE[$LEFT_SQUARE, \"SCOPE SECTION\"] ( $value1)? ( $value2)? ( $value3)? ( $value4)? ) )
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:131:7: LEFT_SQUARE (value1= condition_key |value2= consequence_key |value3= keyword_key |value4= any_key ) RIGHT_SQUARE
        {
            LEFT_SQUARE11 = (Token) match(input, LEFT_SQUARE, FOLLOW_LEFT_SQUARE_in_scope_section412);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_LEFT_SQUARE.add(LEFT_SQUARE11);
            // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:132:9: (value1= condition_key |value2= consequence_key |value3= keyword_key |value4= any_key )
            int alt6 = 4;
            int LA6_0 = input.LA(1);
            if ((LA6_0 == LITERAL)) {
                int LA6_1 = input.LA(2);
                if ((((validateIdentifierKey("condition") || validateIdentifierKey("when")) && synpred6_DSLMap()))) {
                    alt6 = 1;
                } else if (((synpred7_DSLMap() && (validateIdentifierKey("consequence") || validateIdentifierKey("then"))))) {
                    alt6 = 2;
                } else if (((synpred8_DSLMap() && (validateIdentifierKey("keyword"))))) {
                    alt6 = 3;
                } else if (((validateIdentifierKey("*")))) {
                    alt6 = 4;
                } else {
                    if (state.backtracking > 0) {
                        state.failed = true;
                        return retval;
                    }
                    int nvaeMark = input.mark();
                    try {
                        input.consume();
                        NoViableAltException nvae = new NoViableAltException("", 6, 1, input);
                        throw nvae;
                    } finally {
                        input.rewind(nvaeMark);
                    }
                }
            } else {
                if (state.backtracking > 0) {
                    state.failed = true;
                    return retval;
                }
                NoViableAltException nvae = new NoViableAltException("", 6, 0, input);
                throw nvae;
            }
            switch(alt6) {
                case 1:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:132:10: value1= condition_key
                    {
                        pushFollow(FOLLOW_condition_key_in_scope_section425);
                        value1 = condition_key();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_condition_key.add(value1.getTree());
                    }
                    break;
                case 2:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:133:11: value2= consequence_key
                    {
                        pushFollow(FOLLOW_consequence_key_in_scope_section439);
                        value2 = consequence_key();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_consequence_key.add(value2.getTree());
                    }
                    break;
                case 3:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:134:11: value3= keyword_key
                    {
                        pushFollow(FOLLOW_keyword_key_in_scope_section453);
                        value3 = keyword_key();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_keyword_key.add(value3.getTree());
                    }
                    break;
                case 4:
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:135:11: value4= any_key
                    {
                        pushFollow(FOLLOW_any_key_in_scope_section467);
                        value4 = any_key();
                        state._fsp--;
                        if (state.failed)
                            return retval;
                        if (state.backtracking == 0)
                            stream_any_key.add(value4.getTree());
                    }
                    break;
            }
            RIGHT_SQUARE12 = (Token) match(input, RIGHT_SQUARE, FOLLOW_RIGHT_SQUARE_in_scope_section483);
            if (state.failed)
                return retval;
            if (state.backtracking == 0)
                stream_RIGHT_SQUARE.add(RIGHT_SQUARE12);
            // wildcard labels:
            if (state.backtracking == 0) {
                retval.tree = root_0;
                RewriteRuleSubtreeStream stream_retval = new RewriteRuleSubtreeStream(adaptor, "rule retval", retval != null ? retval.getTree() : null);
                RewriteRuleSubtreeStream stream_value3 = new RewriteRuleSubtreeStream(adaptor, "rule value3", value3 != null ? value3.getTree() : null);
                RewriteRuleSubtreeStream stream_value4 = new RewriteRuleSubtreeStream(adaptor, "rule value4", value4 != null ? value4.getTree() : null);
                RewriteRuleSubtreeStream stream_value1 = new RewriteRuleSubtreeStream(adaptor, "rule value1", value1 != null ? value1.getTree() : null);
                RewriteRuleSubtreeStream stream_value2 = new RewriteRuleSubtreeStream(adaptor, "rule value2", value2 != null ? value2.getTree() : null);
                root_0 = (Object) adaptor.nil();
                // 138:5: -> ^( VT_SCOPE[$LEFT_SQUARE, \"SCOPE SECTION\"] ( $value1)? ( $value2)? ( $value3)? ( $value4)? )
                {
                    // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:138:8: ^( VT_SCOPE[$LEFT_SQUARE, \"SCOPE SECTION\"] ( $value1)? ( $value2)? ( $value3)? ( $value4)? )
                    {
                        Object root_1 = (Object) adaptor.nil();
                        root_1 = (Object) adaptor.becomeRoot((Object) adaptor.create(VT_SCOPE, LEFT_SQUARE11, "SCOPE SECTION"), root_1);
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:138:51: ( $value1)?
                        if (stream_value1.hasNext()) {
                            adaptor.addChild(root_1, stream_value1.nextTree());
                        }
                        stream_value1.reset();
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:138:60: ( $value2)?
                        if (stream_value2.hasNext()) {
                            adaptor.addChild(root_1, stream_value2.nextTree());
                        }
                        stream_value2.reset();
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:138:69: ( $value3)?
                        if (stream_value3.hasNext()) {
                            adaptor.addChild(root_1, stream_value3.nextTree());
                        }
                        stream_value3.reset();
                        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:138:78: ( $value4)?
                        if (stream_value4.hasNext()) {
                            adaptor.addChild(root_1, stream_value4.nextTree());
                        }
                        stream_value4.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 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) 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 94 with RewriteRuleSubtreeStream

use of org.antlr.runtime.tree.RewriteRuleSubtreeStream 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 95 with RewriteRuleSubtreeStream

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

the class DSLMapParser method key_sentence.

// $ANTLR start "key_sentence"
// src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:154:1: key_sentence : ( variable_definition |cb= key_chunk -> VT_LITERAL[$cb.start, text] );
public final DSLMapParser.key_sentence_return key_sentence() throws RecognitionException {
    DSLMapParser.key_sentence_return retval = new DSLMapParser.key_sentence_return();
    retval.start = input.LT(1);
    Object root_0 = null;
    ParserRuleReturnScope cb = null;
    ParserRuleReturnScope variable_definition16 = null;
    RewriteRuleSubtreeStream stream_key_chunk = new RewriteRuleSubtreeStream(adaptor, "rule key_chunk");
    String text = "";
    try {
        // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:158:5: ( variable_definition |cb= key_chunk -> VT_LITERAL[$cb.start, text] )
        int alt9 = 2;
        int LA9_0 = input.LA(1);
        if ((LA9_0 == LEFT_CURLY)) {
            alt9 = 1;
        } else if ((LA9_0 == COLON || (LA9_0 >= LEFT_SQUARE && LA9_0 <= LITERAL) || LA9_0 == RIGHT_SQUARE)) {
            alt9 = 2;
        } else {
            if (state.backtracking > 0) {
                state.failed = true;
                return retval;
            }
            NoViableAltException nvae = new NoViableAltException("", 9, 0, input);
            throw nvae;
        }
        switch(alt9) {
            case 1:
                // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:158:7: variable_definition
                {
                    root_0 = (Object) adaptor.nil();
                    pushFollow(FOLLOW_variable_definition_in_key_sentence608);
                    variable_definition16 = variable_definition();
                    state._fsp--;
                    if (state.failed)
                        return retval;
                    if (state.backtracking == 0)
                        adaptor.addChild(root_0, variable_definition16.getTree());
                }
                break;
            case 2:
                // src/main/resources/org/drools/compiler/lang/dsl/DSLMap.g:159:7: cb= key_chunk
                {
                    pushFollow(FOLLOW_key_chunk_in_key_sentence618);
                    cb = key_chunk();
                    state._fsp--;
                    if (state.failed)
                        return retval;
                    if (state.backtracking == 0)
                        stream_key_chunk.add(cb.getTree());
                    if (state.backtracking == 0) {
                        text = (cb != null ? input.toString(cb.start, cb.stop) : null);
                    }
                    // 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();
                        // 160:5: -> VT_LITERAL[$cb.start, text]
                        {
                            adaptor.addChild(root_0, (Object) adaptor.create(VT_LITERAL, (cb != null ? (cb.start) : null), text));
                        }
                        retval.tree = root_0;
                    }
                }
                break;
        }
        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 : NoViableAltException(org.antlr.runtime.NoViableAltException) RewriteRuleSubtreeStream(org.antlr.runtime.tree.RewriteRuleSubtreeStream) ParserRuleReturnScope(org.antlr.runtime.ParserRuleReturnScope) RecognitionException(org.antlr.runtime.RecognitionException)

Aggregations

RecognitionException (org.antlr.runtime.RecognitionException)98 RewriteRuleSubtreeStream (org.antlr.runtime.tree.RewriteRuleSubtreeStream)98 CommonTree (org.antlr.runtime.tree.CommonTree)81 Token (org.antlr.runtime.Token)74 RewriteRuleTokenStream (org.antlr.runtime.tree.RewriteRuleTokenStream)74 NoViableAltException (org.antlr.runtime.NoViableAltException)24 RewriteEarlyExitException (org.antlr.runtime.tree.RewriteEarlyExitException)16 CommonToken (org.antlr.runtime.CommonToken)9 ParserRuleReturnScope (org.antlr.runtime.ParserRuleReturnScope)9 EarlyExitException (org.antlr.runtime.EarlyExitException)5 FailedPredicateException (org.antlr.runtime.FailedPredicateException)4 RewriteEmptyStreamException (org.antlr.runtime.tree.RewriteEmptyStreamException)1