package edu.ksu.cis.projects.mdcf.devicemodel.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 edu.ksu.cis.projects.mdcf.devicemodel.services.DeviceModelingLanguageGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalDeviceModelingLanguageParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_NAT", "RULE_LIT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "'Schema'", "'Class'", "'Product'", "'type'", "'extends'", "'with'", "'feature'", "'schema'", "'class'", "'product'", "'data'", "'device'", "'app'", "'{'", "'}'", "'requires'", "':'", "'='", "'const'", "'instance'", "'val'", "'var'", "'override'", "'Const'", "'Instance'", "'Val'", "'Var'", "'Override'", "'Data'", "'Option'", "'['", "']'", "'None'", "'Some'", "'Either'", "','", "'Seq'", "'Set'", "'inv'", "'..'", "'.'", "'*'", "'constraint'", "'('", "')'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'&&'", "'||'", "'==>'", "'<=='", "'+'", "'-'", "'/'", "'%'", "'!'", "'^'", "'~'"
};
public static final int T__68=68;
public static final int T__69=69;
public static final int RULE_ID=4;
public static final int T__66=66;
public static final int T__67=67;
public static final int T__64=64;
public static final int T__29=29;
public static final int T__65=65;
public static final int T__28=28;
public static final int T__62=62;
public static final int T__27=27;
public static final int T__63=63;
public static final int T__26=26;
public static final int T__25=25;
public static final int T__24=24;
public static final int T__23=23;
public static final int T__22=22;
public static final int T__21=21;
public static final int T__20=20;
public static final int T__61=61;
public static final int T__60=60;
public static final int EOF=-1;
public static final int T__55=55;
public static final int T__56=56;
public static final int T__19=19;
public static final int T__57=57;
public static final int T__58=58;
public static final int T__51=51;
public static final int T__16=16;
public static final int T__52=52;
public static final int T__15=15;
public static final int T__53=53;
public static final int T__18=18;
public static final int T__54=54;
public static final int T__17=17;
public static final int T__12=12;
public static final int T__11=11;
public static final int T__14=14;
public static final int T__13=13;
public static final int T__59=59;
public static final int T__10=10;
public static final int T__50=50;
public static final int T__42=42;
public static final int T__43=43;
public static final int T__40=40;
public static final int T__41=41;
public static final int T__46=46;
public static final int T__47=47;
public static final int T__44=44;
public static final int T__45=45;
public static final int RULE_LIT=6;
public static final int T__48=48;
public static final int T__49=49;
public static final int RULE_SL_COMMENT=8;
public static final int RULE_ML_COMMENT=7;
public static final int T__30=30;
public static final int T__31=31;
public static final int T__32=32;
public static final int T__71=71;
public static final int T__33=33;
public static final int T__34=34;
public static final int T__35=35;
public static final int T__70=70;
public static final int T__36=36;
public static final int T__37=37;
public static final int T__38=38;
public static final int T__39=39;
public static final int RULE_NAT=5;
public static final int RULE_WS=9;
// delegates
// delegators
public InternalDeviceModelingLanguageParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalDeviceModelingLanguageParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalDeviceModelingLanguageParser.tokenNames; }
public String getGrammarFileName() { return "../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g"; }
private DeviceModelingLanguageGrammarAccess grammarAccess;
public InternalDeviceModelingLanguageParser(TokenStream input, DeviceModelingLanguageGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "Model";
}
@Override
protected DeviceModelingLanguageGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleModel"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:67:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ;
public final EObject entryRuleModel() throws RecognitionException {
EObject current = null;
EObject iv_ruleModel = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:68:2: (iv_ruleModel= ruleModel EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:69:2: iv_ruleModel= ruleModel EOF
{
newCompositeNode(grammarAccess.getModelRule());
pushFollow(FOLLOW_ruleModel_in_entryRuleModel75);
iv_ruleModel=ruleModel();
state._fsp--;
current =iv_ruleModel;
match(input,EOF,FOLLOW_EOF_in_entryRuleModel85);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleModel"
// $ANTLR start "ruleModel"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:76:1: ruleModel returns [EObject current=null] : ( ( ( (lv_schema_0_0= 'Schema' ) ) | ( (lv_class_1_0= 'Class' ) ) | ( (lv_product_2_0= 'Product' ) ) )? ( (lv_decls_3_0= ruleDecl ) )* ) ;
public final EObject ruleModel() throws RecognitionException {
EObject current = null;
Token lv_schema_0_0=null;
Token lv_class_1_0=null;
Token lv_product_2_0=null;
EObject lv_decls_3_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:79:28: ( ( ( ( (lv_schema_0_0= 'Schema' ) ) | ( (lv_class_1_0= 'Class' ) ) | ( (lv_product_2_0= 'Product' ) ) )? ( (lv_decls_3_0= ruleDecl ) )* ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:80:1: ( ( ( (lv_schema_0_0= 'Schema' ) ) | ( (lv_class_1_0= 'Class' ) ) | ( (lv_product_2_0= 'Product' ) ) )? ( (lv_decls_3_0= ruleDecl ) )* )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:80:1: ( ( ( (lv_schema_0_0= 'Schema' ) ) | ( (lv_class_1_0= 'Class' ) ) | ( (lv_product_2_0= 'Product' ) ) )? ( (lv_decls_3_0= ruleDecl ) )* )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:80:2: ( ( (lv_schema_0_0= 'Schema' ) ) | ( (lv_class_1_0= 'Class' ) ) | ( (lv_product_2_0= 'Product' ) ) )? ( (lv_decls_3_0= ruleDecl ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:80:2: ( ( (lv_schema_0_0= 'Schema' ) ) | ( (lv_class_1_0= 'Class' ) ) | ( (lv_product_2_0= 'Product' ) ) )?
int alt1=4;
switch ( input.LA(1) ) {
case 10:
{
alt1=1;
}
break;
case 11:
{
alt1=2;
}
break;
case 12:
{
alt1=3;
}
break;
}
switch (alt1) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:80:3: ( (lv_schema_0_0= 'Schema' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:80:3: ( (lv_schema_0_0= 'Schema' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:81:1: (lv_schema_0_0= 'Schema' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:81:1: (lv_schema_0_0= 'Schema' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:82:3: lv_schema_0_0= 'Schema'
{
lv_schema_0_0=(Token)match(input,10,FOLLOW_10_in_ruleModel129);
newLeafNode(lv_schema_0_0, grammarAccess.getModelAccess().getSchemaSchemaKeyword_0_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getModelRule());
}
setWithLastConsumed(current, "schema", true, "Schema");
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:96:6: ( (lv_class_1_0= 'Class' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:96:6: ( (lv_class_1_0= 'Class' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:97:1: (lv_class_1_0= 'Class' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:97:1: (lv_class_1_0= 'Class' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:98:3: lv_class_1_0= 'Class'
{
lv_class_1_0=(Token)match(input,11,FOLLOW_11_in_ruleModel166);
newLeafNode(lv_class_1_0, grammarAccess.getModelAccess().getClassClassKeyword_0_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getModelRule());
}
setWithLastConsumed(current, "class", true, "Class");
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:112:6: ( (lv_product_2_0= 'Product' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:112:6: ( (lv_product_2_0= 'Product' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:113:1: (lv_product_2_0= 'Product' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:113:1: (lv_product_2_0= 'Product' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:114:3: lv_product_2_0= 'Product'
{
lv_product_2_0=(Token)match(input,12,FOLLOW_12_in_ruleModel203);
newLeafNode(lv_product_2_0, grammarAccess.getModelAccess().getProductProductKeyword_0_2_0());
if (current==null) {
current = createModelElement(grammarAccess.getModelRule());
}
setWithLastConsumed(current, "product", true, "Product");
}
}
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:127:4: ( (lv_decls_3_0= ruleDecl ) )*
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==13||LA2_0==16||(LA2_0>=20 && LA2_0<=22)) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:128:1: (lv_decls_3_0= ruleDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:128:1: (lv_decls_3_0= ruleDecl )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:129:3: lv_decls_3_0= ruleDecl
{
newCompositeNode(grammarAccess.getModelAccess().getDeclsDeclParserRuleCall_1_0());
pushFollow(FOLLOW_ruleDecl_in_ruleModel239);
lv_decls_3_0=ruleDecl();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getModelRule());
}
add(
current,
"decls",
lv_decls_3_0,
"Decl");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop2;
}
} while (true);
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleModel"
// $ANTLR start "entryRuleDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:153:1: entryRuleDecl returns [EObject current=null] : iv_ruleDecl= ruleDecl EOF ;
public final EObject entryRuleDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:154:2: (iv_ruleDecl= ruleDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:155:2: iv_ruleDecl= ruleDecl EOF
{
newCompositeNode(grammarAccess.getDeclRule());
pushFollow(FOLLOW_ruleDecl_in_entryRuleDecl276);
iv_ruleDecl=ruleDecl();
state._fsp--;
current =iv_ruleDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleDecl286);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDecl"
// $ANTLR start "ruleDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:162:1: ruleDecl returns [EObject current=null] : (this_TypeDecl_0= ruleTypeDecl | this_FeatureDecl_1= ruleFeatureDecl ) ;
public final EObject ruleDecl() throws RecognitionException {
EObject current = null;
EObject this_TypeDecl_0 = null;
EObject this_FeatureDecl_1 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:165:28: ( (this_TypeDecl_0= ruleTypeDecl | this_FeatureDecl_1= ruleFeatureDecl ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:166:1: (this_TypeDecl_0= ruleTypeDecl | this_FeatureDecl_1= ruleFeatureDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:166:1: (this_TypeDecl_0= ruleTypeDecl | this_FeatureDecl_1= ruleFeatureDecl )
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==13) ) {
alt3=1;
}
else if ( (LA3_0==16||(LA3_0>=20 && LA3_0<=22)) ) {
alt3=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 3, 0, input);
throw nvae;
}
switch (alt3) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:167:5: this_TypeDecl_0= ruleTypeDecl
{
newCompositeNode(grammarAccess.getDeclAccess().getTypeDeclParserRuleCall_0());
pushFollow(FOLLOW_ruleTypeDecl_in_ruleDecl333);
this_TypeDecl_0=ruleTypeDecl();
state._fsp--;
current = this_TypeDecl_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:177:5: this_FeatureDecl_1= ruleFeatureDecl
{
newCompositeNode(grammarAccess.getDeclAccess().getFeatureDeclParserRuleCall_1());
pushFollow(FOLLOW_ruleFeatureDecl_in_ruleDecl360);
this_FeatureDecl_1=ruleFeatureDecl();
state._fsp--;
current = this_FeatureDecl_1;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDecl"
// $ANTLR start "entryRuleTypeDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:193:1: entryRuleTypeDecl returns [EObject current=null] : iv_ruleTypeDecl= ruleTypeDecl EOF ;
public final EObject entryRuleTypeDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:194:2: (iv_ruleTypeDecl= ruleTypeDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:195:2: iv_ruleTypeDecl= ruleTypeDecl EOF
{
newCompositeNode(grammarAccess.getTypeDeclRule());
pushFollow(FOLLOW_ruleTypeDecl_in_entryRuleTypeDecl395);
iv_ruleTypeDecl=ruleTypeDecl();
state._fsp--;
current =iv_ruleTypeDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleTypeDecl405);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeDecl"
// $ANTLR start "ruleTypeDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:202:1: ruleTypeDecl returns [EObject current=null] : (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )* )? ) ;
public final EObject ruleTypeDecl() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_5=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:205:28: ( (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )* )? ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:206:1: (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )* )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:206:1: (otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )* )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:206:3: otherlv_0= 'type' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )* )?
{
otherlv_0=(Token)match(input,13,FOLLOW_13_in_ruleTypeDecl442);
newLeafNode(otherlv_0, grammarAccess.getTypeDeclAccess().getTypeKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:210:1: ( (lv_name_1_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:211:1: (lv_name_1_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:211:1: (lv_name_1_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:212:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeDecl459);
newLeafNode(lv_name_1_0, grammarAccess.getTypeDeclAccess().getNameIDTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getTypeDeclRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"ID");
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:228:2: (otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )* )?
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==14) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:228:4: otherlv_2= 'extends' ( (otherlv_3= RULE_ID ) ) (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )*
{
otherlv_2=(Token)match(input,14,FOLLOW_14_in_ruleTypeDecl477);
newLeafNode(otherlv_2, grammarAccess.getTypeDeclAccess().getExtendsKeyword_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:232:1: ( (otherlv_3= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:233:1: (otherlv_3= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:233:1: (otherlv_3= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:234:3: otherlv_3= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getTypeDeclRule());
}
otherlv_3=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeDecl497);
newLeafNode(otherlv_3, grammarAccess.getTypeDeclAccess().getSupersTypeDeclCrossReference_2_1_0());
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:245:2: (otherlv_4= 'with' ( (otherlv_5= RULE_ID ) ) )*
loop4:
do {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==15) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:245:4: otherlv_4= 'with' ( (otherlv_5= RULE_ID ) )
{
otherlv_4=(Token)match(input,15,FOLLOW_15_in_ruleTypeDecl510);
newLeafNode(otherlv_4, grammarAccess.getTypeDeclAccess().getWithKeyword_2_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:249:1: ( (otherlv_5= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:250:1: (otherlv_5= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:250:1: (otherlv_5= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:251:3: otherlv_5= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getTypeDeclRule());
}
otherlv_5=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleTypeDecl530);
newLeafNode(otherlv_5, grammarAccess.getTypeDeclAccess().getSupersTypeDeclCrossReference_2_2_1_0());
}
}
}
break;
default :
break loop4;
}
} while (true);
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeDecl"
// $ANTLR start "entryRuleFeatureDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:270:1: entryRuleFeatureDecl returns [EObject current=null] : iv_ruleFeatureDecl= ruleFeatureDecl EOF ;
public final EObject entryRuleFeatureDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleFeatureDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:271:2: (iv_ruleFeatureDecl= ruleFeatureDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:272:2: iv_ruleFeatureDecl= ruleFeatureDecl EOF
{
newCompositeNode(grammarAccess.getFeatureDeclRule());
pushFollow(FOLLOW_ruleFeatureDecl_in_entryRuleFeatureDecl570);
iv_ruleFeatureDecl=ruleFeatureDecl();
state._fsp--;
current =iv_ruleFeatureDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleFeatureDecl580);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFeatureDecl"
// $ANTLR start "ruleFeatureDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:279:1: ruleFeatureDecl returns [EObject current=null] : ( ( (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? ) | (otherlv_5= 'data' () ) | (otherlv_7= 'device' () ) | (otherlv_9= 'app' () ) ) ( (lv_name_11_0= RULE_ID ) ) (otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )* )? (otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}' )? (otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}' )? ) ;
public final EObject ruleFeatureDecl() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_schema_2_0=null;
Token lv_class_3_0=null;
Token lv_product_4_0=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token lv_name_11_0=null;
Token otherlv_12=null;
Token otherlv_13=null;
Token otherlv_14=null;
Token otherlv_15=null;
Token otherlv_16=null;
Token otherlv_18=null;
Token otherlv_19=null;
Token otherlv_20=null;
Token otherlv_24=null;
EObject lv_members_17_0 = null;
EObject lv_devices_21_0 = null;
EObject lv_assigns_22_0 = null;
EObject lv_exp_23_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:282:28: ( ( ( (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? ) | (otherlv_5= 'data' () ) | (otherlv_7= 'device' () ) | (otherlv_9= 'app' () ) ) ( (lv_name_11_0= RULE_ID ) ) (otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )* )? (otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}' )? (otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}' )? ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:1: ( ( (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? ) | (otherlv_5= 'data' () ) | (otherlv_7= 'device' () ) | (otherlv_9= 'app' () ) ) ( (lv_name_11_0= RULE_ID ) ) (otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )* )? (otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}' )? (otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}' )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:1: ( ( (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? ) | (otherlv_5= 'data' () ) | (otherlv_7= 'device' () ) | (otherlv_9= 'app' () ) ) ( (lv_name_11_0= RULE_ID ) ) (otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )* )? (otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}' )? (otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}' )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:2: ( (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? ) | (otherlv_5= 'data' () ) | (otherlv_7= 'device' () ) | (otherlv_9= 'app' () ) ) ( (lv_name_11_0= RULE_ID ) ) (otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )* )? (otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}' )? (otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}' )?
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:2: ( (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? ) | (otherlv_5= 'data' () ) | (otherlv_7= 'device' () ) | (otherlv_9= 'app' () ) )
int alt7=4;
switch ( input.LA(1) ) {
case 16:
{
alt7=1;
}
break;
case 20:
{
alt7=2;
}
break;
case 21:
{
alt7=3;
}
break;
case 22:
{
alt7=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 7, 0, input);
throw nvae;
}
switch (alt7) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:3: (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:3: (otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:283:5: otherlv_0= 'feature' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )?
{
otherlv_0=(Token)match(input,16,FOLLOW_16_in_ruleFeatureDecl619);
newLeafNode(otherlv_0, grammarAccess.getFeatureDeclAccess().getFeatureKeyword_0_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:287:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:288:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureDeclAccess().getFeatureAction_0_0_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:293:2: ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) )?
int alt6=4;
switch ( input.LA(1) ) {
case 17:
{
alt6=1;
}
break;
case 18:
{
alt6=2;
}
break;
case 19:
{
alt6=3;
}
break;
}
switch (alt6) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:293:3: ( (lv_schema_2_0= 'schema' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:293:3: ( (lv_schema_2_0= 'schema' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:294:1: (lv_schema_2_0= 'schema' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:294:1: (lv_schema_2_0= 'schema' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:295:3: lv_schema_2_0= 'schema'
{
lv_schema_2_0=(Token)match(input,17,FOLLOW_17_in_ruleFeatureDecl647);
newLeafNode(lv_schema_2_0, grammarAccess.getFeatureDeclAccess().getSchemaSchemaKeyword_0_0_2_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureDeclRule());
}
setWithLastConsumed(current, "schema", true, "schema");
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:309:6: ( (lv_class_3_0= 'class' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:309:6: ( (lv_class_3_0= 'class' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:310:1: (lv_class_3_0= 'class' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:310:1: (lv_class_3_0= 'class' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:311:3: lv_class_3_0= 'class'
{
lv_class_3_0=(Token)match(input,18,FOLLOW_18_in_ruleFeatureDecl684);
newLeafNode(lv_class_3_0, grammarAccess.getFeatureDeclAccess().getClassClassKeyword_0_0_2_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureDeclRule());
}
setWithLastConsumed(current, "class", true, "class");
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:325:6: ( (lv_product_4_0= 'product' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:325:6: ( (lv_product_4_0= 'product' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:326:1: (lv_product_4_0= 'product' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:326:1: (lv_product_4_0= 'product' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:327:3: lv_product_4_0= 'product'
{
lv_product_4_0=(Token)match(input,19,FOLLOW_19_in_ruleFeatureDecl721);
newLeafNode(lv_product_4_0, grammarAccess.getFeatureDeclAccess().getProductProductKeyword_0_0_2_2_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureDeclRule());
}
setWithLastConsumed(current, "product", true, "product");
}
}
}
break;
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:341:6: (otherlv_5= 'data' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:341:6: (otherlv_5= 'data' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:341:8: otherlv_5= 'data' ()
{
otherlv_5=(Token)match(input,20,FOLLOW_20_in_ruleFeatureDecl756);
newLeafNode(otherlv_5, grammarAccess.getFeatureDeclAccess().getDataKeyword_0_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:345:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:346:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureDeclAccess().getDataAction_0_1_1(),
current);
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:352:6: (otherlv_7= 'device' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:352:6: (otherlv_7= 'device' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:352:8: otherlv_7= 'device' ()
{
otherlv_7=(Token)match(input,21,FOLLOW_21_in_ruleFeatureDecl785);
newLeafNode(otherlv_7, grammarAccess.getFeatureDeclAccess().getDeviceKeyword_0_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:356:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:357:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureDeclAccess().getDeviceAction_0_2_1(),
current);
}
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:363:6: (otherlv_9= 'app' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:363:6: (otherlv_9= 'app' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:363:8: otherlv_9= 'app' ()
{
otherlv_9=(Token)match(input,22,FOLLOW_22_in_ruleFeatureDecl814);
newLeafNode(otherlv_9, grammarAccess.getFeatureDeclAccess().getAppKeyword_0_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:367:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:368:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureDeclAccess().getAppAction_0_3_1(),
current);
}
}
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:373:4: ( (lv_name_11_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:374:1: (lv_name_11_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:374:1: (lv_name_11_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:375:3: lv_name_11_0= RULE_ID
{
lv_name_11_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFeatureDecl842);
newLeafNode(lv_name_11_0, grammarAccess.getFeatureDeclAccess().getNameIDTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureDeclRule());
}
setWithLastConsumed(
current,
"name",
lv_name_11_0,
"ID");
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:391:2: (otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )* )?
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==14) ) {
alt9=1;
}
switch (alt9) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:391:4: otherlv_12= 'extends' ( (otherlv_13= RULE_ID ) ) (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )*
{
otherlv_12=(Token)match(input,14,FOLLOW_14_in_ruleFeatureDecl860);
newLeafNode(otherlv_12, grammarAccess.getFeatureDeclAccess().getExtendsKeyword_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:395:1: ( (otherlv_13= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:396:1: (otherlv_13= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:396:1: (otherlv_13= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:397:3: otherlv_13= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getFeatureDeclRule());
}
otherlv_13=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFeatureDecl880);
newLeafNode(otherlv_13, grammarAccess.getFeatureDeclAccess().getSupersFeatureDeclCrossReference_2_1_0());
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:408:2: (otherlv_14= 'with' ( (otherlv_15= RULE_ID ) ) )*
loop8:
do {
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==15) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:408:4: otherlv_14= 'with' ( (otherlv_15= RULE_ID ) )
{
otherlv_14=(Token)match(input,15,FOLLOW_15_in_ruleFeatureDecl893);
newLeafNode(otherlv_14, grammarAccess.getFeatureDeclAccess().getWithKeyword_2_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:412:1: ( (otherlv_15= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:413:1: (otherlv_15= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:413:1: (otherlv_15= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:414:3: otherlv_15= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getFeatureDeclRule());
}
otherlv_15=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleFeatureDecl913);
newLeafNode(otherlv_15, grammarAccess.getFeatureDeclAccess().getSupersFeatureDeclCrossReference_2_2_1_0());
}
}
}
break;
default :
break loop8;
}
} while (true);
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:425:6: (otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}' )?
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==23) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:425:8: otherlv_16= '{' ( (lv_members_17_0= ruleMemberDecl ) )* otherlv_18= '}'
{
otherlv_16=(Token)match(input,23,FOLLOW_23_in_ruleFeatureDecl930);
newLeafNode(otherlv_16, grammarAccess.getFeatureDeclAccess().getLeftCurlyBracketKeyword_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:429:1: ( (lv_members_17_0= ruleMemberDecl ) )*
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==RULE_ID||LA10_0==28||(LA10_0>=30 && LA10_0<=33)||(LA10_0>=35 && LA10_0<=38)||LA10_0==48) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:430:1: (lv_members_17_0= ruleMemberDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:430:1: (lv_members_17_0= ruleMemberDecl )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:431:3: lv_members_17_0= ruleMemberDecl
{
newCompositeNode(grammarAccess.getFeatureDeclAccess().getMembersMemberDeclParserRuleCall_3_1_0());
pushFollow(FOLLOW_ruleMemberDecl_in_ruleFeatureDecl951);
lv_members_17_0=ruleMemberDecl();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureDeclRule());
}
add(
current,
"members",
lv_members_17_0,
"MemberDecl");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop10;
}
} while (true);
otherlv_18=(Token)match(input,24,FOLLOW_24_in_ruleFeatureDecl964);
newLeafNode(otherlv_18, grammarAccess.getFeatureDeclAccess().getRightCurlyBracketKeyword_3_2());
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:451:3: (otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}' )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==25) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:451:5: otherlv_19= 'requires' otherlv_20= '{' ( (lv_devices_21_0= ruleDevice ) )* ( (lv_assigns_22_0= ruleAssignment ) )* ( (lv_exp_23_0= ruleExp ) ) otherlv_24= '}'
{
otherlv_19=(Token)match(input,25,FOLLOW_25_in_ruleFeatureDecl979);
newLeafNode(otherlv_19, grammarAccess.getFeatureDeclAccess().getRequiresKeyword_4_0());
otherlv_20=(Token)match(input,23,FOLLOW_23_in_ruleFeatureDecl991);
newLeafNode(otherlv_20, grammarAccess.getFeatureDeclAccess().getLeftCurlyBracketKeyword_4_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:459:1: ( (lv_devices_21_0= ruleDevice ) )*
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==RULE_ID) ) {
int LA12_1 = input.LA(2);
if ( (LA12_1==26) ) {
alt12=1;
}
}
switch (alt12) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:460:1: (lv_devices_21_0= ruleDevice )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:460:1: (lv_devices_21_0= ruleDevice )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:461:3: lv_devices_21_0= ruleDevice
{
newCompositeNode(grammarAccess.getFeatureDeclAccess().getDevicesDeviceParserRuleCall_4_2_0());
pushFollow(FOLLOW_ruleDevice_in_ruleFeatureDecl1012);
lv_devices_21_0=ruleDevice();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureDeclRule());
}
add(
current,
"devices",
lv_devices_21_0,
"Device");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop12;
}
} while (true);
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:477:3: ( (lv_assigns_22_0= ruleAssignment ) )*
loop13:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==RULE_ID) ) {
int LA13_2 = input.LA(2);
if ( (LA13_2==27) ) {
alt13=1;
}
}
switch (alt13) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:478:1: (lv_assigns_22_0= ruleAssignment )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:478:1: (lv_assigns_22_0= ruleAssignment )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:479:3: lv_assigns_22_0= ruleAssignment
{
newCompositeNode(grammarAccess.getFeatureDeclAccess().getAssignsAssignmentParserRuleCall_4_3_0());
pushFollow(FOLLOW_ruleAssignment_in_ruleFeatureDecl1034);
lv_assigns_22_0=ruleAssignment();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureDeclRule());
}
add(
current,
"assigns",
lv_assigns_22_0,
"Assignment");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop13;
}
} while (true);
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:495:3: ( (lv_exp_23_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:496:1: (lv_exp_23_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:496:1: (lv_exp_23_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:497:3: lv_exp_23_0= ruleExp
{
newCompositeNode(grammarAccess.getFeatureDeclAccess().getExpExpParserRuleCall_4_4_0());
pushFollow(FOLLOW_ruleExp_in_ruleFeatureDecl1056);
lv_exp_23_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureDeclRule());
}
set(
current,
"exp",
lv_exp_23_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
otherlv_24=(Token)match(input,24,FOLLOW_24_in_ruleFeatureDecl1068);
newLeafNode(otherlv_24, grammarAccess.getFeatureDeclAccess().getRightCurlyBracketKeyword_4_5());
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFeatureDecl"
// $ANTLR start "entryRuleMemberDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:525:1: entryRuleMemberDecl returns [EObject current=null] : iv_ruleMemberDecl= ruleMemberDecl EOF ;
public final EObject entryRuleMemberDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleMemberDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:526:2: (iv_ruleMemberDecl= ruleMemberDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:527:2: iv_ruleMemberDecl= ruleMemberDecl EOF
{
newCompositeNode(grammarAccess.getMemberDeclRule());
pushFollow(FOLLOW_ruleMemberDecl_in_entryRuleMemberDecl1106);
iv_ruleMemberDecl=ruleMemberDecl();
state._fsp--;
current =iv_ruleMemberDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleMemberDecl1116);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMemberDecl"
// $ANTLR start "ruleMemberDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:534:1: ruleMemberDecl returns [EObject current=null] : (this_AttrDecl_0= ruleAttrDecl | this_SubMemberDecl_1= ruleSubMemberDecl | this_InvariantDecl_2= ruleInvariantDecl ) ;
public final EObject ruleMemberDecl() throws RecognitionException {
EObject current = null;
EObject this_AttrDecl_0 = null;
EObject this_SubMemberDecl_1 = null;
EObject this_InvariantDecl_2 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:537:28: ( (this_AttrDecl_0= ruleAttrDecl | this_SubMemberDecl_1= ruleSubMemberDecl | this_InvariantDecl_2= ruleInvariantDecl ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:538:1: (this_AttrDecl_0= ruleAttrDecl | this_SubMemberDecl_1= ruleSubMemberDecl | this_InvariantDecl_2= ruleInvariantDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:538:1: (this_AttrDecl_0= ruleAttrDecl | this_SubMemberDecl_1= ruleSubMemberDecl | this_InvariantDecl_2= ruleInvariantDecl )
int alt15=3;
switch ( input.LA(1) ) {
case 28:
case 30:
case 31:
case 32:
{
alt15=1;
}
break;
case RULE_ID:
case 33:
case 35:
case 36:
case 37:
case 38:
{
alt15=2;
}
break;
case 48:
{
alt15=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:539:5: this_AttrDecl_0= ruleAttrDecl
{
newCompositeNode(grammarAccess.getMemberDeclAccess().getAttrDeclParserRuleCall_0());
pushFollow(FOLLOW_ruleAttrDecl_in_ruleMemberDecl1163);
this_AttrDecl_0=ruleAttrDecl();
state._fsp--;
current = this_AttrDecl_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:549:5: this_SubMemberDecl_1= ruleSubMemberDecl
{
newCompositeNode(grammarAccess.getMemberDeclAccess().getSubMemberDeclParserRuleCall_1());
pushFollow(FOLLOW_ruleSubMemberDecl_in_ruleMemberDecl1190);
this_SubMemberDecl_1=ruleSubMemberDecl();
state._fsp--;
current = this_SubMemberDecl_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:559:5: this_InvariantDecl_2= ruleInvariantDecl
{
newCompositeNode(grammarAccess.getMemberDeclAccess().getInvariantDeclParserRuleCall_2());
pushFollow(FOLLOW_ruleInvariantDecl_in_ruleMemberDecl1217);
this_InvariantDecl_2=ruleInvariantDecl();
state._fsp--;
current = this_InvariantDecl_2;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMemberDecl"
// $ANTLR start "entryRuleAttrDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:575:1: entryRuleAttrDecl returns [EObject current=null] : iv_ruleAttrDecl= ruleAttrDecl EOF ;
public final EObject entryRuleAttrDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleAttrDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:576:2: (iv_ruleAttrDecl= ruleAttrDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:577:2: iv_ruleAttrDecl= ruleAttrDecl EOF
{
newCompositeNode(grammarAccess.getAttrDeclRule());
pushFollow(FOLLOW_ruleAttrDecl_in_entryRuleAttrDecl1252);
iv_ruleAttrDecl=ruleAttrDecl();
state._fsp--;
current =iv_ruleAttrDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleAttrDecl1262);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAttrDecl"
// $ANTLR start "ruleAttrDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:584:1: ruleAttrDecl returns [EObject current=null] : ( ( (lv_modifier_0_0= ruleModifier ) ) ( (lv_attributeName_1_0= RULE_ID ) ) ( (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? ) | (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) ) ) ) ;
public final EObject ruleAttrDecl() throws RecognitionException {
EObject current = null;
Token lv_attributeName_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_modifier_0_0 = null;
EObject lv_type_3_0 = null;
EObject lv_literal_5_0 = null;
EObject lv_literal_7_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:587:28: ( ( ( (lv_modifier_0_0= ruleModifier ) ) ( (lv_attributeName_1_0= RULE_ID ) ) ( (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? ) | (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:588:1: ( ( (lv_modifier_0_0= ruleModifier ) ) ( (lv_attributeName_1_0= RULE_ID ) ) ( (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? ) | (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:588:1: ( ( (lv_modifier_0_0= ruleModifier ) ) ( (lv_attributeName_1_0= RULE_ID ) ) ( (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? ) | (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:588:2: ( (lv_modifier_0_0= ruleModifier ) ) ( (lv_attributeName_1_0= RULE_ID ) ) ( (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? ) | (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:588:2: ( (lv_modifier_0_0= ruleModifier ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:589:1: (lv_modifier_0_0= ruleModifier )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:589:1: (lv_modifier_0_0= ruleModifier )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:590:3: lv_modifier_0_0= ruleModifier
{
newCompositeNode(grammarAccess.getAttrDeclAccess().getModifierModifierParserRuleCall_0_0());
pushFollow(FOLLOW_ruleModifier_in_ruleAttrDecl1308);
lv_modifier_0_0=ruleModifier();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttrDeclRule());
}
set(
current,
"modifier",
lv_modifier_0_0,
"Modifier");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:606:2: ( (lv_attributeName_1_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:607:1: (lv_attributeName_1_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:607:1: (lv_attributeName_1_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:608:3: lv_attributeName_1_0= RULE_ID
{
lv_attributeName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAttrDecl1325);
newLeafNode(lv_attributeName_1_0, grammarAccess.getAttrDeclAccess().getAttributeNameIDTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getAttrDeclRule());
}
setWithLastConsumed(
current,
"attributeName",
lv_attributeName_1_0,
"ID");
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:624:2: ( (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? ) | (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) ) )
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==26) ) {
alt17=1;
}
else if ( (LA17_0==27) ) {
alt17=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 17, 0, input);
throw nvae;
}
switch (alt17) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:624:3: (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:624:3: (otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:624:5: otherlv_2= ':' ( (lv_type_3_0= ruleType ) ) (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )?
{
otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleAttrDecl1344);
newLeafNode(otherlv_2, grammarAccess.getAttrDeclAccess().getColonKeyword_2_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:628:1: ( (lv_type_3_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:629:1: (lv_type_3_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:629:1: (lv_type_3_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:630:3: lv_type_3_0= ruleType
{
newCompositeNode(grammarAccess.getAttrDeclAccess().getTypeTypeParserRuleCall_2_0_1_0());
pushFollow(FOLLOW_ruleType_in_ruleAttrDecl1365);
lv_type_3_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttrDeclRule());
}
set(
current,
"type",
lv_type_3_0,
"Type");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:646:2: (otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) ) )?
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==27) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:646:4: otherlv_4= '=' ( (lv_literal_5_0= ruleLiteral ) )
{
otherlv_4=(Token)match(input,27,FOLLOW_27_in_ruleAttrDecl1378);
newLeafNode(otherlv_4, grammarAccess.getAttrDeclAccess().getEqualsSignKeyword_2_0_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:650:1: ( (lv_literal_5_0= ruleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:651:1: (lv_literal_5_0= ruleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:651:1: (lv_literal_5_0= ruleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:652:3: lv_literal_5_0= ruleLiteral
{
newCompositeNode(grammarAccess.getAttrDeclAccess().getLiteralLiteralParserRuleCall_2_0_2_1_0());
pushFollow(FOLLOW_ruleLiteral_in_ruleAttrDecl1399);
lv_literal_5_0=ruleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttrDeclRule());
}
set(
current,
"literal",
lv_literal_5_0,
"Literal");
afterParserOrEnumRuleCall();
}
}
}
break;
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:669:6: (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:669:6: (otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:669:8: otherlv_6= '=' ( (lv_literal_7_0= ruleLiteral ) )
{
otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleAttrDecl1421);
newLeafNode(otherlv_6, grammarAccess.getAttrDeclAccess().getEqualsSignKeyword_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:673:1: ( (lv_literal_7_0= ruleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:674:1: (lv_literal_7_0= ruleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:674:1: (lv_literal_7_0= ruleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:675:3: lv_literal_7_0= ruleLiteral
{
newCompositeNode(grammarAccess.getAttrDeclAccess().getLiteralLiteralParserRuleCall_2_1_1_0());
pushFollow(FOLLOW_ruleLiteral_in_ruleAttrDecl1442);
lv_literal_7_0=ruleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAttrDeclRule());
}
set(
current,
"literal",
lv_literal_7_0,
"Literal");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAttrDecl"
// $ANTLR start "entryRuleModifier"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:699:1: entryRuleModifier returns [EObject current=null] : iv_ruleModifier= ruleModifier EOF ;
public final EObject entryRuleModifier() throws RecognitionException {
EObject current = null;
EObject iv_ruleModifier = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:700:2: (iv_ruleModifier= ruleModifier EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:701:2: iv_ruleModifier= ruleModifier EOF
{
newCompositeNode(grammarAccess.getModifierRule());
pushFollow(FOLLOW_ruleModifier_in_entryRuleModifier1480);
iv_ruleModifier=ruleModifier();
state._fsp--;
current =iv_ruleModifier;
match(input,EOF,FOLLOW_EOF_in_entryRuleModifier1490);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleModifier"
// $ANTLR start "ruleModifier"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:708:1: ruleModifier returns [EObject current=null] : ( (otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )? ) | (otherlv_6= 'val' () ) | (otherlv_8= 'var' () ) | (otherlv_10= 'override' () ) ) ;
public final EObject ruleModifier() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_schema_2_0=null;
Token lv_class_3_0=null;
Token lv_product_4_0=null;
Token lv_instance_5_0=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:711:28: ( ( (otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )? ) | (otherlv_6= 'val' () ) | (otherlv_8= 'var' () ) | (otherlv_10= 'override' () ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:712:1: ( (otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )? ) | (otherlv_6= 'val' () ) | (otherlv_8= 'var' () ) | (otherlv_10= 'override' () ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:712:1: ( (otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )? ) | (otherlv_6= 'val' () ) | (otherlv_8= 'var' () ) | (otherlv_10= 'override' () ) )
int alt19=4;
switch ( input.LA(1) ) {
case 28:
{
alt19=1;
}
break;
case 30:
{
alt19=2;
}
break;
case 31:
{
alt19=3;
}
break;
case 32:
{
alt19=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:712:2: (otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:712:2: (otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:712:4: otherlv_0= 'const' () ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )?
{
otherlv_0=(Token)match(input,28,FOLLOW_28_in_ruleModifier1528);
newLeafNode(otherlv_0, grammarAccess.getModifierAccess().getConstKeyword_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:716:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:717:5:
{
current = forceCreateModelElement(
grammarAccess.getModifierAccess().getConstAction_0_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:722:2: ( ( (lv_schema_2_0= 'schema' ) ) | ( (lv_class_3_0= 'class' ) ) | ( (lv_product_4_0= 'product' ) ) | ( (lv_instance_5_0= 'instance' ) ) )?
int alt18=5;
switch ( input.LA(1) ) {
case 17:
{
alt18=1;
}
break;
case 18:
{
alt18=2;
}
break;
case 19:
{
alt18=3;
}
break;
case 29:
{
alt18=4;
}
break;
}
switch (alt18) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:722:3: ( (lv_schema_2_0= 'schema' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:722:3: ( (lv_schema_2_0= 'schema' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:723:1: (lv_schema_2_0= 'schema' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:723:1: (lv_schema_2_0= 'schema' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:724:3: lv_schema_2_0= 'schema'
{
lv_schema_2_0=(Token)match(input,17,FOLLOW_17_in_ruleModifier1556);
newLeafNode(lv_schema_2_0, grammarAccess.getModifierAccess().getSchemaSchemaKeyword_0_2_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed(current, "schema", true, "schema");
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:738:6: ( (lv_class_3_0= 'class' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:738:6: ( (lv_class_3_0= 'class' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:739:1: (lv_class_3_0= 'class' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:739:1: (lv_class_3_0= 'class' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:740:3: lv_class_3_0= 'class'
{
lv_class_3_0=(Token)match(input,18,FOLLOW_18_in_ruleModifier1593);
newLeafNode(lv_class_3_0, grammarAccess.getModifierAccess().getClassClassKeyword_0_2_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed(current, "class", true, "class");
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:754:6: ( (lv_product_4_0= 'product' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:754:6: ( (lv_product_4_0= 'product' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:755:1: (lv_product_4_0= 'product' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:755:1: (lv_product_4_0= 'product' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:756:3: lv_product_4_0= 'product'
{
lv_product_4_0=(Token)match(input,19,FOLLOW_19_in_ruleModifier1630);
newLeafNode(lv_product_4_0, grammarAccess.getModifierAccess().getProductProductKeyword_0_2_2_0());
if (current==null) {
current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed(current, "product", true, "product");
}
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:770:6: ( (lv_instance_5_0= 'instance' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:770:6: ( (lv_instance_5_0= 'instance' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:771:1: (lv_instance_5_0= 'instance' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:771:1: (lv_instance_5_0= 'instance' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:772:3: lv_instance_5_0= 'instance'
{
lv_instance_5_0=(Token)match(input,29,FOLLOW_29_in_ruleModifier1667);
newLeafNode(lv_instance_5_0, grammarAccess.getModifierAccess().getInstanceInstanceKeyword_0_2_3_0());
if (current==null) {
current = createModelElement(grammarAccess.getModifierRule());
}
setWithLastConsumed(current, "instance", true, "instance");
}
}
}
break;
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:786:6: (otherlv_6= 'val' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:786:6: (otherlv_6= 'val' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:786:8: otherlv_6= 'val' ()
{
otherlv_6=(Token)match(input,30,FOLLOW_30_in_ruleModifier1702);
newLeafNode(otherlv_6, grammarAccess.getModifierAccess().getValKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:790:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:791:5:
{
current = forceCreateModelElement(
grammarAccess.getModifierAccess().getValAction_1_1(),
current);
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:797:6: (otherlv_8= 'var' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:797:6: (otherlv_8= 'var' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:797:8: otherlv_8= 'var' ()
{
otherlv_8=(Token)match(input,31,FOLLOW_31_in_ruleModifier1731);
newLeafNode(otherlv_8, grammarAccess.getModifierAccess().getVarKeyword_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:801:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:802:5:
{
current = forceCreateModelElement(
grammarAccess.getModifierAccess().getVarAction_2_1(),
current);
}
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:808:6: (otherlv_10= 'override' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:808:6: (otherlv_10= 'override' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:808:8: otherlv_10= 'override' ()
{
otherlv_10=(Token)match(input,32,FOLLOW_32_in_ruleModifier1760);
newLeafNode(otherlv_10, grammarAccess.getModifierAccess().getOverrideKeyword_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:812:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:813:5:
{
current = forceCreateModelElement(
grammarAccess.getModifierAccess().getOverrideAction_3_1(),
current);
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleModifier"
// $ANTLR start "entryRuleSubMemberDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:826:1: entryRuleSubMemberDecl returns [EObject current=null] : iv_ruleSubMemberDecl= ruleSubMemberDecl EOF ;
public final EObject entryRuleSubMemberDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleSubMemberDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:827:2: (iv_ruleSubMemberDecl= ruleSubMemberDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:828:2: iv_ruleSubMemberDecl= ruleSubMemberDecl EOF
{
newCompositeNode(grammarAccess.getSubMemberDeclRule());
pushFollow(FOLLOW_ruleSubMemberDecl_in_entryRuleSubMemberDecl1806);
iv_ruleSubMemberDecl=ruleSubMemberDecl();
state._fsp--;
current =iv_ruleSubMemberDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleSubMemberDecl1816);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSubMemberDecl"
// $ANTLR start "ruleSubMemberDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:835:1: ruleSubMemberDecl returns [EObject current=null] : ( ( (lv_modifier_0_0= ruleMModifier ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleFeatureType ) ) ) ;
public final EObject ruleSubMemberDecl() throws RecognitionException {
EObject current = null;
Token lv_name_1_0=null;
Token otherlv_2=null;
EObject lv_modifier_0_0 = null;
EObject lv_type_3_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:838:28: ( ( ( (lv_modifier_0_0= ruleMModifier ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleFeatureType ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:839:1: ( ( (lv_modifier_0_0= ruleMModifier ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleFeatureType ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:839:1: ( ( (lv_modifier_0_0= ruleMModifier ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleFeatureType ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:839:2: ( (lv_modifier_0_0= ruleMModifier ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleFeatureType ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:839:2: ( (lv_modifier_0_0= ruleMModifier ) )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==33||(LA20_0>=35 && LA20_0<=38)) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:840:1: (lv_modifier_0_0= ruleMModifier )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:840:1: (lv_modifier_0_0= ruleMModifier )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:841:3: lv_modifier_0_0= ruleMModifier
{
newCompositeNode(grammarAccess.getSubMemberDeclAccess().getModifierMModifierParserRuleCall_0_0());
pushFollow(FOLLOW_ruleMModifier_in_ruleSubMemberDecl1862);
lv_modifier_0_0=ruleMModifier();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSubMemberDeclRule());
}
set(
current,
"modifier",
lv_modifier_0_0,
"MModifier");
afterParserOrEnumRuleCall();
}
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:857:3: ( (lv_name_1_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:858:1: (lv_name_1_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:858:1: (lv_name_1_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:859:3: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSubMemberDecl1880);
newLeafNode(lv_name_1_0, grammarAccess.getSubMemberDeclAccess().getNameIDTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getSubMemberDeclRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"ID");
}
}
otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleSubMemberDecl1897);
newLeafNode(otherlv_2, grammarAccess.getSubMemberDeclAccess().getColonKeyword_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:879:1: ( (lv_type_3_0= ruleFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:880:1: (lv_type_3_0= ruleFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:880:1: (lv_type_3_0= ruleFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:881:3: lv_type_3_0= ruleFeatureType
{
newCompositeNode(grammarAccess.getSubMemberDeclAccess().getTypeFeatureTypeParserRuleCall_3_0());
pushFollow(FOLLOW_ruleFeatureType_in_ruleSubMemberDecl1918);
lv_type_3_0=ruleFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSubMemberDeclRule());
}
set(
current,
"type",
lv_type_3_0,
"FeatureType");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSubMemberDecl"
// $ANTLR start "entryRuleMModifier"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:905:1: entryRuleMModifier returns [EObject current=null] : iv_ruleMModifier= ruleMModifier EOF ;
public final EObject entryRuleMModifier() throws RecognitionException {
EObject current = null;
EObject iv_ruleMModifier = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:906:2: (iv_ruleMModifier= ruleMModifier EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:907:2: iv_ruleMModifier= ruleMModifier EOF
{
newCompositeNode(grammarAccess.getMModifierRule());
pushFollow(FOLLOW_ruleMModifier_in_entryRuleMModifier1954);
iv_ruleMModifier=ruleMModifier();
state._fsp--;
current =iv_ruleMModifier;
match(input,EOF,FOLLOW_EOF_in_entryRuleMModifier1964);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMModifier"
// $ANTLR start "ruleMModifier"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:914:1: ruleMModifier returns [EObject current=null] : ( (otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )? ) | (otherlv_6= 'Val' () ) | (otherlv_8= 'Var' () ) | (otherlv_10= 'Override' () ) | (otherlv_12= 'Data' () ) ) ;
public final EObject ruleMModifier() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_schema_2_0=null;
Token lv_class_3_0=null;
Token lv_product_4_0=null;
Token lv_instance_5_0=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:917:28: ( ( (otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )? ) | (otherlv_6= 'Val' () ) | (otherlv_8= 'Var' () ) | (otherlv_10= 'Override' () ) | (otherlv_12= 'Data' () ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:918:1: ( (otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )? ) | (otherlv_6= 'Val' () ) | (otherlv_8= 'Var' () ) | (otherlv_10= 'Override' () ) | (otherlv_12= 'Data' () ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:918:1: ( (otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )? ) | (otherlv_6= 'Val' () ) | (otherlv_8= 'Var' () ) | (otherlv_10= 'Override' () ) | (otherlv_12= 'Data' () ) )
int alt22=5;
switch ( input.LA(1) ) {
case 33:
{
alt22=1;
}
break;
case 35:
{
alt22=2;
}
break;
case 36:
{
alt22=3;
}
break;
case 37:
{
alt22=4;
}
break;
case 38:
{
alt22=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:918:2: (otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:918:2: (otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:918:4: otherlv_0= 'Const' () ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )?
{
otherlv_0=(Token)match(input,33,FOLLOW_33_in_ruleMModifier2002);
newLeafNode(otherlv_0, grammarAccess.getMModifierAccess().getConstKeyword_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:922:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:923:5:
{
current = forceCreateModelElement(
grammarAccess.getMModifierAccess().getConstAction_0_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:928:2: ( ( (lv_schema_2_0= 'Schema' ) ) | ( (lv_class_3_0= 'Class' ) ) | ( (lv_product_4_0= 'Product' ) ) | ( (lv_instance_5_0= 'Instance' ) ) )?
int alt21=5;
switch ( input.LA(1) ) {
case 10:
{
alt21=1;
}
break;
case 11:
{
alt21=2;
}
break;
case 12:
{
alt21=3;
}
break;
case 34:
{
alt21=4;
}
break;
}
switch (alt21) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:928:3: ( (lv_schema_2_0= 'Schema' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:928:3: ( (lv_schema_2_0= 'Schema' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:929:1: (lv_schema_2_0= 'Schema' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:929:1: (lv_schema_2_0= 'Schema' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:930:3: lv_schema_2_0= 'Schema'
{
lv_schema_2_0=(Token)match(input,10,FOLLOW_10_in_ruleMModifier2030);
newLeafNode(lv_schema_2_0, grammarAccess.getMModifierAccess().getSchemaSchemaKeyword_0_2_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getMModifierRule());
}
setWithLastConsumed(current, "schema", true, "Schema");
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:944:6: ( (lv_class_3_0= 'Class' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:944:6: ( (lv_class_3_0= 'Class' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:945:1: (lv_class_3_0= 'Class' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:945:1: (lv_class_3_0= 'Class' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:946:3: lv_class_3_0= 'Class'
{
lv_class_3_0=(Token)match(input,11,FOLLOW_11_in_ruleMModifier2067);
newLeafNode(lv_class_3_0, grammarAccess.getMModifierAccess().getClassClassKeyword_0_2_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getMModifierRule());
}
setWithLastConsumed(current, "class", true, "Class");
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:960:6: ( (lv_product_4_0= 'Product' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:960:6: ( (lv_product_4_0= 'Product' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:961:1: (lv_product_4_0= 'Product' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:961:1: (lv_product_4_0= 'Product' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:962:3: lv_product_4_0= 'Product'
{
lv_product_4_0=(Token)match(input,12,FOLLOW_12_in_ruleMModifier2104);
newLeafNode(lv_product_4_0, grammarAccess.getMModifierAccess().getProductProductKeyword_0_2_2_0());
if (current==null) {
current = createModelElement(grammarAccess.getMModifierRule());
}
setWithLastConsumed(current, "product", true, "Product");
}
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:976:6: ( (lv_instance_5_0= 'Instance' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:976:6: ( (lv_instance_5_0= 'Instance' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:977:1: (lv_instance_5_0= 'Instance' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:977:1: (lv_instance_5_0= 'Instance' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:978:3: lv_instance_5_0= 'Instance'
{
lv_instance_5_0=(Token)match(input,34,FOLLOW_34_in_ruleMModifier2141);
newLeafNode(lv_instance_5_0, grammarAccess.getMModifierAccess().getInstanceInstanceKeyword_0_2_3_0());
if (current==null) {
current = createModelElement(grammarAccess.getMModifierRule());
}
setWithLastConsumed(current, "instance", true, "Instance");
}
}
}
break;
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:992:6: (otherlv_6= 'Val' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:992:6: (otherlv_6= 'Val' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:992:8: otherlv_6= 'Val' ()
{
otherlv_6=(Token)match(input,35,FOLLOW_35_in_ruleMModifier2176);
newLeafNode(otherlv_6, grammarAccess.getMModifierAccess().getValKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:996:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:997:5:
{
current = forceCreateModelElement(
grammarAccess.getMModifierAccess().getValAction_1_1(),
current);
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1003:6: (otherlv_8= 'Var' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1003:6: (otherlv_8= 'Var' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1003:8: otherlv_8= 'Var' ()
{
otherlv_8=(Token)match(input,36,FOLLOW_36_in_ruleMModifier2205);
newLeafNode(otherlv_8, grammarAccess.getMModifierAccess().getVarKeyword_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1007:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1008:5:
{
current = forceCreateModelElement(
grammarAccess.getMModifierAccess().getVarAction_2_1(),
current);
}
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1014:6: (otherlv_10= 'Override' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1014:6: (otherlv_10= 'Override' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1014:8: otherlv_10= 'Override' ()
{
otherlv_10=(Token)match(input,37,FOLLOW_37_in_ruleMModifier2234);
newLeafNode(otherlv_10, grammarAccess.getMModifierAccess().getOverrideKeyword_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1018:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1019:5:
{
current = forceCreateModelElement(
grammarAccess.getMModifierAccess().getOverrideAction_3_1(),
current);
}
}
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1025:6: (otherlv_12= 'Data' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1025:6: (otherlv_12= 'Data' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1025:8: otherlv_12= 'Data' ()
{
otherlv_12=(Token)match(input,38,FOLLOW_38_in_ruleMModifier2263);
newLeafNode(otherlv_12, grammarAccess.getMModifierAccess().getDataKeyword_4_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1029:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1030:5:
{
current = forceCreateModelElement(
grammarAccess.getMModifierAccess().getDataAction_4_1(),
current);
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMModifier"
// $ANTLR start "entryRuleAssignment"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1043:1: entryRuleAssignment returns [EObject current=null] : iv_ruleAssignment= ruleAssignment EOF ;
public final EObject entryRuleAssignment() throws RecognitionException {
EObject current = null;
EObject iv_ruleAssignment = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1044:2: (iv_ruleAssignment= ruleAssignment EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1045:2: iv_ruleAssignment= ruleAssignment EOF
{
newCompositeNode(grammarAccess.getAssignmentRule());
pushFollow(FOLLOW_ruleAssignment_in_entryRuleAssignment2309);
iv_ruleAssignment=ruleAssignment();
state._fsp--;
current =iv_ruleAssignment;
match(input,EOF,FOLLOW_EOF_in_entryRuleAssignment2319);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAssignment"
// $ANTLR start "ruleAssignment"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1052:1: ruleAssignment returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_exp_2_0= ruleExp ) ) ) ;
public final EObject ruleAssignment() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
EObject lv_exp_2_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1055:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_exp_2_0= ruleExp ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1056:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_exp_2_0= ruleExp ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1056:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_exp_2_0= ruleExp ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1056:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= '=' ( (lv_exp_2_0= ruleExp ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1056:2: ( (lv_name_0_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1057:1: (lv_name_0_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1057:1: (lv_name_0_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1058:3: lv_name_0_0= RULE_ID
{
lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleAssignment2361);
newLeafNode(lv_name_0_0, grammarAccess.getAssignmentAccess().getNameIDTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getAssignmentRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"ID");
}
}
otherlv_1=(Token)match(input,27,FOLLOW_27_in_ruleAssignment2378);
newLeafNode(otherlv_1, grammarAccess.getAssignmentAccess().getEqualsSignKeyword_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1078:1: ( (lv_exp_2_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1079:1: (lv_exp_2_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1079:1: (lv_exp_2_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1080:3: lv_exp_2_0= ruleExp
{
newCompositeNode(grammarAccess.getAssignmentAccess().getExpExpParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExp_in_ruleAssignment2399);
lv_exp_2_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getAssignmentRule());
}
set(
current,
"exp",
lv_exp_2_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAssignment"
// $ANTLR start "entryRuleFeatureType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1106:1: entryRuleFeatureType returns [EObject current=null] : iv_ruleFeatureType= ruleFeatureType EOF ;
public final EObject entryRuleFeatureType() throws RecognitionException {
EObject current = null;
EObject iv_ruleFeatureType = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1107:2: (iv_ruleFeatureType= ruleFeatureType EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1108:2: iv_ruleFeatureType= ruleFeatureType EOF
{
newCompositeNode(grammarAccess.getFeatureTypeRule());
pushFollow(FOLLOW_ruleFeatureType_in_entryRuleFeatureType2437);
iv_ruleFeatureType=ruleFeatureType();
state._fsp--;
current =iv_ruleFeatureType;
match(input,EOF,FOLLOW_EOF_in_entryRuleFeatureType2447);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleFeatureType"
// $ANTLR start "ruleFeatureType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1115:1: ruleFeatureType returns [EObject current=null] : (this_BaseFeatureType_0= ruleBaseFeatureType | (otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )? ) | (otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )? ) | (otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )? ) | (otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )? ) | (otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )? ) ) ;
public final EObject ruleFeatureType() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token lv_none_7_0=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_12=null;
Token otherlv_13=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
Token otherlv_23=null;
Token otherlv_24=null;
Token lv_choice_25_0=null;
Token otherlv_26=null;
Token otherlv_28=null;
Token otherlv_29=null;
Token otherlv_31=null;
Token otherlv_33=null;
Token otherlv_34=null;
Token otherlv_35=null;
Token otherlv_37=null;
Token otherlv_39=null;
Token otherlv_40=null;
Token otherlv_42=null;
Token otherlv_44=null;
Token otherlv_45=null;
Token otherlv_46=null;
Token otherlv_48=null;
Token otherlv_50=null;
EObject this_BaseFeatureType_0 = null;
EObject lv_base_4_0 = null;
EObject lv_base_11_0 = null;
EObject lv_members_15_0 = null;
EObject lv_bases_20_0 = null;
EObject lv_bases_22_0 = null;
EObject lv_members_27_0 = null;
EObject lv_base_32_0 = null;
EObject lv_elements_36_0 = null;
EObject lv_elements_38_0 = null;
EObject lv_base_43_0 = null;
EObject lv_elements_47_0 = null;
EObject lv_elements_49_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1118:28: ( (this_BaseFeatureType_0= ruleBaseFeatureType | (otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )? ) | (otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )? ) | (otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )? ) | (otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )? ) | (otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )? ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1119:1: (this_BaseFeatureType_0= ruleBaseFeatureType | (otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )? ) | (otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )? ) | (otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )? ) | (otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )? ) | (otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )? ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1119:1: (this_BaseFeatureType_0= ruleBaseFeatureType | (otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )? ) | (otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )? ) | (otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )? ) | (otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )? ) | (otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )? ) )
int alt35=6;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt35=1;
}
break;
case 39:
{
alt35=2;
}
break;
case 43:
{
alt35=3;
}
break;
case 44:
{
alt35=4;
}
break;
case 46:
{
alt35=5;
}
break;
case 47:
{
alt35=6;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1120:5: this_BaseFeatureType_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBaseFeatureTypeParserRuleCall_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2494);
this_BaseFeatureType_0=ruleBaseFeatureType();
state._fsp--;
current = this_BaseFeatureType_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1129:6: (otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1129:6: (otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1129:8: otherlv_1= 'Option' () otherlv_3= '[' ( (lv_base_4_0= ruleBaseFeatureType ) ) otherlv_5= ']' (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )?
{
otherlv_1=(Token)match(input,39,FOLLOW_39_in_ruleFeatureType2512);
newLeafNode(otherlv_1, grammarAccess.getFeatureTypeAccess().getOptionKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1133:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1134:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureTypeAccess().getOptionFeatureTypeAction_1_1(),
current);
}
otherlv_3=(Token)match(input,40,FOLLOW_40_in_ruleFeatureType2533);
newLeafNode(otherlv_3, grammarAccess.getFeatureTypeAccess().getLeftSquareBracketKeyword_1_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1143:1: ( (lv_base_4_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1144:1: (lv_base_4_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1144:1: (lv_base_4_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1145:3: lv_base_4_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBaseBaseFeatureTypeParserRuleCall_1_3_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2554);
lv_base_4_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
set(
current,
"base",
lv_base_4_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,41,FOLLOW_41_in_ruleFeatureType2566);
newLeafNode(otherlv_5, grammarAccess.getFeatureTypeAccess().getRightSquareBracketKeyword_1_4());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1165:1: (otherlv_6= '=' ( (lv_none_7_0= 'None' ) ) )?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==27) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1165:3: otherlv_6= '=' ( (lv_none_7_0= 'None' ) )
{
otherlv_6=(Token)match(input,27,FOLLOW_27_in_ruleFeatureType2579);
newLeafNode(otherlv_6, grammarAccess.getFeatureTypeAccess().getEqualsSignKeyword_1_5_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1169:1: ( (lv_none_7_0= 'None' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1170:1: (lv_none_7_0= 'None' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1170:1: (lv_none_7_0= 'None' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1171:3: lv_none_7_0= 'None'
{
lv_none_7_0=(Token)match(input,42,FOLLOW_42_in_ruleFeatureType2597);
newLeafNode(lv_none_7_0, grammarAccess.getFeatureTypeAccess().getNoneNoneKeyword_1_5_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureTypeRule());
}
setWithLastConsumed(current, "none", true, "None");
}
}
}
break;
}
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1185:6: (otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1185:6: (otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1185:8: otherlv_8= 'Some' () otherlv_10= '[' ( (lv_base_11_0= ruleBaseFeatureType ) ) otherlv_12= ']' (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )?
{
otherlv_8=(Token)match(input,43,FOLLOW_43_in_ruleFeatureType2632);
newLeafNode(otherlv_8, grammarAccess.getFeatureTypeAccess().getSomeKeyword_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1189:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1190:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureTypeAccess().getSomeFeatureTypeAction_2_1(),
current);
}
otherlv_10=(Token)match(input,40,FOLLOW_40_in_ruleFeatureType2653);
newLeafNode(otherlv_10, grammarAccess.getFeatureTypeAccess().getLeftSquareBracketKeyword_2_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1199:1: ( (lv_base_11_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1200:1: (lv_base_11_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1200:1: (lv_base_11_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1201:3: lv_base_11_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBaseBaseFeatureTypeParserRuleCall_2_3_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2674);
lv_base_11_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
set(
current,
"base",
lv_base_11_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
otherlv_12=(Token)match(input,41,FOLLOW_41_in_ruleFeatureType2686);
newLeafNode(otherlv_12, grammarAccess.getFeatureTypeAccess().getRightSquareBracketKeyword_2_4());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1221:1: (otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}' )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==27) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1221:3: otherlv_13= '=' otherlv_14= '{' ( (lv_members_15_0= ruleMemberDecl ) )* otherlv_16= '}'
{
otherlv_13=(Token)match(input,27,FOLLOW_27_in_ruleFeatureType2699);
newLeafNode(otherlv_13, grammarAccess.getFeatureTypeAccess().getEqualsSignKeyword_2_5_0());
otherlv_14=(Token)match(input,23,FOLLOW_23_in_ruleFeatureType2711);
newLeafNode(otherlv_14, grammarAccess.getFeatureTypeAccess().getLeftCurlyBracketKeyword_2_5_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1229:1: ( (lv_members_15_0= ruleMemberDecl ) )*
loop24:
do {
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==RULE_ID||LA24_0==28||(LA24_0>=30 && LA24_0<=33)||(LA24_0>=35 && LA24_0<=38)||LA24_0==48) ) {
alt24=1;
}
switch (alt24) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1230:1: (lv_members_15_0= ruleMemberDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1230:1: (lv_members_15_0= ruleMemberDecl )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1231:3: lv_members_15_0= ruleMemberDecl
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getMembersMemberDeclParserRuleCall_2_5_2_0());
pushFollow(FOLLOW_ruleMemberDecl_in_ruleFeatureType2732);
lv_members_15_0=ruleMemberDecl();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"members",
lv_members_15_0,
"MemberDecl");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop24;
}
} while (true);
otherlv_16=(Token)match(input,24,FOLLOW_24_in_ruleFeatureType2745);
newLeafNode(otherlv_16, grammarAccess.getFeatureTypeAccess().getRightCurlyBracketKeyword_2_5_3());
}
break;
}
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1252:6: (otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1252:6: (otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1252:8: otherlv_17= 'Either' () otherlv_19= '[' ( (lv_bases_20_0= ruleBaseFeatureType ) ) (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+ otherlv_23= ']' (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )?
{
otherlv_17=(Token)match(input,44,FOLLOW_44_in_ruleFeatureType2767);
newLeafNode(otherlv_17, grammarAccess.getFeatureTypeAccess().getEitherKeyword_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1256:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1257:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureTypeAccess().getEitherFeatureTypeAction_3_1(),
current);
}
otherlv_19=(Token)match(input,40,FOLLOW_40_in_ruleFeatureType2788);
newLeafNode(otherlv_19, grammarAccess.getFeatureTypeAccess().getLeftSquareBracketKeyword_3_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1266:1: ( (lv_bases_20_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1267:1: (lv_bases_20_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1267:1: (lv_bases_20_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1268:3: lv_bases_20_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBasesBaseFeatureTypeParserRuleCall_3_3_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2809);
lv_bases_20_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"bases",
lv_bases_20_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1284:2: (otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) ) )+
int cnt26=0;
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==45) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1284:4: otherlv_21= ',' ( (lv_bases_22_0= ruleBaseFeatureType ) )
{
otherlv_21=(Token)match(input,45,FOLLOW_45_in_ruleFeatureType2822);
newLeafNode(otherlv_21, grammarAccess.getFeatureTypeAccess().getCommaKeyword_3_4_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1288:1: ( (lv_bases_22_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1289:1: (lv_bases_22_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1289:1: (lv_bases_22_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1290:3: lv_bases_22_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBasesBaseFeatureTypeParserRuleCall_3_4_1_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2843);
lv_bases_22_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"bases",
lv_bases_22_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt26 >= 1 ) break loop26;
EarlyExitException eee =
new EarlyExitException(26, input);
throw eee;
}
cnt26++;
} while (true);
otherlv_23=(Token)match(input,41,FOLLOW_41_in_ruleFeatureType2857);
newLeafNode(otherlv_23, grammarAccess.getFeatureTypeAccess().getRightSquareBracketKeyword_3_5());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1310:1: (otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}' )?
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==27) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1310:3: otherlv_24= '=' ( (lv_choice_25_0= RULE_NAT ) ) otherlv_26= '{' ( (lv_members_27_0= ruleMemberDecl ) )* otherlv_28= '}'
{
otherlv_24=(Token)match(input,27,FOLLOW_27_in_ruleFeatureType2870);
newLeafNode(otherlv_24, grammarAccess.getFeatureTypeAccess().getEqualsSignKeyword_3_6_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1314:1: ( (lv_choice_25_0= RULE_NAT ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1315:1: (lv_choice_25_0= RULE_NAT )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1315:1: (lv_choice_25_0= RULE_NAT )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1316:3: lv_choice_25_0= RULE_NAT
{
lv_choice_25_0=(Token)match(input,RULE_NAT,FOLLOW_RULE_NAT_in_ruleFeatureType2887);
newLeafNode(lv_choice_25_0, grammarAccess.getFeatureTypeAccess().getChoiceNATTerminalRuleCall_3_6_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getFeatureTypeRule());
}
setWithLastConsumed(
current,
"choice",
lv_choice_25_0,
"NAT");
}
}
otherlv_26=(Token)match(input,23,FOLLOW_23_in_ruleFeatureType2904);
newLeafNode(otherlv_26, grammarAccess.getFeatureTypeAccess().getLeftCurlyBracketKeyword_3_6_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1336:1: ( (lv_members_27_0= ruleMemberDecl ) )*
loop27:
do {
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==RULE_ID||LA27_0==28||(LA27_0>=30 && LA27_0<=33)||(LA27_0>=35 && LA27_0<=38)||LA27_0==48) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1337:1: (lv_members_27_0= ruleMemberDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1337:1: (lv_members_27_0= ruleMemberDecl )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1338:3: lv_members_27_0= ruleMemberDecl
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getMembersMemberDeclParserRuleCall_3_6_3_0());
pushFollow(FOLLOW_ruleMemberDecl_in_ruleFeatureType2925);
lv_members_27_0=ruleMemberDecl();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"members",
lv_members_27_0,
"MemberDecl");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop27;
}
} while (true);
otherlv_28=(Token)match(input,24,FOLLOW_24_in_ruleFeatureType2938);
newLeafNode(otherlv_28, grammarAccess.getFeatureTypeAccess().getRightCurlyBracketKeyword_3_6_4());
}
break;
}
}
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1359:6: (otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1359:6: (otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1359:8: otherlv_29= 'Seq' () otherlv_31= '[' ( (lv_base_32_0= ruleBaseFeatureType ) ) otherlv_33= ']' (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )?
{
otherlv_29=(Token)match(input,46,FOLLOW_46_in_ruleFeatureType2960);
newLeafNode(otherlv_29, grammarAccess.getFeatureTypeAccess().getSeqKeyword_4_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1363:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1364:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureTypeAccess().getSeqFeatureTypeAction_4_1(),
current);
}
otherlv_31=(Token)match(input,40,FOLLOW_40_in_ruleFeatureType2981);
newLeafNode(otherlv_31, grammarAccess.getFeatureTypeAccess().getLeftSquareBracketKeyword_4_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1373:1: ( (lv_base_32_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1374:1: (lv_base_32_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1374:1: (lv_base_32_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1375:3: lv_base_32_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBaseBaseFeatureTypeParserRuleCall_4_3_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3002);
lv_base_32_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
set(
current,
"base",
lv_base_32_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
otherlv_33=(Token)match(input,41,FOLLOW_41_in_ruleFeatureType3014);
newLeafNode(otherlv_33, grammarAccess.getFeatureTypeAccess().getRightSquareBracketKeyword_4_4());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1395:1: (otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']' )?
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==27) ) {
alt31=1;
}
switch (alt31) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1395:3: otherlv_34= '=' otherlv_35= '[' ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )? otherlv_39= ']'
{
otherlv_34=(Token)match(input,27,FOLLOW_27_in_ruleFeatureType3027);
newLeafNode(otherlv_34, grammarAccess.getFeatureTypeAccess().getEqualsSignKeyword_4_5_0());
otherlv_35=(Token)match(input,40,FOLLOW_40_in_ruleFeatureType3039);
newLeafNode(otherlv_35, grammarAccess.getFeatureTypeAccess().getLeftSquareBracketKeyword_4_5_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1403:1: ( ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )* )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==RULE_ID) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1403:2: ( (lv_elements_36_0= ruleBaseFeatureType ) ) (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1403:2: ( (lv_elements_36_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1404:1: (lv_elements_36_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1404:1: (lv_elements_36_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1405:3: lv_elements_36_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getElementsBaseFeatureTypeParserRuleCall_4_5_2_0_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3061);
lv_elements_36_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"elements",
lv_elements_36_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1421:2: (otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) ) )*
loop29:
do {
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==45) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1421:4: otherlv_37= ',' ( (lv_elements_38_0= ruleBaseFeatureType ) )
{
otherlv_37=(Token)match(input,45,FOLLOW_45_in_ruleFeatureType3074);
newLeafNode(otherlv_37, grammarAccess.getFeatureTypeAccess().getCommaKeyword_4_5_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1425:1: ( (lv_elements_38_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1426:1: (lv_elements_38_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1426:1: (lv_elements_38_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1427:3: lv_elements_38_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getElementsBaseFeatureTypeParserRuleCall_4_5_2_1_1_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3095);
lv_elements_38_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"elements",
lv_elements_38_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop29;
}
} while (true);
}
break;
}
otherlv_39=(Token)match(input,41,FOLLOW_41_in_ruleFeatureType3111);
newLeafNode(otherlv_39, grammarAccess.getFeatureTypeAccess().getRightSquareBracketKeyword_4_5_3());
}
break;
}
}
}
break;
case 6 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1448:6: (otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1448:6: (otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1448:8: otherlv_40= 'Set' () otherlv_42= '[' ( (lv_base_43_0= ruleBaseFeatureType ) ) otherlv_44= ']' (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )?
{
otherlv_40=(Token)match(input,47,FOLLOW_47_in_ruleFeatureType3133);
newLeafNode(otherlv_40, grammarAccess.getFeatureTypeAccess().getSetKeyword_5_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1452:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1453:5:
{
current = forceCreateModelElement(
grammarAccess.getFeatureTypeAccess().getSetFeatureTypeAction_5_1(),
current);
}
otherlv_42=(Token)match(input,40,FOLLOW_40_in_ruleFeatureType3154);
newLeafNode(otherlv_42, grammarAccess.getFeatureTypeAccess().getLeftSquareBracketKeyword_5_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1462:1: ( (lv_base_43_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1463:1: (lv_base_43_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1463:1: (lv_base_43_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1464:3: lv_base_43_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getBaseBaseFeatureTypeParserRuleCall_5_3_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3175);
lv_base_43_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
set(
current,
"base",
lv_base_43_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
otherlv_44=(Token)match(input,41,FOLLOW_41_in_ruleFeatureType3187);
newLeafNode(otherlv_44, grammarAccess.getFeatureTypeAccess().getRightSquareBracketKeyword_5_4());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1484:1: (otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}' )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==27) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1484:3: otherlv_45= '=' otherlv_46= '{' ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )? otherlv_50= '}'
{
otherlv_45=(Token)match(input,27,FOLLOW_27_in_ruleFeatureType3200);
newLeafNode(otherlv_45, grammarAccess.getFeatureTypeAccess().getEqualsSignKeyword_5_5_0());
otherlv_46=(Token)match(input,23,FOLLOW_23_in_ruleFeatureType3212);
newLeafNode(otherlv_46, grammarAccess.getFeatureTypeAccess().getLeftCurlyBracketKeyword_5_5_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1492:1: ( ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )* )?
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==RULE_ID) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1492:2: ( (lv_elements_47_0= ruleBaseFeatureType ) ) (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1492:2: ( (lv_elements_47_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1493:1: (lv_elements_47_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1493:1: (lv_elements_47_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1494:3: lv_elements_47_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getElementsBaseFeatureTypeParserRuleCall_5_5_2_0_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3234);
lv_elements_47_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"elements",
lv_elements_47_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1510:2: (otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) ) )*
loop32:
do {
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==45) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1510:4: otherlv_48= ',' ( (lv_elements_49_0= ruleBaseFeatureType ) )
{
otherlv_48=(Token)match(input,45,FOLLOW_45_in_ruleFeatureType3247);
newLeafNode(otherlv_48, grammarAccess.getFeatureTypeAccess().getCommaKeyword_5_5_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1514:1: ( (lv_elements_49_0= ruleBaseFeatureType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1515:1: (lv_elements_49_0= ruleBaseFeatureType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1515:1: (lv_elements_49_0= ruleBaseFeatureType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1516:3: lv_elements_49_0= ruleBaseFeatureType
{
newCompositeNode(grammarAccess.getFeatureTypeAccess().getElementsBaseFeatureTypeParserRuleCall_5_5_2_1_1_0());
pushFollow(FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3268);
lv_elements_49_0=ruleBaseFeatureType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getFeatureTypeRule());
}
add(
current,
"elements",
lv_elements_49_0,
"BaseFeatureType");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop32;
}
} while (true);
}
break;
}
otherlv_50=(Token)match(input,24,FOLLOW_24_in_ruleFeatureType3284);
newLeafNode(otherlv_50, grammarAccess.getFeatureTypeAccess().getRightCurlyBracketKeyword_5_5_3());
}
break;
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleFeatureType"
// $ANTLR start "entryRuleBaseFeatureType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1544:1: entryRuleBaseFeatureType returns [EObject current=null] : iv_ruleBaseFeatureType= ruleBaseFeatureType EOF ;
public final EObject entryRuleBaseFeatureType() throws RecognitionException {
EObject current = null;
EObject iv_ruleBaseFeatureType = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1545:2: (iv_ruleBaseFeatureType= ruleBaseFeatureType EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1546:2: iv_ruleBaseFeatureType= ruleBaseFeatureType EOF
{
newCompositeNode(grammarAccess.getBaseFeatureTypeRule());
pushFollow(FOLLOW_ruleBaseFeatureType_in_entryRuleBaseFeatureType3323);
iv_ruleBaseFeatureType=ruleBaseFeatureType();
state._fsp--;
current =iv_ruleBaseFeatureType;
match(input,EOF,FOLLOW_EOF_in_entryRuleBaseFeatureType3333);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBaseFeatureType"
// $ANTLR start "ruleBaseFeatureType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1553:1: ruleBaseFeatureType returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= 'with' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}' )? ) ;
public final EObject ruleBaseFeatureType() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
EObject lv_members_5_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1556:28: ( ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= 'with' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}' )? ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1557:1: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= 'with' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}' )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1557:1: ( ( (otherlv_0= RULE_ID ) ) (otherlv_1= 'with' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}' )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1557:2: ( (otherlv_0= RULE_ID ) ) (otherlv_1= 'with' ( (otherlv_2= RULE_ID ) ) )* (otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}' )?
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1557:2: ( (otherlv_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1558:1: (otherlv_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1558:1: (otherlv_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1559:3: otherlv_0= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getBaseFeatureTypeRule());
}
otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleBaseFeatureType3378);
newLeafNode(otherlv_0, grammarAccess.getBaseFeatureTypeAccess().getComponentsFeatureDeclCrossReference_0_0());
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1570:2: (otherlv_1= 'with' ( (otherlv_2= RULE_ID ) ) )*
loop36:
do {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==15) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1570:4: otherlv_1= 'with' ( (otherlv_2= RULE_ID ) )
{
otherlv_1=(Token)match(input,15,FOLLOW_15_in_ruleBaseFeatureType3391);
newLeafNode(otherlv_1, grammarAccess.getBaseFeatureTypeAccess().getWithKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1574:1: ( (otherlv_2= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1575:1: (otherlv_2= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1575:1: (otherlv_2= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1576:3: otherlv_2= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getBaseFeatureTypeRule());
}
otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleBaseFeatureType3411);
newLeafNode(otherlv_2, grammarAccess.getBaseFeatureTypeAccess().getComponentsFeatureDeclCrossReference_1_1_0());
}
}
}
break;
default :
break loop36;
}
} while (true);
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1587:4: (otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}' )?
int alt38=2;
int LA38_0 = input.LA(1);
if ( (LA38_0==27) ) {
alt38=1;
}
switch (alt38) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1587:6: otherlv_3= '=' otherlv_4= '{' ( (lv_members_5_0= ruleMemberDecl ) )* otherlv_6= '}'
{
otherlv_3=(Token)match(input,27,FOLLOW_27_in_ruleBaseFeatureType3426);
newLeafNode(otherlv_3, grammarAccess.getBaseFeatureTypeAccess().getEqualsSignKeyword_2_0());
otherlv_4=(Token)match(input,23,FOLLOW_23_in_ruleBaseFeatureType3438);
newLeafNode(otherlv_4, grammarAccess.getBaseFeatureTypeAccess().getLeftCurlyBracketKeyword_2_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1595:1: ( (lv_members_5_0= ruleMemberDecl ) )*
loop37:
do {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==RULE_ID||LA37_0==28||(LA37_0>=30 && LA37_0<=33)||(LA37_0>=35 && LA37_0<=38)||LA37_0==48) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1596:1: (lv_members_5_0= ruleMemberDecl )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1596:1: (lv_members_5_0= ruleMemberDecl )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1597:3: lv_members_5_0= ruleMemberDecl
{
newCompositeNode(grammarAccess.getBaseFeatureTypeAccess().getMembersMemberDeclParserRuleCall_2_2_0());
pushFollow(FOLLOW_ruleMemberDecl_in_ruleBaseFeatureType3459);
lv_members_5_0=ruleMemberDecl();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBaseFeatureTypeRule());
}
add(
current,
"members",
lv_members_5_0,
"MemberDecl");
afterParserOrEnumRuleCall();
}
}
break;
default :
break loop37;
}
} while (true);
otherlv_6=(Token)match(input,24,FOLLOW_24_in_ruleBaseFeatureType3472);
newLeafNode(otherlv_6, grammarAccess.getBaseFeatureTypeAccess().getRightCurlyBracketKeyword_2_3());
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBaseFeatureType"
// $ANTLR start "entryRuleInvariantDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1625:1: entryRuleInvariantDecl returns [EObject current=null] : iv_ruleInvariantDecl= ruleInvariantDecl EOF ;
public final EObject entryRuleInvariantDecl() throws RecognitionException {
EObject current = null;
EObject iv_ruleInvariantDecl = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1626:2: (iv_ruleInvariantDecl= ruleInvariantDecl EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1627:2: iv_ruleInvariantDecl= ruleInvariantDecl EOF
{
newCompositeNode(grammarAccess.getInvariantDeclRule());
pushFollow(FOLLOW_ruleInvariantDecl_in_entryRuleInvariantDecl3510);
iv_ruleInvariantDecl=ruleInvariantDecl();
state._fsp--;
current =iv_ruleInvariantDecl;
match(input,EOF,FOLLOW_EOF_in_entryRuleInvariantDecl3520);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInvariantDecl"
// $ANTLR start "ruleInvariantDecl"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1634:1: ruleInvariantDecl returns [EObject current=null] : (this_MultiplicityInvariant_0= ruleMultiplicityInvariant | this_GeneralInvariant_1= ruleGeneralInvariant ) ;
public final EObject ruleInvariantDecl() throws RecognitionException {
EObject current = null;
EObject this_MultiplicityInvariant_0 = null;
EObject this_GeneralInvariant_1 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1637:28: ( (this_MultiplicityInvariant_0= ruleMultiplicityInvariant | this_GeneralInvariant_1= ruleGeneralInvariant ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1638:1: (this_MultiplicityInvariant_0= ruleMultiplicityInvariant | this_GeneralInvariant_1= ruleGeneralInvariant )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1638:1: (this_MultiplicityInvariant_0= ruleMultiplicityInvariant | this_GeneralInvariant_1= ruleGeneralInvariant )
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==48) ) {
switch ( input.LA(2) ) {
case RULE_ID:
{
int LA39_2 = input.LA(3);
if ( (LA39_2==26) ) {
int LA39_5 = input.LA(4);
if ( (LA39_5==RULE_ID||LA39_5==53) ) {
alt39=2;
}
else if ( (LA39_5==RULE_NAT||LA39_5==51) ) {
alt39=1;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 39, 5, input);
throw nvae;
}
}
else if ( (LA39_2==EOF||LA39_2==RULE_ID||LA39_2==RULE_LIT||LA39_2==24||LA39_2==28||(LA39_2>=30 && LA39_2<=33)||(LA39_2>=35 && LA39_2<=38)||LA39_2==48||LA39_2==50) ) {
alt39=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 39, 2, input);
throw nvae;
}
}
break;
case 53:
{
alt39=2;
}
break;
case RULE_NAT:
case 51:
{
alt39=1;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 39, 1, input);
throw nvae;
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 39, 0, input);
throw nvae;
}
switch (alt39) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1639:5: this_MultiplicityInvariant_0= ruleMultiplicityInvariant
{
newCompositeNode(grammarAccess.getInvariantDeclAccess().getMultiplicityInvariantParserRuleCall_0());
pushFollow(FOLLOW_ruleMultiplicityInvariant_in_ruleInvariantDecl3567);
this_MultiplicityInvariant_0=ruleMultiplicityInvariant();
state._fsp--;
current = this_MultiplicityInvariant_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1649:5: this_GeneralInvariant_1= ruleGeneralInvariant
{
newCompositeNode(grammarAccess.getInvariantDeclAccess().getGeneralInvariantParserRuleCall_1());
pushFollow(FOLLOW_ruleGeneralInvariant_in_ruleInvariantDecl3594);
this_GeneralInvariant_1=ruleGeneralInvariant();
state._fsp--;
current = this_GeneralInvariant_1;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInvariantDecl"
// $ANTLR start "entryRuleMultiplicityInvariant"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1665:1: entryRuleMultiplicityInvariant returns [EObject current=null] : iv_ruleMultiplicityInvariant= ruleMultiplicityInvariant EOF ;
public final EObject entryRuleMultiplicityInvariant() throws RecognitionException {
EObject current = null;
EObject iv_ruleMultiplicityInvariant = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1666:2: (iv_ruleMultiplicityInvariant= ruleMultiplicityInvariant EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1667:2: iv_ruleMultiplicityInvariant= ruleMultiplicityInvariant EOF
{
newCompositeNode(grammarAccess.getMultiplicityInvariantRule());
pushFollow(FOLLOW_ruleMultiplicityInvariant_in_entryRuleMultiplicityInvariant3629);
iv_ruleMultiplicityInvariant=ruleMultiplicityInvariant();
state._fsp--;
current =iv_ruleMultiplicityInvariant;
match(input,EOF,FOLLOW_EOF_in_entryRuleMultiplicityInvariant3639);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMultiplicityInvariant"
// $ANTLR start "ruleMultiplicityInvariant"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1674:1: ruleMultiplicityInvariant returns [EObject current=null] : (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) ) ) ( (lv_match_6_0= ruleSubMemberMatch ) ) (otherlv_7= ':' ( (otherlv_8= RULE_ID ) ) )? ) ;
public final EObject ruleMultiplicityInvariant() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_invName_1_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_7=null;
Token otherlv_8=null;
EObject lv_lo_3_0 = null;
EObject lv_hi_5_0 = null;
EObject lv_match_6_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1677:28: ( (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) ) ) ( (lv_match_6_0= ruleSubMemberMatch ) ) (otherlv_7= ':' ( (otherlv_8= RULE_ID ) ) )? ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1678:1: (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) ) ) ( (lv_match_6_0= ruleSubMemberMatch ) ) (otherlv_7= ':' ( (otherlv_8= RULE_ID ) ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1678:1: (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) ) ) ( (lv_match_6_0= ruleSubMemberMatch ) ) (otherlv_7= ':' ( (otherlv_8= RULE_ID ) ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1678:3: otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) ) ) ( (lv_match_6_0= ruleSubMemberMatch ) ) (otherlv_7= ':' ( (otherlv_8= RULE_ID ) ) )?
{
otherlv_0=(Token)match(input,48,FOLLOW_48_in_ruleMultiplicityInvariant3676);
newLeafNode(otherlv_0, grammarAccess.getMultiplicityInvariantAccess().getInvKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1682:1: ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==RULE_ID) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1682:2: ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':'
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1682:2: ( (lv_invName_1_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1683:1: (lv_invName_1_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1683:1: (lv_invName_1_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1684:3: lv_invName_1_0= RULE_ID
{
lv_invName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMultiplicityInvariant3694);
newLeafNode(lv_invName_1_0, grammarAccess.getMultiplicityInvariantAccess().getInvNameIDTerminalRuleCall_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityInvariantRule());
}
setWithLastConsumed(
current,
"invName",
lv_invName_1_0,
"ID");
}
}
otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleMultiplicityInvariant3711);
newLeafNode(otherlv_2, grammarAccess.getMultiplicityInvariantAccess().getColonKeyword_1_1());
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1704:3: ( ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1704:4: ( (lv_lo_3_0= ruleConstraintNat ) ) otherlv_4= '..' ( (lv_hi_5_0= ruleConstraintNat ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1704:4: ( (lv_lo_3_0= ruleConstraintNat ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1705:1: (lv_lo_3_0= ruleConstraintNat )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1705:1: (lv_lo_3_0= ruleConstraintNat )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1706:3: lv_lo_3_0= ruleConstraintNat
{
newCompositeNode(grammarAccess.getMultiplicityInvariantAccess().getLoConstraintNatParserRuleCall_2_0_0());
pushFollow(FOLLOW_ruleConstraintNat_in_ruleMultiplicityInvariant3735);
lv_lo_3_0=ruleConstraintNat();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultiplicityInvariantRule());
}
set(
current,
"lo",
lv_lo_3_0,
"ConstraintNat");
afterParserOrEnumRuleCall();
}
}
otherlv_4=(Token)match(input,49,FOLLOW_49_in_ruleMultiplicityInvariant3747);
newLeafNode(otherlv_4, grammarAccess.getMultiplicityInvariantAccess().getFullStopFullStopKeyword_2_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1726:1: ( (lv_hi_5_0= ruleConstraintNat ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1727:1: (lv_hi_5_0= ruleConstraintNat )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1727:1: (lv_hi_5_0= ruleConstraintNat )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1728:3: lv_hi_5_0= ruleConstraintNat
{
newCompositeNode(grammarAccess.getMultiplicityInvariantAccess().getHiConstraintNatParserRuleCall_2_2_0());
pushFollow(FOLLOW_ruleConstraintNat_in_ruleMultiplicityInvariant3768);
lv_hi_5_0=ruleConstraintNat();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultiplicityInvariantRule());
}
set(
current,
"hi",
lv_hi_5_0,
"ConstraintNat");
afterParserOrEnumRuleCall();
}
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1744:3: ( (lv_match_6_0= ruleSubMemberMatch ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1745:1: (lv_match_6_0= ruleSubMemberMatch )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1745:1: (lv_match_6_0= ruleSubMemberMatch )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1746:3: lv_match_6_0= ruleSubMemberMatch
{
newCompositeNode(grammarAccess.getMultiplicityInvariantAccess().getMatchSubMemberMatchParserRuleCall_3_0());
pushFollow(FOLLOW_ruleSubMemberMatch_in_ruleMultiplicityInvariant3790);
lv_match_6_0=ruleSubMemberMatch();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMultiplicityInvariantRule());
}
set(
current,
"match",
lv_match_6_0,
"SubMemberMatch");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1762:2: (otherlv_7= ':' ( (otherlv_8= RULE_ID ) ) )?
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==26) ) {
alt41=1;
}
switch (alt41) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1762:4: otherlv_7= ':' ( (otherlv_8= RULE_ID ) )
{
otherlv_7=(Token)match(input,26,FOLLOW_26_in_ruleMultiplicityInvariant3803);
newLeafNode(otherlv_7, grammarAccess.getMultiplicityInvariantAccess().getColonKeyword_4_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1766:1: ( (otherlv_8= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1767:1: (otherlv_8= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1767:1: (otherlv_8= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1768:3: otherlv_8= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getMultiplicityInvariantRule());
}
otherlv_8=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleMultiplicityInvariant3823);
newLeafNode(otherlv_8, grammarAccess.getMultiplicityInvariantAccess().getTypeFeatureDeclCrossReference_4_1_0());
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMultiplicityInvariant"
// $ANTLR start "entryRuleGeneralInvariant"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1787:1: entryRuleGeneralInvariant returns [EObject current=null] : iv_ruleGeneralInvariant= ruleGeneralInvariant EOF ;
public final EObject entryRuleGeneralInvariant() throws RecognitionException {
EObject current = null;
EObject iv_ruleGeneralInvariant = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1788:2: (iv_ruleGeneralInvariant= ruleGeneralInvariant EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1789:2: iv_ruleGeneralInvariant= ruleGeneralInvariant EOF
{
newCompositeNode(grammarAccess.getGeneralInvariantRule());
pushFollow(FOLLOW_ruleGeneralInvariant_in_entryRuleGeneralInvariant3861);
iv_ruleGeneralInvariant=ruleGeneralInvariant();
state._fsp--;
current =iv_ruleGeneralInvariant;
match(input,EOF,FOLLOW_EOF_in_entryRuleGeneralInvariant3871);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGeneralInvariant"
// $ANTLR start "ruleGeneralInvariant"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1796:1: ruleGeneralInvariant returns [EObject current=null] : (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( (lv_exp_3_0= ruleExp ) ) ) ;
public final EObject ruleGeneralInvariant() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_invName_1_0=null;
Token otherlv_2=null;
EObject lv_exp_3_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1799:28: ( (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( (lv_exp_3_0= ruleExp ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1800:1: (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( (lv_exp_3_0= ruleExp ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1800:1: (otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( (lv_exp_3_0= ruleExp ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1800:3: otherlv_0= 'inv' ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )? ( (lv_exp_3_0= ruleExp ) )
{
otherlv_0=(Token)match(input,48,FOLLOW_48_in_ruleGeneralInvariant3908);
newLeafNode(otherlv_0, grammarAccess.getGeneralInvariantAccess().getInvKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1804:1: ( ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':' )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==RULE_ID) ) {
int LA42_1 = input.LA(2);
if ( (LA42_1==26) ) {
alt42=1;
}
}
switch (alt42) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1804:2: ( (lv_invName_1_0= RULE_ID ) ) otherlv_2= ':'
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1804:2: ( (lv_invName_1_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1805:1: (lv_invName_1_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1805:1: (lv_invName_1_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1806:3: lv_invName_1_0= RULE_ID
{
lv_invName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleGeneralInvariant3926);
newLeafNode(lv_invName_1_0, grammarAccess.getGeneralInvariantAccess().getInvNameIDTerminalRuleCall_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getGeneralInvariantRule());
}
setWithLastConsumed(
current,
"invName",
lv_invName_1_0,
"ID");
}
}
otherlv_2=(Token)match(input,26,FOLLOW_26_in_ruleGeneralInvariant3943);
newLeafNode(otherlv_2, grammarAccess.getGeneralInvariantAccess().getColonKeyword_1_1());
}
break;
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1826:3: ( (lv_exp_3_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1827:1: (lv_exp_3_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1827:1: (lv_exp_3_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1828:3: lv_exp_3_0= ruleExp
{
newCompositeNode(grammarAccess.getGeneralInvariantAccess().getExpExpParserRuleCall_2_0());
pushFollow(FOLLOW_ruleExp_in_ruleGeneralInvariant3966);
lv_exp_3_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getGeneralInvariantRule());
}
set(
current,
"exp",
lv_exp_3_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGeneralInvariant"
// $ANTLR start "entryRuleSubMemberMatch"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1852:1: entryRuleSubMemberMatch returns [EObject current=null] : iv_ruleSubMemberMatch= ruleSubMemberMatch EOF ;
public final EObject entryRuleSubMemberMatch() throws RecognitionException {
EObject current = null;
EObject iv_ruleSubMemberMatch = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1853:2: (iv_ruleSubMemberMatch= ruleSubMemberMatch EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1854:2: iv_ruleSubMemberMatch= ruleSubMemberMatch EOF
{
newCompositeNode(grammarAccess.getSubMemberMatchRule());
pushFollow(FOLLOW_ruleSubMemberMatch_in_entryRuleSubMemberMatch4002);
iv_ruleSubMemberMatch=ruleSubMemberMatch();
state._fsp--;
current =iv_ruleSubMemberMatch;
match(input,EOF,FOLLOW_EOF_in_entryRuleSubMemberMatch4012);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSubMemberMatch"
// $ANTLR start "ruleSubMemberMatch"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1861:1: ruleSubMemberMatch returns [EObject current=null] : ( ( ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.' )* ( ( (lv_name_2_0= RULE_ID ) ) | ( (lv_any_3_0= '*' ) ) ) ) ;
public final EObject ruleSubMemberMatch() throws RecognitionException {
EObject current = null;
Token lv_qNames_0_0=null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token lv_any_3_0=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1864:28: ( ( ( ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.' )* ( ( (lv_name_2_0= RULE_ID ) ) | ( (lv_any_3_0= '*' ) ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1865:1: ( ( ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.' )* ( ( (lv_name_2_0= RULE_ID ) ) | ( (lv_any_3_0= '*' ) ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1865:1: ( ( ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.' )* ( ( (lv_name_2_0= RULE_ID ) ) | ( (lv_any_3_0= '*' ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1865:2: ( ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.' )* ( ( (lv_name_2_0= RULE_ID ) ) | ( (lv_any_3_0= '*' ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1865:2: ( ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.' )*
loop43:
do {
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==RULE_ID) ) {
int LA43_1 = input.LA(2);
if ( (LA43_1==50) ) {
alt43=1;
}
}
switch (alt43) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1865:3: ( (lv_qNames_0_0= RULE_ID ) ) otherlv_1= '.'
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1865:3: ( (lv_qNames_0_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1866:1: (lv_qNames_0_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1866:1: (lv_qNames_0_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1867:3: lv_qNames_0_0= RULE_ID
{
lv_qNames_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSubMemberMatch4055);
newLeafNode(lv_qNames_0_0, grammarAccess.getSubMemberMatchAccess().getQNamesIDTerminalRuleCall_0_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getSubMemberMatchRule());
}
addWithLastConsumed(
current,
"qNames",
lv_qNames_0_0,
"ID");
}
}
otherlv_1=(Token)match(input,50,FOLLOW_50_in_ruleSubMemberMatch4072);
newLeafNode(otherlv_1, grammarAccess.getSubMemberMatchAccess().getFullStopKeyword_0_1());
}
break;
default :
break loop43;
}
} while (true);
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1887:3: ( ( (lv_name_2_0= RULE_ID ) ) | ( (lv_any_3_0= '*' ) ) )
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==RULE_ID) ) {
alt44=1;
}
else if ( (LA44_0==51) ) {
alt44=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 44, 0, input);
throw nvae;
}
switch (alt44) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1887:4: ( (lv_name_2_0= RULE_ID ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1887:4: ( (lv_name_2_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1888:1: (lv_name_2_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1888:1: (lv_name_2_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1889:3: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSubMemberMatch4092);
newLeafNode(lv_name_2_0, grammarAccess.getSubMemberMatchAccess().getNameIDTerminalRuleCall_1_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getSubMemberMatchRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"ID");
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1906:6: ( (lv_any_3_0= '*' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1906:6: ( (lv_any_3_0= '*' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1907:1: (lv_any_3_0= '*' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1907:1: (lv_any_3_0= '*' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1908:3: lv_any_3_0= '*'
{
lv_any_3_0=(Token)match(input,51,FOLLOW_51_in_ruleSubMemberMatch4121);
newLeafNode(lv_any_3_0, grammarAccess.getSubMemberMatchAccess().getAnyAsteriskKeyword_1_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getSubMemberMatchRule());
}
setWithLastConsumed(current, "any", lv_any_3_0, "*");
}
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSubMemberMatch"
// $ANTLR start "entryRuleConstraintNat"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1929:1: entryRuleConstraintNat returns [EObject current=null] : iv_ruleConstraintNat= ruleConstraintNat EOF ;
public final EObject entryRuleConstraintNat() throws RecognitionException {
EObject current = null;
EObject iv_ruleConstraintNat = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1930:2: (iv_ruleConstraintNat= ruleConstraintNat EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1931:2: iv_ruleConstraintNat= ruleConstraintNat EOF
{
newCompositeNode(grammarAccess.getConstraintNatRule());
pushFollow(FOLLOW_ruleConstraintNat_in_entryRuleConstraintNat4171);
iv_ruleConstraintNat=ruleConstraintNat();
state._fsp--;
current =iv_ruleConstraintNat;
match(input,EOF,FOLLOW_EOF_in_entryRuleConstraintNat4181);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleConstraintNat"
// $ANTLR start "ruleConstraintNat"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1938:1: ruleConstraintNat returns [EObject current=null] : ( ( () ( (lv_num_1_0= RULE_NAT ) ) ) | ( () otherlv_3= '*' ) ) ;
public final EObject ruleConstraintNat() throws RecognitionException {
EObject current = null;
Token lv_num_1_0=null;
Token otherlv_3=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1941:28: ( ( ( () ( (lv_num_1_0= RULE_NAT ) ) ) | ( () otherlv_3= '*' ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1942:1: ( ( () ( (lv_num_1_0= RULE_NAT ) ) ) | ( () otherlv_3= '*' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1942:1: ( ( () ( (lv_num_1_0= RULE_NAT ) ) ) | ( () otherlv_3= '*' ) )
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==RULE_NAT) ) {
alt45=1;
}
else if ( (LA45_0==51) ) {
alt45=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 45, 0, input);
throw nvae;
}
switch (alt45) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1942:2: ( () ( (lv_num_1_0= RULE_NAT ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1942:2: ( () ( (lv_num_1_0= RULE_NAT ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1942:3: () ( (lv_num_1_0= RULE_NAT ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1942:3: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1943:5:
{
current = forceCreateModelElement(
grammarAccess.getConstraintNatAccess().getNumNatConstraintAction_0_0(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1948:2: ( (lv_num_1_0= RULE_NAT ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1949:1: (lv_num_1_0= RULE_NAT )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1949:1: (lv_num_1_0= RULE_NAT )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1950:3: lv_num_1_0= RULE_NAT
{
lv_num_1_0=(Token)match(input,RULE_NAT,FOLLOW_RULE_NAT_in_ruleConstraintNat4233);
newLeafNode(lv_num_1_0, grammarAccess.getConstraintNatAccess().getNumNATTerminalRuleCall_0_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getConstraintNatRule());
}
setWithLastConsumed(
current,
"num",
lv_num_1_0,
"NAT");
}
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1967:6: ( () otherlv_3= '*' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1967:6: ( () otherlv_3= '*' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1967:7: () otherlv_3= '*'
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1967:7: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1968:5:
{
current = forceCreateModelElement(
grammarAccess.getConstraintNatAccess().getAnyNatConstraintAction_1_0(),
current);
}
otherlv_3=(Token)match(input,51,FOLLOW_51_in_ruleConstraintNat4267);
newLeafNode(otherlv_3, grammarAccess.getConstraintNatAccess().getAsteriskKeyword_1_1());
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleConstraintNat"
// $ANTLR start "entryRuleDevice"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1985:1: entryRuleDevice returns [EObject current=null] : iv_ruleDevice= ruleDevice EOF ;
public final EObject entryRuleDevice() throws RecognitionException {
EObject current = null;
EObject iv_ruleDevice = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1986:2: (iv_ruleDevice= ruleDevice EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1987:2: iv_ruleDevice= ruleDevice EOF
{
newCompositeNode(grammarAccess.getDeviceRule());
pushFollow(FOLLOW_ruleDevice_in_entryRuleDevice4304);
iv_ruleDevice=ruleDevice();
state._fsp--;
current =iv_ruleDevice;
match(input,EOF,FOLLOW_EOF_in_entryRuleDevice4314);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDevice"
// $ANTLR start "ruleDevice"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1994:1: ruleDevice returns [EObject current=null] : ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'with' ( (otherlv_4= RULE_ID ) ) )* ( (lv_constraint_5_0= ruleConstraintExp ) )? ) ;
public final EObject ruleDevice() throws RecognitionException {
EObject current = null;
Token lv_name_0_0=null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_3=null;
Token otherlv_4=null;
EObject lv_constraint_5_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1997:28: ( ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'with' ( (otherlv_4= RULE_ID ) ) )* ( (lv_constraint_5_0= ruleConstraintExp ) )? ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1998:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'with' ( (otherlv_4= RULE_ID ) ) )* ( (lv_constraint_5_0= ruleConstraintExp ) )? )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1998:1: ( ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'with' ( (otherlv_4= RULE_ID ) ) )* ( (lv_constraint_5_0= ruleConstraintExp ) )? )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1998:2: ( (lv_name_0_0= RULE_ID ) ) otherlv_1= ':' ( (otherlv_2= RULE_ID ) ) (otherlv_3= 'with' ( (otherlv_4= RULE_ID ) ) )* ( (lv_constraint_5_0= ruleConstraintExp ) )?
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1998:2: ( (lv_name_0_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1999:1: (lv_name_0_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:1999:1: (lv_name_0_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2000:3: lv_name_0_0= RULE_ID
{
lv_name_0_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDevice4356);
newLeafNode(lv_name_0_0, grammarAccess.getDeviceAccess().getNameIDTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getDeviceRule());
}
setWithLastConsumed(
current,
"name",
lv_name_0_0,
"ID");
}
}
otherlv_1=(Token)match(input,26,FOLLOW_26_in_ruleDevice4373);
newLeafNode(otherlv_1, grammarAccess.getDeviceAccess().getColonKeyword_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2020:1: ( (otherlv_2= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2021:1: (otherlv_2= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2021:1: (otherlv_2= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2022:3: otherlv_2= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getDeviceRule());
}
otherlv_2=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDevice4393);
newLeafNode(otherlv_2, grammarAccess.getDeviceAccess().getComponentsFeatureDeclCrossReference_2_0());
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2033:2: (otherlv_3= 'with' ( (otherlv_4= RULE_ID ) ) )*
loop46:
do {
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==15) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2033:4: otherlv_3= 'with' ( (otherlv_4= RULE_ID ) )
{
otherlv_3=(Token)match(input,15,FOLLOW_15_in_ruleDevice4406);
newLeafNode(otherlv_3, grammarAccess.getDeviceAccess().getWithKeyword_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2037:1: ( (otherlv_4= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2038:1: (otherlv_4= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2038:1: (otherlv_4= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2039:3: otherlv_4= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getDeviceRule());
}
otherlv_4=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleDevice4426);
newLeafNode(otherlv_4, grammarAccess.getDeviceAccess().getComponentsFeatureDeclCrossReference_3_1_0());
}
}
}
break;
default :
break loop46;
}
} while (true);
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2050:4: ( (lv_constraint_5_0= ruleConstraintExp ) )?
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==52) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2051:1: (lv_constraint_5_0= ruleConstraintExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2051:1: (lv_constraint_5_0= ruleConstraintExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2052:3: lv_constraint_5_0= ruleConstraintExp
{
newCompositeNode(grammarAccess.getDeviceAccess().getConstraintConstraintExpParserRuleCall_4_0());
pushFollow(FOLLOW_ruleConstraintExp_in_ruleDevice4449);
lv_constraint_5_0=ruleConstraintExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getDeviceRule());
}
set(
current,
"constraint",
lv_constraint_5_0,
"ConstraintExp");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDevice"
// $ANTLR start "entryRuleConstraintExp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2076:1: entryRuleConstraintExp returns [EObject current=null] : iv_ruleConstraintExp= ruleConstraintExp EOF ;
public final EObject entryRuleConstraintExp() throws RecognitionException {
EObject current = null;
EObject iv_ruleConstraintExp = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2077:2: (iv_ruleConstraintExp= ruleConstraintExp EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2078:2: iv_ruleConstraintExp= ruleConstraintExp EOF
{
newCompositeNode(grammarAccess.getConstraintExpRule());
pushFollow(FOLLOW_ruleConstraintExp_in_entryRuleConstraintExp4486);
iv_ruleConstraintExp=ruleConstraintExp();
state._fsp--;
current =iv_ruleConstraintExp;
match(input,EOF,FOLLOW_EOF_in_entryRuleConstraintExp4496);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleConstraintExp"
// $ANTLR start "ruleConstraintExp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2085:1: ruleConstraintExp returns [EObject current=null] : (otherlv_0= 'constraint' ( (lv_cond_1_0= ruleExp ) ) ) ;
public final EObject ruleConstraintExp() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_cond_1_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2088:28: ( (otherlv_0= 'constraint' ( (lv_cond_1_0= ruleExp ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2089:1: (otherlv_0= 'constraint' ( (lv_cond_1_0= ruleExp ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2089:1: (otherlv_0= 'constraint' ( (lv_cond_1_0= ruleExp ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2089:3: otherlv_0= 'constraint' ( (lv_cond_1_0= ruleExp ) )
{
otherlv_0=(Token)match(input,52,FOLLOW_52_in_ruleConstraintExp4533);
newLeafNode(otherlv_0, grammarAccess.getConstraintExpAccess().getConstraintKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2093:1: ( (lv_cond_1_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2094:1: (lv_cond_1_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2094:1: (lv_cond_1_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2095:3: lv_cond_1_0= ruleExp
{
newCompositeNode(grammarAccess.getConstraintExpAccess().getCondExpParserRuleCall_1_0());
pushFollow(FOLLOW_ruleExp_in_ruleConstraintExp4554);
lv_cond_1_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getConstraintExpRule());
}
set(
current,
"cond",
lv_cond_1_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleConstraintExp"
// $ANTLR start "entryRuleExp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2125:1: entryRuleExp returns [EObject current=null] : iv_ruleExp= ruleExp EOF ;
public final EObject entryRuleExp() throws RecognitionException {
EObject current = null;
EObject iv_ruleExp = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2126:2: (iv_ruleExp= ruleExp EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2127:2: iv_ruleExp= ruleExp EOF
{
newCompositeNode(grammarAccess.getExpRule());
pushFollow(FOLLOW_ruleExp_in_entryRuleExp4596);
iv_ruleExp=ruleExp();
state._fsp--;
current =iv_ruleExp;
match(input,EOF,FOLLOW_EOF_in_entryRuleExp4606);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExp"
// $ANTLR start "ruleExp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2134:1: ruleExp returns [EObject current=null] : ( (otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')' ) | (otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')' ) | ( () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )* ) ) ;
public final EObject ruleExp() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token otherlv_10=null;
Token otherlv_13=null;
Token otherlv_15=null;
EObject lv_left_2_0 = null;
AntlrDatatypeRuleToken lv_op_3_0 = null;
EObject lv_right_4_0 = null;
AntlrDatatypeRuleToken lv_op_8_0 = null;
EObject lv_arg_9_0 = null;
EObject lv_primary_12_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2137:28: ( ( (otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')' ) | (otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')' ) | ( () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )* ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2138:1: ( (otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')' ) | (otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')' ) | ( () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )* ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2138:1: ( (otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')' ) | (otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')' ) | ( () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )* ) )
int alt49=3;
int LA49_0 = input.LA(1);
if ( (LA49_0==53) ) {
int LA49_1 = input.LA(2);
if ( ((LA49_1>=65 && LA49_1<=66)||(LA49_1>=69 && LA49_1<=71)) ) {
alt49=2;
}
else if ( (LA49_1==RULE_ID||LA49_1==53) ) {
alt49=1;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 49, 1, input);
throw nvae;
}
}
else if ( (LA49_0==RULE_ID) ) {
alt49=3;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 49, 0, input);
throw nvae;
}
switch (alt49) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2138:2: (otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2138:2: (otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2138:4: otherlv_0= '(' () ( (lv_left_2_0= ruleExp ) ) ( (lv_op_3_0= ruleBinaryOp ) ) ( (lv_right_4_0= ruleExp ) ) otherlv_5= ')'
{
otherlv_0=(Token)match(input,53,FOLLOW_53_in_ruleExp4644);
newLeafNode(otherlv_0, grammarAccess.getExpAccess().getLeftParenthesisKeyword_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2142:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2143:5:
{
current = forceCreateModelElement(
grammarAccess.getExpAccess().getBinaryExpAction_0_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2148:2: ( (lv_left_2_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2149:1: (lv_left_2_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2149:1: (lv_left_2_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2150:3: lv_left_2_0= ruleExp
{
newCompositeNode(grammarAccess.getExpAccess().getLeftExpParserRuleCall_0_2_0());
pushFollow(FOLLOW_ruleExp_in_ruleExp4674);
lv_left_2_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpRule());
}
set(
current,
"left",
lv_left_2_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2166:2: ( (lv_op_3_0= ruleBinaryOp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2167:1: (lv_op_3_0= ruleBinaryOp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2167:1: (lv_op_3_0= ruleBinaryOp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2168:3: lv_op_3_0= ruleBinaryOp
{
newCompositeNode(grammarAccess.getExpAccess().getOpBinaryOpParserRuleCall_0_3_0());
pushFollow(FOLLOW_ruleBinaryOp_in_ruleExp4695);
lv_op_3_0=ruleBinaryOp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpRule());
}
set(
current,
"op",
lv_op_3_0,
"BinaryOp");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2184:2: ( (lv_right_4_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2185:1: (lv_right_4_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2185:1: (lv_right_4_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2186:3: lv_right_4_0= ruleExp
{
newCompositeNode(grammarAccess.getExpAccess().getRightExpParserRuleCall_0_4_0());
pushFollow(FOLLOW_ruleExp_in_ruleExp4716);
lv_right_4_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpRule());
}
set(
current,
"right",
lv_right_4_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
otherlv_5=(Token)match(input,54,FOLLOW_54_in_ruleExp4728);
newLeafNode(otherlv_5, grammarAccess.getExpAccess().getRightParenthesisKeyword_0_5());
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2207:6: (otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2207:6: (otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2207:8: otherlv_6= '(' () ( (lv_op_8_0= ruleUnaryOp ) ) ( (lv_arg_9_0= ruleExp ) ) otherlv_10= ')'
{
otherlv_6=(Token)match(input,53,FOLLOW_53_in_ruleExp4748);
newLeafNode(otherlv_6, grammarAccess.getExpAccess().getLeftParenthesisKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2211:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2212:5:
{
current = forceCreateModelElement(
grammarAccess.getExpAccess().getUnaryExpAction_1_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2217:2: ( (lv_op_8_0= ruleUnaryOp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2218:1: (lv_op_8_0= ruleUnaryOp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2218:1: (lv_op_8_0= ruleUnaryOp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2219:3: lv_op_8_0= ruleUnaryOp
{
newCompositeNode(grammarAccess.getExpAccess().getOpUnaryOpParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleUnaryOp_in_ruleExp4778);
lv_op_8_0=ruleUnaryOp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpRule());
}
set(
current,
"op",
lv_op_8_0,
"UnaryOp");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2235:2: ( (lv_arg_9_0= ruleExp ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2236:1: (lv_arg_9_0= ruleExp )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2236:1: (lv_arg_9_0= ruleExp )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2237:3: lv_arg_9_0= ruleExp
{
newCompositeNode(grammarAccess.getExpAccess().getArgExpParserRuleCall_1_3_0());
pushFollow(FOLLOW_ruleExp_in_ruleExp4799);
lv_arg_9_0=ruleExp();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpRule());
}
set(
current,
"arg",
lv_arg_9_0,
"Exp");
afterParserOrEnumRuleCall();
}
}
otherlv_10=(Token)match(input,54,FOLLOW_54_in_ruleExp4811);
newLeafNode(otherlv_10, grammarAccess.getExpAccess().getRightParenthesisKeyword_1_4());
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2258:6: ( () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )* )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2258:6: ( () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )* )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2258:7: () ( (lv_primary_12_0= rulePrimary ) ) (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2258:7: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2259:5:
{
current = forceCreateModelElement(
grammarAccess.getExpAccess().getPrimaryExpAction_2_0(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2264:2: ( (lv_primary_12_0= rulePrimary ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2265:1: (lv_primary_12_0= rulePrimary )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2265:1: (lv_primary_12_0= rulePrimary )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2266:3: lv_primary_12_0= rulePrimary
{
newCompositeNode(grammarAccess.getExpAccess().getPrimaryPrimaryParserRuleCall_2_1_0());
pushFollow(FOLLOW_rulePrimary_in_ruleExp4849);
lv_primary_12_0=rulePrimary();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getExpRule());
}
set(
current,
"primary",
lv_primary_12_0,
"Primary");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2282:2: (otherlv_13= '.' () ( (otherlv_15= RULE_ID ) ) )*
loop48:
do {
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==50) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2282:4: otherlv_13= '.' () ( (otherlv_15= RULE_ID ) )
{
otherlv_13=(Token)match(input,50,FOLLOW_50_in_ruleExp4862);
newLeafNode(otherlv_13, grammarAccess.getExpAccess().getFullStopKeyword_2_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2286:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2287:5:
{
current = forceCreateModelElementAndSet(
grammarAccess.getExpAccess().getAccessExpBaseAction_2_2_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2292:2: ( (otherlv_15= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2293:1: (otherlv_15= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2293:1: (otherlv_15= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2294:3: otherlv_15= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getExpRule());
}
otherlv_15=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleExp4891);
newLeafNode(otherlv_15, grammarAccess.getExpAccess().getAccessorAccessorCrossReference_2_2_2_0());
}
}
}
break;
default :
break loop48;
}
} while (true);
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExp"
// $ANTLR start "entryRulePrimary"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2313:1: entryRulePrimary returns [EObject current=null] : iv_rulePrimary= rulePrimary EOF ;
public final EObject entryRulePrimary() throws RecognitionException {
EObject current = null;
EObject iv_rulePrimary = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2314:2: (iv_rulePrimary= rulePrimary EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2315:2: iv_rulePrimary= rulePrimary EOF
{
newCompositeNode(grammarAccess.getPrimaryRule());
pushFollow(FOLLOW_rulePrimary_in_entryRulePrimary4930);
iv_rulePrimary=rulePrimary();
state._fsp--;
current =iv_rulePrimary;
match(input,EOF,FOLLOW_EOF_in_entryRulePrimary4940);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePrimary"
// $ANTLR start "rulePrimary"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2322:1: rulePrimary returns [EObject current=null] : ( ( () ( (lv_id_1_0= RULE_ID ) ) ) | ( () ( (lv_lit_3_0= ruleBasicLiteral ) ) ) ) ;
public final EObject rulePrimary() throws RecognitionException {
EObject current = null;
Token lv_id_1_0=null;
EObject lv_lit_3_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2325:28: ( ( ( () ( (lv_id_1_0= RULE_ID ) ) ) | ( () ( (lv_lit_3_0= ruleBasicLiteral ) ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2326:1: ( ( () ( (lv_id_1_0= RULE_ID ) ) ) | ( () ( (lv_lit_3_0= ruleBasicLiteral ) ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2326:1: ( ( () ( (lv_id_1_0= RULE_ID ) ) ) | ( () ( (lv_lit_3_0= ruleBasicLiteral ) ) ) )
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==RULE_ID) ) {
int LA50_1 = input.LA(2);
if ( (LA50_1==RULE_LIT) ) {
alt50=2;
}
else if ( (LA50_1==EOF||LA50_1==RULE_ID||LA50_1==24||LA50_1==28||(LA50_1>=30 && LA50_1<=33)||(LA50_1>=35 && LA50_1<=38)||LA50_1==48||(LA50_1>=50 && LA50_1<=51)||(LA50_1>=53 && LA50_1<=68)) ) {
alt50=1;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 50, 1, input);
throw nvae;
}
}
else {
NoViableAltException nvae =
new NoViableAltException("", 50, 0, input);
throw nvae;
}
switch (alt50) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2326:2: ( () ( (lv_id_1_0= RULE_ID ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2326:2: ( () ( (lv_id_1_0= RULE_ID ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2326:3: () ( (lv_id_1_0= RULE_ID ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2326:3: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2327:5:
{
current = forceCreateModelElement(
grammarAccess.getPrimaryAccess().getNameExpAction_0_0(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2332:2: ( (lv_id_1_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2333:1: (lv_id_1_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2333:1: (lv_id_1_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2334:3: lv_id_1_0= RULE_ID
{
lv_id_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_rulePrimary4992);
newLeafNode(lv_id_1_0, grammarAccess.getPrimaryAccess().getIdIDTerminalRuleCall_0_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getPrimaryRule());
}
setWithLastConsumed(
current,
"id",
lv_id_1_0,
"ID");
}
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2351:6: ( () ( (lv_lit_3_0= ruleBasicLiteral ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2351:6: ( () ( (lv_lit_3_0= ruleBasicLiteral ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2351:7: () ( (lv_lit_3_0= ruleBasicLiteral ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2351:7: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2352:5:
{
current = forceCreateModelElement(
grammarAccess.getPrimaryAccess().getLiteralExpAction_1_0(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2357:2: ( (lv_lit_3_0= ruleBasicLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2358:1: (lv_lit_3_0= ruleBasicLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2358:1: (lv_lit_3_0= ruleBasicLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2359:3: lv_lit_3_0= ruleBasicLiteral
{
newCompositeNode(grammarAccess.getPrimaryAccess().getLitBasicLiteralParserRuleCall_1_1_0());
pushFollow(FOLLOW_ruleBasicLiteral_in_rulePrimary5035);
lv_lit_3_0=ruleBasicLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getPrimaryRule());
}
set(
current,
"lit",
lv_lit_3_0,
"BasicLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePrimary"
// $ANTLR start "entryRuleBinaryOp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2383:1: entryRuleBinaryOp returns [String current=null] : iv_ruleBinaryOp= ruleBinaryOp EOF ;
public final String entryRuleBinaryOp() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleBinaryOp = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2384:2: (iv_ruleBinaryOp= ruleBinaryOp EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2385:2: iv_ruleBinaryOp= ruleBinaryOp EOF
{
newCompositeNode(grammarAccess.getBinaryOpRule());
pushFollow(FOLLOW_ruleBinaryOp_in_entryRuleBinaryOp5073);
iv_ruleBinaryOp=ruleBinaryOp();
state._fsp--;
current =iv_ruleBinaryOp.getText();
match(input,EOF,FOLLOW_EOF_in_entryRuleBinaryOp5084);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBinaryOp"
// $ANTLR start "ruleBinaryOp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2392:1: ruleBinaryOp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' | kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '&&' | kw= '||' | kw= '==>' | kw= '<==' | kw= '+' | kw= '-' | kw= '*' | kw= '/' | kw= '%' ) ;
public final AntlrDatatypeRuleToken ruleBinaryOp() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2395:28: ( (kw= '==' | kw= '!=' | kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '&&' | kw= '||' | kw= '==>' | kw= '<==' | kw= '+' | kw= '-' | kw= '*' | kw= '/' | kw= '%' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2396:1: (kw= '==' | kw= '!=' | kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '&&' | kw= '||' | kw= '==>' | kw= '<==' | kw= '+' | kw= '-' | kw= '*' | kw= '/' | kw= '%' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2396:1: (kw= '==' | kw= '!=' | kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '&&' | kw= '||' | kw= '==>' | kw= '<==' | kw= '+' | kw= '-' | kw= '*' | kw= '/' | kw= '%' )
int alt51=15;
switch ( input.LA(1) ) {
case 55:
{
alt51=1;
}
break;
case 56:
{
alt51=2;
}
break;
case 57:
{
alt51=3;
}
break;
case 58:
{
alt51=4;
}
break;
case 59:
{
alt51=5;
}
break;
case 60:
{
alt51=6;
}
break;
case 61:
{
alt51=7;
}
break;
case 62:
{
alt51=8;
}
break;
case 63:
{
alt51=9;
}
break;
case 64:
{
alt51=10;
}
break;
case 65:
{
alt51=11;
}
break;
case 66:
{
alt51=12;
}
break;
case 51:
{
alt51=13;
}
break;
case 67:
{
alt51=14;
}
break;
case 68:
{
alt51=15;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 51, 0, input);
throw nvae;
}
switch (alt51) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2397:2: kw= '=='
{
kw=(Token)match(input,55,FOLLOW_55_in_ruleBinaryOp5122);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getEqualsSignEqualsSignKeyword_0());
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2404:2: kw= '!='
{
kw=(Token)match(input,56,FOLLOW_56_in_ruleBinaryOp5141);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getExclamationMarkEqualsSignKeyword_1());
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2411:2: kw= '>='
{
kw=(Token)match(input,57,FOLLOW_57_in_ruleBinaryOp5160);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getGreaterThanSignEqualsSignKeyword_2());
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2418:2: kw= '<='
{
kw=(Token)match(input,58,FOLLOW_58_in_ruleBinaryOp5179);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getLessThanSignEqualsSignKeyword_3());
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2425:2: kw= '>'
{
kw=(Token)match(input,59,FOLLOW_59_in_ruleBinaryOp5198);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getGreaterThanSignKeyword_4());
}
break;
case 6 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2432:2: kw= '<'
{
kw=(Token)match(input,60,FOLLOW_60_in_ruleBinaryOp5217);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getLessThanSignKeyword_5());
}
break;
case 7 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2439:2: kw= '&&'
{
kw=(Token)match(input,61,FOLLOW_61_in_ruleBinaryOp5236);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getAmpersandAmpersandKeyword_6());
}
break;
case 8 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2446:2: kw= '||'
{
kw=(Token)match(input,62,FOLLOW_62_in_ruleBinaryOp5255);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getVerticalLineVerticalLineKeyword_7());
}
break;
case 9 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2453:2: kw= '==>'
{
kw=(Token)match(input,63,FOLLOW_63_in_ruleBinaryOp5274);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getEqualsSignEqualsSignGreaterThanSignKeyword_8());
}
break;
case 10 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2460:2: kw= '<=='
{
kw=(Token)match(input,64,FOLLOW_64_in_ruleBinaryOp5293);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getLessThanSignEqualsSignEqualsSignKeyword_9());
}
break;
case 11 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2467:2: kw= '+'
{
kw=(Token)match(input,65,FOLLOW_65_in_ruleBinaryOp5312);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getPlusSignKeyword_10());
}
break;
case 12 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2474:2: kw= '-'
{
kw=(Token)match(input,66,FOLLOW_66_in_ruleBinaryOp5331);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getHyphenMinusKeyword_11());
}
break;
case 13 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2481:2: kw= '*'
{
kw=(Token)match(input,51,FOLLOW_51_in_ruleBinaryOp5350);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getAsteriskKeyword_12());
}
break;
case 14 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2488:2: kw= '/'
{
kw=(Token)match(input,67,FOLLOW_67_in_ruleBinaryOp5369);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getSolidusKeyword_13());
}
break;
case 15 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2495:2: kw= '%'
{
kw=(Token)match(input,68,FOLLOW_68_in_ruleBinaryOp5388);
current.merge(kw);
newLeafNode(kw, grammarAccess.getBinaryOpAccess().getPercentSignKeyword_14());
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBinaryOp"
// $ANTLR start "entryRuleUnaryOp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2508:1: entryRuleUnaryOp returns [String current=null] : iv_ruleUnaryOp= ruleUnaryOp EOF ;
public final String entryRuleUnaryOp() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleUnaryOp = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2509:2: (iv_ruleUnaryOp= ruleUnaryOp EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2510:2: iv_ruleUnaryOp= ruleUnaryOp EOF
{
newCompositeNode(grammarAccess.getUnaryOpRule());
pushFollow(FOLLOW_ruleUnaryOp_in_entryRuleUnaryOp5429);
iv_ruleUnaryOp=ruleUnaryOp();
state._fsp--;
current =iv_ruleUnaryOp.getText();
match(input,EOF,FOLLOW_EOF_in_entryRuleUnaryOp5440);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUnaryOp"
// $ANTLR start "ruleUnaryOp"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2517:1: ruleUnaryOp returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' | kw= '!' | kw= '^' | kw= '~' ) ;
public final AntlrDatatypeRuleToken ruleUnaryOp() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2520:28: ( (kw= '+' | kw= '-' | kw= '!' | kw= '^' | kw= '~' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2521:1: (kw= '+' | kw= '-' | kw= '!' | kw= '^' | kw= '~' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2521:1: (kw= '+' | kw= '-' | kw= '!' | kw= '^' | kw= '~' )
int alt52=5;
switch ( input.LA(1) ) {
case 65:
{
alt52=1;
}
break;
case 66:
{
alt52=2;
}
break;
case 69:
{
alt52=3;
}
break;
case 70:
{
alt52=4;
}
break;
case 71:
{
alt52=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 52, 0, input);
throw nvae;
}
switch (alt52) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2522:2: kw= '+'
{
kw=(Token)match(input,65,FOLLOW_65_in_ruleUnaryOp5478);
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnaryOpAccess().getPlusSignKeyword_0());
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2529:2: kw= '-'
{
kw=(Token)match(input,66,FOLLOW_66_in_ruleUnaryOp5497);
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnaryOpAccess().getHyphenMinusKeyword_1());
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2536:2: kw= '!'
{
kw=(Token)match(input,69,FOLLOW_69_in_ruleUnaryOp5516);
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnaryOpAccess().getExclamationMarkKeyword_2());
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2543:2: kw= '^'
{
kw=(Token)match(input,70,FOLLOW_70_in_ruleUnaryOp5535);
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnaryOpAccess().getCircumflexAccentKeyword_3());
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2550:2: kw= '~'
{
kw=(Token)match(input,71,FOLLOW_71_in_ruleUnaryOp5554);
current.merge(kw);
newLeafNode(kw, grammarAccess.getUnaryOpAccess().getTildeKeyword_4());
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUnaryOp"
// $ANTLR start "entryRuleType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2563:1: entryRuleType returns [EObject current=null] : iv_ruleType= ruleType EOF ;
public final EObject entryRuleType() throws RecognitionException {
EObject current = null;
EObject iv_ruleType = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2564:2: (iv_ruleType= ruleType EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2565:2: iv_ruleType= ruleType EOF
{
newCompositeNode(grammarAccess.getTypeRule());
pushFollow(FOLLOW_ruleType_in_entryRuleType5594);
iv_ruleType=ruleType();
state._fsp--;
current =iv_ruleType;
match(input,EOF,FOLLOW_EOF_in_entryRuleType5604);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleType"
// $ANTLR start "ruleType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2572:1: ruleType returns [EObject current=null] : ( (otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']' ) | this_BaseType_10= ruleBaseType ) ;
public final EObject ruleType() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_7=null;
Token otherlv_9=null;
EObject lv_base_3_0 = null;
EObject lv_base_8_0 = null;
EObject this_BaseType_10 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2575:28: ( ( (otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']' ) | this_BaseType_10= ruleBaseType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2576:1: ( (otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']' ) | this_BaseType_10= ruleBaseType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2576:1: ( (otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']' ) | this_BaseType_10= ruleBaseType )
int alt53=3;
switch ( input.LA(1) ) {
case 46:
{
alt53=1;
}
break;
case 47:
{
alt53=2;
}
break;
case RULE_ID:
case 39:
case 42:
case 43:
case 60:
{
alt53=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 53, 0, input);
throw nvae;
}
switch (alt53) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2576:2: (otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2576:2: (otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2576:4: otherlv_0= 'Seq' () otherlv_2= '[' ( (lv_base_3_0= ruleType ) ) otherlv_4= ']'
{
otherlv_0=(Token)match(input,46,FOLLOW_46_in_ruleType5642);
newLeafNode(otherlv_0, grammarAccess.getTypeAccess().getSeqKeyword_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2580:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2581:5:
{
current = forceCreateModelElement(
grammarAccess.getTypeAccess().getSeqTypeAction_0_1(),
current);
}
otherlv_2=(Token)match(input,40,FOLLOW_40_in_ruleType5663);
newLeafNode(otherlv_2, grammarAccess.getTypeAccess().getLeftSquareBracketKeyword_0_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2590:1: ( (lv_base_3_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2591:1: (lv_base_3_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2591:1: (lv_base_3_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2592:3: lv_base_3_0= ruleType
{
newCompositeNode(grammarAccess.getTypeAccess().getBaseTypeParserRuleCall_0_3_0());
pushFollow(FOLLOW_ruleType_in_ruleType5684);
lv_base_3_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"base",
lv_base_3_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_4=(Token)match(input,41,FOLLOW_41_in_ruleType5696);
newLeafNode(otherlv_4, grammarAccess.getTypeAccess().getRightSquareBracketKeyword_0_4());
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2613:6: (otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2613:6: (otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2613:8: otherlv_5= 'Set' () otherlv_7= '[' ( (lv_base_8_0= ruleType ) ) otherlv_9= ']'
{
otherlv_5=(Token)match(input,47,FOLLOW_47_in_ruleType5716);
newLeafNode(otherlv_5, grammarAccess.getTypeAccess().getSetKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2617:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2618:5:
{
current = forceCreateModelElement(
grammarAccess.getTypeAccess().getSetTypeAction_1_1(),
current);
}
otherlv_7=(Token)match(input,40,FOLLOW_40_in_ruleType5737);
newLeafNode(otherlv_7, grammarAccess.getTypeAccess().getLeftSquareBracketKeyword_1_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2627:1: ( (lv_base_8_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2628:1: (lv_base_8_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2628:1: (lv_base_8_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2629:3: lv_base_8_0= ruleType
{
newCompositeNode(grammarAccess.getTypeAccess().getBaseTypeParserRuleCall_1_3_0());
pushFollow(FOLLOW_ruleType_in_ruleType5758);
lv_base_8_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getTypeRule());
}
set(
current,
"base",
lv_base_8_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_9=(Token)match(input,41,FOLLOW_41_in_ruleType5770);
newLeafNode(otherlv_9, grammarAccess.getTypeAccess().getRightSquareBracketKeyword_1_4());
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2651:5: this_BaseType_10= ruleBaseType
{
newCompositeNode(grammarAccess.getTypeAccess().getBaseTypeParserRuleCall_2());
pushFollow(FOLLOW_ruleBaseType_in_ruleType5799);
this_BaseType_10=ruleBaseType();
state._fsp--;
current = this_BaseType_10;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleType"
// $ANTLR start "entryRuleBaseType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2667:1: entryRuleBaseType returns [EObject current=null] : iv_ruleBaseType= ruleBaseType EOF ;
public final EObject entryRuleBaseType() throws RecognitionException {
EObject current = null;
EObject iv_ruleBaseType = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2668:2: (iv_ruleBaseType= ruleBaseType EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2669:2: iv_ruleBaseType= ruleBaseType EOF
{
newCompositeNode(grammarAccess.getBaseTypeRule());
pushFollow(FOLLOW_ruleBaseType_in_entryRuleBaseType5834);
iv_ruleBaseType=ruleBaseType();
state._fsp--;
current =iv_ruleBaseType;
match(input,EOF,FOLLOW_EOF_in_entryRuleBaseType5844);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBaseType"
// $ANTLR start "ruleBaseType"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2676:1: ruleBaseType returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) | (otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>' ) | (otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']' ) | (otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']' ) | (otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']' ) ) ;
public final EObject ruleBaseType() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_12=null;
Token otherlv_14=null;
Token otherlv_16=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_21=null;
EObject lv_elemTypes_3_0 = null;
EObject lv_elemTypes_5_0 = null;
EObject lv_base_10_0 = null;
EObject lv_base_15_0 = null;
EObject lv_base_20_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2679:28: ( ( ( (otherlv_0= RULE_ID ) ) | (otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>' ) | (otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']' ) | (otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']' ) | (otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']' ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2680:1: ( ( (otherlv_0= RULE_ID ) ) | (otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>' ) | (otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']' ) | (otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']' ) | (otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']' ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2680:1: ( ( (otherlv_0= RULE_ID ) ) | (otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>' ) | (otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']' ) | (otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']' ) | (otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']' ) )
int alt55=5;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt55=1;
}
break;
case 60:
{
alt55=2;
}
break;
case 39:
{
alt55=3;
}
break;
case 43:
{
alt55=4;
}
break;
case 42:
{
alt55=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 55, 0, input);
throw nvae;
}
switch (alt55) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2680:2: ( (otherlv_0= RULE_ID ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2680:2: ( (otherlv_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2681:1: (otherlv_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2681:1: (otherlv_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2682:3: otherlv_0= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getBaseTypeRule());
}
otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleBaseType5889);
newLeafNode(otherlv_0, grammarAccess.getBaseTypeAccess().getTypeTypeDeclCrossReference_0_0());
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2694:6: (otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2694:6: (otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2694:8: otherlv_1= '<' () ( (lv_elemTypes_3_0= ruleType ) ) (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+ otherlv_6= '>'
{
otherlv_1=(Token)match(input,60,FOLLOW_60_in_ruleBaseType5908);
newLeafNode(otherlv_1, grammarAccess.getBaseTypeAccess().getLessThanSignKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2698:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2699:5:
{
current = forceCreateModelElement(
grammarAccess.getBaseTypeAccess().getTupleTypeAction_1_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2704:2: ( (lv_elemTypes_3_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2705:1: (lv_elemTypes_3_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2705:1: (lv_elemTypes_3_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2706:3: lv_elemTypes_3_0= ruleType
{
newCompositeNode(grammarAccess.getBaseTypeAccess().getElemTypesTypeParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleType_in_ruleBaseType5938);
lv_elemTypes_3_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBaseTypeRule());
}
add(
current,
"elemTypes",
lv_elemTypes_3_0,
"Type");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2722:2: (otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) ) )+
int cnt54=0;
loop54:
do {
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==51) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2722:4: otherlv_4= '*' ( (lv_elemTypes_5_0= ruleType ) )
{
otherlv_4=(Token)match(input,51,FOLLOW_51_in_ruleBaseType5951);
newLeafNode(otherlv_4, grammarAccess.getBaseTypeAccess().getAsteriskKeyword_1_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2726:1: ( (lv_elemTypes_5_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2727:1: (lv_elemTypes_5_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2727:1: (lv_elemTypes_5_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2728:3: lv_elemTypes_5_0= ruleType
{
newCompositeNode(grammarAccess.getBaseTypeAccess().getElemTypesTypeParserRuleCall_1_3_1_0());
pushFollow(FOLLOW_ruleType_in_ruleBaseType5972);
lv_elemTypes_5_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBaseTypeRule());
}
add(
current,
"elemTypes",
lv_elemTypes_5_0,
"Type");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt54 >= 1 ) break loop54;
EarlyExitException eee =
new EarlyExitException(54, input);
throw eee;
}
cnt54++;
} while (true);
otherlv_6=(Token)match(input,59,FOLLOW_59_in_ruleBaseType5986);
newLeafNode(otherlv_6, grammarAccess.getBaseTypeAccess().getGreaterThanSignKeyword_1_4());
}
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2749:6: (otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2749:6: (otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2749:8: otherlv_7= 'Option' () otherlv_9= '[' ( (lv_base_10_0= ruleType ) ) otherlv_11= ']'
{
otherlv_7=(Token)match(input,39,FOLLOW_39_in_ruleBaseType6006);
newLeafNode(otherlv_7, grammarAccess.getBaseTypeAccess().getOptionKeyword_2_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2753:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2754:5:
{
current = forceCreateModelElement(
grammarAccess.getBaseTypeAccess().getOptionTypeAction_2_1(),
current);
}
otherlv_9=(Token)match(input,40,FOLLOW_40_in_ruleBaseType6027);
newLeafNode(otherlv_9, grammarAccess.getBaseTypeAccess().getLeftSquareBracketKeyword_2_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2763:1: ( (lv_base_10_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2764:1: (lv_base_10_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2764:1: (lv_base_10_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2765:3: lv_base_10_0= ruleType
{
newCompositeNode(grammarAccess.getBaseTypeAccess().getBaseTypeParserRuleCall_2_3_0());
pushFollow(FOLLOW_ruleType_in_ruleBaseType6048);
lv_base_10_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBaseTypeRule());
}
set(
current,
"base",
lv_base_10_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_11=(Token)match(input,41,FOLLOW_41_in_ruleBaseType6060);
newLeafNode(otherlv_11, grammarAccess.getBaseTypeAccess().getRightSquareBracketKeyword_2_4());
}
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2786:6: (otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2786:6: (otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2786:8: otherlv_12= 'Some' () otherlv_14= '[' ( (lv_base_15_0= ruleType ) ) otherlv_16= ']'
{
otherlv_12=(Token)match(input,43,FOLLOW_43_in_ruleBaseType6080);
newLeafNode(otherlv_12, grammarAccess.getBaseTypeAccess().getSomeKeyword_3_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2790:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2791:5:
{
current = forceCreateModelElement(
grammarAccess.getBaseTypeAccess().getSomeTypeAction_3_1(),
current);
}
otherlv_14=(Token)match(input,40,FOLLOW_40_in_ruleBaseType6101);
newLeafNode(otherlv_14, grammarAccess.getBaseTypeAccess().getLeftSquareBracketKeyword_3_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2800:1: ( (lv_base_15_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2801:1: (lv_base_15_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2801:1: (lv_base_15_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2802:3: lv_base_15_0= ruleType
{
newCompositeNode(grammarAccess.getBaseTypeAccess().getBaseTypeParserRuleCall_3_3_0());
pushFollow(FOLLOW_ruleType_in_ruleBaseType6122);
lv_base_15_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBaseTypeRule());
}
set(
current,
"base",
lv_base_15_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_16=(Token)match(input,41,FOLLOW_41_in_ruleBaseType6134);
newLeafNode(otherlv_16, grammarAccess.getBaseTypeAccess().getRightSquareBracketKeyword_3_4());
}
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2823:6: (otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2823:6: (otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2823:8: otherlv_17= 'None' () otherlv_19= '[' ( (lv_base_20_0= ruleType ) ) otherlv_21= ']'
{
otherlv_17=(Token)match(input,42,FOLLOW_42_in_ruleBaseType6154);
newLeafNode(otherlv_17, grammarAccess.getBaseTypeAccess().getNoneKeyword_4_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2827:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2828:5:
{
current = forceCreateModelElement(
grammarAccess.getBaseTypeAccess().getNoneTypeAction_4_1(),
current);
}
otherlv_19=(Token)match(input,40,FOLLOW_40_in_ruleBaseType6175);
newLeafNode(otherlv_19, grammarAccess.getBaseTypeAccess().getLeftSquareBracketKeyword_4_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2837:1: ( (lv_base_20_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2838:1: (lv_base_20_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2838:1: (lv_base_20_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2839:3: lv_base_20_0= ruleType
{
newCompositeNode(grammarAccess.getBaseTypeAccess().getBaseTypeParserRuleCall_4_3_0());
pushFollow(FOLLOW_ruleType_in_ruleBaseType6196);
lv_base_20_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getBaseTypeRule());
}
set(
current,
"base",
lv_base_20_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_21=(Token)match(input,41,FOLLOW_41_in_ruleBaseType6208);
newLeafNode(otherlv_21, grammarAccess.getBaseTypeAccess().getRightSquareBracketKeyword_4_4());
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBaseType"
// $ANTLR start "entryRuleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2867:1: entryRuleLiteral returns [EObject current=null] : iv_ruleLiteral= ruleLiteral EOF ;
public final EObject entryRuleLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2868:2: (iv_ruleLiteral= ruleLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2869:2: iv_ruleLiteral= ruleLiteral EOF
{
newCompositeNode(grammarAccess.getLiteralRule());
pushFollow(FOLLOW_ruleLiteral_in_entryRuleLiteral6245);
iv_ruleLiteral=ruleLiteral();
state._fsp--;
current =iv_ruleLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleLiteral6255);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleLiteral"
// $ANTLR start "ruleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2876:1: ruleLiteral returns [EObject current=null] : (this_BasicLiteral_0= ruleBasicLiteral | this_TupleLiteral_1= ruleTupleLiteral | this_OptionLiteral_2= ruleOptionLiteral | this_SeqLiteral_3= ruleSeqLiteral | this_SetLiteral_4= ruleSetLiteral ) ;
public final EObject ruleLiteral() throws RecognitionException {
EObject current = null;
EObject this_BasicLiteral_0 = null;
EObject this_TupleLiteral_1 = null;
EObject this_OptionLiteral_2 = null;
EObject this_SeqLiteral_3 = null;
EObject this_SetLiteral_4 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2879:28: ( (this_BasicLiteral_0= ruleBasicLiteral | this_TupleLiteral_1= ruleTupleLiteral | this_OptionLiteral_2= ruleOptionLiteral | this_SeqLiteral_3= ruleSeqLiteral | this_SetLiteral_4= ruleSetLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2880:1: (this_BasicLiteral_0= ruleBasicLiteral | this_TupleLiteral_1= ruleTupleLiteral | this_OptionLiteral_2= ruleOptionLiteral | this_SeqLiteral_3= ruleSeqLiteral | this_SetLiteral_4= ruleSetLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2880:1: (this_BasicLiteral_0= ruleBasicLiteral | this_TupleLiteral_1= ruleTupleLiteral | this_OptionLiteral_2= ruleOptionLiteral | this_SeqLiteral_3= ruleSeqLiteral | this_SetLiteral_4= ruleSetLiteral )
int alt56=5;
switch ( input.LA(1) ) {
case RULE_ID:
{
alt56=1;
}
break;
case 60:
{
alt56=2;
}
break;
case 42:
case 43:
{
alt56=3;
}
break;
case 46:
{
alt56=4;
}
break;
case 47:
{
alt56=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 56, 0, input);
throw nvae;
}
switch (alt56) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2881:5: this_BasicLiteral_0= ruleBasicLiteral
{
newCompositeNode(grammarAccess.getLiteralAccess().getBasicLiteralParserRuleCall_0());
pushFollow(FOLLOW_ruleBasicLiteral_in_ruleLiteral6302);
this_BasicLiteral_0=ruleBasicLiteral();
state._fsp--;
current = this_BasicLiteral_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2891:5: this_TupleLiteral_1= ruleTupleLiteral
{
newCompositeNode(grammarAccess.getLiteralAccess().getTupleLiteralParserRuleCall_1());
pushFollow(FOLLOW_ruleTupleLiteral_in_ruleLiteral6329);
this_TupleLiteral_1=ruleTupleLiteral();
state._fsp--;
current = this_TupleLiteral_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2901:5: this_OptionLiteral_2= ruleOptionLiteral
{
newCompositeNode(grammarAccess.getLiteralAccess().getOptionLiteralParserRuleCall_2());
pushFollow(FOLLOW_ruleOptionLiteral_in_ruleLiteral6356);
this_OptionLiteral_2=ruleOptionLiteral();
state._fsp--;
current = this_OptionLiteral_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2911:5: this_SeqLiteral_3= ruleSeqLiteral
{
newCompositeNode(grammarAccess.getLiteralAccess().getSeqLiteralParserRuleCall_3());
pushFollow(FOLLOW_ruleSeqLiteral_in_ruleLiteral6383);
this_SeqLiteral_3=ruleSeqLiteral();
state._fsp--;
current = this_SeqLiteral_3;
afterParserOrEnumRuleCall();
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2921:5: this_SetLiteral_4= ruleSetLiteral
{
newCompositeNode(grammarAccess.getLiteralAccess().getSetLiteralParserRuleCall_4());
pushFollow(FOLLOW_ruleSetLiteral_in_ruleLiteral6410);
this_SetLiteral_4=ruleSetLiteral();
state._fsp--;
current = this_SetLiteral_4;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleLiteral"
// $ANTLR start "entryRuleBasicLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2937:1: entryRuleBasicLiteral returns [EObject current=null] : iv_ruleBasicLiteral= ruleBasicLiteral EOF ;
public final EObject entryRuleBasicLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleBasicLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2938:2: (iv_ruleBasicLiteral= ruleBasicLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2939:2: iv_ruleBasicLiteral= ruleBasicLiteral EOF
{
newCompositeNode(grammarAccess.getBasicLiteralRule());
pushFollow(FOLLOW_ruleBasicLiteral_in_entryRuleBasicLiteral6445);
iv_ruleBasicLiteral=ruleBasicLiteral();
state._fsp--;
current =iv_ruleBasicLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleBasicLiteral6455);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleBasicLiteral"
// $ANTLR start "ruleBasicLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2946:1: ruleBasicLiteral returns [EObject current=null] : ( ( (otherlv_0= RULE_ID ) ) ( (lv_lit_1_0= RULE_LIT ) ) ) ;
public final EObject ruleBasicLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_lit_1_0=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2949:28: ( ( ( (otherlv_0= RULE_ID ) ) ( (lv_lit_1_0= RULE_LIT ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2950:1: ( ( (otherlv_0= RULE_ID ) ) ( (lv_lit_1_0= RULE_LIT ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2950:1: ( ( (otherlv_0= RULE_ID ) ) ( (lv_lit_1_0= RULE_LIT ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2950:2: ( (otherlv_0= RULE_ID ) ) ( (lv_lit_1_0= RULE_LIT ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2950:2: ( (otherlv_0= RULE_ID ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2951:1: (otherlv_0= RULE_ID )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2951:1: (otherlv_0= RULE_ID )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2952:3: otherlv_0= RULE_ID
{
if (current==null) {
current = createModelElement(grammarAccess.getBasicLiteralRule());
}
otherlv_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleBasicLiteral6500);
newLeafNode(otherlv_0, grammarAccess.getBasicLiteralAccess().getTypeConsTypeDeclCrossReference_0_0());
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2963:2: ( (lv_lit_1_0= RULE_LIT ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2964:1: (lv_lit_1_0= RULE_LIT )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2964:1: (lv_lit_1_0= RULE_LIT )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2965:3: lv_lit_1_0= RULE_LIT
{
lv_lit_1_0=(Token)match(input,RULE_LIT,FOLLOW_RULE_LIT_in_ruleBasicLiteral6517);
newLeafNode(lv_lit_1_0, grammarAccess.getBasicLiteralAccess().getLitLITTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getBasicLiteralRule());
}
setWithLastConsumed(
current,
"lit",
lv_lit_1_0,
"LIT");
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleBasicLiteral"
// $ANTLR start "entryRuleTupleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2989:1: entryRuleTupleLiteral returns [EObject current=null] : iv_ruleTupleLiteral= ruleTupleLiteral EOF ;
public final EObject entryRuleTupleLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleTupleLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2990:2: (iv_ruleTupleLiteral= ruleTupleLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2991:2: iv_ruleTupleLiteral= ruleTupleLiteral EOF
{
newCompositeNode(grammarAccess.getTupleLiteralRule());
pushFollow(FOLLOW_ruleTupleLiteral_in_entryRuleTupleLiteral6558);
iv_ruleTupleLiteral=ruleTupleLiteral();
state._fsp--;
current =iv_ruleTupleLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleTupleLiteral6568);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTupleLiteral"
// $ANTLR start "ruleTupleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:2998:1: ruleTupleLiteral returns [EObject current=null] : (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )* )? otherlv_5= '>' ) ;
public final EObject ruleTupleLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_elems_2_0 = null;
EObject lv_elems_4_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3001:28: ( (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )* )? otherlv_5= '>' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3002:1: (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )* )? otherlv_5= '>' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3002:1: (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )* )? otherlv_5= '>' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3002:3: otherlv_0= '<' () ( ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )* )? otherlv_5= '>'
{
otherlv_0=(Token)match(input,60,FOLLOW_60_in_ruleTupleLiteral6605);
newLeafNode(otherlv_0, grammarAccess.getTupleLiteralAccess().getLessThanSignKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3006:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3007:5:
{
current = forceCreateModelElement(
grammarAccess.getTupleLiteralAccess().getTupleLiteralAction_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3012:2: ( ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )* )?
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==RULE_ID||(LA58_0>=42 && LA58_0<=43)||(LA58_0>=46 && LA58_0<=47)||LA58_0==60) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3012:3: ( (lv_elems_2_0= ruleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3012:3: ( (lv_elems_2_0= ruleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3013:1: (lv_elems_2_0= ruleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3013:1: (lv_elems_2_0= ruleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3014:3: lv_elems_2_0= ruleLiteral
{
newCompositeNode(grammarAccess.getTupleLiteralAccess().getElemsLiteralParserRuleCall_2_0_0());
pushFollow(FOLLOW_ruleLiteral_in_ruleTupleLiteral6636);
lv_elems_2_0=ruleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralRule());
}
add(
current,
"elems",
lv_elems_2_0,
"Literal");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3030:2: (otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) ) )*
loop57:
do {
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==45) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3030:4: otherlv_3= ',' ( (lv_elems_4_0= ruleLiteral ) )
{
otherlv_3=(Token)match(input,45,FOLLOW_45_in_ruleTupleLiteral6649);
newLeafNode(otherlv_3, grammarAccess.getTupleLiteralAccess().getCommaKeyword_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3034:1: ( (lv_elems_4_0= ruleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3035:1: (lv_elems_4_0= ruleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3035:1: (lv_elems_4_0= ruleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3036:3: lv_elems_4_0= ruleLiteral
{
newCompositeNode(grammarAccess.getTupleLiteralAccess().getElemsLiteralParserRuleCall_2_1_1_0());
pushFollow(FOLLOW_ruleLiteral_in_ruleTupleLiteral6670);
lv_elems_4_0=ruleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getTupleLiteralRule());
}
add(
current,
"elems",
lv_elems_4_0,
"Literal");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop57;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,59,FOLLOW_59_in_ruleTupleLiteral6686);
newLeafNode(otherlv_5, grammarAccess.getTupleLiteralAccess().getGreaterThanSignKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTupleLiteral"
// $ANTLR start "entryRuleSeqLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3064:1: entryRuleSeqLiteral returns [EObject current=null] : iv_ruleSeqLiteral= ruleSeqLiteral EOF ;
public final EObject entryRuleSeqLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSeqLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3065:2: (iv_ruleSeqLiteral= ruleSeqLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3066:2: iv_ruleSeqLiteral= ruleSeqLiteral EOF
{
newCompositeNode(grammarAccess.getSeqLiteralRule());
pushFollow(FOLLOW_ruleSeqLiteral_in_entryRuleSeqLiteral6722);
iv_ruleSeqLiteral=ruleSeqLiteral();
state._fsp--;
current =iv_ruleSeqLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSeqLiteral6732);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSeqLiteral"
// $ANTLR start "ruleSeqLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3073:1: ruleSeqLiteral returns [EObject current=null] : (otherlv_0= 'Seq' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '[' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= ']' ) ;
public final EObject ruleSeqLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
EObject lv_elementType_2_0 = null;
EObject lv_elems_5_0 = null;
EObject lv_elems_7_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3076:28: ( (otherlv_0= 'Seq' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '[' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= ']' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3077:1: (otherlv_0= 'Seq' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '[' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3077:1: (otherlv_0= 'Seq' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '[' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3077:3: otherlv_0= 'Seq' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '[' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= ']'
{
otherlv_0=(Token)match(input,46,FOLLOW_46_in_ruleSeqLiteral6769);
newLeafNode(otherlv_0, grammarAccess.getSeqLiteralAccess().getSeqKeyword_0());
otherlv_1=(Token)match(input,40,FOLLOW_40_in_ruleSeqLiteral6781);
newLeafNode(otherlv_1, grammarAccess.getSeqLiteralAccess().getLeftSquareBracketKeyword_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3085:1: ( (lv_elementType_2_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3086:1: (lv_elementType_2_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3086:1: (lv_elementType_2_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3087:3: lv_elementType_2_0= ruleType
{
newCompositeNode(grammarAccess.getSeqLiteralAccess().getElementTypeTypeParserRuleCall_2_0());
pushFollow(FOLLOW_ruleType_in_ruleSeqLiteral6802);
lv_elementType_2_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSeqLiteralRule());
}
set(
current,
"elementType",
lv_elementType_2_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,41,FOLLOW_41_in_ruleSeqLiteral6814);
newLeafNode(otherlv_3, grammarAccess.getSeqLiteralAccess().getRightSquareBracketKeyword_3());
otherlv_4=(Token)match(input,40,FOLLOW_40_in_ruleSeqLiteral6826);
newLeafNode(otherlv_4, grammarAccess.getSeqLiteralAccess().getLeftSquareBracketKeyword_4());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3111:1: ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )?
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==RULE_LIT||LA60_0==23||LA60_0==40||(LA60_0>=42 && LA60_0<=43)||LA60_0==60) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3111:2: ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3111:2: ( (lv_elems_5_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3112:1: (lv_elems_5_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3112:1: (lv_elems_5_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3113:3: lv_elems_5_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSeqLiteralAccess().getElemsSimpleLiteralParserRuleCall_5_0_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSeqLiteral6848);
lv_elems_5_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSeqLiteralRule());
}
add(
current,
"elems",
lv_elems_5_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3129:2: (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )*
loop59:
do {
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==45) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3129:4: otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) )
{
otherlv_6=(Token)match(input,45,FOLLOW_45_in_ruleSeqLiteral6861);
newLeafNode(otherlv_6, grammarAccess.getSeqLiteralAccess().getCommaKeyword_5_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3133:1: ( (lv_elems_7_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3134:1: (lv_elems_7_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3134:1: (lv_elems_7_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3135:3: lv_elems_7_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSeqLiteralAccess().getElemsSimpleLiteralParserRuleCall_5_1_1_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSeqLiteral6882);
lv_elems_7_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSeqLiteralRule());
}
add(
current,
"elems",
lv_elems_7_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop59;
}
} while (true);
}
break;
}
otherlv_8=(Token)match(input,41,FOLLOW_41_in_ruleSeqLiteral6898);
newLeafNode(otherlv_8, grammarAccess.getSeqLiteralAccess().getRightSquareBracketKeyword_6());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSeqLiteral"
// $ANTLR start "entryRuleSetLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3163:1: entryRuleSetLiteral returns [EObject current=null] : iv_ruleSetLiteral= ruleSetLiteral EOF ;
public final EObject entryRuleSetLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSetLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3164:2: (iv_ruleSetLiteral= ruleSetLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3165:2: iv_ruleSetLiteral= ruleSetLiteral EOF
{
newCompositeNode(grammarAccess.getSetLiteralRule());
pushFollow(FOLLOW_ruleSetLiteral_in_entryRuleSetLiteral6934);
iv_ruleSetLiteral=ruleSetLiteral();
state._fsp--;
current =iv_ruleSetLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSetLiteral6944);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSetLiteral"
// $ANTLR start "ruleSetLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3172:1: ruleSetLiteral returns [EObject current=null] : (otherlv_0= 'Set' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '{' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= '}' ) ;
public final EObject ruleSetLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_6=null;
Token otherlv_8=null;
EObject lv_elementType_2_0 = null;
EObject lv_elems_5_0 = null;
EObject lv_elems_7_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3175:28: ( (otherlv_0= 'Set' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '{' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= '}' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3176:1: (otherlv_0= 'Set' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '{' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= '}' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3176:1: (otherlv_0= 'Set' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '{' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= '}' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3176:3: otherlv_0= 'Set' otherlv_1= '[' ( (lv_elementType_2_0= ruleType ) ) otherlv_3= ']' otherlv_4= '{' ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )? otherlv_8= '}'
{
otherlv_0=(Token)match(input,47,FOLLOW_47_in_ruleSetLiteral6981);
newLeafNode(otherlv_0, grammarAccess.getSetLiteralAccess().getSetKeyword_0());
otherlv_1=(Token)match(input,40,FOLLOW_40_in_ruleSetLiteral6993);
newLeafNode(otherlv_1, grammarAccess.getSetLiteralAccess().getLeftSquareBracketKeyword_1());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3184:1: ( (lv_elementType_2_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3185:1: (lv_elementType_2_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3185:1: (lv_elementType_2_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3186:3: lv_elementType_2_0= ruleType
{
newCompositeNode(grammarAccess.getSetLiteralAccess().getElementTypeTypeParserRuleCall_2_0());
pushFollow(FOLLOW_ruleType_in_ruleSetLiteral7014);
lv_elementType_2_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSetLiteralRule());
}
set(
current,
"elementType",
lv_elementType_2_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_3=(Token)match(input,41,FOLLOW_41_in_ruleSetLiteral7026);
newLeafNode(otherlv_3, grammarAccess.getSetLiteralAccess().getRightSquareBracketKeyword_3());
otherlv_4=(Token)match(input,23,FOLLOW_23_in_ruleSetLiteral7038);
newLeafNode(otherlv_4, grammarAccess.getSetLiteralAccess().getLeftCurlyBracketKeyword_4());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3210:1: ( ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )* )?
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==RULE_LIT||LA62_0==23||LA62_0==40||(LA62_0>=42 && LA62_0<=43)||LA62_0==60) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3210:2: ( (lv_elems_5_0= ruleSimpleLiteral ) ) (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3210:2: ( (lv_elems_5_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3211:1: (lv_elems_5_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3211:1: (lv_elems_5_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3212:3: lv_elems_5_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSetLiteralAccess().getElemsSimpleLiteralParserRuleCall_5_0_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSetLiteral7060);
lv_elems_5_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSetLiteralRule());
}
add(
current,
"elems",
lv_elems_5_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3228:2: (otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) ) )*
loop61:
do {
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==45) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3228:4: otherlv_6= ',' ( (lv_elems_7_0= ruleSimpleLiteral ) )
{
otherlv_6=(Token)match(input,45,FOLLOW_45_in_ruleSetLiteral7073);
newLeafNode(otherlv_6, grammarAccess.getSetLiteralAccess().getCommaKeyword_5_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3232:1: ( (lv_elems_7_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3233:1: (lv_elems_7_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3233:1: (lv_elems_7_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3234:3: lv_elems_7_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSetLiteralAccess().getElemsSimpleLiteralParserRuleCall_5_1_1_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSetLiteral7094);
lv_elems_7_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSetLiteralRule());
}
add(
current,
"elems",
lv_elems_7_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop61;
}
} while (true);
}
break;
}
otherlv_8=(Token)match(input,24,FOLLOW_24_in_ruleSetLiteral7110);
newLeafNode(otherlv_8, grammarAccess.getSetLiteralAccess().getRightCurlyBracketKeyword_6());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSetLiteral"
// $ANTLR start "entryRuleOptionLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3262:1: entryRuleOptionLiteral returns [EObject current=null] : iv_ruleOptionLiteral= ruleOptionLiteral EOF ;
public final EObject entryRuleOptionLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleOptionLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3263:2: (iv_ruleOptionLiteral= ruleOptionLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3264:2: iv_ruleOptionLiteral= ruleOptionLiteral EOF
{
newCompositeNode(grammarAccess.getOptionLiteralRule());
pushFollow(FOLLOW_ruleOptionLiteral_in_entryRuleOptionLiteral7146);
iv_ruleOptionLiteral=ruleOptionLiteral();
state._fsp--;
current =iv_ruleOptionLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleOptionLiteral7156);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOptionLiteral"
// $ANTLR start "ruleOptionLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3271:1: ruleOptionLiteral returns [EObject current=null] : ( (otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) ) ) ) ;
public final EObject ruleOptionLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_5=null;
EObject lv_type_3_0 = null;
EObject lv_lit_7_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3274:28: ( ( (otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3275:1: ( (otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3275:1: ( (otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']' ) | (otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) ) ) )
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0==42) ) {
alt63=1;
}
else if ( (LA63_0==43) ) {
alt63=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 63, 0, input);
throw nvae;
}
switch (alt63) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3275:2: (otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3275:2: (otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3275:4: otherlv_0= 'None' () otherlv_2= '[' ( (lv_type_3_0= ruleType ) ) otherlv_4= ']'
{
otherlv_0=(Token)match(input,42,FOLLOW_42_in_ruleOptionLiteral7194);
newLeafNode(otherlv_0, grammarAccess.getOptionLiteralAccess().getNoneKeyword_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3279:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3280:5:
{
current = forceCreateModelElement(
grammarAccess.getOptionLiteralAccess().getNoneLiteralAction_0_1(),
current);
}
otherlv_2=(Token)match(input,40,FOLLOW_40_in_ruleOptionLiteral7215);
newLeafNode(otherlv_2, grammarAccess.getOptionLiteralAccess().getLeftSquareBracketKeyword_0_2());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3289:1: ( (lv_type_3_0= ruleType ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3290:1: (lv_type_3_0= ruleType )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3290:1: (lv_type_3_0= ruleType )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3291:3: lv_type_3_0= ruleType
{
newCompositeNode(grammarAccess.getOptionLiteralAccess().getTypeTypeParserRuleCall_0_3_0());
pushFollow(FOLLOW_ruleType_in_ruleOptionLiteral7236);
lv_type_3_0=ruleType();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getOptionLiteralRule());
}
set(
current,
"type",
lv_type_3_0,
"Type");
afterParserOrEnumRuleCall();
}
}
otherlv_4=(Token)match(input,41,FOLLOW_41_in_ruleOptionLiteral7248);
newLeafNode(otherlv_4, grammarAccess.getOptionLiteralAccess().getRightSquareBracketKeyword_0_4());
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3312:6: (otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3312:6: (otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3312:8: otherlv_5= 'Some' () ( (lv_lit_7_0= ruleLiteral ) )
{
otherlv_5=(Token)match(input,43,FOLLOW_43_in_ruleOptionLiteral7268);
newLeafNode(otherlv_5, grammarAccess.getOptionLiteralAccess().getSomeKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3316:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3317:5:
{
current = forceCreateModelElement(
grammarAccess.getOptionLiteralAccess().getSomeLiteralAction_1_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3322:2: ( (lv_lit_7_0= ruleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3323:1: (lv_lit_7_0= ruleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3323:1: (lv_lit_7_0= ruleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3324:3: lv_lit_7_0= ruleLiteral
{
newCompositeNode(grammarAccess.getOptionLiteralAccess().getLitLiteralParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleLiteral_in_ruleOptionLiteral7298);
lv_lit_7_0=ruleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getOptionLiteralRule());
}
set(
current,
"lit",
lv_lit_7_0,
"Literal");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOptionLiteral"
// $ANTLR start "entryRuleSimpleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3348:1: entryRuleSimpleLiteral returns [EObject current=null] : iv_ruleSimpleLiteral= ruleSimpleLiteral EOF ;
public final EObject entryRuleSimpleLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3349:2: (iv_ruleSimpleLiteral= ruleSimpleLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3350:2: iv_ruleSimpleLiteral= ruleSimpleLiteral EOF
{
newCompositeNode(grammarAccess.getSimpleLiteralRule());
pushFollow(FOLLOW_ruleSimpleLiteral_in_entryRuleSimpleLiteral7335);
iv_ruleSimpleLiteral=ruleSimpleLiteral();
state._fsp--;
current =iv_ruleSimpleLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleLiteral7345);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleLiteral"
// $ANTLR start "ruleSimpleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3357:1: ruleSimpleLiteral returns [EObject current=null] : (this_SimpleBasicLiteral_0= ruleSimpleBasicLiteral | this_SimpleTupleLiteral_1= ruleSimpleTupleLiteral | this_SimpleSeqLiteral_2= ruleSimpleSeqLiteral | this_SimpleSetLiteral_3= ruleSimpleSetLiteral | this_SimpleOptionLiteral_4= ruleSimpleOptionLiteral ) ;
public final EObject ruleSimpleLiteral() throws RecognitionException {
EObject current = null;
EObject this_SimpleBasicLiteral_0 = null;
EObject this_SimpleTupleLiteral_1 = null;
EObject this_SimpleSeqLiteral_2 = null;
EObject this_SimpleSetLiteral_3 = null;
EObject this_SimpleOptionLiteral_4 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3360:28: ( (this_SimpleBasicLiteral_0= ruleSimpleBasicLiteral | this_SimpleTupleLiteral_1= ruleSimpleTupleLiteral | this_SimpleSeqLiteral_2= ruleSimpleSeqLiteral | this_SimpleSetLiteral_3= ruleSimpleSetLiteral | this_SimpleOptionLiteral_4= ruleSimpleOptionLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3361:1: (this_SimpleBasicLiteral_0= ruleSimpleBasicLiteral | this_SimpleTupleLiteral_1= ruleSimpleTupleLiteral | this_SimpleSeqLiteral_2= ruleSimpleSeqLiteral | this_SimpleSetLiteral_3= ruleSimpleSetLiteral | this_SimpleOptionLiteral_4= ruleSimpleOptionLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3361:1: (this_SimpleBasicLiteral_0= ruleSimpleBasicLiteral | this_SimpleTupleLiteral_1= ruleSimpleTupleLiteral | this_SimpleSeqLiteral_2= ruleSimpleSeqLiteral | this_SimpleSetLiteral_3= ruleSimpleSetLiteral | this_SimpleOptionLiteral_4= ruleSimpleOptionLiteral )
int alt64=5;
switch ( input.LA(1) ) {
case RULE_LIT:
{
alt64=1;
}
break;
case 60:
{
alt64=2;
}
break;
case 40:
{
alt64=3;
}
break;
case 23:
{
alt64=4;
}
break;
case 42:
case 43:
{
alt64=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 64, 0, input);
throw nvae;
}
switch (alt64) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3362:5: this_SimpleBasicLiteral_0= ruleSimpleBasicLiteral
{
newCompositeNode(grammarAccess.getSimpleLiteralAccess().getSimpleBasicLiteralParserRuleCall_0());
pushFollow(FOLLOW_ruleSimpleBasicLiteral_in_ruleSimpleLiteral7392);
this_SimpleBasicLiteral_0=ruleSimpleBasicLiteral();
state._fsp--;
current = this_SimpleBasicLiteral_0;
afterParserOrEnumRuleCall();
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3372:5: this_SimpleTupleLiteral_1= ruleSimpleTupleLiteral
{
newCompositeNode(grammarAccess.getSimpleLiteralAccess().getSimpleTupleLiteralParserRuleCall_1());
pushFollow(FOLLOW_ruleSimpleTupleLiteral_in_ruleSimpleLiteral7419);
this_SimpleTupleLiteral_1=ruleSimpleTupleLiteral();
state._fsp--;
current = this_SimpleTupleLiteral_1;
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3382:5: this_SimpleSeqLiteral_2= ruleSimpleSeqLiteral
{
newCompositeNode(grammarAccess.getSimpleLiteralAccess().getSimpleSeqLiteralParserRuleCall_2());
pushFollow(FOLLOW_ruleSimpleSeqLiteral_in_ruleSimpleLiteral7446);
this_SimpleSeqLiteral_2=ruleSimpleSeqLiteral();
state._fsp--;
current = this_SimpleSeqLiteral_2;
afterParserOrEnumRuleCall();
}
break;
case 4 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3392:5: this_SimpleSetLiteral_3= ruleSimpleSetLiteral
{
newCompositeNode(grammarAccess.getSimpleLiteralAccess().getSimpleSetLiteralParserRuleCall_3());
pushFollow(FOLLOW_ruleSimpleSetLiteral_in_ruleSimpleLiteral7473);
this_SimpleSetLiteral_3=ruleSimpleSetLiteral();
state._fsp--;
current = this_SimpleSetLiteral_3;
afterParserOrEnumRuleCall();
}
break;
case 5 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3402:5: this_SimpleOptionLiteral_4= ruleSimpleOptionLiteral
{
newCompositeNode(grammarAccess.getSimpleLiteralAccess().getSimpleOptionLiteralParserRuleCall_4());
pushFollow(FOLLOW_ruleSimpleOptionLiteral_in_ruleSimpleLiteral7500);
this_SimpleOptionLiteral_4=ruleSimpleOptionLiteral();
state._fsp--;
current = this_SimpleOptionLiteral_4;
afterParserOrEnumRuleCall();
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleLiteral"
// $ANTLR start "entryRuleSimpleBasicLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3418:1: entryRuleSimpleBasicLiteral returns [EObject current=null] : iv_ruleSimpleBasicLiteral= ruleSimpleBasicLiteral EOF ;
public final EObject entryRuleSimpleBasicLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleBasicLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3419:2: (iv_ruleSimpleBasicLiteral= ruleSimpleBasicLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3420:2: iv_ruleSimpleBasicLiteral= ruleSimpleBasicLiteral EOF
{
newCompositeNode(grammarAccess.getSimpleBasicLiteralRule());
pushFollow(FOLLOW_ruleSimpleBasicLiteral_in_entryRuleSimpleBasicLiteral7535);
iv_ruleSimpleBasicLiteral=ruleSimpleBasicLiteral();
state._fsp--;
current =iv_ruleSimpleBasicLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleBasicLiteral7545);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleBasicLiteral"
// $ANTLR start "ruleSimpleBasicLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3427:1: ruleSimpleBasicLiteral returns [EObject current=null] : ( (lv_lit_0_0= RULE_LIT ) ) ;
public final EObject ruleSimpleBasicLiteral() throws RecognitionException {
EObject current = null;
Token lv_lit_0_0=null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3430:28: ( ( (lv_lit_0_0= RULE_LIT ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3431:1: ( (lv_lit_0_0= RULE_LIT ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3431:1: ( (lv_lit_0_0= RULE_LIT ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3432:1: (lv_lit_0_0= RULE_LIT )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3432:1: (lv_lit_0_0= RULE_LIT )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3433:3: lv_lit_0_0= RULE_LIT
{
lv_lit_0_0=(Token)match(input,RULE_LIT,FOLLOW_RULE_LIT_in_ruleSimpleBasicLiteral7586);
newLeafNode(lv_lit_0_0, grammarAccess.getSimpleBasicLiteralAccess().getLitLITTerminalRuleCall_0());
if (current==null) {
current = createModelElement(grammarAccess.getSimpleBasicLiteralRule());
}
setWithLastConsumed(
current,
"lit",
lv_lit_0_0,
"LIT");
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleBasicLiteral"
// $ANTLR start "entryRuleSimpleTupleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3457:1: entryRuleSimpleTupleLiteral returns [EObject current=null] : iv_ruleSimpleTupleLiteral= ruleSimpleTupleLiteral EOF ;
public final EObject entryRuleSimpleTupleLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleTupleLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3458:2: (iv_ruleSimpleTupleLiteral= ruleSimpleTupleLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3459:2: iv_ruleSimpleTupleLiteral= ruleSimpleTupleLiteral EOF
{
newCompositeNode(grammarAccess.getSimpleTupleLiteralRule());
pushFollow(FOLLOW_ruleSimpleTupleLiteral_in_entryRuleSimpleTupleLiteral7626);
iv_ruleSimpleTupleLiteral=ruleSimpleTupleLiteral();
state._fsp--;
current =iv_ruleSimpleTupleLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleTupleLiteral7636);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleTupleLiteral"
// $ANTLR start "ruleSimpleTupleLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3466:1: ruleSimpleTupleLiteral returns [EObject current=null] : (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '>' ) ;
public final EObject ruleSimpleTupleLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_elems_2_0 = null;
EObject lv_elems_4_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3469:28: ( (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '>' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3470:1: (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '>' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3470:1: (otherlv_0= '<' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '>' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3470:3: otherlv_0= '<' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '>'
{
otherlv_0=(Token)match(input,60,FOLLOW_60_in_ruleSimpleTupleLiteral7673);
newLeafNode(otherlv_0, grammarAccess.getSimpleTupleLiteralAccess().getLessThanSignKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3474:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3475:5:
{
current = forceCreateModelElement(
grammarAccess.getSimpleTupleLiteralAccess().getSimpleTupleLiteralAction_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3480:2: ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )?
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==RULE_LIT||LA66_0==23||LA66_0==40||(LA66_0>=42 && LA66_0<=43)||LA66_0==60) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3480:3: ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3480:3: ( (lv_elems_2_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3481:1: (lv_elems_2_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3481:1: (lv_elems_2_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3482:3: lv_elems_2_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleTupleLiteralAccess().getElemsSimpleLiteralParserRuleCall_2_0_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleTupleLiteral7704);
lv_elems_2_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleTupleLiteralRule());
}
add(
current,
"elems",
lv_elems_2_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3498:2: (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )*
loop65:
do {
int alt65=2;
int LA65_0 = input.LA(1);
if ( (LA65_0==45) ) {
alt65=1;
}
switch (alt65) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3498:4: otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) )
{
otherlv_3=(Token)match(input,45,FOLLOW_45_in_ruleSimpleTupleLiteral7717);
newLeafNode(otherlv_3, grammarAccess.getSimpleTupleLiteralAccess().getCommaKeyword_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3502:1: ( (lv_elems_4_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3503:1: (lv_elems_4_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3503:1: (lv_elems_4_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3504:3: lv_elems_4_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleTupleLiteralAccess().getElemsSimpleLiteralParserRuleCall_2_1_1_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleTupleLiteral7738);
lv_elems_4_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleTupleLiteralRule());
}
add(
current,
"elems",
lv_elems_4_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop65;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,59,FOLLOW_59_in_ruleSimpleTupleLiteral7754);
newLeafNode(otherlv_5, grammarAccess.getSimpleTupleLiteralAccess().getGreaterThanSignKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleTupleLiteral"
// $ANTLR start "entryRuleSimpleOptionLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3532:1: entryRuleSimpleOptionLiteral returns [EObject current=null] : iv_ruleSimpleOptionLiteral= ruleSimpleOptionLiteral EOF ;
public final EObject entryRuleSimpleOptionLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleOptionLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3533:2: (iv_ruleSimpleOptionLiteral= ruleSimpleOptionLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3534:2: iv_ruleSimpleOptionLiteral= ruleSimpleOptionLiteral EOF
{
newCompositeNode(grammarAccess.getSimpleOptionLiteralRule());
pushFollow(FOLLOW_ruleSimpleOptionLiteral_in_entryRuleSimpleOptionLiteral7790);
iv_ruleSimpleOptionLiteral=ruleSimpleOptionLiteral();
state._fsp--;
current =iv_ruleSimpleOptionLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleOptionLiteral7800);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleOptionLiteral"
// $ANTLR start "ruleSimpleOptionLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3541:1: ruleSimpleOptionLiteral returns [EObject current=null] : ( (otherlv_0= 'None' () ) | (otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) ) ) ) ;
public final EObject ruleSimpleOptionLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject lv_lit_4_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3544:28: ( ( (otherlv_0= 'None' () ) | (otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) ) ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3545:1: ( (otherlv_0= 'None' () ) | (otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3545:1: ( (otherlv_0= 'None' () ) | (otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) ) ) )
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==42) ) {
alt67=1;
}
else if ( (LA67_0==43) ) {
alt67=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 67, 0, input);
throw nvae;
}
switch (alt67) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3545:2: (otherlv_0= 'None' () )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3545:2: (otherlv_0= 'None' () )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3545:4: otherlv_0= 'None' ()
{
otherlv_0=(Token)match(input,42,FOLLOW_42_in_ruleSimpleOptionLiteral7838);
newLeafNode(otherlv_0, grammarAccess.getSimpleOptionLiteralAccess().getNoneKeyword_0_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3549:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3550:5:
{
current = forceCreateModelElement(
grammarAccess.getSimpleOptionLiteralAccess().getSimpleNoneLiteralAction_0_1(),
current);
}
}
}
break;
case 2 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3556:6: (otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) ) )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3556:6: (otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3556:8: otherlv_2= 'Some' () ( (lv_lit_4_0= ruleSimpleLiteral ) )
{
otherlv_2=(Token)match(input,43,FOLLOW_43_in_ruleSimpleOptionLiteral7867);
newLeafNode(otherlv_2, grammarAccess.getSimpleOptionLiteralAccess().getSomeKeyword_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3560:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3561:5:
{
current = forceCreateModelElement(
grammarAccess.getSimpleOptionLiteralAccess().getSimpleSomeLiteralAction_1_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3566:2: ( (lv_lit_4_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3567:1: (lv_lit_4_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3567:1: (lv_lit_4_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3568:3: lv_lit_4_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleOptionLiteralAccess().getLitSimpleLiteralParserRuleCall_1_2_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleOptionLiteral7897);
lv_lit_4_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleOptionLiteralRule());
}
set(
current,
"lit",
lv_lit_4_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleOptionLiteral"
// $ANTLR start "entryRuleSimpleSeqLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3592:1: entryRuleSimpleSeqLiteral returns [EObject current=null] : iv_ruleSimpleSeqLiteral= ruleSimpleSeqLiteral EOF ;
public final EObject entryRuleSimpleSeqLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleSeqLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3593:2: (iv_ruleSimpleSeqLiteral= ruleSimpleSeqLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3594:2: iv_ruleSimpleSeqLiteral= ruleSimpleSeqLiteral EOF
{
newCompositeNode(grammarAccess.getSimpleSeqLiteralRule());
pushFollow(FOLLOW_ruleSimpleSeqLiteral_in_entryRuleSimpleSeqLiteral7934);
iv_ruleSimpleSeqLiteral=ruleSimpleSeqLiteral();
state._fsp--;
current =iv_ruleSimpleSeqLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleSeqLiteral7944);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleSeqLiteral"
// $ANTLR start "ruleSimpleSeqLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3601:1: ruleSimpleSeqLiteral returns [EObject current=null] : (otherlv_0= '[' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= ']' ) ;
public final EObject ruleSimpleSeqLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_elems_2_0 = null;
EObject lv_elems_4_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3604:28: ( (otherlv_0= '[' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= ']' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3605:1: (otherlv_0= '[' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= ']' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3605:1: (otherlv_0= '[' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= ']' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3605:3: otherlv_0= '[' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= ']'
{
otherlv_0=(Token)match(input,40,FOLLOW_40_in_ruleSimpleSeqLiteral7981);
newLeafNode(otherlv_0, grammarAccess.getSimpleSeqLiteralAccess().getLeftSquareBracketKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3609:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3610:5:
{
current = forceCreateModelElement(
grammarAccess.getSimpleSeqLiteralAccess().getSimpleSeqLiteralAction_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3615:2: ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )?
int alt69=2;
int LA69_0 = input.LA(1);
if ( (LA69_0==RULE_LIT||LA69_0==23||LA69_0==40||(LA69_0>=42 && LA69_0<=43)||LA69_0==60) ) {
alt69=1;
}
switch (alt69) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3615:3: ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3615:3: ( (lv_elems_2_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3616:1: (lv_elems_2_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3616:1: (lv_elems_2_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3617:3: lv_elems_2_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleSeqLiteralAccess().getElemsSimpleLiteralParserRuleCall_2_0_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleSeqLiteral8012);
lv_elems_2_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleSeqLiteralRule());
}
add(
current,
"elems",
lv_elems_2_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3633:2: (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )*
loop68:
do {
int alt68=2;
int LA68_0 = input.LA(1);
if ( (LA68_0==45) ) {
alt68=1;
}
switch (alt68) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3633:4: otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) )
{
otherlv_3=(Token)match(input,45,FOLLOW_45_in_ruleSimpleSeqLiteral8025);
newLeafNode(otherlv_3, grammarAccess.getSimpleSeqLiteralAccess().getCommaKeyword_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3637:1: ( (lv_elems_4_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3638:1: (lv_elems_4_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3638:1: (lv_elems_4_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3639:3: lv_elems_4_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleSeqLiteralAccess().getElemsSimpleLiteralParserRuleCall_2_1_1_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleSeqLiteral8046);
lv_elems_4_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleSeqLiteralRule());
}
add(
current,
"elems",
lv_elems_4_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop68;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,41,FOLLOW_41_in_ruleSimpleSeqLiteral8062);
newLeafNode(otherlv_5, grammarAccess.getSimpleSeqLiteralAccess().getRightSquareBracketKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleSeqLiteral"
// $ANTLR start "entryRuleSimpleSetLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3667:1: entryRuleSimpleSetLiteral returns [EObject current=null] : iv_ruleSimpleSetLiteral= ruleSimpleSetLiteral EOF ;
public final EObject entryRuleSimpleSetLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleSimpleSetLiteral = null;
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3668:2: (iv_ruleSimpleSetLiteral= ruleSimpleSetLiteral EOF )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3669:2: iv_ruleSimpleSetLiteral= ruleSimpleSetLiteral EOF
{
newCompositeNode(grammarAccess.getSimpleSetLiteralRule());
pushFollow(FOLLOW_ruleSimpleSetLiteral_in_entryRuleSimpleSetLiteral8098);
iv_ruleSimpleSetLiteral=ruleSimpleSetLiteral();
state._fsp--;
current =iv_ruleSimpleSetLiteral;
match(input,EOF,FOLLOW_EOF_in_entryRuleSimpleSetLiteral8108);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSimpleSetLiteral"
// $ANTLR start "ruleSimpleSetLiteral"
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3676:1: ruleSimpleSetLiteral returns [EObject current=null] : (otherlv_0= '{' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '}' ) ;
public final EObject ruleSimpleSetLiteral() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
EObject lv_elems_2_0 = null;
EObject lv_elems_4_0 = null;
enterRule();
try {
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3679:28: ( (otherlv_0= '{' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '}' ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3680:1: (otherlv_0= '{' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '}' )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3680:1: (otherlv_0= '{' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '}' )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3680:3: otherlv_0= '{' () ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )? otherlv_5= '}'
{
otherlv_0=(Token)match(input,23,FOLLOW_23_in_ruleSimpleSetLiteral8145);
newLeafNode(otherlv_0, grammarAccess.getSimpleSetLiteralAccess().getLeftCurlyBracketKeyword_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3684:1: ()
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3685:5:
{
current = forceCreateModelElement(
grammarAccess.getSimpleSetLiteralAccess().getSimpleSetLiteralAction_1(),
current);
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3690:2: ( ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )* )?
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==RULE_LIT||LA71_0==23||LA71_0==40||(LA71_0>=42 && LA71_0<=43)||LA71_0==60) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3690:3: ( (lv_elems_2_0= ruleSimpleLiteral ) ) (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )*
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3690:3: ( (lv_elems_2_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3691:1: (lv_elems_2_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3691:1: (lv_elems_2_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3692:3: lv_elems_2_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleSetLiteralAccess().getElemsSimpleLiteralParserRuleCall_2_0_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleSetLiteral8176);
lv_elems_2_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleSetLiteralRule());
}
add(
current,
"elems",
lv_elems_2_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3708:2: (otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) ) )*
loop70:
do {
int alt70=2;
int LA70_0 = input.LA(1);
if ( (LA70_0==45) ) {
alt70=1;
}
switch (alt70) {
case 1 :
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3708:4: otherlv_3= ',' ( (lv_elems_4_0= ruleSimpleLiteral ) )
{
otherlv_3=(Token)match(input,45,FOLLOW_45_in_ruleSimpleSetLiteral8189);
newLeafNode(otherlv_3, grammarAccess.getSimpleSetLiteralAccess().getCommaKeyword_2_1_0());
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3712:1: ( (lv_elems_4_0= ruleSimpleLiteral ) )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3713:1: (lv_elems_4_0= ruleSimpleLiteral )
{
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3713:1: (lv_elems_4_0= ruleSimpleLiteral )
// ../edu.ksu.cis.projects.mdcf.devicemodel/src-gen/edu/ksu/cis/projects/mdcf/devicemodel/parser/antlr/internal/InternalDeviceModelingLanguage.g:3714:3: lv_elems_4_0= ruleSimpleLiteral
{
newCompositeNode(grammarAccess.getSimpleSetLiteralAccess().getElemsSimpleLiteralParserRuleCall_2_1_1_0());
pushFollow(FOLLOW_ruleSimpleLiteral_in_ruleSimpleSetLiteral8210);
lv_elems_4_0=ruleSimpleLiteral();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSimpleSetLiteralRule());
}
add(
current,
"elems",
lv_elems_4_0,
"SimpleLiteral");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop70;
}
} while (true);
}
break;
}
otherlv_5=(Token)match(input,24,FOLLOW_24_in_ruleSimpleSetLiteral8226);
newLeafNode(otherlv_5, grammarAccess.getSimpleSetLiteralAccess().getRightCurlyBracketKeyword_3());
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSimpleSetLiteral"
// Delegated rules
public static final BitSet FOLLOW_ruleModel_in_entryRuleModel75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleModel85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_10_in_ruleModel129 = new BitSet(new long[]{0x0000000000712002L});
public static final BitSet FOLLOW_11_in_ruleModel166 = new BitSet(new long[]{0x0000000000712002L});
public static final BitSet FOLLOW_12_in_ruleModel203 = new BitSet(new long[]{0x0000000000712002L});
public static final BitSet FOLLOW_ruleDecl_in_ruleModel239 = new BitSet(new long[]{0x0000000000712002L});
public static final BitSet FOLLOW_ruleDecl_in_entryRuleDecl276 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleDecl286 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleTypeDecl_in_ruleDecl333 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFeatureDecl_in_ruleDecl360 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleTypeDecl_in_entryRuleTypeDecl395 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleTypeDecl405 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_13_in_ruleTypeDecl442 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleTypeDecl459 = new BitSet(new long[]{0x0000000000004002L});
public static final BitSet FOLLOW_14_in_ruleTypeDecl477 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleTypeDecl497 = new BitSet(new long[]{0x0000000000008002L});
public static final BitSet FOLLOW_15_in_ruleTypeDecl510 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleTypeDecl530 = new BitSet(new long[]{0x0000000000008002L});
public static final BitSet FOLLOW_ruleFeatureDecl_in_entryRuleFeatureDecl570 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFeatureDecl580 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_16_in_ruleFeatureDecl619 = new BitSet(new long[]{0x00000000000E0010L});
public static final BitSet FOLLOW_17_in_ruleFeatureDecl647 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_18_in_ruleFeatureDecl684 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_19_in_ruleFeatureDecl721 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_20_in_ruleFeatureDecl756 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_21_in_ruleFeatureDecl785 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_22_in_ruleFeatureDecl814 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFeatureDecl842 = new BitSet(new long[]{0x0000000002804002L});
public static final BitSet FOLLOW_14_in_ruleFeatureDecl860 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFeatureDecl880 = new BitSet(new long[]{0x0000000002808002L});
public static final BitSet FOLLOW_15_in_ruleFeatureDecl893 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleFeatureDecl913 = new BitSet(new long[]{0x0000000002808002L});
public static final BitSet FOLLOW_23_in_ruleFeatureDecl930 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_ruleMemberDecl_in_ruleFeatureDecl951 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_24_in_ruleFeatureDecl964 = new BitSet(new long[]{0x0000000002000002L});
public static final BitSet FOLLOW_25_in_ruleFeatureDecl979 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleFeatureDecl991 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleDevice_in_ruleFeatureDecl1012 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleAssignment_in_ruleFeatureDecl1034 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleFeatureDecl1056 = new BitSet(new long[]{0x0000000001000000L});
public static final BitSet FOLLOW_24_in_ruleFeatureDecl1068 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMemberDecl_in_entryRuleMemberDecl1106 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleMemberDecl1116 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAttrDecl_in_ruleMemberDecl1163 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSubMemberDecl_in_ruleMemberDecl1190 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInvariantDecl_in_ruleMemberDecl1217 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAttrDecl_in_entryRuleAttrDecl1252 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAttrDecl1262 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleModifier_in_ruleAttrDecl1308 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleAttrDecl1325 = new BitSet(new long[]{0x000000000C000000L});
public static final BitSet FOLLOW_26_in_ruleAttrDecl1344 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleAttrDecl1365 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_27_in_ruleAttrDecl1378 = new BitSet(new long[]{0x1020CC0000000010L});
public static final BitSet FOLLOW_ruleLiteral_in_ruleAttrDecl1399 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_27_in_ruleAttrDecl1421 = new BitSet(new long[]{0x1020CC0000000010L});
public static final BitSet FOLLOW_ruleLiteral_in_ruleAttrDecl1442 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleModifier_in_entryRuleModifier1480 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleModifier1490 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_28_in_ruleModifier1528 = new BitSet(new long[]{0x00000000200E0002L});
public static final BitSet FOLLOW_17_in_ruleModifier1556 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_18_in_ruleModifier1593 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_19_in_ruleModifier1630 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_29_in_ruleModifier1667 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_30_in_ruleModifier1702 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_31_in_ruleModifier1731 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_32_in_ruleModifier1760 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSubMemberDecl_in_entryRuleSubMemberDecl1806 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSubMemberDecl1816 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMModifier_in_ruleSubMemberDecl1862 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleSubMemberDecl1880 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleSubMemberDecl1897 = new BitSet(new long[]{0x0000D88000000010L});
public static final BitSet FOLLOW_ruleFeatureType_in_ruleSubMemberDecl1918 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMModifier_in_entryRuleMModifier1954 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleMModifier1964 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_33_in_ruleMModifier2002 = new BitSet(new long[]{0x0000000400001C02L});
public static final BitSet FOLLOW_10_in_ruleMModifier2030 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_11_in_ruleMModifier2067 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_12_in_ruleMModifier2104 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_34_in_ruleMModifier2141 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_35_in_ruleMModifier2176 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_36_in_ruleMModifier2205 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_37_in_ruleMModifier2234 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_38_in_ruleMModifier2263 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleAssignment_in_entryRuleAssignment2309 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleAssignment2319 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleAssignment2361 = new BitSet(new long[]{0x0000000008000000L});
public static final BitSet FOLLOW_27_in_ruleAssignment2378 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleAssignment2399 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleFeatureType_in_entryRuleFeatureType2437 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleFeatureType2447 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2494 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_39_in_ruleFeatureType2512 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleFeatureType2533 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2554 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleFeatureType2566 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_27_in_ruleFeatureType2579 = new BitSet(new long[]{0x0000040000000000L});
public static final BitSet FOLLOW_42_in_ruleFeatureType2597 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_ruleFeatureType2632 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleFeatureType2653 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2674 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleFeatureType2686 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_27_in_ruleFeatureType2699 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleFeatureType2711 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_ruleMemberDecl_in_ruleFeatureType2732 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_24_in_ruleFeatureType2745 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_44_in_ruleFeatureType2767 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleFeatureType2788 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2809 = new BitSet(new long[]{0x0000200000000000L});
public static final BitSet FOLLOW_45_in_ruleFeatureType2822 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType2843 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_41_in_ruleFeatureType2857 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_27_in_ruleFeatureType2870 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_RULE_NAT_in_ruleFeatureType2887 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleFeatureType2904 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_ruleMemberDecl_in_ruleFeatureType2925 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_24_in_ruleFeatureType2938 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_ruleFeatureType2960 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleFeatureType2981 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3002 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleFeatureType3014 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_27_in_ruleFeatureType3027 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleFeatureType3039 = new BitSet(new long[]{0x0000020000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3061 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_45_in_ruleFeatureType3074 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3095 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_41_in_ruleFeatureType3111 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_47_in_ruleFeatureType3133 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleFeatureType3154 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3175 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleFeatureType3187 = new BitSet(new long[]{0x0000000008000002L});
public static final BitSet FOLLOW_27_in_ruleFeatureType3200 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleFeatureType3212 = new BitSet(new long[]{0x0000000001000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3234 = new BitSet(new long[]{0x0000200001000000L});
public static final BitSet FOLLOW_45_in_ruleFeatureType3247 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_ruleFeatureType3268 = new BitSet(new long[]{0x0000200001000000L});
public static final BitSet FOLLOW_24_in_ruleFeatureType3284 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBaseFeatureType_in_entryRuleBaseFeatureType3323 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBaseFeatureType3333 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBaseFeatureType3378 = new BitSet(new long[]{0x0000000008008002L});
public static final BitSet FOLLOW_15_in_ruleBaseFeatureType3391 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBaseFeatureType3411 = new BitSet(new long[]{0x0000000008008002L});
public static final BitSet FOLLOW_27_in_ruleBaseFeatureType3426 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleBaseFeatureType3438 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_ruleMemberDecl_in_ruleBaseFeatureType3459 = new BitSet(new long[]{0x0001007BD1000010L});
public static final BitSet FOLLOW_24_in_ruleBaseFeatureType3472 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleInvariantDecl_in_entryRuleInvariantDecl3510 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleInvariantDecl3520 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMultiplicityInvariant_in_ruleInvariantDecl3567 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleGeneralInvariant_in_ruleInvariantDecl3594 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleMultiplicityInvariant_in_entryRuleMultiplicityInvariant3629 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleMultiplicityInvariant3639 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_48_in_ruleMultiplicityInvariant3676 = new BitSet(new long[]{0x0008000000000030L});
public static final BitSet FOLLOW_RULE_ID_in_ruleMultiplicityInvariant3694 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleMultiplicityInvariant3711 = new BitSet(new long[]{0x0008000000000030L});
public static final BitSet FOLLOW_ruleConstraintNat_in_ruleMultiplicityInvariant3735 = new BitSet(new long[]{0x0002000000000000L});
public static final BitSet FOLLOW_49_in_ruleMultiplicityInvariant3747 = new BitSet(new long[]{0x0008000000000030L});
public static final BitSet FOLLOW_ruleConstraintNat_in_ruleMultiplicityInvariant3768 = new BitSet(new long[]{0x0008000000000010L});
public static final BitSet FOLLOW_ruleSubMemberMatch_in_ruleMultiplicityInvariant3790 = new BitSet(new long[]{0x0000000004000002L});
public static final BitSet FOLLOW_26_in_ruleMultiplicityInvariant3803 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleMultiplicityInvariant3823 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleGeneralInvariant_in_entryRuleGeneralInvariant3861 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleGeneralInvariant3871 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_48_in_ruleGeneralInvariant3908 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleGeneralInvariant3926 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleGeneralInvariant3943 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleGeneralInvariant3966 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSubMemberMatch_in_entryRuleSubMemberMatch4002 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSubMemberMatch4012 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleSubMemberMatch4055 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_50_in_ruleSubMemberMatch4072 = new BitSet(new long[]{0x0008000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleSubMemberMatch4092 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_51_in_ruleSubMemberMatch4121 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleConstraintNat_in_entryRuleConstraintNat4171 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleConstraintNat4181 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_NAT_in_ruleConstraintNat4233 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_51_in_ruleConstraintNat4267 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleDevice_in_entryRuleDevice4304 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleDevice4314 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDevice4356 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_26_in_ruleDevice4373 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDevice4393 = new BitSet(new long[]{0x0010000000008002L});
public static final BitSet FOLLOW_15_in_ruleDevice4406 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleDevice4426 = new BitSet(new long[]{0x0010000000008002L});
public static final BitSet FOLLOW_ruleConstraintExp_in_ruleDevice4449 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleConstraintExp_in_entryRuleConstraintExp4486 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleConstraintExp4496 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_52_in_ruleConstraintExp4533 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleConstraintExp4554 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleExp_in_entryRuleExp4596 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleExp4606 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_53_in_ruleExp4644 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleExp4674 = new BitSet(new long[]{0xFF88000000000000L,0x000000000000001FL});
public static final BitSet FOLLOW_ruleBinaryOp_in_ruleExp4695 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleExp4716 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_54_in_ruleExp4728 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_53_in_ruleExp4748 = new BitSet(new long[]{0x0000000000000000L,0x00000000000000E6L});
public static final BitSet FOLLOW_ruleUnaryOp_in_ruleExp4778 = new BitSet(new long[]{0x0020000000000010L});
public static final BitSet FOLLOW_ruleExp_in_ruleExp4799 = new BitSet(new long[]{0x0040000000000000L});
public static final BitSet FOLLOW_54_in_ruleExp4811 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rulePrimary_in_ruleExp4849 = new BitSet(new long[]{0x0004000000000002L});
public static final BitSet FOLLOW_50_in_ruleExp4862 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_ID_in_ruleExp4891 = new BitSet(new long[]{0x0004000000000002L});
public static final BitSet FOLLOW_rulePrimary_in_entryRulePrimary4930 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRulePrimary4940 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_rulePrimary4992 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBasicLiteral_in_rulePrimary5035 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBinaryOp_in_entryRuleBinaryOp5073 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBinaryOp5084 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_55_in_ruleBinaryOp5122 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_56_in_ruleBinaryOp5141 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_57_in_ruleBinaryOp5160 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_58_in_ruleBinaryOp5179 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_59_in_ruleBinaryOp5198 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_ruleBinaryOp5217 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_61_in_ruleBinaryOp5236 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_62_in_ruleBinaryOp5255 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_63_in_ruleBinaryOp5274 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_64_in_ruleBinaryOp5293 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_65_in_ruleBinaryOp5312 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_66_in_ruleBinaryOp5331 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_51_in_ruleBinaryOp5350 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_67_in_ruleBinaryOp5369 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_68_in_ruleBinaryOp5388 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleUnaryOp_in_entryRuleUnaryOp5429 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleUnaryOp5440 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_65_in_ruleUnaryOp5478 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_66_in_ruleUnaryOp5497 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_69_in_ruleUnaryOp5516 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_70_in_ruleUnaryOp5535 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_71_in_ruleUnaryOp5554 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleType_in_entryRuleType5594 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleType5604 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_ruleType5642 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleType5663 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleType5684 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleType5696 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_47_in_ruleType5716 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleType5737 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleType5758 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleType5770 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBaseType_in_ruleType5799 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBaseType_in_entryRuleBaseType5834 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBaseType5844 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBaseType5889 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_ruleBaseType5908 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleBaseType5938 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_51_in_ruleBaseType5951 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleBaseType5972 = new BitSet(new long[]{0x0808000000000000L});
public static final BitSet FOLLOW_59_in_ruleBaseType5986 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_39_in_ruleBaseType6006 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleBaseType6027 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleBaseType6048 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleBaseType6060 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_ruleBaseType6080 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleBaseType6101 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleBaseType6122 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleBaseType6134 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_42_in_ruleBaseType6154 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleBaseType6175 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleBaseType6196 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleBaseType6208 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleLiteral_in_entryRuleLiteral6245 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleLiteral6255 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBasicLiteral_in_ruleLiteral6302 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleTupleLiteral_in_ruleLiteral6329 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOptionLiteral_in_ruleLiteral6356 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSeqLiteral_in_ruleLiteral6383 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSetLiteral_in_ruleLiteral6410 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleBasicLiteral_in_entryRuleBasicLiteral6445 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleBasicLiteral6455 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_ID_in_ruleBasicLiteral6500 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_RULE_LIT_in_ruleBasicLiteral6517 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleTupleLiteral_in_entryRuleTupleLiteral6558 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleTupleLiteral6568 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_ruleTupleLiteral6605 = new BitSet(new long[]{0x1820CC0000000010L});
public static final BitSet FOLLOW_ruleLiteral_in_ruleTupleLiteral6636 = new BitSet(new long[]{0x0800200000000000L});
public static final BitSet FOLLOW_45_in_ruleTupleLiteral6649 = new BitSet(new long[]{0x1020CC0000000010L});
public static final BitSet FOLLOW_ruleLiteral_in_ruleTupleLiteral6670 = new BitSet(new long[]{0x0800200000000000L});
public static final BitSet FOLLOW_59_in_ruleTupleLiteral6686 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSeqLiteral_in_entryRuleSeqLiteral6722 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSeqLiteral6732 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_46_in_ruleSeqLiteral6769 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleSeqLiteral6781 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleSeqLiteral6802 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleSeqLiteral6814 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleSeqLiteral6826 = new BitSet(new long[]{0x10000F0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSeqLiteral6848 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_45_in_ruleSeqLiteral6861 = new BitSet(new long[]{0x10000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSeqLiteral6882 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_41_in_ruleSeqLiteral6898 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSetLiteral_in_entryRuleSetLiteral6934 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSetLiteral6944 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_47_in_ruleSetLiteral6981 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleSetLiteral6993 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleSetLiteral7014 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleSetLiteral7026 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_23_in_ruleSetLiteral7038 = new BitSet(new long[]{0x10000D0001800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSetLiteral7060 = new BitSet(new long[]{0x0000200001000000L});
public static final BitSet FOLLOW_45_in_ruleSetLiteral7073 = new BitSet(new long[]{0x10000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSetLiteral7094 = new BitSet(new long[]{0x0000200001000000L});
public static final BitSet FOLLOW_24_in_ruleSetLiteral7110 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleOptionLiteral_in_entryRuleOptionLiteral7146 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleOptionLiteral7156 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_42_in_ruleOptionLiteral7194 = new BitSet(new long[]{0x0000010000000000L});
public static final BitSet FOLLOW_40_in_ruleOptionLiteral7215 = new BitSet(new long[]{0x1000CC8000000010L});
public static final BitSet FOLLOW_ruleType_in_ruleOptionLiteral7236 = new BitSet(new long[]{0x0000020000000000L});
public static final BitSet FOLLOW_41_in_ruleOptionLiteral7248 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_ruleOptionLiteral7268 = new BitSet(new long[]{0x1020CC0000000010L});
public static final BitSet FOLLOW_ruleLiteral_in_ruleOptionLiteral7298 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_entryRuleSimpleLiteral7335 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSimpleLiteral7345 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleBasicLiteral_in_ruleSimpleLiteral7392 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleTupleLiteral_in_ruleSimpleLiteral7419 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleSeqLiteral_in_ruleSimpleLiteral7446 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleSetLiteral_in_ruleSimpleLiteral7473 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleOptionLiteral_in_ruleSimpleLiteral7500 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleBasicLiteral_in_entryRuleSimpleBasicLiteral7535 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSimpleBasicLiteral7545 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_LIT_in_ruleSimpleBasicLiteral7586 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleTupleLiteral_in_entryRuleSimpleTupleLiteral7626 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSimpleTupleLiteral7636 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_60_in_ruleSimpleTupleLiteral7673 = new BitSet(new long[]{0x18000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleTupleLiteral7704 = new BitSet(new long[]{0x0800200000000000L});
public static final BitSet FOLLOW_45_in_ruleSimpleTupleLiteral7717 = new BitSet(new long[]{0x10000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleTupleLiteral7738 = new BitSet(new long[]{0x0800200000000000L});
public static final BitSet FOLLOW_59_in_ruleSimpleTupleLiteral7754 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleOptionLiteral_in_entryRuleSimpleOptionLiteral7790 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSimpleOptionLiteral7800 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_42_in_ruleSimpleOptionLiteral7838 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_43_in_ruleSimpleOptionLiteral7867 = new BitSet(new long[]{0x10000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleOptionLiteral7897 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleSeqLiteral_in_entryRuleSimpleSeqLiteral7934 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSimpleSeqLiteral7944 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_40_in_ruleSimpleSeqLiteral7981 = new BitSet(new long[]{0x10000F0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleSeqLiteral8012 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_45_in_ruleSimpleSeqLiteral8025 = new BitSet(new long[]{0x10000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleSeqLiteral8046 = new BitSet(new long[]{0x0000220000000000L});
public static final BitSet FOLLOW_41_in_ruleSimpleSeqLiteral8062 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSimpleSetLiteral_in_entryRuleSimpleSetLiteral8098 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSimpleSetLiteral8108 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_23_in_ruleSimpleSetLiteral8145 = new BitSet(new long[]{0x10000D0001800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleSetLiteral8176 = new BitSet(new long[]{0x0000200001000000L});
public static final BitSet FOLLOW_45_in_ruleSimpleSetLiteral8189 = new BitSet(new long[]{0x10000D0000800040L});
public static final BitSet FOLLOW_ruleSimpleLiteral_in_ruleSimpleSetLiteral8210 = new BitSet(new long[]{0x0000200001000000L});
public static final BitSet FOLLOW_24_in_ruleSimpleSetLiteral8226 = new BitSet(new long[]{0x0000000000000002L});
}