org.jbehaviour.antlr.AnotherStoryGrammerParser Maven / Gradle / Ivy
The newest version!
// $ANTLR 3.4 org/jbehaviour/antlr/AnotherStoryGrammer.g 2012-12-20 23:28:14
package org.jbehaviour.antlr;
import java.io.IOException;
import java.util.regex.Pattern;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import org.antlr.runtime.tree.*;
/**
* @author Roffin Yannick
*/
@SuppressWarnings({"all", "warnings", "unchecked"})
public class AnotherStoryGrammerParser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "AND", "ARRAY", "ASAN", "Alphanumeric", "Arobase", "CALL", "COMMA", "Comment", "Cote", "DECLARE", "Digit", "Dollar", "Dot", "DoubleCote", "Eol", "EscapeSequence", "Exponent", "FALSE", "FEATURE", "FIELD", "GIVEN", "HexDigit", "INCLUDE", "INORDERTO", "IWANTTO", "Identifier", "LeftBrace", "Member", "NULL", "NUMBER", "Number", "OBJECT", "PLUGIN", "REGISTER", "REPORT", "Reference", "RightBrace", "SCENARIO", "STRING", "String", "THEN", "TOK_AND", "TOK_ASAN", "TOK_CALL", "TOK_DECLARE", "TOK_FEATURE", "TOK_GIVEN", "TOK_INCLUDE", "TOK_INORDERTO", "TOK_IWANTTO", "TOK_REGISTER", "TOK_REPORT", "TOK_SCENARIO", "TOK_TEMPLATE", "TOK_THEN", "TOK_WHEN", "TRUE", "UnderScrore", "UnicodeEscape", "WHEN", "WS", "':'", "'['", "']'", "'false'", "'null'", "'true'", "'{'", "'}'"
};
public static final int EOF=-1;
public static final int T__65=65;
public static final int T__66=66;
public static final int T__67=67;
public static final int T__68=68;
public static final int T__69=69;
public static final int T__70=70;
public static final int T__71=71;
public static final int T__72=72;
public static final int AND=4;
public static final int ARRAY=5;
public static final int ASAN=6;
public static final int Alphanumeric=7;
public static final int Arobase=8;
public static final int CALL=9;
public static final int COMMA=10;
public static final int Comment=11;
public static final int Cote=12;
public static final int DECLARE=13;
public static final int Digit=14;
public static final int Dollar=15;
public static final int Dot=16;
public static final int DoubleCote=17;
public static final int Eol=18;
public static final int EscapeSequence=19;
public static final int Exponent=20;
public static final int FALSE=21;
public static final int FEATURE=22;
public static final int FIELD=23;
public static final int GIVEN=24;
public static final int HexDigit=25;
public static final int INCLUDE=26;
public static final int INORDERTO=27;
public static final int IWANTTO=28;
public static final int Identifier=29;
public static final int LeftBrace=30;
public static final int Member=31;
public static final int NULL=32;
public static final int NUMBER=33;
public static final int Number=34;
public static final int OBJECT=35;
public static final int PLUGIN=36;
public static final int REGISTER=37;
public static final int REPORT=38;
public static final int Reference=39;
public static final int RightBrace=40;
public static final int SCENARIO=41;
public static final int STRING=42;
public static final int String=43;
public static final int THEN=44;
public static final int TOK_AND=45;
public static final int TOK_ASAN=46;
public static final int TOK_CALL=47;
public static final int TOK_DECLARE=48;
public static final int TOK_FEATURE=49;
public static final int TOK_GIVEN=50;
public static final int TOK_INCLUDE=51;
public static final int TOK_INORDERTO=52;
public static final int TOK_IWANTTO=53;
public static final int TOK_REGISTER=54;
public static final int TOK_REPORT=55;
public static final int TOK_SCENARIO=56;
public static final int TOK_TEMPLATE=57;
public static final int TOK_THEN=58;
public static final int TOK_WHEN=59;
public static final int TRUE=60;
public static final int UnderScrore=61;
public static final int UnicodeEscape=62;
public static final int WHEN=63;
public static final int WS=64;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public AnotherStoryGrammerParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public AnotherStoryGrammerParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
public void setTreeAdaptor(TreeAdaptor adaptor) {
this.adaptor = adaptor;
}
public TreeAdaptor getTreeAdaptor() {
return adaptor;
}
public String[] getTokenNames() { return AnotherStoryGrammerParser.tokenNames; }
public String getGrammarFileName() { return "org/jbehaviour/antlr/AnotherStoryGrammer.g"; }
enum Situation {
none,
onGivenKeyword,
onWhenKeyword,
onCallKeyword,
onThenKeyword
};
Situation situation = Situation.none;
/**
* debug
*/
public void onDebug(String where,String value) {
System.err.println(where+" "+value);
}
/**
* feature
*/
public void onFeatureKeyword() {
onDebug("onFeatureKeyword","");
}
/**
* feature
* Declare reference as String 'string'
*/
public void onFeatureReportKeyword() {
onDebug("onFeatureReportKeyword","");
}
/**
* feature
* Declare reference as String 'string'
*/
public void onFeatureDeclareKeyword() {
onDebug("onFeatureDeclareKeyword","");
}
/**
* feature
* In order to test this feature
* As an explicit system actor
* I want to verify this behaviour
*/
public void onFeatureInOrderToKeyword() {
onDebug("onFeatureInOrderToKeyword","");
}
public void onFeatureAsAnKeyword() {
onDebug("onFeatureAsAnKeyword","");
}
public void onFeatureIWantToKeyword() {
onDebug("onFeatureIWantToKeyword","");
}
/**
* feature
* Register system with 'org.jbehaviour.plugins.system.SystemSteps' plugin
*/
public void onFeatureRegisterKeyword() {
onDebug("onFeatureRegisterKeyword","");
}
/**
* feature
* Include 'file.story'
*/
public void onFeatureIncludeKeyword() {
onDebug("onFeatureIncludeKeyword","");
}
/**
* scenario
* Scenario: Verify we can go to 'http://www.bing.com'
*/
public void onScenarioKeyword() {
onDebug("onScenarioKeyword","");
}
/**
* simulate given, when then according to the
* situation
*/
public void onAndKeyword() {
switch(situation) {
case onGivenKeyword:
onGivenKeyword();
break;
case onThenKeyword:
onThenKeyword();
break;
case onWhenKeyword:
onWhenKeyword();
break;
case onCallKeyword:
onCallKeyword();
break;
}
}
public void onGivenKeyword() {
situation = Situation.onGivenKeyword;
onDebug("onGivenKeyword","");
}
public void onWhenKeyword() {
situation = Situation.onWhenKeyword;
onDebug("onWhenKeyword","");
}
public void onThenKeyword() {
situation = Situation.onThenKeyword;
onDebug("onThenKeyword","");
}
public void onCallKeyword() {
situation = Situation.onCallKeyword;
onDebug("onCallKeyword","");
}
/**
* implement any words analysis
*/
public void onAnyKeyword() {
onDebug("onAnyKeyword","");
}
/**
* rewrite any implementation
*/
public void onAnyString(String value) {
onDebug("onAnyString",value);
}
public void onAnyIdentifier(String value) {
onDebug("onAnyIdentifier",value);
}
public void onAnyReference(String value) {
onDebug("onAnyReference",value);
}
public void onAnyTemplate(String value) {
onDebug("onAnyTemplate",value);
}
public void onAnyNumeric(String value) {
onDebug("onAnyNumeric",value);
}
public void onAnyJsonObject(String value) {
onDebug("onAnyJsonObject",value);
}
public static class story_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "story"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:232:1: story : feature ( scenario )* ;
public final AnotherStoryGrammerParser.story_return story() throws RecognitionException {
AnotherStoryGrammerParser.story_return retval = new AnotherStoryGrammerParser.story_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.feature_return feature1 =null;
AnotherStoryGrammerParser.scenario_return scenario2 =null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:233:2: ( feature ( scenario )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:233:4: feature ( scenario )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_feature_in_story273);
feature1=feature();
state._fsp--;
adaptor.addChild(root_0, feature1.getTree());
// org/jbehaviour/antlr/AnotherStoryGrammer.g:233:12: ( scenario )*
loop1:
do {
int alt1=2;
switch ( input.LA(1) ) {
case SCENARIO:
{
alt1=1;
}
break;
}
switch (alt1) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:233:13: scenario
{
pushFollow(FOLLOW_scenario_in_story276);
scenario2=scenario();
state._fsp--;
adaptor.addChild(root_0, scenario2.getTree());
}
break;
default :
break loop1;
}
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "story"
public static class feature_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "feature"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:236:1: feature : FEATURE anyDecl featureDecl -> ^( TOK_FEATURE FEATURE anyDecl featureDecl ) ;
public final AnotherStoryGrammerParser.feature_return feature() throws RecognitionException {
AnotherStoryGrammerParser.feature_return retval = new AnotherStoryGrammerParser.feature_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token FEATURE3=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl4 =null;
AnotherStoryGrammerParser.featureDecl_return featureDecl5 =null;
CommonTree FEATURE3_tree=null;
RewriteRuleTokenStream stream_FEATURE=new RewriteRuleTokenStream(adaptor,"token FEATURE");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
RewriteRuleSubtreeStream stream_featureDecl=new RewriteRuleSubtreeStream(adaptor,"rule featureDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:236:8: ( FEATURE anyDecl featureDecl -> ^( TOK_FEATURE FEATURE anyDecl featureDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:236:10: FEATURE anyDecl featureDecl
{
FEATURE3=(Token)match(input,FEATURE,FOLLOW_FEATURE_in_feature287);
stream_FEATURE.add(FEATURE3);
onFeatureKeyword();
pushFollow(FOLLOW_anyDecl_in_feature291);
anyDecl4=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl4.getTree());
pushFollow(FOLLOW_featureDecl_in_feature293);
featureDecl5=featureDecl();
state._fsp--;
stream_featureDecl.add(featureDecl5.getTree());
// AST REWRITE
// elements: FEATURE, featureDecl, anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 237:4: -> ^( TOK_FEATURE FEATURE anyDecl featureDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:237:7: ^( TOK_FEATURE FEATURE anyDecl featureDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_FEATURE, "TOK_FEATURE")
, root_1);
adaptor.addChild(root_1,
stream_FEATURE.nextNode()
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_1, stream_featureDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "feature"
public static class featureDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "featureDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:240:1: featureDecl : inOrderToDecl asAnDecl iWantToDecl ( includeDecl | registerDecl | reportDecl | declareDecl )* ;
public final AnotherStoryGrammerParser.featureDecl_return featureDecl() throws RecognitionException {
AnotherStoryGrammerParser.featureDecl_return retval = new AnotherStoryGrammerParser.featureDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.inOrderToDecl_return inOrderToDecl6 =null;
AnotherStoryGrammerParser.asAnDecl_return asAnDecl7 =null;
AnotherStoryGrammerParser.iWantToDecl_return iWantToDecl8 =null;
AnotherStoryGrammerParser.includeDecl_return includeDecl9 =null;
AnotherStoryGrammerParser.registerDecl_return registerDecl10 =null;
AnotherStoryGrammerParser.reportDecl_return reportDecl11 =null;
AnotherStoryGrammerParser.declareDecl_return declareDecl12 =null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:2: ( inOrderToDecl asAnDecl iWantToDecl ( includeDecl | registerDecl | reportDecl | declareDecl )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:4: inOrderToDecl asAnDecl iWantToDecl ( includeDecl | registerDecl | reportDecl | declareDecl )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_inOrderToDecl_in_featureDecl319);
inOrderToDecl6=inOrderToDecl();
state._fsp--;
adaptor.addChild(root_0, inOrderToDecl6.getTree());
pushFollow(FOLLOW_asAnDecl_in_featureDecl321);
asAnDecl7=asAnDecl();
state._fsp--;
adaptor.addChild(root_0, asAnDecl7.getTree());
pushFollow(FOLLOW_iWantToDecl_in_featureDecl323);
iWantToDecl8=iWantToDecl();
state._fsp--;
adaptor.addChild(root_0, iWantToDecl8.getTree());
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:39: ( includeDecl | registerDecl | reportDecl | declareDecl )*
loop2:
do {
int alt2=5;
switch ( input.LA(1) ) {
case INCLUDE:
{
alt2=1;
}
break;
case REGISTER:
{
alt2=2;
}
break;
case REPORT:
{
alt2=3;
}
break;
case DECLARE:
{
alt2=4;
}
break;
}
switch (alt2) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:40: includeDecl
{
pushFollow(FOLLOW_includeDecl_in_featureDecl326);
includeDecl9=includeDecl();
state._fsp--;
adaptor.addChild(root_0, includeDecl9.getTree());
}
break;
case 2 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:52: registerDecl
{
pushFollow(FOLLOW_registerDecl_in_featureDecl328);
registerDecl10=registerDecl();
state._fsp--;
adaptor.addChild(root_0, registerDecl10.getTree());
}
break;
case 3 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:65: reportDecl
{
pushFollow(FOLLOW_reportDecl_in_featureDecl330);
reportDecl11=reportDecl();
state._fsp--;
adaptor.addChild(root_0, reportDecl11.getTree());
}
break;
case 4 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:241:76: declareDecl
{
pushFollow(FOLLOW_declareDecl_in_featureDecl332);
declareDecl12=declareDecl();
state._fsp--;
adaptor.addChild(root_0, declareDecl12.getTree());
}
break;
default :
break loop2;
}
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "featureDecl"
public static class inOrderToDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "inOrderToDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:244:1: inOrderToDecl : INORDERTO anyDecl -> ^( TOK_INORDERTO INORDERTO anyDecl ) ;
public final AnotherStoryGrammerParser.inOrderToDecl_return inOrderToDecl() throws RecognitionException {
AnotherStoryGrammerParser.inOrderToDecl_return retval = new AnotherStoryGrammerParser.inOrderToDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token INORDERTO13=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl14 =null;
CommonTree INORDERTO13_tree=null;
RewriteRuleTokenStream stream_INORDERTO=new RewriteRuleTokenStream(adaptor,"token INORDERTO");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:244:14: ( INORDERTO anyDecl -> ^( TOK_INORDERTO INORDERTO anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:244:16: INORDERTO anyDecl
{
INORDERTO13=(Token)match(input,INORDERTO,FOLLOW_INORDERTO_in_inOrderToDecl343);
stream_INORDERTO.add(INORDERTO13);
pushFollow(FOLLOW_anyDecl_in_inOrderToDecl345);
anyDecl14=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl14.getTree());
// AST REWRITE
// elements: INORDERTO, anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 245:4: -> ^( TOK_INORDERTO INORDERTO anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:245:7: ^( TOK_INORDERTO INORDERTO anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_INORDERTO, "TOK_INORDERTO")
, root_1);
adaptor.addChild(root_1,
stream_INORDERTO.nextNode()
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "inOrderToDecl"
public static class asAnDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "asAnDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:247:1: asAnDecl : ASAN anyDecl -> ^( TOK_ASAN ASAN anyDecl ) ;
public final AnotherStoryGrammerParser.asAnDecl_return asAnDecl() throws RecognitionException {
AnotherStoryGrammerParser.asAnDecl_return retval = new AnotherStoryGrammerParser.asAnDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token ASAN15=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl16 =null;
CommonTree ASAN15_tree=null;
RewriteRuleTokenStream stream_ASAN=new RewriteRuleTokenStream(adaptor,"token ASAN");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:247:9: ( ASAN anyDecl -> ^( TOK_ASAN ASAN anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:247:11: ASAN anyDecl
{
ASAN15=(Token)match(input,ASAN,FOLLOW_ASAN_in_asAnDecl366);
stream_ASAN.add(ASAN15);
pushFollow(FOLLOW_anyDecl_in_asAnDecl368);
anyDecl16=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl16.getTree());
// AST REWRITE
// elements: anyDecl, ASAN
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 248:4: -> ^( TOK_ASAN ASAN anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:248:7: ^( TOK_ASAN ASAN anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_ASAN, "TOK_ASAN")
, root_1);
adaptor.addChild(root_1,
stream_ASAN.nextNode()
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "asAnDecl"
public static class iWantToDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "iWantToDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:250:1: iWantToDecl : IWANTTO anyDecl -> ^( TOK_IWANTTO IWANTTO anyDecl ) ;
public final AnotherStoryGrammerParser.iWantToDecl_return iWantToDecl() throws RecognitionException {
AnotherStoryGrammerParser.iWantToDecl_return retval = new AnotherStoryGrammerParser.iWantToDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token IWANTTO17=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl18 =null;
CommonTree IWANTTO17_tree=null;
RewriteRuleTokenStream stream_IWANTTO=new RewriteRuleTokenStream(adaptor,"token IWANTTO");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:250:12: ( IWANTTO anyDecl -> ^( TOK_IWANTTO IWANTTO anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:250:14: IWANTTO anyDecl
{
IWANTTO17=(Token)match(input,IWANTTO,FOLLOW_IWANTTO_in_iWantToDecl389);
stream_IWANTTO.add(IWANTTO17);
pushFollow(FOLLOW_anyDecl_in_iWantToDecl391);
anyDecl18=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl18.getTree());
// AST REWRITE
// elements: IWANTTO, anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 251:4: -> ^( TOK_IWANTTO IWANTTO anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:251:7: ^( TOK_IWANTTO IWANTTO anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_IWANTTO, "TOK_IWANTTO")
, root_1);
adaptor.addChild(root_1,
stream_IWANTTO.nextNode()
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "iWantToDecl"
public static class includeDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "includeDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:253:1: includeDecl : INCLUDE anyStringDecl -> ^( TOK_INCLUDE INCLUDE anyStringDecl ) ;
public final AnotherStoryGrammerParser.includeDecl_return includeDecl() throws RecognitionException {
AnotherStoryGrammerParser.includeDecl_return retval = new AnotherStoryGrammerParser.includeDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token INCLUDE19=null;
AnotherStoryGrammerParser.anyStringDecl_return anyStringDecl20 =null;
CommonTree INCLUDE19_tree=null;
RewriteRuleTokenStream stream_INCLUDE=new RewriteRuleTokenStream(adaptor,"token INCLUDE");
RewriteRuleSubtreeStream stream_anyStringDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyStringDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:253:12: ( INCLUDE anyStringDecl -> ^( TOK_INCLUDE INCLUDE anyStringDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:253:14: INCLUDE anyStringDecl
{
INCLUDE19=(Token)match(input,INCLUDE,FOLLOW_INCLUDE_in_includeDecl412);
stream_INCLUDE.add(INCLUDE19);
onFeatureIncludeKeyword();
pushFollow(FOLLOW_anyStringDecl_in_includeDecl416);
anyStringDecl20=anyStringDecl();
state._fsp--;
stream_anyStringDecl.add(anyStringDecl20.getTree());
// AST REWRITE
// elements: anyStringDecl, INCLUDE
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 254:4: -> ^( TOK_INCLUDE INCLUDE anyStringDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:254:7: ^( TOK_INCLUDE INCLUDE anyStringDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_INCLUDE, "TOK_INCLUDE")
, root_1);
adaptor.addChild(root_1,
stream_INCLUDE.nextNode()
);
adaptor.addChild(root_1, stream_anyStringDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "includeDecl"
public static class registerDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "registerDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:256:1: registerDecl : REGISTER anyDeclEndedByPlugin -> ^( TOK_REGISTER REGISTER anyDeclEndedByPlugin ) ;
public final AnotherStoryGrammerParser.registerDecl_return registerDecl() throws RecognitionException {
AnotherStoryGrammerParser.registerDecl_return retval = new AnotherStoryGrammerParser.registerDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token REGISTER21=null;
AnotherStoryGrammerParser.anyDeclEndedByPlugin_return anyDeclEndedByPlugin22 =null;
CommonTree REGISTER21_tree=null;
RewriteRuleTokenStream stream_REGISTER=new RewriteRuleTokenStream(adaptor,"token REGISTER");
RewriteRuleSubtreeStream stream_anyDeclEndedByPlugin=new RewriteRuleSubtreeStream(adaptor,"rule anyDeclEndedByPlugin");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:256:13: ( REGISTER anyDeclEndedByPlugin -> ^( TOK_REGISTER REGISTER anyDeclEndedByPlugin ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:256:15: REGISTER anyDeclEndedByPlugin
{
REGISTER21=(Token)match(input,REGISTER,FOLLOW_REGISTER_in_registerDecl437);
stream_REGISTER.add(REGISTER21);
onFeatureRegisterKeyword();
pushFollow(FOLLOW_anyDeclEndedByPlugin_in_registerDecl441);
anyDeclEndedByPlugin22=anyDeclEndedByPlugin();
state._fsp--;
stream_anyDeclEndedByPlugin.add(anyDeclEndedByPlugin22.getTree());
// AST REWRITE
// elements: REGISTER, anyDeclEndedByPlugin
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 257:4: -> ^( TOK_REGISTER REGISTER anyDeclEndedByPlugin )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:257:7: ^( TOK_REGISTER REGISTER anyDeclEndedByPlugin )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_REGISTER, "TOK_REGISTER")
, root_1);
adaptor.addChild(root_1,
stream_REGISTER.nextNode()
);
adaptor.addChild(root_1, stream_anyDeclEndedByPlugin.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "registerDecl"
public static class reportDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "reportDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:259:1: reportDecl : REPORT anyDecl -> ^( TOK_REPORT DECLARE anyDecl ) ;
public final AnotherStoryGrammerParser.reportDecl_return reportDecl() throws RecognitionException {
AnotherStoryGrammerParser.reportDecl_return retval = new AnotherStoryGrammerParser.reportDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token REPORT23=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl24 =null;
CommonTree REPORT23_tree=null;
RewriteRuleTokenStream stream_REPORT=new RewriteRuleTokenStream(adaptor,"token REPORT");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:259:11: ( REPORT anyDecl -> ^( TOK_REPORT DECLARE anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:259:13: REPORT anyDecl
{
REPORT23=(Token)match(input,REPORT,FOLLOW_REPORT_in_reportDecl462);
stream_REPORT.add(REPORT23);
onFeatureReportKeyword();
pushFollow(FOLLOW_anyDecl_in_reportDecl466);
anyDecl24=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl24.getTree());
// AST REWRITE
// elements: anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 260:4: -> ^( TOK_REPORT DECLARE anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:260:7: ^( TOK_REPORT DECLARE anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_REPORT, "TOK_REPORT")
, root_1);
adaptor.addChild(root_1,
(CommonTree)adaptor.create(DECLARE, "DECLARE")
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "reportDecl"
public static class declareDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "declareDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:262:1: declareDecl : DECLARE anyDecl -> ^( TOK_DECLARE DECLARE anyDecl ) ;
public final AnotherStoryGrammerParser.declareDecl_return declareDecl() throws RecognitionException {
AnotherStoryGrammerParser.declareDecl_return retval = new AnotherStoryGrammerParser.declareDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token DECLARE25=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl26 =null;
CommonTree DECLARE25_tree=null;
RewriteRuleTokenStream stream_DECLARE=new RewriteRuleTokenStream(adaptor,"token DECLARE");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:262:12: ( DECLARE anyDecl -> ^( TOK_DECLARE DECLARE anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:262:14: DECLARE anyDecl
{
DECLARE25=(Token)match(input,DECLARE,FOLLOW_DECLARE_in_declareDecl487);
stream_DECLARE.add(DECLARE25);
onFeatureDeclareKeyword();
pushFollow(FOLLOW_anyDecl_in_declareDecl491);
anyDecl26=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl26.getTree());
// AST REWRITE
// elements: anyDecl, DECLARE
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 263:4: -> ^( TOK_DECLARE DECLARE anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:263:7: ^( TOK_DECLARE DECLARE anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_DECLARE, "TOK_DECLARE")
, root_1);
adaptor.addChild(root_1,
stream_DECLARE.nextNode()
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "declareDecl"
public static class scenarioKeyword_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "scenarioKeyword"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:266:1: scenarioKeyword : SCENARIO ;
public final AnotherStoryGrammerParser.scenarioKeyword_return scenarioKeyword() throws RecognitionException {
AnotherStoryGrammerParser.scenarioKeyword_return retval = new AnotherStoryGrammerParser.scenarioKeyword_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token SCENARIO27=null;
CommonTree SCENARIO27_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:267:2: ( SCENARIO )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:267:4: SCENARIO
{
root_0 = (CommonTree)adaptor.nil();
SCENARIO27=(Token)match(input,SCENARIO,FOLLOW_SCENARIO_in_scenarioKeyword515);
SCENARIO27_tree =
(CommonTree)adaptor.create(SCENARIO27)
;
adaptor.addChild(root_0, SCENARIO27_tree);
onScenarioKeyword();
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "scenarioKeyword"
public static class scenario_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "scenario"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:270:1: scenario : scenarioKeyword anyDecl statementDecl -> ^( TOK_SCENARIO scenarioKeyword anyDecl statementDecl ) ;
public final AnotherStoryGrammerParser.scenario_return scenario() throws RecognitionException {
AnotherStoryGrammerParser.scenario_return retval = new AnotherStoryGrammerParser.scenario_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.scenarioKeyword_return scenarioKeyword28 =null;
AnotherStoryGrammerParser.anyDecl_return anyDecl29 =null;
AnotherStoryGrammerParser.statementDecl_return statementDecl30 =null;
RewriteRuleSubtreeStream stream_scenarioKeyword=new RewriteRuleSubtreeStream(adaptor,"rule scenarioKeyword");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
RewriteRuleSubtreeStream stream_statementDecl=new RewriteRuleSubtreeStream(adaptor,"rule statementDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:270:9: ( scenarioKeyword anyDecl statementDecl -> ^( TOK_SCENARIO scenarioKeyword anyDecl statementDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:270:11: scenarioKeyword anyDecl statementDecl
{
pushFollow(FOLLOW_scenarioKeyword_in_scenario526);
scenarioKeyword28=scenarioKeyword();
state._fsp--;
stream_scenarioKeyword.add(scenarioKeyword28.getTree());
pushFollow(FOLLOW_anyDecl_in_scenario528);
anyDecl29=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl29.getTree());
pushFollow(FOLLOW_statementDecl_in_scenario530);
statementDecl30=statementDecl();
state._fsp--;
stream_statementDecl.add(statementDecl30.getTree());
// AST REWRITE
// elements: scenarioKeyword, statementDecl, anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 271:4: -> ^( TOK_SCENARIO scenarioKeyword anyDecl statementDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:271:7: ^( TOK_SCENARIO scenarioKeyword anyDecl statementDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_SCENARIO, "TOK_SCENARIO")
, root_1);
adaptor.addChild(root_1, stream_scenarioKeyword.nextTree());
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_1, stream_statementDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "scenario"
public static class statementDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "statementDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:274:1: statementDecl : ( ( ( giveDecl ) ( ( andDecl )* ) ) | ( ( whenDecl ) ( ( andDecl )* ) ) | ( ( thenDecl ) ( ( andDecl )* ) ) | ( ( callDecl ) ( ( andDecl )* ) ) )+ ;
public final AnotherStoryGrammerParser.statementDecl_return statementDecl() throws RecognitionException {
AnotherStoryGrammerParser.statementDecl_return retval = new AnotherStoryGrammerParser.statementDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.giveDecl_return giveDecl31 =null;
AnotherStoryGrammerParser.andDecl_return andDecl32 =null;
AnotherStoryGrammerParser.whenDecl_return whenDecl33 =null;
AnotherStoryGrammerParser.andDecl_return andDecl34 =null;
AnotherStoryGrammerParser.thenDecl_return thenDecl35 =null;
AnotherStoryGrammerParser.andDecl_return andDecl36 =null;
AnotherStoryGrammerParser.callDecl_return callDecl37 =null;
AnotherStoryGrammerParser.andDecl_return andDecl38 =null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:275:2: ( ( ( ( giveDecl ) ( ( andDecl )* ) ) | ( ( whenDecl ) ( ( andDecl )* ) ) | ( ( thenDecl ) ( ( andDecl )* ) ) | ( ( callDecl ) ( ( andDecl )* ) ) )+ )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:275:4: ( ( ( giveDecl ) ( ( andDecl )* ) ) | ( ( whenDecl ) ( ( andDecl )* ) ) | ( ( thenDecl ) ( ( andDecl )* ) ) | ( ( callDecl ) ( ( andDecl )* ) ) )+
{
root_0 = (CommonTree)adaptor.nil();
// org/jbehaviour/antlr/AnotherStoryGrammer.g:275:4: ( ( ( giveDecl ) ( ( andDecl )* ) ) | ( ( whenDecl ) ( ( andDecl )* ) ) | ( ( thenDecl ) ( ( andDecl )* ) ) | ( ( callDecl ) ( ( andDecl )* ) ) )+
int cnt7=0;
loop7:
do {
int alt7=5;
switch ( input.LA(1) ) {
case GIVEN:
{
alt7=1;
}
break;
case WHEN:
{
alt7=2;
}
break;
case THEN:
{
alt7=3;
}
break;
case CALL:
{
alt7=4;
}
break;
}
switch (alt7) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:5: ( ( giveDecl ) ( ( andDecl )* ) )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:5: ( ( giveDecl ) ( ( andDecl )* ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:6: ( giveDecl ) ( ( andDecl )* )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:6: ( giveDecl )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:7: giveDecl
{
pushFollow(FOLLOW_giveDecl_in_statementDecl564);
giveDecl31=giveDecl();
state._fsp--;
adaptor.addChild(root_0, giveDecl31.getTree());
}
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:16: ( ( andDecl )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:17: ( andDecl )*
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:17: ( andDecl )*
loop3:
do {
int alt3=2;
switch ( input.LA(1) ) {
case AND:
{
alt3=1;
}
break;
}
switch (alt3) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:276:18: andDecl
{
pushFollow(FOLLOW_andDecl_in_statementDecl568);
andDecl32=andDecl();
state._fsp--;
adaptor.addChild(root_0, andDecl32.getTree());
}
break;
default :
break loop3;
}
} while (true);
}
}
}
break;
case 2 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:5: ( ( whenDecl ) ( ( andDecl )* ) )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:5: ( ( whenDecl ) ( ( andDecl )* ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:6: ( whenDecl ) ( ( andDecl )* )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:6: ( whenDecl )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:7: whenDecl
{
pushFollow(FOLLOW_whenDecl_in_statementDecl580);
whenDecl33=whenDecl();
state._fsp--;
adaptor.addChild(root_0, whenDecl33.getTree());
}
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:16: ( ( andDecl )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:17: ( andDecl )*
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:17: ( andDecl )*
loop4:
do {
int alt4=2;
switch ( input.LA(1) ) {
case AND:
{
alt4=1;
}
break;
}
switch (alt4) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:277:18: andDecl
{
pushFollow(FOLLOW_andDecl_in_statementDecl584);
andDecl34=andDecl();
state._fsp--;
adaptor.addChild(root_0, andDecl34.getTree());
}
break;
default :
break loop4;
}
} while (true);
}
}
}
break;
case 3 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:5: ( ( thenDecl ) ( ( andDecl )* ) )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:5: ( ( thenDecl ) ( ( andDecl )* ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:6: ( thenDecl ) ( ( andDecl )* )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:6: ( thenDecl )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:7: thenDecl
{
pushFollow(FOLLOW_thenDecl_in_statementDecl596);
thenDecl35=thenDecl();
state._fsp--;
adaptor.addChild(root_0, thenDecl35.getTree());
}
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:16: ( ( andDecl )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:17: ( andDecl )*
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:17: ( andDecl )*
loop5:
do {
int alt5=2;
switch ( input.LA(1) ) {
case AND:
{
alt5=1;
}
break;
}
switch (alt5) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:278:18: andDecl
{
pushFollow(FOLLOW_andDecl_in_statementDecl600);
andDecl36=andDecl();
state._fsp--;
adaptor.addChild(root_0, andDecl36.getTree());
}
break;
default :
break loop5;
}
} while (true);
}
}
}
break;
case 4 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:5: ( ( callDecl ) ( ( andDecl )* ) )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:5: ( ( callDecl ) ( ( andDecl )* ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:6: ( callDecl ) ( ( andDecl )* )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:6: ( callDecl )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:7: callDecl
{
pushFollow(FOLLOW_callDecl_in_statementDecl612);
callDecl37=callDecl();
state._fsp--;
adaptor.addChild(root_0, callDecl37.getTree());
}
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:16: ( ( andDecl )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:17: ( andDecl )*
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:17: ( andDecl )*
loop6:
do {
int alt6=2;
switch ( input.LA(1) ) {
case AND:
{
alt6=1;
}
break;
}
switch (alt6) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:279:18: andDecl
{
pushFollow(FOLLOW_andDecl_in_statementDecl616);
andDecl38=andDecl();
state._fsp--;
adaptor.addChild(root_0, andDecl38.getTree());
}
break;
default :
break loop6;
}
} while (true);
}
}
}
break;
default :
if ( cnt7 >= 1 ) break loop7;
EarlyExitException eee =
new EarlyExitException(7, input);
throw eee;
}
cnt7++;
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "statementDecl"
public static class givenKeyword_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "givenKeyword"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:283:1: givenKeyword : GIVEN ;
public final AnotherStoryGrammerParser.givenKeyword_return givenKeyword() throws RecognitionException {
AnotherStoryGrammerParser.givenKeyword_return retval = new AnotherStoryGrammerParser.givenKeyword_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token GIVEN39=null;
CommonTree GIVEN39_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:284:2: ( GIVEN )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:284:4: GIVEN
{
root_0 = (CommonTree)adaptor.nil();
GIVEN39=(Token)match(input,GIVEN,FOLLOW_GIVEN_in_givenKeyword637);
GIVEN39_tree =
(CommonTree)adaptor.create(GIVEN39)
;
adaptor.addChild(root_0, GIVEN39_tree);
onGivenKeyword();
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "givenKeyword"
public static class whenKeyword_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "whenKeyword"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:287:1: whenKeyword : WHEN ;
public final AnotherStoryGrammerParser.whenKeyword_return whenKeyword() throws RecognitionException {
AnotherStoryGrammerParser.whenKeyword_return retval = new AnotherStoryGrammerParser.whenKeyword_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token WHEN40=null;
CommonTree WHEN40_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:288:2: ( WHEN )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:288:4: WHEN
{
root_0 = (CommonTree)adaptor.nil();
WHEN40=(Token)match(input,WHEN,FOLLOW_WHEN_in_whenKeyword650);
WHEN40_tree =
(CommonTree)adaptor.create(WHEN40)
;
adaptor.addChild(root_0, WHEN40_tree);
onWhenKeyword();
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "whenKeyword"
public static class thenKeyword_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "thenKeyword"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:291:1: thenKeyword : THEN ;
public final AnotherStoryGrammerParser.thenKeyword_return thenKeyword() throws RecognitionException {
AnotherStoryGrammerParser.thenKeyword_return retval = new AnotherStoryGrammerParser.thenKeyword_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token THEN41=null;
CommonTree THEN41_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:292:2: ( THEN )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:292:4: THEN
{
root_0 = (CommonTree)adaptor.nil();
THEN41=(Token)match(input,THEN,FOLLOW_THEN_in_thenKeyword663);
THEN41_tree =
(CommonTree)adaptor.create(THEN41)
;
adaptor.addChild(root_0, THEN41_tree);
onThenKeyword();
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "thenKeyword"
public static class andKeyword_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "andKeyword"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:295:1: andKeyword : AND ;
public final AnotherStoryGrammerParser.andKeyword_return andKeyword() throws RecognitionException {
AnotherStoryGrammerParser.andKeyword_return retval = new AnotherStoryGrammerParser.andKeyword_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token AND42=null;
CommonTree AND42_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:296:2: ( AND )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:296:4: AND
{
root_0 = (CommonTree)adaptor.nil();
AND42=(Token)match(input,AND,FOLLOW_AND_in_andKeyword676);
AND42_tree =
(CommonTree)adaptor.create(AND42)
;
adaptor.addChild(root_0, AND42_tree);
onAndKeyword();
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "andKeyword"
public static class giveDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "giveDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:299:1: giveDecl : givenKeyword anyDecl -> ^( TOK_GIVEN givenKeyword anyDecl ) ;
public final AnotherStoryGrammerParser.giveDecl_return giveDecl() throws RecognitionException {
AnotherStoryGrammerParser.giveDecl_return retval = new AnotherStoryGrammerParser.giveDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.givenKeyword_return givenKeyword43 =null;
AnotherStoryGrammerParser.anyDecl_return anyDecl44 =null;
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
RewriteRuleSubtreeStream stream_givenKeyword=new RewriteRuleSubtreeStream(adaptor,"rule givenKeyword");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:300:2: ( givenKeyword anyDecl -> ^( TOK_GIVEN givenKeyword anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:300:4: givenKeyword anyDecl
{
pushFollow(FOLLOW_givenKeyword_in_giveDecl689);
givenKeyword43=givenKeyword();
state._fsp--;
stream_givenKeyword.add(givenKeyword43.getTree());
pushFollow(FOLLOW_anyDecl_in_giveDecl691);
anyDecl44=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl44.getTree());
// AST REWRITE
// elements: anyDecl, givenKeyword
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 301:4: -> ^( TOK_GIVEN givenKeyword anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:301:7: ^( TOK_GIVEN givenKeyword anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_GIVEN, "TOK_GIVEN")
, root_1);
adaptor.addChild(root_1, stream_givenKeyword.nextTree());
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "giveDecl"
public static class whenDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "whenDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:303:1: whenDecl : whenKeyword anyDecl -> ^( TOK_WHEN whenKeyword anyDecl ) ;
public final AnotherStoryGrammerParser.whenDecl_return whenDecl() throws RecognitionException {
AnotherStoryGrammerParser.whenDecl_return retval = new AnotherStoryGrammerParser.whenDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.whenKeyword_return whenKeyword45 =null;
AnotherStoryGrammerParser.anyDecl_return anyDecl46 =null;
RewriteRuleSubtreeStream stream_whenKeyword=new RewriteRuleSubtreeStream(adaptor,"rule whenKeyword");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:304:2: ( whenKeyword anyDecl -> ^( TOK_WHEN whenKeyword anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:304:4: whenKeyword anyDecl
{
pushFollow(FOLLOW_whenKeyword_in_whenDecl714);
whenKeyword45=whenKeyword();
state._fsp--;
stream_whenKeyword.add(whenKeyword45.getTree());
pushFollow(FOLLOW_anyDecl_in_whenDecl716);
anyDecl46=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl46.getTree());
// AST REWRITE
// elements: anyDecl, whenKeyword
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 305:4: -> ^( TOK_WHEN whenKeyword anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:305:7: ^( TOK_WHEN whenKeyword anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_WHEN, "TOK_WHEN")
, root_1);
adaptor.addChild(root_1, stream_whenKeyword.nextTree());
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "whenDecl"
public static class thenDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "thenDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:307:1: thenDecl : thenKeyword anyDecl -> ^( TOK_THEN thenKeyword anyDecl ) ;
public final AnotherStoryGrammerParser.thenDecl_return thenDecl() throws RecognitionException {
AnotherStoryGrammerParser.thenDecl_return retval = new AnotherStoryGrammerParser.thenDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.thenKeyword_return thenKeyword47 =null;
AnotherStoryGrammerParser.anyDecl_return anyDecl48 =null;
RewriteRuleSubtreeStream stream_thenKeyword=new RewriteRuleSubtreeStream(adaptor,"rule thenKeyword");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:308:2: ( thenKeyword anyDecl -> ^( TOK_THEN thenKeyword anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:308:4: thenKeyword anyDecl
{
pushFollow(FOLLOW_thenKeyword_in_thenDecl739);
thenKeyword47=thenKeyword();
state._fsp--;
stream_thenKeyword.add(thenKeyword47.getTree());
pushFollow(FOLLOW_anyDecl_in_thenDecl741);
anyDecl48=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl48.getTree());
// AST REWRITE
// elements: thenKeyword, anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 309:4: -> ^( TOK_THEN thenKeyword anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:309:7: ^( TOK_THEN thenKeyword anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_THEN, "TOK_THEN")
, root_1);
adaptor.addChild(root_1, stream_thenKeyword.nextTree());
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "thenDecl"
public static class andDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "andDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:311:1: andDecl : andKeyword anyDecl -> ^( TOK_AND andKeyword anyDecl ) ;
public final AnotherStoryGrammerParser.andDecl_return andDecl() throws RecognitionException {
AnotherStoryGrammerParser.andDecl_return retval = new AnotherStoryGrammerParser.andDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.andKeyword_return andKeyword49 =null;
AnotherStoryGrammerParser.anyDecl_return anyDecl50 =null;
RewriteRuleSubtreeStream stream_andKeyword=new RewriteRuleSubtreeStream(adaptor,"rule andKeyword");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:312:2: ( andKeyword anyDecl -> ^( TOK_AND andKeyword anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:312:4: andKeyword anyDecl
{
pushFollow(FOLLOW_andKeyword_in_andDecl764);
andKeyword49=andKeyword();
state._fsp--;
stream_andKeyword.add(andKeyword49.getTree());
pushFollow(FOLLOW_anyDecl_in_andDecl766);
anyDecl50=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl50.getTree());
// AST REWRITE
// elements: anyDecl, andKeyword
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 313:4: -> ^( TOK_AND andKeyword anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:313:7: ^( TOK_AND andKeyword anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_AND, "TOK_AND")
, root_1);
adaptor.addChild(root_1, stream_andKeyword.nextTree());
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "andDecl"
public static class callDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "callDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:315:1: callDecl : CALL anyDecl -> ^( TOK_CALL CALL anyDecl ) ;
public final AnotherStoryGrammerParser.callDecl_return callDecl() throws RecognitionException {
AnotherStoryGrammerParser.callDecl_return retval = new AnotherStoryGrammerParser.callDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token CALL51=null;
AnotherStoryGrammerParser.anyDecl_return anyDecl52 =null;
CommonTree CALL51_tree=null;
RewriteRuleTokenStream stream_CALL=new RewriteRuleTokenStream(adaptor,"token CALL");
RewriteRuleSubtreeStream stream_anyDecl=new RewriteRuleSubtreeStream(adaptor,"rule anyDecl");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:316:2: ( CALL anyDecl -> ^( TOK_CALL CALL anyDecl ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:316:4: CALL anyDecl
{
CALL51=(Token)match(input,CALL,FOLLOW_CALL_in_callDecl789);
stream_CALL.add(CALL51);
onCallKeyword();
pushFollow(FOLLOW_anyDecl_in_callDecl793);
anyDecl52=anyDecl();
state._fsp--;
stream_anyDecl.add(anyDecl52.getTree());
// AST REWRITE
// elements: CALL, anyDecl
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 317:4: -> ^( TOK_CALL CALL anyDecl )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:317:7: ^( TOK_CALL CALL anyDecl )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_CALL, "TOK_CALL")
, root_1);
adaptor.addChild(root_1,
stream_CALL.nextNode()
);
adaptor.addChild(root_1, stream_anyDecl.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "callDecl"
public static class anyDeclEndedByPlugin_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "anyDeclEndedByPlugin"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:319:1: anyDeclEndedByPlugin : ( string | identifier )+ PLUGIN ;
public final AnotherStoryGrammerParser.anyDeclEndedByPlugin_return anyDeclEndedByPlugin() throws RecognitionException {
AnotherStoryGrammerParser.anyDeclEndedByPlugin_return retval = new AnotherStoryGrammerParser.anyDeclEndedByPlugin_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token PLUGIN55=null;
AnotherStoryGrammerParser.string_return string53 =null;
AnotherStoryGrammerParser.identifier_return identifier54 =null;
CommonTree PLUGIN55_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:320:2: ( ( string | identifier )+ PLUGIN )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:320:4: ( string | identifier )+ PLUGIN
{
root_0 = (CommonTree)adaptor.nil();
// org/jbehaviour/antlr/AnotherStoryGrammer.g:320:4: ( string | identifier )+
int cnt8=0;
loop8:
do {
int alt8=3;
switch ( input.LA(1) ) {
case String:
{
alt8=1;
}
break;
case Identifier:
{
alt8=2;
}
break;
}
switch (alt8) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:321:6: string
{
pushFollow(FOLLOW_string_in_anyDeclEndedByPlugin823);
string53=string();
state._fsp--;
adaptor.addChild(root_0, string53.getTree());
onAnyString((string53!=null?input.toString(string53.start,string53.stop):null));
}
break;
case 2 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:322:6: identifier
{
pushFollow(FOLLOW_identifier_in_anyDeclEndedByPlugin836);
identifier54=identifier();
state._fsp--;
adaptor.addChild(root_0, identifier54.getTree());
onAnyIdentifier((identifier54!=null?input.toString(identifier54.start,identifier54.stop):null));
}
break;
default :
if ( cnt8 >= 1 ) break loop8;
EarlyExitException eee =
new EarlyExitException(8, input);
throw eee;
}
cnt8++;
} while (true);
PLUGIN55=(Token)match(input,PLUGIN,FOLLOW_PLUGIN_in_anyDeclEndedByPlugin846);
PLUGIN55_tree =
(CommonTree)adaptor.create(PLUGIN55)
;
adaptor.addChild(root_0, PLUGIN55_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anyDeclEndedByPlugin"
public static class anyStringDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "anyStringDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:327:1: anyStringDecl : ( string )+ ;
public final AnotherStoryGrammerParser.anyStringDecl_return anyStringDecl() throws RecognitionException {
AnotherStoryGrammerParser.anyStringDecl_return retval = new AnotherStoryGrammerParser.anyStringDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.string_return string56 =null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:328:2: ( ( string )+ )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:328:4: ( string )+
{
root_0 = (CommonTree)adaptor.nil();
// org/jbehaviour/antlr/AnotherStoryGrammer.g:328:4: ( string )+
int cnt9=0;
loop9:
do {
int alt9=2;
switch ( input.LA(1) ) {
case String:
{
alt9=1;
}
break;
}
switch (alt9) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:329:5: string
{
pushFollow(FOLLOW_string_in_anyStringDecl862);
string56=string();
state._fsp--;
adaptor.addChild(root_0, string56.getTree());
onAnyString((string56!=null?input.toString(string56.start,string56.stop):null));
}
break;
default :
if ( cnt9 >= 1 ) break loop9;
EarlyExitException eee =
new EarlyExitException(9, input);
throw eee;
}
cnt9++;
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anyStringDecl"
public static class anyDecl_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "anyDecl"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:331:1: anyDecl : ( string | identifier | reference | template | integer | jsonObject )+ ;
public final AnotherStoryGrammerParser.anyDecl_return anyDecl() throws RecognitionException {
AnotherStoryGrammerParser.anyDecl_return retval = new AnotherStoryGrammerParser.anyDecl_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
AnotherStoryGrammerParser.string_return string57 =null;
AnotherStoryGrammerParser.identifier_return identifier58 =null;
AnotherStoryGrammerParser.reference_return reference59 =null;
AnotherStoryGrammerParser.template_return template60 =null;
AnotherStoryGrammerParser.integer_return integer61 =null;
AnotherStoryGrammerParser.jsonObject_return jsonObject62 =null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:332:2: ( ( string | identifier | reference | template | integer | jsonObject )+ )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:332:4: ( string | identifier | reference | template | integer | jsonObject )+
{
root_0 = (CommonTree)adaptor.nil();
// org/jbehaviour/antlr/AnotherStoryGrammer.g:332:4: ( string | identifier | reference | template | integer | jsonObject )+
int cnt10=0;
loop10:
do {
int alt10=7;
switch ( input.LA(1) ) {
case String:
{
alt10=1;
}
break;
case Identifier:
{
alt10=2;
}
break;
case Reference:
{
switch ( input.LA(2) ) {
case EOF:
case AND:
case ASAN:
case CALL:
case DECLARE:
case GIVEN:
case INCLUDE:
case INORDERTO:
case IWANTTO:
case Identifier:
case Number:
case REGISTER:
case REPORT:
case Reference:
case SCENARIO:
case String:
case THEN:
case WHEN:
case 71:
{
alt10=3;
}
break;
case Member:
{
alt10=4;
}
break;
}
}
break;
case Number:
{
alt10=5;
}
break;
case 71:
{
alt10=6;
}
break;
}
switch (alt10) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:333:5: string
{
pushFollow(FOLLOW_string_in_anyDecl888);
string57=string();
state._fsp--;
adaptor.addChild(root_0, string57.getTree());
onAnyString((string57!=null?input.toString(string57.start,string57.stop):null));
}
break;
case 2 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:334:5: identifier
{
pushFollow(FOLLOW_identifier_in_anyDecl900);
identifier58=identifier();
state._fsp--;
adaptor.addChild(root_0, identifier58.getTree());
onAnyIdentifier((identifier58!=null?input.toString(identifier58.start,identifier58.stop):null));
}
break;
case 3 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:335:5: reference
{
pushFollow(FOLLOW_reference_in_anyDecl908);
reference59=reference();
state._fsp--;
adaptor.addChild(root_0, reference59.getTree());
onAnyReference((reference59!=null?input.toString(reference59.start,reference59.stop):null));
}
break;
case 4 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:336:5: template
{
pushFollow(FOLLOW_template_in_anyDecl917);
template60=template();
state._fsp--;
adaptor.addChild(root_0, template60.getTree());
onAnyTemplate((template60!=null?input.toString(template60.start,template60.stop):null));
}
break;
case 5 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:337:5: integer
{
pushFollow(FOLLOW_integer_in_anyDecl927);
integer61=integer();
state._fsp--;
adaptor.addChild(root_0, integer61.getTree());
onAnyNumeric((integer61!=null?input.toString(integer61.start,integer61.stop):null));
}
break;
case 6 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:338:5: jsonObject
{
pushFollow(FOLLOW_jsonObject_in_anyDecl938);
jsonObject62=jsonObject();
state._fsp--;
adaptor.addChild(root_0, jsonObject62.getTree());
onAnyJsonObject((jsonObject62!=null?input.toString(jsonObject62.start,jsonObject62.stop):null));
}
break;
default :
if ( cnt10 >= 1 ) break loop10;
EarlyExitException eee =
new EarlyExitException(10, input);
throw eee;
}
cnt10++;
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "anyDecl"
public static class string_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "string"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:341:1: string : String -> ^( STRING String ) ;
public final AnotherStoryGrammerParser.string_return string() throws RecognitionException {
AnotherStoryGrammerParser.string_return retval = new AnotherStoryGrammerParser.string_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token String63=null;
CommonTree String63_tree=null;
RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:341:9: ( String -> ^( STRING String ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:341:11: String
{
String63=(Token)match(input,String,FOLLOW_String_in_string955);
stream_String.add(String63);
// AST REWRITE
// elements: String
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 342:4: -> ^( STRING String )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:342:7: ^( STRING String )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(STRING, "STRING")
, root_1);
adaptor.addChild(root_1,
stream_String.nextNode()
);
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "string"
public static class identifier_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "identifier"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:345:1: identifier : Identifier ;
public final AnotherStoryGrammerParser.identifier_return identifier() throws RecognitionException {
AnotherStoryGrammerParser.identifier_return retval = new AnotherStoryGrammerParser.identifier_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token Identifier64=null;
CommonTree Identifier64_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:346:2: ( Identifier )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:346:4: Identifier
{
root_0 = (CommonTree)adaptor.nil();
Identifier64=(Token)match(input,Identifier,FOLLOW_Identifier_in_identifier977);
Identifier64_tree =
(CommonTree)adaptor.create(Identifier64)
;
adaptor.addChild(root_0, Identifier64_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "identifier"
public static class integer_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "integer"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:349:1: integer : Number ;
public final AnotherStoryGrammerParser.integer_return integer() throws RecognitionException {
AnotherStoryGrammerParser.integer_return retval = new AnotherStoryGrammerParser.integer_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token Number65=null;
CommonTree Number65_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:350:2: ( Number )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:350:4: Number
{
root_0 = (CommonTree)adaptor.nil();
Number65=(Token)match(input,Number,FOLLOW_Number_in_integer988);
Number65_tree =
(CommonTree)adaptor.create(Number65)
;
adaptor.addChild(root_0, Number65_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "integer"
public static class reference_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "reference"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:353:1: reference : Reference ;
public final AnotherStoryGrammerParser.reference_return reference() throws RecognitionException {
AnotherStoryGrammerParser.reference_return retval = new AnotherStoryGrammerParser.reference_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token Reference66=null;
CommonTree Reference66_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:354:2: ( Reference )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:354:4: Reference
{
root_0 = (CommonTree)adaptor.nil();
Reference66=(Token)match(input,Reference,FOLLOW_Reference_in_reference999);
Reference66_tree =
(CommonTree)adaptor.create(Reference66)
;
adaptor.addChild(root_0, Reference66_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "reference"
public static class template_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "template"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:357:1: template : Reference ( member )+ -> ^( TOK_TEMPLATE Reference ( member )+ ) ;
public final AnotherStoryGrammerParser.template_return template() throws RecognitionException {
AnotherStoryGrammerParser.template_return retval = new AnotherStoryGrammerParser.template_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token Reference67=null;
AnotherStoryGrammerParser.member_return member68 =null;
CommonTree Reference67_tree=null;
RewriteRuleTokenStream stream_Reference=new RewriteRuleTokenStream(adaptor,"token Reference");
RewriteRuleSubtreeStream stream_member=new RewriteRuleSubtreeStream(adaptor,"rule member");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:358:2: ( Reference ( member )+ -> ^( TOK_TEMPLATE Reference ( member )+ ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:358:4: Reference ( member )+
{
Reference67=(Token)match(input,Reference,FOLLOW_Reference_in_template1011);
stream_Reference.add(Reference67);
// org/jbehaviour/antlr/AnotherStoryGrammer.g:358:14: ( member )+
int cnt11=0;
loop11:
do {
int alt11=2;
switch ( input.LA(1) ) {
case Member:
{
alt11=1;
}
break;
}
switch (alt11) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:358:15: member
{
pushFollow(FOLLOW_member_in_template1014);
member68=member();
state._fsp--;
stream_member.add(member68.getTree());
}
break;
default :
if ( cnt11 >= 1 ) break loop11;
EarlyExitException eee =
new EarlyExitException(11, input);
throw eee;
}
cnt11++;
} while (true);
// AST REWRITE
// elements: Reference, member
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 359:3: -> ^( TOK_TEMPLATE Reference ( member )+ )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:359:6: ^( TOK_TEMPLATE Reference ( member )+ )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(TOK_TEMPLATE, "TOK_TEMPLATE")
, root_1);
adaptor.addChild(root_1,
stream_Reference.nextNode()
);
if ( !(stream_member.hasNext()) ) {
throw new RewriteEarlyExitException();
}
while ( stream_member.hasNext() ) {
adaptor.addChild(root_1, stream_member.nextTree());
}
stream_member.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "template"
public static class member_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "member"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:362:1: member : Member ;
public final AnotherStoryGrammerParser.member_return member() throws RecognitionException {
AnotherStoryGrammerParser.member_return retval = new AnotherStoryGrammerParser.member_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token Member69=null;
CommonTree Member69_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:362:8: ( Member )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:362:10: Member
{
root_0 = (CommonTree)adaptor.nil();
Member69=(Token)match(input,Member,FOLLOW_Member_in_member1041);
Member69_tree =
(CommonTree)adaptor.create(Member69)
;
adaptor.addChild(root_0, Member69_tree);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "member"
public static class jsonValue_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "jsonValue"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:367:1: jsonValue : ( string | number | jsonObject | array | 'true' -> TRUE | 'false' -> FALSE | 'null' -> NULL );
public final AnotherStoryGrammerParser.jsonValue_return jsonValue() throws RecognitionException {
AnotherStoryGrammerParser.jsonValue_return retval = new AnotherStoryGrammerParser.jsonValue_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token string_literal74=null;
Token string_literal75=null;
Token string_literal76=null;
AnotherStoryGrammerParser.string_return string70 =null;
AnotherStoryGrammerParser.number_return number71 =null;
AnotherStoryGrammerParser.jsonObject_return jsonObject72 =null;
AnotherStoryGrammerParser.array_return array73 =null;
CommonTree string_literal74_tree=null;
CommonTree string_literal75_tree=null;
CommonTree string_literal76_tree=null;
RewriteRuleTokenStream stream_69=new RewriteRuleTokenStream(adaptor,"token 69");
RewriteRuleTokenStream stream_68=new RewriteRuleTokenStream(adaptor,"token 68");
RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:368:2: ( string | number | jsonObject | array | 'true' -> TRUE | 'false' -> FALSE | 'null' -> NULL )
int alt12=7;
switch ( input.LA(1) ) {
case String:
{
alt12=1;
}
break;
case Number:
{
alt12=2;
}
break;
case 71:
{
alt12=3;
}
break;
case 66:
{
alt12=4;
}
break;
case 70:
{
alt12=5;
}
break;
case 68:
{
alt12=6;
}
break;
case 69:
{
alt12=7;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:368:4: string
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_string_in_jsonValue1052);
string70=string();
state._fsp--;
adaptor.addChild(root_0, string70.getTree());
}
break;
case 2 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:369:4: number
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_number_in_jsonValue1057);
number71=number();
state._fsp--;
adaptor.addChild(root_0, number71.getTree());
}
break;
case 3 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:370:4: jsonObject
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_jsonObject_in_jsonValue1062);
jsonObject72=jsonObject();
state._fsp--;
adaptor.addChild(root_0, jsonObject72.getTree());
}
break;
case 4 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:371:4: array
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_array_in_jsonValue1067);
array73=array();
state._fsp--;
adaptor.addChild(root_0, array73.getTree());
}
break;
case 5 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:372:4: 'true'
{
string_literal74=(Token)match(input,70,FOLLOW_70_in_jsonValue1072);
stream_70.add(string_literal74);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 372:11: -> TRUE
{
adaptor.addChild(root_0,
(CommonTree)adaptor.create(TRUE, "TRUE")
);
}
retval.tree = root_0;
}
break;
case 6 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:373:4: 'false'
{
string_literal75=(Token)match(input,68,FOLLOW_68_in_jsonValue1081);
stream_68.add(string_literal75);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 373:12: -> FALSE
{
adaptor.addChild(root_0,
(CommonTree)adaptor.create(FALSE, "FALSE")
);
}
retval.tree = root_0;
}
break;
case 7 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:374:4: 'null'
{
string_literal76=(Token)match(input,69,FOLLOW_69_in_jsonValue1090);
stream_69.add(string_literal76);
// AST REWRITE
// elements:
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 374:11: -> NULL
{
adaptor.addChild(root_0,
(CommonTree)adaptor.create(NULL, "NULL")
);
}
retval.tree = root_0;
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "jsonValue"
public static class number_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "number"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:378:1: number : n= Number {...}? ( Exponent )? -> ^( NUMBER Number ( Exponent )? ) ;
public final AnotherStoryGrammerParser.number_return number() throws RecognitionException {
AnotherStoryGrammerParser.number_return retval = new AnotherStoryGrammerParser.number_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token n=null;
Token Exponent77=null;
CommonTree n_tree=null;
CommonTree Exponent77_tree=null;
RewriteRuleTokenStream stream_Exponent=new RewriteRuleTokenStream(adaptor,"token Exponent");
RewriteRuleTokenStream stream_Number=new RewriteRuleTokenStream(adaptor,"token Number");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:378:8: (n= Number {...}? ( Exponent )? -> ^( NUMBER Number ( Exponent )? ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:378:10: n= Number {...}? ( Exponent )?
{
n=(Token)match(input,Number,FOLLOW_Number_in_number1107);
stream_Number.add(n);
if ( !((Pattern.matches("(0|(-?[1-9]\\d*))(\\.\\d+)?", n.getText()))) ) {
throw new FailedPredicateException(input, "number", "Pattern.matches(\"(0|(-?[1-9]\\\\d*))(\\\\.\\\\d+)?\", n.getText())");
}
// org/jbehaviour/antlr/AnotherStoryGrammer.g:379:6: ( Exponent )?
int alt13=2;
switch ( input.LA(1) ) {
case Exponent:
{
alt13=1;
}
break;
}
switch (alt13) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:379:6: Exponent
{
Exponent77=(Token)match(input,Exponent,FOLLOW_Exponent_in_number1117);
stream_Exponent.add(Exponent77);
}
break;
}
// AST REWRITE
// elements: Number, Exponent
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 380:4: -> ^( NUMBER Number ( Exponent )? )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:380:7: ^( NUMBER Number ( Exponent )? )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(NUMBER, "NUMBER")
, root_1);
adaptor.addChild(root_1,
stream_Number.nextNode()
);
// org/jbehaviour/antlr/AnotherStoryGrammer.g:380:23: ( Exponent )?
if ( stream_Exponent.hasNext() ) {
adaptor.addChild(root_1,
stream_Exponent.nextNode()
);
}
stream_Exponent.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "number"
public static class jsonObject_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "jsonObject"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:383:1: jsonObject : '{' ( members )? '}' -> ^( OBJECT ( members )? ) ;
public final AnotherStoryGrammerParser.jsonObject_return jsonObject() throws RecognitionException {
AnotherStoryGrammerParser.jsonObject_return retval = new AnotherStoryGrammerParser.jsonObject_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token char_literal78=null;
Token char_literal80=null;
AnotherStoryGrammerParser.members_return members79 =null;
CommonTree char_literal78_tree=null;
CommonTree char_literal80_tree=null;
RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
RewriteRuleTokenStream stream_72=new RewriteRuleTokenStream(adaptor,"token 72");
RewriteRuleSubtreeStream stream_members=new RewriteRuleSubtreeStream(adaptor,"rule members");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:383:12: ( '{' ( members )? '}' -> ^( OBJECT ( members )? ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:383:14: '{' ( members )? '}'
{
char_literal78=(Token)match(input,71,FOLLOW_71_in_jsonObject1143);
stream_71.add(char_literal78);
// org/jbehaviour/antlr/AnotherStoryGrammer.g:383:18: ( members )?
int alt14=2;
switch ( input.LA(1) ) {
case String:
{
alt14=1;
}
break;
}
switch (alt14) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:383:18: members
{
pushFollow(FOLLOW_members_in_jsonObject1145);
members79=members();
state._fsp--;
stream_members.add(members79.getTree());
}
break;
}
char_literal80=(Token)match(input,72,FOLLOW_72_in_jsonObject1148);
stream_72.add(char_literal80);
// AST REWRITE
// elements: members
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 384:4: -> ^( OBJECT ( members )? )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:384:7: ^( OBJECT ( members )? )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(OBJECT, "OBJECT")
, root_1);
// org/jbehaviour/antlr/AnotherStoryGrammer.g:384:16: ( members )?
if ( stream_members.hasNext() ) {
adaptor.addChild(root_1, stream_members.nextTree());
}
stream_members.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "jsonObject"
public static class array_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "array"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:387:1: array : '[' ( elements )? ']' -> ^( ARRAY ( elements )? ) ;
public final AnotherStoryGrammerParser.array_return array() throws RecognitionException {
AnotherStoryGrammerParser.array_return retval = new AnotherStoryGrammerParser.array_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token char_literal81=null;
Token char_literal83=null;
AnotherStoryGrammerParser.elements_return elements82 =null;
CommonTree char_literal81_tree=null;
CommonTree char_literal83_tree=null;
RewriteRuleTokenStream stream_67=new RewriteRuleTokenStream(adaptor,"token 67");
RewriteRuleTokenStream stream_66=new RewriteRuleTokenStream(adaptor,"token 66");
RewriteRuleSubtreeStream stream_elements=new RewriteRuleSubtreeStream(adaptor,"rule elements");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:387:7: ( '[' ( elements )? ']' -> ^( ARRAY ( elements )? ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:387:9: '[' ( elements )? ']'
{
char_literal81=(Token)match(input,66,FOLLOW_66_in_array1172);
stream_66.add(char_literal81);
// org/jbehaviour/antlr/AnotherStoryGrammer.g:387:13: ( elements )?
int alt15=2;
switch ( input.LA(1) ) {
case Number:
case String:
case 66:
case 68:
case 69:
case 70:
case 71:
{
alt15=1;
}
break;
}
switch (alt15) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:387:13: elements
{
pushFollow(FOLLOW_elements_in_array1174);
elements82=elements();
state._fsp--;
stream_elements.add(elements82.getTree());
}
break;
}
char_literal83=(Token)match(input,67,FOLLOW_67_in_array1177);
stream_67.add(char_literal83);
// AST REWRITE
// elements: elements
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 388:4: -> ^( ARRAY ( elements )? )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:388:7: ^( ARRAY ( elements )? )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(ARRAY, "ARRAY")
, root_1);
// org/jbehaviour/antlr/AnotherStoryGrammer.g:388:15: ( elements )?
if ( stream_elements.hasNext() ) {
adaptor.addChild(root_1, stream_elements.nextTree());
}
stream_elements.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "array"
public static class elements_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "elements"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:391:1: elements : jsonValue ( COMMA ! jsonValue )* ;
public final AnotherStoryGrammerParser.elements_return elements() throws RecognitionException {
AnotherStoryGrammerParser.elements_return retval = new AnotherStoryGrammerParser.elements_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token COMMA85=null;
AnotherStoryGrammerParser.jsonValue_return jsonValue84 =null;
AnotherStoryGrammerParser.jsonValue_return jsonValue86 =null;
CommonTree COMMA85_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:391:9: ( jsonValue ( COMMA ! jsonValue )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:391:11: jsonValue ( COMMA ! jsonValue )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_jsonValue_in_elements1198);
jsonValue84=jsonValue();
state._fsp--;
adaptor.addChild(root_0, jsonValue84.getTree());
// org/jbehaviour/antlr/AnotherStoryGrammer.g:391:21: ( COMMA ! jsonValue )*
loop16:
do {
int alt16=2;
switch ( input.LA(1) ) {
case COMMA:
{
alt16=1;
}
break;
}
switch (alt16) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:391:22: COMMA ! jsonValue
{
COMMA85=(Token)match(input,COMMA,FOLLOW_COMMA_in_elements1201);
pushFollow(FOLLOW_jsonValue_in_elements1204);
jsonValue86=jsonValue();
state._fsp--;
adaptor.addChild(root_0, jsonValue86.getTree());
}
break;
default :
break loop16;
}
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "elements"
public static class members_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "members"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:394:1: members : pair ( COMMA ! pair )* ;
public final AnotherStoryGrammerParser.members_return members() throws RecognitionException {
AnotherStoryGrammerParser.members_return retval = new AnotherStoryGrammerParser.members_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token COMMA88=null;
AnotherStoryGrammerParser.pair_return pair87 =null;
AnotherStoryGrammerParser.pair_return pair89 =null;
CommonTree COMMA88_tree=null;
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:394:9: ( pair ( COMMA ! pair )* )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:394:11: pair ( COMMA ! pair )*
{
root_0 = (CommonTree)adaptor.nil();
pushFollow(FOLLOW_pair_in_members1217);
pair87=pair();
state._fsp--;
adaptor.addChild(root_0, pair87.getTree());
// org/jbehaviour/antlr/AnotherStoryGrammer.g:394:16: ( COMMA ! pair )*
loop17:
do {
int alt17=2;
switch ( input.LA(1) ) {
case COMMA:
{
alt17=1;
}
break;
}
switch (alt17) {
case 1 :
// org/jbehaviour/antlr/AnotherStoryGrammer.g:394:17: COMMA ! pair
{
COMMA88=(Token)match(input,COMMA,FOLLOW_COMMA_in_members1220);
pushFollow(FOLLOW_pair_in_members1223);
pair89=pair();
state._fsp--;
adaptor.addChild(root_0, pair89.getTree());
}
break;
default :
break loop17;
}
} while (true);
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "members"
public static class pair_return extends ParserRuleReturnScope {
CommonTree tree;
public Object getTree() { return tree; }
};
// $ANTLR start "pair"
// org/jbehaviour/antlr/AnotherStoryGrammer.g:397:1: pair : String ':' jsonValue -> ^( FIELD String jsonValue ) ;
public final AnotherStoryGrammerParser.pair_return pair() throws RecognitionException {
AnotherStoryGrammerParser.pair_return retval = new AnotherStoryGrammerParser.pair_return();
retval.start = input.LT(1);
CommonTree root_0 = null;
Token String90=null;
Token char_literal91=null;
AnotherStoryGrammerParser.jsonValue_return jsonValue92 =null;
CommonTree String90_tree=null;
CommonTree char_literal91_tree=null;
RewriteRuleTokenStream stream_String=new RewriteRuleTokenStream(adaptor,"token String");
RewriteRuleTokenStream stream_65=new RewriteRuleTokenStream(adaptor,"token 65");
RewriteRuleSubtreeStream stream_jsonValue=new RewriteRuleSubtreeStream(adaptor,"rule jsonValue");
try {
// org/jbehaviour/antlr/AnotherStoryGrammer.g:397:6: ( String ':' jsonValue -> ^( FIELD String jsonValue ) )
// org/jbehaviour/antlr/AnotherStoryGrammer.g:397:8: String ':' jsonValue
{
String90=(Token)match(input,String,FOLLOW_String_in_pair1237);
stream_String.add(String90);
char_literal91=(Token)match(input,65,FOLLOW_65_in_pair1239);
stream_65.add(char_literal91);
pushFollow(FOLLOW_jsonValue_in_pair1241);
jsonValue92=jsonValue();
state._fsp--;
stream_jsonValue.add(jsonValue92.getTree());
// AST REWRITE
// elements: jsonValue, String
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.tree:null);
root_0 = (CommonTree)adaptor.nil();
// 398:4: -> ^( FIELD String jsonValue )
{
// org/jbehaviour/antlr/AnotherStoryGrammer.g:398:7: ^( FIELD String jsonValue )
{
CommonTree root_1 = (CommonTree)adaptor.nil();
root_1 = (CommonTree)adaptor.becomeRoot(
(CommonTree)adaptor.create(FIELD, "FIELD")
, root_1);
adaptor.addChild(root_1,
stream_String.nextNode()
);
adaptor.addChild(root_1, stream_jsonValue.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (CommonTree)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (Exception e) {
//throw e;
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "pair"
// Delegated rules
public static final BitSet FOLLOW_feature_in_story273 = new BitSet(new long[]{0x0000020000000002L});
public static final BitSet FOLLOW_scenario_in_story276 = new BitSet(new long[]{0x0000020000000002L});
public static final BitSet FOLLOW_FEATURE_in_feature287 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_feature291 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_featureDecl_in_feature293 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_inOrderToDecl_in_featureDecl319 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_asAnDecl_in_featureDecl321 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_iWantToDecl_in_featureDecl323 = new BitSet(new long[]{0x0000006004002002L});
public static final BitSet FOLLOW_includeDecl_in_featureDecl326 = new BitSet(new long[]{0x0000006004002002L});
public static final BitSet FOLLOW_registerDecl_in_featureDecl328 = new BitSet(new long[]{0x0000006004002002L});
public static final BitSet FOLLOW_reportDecl_in_featureDecl330 = new BitSet(new long[]{0x0000006004002002L});
public static final BitSet FOLLOW_declareDecl_in_featureDecl332 = new BitSet(new long[]{0x0000006004002002L});
public static final BitSet FOLLOW_INORDERTO_in_inOrderToDecl343 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_inOrderToDecl345 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ASAN_in_asAnDecl366 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_asAnDecl368 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IWANTTO_in_iWantToDecl389 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_iWantToDecl391 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_INCLUDE_in_includeDecl412 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_anyStringDecl_in_includeDecl416 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_REGISTER_in_registerDecl437 = new BitSet(new long[]{0x0000080020000000L});
public static final BitSet FOLLOW_anyDeclEndedByPlugin_in_registerDecl441 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_REPORT_in_reportDecl462 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_reportDecl466 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DECLARE_in_declareDecl487 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_declareDecl491 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_SCENARIO_in_scenarioKeyword515 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_scenarioKeyword_in_scenario526 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_scenario528 = new BitSet(new long[]{0x8000100001000200L});
public static final BitSet FOLLOW_statementDecl_in_scenario530 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_giveDecl_in_statementDecl564 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_andDecl_in_statementDecl568 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_whenDecl_in_statementDecl580 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_andDecl_in_statementDecl584 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_thenDecl_in_statementDecl596 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_andDecl_in_statementDecl600 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_callDecl_in_statementDecl612 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_andDecl_in_statementDecl616 = new BitSet(new long[]{0x8000100001000212L});
public static final BitSet FOLLOW_GIVEN_in_givenKeyword637 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_WHEN_in_whenKeyword650 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_THEN_in_thenKeyword663 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_AND_in_andKeyword676 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_givenKeyword_in_giveDecl689 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_giveDecl691 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_whenKeyword_in_whenDecl714 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_whenDecl716 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_thenKeyword_in_thenDecl739 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_thenDecl741 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_andKeyword_in_andDecl764 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_andDecl766 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_CALL_in_callDecl789 = new BitSet(new long[]{0x0000088420000000L,0x0000000000000080L});
public static final BitSet FOLLOW_anyDecl_in_callDecl793 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_string_in_anyDeclEndedByPlugin823 = new BitSet(new long[]{0x0000081020000000L});
public static final BitSet FOLLOW_identifier_in_anyDeclEndedByPlugin836 = new BitSet(new long[]{0x0000081020000000L});
public static final BitSet FOLLOW_PLUGIN_in_anyDeclEndedByPlugin846 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_string_in_anyStringDecl862 = new BitSet(new long[]{0x0000080000000002L});
public static final BitSet FOLLOW_string_in_anyDecl888 = new BitSet(new long[]{0x0000088420000002L,0x0000000000000080L});
public static final BitSet FOLLOW_identifier_in_anyDecl900 = new BitSet(new long[]{0x0000088420000002L,0x0000000000000080L});
public static final BitSet FOLLOW_reference_in_anyDecl908 = new BitSet(new long[]{0x0000088420000002L,0x0000000000000080L});
public static final BitSet FOLLOW_template_in_anyDecl917 = new BitSet(new long[]{0x0000088420000002L,0x0000000000000080L});
public static final BitSet FOLLOW_integer_in_anyDecl927 = new BitSet(new long[]{0x0000088420000002L,0x0000000000000080L});
public static final BitSet FOLLOW_jsonObject_in_anyDecl938 = new BitSet(new long[]{0x0000088420000002L,0x0000000000000080L});
public static final BitSet FOLLOW_String_in_string955 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Identifier_in_identifier977 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Number_in_integer988 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Reference_in_reference999 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Reference_in_template1011 = new BitSet(new long[]{0x0000000080000000L});
public static final BitSet FOLLOW_member_in_template1014 = new BitSet(new long[]{0x0000000080000002L});
public static final BitSet FOLLOW_Member_in_member1041 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_string_in_jsonValue1052 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_number_in_jsonValue1057 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_jsonObject_in_jsonValue1062 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_array_in_jsonValue1067 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_70_in_jsonValue1072 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_68_in_jsonValue1081 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_69_in_jsonValue1090 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_Number_in_number1107 = new BitSet(new long[]{0x0000000000100002L});
public static final BitSet FOLLOW_Exponent_in_number1117 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_71_in_jsonObject1143 = new BitSet(new long[]{0x0000080000000000L,0x0000000000000100L});
public static final BitSet FOLLOW_members_in_jsonObject1145 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
public static final BitSet FOLLOW_72_in_jsonObject1148 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_66_in_array1172 = new BitSet(new long[]{0x0000080400000000L,0x00000000000000FCL});
public static final BitSet FOLLOW_elements_in_array1174 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
public static final BitSet FOLLOW_67_in_array1177 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_jsonValue_in_elements1198 = new BitSet(new long[]{0x0000000000000402L});
public static final BitSet FOLLOW_COMMA_in_elements1201 = new BitSet(new long[]{0x0000080400000000L,0x00000000000000F4L});
public static final BitSet FOLLOW_jsonValue_in_elements1204 = new BitSet(new long[]{0x0000000000000402L});
public static final BitSet FOLLOW_pair_in_members1217 = new BitSet(new long[]{0x0000000000000402L});
public static final BitSet FOLLOW_COMMA_in_members1220 = new BitSet(new long[]{0x0000080000000000L});
public static final BitSet FOLLOW_pair_in_members1223 = new BitSet(new long[]{0x0000000000000402L});
public static final BitSet FOLLOW_String_in_pair1237 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_65_in_pair1239 = new BitSet(new long[]{0x0000080400000000L,0x00000000000000F4L});
public static final BitSet FOLLOW_jsonValue_in_pair1241 = new BitSet(new long[]{0x0000000000000002L});
}