use of org.antlr.runtime.tree.RewriteEmptyStreamException 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;
}
Aggregations