package simulator.parser.antlr.internal;
import java.io.InputStream;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.xtext.parsetree.*;
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 org.eclipse.xtext.conversion.ValueConverterException;
import simulator.services.SpecificationLanguageGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalSpecificationLanguageParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'Specification'", "'{'", "'testcases'", "','", "'}'", "'Testcase'", "'given'", "'when'", "'then'", "'Given'", "'conditions'", "'When'", "'actions'", "'Then'", "'observations'", "'SetMode'", "'mode'", "'PressButton'", "'button'", "'ObserveMode'", "'ObserveBinding'", "'ObserveDisplay'", "'value'"
};
public static final int RULE_ID=5;
public static final int RULE_STRING=4;
public static final int RULE_ANY_OTHER=10;
public static final int RULE_INT=6;
public static final int RULE_WS=9;
public static final int RULE_SL_COMMENT=8;
public static final int EOF=-1;
public static final int RULE_ML_COMMENT=7;
public InternalSpecificationLanguageParser(TokenStream input) {
super(input);
}
public String[] getTokenNames() { return tokenNames; }
public String getGrammarFileName() { return "../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g"; }
private SpecificationLanguageGrammarAccess grammarAccess;
public InternalSpecificationLanguageParser(TokenStream input, IAstFactory factory, SpecificationLanguageGrammarAccess grammarAccess) {
this(input);
this.factory = factory;
registerRules(grammarAccess.getGrammar());
this.grammarAccess = grammarAccess;
}
@Override
protected InputStream getTokenFile() {
ClassLoader classLoader = getClass().getClassLoader();
return classLoader.getResourceAsStream("simulator/parser/antlr/internal/InternalSpecificationLanguage.tokens");
}
@Override
protected String getFirstRuleName() {
return "Specification";
}
@Override
protected SpecificationLanguageGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start entryRuleSpecification
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:77:1: entryRuleSpecification returns [EObject current=null] : iv_ruleSpecification= ruleSpecification EOF ;
public final EObject entryRuleSpecification() throws RecognitionException {
EObject current = null;
EObject iv_ruleSpecification = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:78:2: (iv_ruleSpecification= ruleSpecification EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:79:2: iv_ruleSpecification= ruleSpecification EOF
{
currentNode = createCompositeNode(grammarAccess.getSpecificationRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleSpecification_in_entryRuleSpecification75);
iv_ruleSpecification=ruleSpecification();
_fsp--;
current =iv_ruleSpecification;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSpecification85);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleSpecification
// $ANTLR start ruleSpecification
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:86:1: ruleSpecification returns [EObject current=null] : ( () 'Specification' '{' ( 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}' )? '}' ) ;
public final EObject ruleSpecification() throws RecognitionException {
EObject current = null;
EObject lv_testcases_5_0 = null;
EObject lv_testcases_7_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:91:6: ( ( () 'Specification' '{' ( 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}' )? '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:92:1: ( () 'Specification' '{' ( 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}' )? '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:92:1: ( () 'Specification' '{' ( 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}' )? '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:92:2: () 'Specification' '{' ( 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}' )? '}'
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:92:2: ()
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:93:5:
{
temp=factory.create(grammarAccess.getSpecificationAccess().getSpecificationAction_0().getType().getClassifier());
current = temp;
temp = null;
CompositeNode newNode = createCompositeNode(grammarAccess.getSpecificationAccess().getSpecificationAction_0(), currentNode.getParent());
newNode.getChildren().add(currentNode);
moveLookaheadInfo(currentNode, newNode);
currentNode = newNode;
associateNodeWithAstElement(currentNode, current);
}
match(input,11,FollowSets000.FOLLOW_11_in_ruleSpecification129);
createLeafNode(grammarAccess.getSpecificationAccess().getSpecificationKeyword_1(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleSpecification139);
createLeafNode(grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_2(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:111:1: ( 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}' )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==13) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:111:3: 'testcases' '{' ( (lv_testcases_5_0= ruleTestcase ) ) ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )* '}'
{
match(input,13,FollowSets000.FOLLOW_13_in_ruleSpecification150);
createLeafNode(grammarAccess.getSpecificationAccess().getTestcasesKeyword_3_0(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleSpecification160);
createLeafNode(grammarAccess.getSpecificationAccess().getLeftCurlyBracketKeyword_3_1(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:119:1: ( (lv_testcases_5_0= ruleTestcase ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:120:1: (lv_testcases_5_0= ruleTestcase )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:120:1: (lv_testcases_5_0= ruleTestcase )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:121:3: lv_testcases_5_0= ruleTestcase
{
currentNode=createCompositeNode(grammarAccess.getSpecificationAccess().getTestcasesTestcaseParserRuleCall_3_2_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleTestcase_in_ruleSpecification181);
lv_testcases_5_0=ruleTestcase();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getSpecificationRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"testcases",
lv_testcases_5_0,
"Testcase",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:143:2: ( ',' ( (lv_testcases_7_0= ruleTestcase ) ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==14) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:143:4: ',' ( (lv_testcases_7_0= ruleTestcase ) )
{
match(input,14,FollowSets000.FOLLOW_14_in_ruleSpecification192);
createLeafNode(grammarAccess.getSpecificationAccess().getCommaKeyword_3_3_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:147:1: ( (lv_testcases_7_0= ruleTestcase ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:148:1: (lv_testcases_7_0= ruleTestcase )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:148:1: (lv_testcases_7_0= ruleTestcase )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:149:3: lv_testcases_7_0= ruleTestcase
{
currentNode=createCompositeNode(grammarAccess.getSpecificationAccess().getTestcasesTestcaseParserRuleCall_3_3_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleTestcase_in_ruleSpecification213);
lv_testcases_7_0=ruleTestcase();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getSpecificationRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"testcases",
lv_testcases_7_0,
"Testcase",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
default :
break loop1;
}
} while (true);
match(input,15,FollowSets000.FOLLOW_15_in_ruleSpecification225);
createLeafNode(grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_3_4(), null);
}
break;
}
match(input,15,FollowSets000.FOLLOW_15_in_ruleSpecification237);
createLeafNode(grammarAccess.getSpecificationAccess().getRightCurlyBracketKeyword_4(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleSpecification
// $ANTLR start entryRuleCondition
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:187:1: entryRuleCondition returns [EObject current=null] : iv_ruleCondition= ruleCondition EOF ;
public final EObject entryRuleCondition() throws RecognitionException {
EObject current = null;
EObject iv_ruleCondition = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:188:2: (iv_ruleCondition= ruleCondition EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:189:2: iv_ruleCondition= ruleCondition EOF
{
currentNode = createCompositeNode(grammarAccess.getConditionRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleCondition_in_entryRuleCondition273);
iv_ruleCondition=ruleCondition();
_fsp--;
current =iv_ruleCondition;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleCondition283);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleCondition
// $ANTLR start ruleCondition
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:196:1: ruleCondition returns [EObject current=null] : this_SetMode_0= ruleSetMode ;
public final EObject ruleCondition() throws RecognitionException {
EObject current = null;
EObject this_SetMode_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:201:6: (this_SetMode_0= ruleSetMode )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:203:5: this_SetMode_0= ruleSetMode
{
currentNode=createCompositeNode(grammarAccess.getConditionAccess().getSetModeParserRuleCall(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleSetMode_in_ruleCondition329);
this_SetMode_0=ruleSetMode();
_fsp--;
current = this_SetMode_0;
currentNode = currentNode.getParent();
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleCondition
// $ANTLR start entryRuleAction
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:219:1: entryRuleAction returns [EObject current=null] : iv_ruleAction= ruleAction EOF ;
public final EObject entryRuleAction() throws RecognitionException {
EObject current = null;
EObject iv_ruleAction = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:220:2: (iv_ruleAction= ruleAction EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:221:2: iv_ruleAction= ruleAction EOF
{
currentNode = createCompositeNode(grammarAccess.getActionRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleAction_in_entryRuleAction363);
iv_ruleAction=ruleAction();
_fsp--;
current =iv_ruleAction;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleAction373);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleAction
// $ANTLR start ruleAction
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:228:1: ruleAction returns [EObject current=null] : this_PressButton_0= rulePressButton ;
public final EObject ruleAction() throws RecognitionException {
EObject current = null;
EObject this_PressButton_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:233:6: (this_PressButton_0= rulePressButton )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:235:5: this_PressButton_0= rulePressButton
{
currentNode=createCompositeNode(grammarAccess.getActionAccess().getPressButtonParserRuleCall(), currentNode);
pushFollow(FollowSets000.FOLLOW_rulePressButton_in_ruleAction419);
this_PressButton_0=rulePressButton();
_fsp--;
current = this_PressButton_0;
currentNode = currentNode.getParent();
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleAction
// $ANTLR start entryRuleObservation
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:251:1: entryRuleObservation returns [EObject current=null] : iv_ruleObservation= ruleObservation EOF ;
public final EObject entryRuleObservation() throws RecognitionException {
EObject current = null;
EObject iv_ruleObservation = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:252:2: (iv_ruleObservation= ruleObservation EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:253:2: iv_ruleObservation= ruleObservation EOF
{
currentNode = createCompositeNode(grammarAccess.getObservationRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObservation_in_entryRuleObservation453);
iv_ruleObservation=ruleObservation();
_fsp--;
current =iv_ruleObservation;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObservation463);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleObservation
// $ANTLR start ruleObservation
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:260:1: ruleObservation returns [EObject current=null] : (this_ObserveMode_0= ruleObserveMode | this_ObserveBinding_1= ruleObserveBinding | this_ObserveDisplay_2= ruleObserveDisplay ) ;
public final EObject ruleObservation() throws RecognitionException {
EObject current = null;
EObject this_ObserveMode_0 = null;
EObject this_ObserveBinding_1 = null;
EObject this_ObserveDisplay_2 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:265:6: ( (this_ObserveMode_0= ruleObserveMode | this_ObserveBinding_1= ruleObserveBinding | this_ObserveDisplay_2= ruleObserveDisplay ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:266:1: (this_ObserveMode_0= ruleObserveMode | this_ObserveBinding_1= ruleObserveBinding | this_ObserveDisplay_2= ruleObserveDisplay )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:266:1: (this_ObserveMode_0= ruleObserveMode | this_ObserveBinding_1= ruleObserveBinding | this_ObserveDisplay_2= ruleObserveDisplay )
int alt3=3;
switch ( input.LA(1) ) {
case 30:
{
alt3=1;
}
break;
case 31:
{
alt3=2;
}
break;
case 32:
{
alt3=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("266:1: (this_ObserveMode_0= ruleObserveMode | this_ObserveBinding_1= ruleObserveBinding | this_ObserveDisplay_2= ruleObserveDisplay )", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:267:5: this_ObserveMode_0= ruleObserveMode
{
currentNode=createCompositeNode(grammarAccess.getObservationAccess().getObserveModeParserRuleCall_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObserveMode_in_ruleObservation510);
this_ObserveMode_0=ruleObserveMode();
_fsp--;
current = this_ObserveMode_0;
currentNode = currentNode.getParent();
}
break;
case 2 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:277:5: this_ObserveBinding_1= ruleObserveBinding
{
currentNode=createCompositeNode(grammarAccess.getObservationAccess().getObserveBindingParserRuleCall_1(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObserveBinding_in_ruleObservation537);
this_ObserveBinding_1=ruleObserveBinding();
_fsp--;
current = this_ObserveBinding_1;
currentNode = currentNode.getParent();
}
break;
case 3 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:287:5: this_ObserveDisplay_2= ruleObserveDisplay
{
currentNode=createCompositeNode(grammarAccess.getObservationAccess().getObserveDisplayParserRuleCall_2(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObserveDisplay_in_ruleObservation564);
this_ObserveDisplay_2=ruleObserveDisplay();
_fsp--;
current = this_ObserveDisplay_2;
currentNode = currentNode.getParent();
}
break;
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleObservation
// $ANTLR start entryRuleTestcase
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:303:1: entryRuleTestcase returns [EObject current=null] : iv_ruleTestcase= ruleTestcase EOF ;
public final EObject entryRuleTestcase() throws RecognitionException {
EObject current = null;
EObject iv_ruleTestcase = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:304:2: (iv_ruleTestcase= ruleTestcase EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:305:2: iv_ruleTestcase= ruleTestcase EOF
{
currentNode = createCompositeNode(grammarAccess.getTestcaseRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleTestcase_in_entryRuleTestcase599);
iv_ruleTestcase=ruleTestcase();
_fsp--;
current =iv_ruleTestcase;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleTestcase609);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleTestcase
// $ANTLR start ruleTestcase
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:312:1: ruleTestcase returns [EObject current=null] : ( 'Testcase' '{' 'given' ( (lv_given_3_0= ruleGiven ) ) ( 'when' ( (lv_when_5_0= ruleWhen ) ) )? 'then' ( (lv_then_7_0= ruleThen ) ) '}' ) ;
public final EObject ruleTestcase() throws RecognitionException {
EObject current = null;
EObject lv_given_3_0 = null;
EObject lv_when_5_0 = null;
EObject lv_then_7_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:317:6: ( ( 'Testcase' '{' 'given' ( (lv_given_3_0= ruleGiven ) ) ( 'when' ( (lv_when_5_0= ruleWhen ) ) )? 'then' ( (lv_then_7_0= ruleThen ) ) '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:318:1: ( 'Testcase' '{' 'given' ( (lv_given_3_0= ruleGiven ) ) ( 'when' ( (lv_when_5_0= ruleWhen ) ) )? 'then' ( (lv_then_7_0= ruleThen ) ) '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:318:1: ( 'Testcase' '{' 'given' ( (lv_given_3_0= ruleGiven ) ) ( 'when' ( (lv_when_5_0= ruleWhen ) ) )? 'then' ( (lv_then_7_0= ruleThen ) ) '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:318:3: 'Testcase' '{' 'given' ( (lv_given_3_0= ruleGiven ) ) ( 'when' ( (lv_when_5_0= ruleWhen ) ) )? 'then' ( (lv_then_7_0= ruleThen ) ) '}'
{
match(input,16,FollowSets000.FOLLOW_16_in_ruleTestcase644);
createLeafNode(grammarAccess.getTestcaseAccess().getTestcaseKeyword_0(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleTestcase654);
createLeafNode(grammarAccess.getTestcaseAccess().getLeftCurlyBracketKeyword_1(), null);
match(input,17,FollowSets000.FOLLOW_17_in_ruleTestcase664);
createLeafNode(grammarAccess.getTestcaseAccess().getGivenKeyword_2(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:330:1: ( (lv_given_3_0= ruleGiven ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:331:1: (lv_given_3_0= ruleGiven )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:331:1: (lv_given_3_0= ruleGiven )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:332:3: lv_given_3_0= ruleGiven
{
currentNode=createCompositeNode(grammarAccess.getTestcaseAccess().getGivenGivenParserRuleCall_3_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleGiven_in_ruleTestcase685);
lv_given_3_0=ruleGiven();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getTestcaseRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"given",
lv_given_3_0,
"Given",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:354:2: ( 'when' ( (lv_when_5_0= ruleWhen ) ) )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==18) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:354:4: 'when' ( (lv_when_5_0= ruleWhen ) )
{
match(input,18,FollowSets000.FOLLOW_18_in_ruleTestcase696);
createLeafNode(grammarAccess.getTestcaseAccess().getWhenKeyword_4_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:358:1: ( (lv_when_5_0= ruleWhen ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:359:1: (lv_when_5_0= ruleWhen )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:359:1: (lv_when_5_0= ruleWhen )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:360:3: lv_when_5_0= ruleWhen
{
currentNode=createCompositeNode(grammarAccess.getTestcaseAccess().getWhenWhenParserRuleCall_4_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleWhen_in_ruleTestcase717);
lv_when_5_0=ruleWhen();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getTestcaseRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"when",
lv_when_5_0,
"When",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
}
match(input,19,FollowSets000.FOLLOW_19_in_ruleTestcase729);
createLeafNode(grammarAccess.getTestcaseAccess().getThenKeyword_5(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:386:1: ( (lv_then_7_0= ruleThen ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:387:1: (lv_then_7_0= ruleThen )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:387:1: (lv_then_7_0= ruleThen )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:388:3: lv_then_7_0= ruleThen
{
currentNode=createCompositeNode(grammarAccess.getTestcaseAccess().getThenThenParserRuleCall_6_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleThen_in_ruleTestcase750);
lv_then_7_0=ruleThen();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getTestcaseRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"then",
lv_then_7_0,
"Then",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
match(input,15,FollowSets000.FOLLOW_15_in_ruleTestcase760);
createLeafNode(grammarAccess.getTestcaseAccess().getRightCurlyBracketKeyword_7(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleTestcase
// $ANTLR start entryRuleGiven
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:422:1: entryRuleGiven returns [EObject current=null] : iv_ruleGiven= ruleGiven EOF ;
public final EObject entryRuleGiven() throws RecognitionException {
EObject current = null;
EObject iv_ruleGiven = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:423:2: (iv_ruleGiven= ruleGiven EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:424:2: iv_ruleGiven= ruleGiven EOF
{
currentNode = createCompositeNode(grammarAccess.getGivenRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleGiven_in_entryRuleGiven796);
iv_ruleGiven=ruleGiven();
_fsp--;
current =iv_ruleGiven;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleGiven806);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleGiven
// $ANTLR start ruleGiven
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:431:1: ruleGiven returns [EObject current=null] : ( 'Given' '{' 'conditions' '{' ( (lv_conditions_4_0= ruleCondition ) ) ( ',' ( (lv_conditions_6_0= ruleCondition ) ) )* '}' '}' ) ;
public final EObject ruleGiven() throws RecognitionException {
EObject current = null;
EObject lv_conditions_4_0 = null;
EObject lv_conditions_6_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:436:6: ( ( 'Given' '{' 'conditions' '{' ( (lv_conditions_4_0= ruleCondition ) ) ( ',' ( (lv_conditions_6_0= ruleCondition ) ) )* '}' '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:437:1: ( 'Given' '{' 'conditions' '{' ( (lv_conditions_4_0= ruleCondition ) ) ( ',' ( (lv_conditions_6_0= ruleCondition ) ) )* '}' '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:437:1: ( 'Given' '{' 'conditions' '{' ( (lv_conditions_4_0= ruleCondition ) ) ( ',' ( (lv_conditions_6_0= ruleCondition ) ) )* '}' '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:437:3: 'Given' '{' 'conditions' '{' ( (lv_conditions_4_0= ruleCondition ) ) ( ',' ( (lv_conditions_6_0= ruleCondition ) ) )* '}' '}'
{
match(input,20,FollowSets000.FOLLOW_20_in_ruleGiven841);
createLeafNode(grammarAccess.getGivenAccess().getGivenKeyword_0(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleGiven851);
createLeafNode(grammarAccess.getGivenAccess().getLeftCurlyBracketKeyword_1(), null);
match(input,21,FollowSets000.FOLLOW_21_in_ruleGiven861);
createLeafNode(grammarAccess.getGivenAccess().getConditionsKeyword_2(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleGiven871);
createLeafNode(grammarAccess.getGivenAccess().getLeftCurlyBracketKeyword_3(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:453:1: ( (lv_conditions_4_0= ruleCondition ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:454:1: (lv_conditions_4_0= ruleCondition )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:454:1: (lv_conditions_4_0= ruleCondition )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:455:3: lv_conditions_4_0= ruleCondition
{
currentNode=createCompositeNode(grammarAccess.getGivenAccess().getConditionsConditionParserRuleCall_4_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleCondition_in_ruleGiven892);
lv_conditions_4_0=ruleCondition();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getGivenRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"conditions",
lv_conditions_4_0,
"Condition",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:477:2: ( ',' ( (lv_conditions_6_0= ruleCondition ) ) )*
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==14) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:477:4: ',' ( (lv_conditions_6_0= ruleCondition ) )
{
match(input,14,FollowSets000.FOLLOW_14_in_ruleGiven903);
createLeafNode(grammarAccess.getGivenAccess().getCommaKeyword_5_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:481:1: ( (lv_conditions_6_0= ruleCondition ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:482:1: (lv_conditions_6_0= ruleCondition )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:482:1: (lv_conditions_6_0= ruleCondition )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:483:3: lv_conditions_6_0= ruleCondition
{
currentNode=createCompositeNode(grammarAccess.getGivenAccess().getConditionsConditionParserRuleCall_5_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleCondition_in_ruleGiven924);
lv_conditions_6_0=ruleCondition();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getGivenRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"conditions",
lv_conditions_6_0,
"Condition",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
default :
break loop5;
}
} while (true);
match(input,15,FollowSets000.FOLLOW_15_in_ruleGiven936);
createLeafNode(grammarAccess.getGivenAccess().getRightCurlyBracketKeyword_6(), null);
match(input,15,FollowSets000.FOLLOW_15_in_ruleGiven946);
createLeafNode(grammarAccess.getGivenAccess().getRightCurlyBracketKeyword_7(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleGiven
// $ANTLR start entryRuleWhen
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:521:1: entryRuleWhen returns [EObject current=null] : iv_ruleWhen= ruleWhen EOF ;
public final EObject entryRuleWhen() throws RecognitionException {
EObject current = null;
EObject iv_ruleWhen = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:522:2: (iv_ruleWhen= ruleWhen EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:523:2: iv_ruleWhen= ruleWhen EOF
{
currentNode = createCompositeNode(grammarAccess.getWhenRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleWhen_in_entryRuleWhen982);
iv_ruleWhen=ruleWhen();
_fsp--;
current =iv_ruleWhen;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleWhen992);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleWhen
// $ANTLR start ruleWhen
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:530:1: ruleWhen returns [EObject current=null] : ( 'When' '{' 'actions' '{' ( (lv_actions_4_0= ruleAction ) ) ( ',' ( (lv_actions_6_0= ruleAction ) ) )* '}' '}' ) ;
public final EObject ruleWhen() throws RecognitionException {
EObject current = null;
EObject lv_actions_4_0 = null;
EObject lv_actions_6_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:535:6: ( ( 'When' '{' 'actions' '{' ( (lv_actions_4_0= ruleAction ) ) ( ',' ( (lv_actions_6_0= ruleAction ) ) )* '}' '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:536:1: ( 'When' '{' 'actions' '{' ( (lv_actions_4_0= ruleAction ) ) ( ',' ( (lv_actions_6_0= ruleAction ) ) )* '}' '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:536:1: ( 'When' '{' 'actions' '{' ( (lv_actions_4_0= ruleAction ) ) ( ',' ( (lv_actions_6_0= ruleAction ) ) )* '}' '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:536:3: 'When' '{' 'actions' '{' ( (lv_actions_4_0= ruleAction ) ) ( ',' ( (lv_actions_6_0= ruleAction ) ) )* '}' '}'
{
match(input,22,FollowSets000.FOLLOW_22_in_ruleWhen1027);
createLeafNode(grammarAccess.getWhenAccess().getWhenKeyword_0(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleWhen1037);
createLeafNode(grammarAccess.getWhenAccess().getLeftCurlyBracketKeyword_1(), null);
match(input,23,FollowSets000.FOLLOW_23_in_ruleWhen1047);
createLeafNode(grammarAccess.getWhenAccess().getActionsKeyword_2(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleWhen1057);
createLeafNode(grammarAccess.getWhenAccess().getLeftCurlyBracketKeyword_3(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:552:1: ( (lv_actions_4_0= ruleAction ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:553:1: (lv_actions_4_0= ruleAction )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:553:1: (lv_actions_4_0= ruleAction )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:554:3: lv_actions_4_0= ruleAction
{
currentNode=createCompositeNode(grammarAccess.getWhenAccess().getActionsActionParserRuleCall_4_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleWhen1078);
lv_actions_4_0=ruleAction();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getWhenRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"actions",
lv_actions_4_0,
"Action",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:576:2: ( ',' ( (lv_actions_6_0= ruleAction ) ) )*
loop6:
do {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==14) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:576:4: ',' ( (lv_actions_6_0= ruleAction ) )
{
match(input,14,FollowSets000.FOLLOW_14_in_ruleWhen1089);
createLeafNode(grammarAccess.getWhenAccess().getCommaKeyword_5_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:580:1: ( (lv_actions_6_0= ruleAction ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:581:1: (lv_actions_6_0= ruleAction )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:581:1: (lv_actions_6_0= ruleAction )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:582:3: lv_actions_6_0= ruleAction
{
currentNode=createCompositeNode(grammarAccess.getWhenAccess().getActionsActionParserRuleCall_5_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleAction_in_ruleWhen1110);
lv_actions_6_0=ruleAction();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getWhenRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"actions",
lv_actions_6_0,
"Action",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
default :
break loop6;
}
} while (true);
match(input,15,FollowSets000.FOLLOW_15_in_ruleWhen1122);
createLeafNode(grammarAccess.getWhenAccess().getRightCurlyBracketKeyword_6(), null);
match(input,15,FollowSets000.FOLLOW_15_in_ruleWhen1132);
createLeafNode(grammarAccess.getWhenAccess().getRightCurlyBracketKeyword_7(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleWhen
// $ANTLR start entryRuleThen
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:620:1: entryRuleThen returns [EObject current=null] : iv_ruleThen= ruleThen EOF ;
public final EObject entryRuleThen() throws RecognitionException {
EObject current = null;
EObject iv_ruleThen = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:621:2: (iv_ruleThen= ruleThen EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:622:2: iv_ruleThen= ruleThen EOF
{
currentNode = createCompositeNode(grammarAccess.getThenRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleThen_in_entryRuleThen1168);
iv_ruleThen=ruleThen();
_fsp--;
current =iv_ruleThen;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleThen1178);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleThen
// $ANTLR start ruleThen
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:629:1: ruleThen returns [EObject current=null] : ( 'Then' '{' 'observations' '{' ( (lv_observations_4_0= ruleObservation ) ) ( ',' ( (lv_observations_6_0= ruleObservation ) ) )* '}' '}' ) ;
public final EObject ruleThen() throws RecognitionException {
EObject current = null;
EObject lv_observations_4_0 = null;
EObject lv_observations_6_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:634:6: ( ( 'Then' '{' 'observations' '{' ( (lv_observations_4_0= ruleObservation ) ) ( ',' ( (lv_observations_6_0= ruleObservation ) ) )* '}' '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:635:1: ( 'Then' '{' 'observations' '{' ( (lv_observations_4_0= ruleObservation ) ) ( ',' ( (lv_observations_6_0= ruleObservation ) ) )* '}' '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:635:1: ( 'Then' '{' 'observations' '{' ( (lv_observations_4_0= ruleObservation ) ) ( ',' ( (lv_observations_6_0= ruleObservation ) ) )* '}' '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:635:3: 'Then' '{' 'observations' '{' ( (lv_observations_4_0= ruleObservation ) ) ( ',' ( (lv_observations_6_0= ruleObservation ) ) )* '}' '}'
{
match(input,24,FollowSets000.FOLLOW_24_in_ruleThen1213);
createLeafNode(grammarAccess.getThenAccess().getThenKeyword_0(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleThen1223);
createLeafNode(grammarAccess.getThenAccess().getLeftCurlyBracketKeyword_1(), null);
match(input,25,FollowSets000.FOLLOW_25_in_ruleThen1233);
createLeafNode(grammarAccess.getThenAccess().getObservationsKeyword_2(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleThen1243);
createLeafNode(grammarAccess.getThenAccess().getLeftCurlyBracketKeyword_3(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:651:1: ( (lv_observations_4_0= ruleObservation ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:652:1: (lv_observations_4_0= ruleObservation )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:652:1: (lv_observations_4_0= ruleObservation )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:653:3: lv_observations_4_0= ruleObservation
{
currentNode=createCompositeNode(grammarAccess.getThenAccess().getObservationsObservationParserRuleCall_4_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObservation_in_ruleThen1264);
lv_observations_4_0=ruleObservation();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getThenRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"observations",
lv_observations_4_0,
"Observation",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:675:2: ( ',' ( (lv_observations_6_0= ruleObservation ) ) )*
loop7:
do {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==14) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:675:4: ',' ( (lv_observations_6_0= ruleObservation ) )
{
match(input,14,FollowSets000.FOLLOW_14_in_ruleThen1275);
createLeafNode(grammarAccess.getThenAccess().getCommaKeyword_5_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:679:1: ( (lv_observations_6_0= ruleObservation ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:680:1: (lv_observations_6_0= ruleObservation )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:680:1: (lv_observations_6_0= ruleObservation )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:681:3: lv_observations_6_0= ruleObservation
{
currentNode=createCompositeNode(grammarAccess.getThenAccess().getObservationsObservationParserRuleCall_5_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObservation_in_ruleThen1296);
lv_observations_6_0=ruleObservation();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getThenRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
add(
current,
"observations",
lv_observations_6_0,
"Observation",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
default :
break loop7;
}
} while (true);
match(input,15,FollowSets000.FOLLOW_15_in_ruleThen1308);
createLeafNode(grammarAccess.getThenAccess().getRightCurlyBracketKeyword_6(), null);
match(input,15,FollowSets000.FOLLOW_15_in_ruleThen1318);
createLeafNode(grammarAccess.getThenAccess().getRightCurlyBracketKeyword_7(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleThen
// $ANTLR start entryRuleSetMode
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:719:1: entryRuleSetMode returns [EObject current=null] : iv_ruleSetMode= ruleSetMode EOF ;
public final EObject entryRuleSetMode() throws RecognitionException {
EObject current = null;
EObject iv_ruleSetMode = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:720:2: (iv_ruleSetMode= ruleSetMode EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:721:2: iv_ruleSetMode= ruleSetMode EOF
{
currentNode = createCompositeNode(grammarAccess.getSetModeRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleSetMode_in_entryRuleSetMode1354);
iv_ruleSetMode=ruleSetMode();
_fsp--;
current =iv_ruleSetMode;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleSetMode1364);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleSetMode
// $ANTLR start ruleSetMode
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:728:1: ruleSetMode returns [EObject current=null] : ( () 'SetMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' ) ;
public final EObject ruleSetMode() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_mode_4_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:733:6: ( ( () 'SetMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:734:1: ( () 'SetMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:734:1: ( () 'SetMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:734:2: () 'SetMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}'
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:734:2: ()
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:735:5:
{
temp=factory.create(grammarAccess.getSetModeAccess().getSetModeAction_0().getType().getClassifier());
current = temp;
temp = null;
CompositeNode newNode = createCompositeNode(grammarAccess.getSetModeAccess().getSetModeAction_0(), currentNode.getParent());
newNode.getChildren().add(currentNode);
moveLookaheadInfo(currentNode, newNode);
currentNode = newNode;
associateNodeWithAstElement(currentNode, current);
}
match(input,26,FollowSets000.FOLLOW_26_in_ruleSetMode1408);
createLeafNode(grammarAccess.getSetModeAccess().getSetModeKeyword_1(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleSetMode1418);
createLeafNode(grammarAccess.getSetModeAccess().getLeftCurlyBracketKeyword_2(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:753:1: ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==27) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:753:3: 'mode' ( (lv_mode_4_0= ruleEString ) )
{
match(input,27,FollowSets000.FOLLOW_27_in_ruleSetMode1429);
createLeafNode(grammarAccess.getSetModeAccess().getModeKeyword_3_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:757:1: ( (lv_mode_4_0= ruleEString ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:758:1: (lv_mode_4_0= ruleEString )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:758:1: (lv_mode_4_0= ruleEString )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:759:3: lv_mode_4_0= ruleEString
{
currentNode=createCompositeNode(grammarAccess.getSetModeAccess().getModeEStringParserRuleCall_3_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleSetMode1450);
lv_mode_4_0=ruleEString();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getSetModeRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"mode",
lv_mode_4_0,
"EString",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
}
match(input,15,FollowSets000.FOLLOW_15_in_ruleSetMode1462);
createLeafNode(grammarAccess.getSetModeAccess().getRightCurlyBracketKeyword_4(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleSetMode
// $ANTLR start entryRuleEString
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:793:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ;
public final String entryRuleEString() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleEString = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:794:2: (iv_ruleEString= ruleEString EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:795:2: iv_ruleEString= ruleEString EOF
{
currentNode = createCompositeNode(grammarAccess.getEStringRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_entryRuleEString1499);
iv_ruleEString=ruleEString();
_fsp--;
current =iv_ruleEString.getText();
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleEString1510);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleEString
// $ANTLR start ruleEString
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:802:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) ;
public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_STRING_0=null;
Token this_ID_1=null;
setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:807:6: ( (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:808:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:808:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==RULE_STRING) ) {
alt9=1;
}
else if ( (LA9_0==RULE_ID) ) {
alt9=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("808:1: (this_STRING_0= RULE_STRING | this_ID_1= RULE_ID )", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:808:6: this_STRING_0= RULE_STRING
{
this_STRING_0=(Token)input.LT(1);
match(input,RULE_STRING,FollowSets000.FOLLOW_RULE_STRING_in_ruleEString1550);
current.merge(this_STRING_0);
createLeafNode(grammarAccess.getEStringAccess().getSTRINGTerminalRuleCall_0(), null);
}
break;
case 2 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:816:10: this_ID_1= RULE_ID
{
this_ID_1=(Token)input.LT(1);
match(input,RULE_ID,FollowSets000.FOLLOW_RULE_ID_in_ruleEString1576);
current.merge(this_ID_1);
createLeafNode(grammarAccess.getEStringAccess().getIDTerminalRuleCall_1(), null);
}
break;
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleEString
// $ANTLR start entryRulePressButton
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:831:1: entryRulePressButton returns [EObject current=null] : iv_rulePressButton= rulePressButton EOF ;
public final EObject entryRulePressButton() throws RecognitionException {
EObject current = null;
EObject iv_rulePressButton = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:832:2: (iv_rulePressButton= rulePressButton EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:833:2: iv_rulePressButton= rulePressButton EOF
{
currentNode = createCompositeNode(grammarAccess.getPressButtonRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_rulePressButton_in_entryRulePressButton1621);
iv_rulePressButton=rulePressButton();
_fsp--;
current =iv_rulePressButton;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRulePressButton1631);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRulePressButton
// $ANTLR start rulePressButton
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:840:1: rulePressButton returns [EObject current=null] : ( () 'PressButton' '{' ( 'button' ( (lv_button_4_0= ruleEString ) ) )? '}' ) ;
public final EObject rulePressButton() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_button_4_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:845:6: ( ( () 'PressButton' '{' ( 'button' ( (lv_button_4_0= ruleEString ) ) )? '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:846:1: ( () 'PressButton' '{' ( 'button' ( (lv_button_4_0= ruleEString ) ) )? '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:846:1: ( () 'PressButton' '{' ( 'button' ( (lv_button_4_0= ruleEString ) ) )? '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:846:2: () 'PressButton' '{' ( 'button' ( (lv_button_4_0= ruleEString ) ) )? '}'
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:846:2: ()
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:847:5:
{
temp=factory.create(grammarAccess.getPressButtonAccess().getPressButtonAction_0().getType().getClassifier());
current = temp;
temp = null;
CompositeNode newNode = createCompositeNode(grammarAccess.getPressButtonAccess().getPressButtonAction_0(), currentNode.getParent());
newNode.getChildren().add(currentNode);
moveLookaheadInfo(currentNode, newNode);
currentNode = newNode;
associateNodeWithAstElement(currentNode, current);
}
match(input,28,FollowSets000.FOLLOW_28_in_rulePressButton1675);
createLeafNode(grammarAccess.getPressButtonAccess().getPressButtonKeyword_1(), null);
match(input,12,FollowSets000.FOLLOW_12_in_rulePressButton1685);
createLeafNode(grammarAccess.getPressButtonAccess().getLeftCurlyBracketKeyword_2(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:865:1: ( 'button' ( (lv_button_4_0= ruleEString ) ) )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==29) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:865:3: 'button' ( (lv_button_4_0= ruleEString ) )
{
match(input,29,FollowSets000.FOLLOW_29_in_rulePressButton1696);
createLeafNode(grammarAccess.getPressButtonAccess().getButtonKeyword_3_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:869:1: ( (lv_button_4_0= ruleEString ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:870:1: (lv_button_4_0= ruleEString )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:870:1: (lv_button_4_0= ruleEString )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:871:3: lv_button_4_0= ruleEString
{
currentNode=createCompositeNode(grammarAccess.getPressButtonAccess().getButtonEStringParserRuleCall_3_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_rulePressButton1717);
lv_button_4_0=ruleEString();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getPressButtonRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"button",
lv_button_4_0,
"EString",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
}
match(input,15,FollowSets000.FOLLOW_15_in_rulePressButton1729);
createLeafNode(grammarAccess.getPressButtonAccess().getRightCurlyBracketKeyword_4(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end rulePressButton
// $ANTLR start entryRuleObserveMode
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:905:1: entryRuleObserveMode returns [EObject current=null] : iv_ruleObserveMode= ruleObserveMode EOF ;
public final EObject entryRuleObserveMode() throws RecognitionException {
EObject current = null;
EObject iv_ruleObserveMode = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:906:2: (iv_ruleObserveMode= ruleObserveMode EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:907:2: iv_ruleObserveMode= ruleObserveMode EOF
{
currentNode = createCompositeNode(grammarAccess.getObserveModeRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObserveMode_in_entryRuleObserveMode1765);
iv_ruleObserveMode=ruleObserveMode();
_fsp--;
current =iv_ruleObserveMode;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObserveMode1775);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleObserveMode
// $ANTLR start ruleObserveMode
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:914:1: ruleObserveMode returns [EObject current=null] : ( () 'ObserveMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' ) ;
public final EObject ruleObserveMode() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_mode_4_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:919:6: ( ( () 'ObserveMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:920:1: ( () 'ObserveMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:920:1: ( () 'ObserveMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:920:2: () 'ObserveMode' '{' ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )? '}'
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:920:2: ()
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:921:5:
{
temp=factory.create(grammarAccess.getObserveModeAccess().getObserveModeAction_0().getType().getClassifier());
current = temp;
temp = null;
CompositeNode newNode = createCompositeNode(grammarAccess.getObserveModeAccess().getObserveModeAction_0(), currentNode.getParent());
newNode.getChildren().add(currentNode);
moveLookaheadInfo(currentNode, newNode);
currentNode = newNode;
associateNodeWithAstElement(currentNode, current);
}
match(input,30,FollowSets000.FOLLOW_30_in_ruleObserveMode1819);
createLeafNode(grammarAccess.getObserveModeAccess().getObserveModeKeyword_1(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleObserveMode1829);
createLeafNode(grammarAccess.getObserveModeAccess().getLeftCurlyBracketKeyword_2(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:939:1: ( 'mode' ( (lv_mode_4_0= ruleEString ) ) )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==27) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:939:3: 'mode' ( (lv_mode_4_0= ruleEString ) )
{
match(input,27,FollowSets000.FOLLOW_27_in_ruleObserveMode1840);
createLeafNode(grammarAccess.getObserveModeAccess().getModeKeyword_3_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:943:1: ( (lv_mode_4_0= ruleEString ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:944:1: (lv_mode_4_0= ruleEString )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:944:1: (lv_mode_4_0= ruleEString )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:945:3: lv_mode_4_0= ruleEString
{
currentNode=createCompositeNode(grammarAccess.getObserveModeAccess().getModeEStringParserRuleCall_3_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObserveMode1861);
lv_mode_4_0=ruleEString();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getObserveModeRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"mode",
lv_mode_4_0,
"EString",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
}
match(input,15,FollowSets000.FOLLOW_15_in_ruleObserveMode1873);
createLeafNode(grammarAccess.getObserveModeAccess().getRightCurlyBracketKeyword_4(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleObserveMode
// $ANTLR start entryRuleObserveBinding
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:979:1: entryRuleObserveBinding returns [EObject current=null] : iv_ruleObserveBinding= ruleObserveBinding EOF ;
public final EObject entryRuleObserveBinding() throws RecognitionException {
EObject current = null;
EObject iv_ruleObserveBinding = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:980:2: (iv_ruleObserveBinding= ruleObserveBinding EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:981:2: iv_ruleObserveBinding= ruleObserveBinding EOF
{
currentNode = createCompositeNode(grammarAccess.getObserveBindingRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObserveBinding_in_entryRuleObserveBinding1909);
iv_ruleObserveBinding=ruleObserveBinding();
_fsp--;
current =iv_ruleObserveBinding;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObserveBinding1919);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleObserveBinding
// $ANTLR start ruleObserveBinding
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:988:1: ruleObserveBinding returns [EObject current=null] : ( () 'ObserveBinding' ( (lv_name_2_0= ruleEString ) ) '{' ( 'button' ( (lv_button_5_0= ruleEString ) ) )? '}' ) ;
public final EObject ruleObserveBinding() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_button_5_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:993:6: ( ( () 'ObserveBinding' ( (lv_name_2_0= ruleEString ) ) '{' ( 'button' ( (lv_button_5_0= ruleEString ) ) )? '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:994:1: ( () 'ObserveBinding' ( (lv_name_2_0= ruleEString ) ) '{' ( 'button' ( (lv_button_5_0= ruleEString ) ) )? '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:994:1: ( () 'ObserveBinding' ( (lv_name_2_0= ruleEString ) ) '{' ( 'button' ( (lv_button_5_0= ruleEString ) ) )? '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:994:2: () 'ObserveBinding' ( (lv_name_2_0= ruleEString ) ) '{' ( 'button' ( (lv_button_5_0= ruleEString ) ) )? '}'
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:994:2: ()
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:995:5:
{
temp=factory.create(grammarAccess.getObserveBindingAccess().getObserveBindingAction_0().getType().getClassifier());
current = temp;
temp = null;
CompositeNode newNode = createCompositeNode(grammarAccess.getObserveBindingAccess().getObserveBindingAction_0(), currentNode.getParent());
newNode.getChildren().add(currentNode);
moveLookaheadInfo(currentNode, newNode);
currentNode = newNode;
associateNodeWithAstElement(currentNode, current);
}
match(input,31,FollowSets000.FOLLOW_31_in_ruleObserveBinding1963);
createLeafNode(grammarAccess.getObserveBindingAccess().getObserveBindingKeyword_1(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1009:1: ( (lv_name_2_0= ruleEString ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1010:1: (lv_name_2_0= ruleEString )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1010:1: (lv_name_2_0= ruleEString )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1011:3: lv_name_2_0= ruleEString
{
currentNode=createCompositeNode(grammarAccess.getObserveBindingAccess().getNameEStringParserRuleCall_2_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObserveBinding1984);
lv_name_2_0=ruleEString();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getObserveBindingRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"name",
lv_name_2_0,
"EString",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
match(input,12,FollowSets000.FOLLOW_12_in_ruleObserveBinding1994);
createLeafNode(grammarAccess.getObserveBindingAccess().getLeftCurlyBracketKeyword_3(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1037:1: ( 'button' ( (lv_button_5_0= ruleEString ) ) )?
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==29) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1037:3: 'button' ( (lv_button_5_0= ruleEString ) )
{
match(input,29,FollowSets000.FOLLOW_29_in_ruleObserveBinding2005);
createLeafNode(grammarAccess.getObserveBindingAccess().getButtonKeyword_4_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1041:1: ( (lv_button_5_0= ruleEString ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1042:1: (lv_button_5_0= ruleEString )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1042:1: (lv_button_5_0= ruleEString )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1043:3: lv_button_5_0= ruleEString
{
currentNode=createCompositeNode(grammarAccess.getObserveBindingAccess().getButtonEStringParserRuleCall_4_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObserveBinding2026);
lv_button_5_0=ruleEString();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getObserveBindingRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"button",
lv_button_5_0,
"EString",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
}
match(input,15,FollowSets000.FOLLOW_15_in_ruleObserveBinding2038);
createLeafNode(grammarAccess.getObserveBindingAccess().getRightCurlyBracketKeyword_5(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleObserveBinding
// $ANTLR start entryRuleObserveDisplay
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1077:1: entryRuleObserveDisplay returns [EObject current=null] : iv_ruleObserveDisplay= ruleObserveDisplay EOF ;
public final EObject entryRuleObserveDisplay() throws RecognitionException {
EObject current = null;
EObject iv_ruleObserveDisplay = null;
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1078:2: (iv_ruleObserveDisplay= ruleObserveDisplay EOF )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1079:2: iv_ruleObserveDisplay= ruleObserveDisplay EOF
{
currentNode = createCompositeNode(grammarAccess.getObserveDisplayRule(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleObserveDisplay_in_entryRuleObserveDisplay2074);
iv_ruleObserveDisplay=ruleObserveDisplay();
_fsp--;
current =iv_ruleObserveDisplay;
match(input,EOF,FollowSets000.FOLLOW_EOF_in_entryRuleObserveDisplay2084);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end entryRuleObserveDisplay
// $ANTLR start ruleObserveDisplay
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1086:1: ruleObserveDisplay returns [EObject current=null] : ( () 'ObserveDisplay' '{' ( 'value' ( (lv_value_4_0= ruleEString ) ) )? '}' ) ;
public final EObject ruleObserveDisplay() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_4_0 = null;
EObject temp=null; setCurrentLookahead(); resetLookahead();
try {
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1091:6: ( ( () 'ObserveDisplay' '{' ( 'value' ( (lv_value_4_0= ruleEString ) ) )? '}' ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1092:1: ( () 'ObserveDisplay' '{' ( 'value' ( (lv_value_4_0= ruleEString ) ) )? '}' )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1092:1: ( () 'ObserveDisplay' '{' ( 'value' ( (lv_value_4_0= ruleEString ) ) )? '}' )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1092:2: () 'ObserveDisplay' '{' ( 'value' ( (lv_value_4_0= ruleEString ) ) )? '}'
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1092:2: ()
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1093:5:
{
temp=factory.create(grammarAccess.getObserveDisplayAccess().getObserveDisplayAction_0().getType().getClassifier());
current = temp;
temp = null;
CompositeNode newNode = createCompositeNode(grammarAccess.getObserveDisplayAccess().getObserveDisplayAction_0(), currentNode.getParent());
newNode.getChildren().add(currentNode);
moveLookaheadInfo(currentNode, newNode);
currentNode = newNode;
associateNodeWithAstElement(currentNode, current);
}
match(input,32,FollowSets000.FOLLOW_32_in_ruleObserveDisplay2128);
createLeafNode(grammarAccess.getObserveDisplayAccess().getObserveDisplayKeyword_1(), null);
match(input,12,FollowSets000.FOLLOW_12_in_ruleObserveDisplay2138);
createLeafNode(grammarAccess.getObserveDisplayAccess().getLeftCurlyBracketKeyword_2(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1111:1: ( 'value' ( (lv_value_4_0= ruleEString ) ) )?
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==33) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1111:3: 'value' ( (lv_value_4_0= ruleEString ) )
{
match(input,33,FollowSets000.FOLLOW_33_in_ruleObserveDisplay2149);
createLeafNode(grammarAccess.getObserveDisplayAccess().getValueKeyword_3_0(), null);
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1115:1: ( (lv_value_4_0= ruleEString ) )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1116:1: (lv_value_4_0= ruleEString )
{
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1116:1: (lv_value_4_0= ruleEString )
// ../SimulatorSpecificationLanguage/src-gen/simulator/parser/antlr/internal/InternalSpecificationLanguage.g:1117:3: lv_value_4_0= ruleEString
{
currentNode=createCompositeNode(grammarAccess.getObserveDisplayAccess().getValueEStringParserRuleCall_3_1_0(), currentNode);
pushFollow(FollowSets000.FOLLOW_ruleEString_in_ruleObserveDisplay2170);
lv_value_4_0=ruleEString();
_fsp--;
if (current==null) {
current = factory.create(grammarAccess.getObserveDisplayRule().getType().getClassifier());
associateNodeWithAstElement(currentNode.getParent(), current);
}
try {
set(
current,
"value",
lv_value_4_0,
"EString",
currentNode);
} catch (ValueConverterException vce) {
handleValueConverterException(vce);
}
currentNode = currentNode.getParent();
}
}
}
break;
}
match(input,15,FollowSets000.FOLLOW_15_in_ruleObserveDisplay2182);
createLeafNode(grammarAccess.getObserveDisplayAccess().getRightCurlyBracketKeyword_4(), null);
}
}
resetLookahead();
lastConsumedNode = currentNode;
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end ruleObserveDisplay
private static class FollowSets000 {
public static final BitSet FOLLOW_ruleSpecification_in_entryRuleSpecification75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSpecification85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_11_in_ruleSpecification129 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleSpecification139 = new BitSet(new long[]{0x000000000000A000L});
public static final BitSet FOLLOW_13_in_ruleSpecification150 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleSpecification160 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_ruleTestcase_in_ruleSpecification181 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_14_in_ruleSpecification192 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_ruleTestcase_in_ruleSpecification213 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_15_in_ruleSpecification225 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleSpecification237 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleCondition_in_entryRuleCondition273 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleCondition283 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSetMode_in_ruleCondition329 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAction_in_entryRuleAction363 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAction373 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulePressButton_in_ruleAction419 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObservation_in_entryRuleObservation453 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleObservation463 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObserveMode_in_ruleObservation510 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObserveBinding_in_ruleObservation537 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObserveDisplay_in_ruleObservation564 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleTestcase_in_entryRuleTestcase599 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleTestcase609 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_16_in_ruleTestcase644 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleTestcase654 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_17_in_ruleTestcase664 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_ruleGiven_in_ruleTestcase685 = new BitSet(new long[]{0x00000000000C0000L});
public static final BitSet FOLLOW_18_in_ruleTestcase696 = new BitSet(new long[]{0x0000000000400000L});
public static final BitSet FOLLOW_ruleWhen_in_ruleTestcase717 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_19_in_ruleTestcase729 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_ruleThen_in_ruleTestcase750 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleTestcase760 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleGiven_in_entryRuleGiven796 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleGiven806 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_20_in_ruleGiven841 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleGiven851 = new BitSet(new long[]{0x0000000000200000L});
public static final BitSet FOLLOW_21_in_ruleGiven861 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleGiven871 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_ruleCondition_in_ruleGiven892 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_14_in_ruleGiven903 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_ruleCondition_in_ruleGiven924 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_15_in_ruleGiven936 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleGiven946 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleWhen_in_entryRuleWhen982 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleWhen992 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_22_in_ruleWhen1027 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleWhen1037 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleWhen1047 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleWhen1057 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_ruleAction_in_ruleWhen1078 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_14_in_ruleWhen1089 = new BitSet(new long[]{0x0000000010000000L});
public static final BitSet FOLLOW_ruleAction_in_ruleWhen1110 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_15_in_ruleWhen1122 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleWhen1132 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleThen_in_entryRuleThen1168 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleThen1178 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_24_in_ruleThen1213 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleThen1223 = new BitSet(new long[]{0x0000000002000000L});
public static final BitSet FOLLOW_25_in_ruleThen1233 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleThen1243 = new BitSet(new long[]{0x00000001C0000000L});
public static final BitSet FOLLOW_ruleObservation_in_ruleThen1264 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_14_in_ruleThen1275 = new BitSet(new long[]{0x00000001C0000000L});
public static final BitSet FOLLOW_ruleObservation_in_ruleThen1296 = new BitSet(new long[]{0x000000000000C000L});
public static final BitSet FOLLOW_15_in_ruleThen1308 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleThen1318 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSetMode_in_entryRuleSetMode1354 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSetMode1364 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_26_in_ruleSetMode1408 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleSetMode1418 = new BitSet(new long[]{0x0000000008008000L});
public static final BitSet FOLLOW_27_in_ruleSetMode1429 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_ruleEString_in_ruleSetMode1450 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleSetMode1462 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleEString_in_entryRuleEString1499 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleEString1510 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_STRING_in_ruleEString1550 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleEString1576 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulePressButton_in_entryRulePressButton1621 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulePressButton1631 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_28_in_rulePressButton1675 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_rulePressButton1685 = new BitSet(new long[]{0x0000000020008000L});
public static final BitSet FOLLOW_29_in_rulePressButton1696 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_ruleEString_in_rulePressButton1717 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_rulePressButton1729 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObserveMode_in_entryRuleObserveMode1765 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleObserveMode1775 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_30_in_ruleObserveMode1819 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleObserveMode1829 = new BitSet(new long[]{0x0000000008008000L});
public static final BitSet FOLLOW_27_in_ruleObserveMode1840 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_ruleEString_in_ruleObserveMode1861 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleObserveMode1873 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObserveBinding_in_entryRuleObserveBinding1909 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleObserveBinding1919 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_31_in_ruleObserveBinding1963 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_ruleEString_in_ruleObserveBinding1984 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleObserveBinding1994 = new BitSet(new long[]{0x0000000020008000L});
public static final BitSet FOLLOW_29_in_ruleObserveBinding2005 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_ruleEString_in_ruleObserveBinding2026 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleObserveBinding2038 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleObserveDisplay_in_entryRuleObserveDisplay2074 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleObserveDisplay2084 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_32_in_ruleObserveDisplay2128 = new BitSet(new long[]{0x0000000000001000L});
public static final BitSet FOLLOW_12_in_ruleObserveDisplay2138 = new BitSet(new long[]{0x0000000200008000L});
public static final BitSet FOLLOW_33_in_ruleObserveDisplay2149 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_ruleEString_in_ruleObserveDisplay2170 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleObserveDisplay2182 = new BitSet(new long[]{0x0000000000000002L});
}
}