package de.sebastianbenz.xgherkin.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import de.sebastianbenz.xgherkin.services.GherkinGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalGherkinParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_TAG", "RULE_FEATURE_TEXT", "RULE_TEXT", "RULE_AS_A", "RULE_IN_ORDER_TO", "RULE_I_WANT_TO", "RULE_SCENARIO_TEXT", "RULE_SCENARIO_OUTLINE_TEXT", "RULE_EXAMPLE_HEADING", "RULE_EXAMPLE_ROW_END", "RULE_EXAMPLE_CELL", "RULE_BACKGROUND_TEXT", "RULE_WHEN_TEXT", "RULE_THEN_TEXT", "RULE_GIVEN_TEXT", "RULE_AND_TEXT", "RULE_CODE", "RULE_SPACES", "RULE_NNL", "RULE_NL", "RULE_SL_COMMENT", "RULE_WS"
};
public static final int RULE_AS_A=7;
public static final int RULE_IN_ORDER_TO=8;
public static final int RULE_THEN_TEXT=17;
public static final int RULE_NL=23;
public static final int RULE_TAG=4;
public static final int RULE_SPACES=21;
public static final int RULE_TEXT=6;
public static final int RULE_EXAMPLE_HEADING=12;
public static final int RULE_SL_COMMENT=24;
public static final int EOF=-1;
public static final int RULE_CODE=20;
public static final int RULE_NNL=22;
public static final int RULE_WHEN_TEXT=16;
public static final int RULE_GIVEN_TEXT=18;
public static final int RULE_I_WANT_TO=9;
public static final int RULE_SCENARIO_TEXT=10;
public static final int RULE_EXAMPLE_ROW_END=13;
public static final int RULE_BACKGROUND_TEXT=15;
public static final int RULE_WS=25;
public static final int RULE_SCENARIO_OUTLINE_TEXT=11;
public static final int RULE_AND_TEXT=19;
public static final int RULE_EXAMPLE_CELL=14;
public static final int RULE_FEATURE_TEXT=5;
// delegates
// delegators
public InternalGherkinParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalGherkinParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalGherkinParser.tokenNames; }
public String getGrammarFileName() { return "../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g"; }
private GherkinGrammarAccess grammarAccess;
public InternalGherkinParser(TokenStream input, GherkinGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "Feature";
}
@Override
protected GherkinGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleFeature"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:67:1: entryRuleFeature returns [EObject current=null] : iv_ruleFeature= ruleFeature EOF ;
public final EObject entryRuleFeature() throws RecognitionException {
EObject current = null;
EObject iv_ruleFeature = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:68:2: (iv_ruleFeature= ruleFeature EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:69:2: iv_ruleFeature= ruleFeature EOF
{
newCompositeNode(grammarAccess.getFeatureRule());
pushFollow(FOLLOW_ruleFeature_in_entryRuleFeature75);
iv_ruleFeature=ruleFeature();
state._fsp--;
current =iv_ruleFeature;
match(input,EOF,FOLLOW_EOF_in_entryRuleFeature85);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFeature"
// $ANTLR start "ruleFeature"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:76:1: ruleFeature returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_FEATURE_TEXT ) )? ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_scenarios_3_0= ruleAbstractScenario ) )* ) ;
public final EObject ruleFeature() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_name_1_0=null;
EObject lv_elements_2_0 = null;
EObject lv_scenarios_3_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:79:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_FEATURE_TEXT ) )? ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_scenarios_3_0= ruleAbstractScenario ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:80:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_FEATURE_TEXT ) )? ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_scenarios_3_0= ruleAbstractScenario ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:80:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_FEATURE_TEXT ) )? ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_scenarios_3_0= ruleAbstractScenario ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:80:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_FEATURE_TEXT ) )? ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_scenarios_3_0= ruleAbstractScenario ) )*
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:80:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==RULE_TAG) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:81:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:81:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:82:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleFeature127);
newLeafNode(lv_tags_0_0, grammarAccess.getFeatureAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop1;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:98:3: ( (lv_name_1_0= RULE_FEATURE_TEXT ) )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==RULE_FEATURE_TEXT) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:99:1: (lv_name_1_0= RULE_FEATURE_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:99:1: (lv_name_1_0= RULE_FEATURE_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:100:3: lv_name_1_0= RULE_FEATURE_TEXT
{
lv_name_1_0=(Token)match(input,RULE_FEATURE_TEXT,FOLLOW_RULE_FEATURE_TEXT_in_ruleFeature150);
newLeafNode(lv_name_1_0, grammarAccess.getFeatureAccess().getNameFEATURE_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"FEATURE_TEXT");
}
}
break;
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:116:3: ( (lv_elements_2_0= ruleNarrativeElement ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( ((LA3_0>=RULE_TEXT && LA3_0<=RULE_I_WANT_TO)) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:117:1: (lv_elements_2_0= ruleNarrativeElement )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:117:1: (lv_elements_2_0= ruleNarrativeElement )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:118:3: lv_elements_2_0= ruleNarrativeElement
{
newCompositeNode(grammarAccess.getFeatureAccess().getElementsNarrativeElementParserRuleCall_2_0());
pushFollow(FOLLOW_ruleNarrativeElement_in_ruleFeature177);
lv_elements_2_0=ruleNarrativeElement();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureRule());
}
add(
current,
"elements",
lv_elements_2_0,
"NarrativeElement");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop3;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:134:3: ( (lv_scenarios_3_0= ruleAbstractScenario ) )*
loop4:
do {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==RULE_TAG||(LA4_0>=RULE_SCENARIO_TEXT && LA4_0<=RULE_SCENARIO_OUTLINE_TEXT)||LA4_0==RULE_BACKGROUND_TEXT) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:135:1: (lv_scenarios_3_0= ruleAbstractScenario )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:135:1: (lv_scenarios_3_0= ruleAbstractScenario )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:136:3: lv_scenarios_3_0= ruleAbstractScenario
{
newCompositeNode(grammarAccess.getFeatureAccess().getScenariosAbstractScenarioParserRuleCall_3_0());
pushFollow(FOLLOW_ruleAbstractScenario_in_ruleFeature199);
lv_scenarios_3_0=ruleAbstractScenario();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureRule());
}
add(
current,
"scenarios",
lv_scenarios_3_0,
"AbstractScenario");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop4;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFeature"
// $ANTLR start "entryRuleNarrativeElement"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:160:1: entryRuleNarrativeElement returns [EObject current=null] : iv_ruleNarrativeElement= ruleNarrativeElement EOF ;
public final EObject entryRuleNarrativeElement() throws RecognitionException {
EObject current = null;
EObject iv_ruleNarrativeElement = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:161:2: (iv_ruleNarrativeElement= ruleNarrativeElement EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:162:2: iv_ruleNarrativeElement= ruleNarrativeElement EOF
{
newCompositeNode(grammarAccess.getNarrativeElementRule());
pushFollow(FOLLOW_ruleNarrativeElement_in_entryRuleNarrativeElement236);
iv_ruleNarrativeElement=ruleNarrativeElement();
state._fsp--;
current =iv_ruleNarrativeElement;
match(input,EOF,FOLLOW_EOF_in_entryRuleNarrativeElement246);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNarrativeElement"
// $ANTLR start "ruleNarrativeElement"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:169:1: ruleNarrativeElement returns [EObject current=null] : (this_InOrderTo_0= ruleInOrderTo | this_AsA_1= ruleAsA | this_IWantTo_2= ruleIWantTo | this_FreeText_3= ruleFreeText ) ;
public final EObject ruleNarrativeElement() throws RecognitionException {
EObject current = null;
EObject this_InOrderTo_0 = null;
EObject this_AsA_1 = null;
EObject this_IWantTo_2 = null;
EObject this_FreeText_3 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:172:28: ( (this_InOrderTo_0= ruleInOrderTo | this_AsA_1= ruleAsA | this_IWantTo_2= ruleIWantTo | this_FreeText_3= ruleFreeText ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:173:1: (this_InOrderTo_0= ruleInOrderTo | this_AsA_1= ruleAsA | this_IWantTo_2= ruleIWantTo | this_FreeText_3= ruleFreeText )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:173:1: (this_InOrderTo_0= ruleInOrderTo | this_AsA_1= ruleAsA | this_IWantTo_2= ruleIWantTo | this_FreeText_3= ruleFreeText )
int alt5=4;
switch ( input.LA(1) ) {
case RULE_IN_ORDER_TO:
{
alt5=1;
}
break;
case RULE_AS_A:
{
alt5=2;
}
break;
case RULE_I_WANT_TO:
{
alt5=3;
}
break;
case RULE_TEXT:
{
alt5=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 5, 0, input);
throw nvae;
}
switch (alt5) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:174:5: this_InOrderTo_0= ruleInOrderTo
{
newCompositeNode(grammarAccess.getNarrativeElementAccess().getInOrderToParserRuleCall_0());
pushFollow(FOLLOW_ruleInOrderTo_in_ruleNarrativeElement293);
this_InOrderTo_0=ruleInOrderTo();
state._fsp--;
current = this_InOrderTo_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:184:5: this_AsA_1= ruleAsA
{
newCompositeNode(grammarAccess.getNarrativeElementAccess().getAsAParserRuleCall_1());
pushFollow(FOLLOW_ruleAsA_in_ruleNarrativeElement320);
this_AsA_1=ruleAsA();
state._fsp--;
current = this_AsA_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:194:5: this_IWantTo_2= ruleIWantTo
{
newCompositeNode(grammarAccess.getNarrativeElementAccess().getIWantToParserRuleCall_2());
pushFollow(FOLLOW_ruleIWantTo_in_ruleNarrativeElement347);
this_IWantTo_2=ruleIWantTo();
state._fsp--;
current = this_IWantTo_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:204:5: this_FreeText_3= ruleFreeText
{
newCompositeNode(grammarAccess.getNarrativeElementAccess().getFreeTextParserRuleCall_3());
pushFollow(FOLLOW_ruleFreeText_in_ruleNarrativeElement374);
this_FreeText_3=ruleFreeText();
state._fsp--;
current = this_FreeText_3;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNarrativeElement"
// $ANTLR start "entryRuleFreeText"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:220:1: entryRuleFreeText returns [EObject current=null] : iv_ruleFreeText= ruleFreeText EOF ;
public final EObject entryRuleFreeText() throws RecognitionException {
EObject current = null;
EObject iv_ruleFreeText = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:221:2: (iv_ruleFreeText= ruleFreeText EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:222:2: iv_ruleFreeText= ruleFreeText EOF
{
newCompositeNode(grammarAccess.getFreeTextRule());
pushFollow(FOLLOW_ruleFreeText_in_entryRuleFreeText409);
iv_ruleFreeText=ruleFreeText();
state._fsp--;
current =iv_ruleFreeText;
match(input,EOF,FOLLOW_EOF_in_entryRuleFreeText419);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFreeText"
// $ANTLR start "ruleFreeText"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:229:1: ruleFreeText returns [EObject current=null] : ( (lv_name_0_0= RULE_TEXT ) ) ;
public final EObject ruleFreeText() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:232:28: ( ( (lv_name_0_0= RULE_TEXT ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:233:1: ( (lv_name_0_0= RULE_TEXT ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:233:1: ( (lv_name_0_0= RULE_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:234:1: (lv_name_0_0= RULE_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:234:1: (lv_name_0_0= RULE_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:235:3: lv_name_0_0= RULE_TEXT
{
lv_name_0_0=(Token)match(input,RULE_TEXT,FOLLOW_RULE_TEXT_in_ruleFreeText460);
newLeafNode(lv_name_0_0, grammarAccess.getFreeTextAccess().getNameTEXTTerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getFreeTextRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"TEXT");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFreeText"
// $ANTLR start "entryRuleAsA"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:259:1: entryRuleAsA returns [EObject current=null] : iv_ruleAsA= ruleAsA EOF ;
public final EObject entryRuleAsA() throws RecognitionException {
EObject current = null;
EObject iv_ruleAsA = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:260:2: (iv_ruleAsA= ruleAsA EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:261:2: iv_ruleAsA= ruleAsA EOF
{
newCompositeNode(grammarAccess.getAsARule());
pushFollow(FOLLOW_ruleAsA_in_entryRuleAsA500);
iv_ruleAsA=ruleAsA();
state._fsp--;
current =iv_ruleAsA;
match(input,EOF,FOLLOW_EOF_in_entryRuleAsA510);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAsA"
// $ANTLR start "ruleAsA"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:268:1: ruleAsA returns [EObject current=null] : ( (lv_name_0_0= RULE_AS_A ) ) ;
public final EObject ruleAsA() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:271:28: ( ( (lv_name_0_0= RULE_AS_A ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:272:1: ( (lv_name_0_0= RULE_AS_A ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:272:1: ( (lv_name_0_0= RULE_AS_A ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:273:1: (lv_name_0_0= RULE_AS_A )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:273:1: (lv_name_0_0= RULE_AS_A )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:274:3: lv_name_0_0= RULE_AS_A
{
lv_name_0_0=(Token)match(input,RULE_AS_A,FOLLOW_RULE_AS_A_in_ruleAsA551);
newLeafNode(lv_name_0_0, grammarAccess.getAsAAccess().getNameAS_ATerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getAsARule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"AS_A");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAsA"
// $ANTLR start "entryRuleInOrderTo"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:298:1: entryRuleInOrderTo returns [EObject current=null] : iv_ruleInOrderTo= ruleInOrderTo EOF ;
public final EObject entryRuleInOrderTo() throws RecognitionException {
EObject current = null;
EObject iv_ruleInOrderTo = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:299:2: (iv_ruleInOrderTo= ruleInOrderTo EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:300:2: iv_ruleInOrderTo= ruleInOrderTo EOF
{
newCompositeNode(grammarAccess.getInOrderToRule());
pushFollow(FOLLOW_ruleInOrderTo_in_entryRuleInOrderTo591);
iv_ruleInOrderTo=ruleInOrderTo();
state._fsp--;
current =iv_ruleInOrderTo;
match(input,EOF,FOLLOW_EOF_in_entryRuleInOrderTo601);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInOrderTo"
// $ANTLR start "ruleInOrderTo"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:307:1: ruleInOrderTo returns [EObject current=null] : ( (lv_name_0_0= RULE_IN_ORDER_TO ) ) ;
public final EObject ruleInOrderTo() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:310:28: ( ( (lv_name_0_0= RULE_IN_ORDER_TO ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:311:1: ( (lv_name_0_0= RULE_IN_ORDER_TO ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:311:1: ( (lv_name_0_0= RULE_IN_ORDER_TO ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:312:1: (lv_name_0_0= RULE_IN_ORDER_TO )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:312:1: (lv_name_0_0= RULE_IN_ORDER_TO )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:313:3: lv_name_0_0= RULE_IN_ORDER_TO
{
lv_name_0_0=(Token)match(input,RULE_IN_ORDER_TO,FOLLOW_RULE_IN_ORDER_TO_in_ruleInOrderTo642);
newLeafNode(lv_name_0_0, grammarAccess.getInOrderToAccess().getNameIN_ORDER_TOTerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getInOrderToRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"IN_ORDER_TO");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInOrderTo"
// $ANTLR start "entryRuleIWantTo"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:337:1: entryRuleIWantTo returns [EObject current=null] : iv_ruleIWantTo= ruleIWantTo EOF ;
public final EObject entryRuleIWantTo() throws RecognitionException {
EObject current = null;
EObject iv_ruleIWantTo = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:338:2: (iv_ruleIWantTo= ruleIWantTo EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:339:2: iv_ruleIWantTo= ruleIWantTo EOF
{
newCompositeNode(grammarAccess.getIWantToRule());
pushFollow(FOLLOW_ruleIWantTo_in_entryRuleIWantTo682);
iv_ruleIWantTo=ruleIWantTo();
state._fsp--;
current =iv_ruleIWantTo;
match(input,EOF,FOLLOW_EOF_in_entryRuleIWantTo692);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIWantTo"
// $ANTLR start "ruleIWantTo"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:346:1: ruleIWantTo returns [EObject current=null] : ( (lv_name_0_0= RULE_I_WANT_TO ) ) ;
public final EObject ruleIWantTo() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:349:28: ( ( (lv_name_0_0= RULE_I_WANT_TO ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:350:1: ( (lv_name_0_0= RULE_I_WANT_TO ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:350:1: ( (lv_name_0_0= RULE_I_WANT_TO ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:351:1: (lv_name_0_0= RULE_I_WANT_TO )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:351:1: (lv_name_0_0= RULE_I_WANT_TO )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:352:3: lv_name_0_0= RULE_I_WANT_TO
{
lv_name_0_0=(Token)match(input,RULE_I_WANT_TO,FOLLOW_RULE_I_WANT_TO_in_ruleIWantTo733);
newLeafNode(lv_name_0_0, grammarAccess.getIWantToAccess().getNameI_WANT_TOTerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getIWantToRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"I_WANT_TO");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIWantTo"
// $ANTLR start "entryRuleAbstractScenario"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:376:1: entryRuleAbstractScenario returns [EObject current=null] : iv_ruleAbstractScenario= ruleAbstractScenario EOF ;
public final EObject entryRuleAbstractScenario() throws RecognitionException {
EObject current = null;
EObject iv_ruleAbstractScenario = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:377:2: (iv_ruleAbstractScenario= ruleAbstractScenario EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:378:2: iv_ruleAbstractScenario= ruleAbstractScenario EOF
{
newCompositeNode(grammarAccess.getAbstractScenarioRule());
pushFollow(FOLLOW_ruleAbstractScenario_in_entryRuleAbstractScenario773);
iv_ruleAbstractScenario=ruleAbstractScenario();
state._fsp--;
current =iv_ruleAbstractScenario;
match(input,EOF,FOLLOW_EOF_in_entryRuleAbstractScenario783);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAbstractScenario"
// $ANTLR start "ruleAbstractScenario"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:385:1: ruleAbstractScenario returns [EObject current=null] : (this_Background_0= ruleBackground | this_Scenario_1= ruleScenario | this_ScenarioWithOutline_2= ruleScenarioWithOutline ) ;
public final EObject ruleAbstractScenario() throws RecognitionException {
EObject current = null;
EObject this_Background_0 = null;
EObject this_Scenario_1 = null;
EObject this_ScenarioWithOutline_2 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:388:28: ( (this_Background_0= ruleBackground | this_Scenario_1= ruleScenario | this_ScenarioWithOutline_2= ruleScenarioWithOutline ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:389:1: (this_Background_0= ruleBackground | this_Scenario_1= ruleScenario | this_ScenarioWithOutline_2= ruleScenarioWithOutline )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:389:1: (this_Background_0= ruleBackground | this_Scenario_1= ruleScenario | this_ScenarioWithOutline_2= ruleScenarioWithOutline )
int alt6=3;
alt6 = dfa6.predict(input);
switch (alt6) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:390:5: this_Background_0= ruleBackground
{
newCompositeNode(grammarAccess.getAbstractScenarioAccess().getBackgroundParserRuleCall_0());
pushFollow(FOLLOW_ruleBackground_in_ruleAbstractScenario830);
this_Background_0=ruleBackground();
state._fsp--;
current = this_Background_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:400:5: this_Scenario_1= ruleScenario
{
newCompositeNode(grammarAccess.getAbstractScenarioAccess().getScenarioParserRuleCall_1());
pushFollow(FOLLOW_ruleScenario_in_ruleAbstractScenario857);
this_Scenario_1=ruleScenario();
state._fsp--;
current = this_Scenario_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:410:5: this_ScenarioWithOutline_2= ruleScenarioWithOutline
{
newCompositeNode(grammarAccess.getAbstractScenarioAccess().getScenarioWithOutlineParserRuleCall_2());
pushFollow(FOLLOW_ruleScenarioWithOutline_in_ruleAbstractScenario884);
this_ScenarioWithOutline_2=ruleScenarioWithOutline();
state._fsp--;
current = this_ScenarioWithOutline_2;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAbstractScenario"
// $ANTLR start "entryRuleScenario"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:426:1: entryRuleScenario returns [EObject current=null] : iv_ruleScenario= ruleScenario EOF ;
public final EObject entryRuleScenario() throws RecognitionException {
EObject current = null;
EObject iv_ruleScenario = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:427:2: (iv_ruleScenario= ruleScenario EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:428:2: iv_ruleScenario= ruleScenario EOF
{
newCompositeNode(grammarAccess.getScenarioRule());
pushFollow(FOLLOW_ruleScenario_in_entryRuleScenario919);
iv_ruleScenario=ruleScenario();
state._fsp--;
current =iv_ruleScenario;
match(input,EOF,FOLLOW_EOF_in_entryRuleScenario929);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleScenario"
// $ANTLR start "ruleScenario"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:435:1: ruleScenario returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ) ;
public final EObject ruleScenario() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_name_1_0=null;
EObject lv_elements_2_0 = null;
EObject lv_steps_3_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:438:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:439:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:439:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:439:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:439:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop7:
do {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==RULE_TAG) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:440:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:440:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:441:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleScenario971);
newLeafNode(lv_tags_0_0, grammarAccess.getScenarioAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getScenarioRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop7;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:457:3: ( (lv_name_1_0= RULE_SCENARIO_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:458:1: (lv_name_1_0= RULE_SCENARIO_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:458:1: (lv_name_1_0= RULE_SCENARIO_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:459:3: lv_name_1_0= RULE_SCENARIO_TEXT
{
lv_name_1_0=(Token)match(input,RULE_SCENARIO_TEXT,FOLLOW_RULE_SCENARIO_TEXT_in_ruleScenario994);
newLeafNode(lv_name_1_0, grammarAccess.getScenarioAccess().getNameSCENARIO_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getScenarioRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"SCENARIO_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:475:2: ( (lv_elements_2_0= ruleNarrativeElement ) )*
loop8:
do {
int alt8=2;
int LA8_0 = input.LA(1);
if ( ((LA8_0>=RULE_TEXT && LA8_0<=RULE_I_WANT_TO)) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:476:1: (lv_elements_2_0= ruleNarrativeElement )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:476:1: (lv_elements_2_0= ruleNarrativeElement )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:477:3: lv_elements_2_0= ruleNarrativeElement
{
newCompositeNode(grammarAccess.getScenarioAccess().getElementsNarrativeElementParserRuleCall_2_0());
pushFollow(FOLLOW_ruleNarrativeElement_in_ruleScenario1020);
lv_elements_2_0=ruleNarrativeElement();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getScenarioRule());
}
add(
current,
"elements",
lv_elements_2_0,
"NarrativeElement");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop8;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:493:3: ( (lv_steps_3_0= ruleStep ) )+
int cnt9=0;
loop9:
do {
int alt9=2;
alt9 = dfa9.predict(input);
switch (alt9) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:494:1: (lv_steps_3_0= ruleStep )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:494:1: (lv_steps_3_0= ruleStep )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:495:3: lv_steps_3_0= ruleStep
{
newCompositeNode(grammarAccess.getScenarioAccess().getStepsStepParserRuleCall_3_0());
pushFollow(FOLLOW_ruleStep_in_ruleScenario1042);
lv_steps_3_0=ruleStep();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getScenarioRule());
}
add(
current,
"steps",
lv_steps_3_0,
"Step");
afterParserOrEnumRuleCall();
}
}
break;
default :
if ( cnt9 >= 1 ) break loop9;
EarlyExitException eee =
new EarlyExitException(9, input);
throw eee;
}
cnt9++;
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleScenario"
// $ANTLR start "entryRuleScenarioWithOutline"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:519:1: entryRuleScenarioWithOutline returns [EObject current=null] : iv_ruleScenarioWithOutline= ruleScenarioWithOutline EOF ;
public final EObject entryRuleScenarioWithOutline() throws RecognitionException {
EObject current = null;
EObject iv_ruleScenarioWithOutline = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:520:2: (iv_ruleScenarioWithOutline= ruleScenarioWithOutline EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:521:2: iv_ruleScenarioWithOutline= ruleScenarioWithOutline EOF
{
newCompositeNode(grammarAccess.getScenarioWithOutlineRule());
pushFollow(FOLLOW_ruleScenarioWithOutline_in_entryRuleScenarioWithOutline1079);
iv_ruleScenarioWithOutline=ruleScenarioWithOutline();
state._fsp--;
current =iv_ruleScenarioWithOutline;
match(input,EOF,FOLLOW_EOF_in_entryRuleScenarioWithOutline1089);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleScenarioWithOutline"
// $ANTLR start "ruleScenarioWithOutline"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:528:1: ruleScenarioWithOutline returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ( (lv_example_4_0= ruleExample ) ) ) ;
public final EObject ruleScenarioWithOutline() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_name_1_0=null;
EObject lv_elements_2_0 = null;
EObject lv_steps_3_0 = null;
EObject lv_example_4_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:531:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ( (lv_example_4_0= ruleExample ) ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:532:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ( (lv_example_4_0= ruleExample ) ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:532:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ( (lv_example_4_0= ruleExample ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:532:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT ) ) ( (lv_elements_2_0= ruleNarrativeElement ) )* ( (lv_steps_3_0= ruleStep ) )+ ( (lv_example_4_0= ruleExample ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:532:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==RULE_TAG) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:533:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:533:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:534:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleScenarioWithOutline1131);
newLeafNode(lv_tags_0_0, grammarAccess.getScenarioWithOutlineAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getScenarioWithOutlineRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop10;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:550:3: ( (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:551:1: (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:551:1: (lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:552:3: lv_name_1_0= RULE_SCENARIO_OUTLINE_TEXT
{
lv_name_1_0=(Token)match(input,RULE_SCENARIO_OUTLINE_TEXT,FOLLOW_RULE_SCENARIO_OUTLINE_TEXT_in_ruleScenarioWithOutline1154);
newLeafNode(lv_name_1_0, grammarAccess.getScenarioWithOutlineAccess().getNameSCENARIO_OUTLINE_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getScenarioWithOutlineRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"SCENARIO_OUTLINE_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:568:2: ( (lv_elements_2_0= ruleNarrativeElement ) )*
loop11:
do {
int alt11=2;
int LA11_0 = input.LA(1);
if ( ((LA11_0>=RULE_TEXT && LA11_0<=RULE_I_WANT_TO)) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:569:1: (lv_elements_2_0= ruleNarrativeElement )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:569:1: (lv_elements_2_0= ruleNarrativeElement )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:570:3: lv_elements_2_0= ruleNarrativeElement
{
newCompositeNode(grammarAccess.getScenarioWithOutlineAccess().getElementsNarrativeElementParserRuleCall_2_0());
pushFollow(FOLLOW_ruleNarrativeElement_in_ruleScenarioWithOutline1180);
lv_elements_2_0=ruleNarrativeElement();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getScenarioWithOutlineRule());
}
add(
current,
"elements",
lv_elements_2_0,
"NarrativeElement");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop11;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:586:3: ( (lv_steps_3_0= ruleStep ) )+
int cnt12=0;
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==RULE_TAG||(LA12_0>=RULE_WHEN_TEXT && LA12_0<=RULE_AND_TEXT)) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:587:1: (lv_steps_3_0= ruleStep )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:587:1: (lv_steps_3_0= ruleStep )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:588:3: lv_steps_3_0= ruleStep
{
newCompositeNode(grammarAccess.getScenarioWithOutlineAccess().getStepsStepParserRuleCall_3_0());
pushFollow(FOLLOW_ruleStep_in_ruleScenarioWithOutline1202);
lv_steps_3_0=ruleStep();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getScenarioWithOutlineRule());
}
add(
current,
"steps",
lv_steps_3_0,
"Step");
afterParserOrEnumRuleCall();
}
}
break;
default :
if ( cnt12 >= 1 ) break loop12;
EarlyExitException eee =
new EarlyExitException(12, input);
throw eee;
}
cnt12++;
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:604:3: ( (lv_example_4_0= ruleExample ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:605:1: (lv_example_4_0= ruleExample )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:605:1: (lv_example_4_0= ruleExample )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:606:3: lv_example_4_0= ruleExample
{
newCompositeNode(grammarAccess.getScenarioWithOutlineAccess().getExampleExampleParserRuleCall_4_0());
pushFollow(FOLLOW_ruleExample_in_ruleScenarioWithOutline1224);
lv_example_4_0=ruleExample();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getScenarioWithOutlineRule());
}
set(
current,
"example",
lv_example_4_0,
"Example");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleScenarioWithOutline"
// $ANTLR start "entryRuleExample"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:630:1: entryRuleExample returns [EObject current=null] : iv_ruleExample= ruleExample EOF ;
public final EObject entryRuleExample() throws RecognitionException {
EObject current = null;
EObject iv_ruleExample = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:631:2: (iv_ruleExample= ruleExample EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:632:2: iv_ruleExample= ruleExample EOF
{
newCompositeNode(grammarAccess.getExampleRule());
pushFollow(FOLLOW_ruleExample_in_entryRuleExample1260);
iv_ruleExample=ruleExample();
state._fsp--;
current =iv_ruleExample;
match(input,EOF,FOLLOW_EOF_in_entryRuleExample1270);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExample"
// $ANTLR start "ruleExample"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:639:1: ruleExample returns [EObject current=null] : (this_EXAMPLE_HEADING_0= RULE_EXAMPLE_HEADING ( (lv_heading_1_0= ruleExampleRow ) ) ( (lv_rows_2_0= ruleExampleRow ) )* ) ;
public final EObject ruleExample() throws RecognitionException {
EObject current = null;
Token this_EXAMPLE_HEADING_0=null;
EObject lv_heading_1_0 = null;
EObject lv_rows_2_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:642:28: ( (this_EXAMPLE_HEADING_0= RULE_EXAMPLE_HEADING ( (lv_heading_1_0= ruleExampleRow ) ) ( (lv_rows_2_0= ruleExampleRow ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:643:1: (this_EXAMPLE_HEADING_0= RULE_EXAMPLE_HEADING ( (lv_heading_1_0= ruleExampleRow ) ) ( (lv_rows_2_0= ruleExampleRow ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:643:1: (this_EXAMPLE_HEADING_0= RULE_EXAMPLE_HEADING ( (lv_heading_1_0= ruleExampleRow ) ) ( (lv_rows_2_0= ruleExampleRow ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:643:2: this_EXAMPLE_HEADING_0= RULE_EXAMPLE_HEADING ( (lv_heading_1_0= ruleExampleRow ) ) ( (lv_rows_2_0= ruleExampleRow ) )*
{
this_EXAMPLE_HEADING_0=(Token)match(input,RULE_EXAMPLE_HEADING,FOLLOW_RULE_EXAMPLE_HEADING_in_ruleExample1306);
newLeafNode(this_EXAMPLE_HEADING_0, grammarAccess.getExampleAccess().getEXAMPLE_HEADINGTerminalRuleCall_0());
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:647:1: ( (lv_heading_1_0= ruleExampleRow ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:648:1: (lv_heading_1_0= ruleExampleRow )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:648:1: (lv_heading_1_0= ruleExampleRow )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:649:3: lv_heading_1_0= ruleExampleRow
{
newCompositeNode(grammarAccess.getExampleAccess().getHeadingExampleRowParserRuleCall_1_0());
pushFollow(FOLLOW_ruleExampleRow_in_ruleExample1326);
lv_heading_1_0=ruleExampleRow();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExampleRule());
}
set(
current,
"heading",
lv_heading_1_0,
"ExampleRow");
afterParserOrEnumRuleCall();
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:665:2: ( (lv_rows_2_0= ruleExampleRow ) )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==RULE_EXAMPLE_CELL) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:666:1: (lv_rows_2_0= ruleExampleRow )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:666:1: (lv_rows_2_0= ruleExampleRow )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:667:3: lv_rows_2_0= ruleExampleRow
{
newCompositeNode(grammarAccess.getExampleAccess().getRowsExampleRowParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExampleRow_in_ruleExample1347);
lv_rows_2_0=ruleExampleRow();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExampleRule());
}
add(
current,
"rows",
lv_rows_2_0,
"ExampleRow");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop13;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExample"
// $ANTLR start "entryRuleExampleRow"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:691:1: entryRuleExampleRow returns [EObject current=null] : iv_ruleExampleRow= ruleExampleRow EOF ;
public final EObject entryRuleExampleRow() throws RecognitionException {
EObject current = null;
EObject iv_ruleExampleRow = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:692:2: (iv_ruleExampleRow= ruleExampleRow EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:693:2: iv_ruleExampleRow= ruleExampleRow EOF
{
newCompositeNode(grammarAccess.getExampleRowRule());
pushFollow(FOLLOW_ruleExampleRow_in_entryRuleExampleRow1384);
iv_ruleExampleRow=ruleExampleRow();
state._fsp--;
current =iv_ruleExampleRow;
match(input,EOF,FOLLOW_EOF_in_entryRuleExampleRow1394);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExampleRow"
// $ANTLR start "ruleExampleRow"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:700:1: ruleExampleRow returns [EObject current=null] : ( ( (lv_cells_0_0= ruleExampleCell ) )+ this_EXAMPLE_ROW_END_1= RULE_EXAMPLE_ROW_END ) ;
public final EObject ruleExampleRow() throws RecognitionException {
EObject current = null;
Token this_EXAMPLE_ROW_END_1=null;
EObject lv_cells_0_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:703:28: ( ( ( (lv_cells_0_0= ruleExampleCell ) )+ this_EXAMPLE_ROW_END_1= RULE_EXAMPLE_ROW_END ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:704:1: ( ( (lv_cells_0_0= ruleExampleCell ) )+ this_EXAMPLE_ROW_END_1= RULE_EXAMPLE_ROW_END )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:704:1: ( ( (lv_cells_0_0= ruleExampleCell ) )+ this_EXAMPLE_ROW_END_1= RULE_EXAMPLE_ROW_END )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:704:2: ( (lv_cells_0_0= ruleExampleCell ) )+ this_EXAMPLE_ROW_END_1= RULE_EXAMPLE_ROW_END
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:704:2: ( (lv_cells_0_0= ruleExampleCell ) )+
int cnt14=0;
loop14:
do {
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==RULE_EXAMPLE_CELL) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:705:1: (lv_cells_0_0= ruleExampleCell )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:705:1: (lv_cells_0_0= ruleExampleCell )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:706:3: lv_cells_0_0= ruleExampleCell
{
newCompositeNode(grammarAccess.getExampleRowAccess().getCellsExampleCellParserRuleCall_0_0());
pushFollow(FOLLOW_ruleExampleCell_in_ruleExampleRow1440);
lv_cells_0_0=ruleExampleCell();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExampleRowRule());
}
add(
current,
"cells",
lv_cells_0_0,
"ExampleCell");
afterParserOrEnumRuleCall();
}
}
break;
default :
if ( cnt14 >= 1 ) break loop14;
EarlyExitException eee =
new EarlyExitException(14, input);
throw eee;
}
cnt14++;
} while (true);
this_EXAMPLE_ROW_END_1=(Token)match(input,RULE_EXAMPLE_ROW_END,FOLLOW_RULE_EXAMPLE_ROW_END_in_ruleExampleRow1452);
newLeafNode(this_EXAMPLE_ROW_END_1, grammarAccess.getExampleRowAccess().getEXAMPLE_ROW_ENDTerminalRuleCall_1());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExampleRow"
// $ANTLR start "entryRuleExampleCell"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:734:1: entryRuleExampleCell returns [EObject current=null] : iv_ruleExampleCell= ruleExampleCell EOF ;
public final EObject entryRuleExampleCell() throws RecognitionException {
EObject current = null;
EObject iv_ruleExampleCell = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:735:2: (iv_ruleExampleCell= ruleExampleCell EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:736:2: iv_ruleExampleCell= ruleExampleCell EOF
{
newCompositeNode(grammarAccess.getExampleCellRule());
pushFollow(FOLLOW_ruleExampleCell_in_entryRuleExampleCell1487);
iv_ruleExampleCell=ruleExampleCell();
state._fsp--;
current =iv_ruleExampleCell;
match(input,EOF,FOLLOW_EOF_in_entryRuleExampleCell1497);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExampleCell"
// $ANTLR start "ruleExampleCell"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:743:1: ruleExampleCell returns [EObject current=null] : ( (lv_value_0_0= RULE_EXAMPLE_CELL ) ) ;
public final EObject ruleExampleCell() throws RecognitionException {
EObject current = null;
Token lv_value_0_0=null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:746:28: ( ( (lv_value_0_0= RULE_EXAMPLE_CELL ) ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:747:1: ( (lv_value_0_0= RULE_EXAMPLE_CELL ) )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:747:1: ( (lv_value_0_0= RULE_EXAMPLE_CELL ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:748:1: (lv_value_0_0= RULE_EXAMPLE_CELL )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:748:1: (lv_value_0_0= RULE_EXAMPLE_CELL )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:749:3: lv_value_0_0= RULE_EXAMPLE_CELL
{
lv_value_0_0=(Token)match(input,RULE_EXAMPLE_CELL,FOLLOW_RULE_EXAMPLE_CELL_in_ruleExampleCell1538);
newLeafNode(lv_value_0_0, grammarAccess.getExampleCellAccess().getValueEXAMPLE_CELLTerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getExampleCellRule());
}
setWithLastConsumed(
current,
"value",
lv_value_0_0,
"EXAMPLE_CELL");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExampleCell"
// $ANTLR start "entryRuleBackground"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:773:1: entryRuleBackground returns [EObject current=null] : iv_ruleBackground= ruleBackground EOF ;
public final EObject entryRuleBackground() throws RecognitionException {
EObject current = null;
EObject iv_ruleBackground = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:774:2: (iv_ruleBackground= ruleBackground EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:775:2: iv_ruleBackground= ruleBackground EOF
{
newCompositeNode(grammarAccess.getBackgroundRule());
pushFollow(FOLLOW_ruleBackground_in_entryRuleBackground1578);
iv_ruleBackground=ruleBackground();
state._fsp--;
current =iv_ruleBackground;
match(input,EOF,FOLLOW_EOF_in_entryRuleBackground1588);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBackground"
// $ANTLR start "ruleBackground"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:782:1: ruleBackground returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_BACKGROUND_TEXT ) ) ( (lv_steps_2_0= ruleStep ) )* ) ;
public final EObject ruleBackground() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_name_1_0=null;
EObject lv_steps_2_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:785:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_BACKGROUND_TEXT ) ) ( (lv_steps_2_0= ruleStep ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:786:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_BACKGROUND_TEXT ) ) ( (lv_steps_2_0= ruleStep ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:786:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_BACKGROUND_TEXT ) ) ( (lv_steps_2_0= ruleStep ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:786:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_name_1_0= RULE_BACKGROUND_TEXT ) ) ( (lv_steps_2_0= ruleStep ) )*
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:786:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop15:
do {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==RULE_TAG) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:787:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:787:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:788:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleBackground1630);
newLeafNode(lv_tags_0_0, grammarAccess.getBackgroundAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getBackgroundRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop15;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:804:3: ( (lv_name_1_0= RULE_BACKGROUND_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:805:1: (lv_name_1_0= RULE_BACKGROUND_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:805:1: (lv_name_1_0= RULE_BACKGROUND_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:806:3: lv_name_1_0= RULE_BACKGROUND_TEXT
{
lv_name_1_0=(Token)match(input,RULE_BACKGROUND_TEXT,FOLLOW_RULE_BACKGROUND_TEXT_in_ruleBackground1653);
newLeafNode(lv_name_1_0, grammarAccess.getBackgroundAccess().getNameBACKGROUND_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getBackgroundRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"BACKGROUND_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:822:2: ( (lv_steps_2_0= ruleStep ) )*
loop16:
do {
int alt16=2;
alt16 = dfa16.predict(input);
switch (alt16) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:823:1: (lv_steps_2_0= ruleStep )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:823:1: (lv_steps_2_0= ruleStep )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:824:3: lv_steps_2_0= ruleStep
{
newCompositeNode(grammarAccess.getBackgroundAccess().getStepsStepParserRuleCall_2_0());
pushFollow(FOLLOW_ruleStep_in_ruleBackground1679);
lv_steps_2_0=ruleStep();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBackgroundRule());
}
add(
current,
"steps",
lv_steps_2_0,
"Step");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop16;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBackground"
// $ANTLR start "entryRuleStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:848:1: entryRuleStep returns [EObject current=null] : iv_ruleStep= ruleStep EOF ;
public final EObject entryRuleStep() throws RecognitionException {
EObject current = null;
EObject iv_ruleStep = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:849:2: (iv_ruleStep= ruleStep EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:850:2: iv_ruleStep= ruleStep EOF
{
newCompositeNode(grammarAccess.getStepRule());
pushFollow(FOLLOW_ruleStep_in_entryRuleStep1716);
iv_ruleStep=ruleStep();
state._fsp--;
current =iv_ruleStep;
match(input,EOF,FOLLOW_EOF_in_entryRuleStep1726);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStep"
// $ANTLR start "ruleStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:857:1: ruleStep returns [EObject current=null] : (this_WhenStep_0= ruleWhenStep | this_ThenStep_1= ruleThenStep | this_GivenStep_2= ruleGivenStep | this_AndStep_3= ruleAndStep ) ;
public final EObject ruleStep() throws RecognitionException {
EObject current = null;
EObject this_WhenStep_0 = null;
EObject this_ThenStep_1 = null;
EObject this_GivenStep_2 = null;
EObject this_AndStep_3 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:860:28: ( (this_WhenStep_0= ruleWhenStep | this_ThenStep_1= ruleThenStep | this_GivenStep_2= ruleGivenStep | this_AndStep_3= ruleAndStep ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:861:1: (this_WhenStep_0= ruleWhenStep | this_ThenStep_1= ruleThenStep | this_GivenStep_2= ruleGivenStep | this_AndStep_3= ruleAndStep )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:861:1: (this_WhenStep_0= ruleWhenStep | this_ThenStep_1= ruleThenStep | this_GivenStep_2= ruleGivenStep | this_AndStep_3= ruleAndStep )
int alt17=4;
alt17 = dfa17.predict(input);
switch (alt17) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:862:5: this_WhenStep_0= ruleWhenStep
{
newCompositeNode(grammarAccess.getStepAccess().getWhenStepParserRuleCall_0());
pushFollow(FOLLOW_ruleWhenStep_in_ruleStep1773);
this_WhenStep_0=ruleWhenStep();
state._fsp--;
current = this_WhenStep_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:872:5: this_ThenStep_1= ruleThenStep
{
newCompositeNode(grammarAccess.getStepAccess().getThenStepParserRuleCall_1());
pushFollow(FOLLOW_ruleThenStep_in_ruleStep1800);
this_ThenStep_1=ruleThenStep();
state._fsp--;
current = this_ThenStep_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:882:5: this_GivenStep_2= ruleGivenStep
{
newCompositeNode(grammarAccess.getStepAccess().getGivenStepParserRuleCall_2());
pushFollow(FOLLOW_ruleGivenStep_in_ruleStep1827);
this_GivenStep_2=ruleGivenStep();
state._fsp--;
current = this_GivenStep_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:892:5: this_AndStep_3= ruleAndStep
{
newCompositeNode(grammarAccess.getStepAccess().getAndStepParserRuleCall_3());
pushFollow(FOLLOW_ruleAndStep_in_ruleStep1854);
this_AndStep_3=ruleAndStep();
state._fsp--;
current = this_AndStep_3;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStep"
// $ANTLR start "entryRuleWhenStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:908:1: entryRuleWhenStep returns [EObject current=null] : iv_ruleWhenStep= ruleWhenStep EOF ;
public final EObject entryRuleWhenStep() throws RecognitionException {
EObject current = null;
EObject iv_ruleWhenStep = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:909:2: (iv_ruleWhenStep= ruleWhenStep EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:910:2: iv_ruleWhenStep= ruleWhenStep EOF
{
newCompositeNode(grammarAccess.getWhenStepRule());
pushFollow(FOLLOW_ruleWhenStep_in_entryRuleWhenStep1889);
iv_ruleWhenStep=ruleWhenStep();
state._fsp--;
current =iv_ruleWhenStep;
match(input,EOF,FOLLOW_EOF_in_entryRuleWhenStep1899);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWhenStep"
// $ANTLR start "ruleWhenStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:917:1: ruleWhenStep returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_WHEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* ) ;
public final EObject ruleWhenStep() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_desc_1_0=null;
AntlrDatatypeRuleToken lv_desc_2_0 = null;
EObject lv_rows_3_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:920:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_WHEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:921:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_WHEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:921:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_WHEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:921:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_WHEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )*
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:921:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop18:
do {
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==RULE_TAG) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:922:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:922:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:923:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleWhenStep1941);
newLeafNode(lv_tags_0_0, grammarAccess.getWhenStepAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getWhenStepRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop18;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:939:3: ( (lv_desc_1_0= RULE_WHEN_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:940:1: (lv_desc_1_0= RULE_WHEN_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:940:1: (lv_desc_1_0= RULE_WHEN_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:941:3: lv_desc_1_0= RULE_WHEN_TEXT
{
lv_desc_1_0=(Token)match(input,RULE_WHEN_TEXT,FOLLOW_RULE_WHEN_TEXT_in_ruleWhenStep1964);
newLeafNode(lv_desc_1_0, grammarAccess.getWhenStepAccess().getDescWHEN_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getWhenStepRule());
}
addWithLastConsumed(
current,
"desc",
lv_desc_1_0,
"WHEN_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:957:2: ( (lv_desc_2_0= ruleOptionalText ) )*
loop19:
do {
int alt19=2;
int LA19_0 = input.LA(1);
if ( (LA19_0==RULE_TEXT||LA19_0==RULE_CODE) ) {
alt19=1;
}
switch (alt19) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:958:1: (lv_desc_2_0= ruleOptionalText )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:958:1: (lv_desc_2_0= ruleOptionalText )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:959:3: lv_desc_2_0= ruleOptionalText
{
newCompositeNode(grammarAccess.getWhenStepAccess().getDescOptionalTextParserRuleCall_2_0());
pushFollow(FOLLOW_ruleOptionalText_in_ruleWhenStep1990);
lv_desc_2_0=ruleOptionalText();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhenStepRule());
}
add(
current,
"desc",
lv_desc_2_0,
"OptionalText");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop19;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:975:3: ( (lv_rows_3_0= ruleExampleRow ) )*
loop20:
do {
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==RULE_EXAMPLE_CELL) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:976:1: (lv_rows_3_0= ruleExampleRow )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:976:1: (lv_rows_3_0= ruleExampleRow )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:977:3: lv_rows_3_0= ruleExampleRow
{
newCompositeNode(grammarAccess.getWhenStepAccess().getRowsExampleRowParserRuleCall_3_0());
pushFollow(FOLLOW_ruleExampleRow_in_ruleWhenStep2012);
lv_rows_3_0=ruleExampleRow();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhenStepRule());
}
add(
current,
"rows",
lv_rows_3_0,
"ExampleRow");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop20;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWhenStep"
// $ANTLR start "entryRuleThenStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1001:1: entryRuleThenStep returns [EObject current=null] : iv_ruleThenStep= ruleThenStep EOF ;
public final EObject entryRuleThenStep() throws RecognitionException {
EObject current = null;
EObject iv_ruleThenStep = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1002:2: (iv_ruleThenStep= ruleThenStep EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1003:2: iv_ruleThenStep= ruleThenStep EOF
{
newCompositeNode(grammarAccess.getThenStepRule());
pushFollow(FOLLOW_ruleThenStep_in_entryRuleThenStep2049);
iv_ruleThenStep=ruleThenStep();
state._fsp--;
current =iv_ruleThenStep;
match(input,EOF,FOLLOW_EOF_in_entryRuleThenStep2059);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleThenStep"
// $ANTLR start "ruleThenStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1010:1: ruleThenStep returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_THEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* ) ;
public final EObject ruleThenStep() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_desc_1_0=null;
AntlrDatatypeRuleToken lv_desc_2_0 = null;
EObject lv_rows_3_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1013:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_THEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1014:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_THEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1014:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_THEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1014:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_THEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )*
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1014:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop21:
do {
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==RULE_TAG) ) {
alt21=1;
}
switch (alt21) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1015:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1015:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1016:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleThenStep2101);
newLeafNode(lv_tags_0_0, grammarAccess.getThenStepAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getThenStepRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop21;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1032:3: ( (lv_desc_1_0= RULE_THEN_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1033:1: (lv_desc_1_0= RULE_THEN_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1033:1: (lv_desc_1_0= RULE_THEN_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1034:3: lv_desc_1_0= RULE_THEN_TEXT
{
lv_desc_1_0=(Token)match(input,RULE_THEN_TEXT,FOLLOW_RULE_THEN_TEXT_in_ruleThenStep2124);
newLeafNode(lv_desc_1_0, grammarAccess.getThenStepAccess().getDescTHEN_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getThenStepRule());
}
addWithLastConsumed(
current,
"desc",
lv_desc_1_0,
"THEN_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1050:2: ( (lv_desc_2_0= ruleOptionalText ) )*
loop22:
do {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==RULE_TEXT||LA22_0==RULE_CODE) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1051:1: (lv_desc_2_0= ruleOptionalText )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1051:1: (lv_desc_2_0= ruleOptionalText )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1052:3: lv_desc_2_0= ruleOptionalText
{
newCompositeNode(grammarAccess.getThenStepAccess().getDescOptionalTextParserRuleCall_2_0());
pushFollow(FOLLOW_ruleOptionalText_in_ruleThenStep2150);
lv_desc_2_0=ruleOptionalText();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getThenStepRule());
}
add(
current,
"desc",
lv_desc_2_0,
"OptionalText");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop22;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1068:3: ( (lv_rows_3_0= ruleExampleRow ) )*
loop23:
do {
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==RULE_EXAMPLE_CELL) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1069:1: (lv_rows_3_0= ruleExampleRow )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1069:1: (lv_rows_3_0= ruleExampleRow )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1070:3: lv_rows_3_0= ruleExampleRow
{
newCompositeNode(grammarAccess.getThenStepAccess().getRowsExampleRowParserRuleCall_3_0());
pushFollow(FOLLOW_ruleExampleRow_in_ruleThenStep2172);
lv_rows_3_0=ruleExampleRow();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getThenStepRule());
}
add(
current,
"rows",
lv_rows_3_0,
"ExampleRow");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop23;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleThenStep"
// $ANTLR start "entryRuleGivenStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1094:1: entryRuleGivenStep returns [EObject current=null] : iv_ruleGivenStep= ruleGivenStep EOF ;
public final EObject entryRuleGivenStep() throws RecognitionException {
EObject current = null;
EObject iv_ruleGivenStep = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1095:2: (iv_ruleGivenStep= ruleGivenStep EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1096:2: iv_ruleGivenStep= ruleGivenStep EOF
{
newCompositeNode(grammarAccess.getGivenStepRule());
pushFollow(FOLLOW_ruleGivenStep_in_entryRuleGivenStep2209);
iv_ruleGivenStep=ruleGivenStep();
state._fsp--;
current =iv_ruleGivenStep;
match(input,EOF,FOLLOW_EOF_in_entryRuleGivenStep2219);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGivenStep"
// $ANTLR start "ruleGivenStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1103:1: ruleGivenStep returns [EObject current=null] : ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_GIVEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* ) ;
public final EObject ruleGivenStep() throws RecognitionException {
EObject current = null;
Token lv_tags_0_0=null;
Token lv_desc_1_0=null;
AntlrDatatypeRuleToken lv_desc_2_0 = null;
EObject lv_rows_3_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1106:28: ( ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_GIVEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1107:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_GIVEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1107:1: ( ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_GIVEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1107:2: ( (lv_tags_0_0= RULE_TAG ) )* ( (lv_desc_1_0= RULE_GIVEN_TEXT ) ) ( (lv_desc_2_0= ruleOptionalText ) )* ( (lv_rows_3_0= ruleExampleRow ) )*
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1107:2: ( (lv_tags_0_0= RULE_TAG ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==RULE_TAG) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1108:1: (lv_tags_0_0= RULE_TAG )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1108:1: (lv_tags_0_0= RULE_TAG )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1109:3: lv_tags_0_0= RULE_TAG
{
lv_tags_0_0=(Token)match(input,RULE_TAG,FOLLOW_RULE_TAG_in_ruleGivenStep2261);
newLeafNode(lv_tags_0_0, grammarAccess.getGivenStepAccess().getTagsTAGTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getGivenStepRule());
}
addWithLastConsumed(
current,
"tags",
lv_tags_0_0,
"TAG");
}
}
break;
default :
break loop24;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1125:3: ( (lv_desc_1_0= RULE_GIVEN_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1126:1: (lv_desc_1_0= RULE_GIVEN_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1126:1: (lv_desc_1_0= RULE_GIVEN_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1127:3: lv_desc_1_0= RULE_GIVEN_TEXT
{
lv_desc_1_0=(Token)match(input,RULE_GIVEN_TEXT,FOLLOW_RULE_GIVEN_TEXT_in_ruleGivenStep2284);
newLeafNode(lv_desc_1_0, grammarAccess.getGivenStepAccess().getDescGIVEN_TEXTTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getGivenStepRule());
}
addWithLastConsumed(
current,
"desc",
lv_desc_1_0,
"GIVEN_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1143:2: ( (lv_desc_2_0= ruleOptionalText ) )*
loop25:
do {
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==RULE_TEXT||LA25_0==RULE_CODE) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1144:1: (lv_desc_2_0= ruleOptionalText )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1144:1: (lv_desc_2_0= ruleOptionalText )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1145:3: lv_desc_2_0= ruleOptionalText
{
newCompositeNode(grammarAccess.getGivenStepAccess().getDescOptionalTextParserRuleCall_2_0());
pushFollow(FOLLOW_ruleOptionalText_in_ruleGivenStep2310);
lv_desc_2_0=ruleOptionalText();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGivenStepRule());
}
add(
current,
"desc",
lv_desc_2_0,
"OptionalText");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop25;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1161:3: ( (lv_rows_3_0= ruleExampleRow ) )*
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==RULE_EXAMPLE_CELL) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1162:1: (lv_rows_3_0= ruleExampleRow )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1162:1: (lv_rows_3_0= ruleExampleRow )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1163:3: lv_rows_3_0= ruleExampleRow
{
newCompositeNode(grammarAccess.getGivenStepAccess().getRowsExampleRowParserRuleCall_3_0());
pushFollow(FOLLOW_ruleExampleRow_in_ruleGivenStep2332);
lv_rows_3_0=ruleExampleRow();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGivenStepRule());
}
add(
current,
"rows",
lv_rows_3_0,
"ExampleRow");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop26;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGivenStep"
// $ANTLR start "entryRuleAndStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1187:1: entryRuleAndStep returns [EObject current=null] : iv_ruleAndStep= ruleAndStep EOF ;
public final EObject entryRuleAndStep() throws RecognitionException {
EObject current = null;
EObject iv_ruleAndStep = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1188:2: (iv_ruleAndStep= ruleAndStep EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1189:2: iv_ruleAndStep= ruleAndStep EOF
{
newCompositeNode(grammarAccess.getAndStepRule());
pushFollow(FOLLOW_ruleAndStep_in_entryRuleAndStep2369);
iv_ruleAndStep=ruleAndStep();
state._fsp--;
current =iv_ruleAndStep;
match(input,EOF,FOLLOW_EOF_in_entryRuleAndStep2379);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAndStep"
// $ANTLR start "ruleAndStep"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1196:1: ruleAndStep returns [EObject current=null] : ( ( (lv_desc_0_0= RULE_AND_TEXT ) ) ( (lv_desc_1_0= ruleOptionalText ) )* ( (lv_rows_2_0= ruleExampleRow ) )* ) ;
public final EObject ruleAndStep() throws RecognitionException {
EObject current = null;
Token lv_desc_0_0=null;
AntlrDatatypeRuleToken lv_desc_1_0 = null;
EObject lv_rows_2_0 = null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1199:28: ( ( ( (lv_desc_0_0= RULE_AND_TEXT ) ) ( (lv_desc_1_0= ruleOptionalText ) )* ( (lv_rows_2_0= ruleExampleRow ) )* ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1200:1: ( ( (lv_desc_0_0= RULE_AND_TEXT ) ) ( (lv_desc_1_0= ruleOptionalText ) )* ( (lv_rows_2_0= ruleExampleRow ) )* )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1200:1: ( ( (lv_desc_0_0= RULE_AND_TEXT ) ) ( (lv_desc_1_0= ruleOptionalText ) )* ( (lv_rows_2_0= ruleExampleRow ) )* )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1200:2: ( (lv_desc_0_0= RULE_AND_TEXT ) ) ( (lv_desc_1_0= ruleOptionalText ) )* ( (lv_rows_2_0= ruleExampleRow ) )*
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1200:2: ( (lv_desc_0_0= RULE_AND_TEXT ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1201:1: (lv_desc_0_0= RULE_AND_TEXT )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1201:1: (lv_desc_0_0= RULE_AND_TEXT )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1202:3: lv_desc_0_0= RULE_AND_TEXT
{
lv_desc_0_0=(Token)match(input,RULE_AND_TEXT,FOLLOW_RULE_AND_TEXT_in_ruleAndStep2421);
newLeafNode(lv_desc_0_0, grammarAccess.getAndStepAccess().getDescAND_TEXTTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getAndStepRule());
}
addWithLastConsumed(
current,
"desc",
lv_desc_0_0,
"AND_TEXT");
}
}
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1218:2: ( (lv_desc_1_0= ruleOptionalText ) )*
loop27:
do {
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==RULE_TEXT||LA27_0==RULE_CODE) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1219:1: (lv_desc_1_0= ruleOptionalText )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1219:1: (lv_desc_1_0= ruleOptionalText )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1220:3: lv_desc_1_0= ruleOptionalText
{
newCompositeNode(grammarAccess.getAndStepAccess().getDescOptionalTextParserRuleCall_1_0());
pushFollow(FOLLOW_ruleOptionalText_in_ruleAndStep2447);
lv_desc_1_0=ruleOptionalText();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAndStepRule());
}
add(
current,
"desc",
lv_desc_1_0,
"OptionalText");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop27;
}
} while (true);
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1236:3: ( (lv_rows_2_0= ruleExampleRow ) )*
loop28:
do {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==RULE_EXAMPLE_CELL) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1237:1: (lv_rows_2_0= ruleExampleRow )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1237:1: (lv_rows_2_0= ruleExampleRow )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1238:3: lv_rows_2_0= ruleExampleRow
{
newCompositeNode(grammarAccess.getAndStepAccess().getRowsExampleRowParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExampleRow_in_ruleAndStep2469);
lv_rows_2_0=ruleExampleRow();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAndStepRule());
}
add(
current,
"rows",
lv_rows_2_0,
"ExampleRow");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop28;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAndStep"
// $ANTLR start "entryRuleOptionalText"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1262:1: entryRuleOptionalText returns [String current=null] : iv_ruleOptionalText= ruleOptionalText EOF ;
public final String entryRuleOptionalText() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOptionalText = null;
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1263:2: (iv_ruleOptionalText= ruleOptionalText EOF )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1264:2: iv_ruleOptionalText= ruleOptionalText EOF
{
newCompositeNode(grammarAccess.getOptionalTextRule());
pushFollow(FOLLOW_ruleOptionalText_in_entryRuleOptionalText2507);
iv_ruleOptionalText=ruleOptionalText();
state._fsp--;
current =iv_ruleOptionalText.getText();
match(input,EOF,FOLLOW_EOF_in_entryRuleOptionalText2518);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOptionalText"
// $ANTLR start "ruleOptionalText"
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1271:1: ruleOptionalText returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_TEXT_0= RULE_TEXT | this_CODE_1= RULE_CODE ) ;
public final AntlrDatatypeRuleToken ruleOptionalText() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_TEXT_0=null;
Token this_CODE_1=null;
enterRule();
try {
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1274:28: ( (this_TEXT_0= RULE_TEXT | this_CODE_1= RULE_CODE ) )
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1275:1: (this_TEXT_0= RULE_TEXT | this_CODE_1= RULE_CODE )
{
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1275:1: (this_TEXT_0= RULE_TEXT | this_CODE_1= RULE_CODE )
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==RULE_TEXT) ) {
alt29=1;
}
else if ( (LA29_0==RULE_CODE) ) {
alt29=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 29, 0, input);
throw nvae;
}
switch (alt29) {
case 1 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1275:6: this_TEXT_0= RULE_TEXT
{
this_TEXT_0=(Token)match(input,RULE_TEXT,FOLLOW_RULE_TEXT_in_ruleOptionalText2558);
current.merge(this_TEXT_0);
newLeafNode(this_TEXT_0, grammarAccess.getOptionalTextAccess().getTEXTTerminalRuleCall_0());
}
break;
case 2 :
// ../de.sebastianbenz.xgherkin/src-gen/de/sebastianbenz/xgherkin/parser/antlr/internal/InternalGherkin.g:1283:10: this_CODE_1= RULE_CODE
{
this_CODE_1=(Token)match(input,RULE_CODE,FOLLOW_RULE_CODE_in_ruleOptionalText2584);
current.merge(this_CODE_1);
newLeafNode(this_CODE_1, grammarAccess.getOptionalTextAccess().getCODETerminalRuleCall_1());
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOptionalText"
// Delegated rules
protected DFA6 dfa6 = new DFA6(this);
protected DFA9 dfa9 = new DFA9(this);
protected DFA16 dfa16 = new DFA16(this);
protected DFA17 dfa17 = new DFA17(this);
static final String DFA6_eotS =
"\5\uffff";
static final String DFA6_eofS =
"\5\uffff";
static final String DFA6_minS =
"\2\4\3\uffff";
static final String DFA6_maxS =
"\2\17\3\uffff";
static final String DFA6_acceptS =
"\2\uffff\1\1\1\2\1\3";
static final String DFA6_specialS =
"\5\uffff}>";
static final String[] DFA6_transitionS = {
"\1\1\5\uffff\1\3\1\4\3\uffff\1\2",
"\1\1\5\uffff\1\3\1\4\3\uffff\1\2",
"",
"",
""
};
static final short[] DFA6_eot = DFA.unpackEncodedString(DFA6_eotS);
static final short[] DFA6_eof = DFA.unpackEncodedString(DFA6_eofS);
static final char[] DFA6_min = DFA.unpackEncodedStringToUnsignedChars(DFA6_minS);
static final char[] DFA6_max = DFA.unpackEncodedStringToUnsignedChars(DFA6_maxS);
static final short[] DFA6_accept = DFA.unpackEncodedString(DFA6_acceptS);
static final short[] DFA6_special = DFA.unpackEncodedString(DFA6_specialS);
static final short[][] DFA6_transition;
static {
int numStates = DFA6_transitionS.length;
DFA6_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA6_transition[i] = DFA.unpackEncodedString(DFA6_transitionS[i]);
}
}
class DFA6 extends DFA {
public DFA6(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 6;
this.eot = DFA6_eot;
this.eof = DFA6_eof;
this.min = DFA6_min;
this.max = DFA6_max;
this.accept = DFA6_accept;
this.special = DFA6_special;
this.transition = DFA6_transition;
}
public String getDescription() {
return "389:1: (this_Background_0= ruleBackground | this_Scenario_1= ruleScenario | this_ScenarioWithOutline_2= ruleScenarioWithOutline )";
}
}
static final String DFA9_eotS =
"\4\uffff";
static final String DFA9_eofS =
"\1\1\3\uffff";
static final String DFA9_minS =
"\1\4\1\uffff\1\4\1\uffff";
static final String DFA9_maxS =
"\1\23\1\uffff\1\22\1\uffff";
static final String DFA9_acceptS =
"\1\uffff\1\2\1\uffff\1\1";
static final String DFA9_specialS =
"\4\uffff}>";
static final String[] DFA9_transitionS = {
"\1\2\5\uffff\2\1\3\uffff\1\1\4\3",
"",
"\1\2\5\uffff\2\1\3\uffff\1\1\3\3",
""
};
static final short[] DFA9_eot = DFA.unpackEncodedString(DFA9_eotS);
static final short[] DFA9_eof = DFA.unpackEncodedString(DFA9_eofS);
static final char[] DFA9_min = DFA.unpackEncodedStringToUnsignedChars(DFA9_minS);
static final char[] DFA9_max = DFA.unpackEncodedStringToUnsignedChars(DFA9_maxS);
static final short[] DFA9_accept = DFA.unpackEncodedString(DFA9_acceptS);
static final short[] DFA9_special = DFA.unpackEncodedString(DFA9_specialS);
static final short[][] DFA9_transition;
static {
int numStates = DFA9_transitionS.length;
DFA9_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA9_transition[i] = DFA.unpackEncodedString(DFA9_transitionS[i]);
}
}
class DFA9 extends DFA {
public DFA9(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 9;
this.eot = DFA9_eot;
this.eof = DFA9_eof;
this.min = DFA9_min;
this.max = DFA9_max;
this.accept = DFA9_accept;
this.special = DFA9_special;
this.transition = DFA9_transition;
}
public String getDescription() {
return "()+ loopback of 493:3: ( (lv_steps_3_0= ruleStep ) )+";
}
}
static final String DFA16_eotS =
"\4\uffff";
static final String DFA16_eofS =
"\1\1\3\uffff";
static final String DFA16_minS =
"\1\4\1\uffff\1\4\1\uffff";
static final String DFA16_maxS =
"\1\23\1\uffff\1\22\1\uffff";
static final String DFA16_acceptS =
"\1\uffff\1\2\1\uffff\1\1";
static final String DFA16_specialS =
"\4\uffff}>";
static final String[] DFA16_transitionS = {
"\1\2\5\uffff\2\1\3\uffff\1\1\4\3",
"",
"\1\2\5\uffff\2\1\3\uffff\1\1\3\3",
""
};
static final short[] DFA16_eot = DFA.unpackEncodedString(DFA16_eotS);
static final short[] DFA16_eof = DFA.unpackEncodedString(DFA16_eofS);
static final char[] DFA16_min = DFA.unpackEncodedStringToUnsignedChars(DFA16_minS);
static final char[] DFA16_max = DFA.unpackEncodedStringToUnsignedChars(DFA16_maxS);
static final short[] DFA16_accept = DFA.unpackEncodedString(DFA16_acceptS);
static final short[] DFA16_special = DFA.unpackEncodedString(DFA16_specialS);
static final short[][] DFA16_transition;
static {
int numStates = DFA16_transitionS.length;
DFA16_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA16_transition[i] = DFA.unpackEncodedString(DFA16_transitionS[i]);
}
}
class DFA16 extends DFA {
public DFA16(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 16;
this.eot = DFA16_eot;
this.eof = DFA16_eof;
this.min = DFA16_min;
this.max = DFA16_max;
this.accept = DFA16_accept;
this.special = DFA16_special;
this.transition = DFA16_transition;
}
public String getDescription() {
return "()* loopback of 822:2: ( (lv_steps_2_0= ruleStep ) )*";
}
}
static final String DFA17_eotS =
"\6\uffff";
static final String DFA17_eofS =
"\6\uffff";
static final String DFA17_minS =
"\2\4\4\uffff";
static final String DFA17_maxS =
"\1\23\1\22\4\uffff";
static final String DFA17_acceptS =
"\2\uffff\1\1\1\2\1\3\1\4";
static final String DFA17_specialS =
"\6\uffff}>";
static final String[] DFA17_transitionS = {
"\1\1\13\uffff\1\2\1\3\1\4\1\5",
"\1\1\13\uffff\1\2\1\3\1\4",
"",
"",
"",
""
};
static final short[] DFA17_eot = DFA.unpackEncodedString(DFA17_eotS);
static final short[] DFA17_eof = DFA.unpackEncodedString(DFA17_eofS);
static final char[] DFA17_min = DFA.unpackEncodedStringToUnsignedChars(DFA17_minS);
static final char[] DFA17_max = DFA.unpackEncodedStringToUnsignedChars(DFA17_maxS);
static final short[] DFA17_accept = DFA.unpackEncodedString(DFA17_acceptS);
static final short[] DFA17_special = DFA.unpackEncodedString(DFA17_specialS);
static final short[][] DFA17_transition;
static {
int numStates = DFA17_transitionS.length;
DFA17_transition = new short[numStates][];
for (int i=0; i<numStates; i++) {
DFA17_transition[i] = DFA.unpackEncodedString(DFA17_transitionS[i]);
}
}
class DFA17 extends DFA {
public DFA17(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 17;
this.eot = DFA17_eot;
this.eof = DFA17_eof;
this.min = DFA17_min;
this.max = DFA17_max;
this.accept = DFA17_accept;
this.special = DFA17_special;
this.transition = DFA17_transition;
}
public String getDescription() {
return "861:1: (this_WhenStep_0= ruleWhenStep | this_ThenStep_1= ruleThenStep | this_GivenStep_2= ruleGivenStep | this_AndStep_3= ruleAndStep )";
}
}
public static final BitSet FOLLOW_ruleFeature_in_entryRuleFeature75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFeature85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleFeature127 = new BitSet(new long[]{0x0000000000008FF2L});
public static final BitSet FOLLOW_RULE_FEATURE_TEXT_in_ruleFeature150 = new BitSet(new long[]{0x0000000000008FD2L});
public static final BitSet FOLLOW_ruleNarrativeElement_in_ruleFeature177 = new BitSet(new long[]{0x0000000000008FD2L});
public static final BitSet FOLLOW_ruleAbstractScenario_in_ruleFeature199 = new BitSet(new long[]{0x0000000000008C12L});
public static final BitSet FOLLOW_ruleNarrativeElement_in_entryRuleNarrativeElement236 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleNarrativeElement246 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInOrderTo_in_ruleNarrativeElement293 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAsA_in_ruleNarrativeElement320 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIWantTo_in_ruleNarrativeElement347 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFreeText_in_ruleNarrativeElement374 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFreeText_in_entryRuleFreeText409 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFreeText419 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TEXT_in_ruleFreeText460 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAsA_in_entryRuleAsA500 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAsA510 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_AS_A_in_ruleAsA551 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInOrderTo_in_entryRuleInOrderTo591 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleInOrderTo601 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_IN_ORDER_TO_in_ruleInOrderTo642 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleIWantTo_in_entryRuleIWantTo682 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleIWantTo692 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_I_WANT_TO_in_ruleIWantTo733 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAbstractScenario_in_entryRuleAbstractScenario773 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAbstractScenario783 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBackground_in_ruleAbstractScenario830 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleScenario_in_ruleAbstractScenario857 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleScenarioWithOutline_in_ruleAbstractScenario884 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleScenario_in_entryRuleScenario919 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleScenario929 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleScenario971 = new BitSet(new long[]{0x0000000000000410L});
public static final BitSet FOLLOW_RULE_SCENARIO_TEXT_in_ruleScenario994 = new BitSet(new long[]{0x00000000000F03D0L});
public static final BitSet FOLLOW_ruleNarrativeElement_in_ruleScenario1020 = new BitSet(new long[]{0x00000000000F03D0L});
public static final BitSet FOLLOW_ruleStep_in_ruleScenario1042 = new BitSet(new long[]{0x00000000000F03D2L});
public static final BitSet FOLLOW_ruleScenarioWithOutline_in_entryRuleScenarioWithOutline1079 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleScenarioWithOutline1089 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleScenarioWithOutline1131 = new BitSet(new long[]{0x0000000000000810L});
public static final BitSet FOLLOW_RULE_SCENARIO_OUTLINE_TEXT_in_ruleScenarioWithOutline1154 = new BitSet(new long[]{0x00000000000F03D0L});
public static final BitSet FOLLOW_ruleNarrativeElement_in_ruleScenarioWithOutline1180 = new BitSet(new long[]{0x00000000000F03D0L});
public static final BitSet FOLLOW_ruleStep_in_ruleScenarioWithOutline1202 = new BitSet(new long[]{0x00000000000F13D0L});
public static final BitSet FOLLOW_ruleExample_in_ruleScenarioWithOutline1224 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExample_in_entryRuleExample1260 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExample1270 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_EXAMPLE_HEADING_in_ruleExample1306 = new BitSet(new long[]{0x0000000000004000L});
public static final BitSet FOLLOW_ruleExampleRow_in_ruleExample1326 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_ruleExampleRow_in_ruleExample1347 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_ruleExampleRow_in_entryRuleExampleRow1384 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExampleRow1394 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExampleCell_in_ruleExampleRow1440 = new BitSet(new long[]{0x0000000000006000L});
public static final BitSet FOLLOW_RULE_EXAMPLE_ROW_END_in_ruleExampleRow1452 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExampleCell_in_entryRuleExampleCell1487 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExampleCell1497 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_EXAMPLE_CELL_in_ruleExampleCell1538 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBackground_in_entryRuleBackground1578 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBackground1588 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleBackground1630 = new BitSet(new long[]{0x0000000000008010L});
public static final BitSet FOLLOW_RULE_BACKGROUND_TEXT_in_ruleBackground1653 = new BitSet(new long[]{0x00000000000F03D2L});
public static final BitSet FOLLOW_ruleStep_in_ruleBackground1679 = new BitSet(new long[]{0x00000000000F03D2L});
public static final BitSet FOLLOW_ruleStep_in_entryRuleStep1716 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleStep1726 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleWhenStep_in_ruleStep1773 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleThenStep_in_ruleStep1800 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleGivenStep_in_ruleStep1827 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAndStep_in_ruleStep1854 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleWhenStep_in_entryRuleWhenStep1889 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleWhenStep1899 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleWhenStep1941 = new BitSet(new long[]{0x0000000000010010L});
public static final BitSet FOLLOW_RULE_WHEN_TEXT_in_ruleWhenStep1964 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleOptionalText_in_ruleWhenStep1990 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleExampleRow_in_ruleWhenStep2012 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_ruleThenStep_in_entryRuleThenStep2049 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleThenStep2059 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleThenStep2101 = new BitSet(new long[]{0x0000000000020010L});
public static final BitSet FOLLOW_RULE_THEN_TEXT_in_ruleThenStep2124 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleOptionalText_in_ruleThenStep2150 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleExampleRow_in_ruleThenStep2172 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_ruleGivenStep_in_entryRuleGivenStep2209 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleGivenStep2219 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TAG_in_ruleGivenStep2261 = new BitSet(new long[]{0x0000000000040010L});
public static final BitSet FOLLOW_RULE_GIVEN_TEXT_in_ruleGivenStep2284 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleOptionalText_in_ruleGivenStep2310 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleExampleRow_in_ruleGivenStep2332 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_ruleAndStep_in_entryRuleAndStep2369 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAndStep2379 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_AND_TEXT_in_ruleAndStep2421 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleOptionalText_in_ruleAndStep2447 = new BitSet(new long[]{0x0000000000104042L});
public static final BitSet FOLLOW_ruleExampleRow_in_ruleAndStep2469 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_ruleOptionalText_in_entryRuleOptionalText2507 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleOptionalText2518 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_TEXT_in_ruleOptionalText2558 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_CODE_in_ruleOptionalText2584 = new BitSet(new long[]{0x0000000000000002L});
}