| package org.eclipse.emf.henshin.text.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.emf.common.util.Enumerator; |
| import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser; |
| import org.eclipse.xtext.parser.antlr.XtextTokenStream; |
| import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens; |
| import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken; |
| import org.eclipse.emf.henshin.text.services.Henshin_textGrammarAccess; |
| |
| |
| |
| import org.antlr.runtime.*; |
| import java.util.Stack; |
| import java.util.List; |
| import java.util.ArrayList; |
| |
| @SuppressWarnings("all") |
| public class InternalHenshin_textParser extends AbstractInternalAntlrParser { |
| public static final String[] tokenNames = new String[] { |
| "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_STRING", "RULE_DECIMAL", "RULE_NEGATIVE", "RULE_INT", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'ePackageImport'", "'.'", "'rule'", "'('", "','", "')'", "'{'", "'}'", "'unit'", "'javaImport'", "'checkDangling'", "'injectiveMatching'", "'conditions'", "'['", "']'", "'graph'", "'preserve'", "'create'", "'delete'", "'forbid'", "'require'", "'edges'", "'->'", "':'", "'node'", "'reuse'", "'='", "'set'", "'multiRule'", "'matchingFormula'", "'formula'", "'OR'", "'XOR'", "'AND'", "'!'", "'conditionGraph'", "'strict'", "'rollback'", "'independent'", "'if'", "'then'", "'else'", "'priority'", "'for'", "'while'", "'true'", "'false'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'-'", "'*'", "'/'", "'IN'", "'OUT'", "'INOUT'", "'VAR'", "'EBigDecimal'", "'EBigInteger'", "'EBoolean'", "'EBooleanObject'", "'EByte'", "'EByteArray'", "'EByteObject'", "'EChar'", "'ECharacterObject'", "'EDate'", "'EDiagnosticChain'", "'EDouble'", "'EDoubleObject'", "'EEList'", "'EEnumerator'", "'EFeatureMap'", "'EFeatureMapEntry'", "'EFloat'", "'EFloatObject'", "'EInt'", "'EIntegerObject'", "'ETreeIterator'", "'EInvocationTargetException'", "'EJavaClass'", "'EJavaObject'", "'ELong'", "'ELongObject'", "'EMap'", "'EResource'", "'EResourceSet'", "'EShort'", "'EShortObject'", "'EString'" |
| }; |
| public static final int T__50=50; |
| public static final int T__59=59; |
| public static final int T__55=55; |
| public static final int T__56=56; |
| 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__52=52; |
| public static final int T__53=53; |
| public static final int T__54=54; |
| public static final int T__60=60; |
| public static final int T__61=61; |
| public static final int RULE_ID=4; |
| public static final int RULE_INT=8; |
| public static final int T__66=66; |
| public static final int RULE_ML_COMMENT=9; |
| public static final int T__67=67; |
| public static final int T__68=68; |
| public static final int T__69=69; |
| public static final int T__62=62; |
| public static final int T__63=63; |
| public static final int T__64=64; |
| public static final int T__65=65; |
| 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 T__33=33; |
| public static final int T__34=34; |
| public static final int T__35=35; |
| public static final int T__36=36; |
| 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__48=48; |
| public static final int T__49=49; |
| public static final int T__44=44; |
| public static final int T__45=45; |
| public static final int T__46=46; |
| public static final int T__47=47; |
| public static final int T__40=40; |
| public static final int T__41=41; |
| public static final int T__42=42; |
| public static final int T__43=43; |
| public static final int T__91=91; |
| public static final int T__100=100; |
| public static final int T__92=92; |
| public static final int T__93=93; |
| public static final int T__102=102; |
| public static final int T__94=94; |
| public static final int T__101=101; |
| public static final int T__90=90; |
| public static final int RULE_NEGATIVE=7; |
| public static final int T__19=19; |
| public static final int T__15=15; |
| public static final int T__16=16; |
| public static final int T__17=17; |
| public static final int T__18=18; |
| public static final int T__99=99; |
| public static final int T__13=13; |
| public static final int T__14=14; |
| public static final int T__95=95; |
| public static final int T__96=96; |
| public static final int T__97=97; |
| public static final int T__98=98; |
| public static final int RULE_DECIMAL=6; |
| public static final int T__26=26; |
| public static final int T__27=27; |
| public static final int T__28=28; |
| public static final int T__29=29; |
| public static final int T__22=22; |
| public static final int T__23=23; |
| public static final int T__24=24; |
| public static final int T__25=25; |
| public static final int T__20=20; |
| public static final int T__21=21; |
| public static final int T__70=70; |
| public static final int T__71=71; |
| public static final int T__72=72; |
| public static final int RULE_STRING=5; |
| public static final int RULE_SL_COMMENT=10; |
| public static final int T__77=77; |
| public static final int T__78=78; |
| public static final int T__79=79; |
| public static final int T__73=73; |
| public static final int EOF=-1; |
| public static final int T__74=74; |
| public static final int T__75=75; |
| public static final int T__76=76; |
| public static final int T__80=80; |
| public static final int T__81=81; |
| public static final int T__82=82; |
| public static final int T__83=83; |
| public static final int RULE_WS=11; |
| public static final int RULE_ANY_OTHER=12; |
| public static final int T__88=88; |
| public static final int T__89=89; |
| public static final int T__84=84; |
| public static final int T__104=104; |
| public static final int T__85=85; |
| public static final int T__103=103; |
| public static final int T__86=86; |
| public static final int T__106=106; |
| public static final int T__87=87; |
| public static final int T__105=105; |
| |
| // delegates |
| // delegators |
| |
| |
| public InternalHenshin_textParser(TokenStream input) { |
| this(input, new RecognizerSharedState()); |
| } |
| public InternalHenshin_textParser(TokenStream input, RecognizerSharedState state) { |
| super(input, state); |
| |
| } |
| |
| |
| public String[] getTokenNames() { return InternalHenshin_textParser.tokenNames; } |
| public String getGrammarFileName() { return "InternalHenshin_text.g"; } |
| |
| |
| |
| private Henshin_textGrammarAccess grammarAccess; |
| |
| public InternalHenshin_textParser(TokenStream input, Henshin_textGrammarAccess grammarAccess) { |
| this(input); |
| this.grammarAccess = grammarAccess; |
| registerRules(grammarAccess.getGrammar()); |
| } |
| |
| @Override |
| protected String getFirstRuleName() { |
| return "Model"; |
| } |
| |
| @Override |
| protected Henshin_textGrammarAccess getGrammarAccess() { |
| return grammarAccess; |
| } |
| |
| |
| |
| |
| // $ANTLR start "entryRuleModel" |
| // InternalHenshin_text.g:65:1: entryRuleModel returns [EObject current=null] : iv_ruleModel= ruleModel EOF ; |
| public final EObject entryRuleModel() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleModel = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:65:46: (iv_ruleModel= ruleModel EOF ) |
| // InternalHenshin_text.g:66:2: iv_ruleModel= ruleModel EOF |
| { |
| newCompositeNode(grammarAccess.getModelRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleModel=ruleModel(); |
| |
| state._fsp--; |
| |
| current =iv_ruleModel; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleModel" |
| |
| |
| // $ANTLR start "ruleModel" |
| // InternalHenshin_text.g:72:1: ruleModel returns [EObject current=null] : ( ( (lv_ePackageimports_0_0= ruleEPackageImport ) )+ ( (lv_transformationsystem_1_0= ruleModelElement ) )* ) ; |
| public final EObject ruleModel() throws RecognitionException { |
| EObject current = null; |
| |
| EObject lv_ePackageimports_0_0 = null; |
| |
| EObject lv_transformationsystem_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:78:2: ( ( ( (lv_ePackageimports_0_0= ruleEPackageImport ) )+ ( (lv_transformationsystem_1_0= ruleModelElement ) )* ) ) |
| // InternalHenshin_text.g:79:2: ( ( (lv_ePackageimports_0_0= ruleEPackageImport ) )+ ( (lv_transformationsystem_1_0= ruleModelElement ) )* ) |
| { |
| // InternalHenshin_text.g:79:2: ( ( (lv_ePackageimports_0_0= ruleEPackageImport ) )+ ( (lv_transformationsystem_1_0= ruleModelElement ) )* ) |
| // InternalHenshin_text.g:80:3: ( (lv_ePackageimports_0_0= ruleEPackageImport ) )+ ( (lv_transformationsystem_1_0= ruleModelElement ) )* |
| { |
| // InternalHenshin_text.g:80:3: ( (lv_ePackageimports_0_0= ruleEPackageImport ) )+ |
| int cnt1=0; |
| loop1: |
| do { |
| int alt1=2; |
| int LA1_0 = input.LA(1); |
| |
| if ( (LA1_0==13) ) { |
| alt1=1; |
| } |
| |
| |
| switch (alt1) { |
| case 1 : |
| // InternalHenshin_text.g:81:4: (lv_ePackageimports_0_0= ruleEPackageImport ) |
| { |
| // InternalHenshin_text.g:81:4: (lv_ePackageimports_0_0= ruleEPackageImport ) |
| // InternalHenshin_text.g:82:5: lv_ePackageimports_0_0= ruleEPackageImport |
| { |
| |
| newCompositeNode(grammarAccess.getModelAccess().getEPackageimportsEPackageImportParserRuleCall_0_0()); |
| |
| pushFollow(FOLLOW_3); |
| lv_ePackageimports_0_0=ruleEPackageImport(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelRule()); |
| } |
| add( |
| current, |
| "ePackageimports", |
| lv_ePackageimports_0_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EPackageImport"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt1 >= 1 ) break loop1; |
| EarlyExitException eee = |
| new EarlyExitException(1, input); |
| throw eee; |
| } |
| cnt1++; |
| } while (true); |
| |
| // InternalHenshin_text.g:99:3: ( (lv_transformationsystem_1_0= ruleModelElement ) )* |
| loop2: |
| do { |
| int alt2=2; |
| int LA2_0 = input.LA(1); |
| |
| if ( (LA2_0==15||LA2_0==21) ) { |
| alt2=1; |
| } |
| |
| |
| switch (alt2) { |
| case 1 : |
| // InternalHenshin_text.g:100:4: (lv_transformationsystem_1_0= ruleModelElement ) |
| { |
| // InternalHenshin_text.g:100:4: (lv_transformationsystem_1_0= ruleModelElement ) |
| // InternalHenshin_text.g:101:5: lv_transformationsystem_1_0= ruleModelElement |
| { |
| |
| newCompositeNode(grammarAccess.getModelAccess().getTransformationsystemModelElementParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_4); |
| lv_transformationsystem_1_0=ruleModelElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelRule()); |
| } |
| add( |
| current, |
| "transformationsystem", |
| lv_transformationsystem_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ModelElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop2; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleModel" |
| |
| |
| // $ANTLR start "entryRuleEPackageImport" |
| // InternalHenshin_text.g:122:1: entryRuleEPackageImport returns [EObject current=null] : iv_ruleEPackageImport= ruleEPackageImport EOF ; |
| public final EObject entryRuleEPackageImport() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleEPackageImport = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:122:55: (iv_ruleEPackageImport= ruleEPackageImport EOF ) |
| // InternalHenshin_text.g:123:2: iv_ruleEPackageImport= ruleEPackageImport EOF |
| { |
| newCompositeNode(grammarAccess.getEPackageImportRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleEPackageImport=ruleEPackageImport(); |
| |
| state._fsp--; |
| |
| current =iv_ruleEPackageImport; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleEPackageImport" |
| |
| |
| // $ANTLR start "ruleEPackageImport" |
| // InternalHenshin_text.g:129:1: ruleEPackageImport returns [EObject current=null] : (otherlv_0= 'ePackageImport' ( ( ruleEString ) ) ) ; |
| public final EObject ruleEPackageImport() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:135:2: ( (otherlv_0= 'ePackageImport' ( ( ruleEString ) ) ) ) |
| // InternalHenshin_text.g:136:2: (otherlv_0= 'ePackageImport' ( ( ruleEString ) ) ) |
| { |
| // InternalHenshin_text.g:136:2: (otherlv_0= 'ePackageImport' ( ( ruleEString ) ) ) |
| // InternalHenshin_text.g:137:3: otherlv_0= 'ePackageImport' ( ( ruleEString ) ) |
| { |
| otherlv_0=(Token)match(input,13,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getEPackageImportAccess().getEPackageImportKeyword_0()); |
| |
| // InternalHenshin_text.g:141:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:142:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:142:4: ( ruleEString ) |
| // InternalHenshin_text.g:143:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getEPackageImportRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getEPackageImportAccess().getRefEPackageCrossReference_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleEPackageImport" |
| |
| |
| // $ANTLR start "entryRuleEString" |
| // InternalHenshin_text.g:161:1: entryRuleEString returns [String current=null] : iv_ruleEString= ruleEString EOF ; |
| public final String entryRuleEString() throws RecognitionException { |
| String current = null; |
| |
| AntlrDatatypeRuleToken iv_ruleEString = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:161:47: (iv_ruleEString= ruleEString EOF ) |
| // InternalHenshin_text.g:162:2: iv_ruleEString= ruleEString EOF |
| { |
| newCompositeNode(grammarAccess.getEStringRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleEString=ruleEString(); |
| |
| state._fsp--; |
| |
| current =iv_ruleEString.getText(); |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleEString" |
| |
| |
| // $ANTLR start "ruleEString" |
| // InternalHenshin_text.g:168:1: ruleEString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ; |
| public final AntlrDatatypeRuleToken ruleEString() throws RecognitionException { |
| AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
| |
| Token this_ID_0=null; |
| Token kw=null; |
| Token this_ID_2=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:174:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ) |
| // InternalHenshin_text.g:175:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) |
| { |
| // InternalHenshin_text.g:175:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) |
| // InternalHenshin_text.g:176:3: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* |
| { |
| this_ID_0=(Token)match(input,RULE_ID,FOLLOW_6); |
| |
| current.merge(this_ID_0); |
| |
| |
| newLeafNode(this_ID_0, grammarAccess.getEStringAccess().getIDTerminalRuleCall_0()); |
| |
| // InternalHenshin_text.g:183:3: (kw= '.' this_ID_2= RULE_ID )* |
| loop3: |
| do { |
| int alt3=2; |
| int LA3_0 = input.LA(1); |
| |
| if ( (LA3_0==14) ) { |
| alt3=1; |
| } |
| |
| |
| switch (alt3) { |
| case 1 : |
| // InternalHenshin_text.g:184:4: kw= '.' this_ID_2= RULE_ID |
| { |
| kw=(Token)match(input,14,FOLLOW_5); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getEStringAccess().getFullStopKeyword_1_0()); |
| |
| this_ID_2=(Token)match(input,RULE_ID,FOLLOW_6); |
| |
| current.merge(this_ID_2); |
| |
| |
| newLeafNode(this_ID_2, grammarAccess.getEStringAccess().getIDTerminalRuleCall_1_1()); |
| |
| |
| } |
| break; |
| |
| default : |
| break loop3; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleEString" |
| |
| |
| // $ANTLR start "entryRuleModelElement" |
| // InternalHenshin_text.g:201:1: entryRuleModelElement returns [EObject current=null] : iv_ruleModelElement= ruleModelElement EOF ; |
| public final EObject entryRuleModelElement() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleModelElement = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:201:53: (iv_ruleModelElement= ruleModelElement EOF ) |
| // InternalHenshin_text.g:202:2: iv_ruleModelElement= ruleModelElement EOF |
| { |
| newCompositeNode(grammarAccess.getModelElementRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleModelElement=ruleModelElement(); |
| |
| state._fsp--; |
| |
| current =iv_ruleModelElement; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleModelElement" |
| |
| |
| // $ANTLR start "ruleModelElement" |
| // InternalHenshin_text.g:208:1: ruleModelElement returns [EObject current=null] : ( (otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' ) | (otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' ) ) ; |
| public final EObject ruleModelElement() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token lv_name_2_0=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| Token otherlv_7=null; |
| Token otherlv_8=null; |
| Token otherlv_10=null; |
| Token otherlv_11=null; |
| Token lv_name_13_0=null; |
| Token otherlv_14=null; |
| Token otherlv_16=null; |
| Token otherlv_18=null; |
| Token otherlv_19=null; |
| Token otherlv_21=null; |
| EObject lv_parameters_4_0 = null; |
| |
| EObject lv_parameters_6_0 = null; |
| |
| EObject lv_ruleElements_9_0 = null; |
| |
| EObject lv_parameters_15_0 = null; |
| |
| EObject lv_parameters_17_0 = null; |
| |
| EObject lv_unitElements_20_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:214:2: ( ( (otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' ) | (otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' ) ) ) |
| // InternalHenshin_text.g:215:2: ( (otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' ) | (otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' ) ) |
| { |
| // InternalHenshin_text.g:215:2: ( (otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' ) | (otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' ) ) |
| int alt10=2; |
| int LA10_0 = input.LA(1); |
| |
| if ( (LA10_0==15) ) { |
| alt10=1; |
| } |
| else if ( (LA10_0==21) ) { |
| alt10=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 10, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt10) { |
| case 1 : |
| // InternalHenshin_text.g:216:3: (otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' ) |
| { |
| // InternalHenshin_text.g:216:3: (otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' ) |
| // InternalHenshin_text.g:217:4: otherlv_0= 'rule' () ( (lv_name_2_0= RULE_ID ) ) otherlv_3= '(' ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? otherlv_7= ')' otherlv_8= '{' ( (lv_ruleElements_9_0= ruleRuleElement ) )+ otherlv_10= '}' |
| { |
| otherlv_0=(Token)match(input,15,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getModelElementAccess().getRuleKeyword_0_0()); |
| |
| // InternalHenshin_text.g:221:4: () |
| // InternalHenshin_text.g:222:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getModelElementAccess().getRuleAction_0_1(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:228:4: ( (lv_name_2_0= RULE_ID ) ) |
| // InternalHenshin_text.g:229:5: (lv_name_2_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:229:5: (lv_name_2_0= RULE_ID ) |
| // InternalHenshin_text.g:230:6: lv_name_2_0= RULE_ID |
| { |
| lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_7); |
| |
| newLeafNode(lv_name_2_0, grammarAccess.getModelElementAccess().getNameIDTerminalRuleCall_0_2_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getModelElementRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_2_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_3=(Token)match(input,16,FOLLOW_8); |
| |
| newLeafNode(otherlv_3, grammarAccess.getModelElementAccess().getLeftParenthesisKeyword_0_3()); |
| |
| // InternalHenshin_text.g:250:4: ( ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* )? |
| int alt5=2; |
| int LA5_0 = input.LA(1); |
| |
| if ( (LA5_0==RULE_ID||(LA5_0>=70 && LA5_0<=73)) ) { |
| alt5=1; |
| } |
| switch (alt5) { |
| case 1 : |
| // InternalHenshin_text.g:251:5: ( (lv_parameters_4_0= ruleParameter ) ) (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* |
| { |
| // InternalHenshin_text.g:251:5: ( (lv_parameters_4_0= ruleParameter ) ) |
| // InternalHenshin_text.g:252:6: (lv_parameters_4_0= ruleParameter ) |
| { |
| // InternalHenshin_text.g:252:6: (lv_parameters_4_0= ruleParameter ) |
| // InternalHenshin_text.g:253:7: lv_parameters_4_0= ruleParameter |
| { |
| |
| newCompositeNode(grammarAccess.getModelElementAccess().getParametersParameterParserRuleCall_0_4_0_0()); |
| |
| pushFollow(FOLLOW_9); |
| lv_parameters_4_0=ruleParameter(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelElementRule()); |
| } |
| add( |
| current, |
| "parameters", |
| lv_parameters_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Parameter"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:270:5: (otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) )* |
| loop4: |
| do { |
| int alt4=2; |
| int LA4_0 = input.LA(1); |
| |
| if ( (LA4_0==17) ) { |
| alt4=1; |
| } |
| |
| |
| switch (alt4) { |
| case 1 : |
| // InternalHenshin_text.g:271:6: otherlv_5= ',' ( (lv_parameters_6_0= ruleParameter ) ) |
| { |
| otherlv_5=(Token)match(input,17,FOLLOW_10); |
| |
| newLeafNode(otherlv_5, grammarAccess.getModelElementAccess().getCommaKeyword_0_4_1_0()); |
| |
| // InternalHenshin_text.g:275:6: ( (lv_parameters_6_0= ruleParameter ) ) |
| // InternalHenshin_text.g:276:7: (lv_parameters_6_0= ruleParameter ) |
| { |
| // InternalHenshin_text.g:276:7: (lv_parameters_6_0= ruleParameter ) |
| // InternalHenshin_text.g:277:8: lv_parameters_6_0= ruleParameter |
| { |
| |
| newCompositeNode(grammarAccess.getModelElementAccess().getParametersParameterParserRuleCall_0_4_1_1_0()); |
| |
| pushFollow(FOLLOW_9); |
| lv_parameters_6_0=ruleParameter(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelElementRule()); |
| } |
| add( |
| current, |
| "parameters", |
| lv_parameters_6_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Parameter"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop4; |
| } |
| } while (true); |
| |
| |
| } |
| break; |
| |
| } |
| |
| otherlv_7=(Token)match(input,18,FOLLOW_11); |
| |
| newLeafNode(otherlv_7, grammarAccess.getModelElementAccess().getRightParenthesisKeyword_0_5()); |
| |
| otherlv_8=(Token)match(input,19,FOLLOW_12); |
| |
| newLeafNode(otherlv_8, grammarAccess.getModelElementAccess().getLeftCurlyBracketKeyword_0_6()); |
| |
| // InternalHenshin_text.g:304:4: ( (lv_ruleElements_9_0= ruleRuleElement ) )+ |
| int cnt6=0; |
| loop6: |
| do { |
| int alt6=2; |
| int LA6_0 = input.LA(1); |
| |
| if ( ((LA6_0>=22 && LA6_0<=25)||LA6_0==28) ) { |
| alt6=1; |
| } |
| |
| |
| switch (alt6) { |
| case 1 : |
| // InternalHenshin_text.g:305:5: (lv_ruleElements_9_0= ruleRuleElement ) |
| { |
| // InternalHenshin_text.g:305:5: (lv_ruleElements_9_0= ruleRuleElement ) |
| // InternalHenshin_text.g:306:6: lv_ruleElements_9_0= ruleRuleElement |
| { |
| |
| newCompositeNode(grammarAccess.getModelElementAccess().getRuleElementsRuleElementParserRuleCall_0_7_0()); |
| |
| pushFollow(FOLLOW_13); |
| lv_ruleElements_9_0=ruleRuleElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelElementRule()); |
| } |
| add( |
| current, |
| "ruleElements", |
| lv_ruleElements_9_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.RuleElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt6 >= 1 ) break loop6; |
| EarlyExitException eee = |
| new EarlyExitException(6, input); |
| throw eee; |
| } |
| cnt6++; |
| } while (true); |
| |
| otherlv_10=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_10, grammarAccess.getModelElementAccess().getRightCurlyBracketKeyword_0_8()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:329:3: (otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' ) |
| { |
| // InternalHenshin_text.g:329:3: (otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' ) |
| // InternalHenshin_text.g:330:4: otherlv_11= 'unit' () ( (lv_name_13_0= RULE_ID ) ) otherlv_14= '(' ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? otherlv_18= ')' otherlv_19= '{' ( (lv_unitElements_20_0= ruleUnitElement ) )+ otherlv_21= '}' |
| { |
| otherlv_11=(Token)match(input,21,FOLLOW_5); |
| |
| newLeafNode(otherlv_11, grammarAccess.getModelElementAccess().getUnitKeyword_1_0()); |
| |
| // InternalHenshin_text.g:334:4: () |
| // InternalHenshin_text.g:335:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getModelElementAccess().getUnitAction_1_1(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:341:4: ( (lv_name_13_0= RULE_ID ) ) |
| // InternalHenshin_text.g:342:5: (lv_name_13_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:342:5: (lv_name_13_0= RULE_ID ) |
| // InternalHenshin_text.g:343:6: lv_name_13_0= RULE_ID |
| { |
| lv_name_13_0=(Token)match(input,RULE_ID,FOLLOW_7); |
| |
| newLeafNode(lv_name_13_0, grammarAccess.getModelElementAccess().getNameIDTerminalRuleCall_1_2_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getModelElementRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_13_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_14=(Token)match(input,16,FOLLOW_8); |
| |
| newLeafNode(otherlv_14, grammarAccess.getModelElementAccess().getLeftParenthesisKeyword_1_3()); |
| |
| // InternalHenshin_text.g:363:4: ( ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* )? |
| int alt8=2; |
| int LA8_0 = input.LA(1); |
| |
| if ( (LA8_0==RULE_ID||(LA8_0>=70 && LA8_0<=73)) ) { |
| alt8=1; |
| } |
| switch (alt8) { |
| case 1 : |
| // InternalHenshin_text.g:364:5: ( (lv_parameters_15_0= ruleParameter ) ) (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* |
| { |
| // InternalHenshin_text.g:364:5: ( (lv_parameters_15_0= ruleParameter ) ) |
| // InternalHenshin_text.g:365:6: (lv_parameters_15_0= ruleParameter ) |
| { |
| // InternalHenshin_text.g:365:6: (lv_parameters_15_0= ruleParameter ) |
| // InternalHenshin_text.g:366:7: lv_parameters_15_0= ruleParameter |
| { |
| |
| newCompositeNode(grammarAccess.getModelElementAccess().getParametersParameterParserRuleCall_1_4_0_0()); |
| |
| pushFollow(FOLLOW_9); |
| lv_parameters_15_0=ruleParameter(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelElementRule()); |
| } |
| add( |
| current, |
| "parameters", |
| lv_parameters_15_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Parameter"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:383:5: (otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) )* |
| loop7: |
| do { |
| int alt7=2; |
| int LA7_0 = input.LA(1); |
| |
| if ( (LA7_0==17) ) { |
| alt7=1; |
| } |
| |
| |
| switch (alt7) { |
| case 1 : |
| // InternalHenshin_text.g:384:6: otherlv_16= ',' ( (lv_parameters_17_0= ruleParameter ) ) |
| { |
| otherlv_16=(Token)match(input,17,FOLLOW_10); |
| |
| newLeafNode(otherlv_16, grammarAccess.getModelElementAccess().getCommaKeyword_1_4_1_0()); |
| |
| // InternalHenshin_text.g:388:6: ( (lv_parameters_17_0= ruleParameter ) ) |
| // InternalHenshin_text.g:389:7: (lv_parameters_17_0= ruleParameter ) |
| { |
| // InternalHenshin_text.g:389:7: (lv_parameters_17_0= ruleParameter ) |
| // InternalHenshin_text.g:390:8: lv_parameters_17_0= ruleParameter |
| { |
| |
| newCompositeNode(grammarAccess.getModelElementAccess().getParametersParameterParserRuleCall_1_4_1_1_0()); |
| |
| pushFollow(FOLLOW_9); |
| lv_parameters_17_0=ruleParameter(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelElementRule()); |
| } |
| add( |
| current, |
| "parameters", |
| lv_parameters_17_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Parameter"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop7; |
| } |
| } while (true); |
| |
| |
| } |
| break; |
| |
| } |
| |
| otherlv_18=(Token)match(input,18,FOLLOW_11); |
| |
| newLeafNode(otherlv_18, grammarAccess.getModelElementAccess().getRightParenthesisKeyword_1_5()); |
| |
| otherlv_19=(Token)match(input,19,FOLLOW_14); |
| |
| newLeafNode(otherlv_19, grammarAccess.getModelElementAccess().getLeftCurlyBracketKeyword_1_6()); |
| |
| // InternalHenshin_text.g:417:4: ( (lv_unitElements_20_0= ruleUnitElement ) )+ |
| int cnt9=0; |
| loop9: |
| do { |
| int alt9=2; |
| int LA9_0 = input.LA(1); |
| |
| if ( (LA9_0==RULE_ID||LA9_0==19||(LA9_0>=49 && LA9_0<=52)||(LA9_0>=55 && LA9_0<=57)) ) { |
| alt9=1; |
| } |
| |
| |
| switch (alt9) { |
| case 1 : |
| // InternalHenshin_text.g:418:5: (lv_unitElements_20_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:418:5: (lv_unitElements_20_0= ruleUnitElement ) |
| // InternalHenshin_text.g:419:6: lv_unitElements_20_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getModelElementAccess().getUnitElementsUnitElementParserRuleCall_1_7_0()); |
| |
| pushFollow(FOLLOW_15); |
| lv_unitElements_20_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getModelElementRule()); |
| } |
| add( |
| current, |
| "unitElements", |
| lv_unitElements_20_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt9 >= 1 ) break loop9; |
| EarlyExitException eee = |
| new EarlyExitException(9, input); |
| throw eee; |
| } |
| cnt9++; |
| } while (true); |
| |
| otherlv_21=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_21, grammarAccess.getModelElementAccess().getRightCurlyBracketKeyword_1_8()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleModelElement" |
| |
| |
| // $ANTLR start "entryRuleRuleElement" |
| // InternalHenshin_text.g:445:1: entryRuleRuleElement returns [EObject current=null] : iv_ruleRuleElement= ruleRuleElement EOF ; |
| public final EObject entryRuleRuleElement() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleRuleElement = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:445:52: (iv_ruleRuleElement= ruleRuleElement EOF ) |
| // InternalHenshin_text.g:446:2: iv_ruleRuleElement= ruleRuleElement EOF |
| { |
| newCompositeNode(grammarAccess.getRuleElementRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleRuleElement=ruleRuleElement(); |
| |
| state._fsp--; |
| |
| current =iv_ruleRuleElement; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleRuleElement" |
| |
| |
| // $ANTLR start "ruleRuleElement" |
| // InternalHenshin_text.g:452:1: ruleRuleElement returns [EObject current=null] : (this_JavaImport_0= ruleJavaImport | this_CheckDangling_1= ruleCheckDangling | this_InjectiveMatching_2= ruleInjectiveMatching | this_Conditions_3= ruleConditions | this_Graph_4= ruleGraph ) ; |
| public final EObject ruleRuleElement() throws RecognitionException { |
| EObject current = null; |
| |
| EObject this_JavaImport_0 = null; |
| |
| EObject this_CheckDangling_1 = null; |
| |
| EObject this_InjectiveMatching_2 = null; |
| |
| EObject this_Conditions_3 = null; |
| |
| EObject this_Graph_4 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:458:2: ( (this_JavaImport_0= ruleJavaImport | this_CheckDangling_1= ruleCheckDangling | this_InjectiveMatching_2= ruleInjectiveMatching | this_Conditions_3= ruleConditions | this_Graph_4= ruleGraph ) ) |
| // InternalHenshin_text.g:459:2: (this_JavaImport_0= ruleJavaImport | this_CheckDangling_1= ruleCheckDangling | this_InjectiveMatching_2= ruleInjectiveMatching | this_Conditions_3= ruleConditions | this_Graph_4= ruleGraph ) |
| { |
| // InternalHenshin_text.g:459:2: (this_JavaImport_0= ruleJavaImport | this_CheckDangling_1= ruleCheckDangling | this_InjectiveMatching_2= ruleInjectiveMatching | this_Conditions_3= ruleConditions | this_Graph_4= ruleGraph ) |
| int alt11=5; |
| switch ( input.LA(1) ) { |
| case 22: |
| { |
| alt11=1; |
| } |
| break; |
| case 23: |
| { |
| alt11=2; |
| } |
| break; |
| case 24: |
| { |
| alt11=3; |
| } |
| break; |
| case 25: |
| { |
| alt11=4; |
| } |
| break; |
| case 28: |
| { |
| alt11=5; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 11, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt11) { |
| case 1 : |
| // InternalHenshin_text.g:460:3: this_JavaImport_0= ruleJavaImport |
| { |
| |
| newCompositeNode(grammarAccess.getRuleElementAccess().getJavaImportParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_2); |
| this_JavaImport_0=ruleJavaImport(); |
| |
| state._fsp--; |
| |
| |
| current = this_JavaImport_0; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:469:3: this_CheckDangling_1= ruleCheckDangling |
| { |
| |
| newCompositeNode(grammarAccess.getRuleElementAccess().getCheckDanglingParserRuleCall_1()); |
| |
| pushFollow(FOLLOW_2); |
| this_CheckDangling_1=ruleCheckDangling(); |
| |
| state._fsp--; |
| |
| |
| current = this_CheckDangling_1; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:478:3: this_InjectiveMatching_2= ruleInjectiveMatching |
| { |
| |
| newCompositeNode(grammarAccess.getRuleElementAccess().getInjectiveMatchingParserRuleCall_2()); |
| |
| pushFollow(FOLLOW_2); |
| this_InjectiveMatching_2=ruleInjectiveMatching(); |
| |
| state._fsp--; |
| |
| |
| current = this_InjectiveMatching_2; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:487:3: this_Conditions_3= ruleConditions |
| { |
| |
| newCompositeNode(grammarAccess.getRuleElementAccess().getConditionsParserRuleCall_3()); |
| |
| pushFollow(FOLLOW_2); |
| this_Conditions_3=ruleConditions(); |
| |
| state._fsp--; |
| |
| |
| current = this_Conditions_3; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 5 : |
| // InternalHenshin_text.g:496:3: this_Graph_4= ruleGraph |
| { |
| |
| newCompositeNode(grammarAccess.getRuleElementAccess().getGraphParserRuleCall_4()); |
| |
| pushFollow(FOLLOW_2); |
| this_Graph_4=ruleGraph(); |
| |
| state._fsp--; |
| |
| |
| current = this_Graph_4; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleRuleElement" |
| |
| |
| // $ANTLR start "entryRuleJavaImport" |
| // InternalHenshin_text.g:508:1: entryRuleJavaImport returns [EObject current=null] : iv_ruleJavaImport= ruleJavaImport EOF ; |
| public final EObject entryRuleJavaImport() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleJavaImport = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:508:51: (iv_ruleJavaImport= ruleJavaImport EOF ) |
| // InternalHenshin_text.g:509:2: iv_ruleJavaImport= ruleJavaImport EOF |
| { |
| newCompositeNode(grammarAccess.getJavaImportRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleJavaImport=ruleJavaImport(); |
| |
| state._fsp--; |
| |
| current =iv_ruleJavaImport; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleJavaImport" |
| |
| |
| // $ANTLR start "ruleJavaImport" |
| // InternalHenshin_text.g:515:1: ruleJavaImport returns [EObject current=null] : (otherlv_0= 'javaImport' ( (lv_packagename_1_0= ruleEString ) ) ) ; |
| public final EObject ruleJavaImport() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| AntlrDatatypeRuleToken lv_packagename_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:521:2: ( (otherlv_0= 'javaImport' ( (lv_packagename_1_0= ruleEString ) ) ) ) |
| // InternalHenshin_text.g:522:2: (otherlv_0= 'javaImport' ( (lv_packagename_1_0= ruleEString ) ) ) |
| { |
| // InternalHenshin_text.g:522:2: (otherlv_0= 'javaImport' ( (lv_packagename_1_0= ruleEString ) ) ) |
| // InternalHenshin_text.g:523:3: otherlv_0= 'javaImport' ( (lv_packagename_1_0= ruleEString ) ) |
| { |
| otherlv_0=(Token)match(input,22,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getJavaImportAccess().getJavaImportKeyword_0()); |
| |
| // InternalHenshin_text.g:527:3: ( (lv_packagename_1_0= ruleEString ) ) |
| // InternalHenshin_text.g:528:4: (lv_packagename_1_0= ruleEString ) |
| { |
| // InternalHenshin_text.g:528:4: (lv_packagename_1_0= ruleEString ) |
| // InternalHenshin_text.g:529:5: lv_packagename_1_0= ruleEString |
| { |
| |
| newCompositeNode(grammarAccess.getJavaImportAccess().getPackagenameEStringParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_packagename_1_0=ruleEString(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getJavaImportRule()); |
| } |
| set( |
| current, |
| "packagename", |
| lv_packagename_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EString"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleJavaImport" |
| |
| |
| // $ANTLR start "entryRuleCheckDangling" |
| // InternalHenshin_text.g:550:1: entryRuleCheckDangling returns [EObject current=null] : iv_ruleCheckDangling= ruleCheckDangling EOF ; |
| public final EObject entryRuleCheckDangling() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleCheckDangling = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:550:54: (iv_ruleCheckDangling= ruleCheckDangling EOF ) |
| // InternalHenshin_text.g:551:2: iv_ruleCheckDangling= ruleCheckDangling EOF |
| { |
| newCompositeNode(grammarAccess.getCheckDanglingRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleCheckDangling=ruleCheckDangling(); |
| |
| state._fsp--; |
| |
| current =iv_ruleCheckDangling; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleCheckDangling" |
| |
| |
| // $ANTLR start "ruleCheckDangling" |
| // InternalHenshin_text.g:557:1: ruleCheckDangling returns [EObject current=null] : (otherlv_0= 'checkDangling' ( (lv_checkDangling_1_0= ruleEBoolean ) ) ) ; |
| public final EObject ruleCheckDangling() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| AntlrDatatypeRuleToken lv_checkDangling_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:563:2: ( (otherlv_0= 'checkDangling' ( (lv_checkDangling_1_0= ruleEBoolean ) ) ) ) |
| // InternalHenshin_text.g:564:2: (otherlv_0= 'checkDangling' ( (lv_checkDangling_1_0= ruleEBoolean ) ) ) |
| { |
| // InternalHenshin_text.g:564:2: (otherlv_0= 'checkDangling' ( (lv_checkDangling_1_0= ruleEBoolean ) ) ) |
| // InternalHenshin_text.g:565:3: otherlv_0= 'checkDangling' ( (lv_checkDangling_1_0= ruleEBoolean ) ) |
| { |
| otherlv_0=(Token)match(input,23,FOLLOW_16); |
| |
| newLeafNode(otherlv_0, grammarAccess.getCheckDanglingAccess().getCheckDanglingKeyword_0()); |
| |
| // InternalHenshin_text.g:569:3: ( (lv_checkDangling_1_0= ruleEBoolean ) ) |
| // InternalHenshin_text.g:570:4: (lv_checkDangling_1_0= ruleEBoolean ) |
| { |
| // InternalHenshin_text.g:570:4: (lv_checkDangling_1_0= ruleEBoolean ) |
| // InternalHenshin_text.g:571:5: lv_checkDangling_1_0= ruleEBoolean |
| { |
| |
| newCompositeNode(grammarAccess.getCheckDanglingAccess().getCheckDanglingEBooleanParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_checkDangling_1_0=ruleEBoolean(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getCheckDanglingRule()); |
| } |
| set( |
| current, |
| "checkDangling", |
| lv_checkDangling_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EBoolean"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleCheckDangling" |
| |
| |
| // $ANTLR start "entryRuleInjectiveMatching" |
| // InternalHenshin_text.g:592:1: entryRuleInjectiveMatching returns [EObject current=null] : iv_ruleInjectiveMatching= ruleInjectiveMatching EOF ; |
| public final EObject entryRuleInjectiveMatching() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleInjectiveMatching = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:592:58: (iv_ruleInjectiveMatching= ruleInjectiveMatching EOF ) |
| // InternalHenshin_text.g:593:2: iv_ruleInjectiveMatching= ruleInjectiveMatching EOF |
| { |
| newCompositeNode(grammarAccess.getInjectiveMatchingRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleInjectiveMatching=ruleInjectiveMatching(); |
| |
| state._fsp--; |
| |
| current =iv_ruleInjectiveMatching; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleInjectiveMatching" |
| |
| |
| // $ANTLR start "ruleInjectiveMatching" |
| // InternalHenshin_text.g:599:1: ruleInjectiveMatching returns [EObject current=null] : (otherlv_0= 'injectiveMatching' ( (lv_injectiveMatching_1_0= ruleEBoolean ) ) ) ; |
| public final EObject ruleInjectiveMatching() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| AntlrDatatypeRuleToken lv_injectiveMatching_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:605:2: ( (otherlv_0= 'injectiveMatching' ( (lv_injectiveMatching_1_0= ruleEBoolean ) ) ) ) |
| // InternalHenshin_text.g:606:2: (otherlv_0= 'injectiveMatching' ( (lv_injectiveMatching_1_0= ruleEBoolean ) ) ) |
| { |
| // InternalHenshin_text.g:606:2: (otherlv_0= 'injectiveMatching' ( (lv_injectiveMatching_1_0= ruleEBoolean ) ) ) |
| // InternalHenshin_text.g:607:3: otherlv_0= 'injectiveMatching' ( (lv_injectiveMatching_1_0= ruleEBoolean ) ) |
| { |
| otherlv_0=(Token)match(input,24,FOLLOW_16); |
| |
| newLeafNode(otherlv_0, grammarAccess.getInjectiveMatchingAccess().getInjectiveMatchingKeyword_0()); |
| |
| // InternalHenshin_text.g:611:3: ( (lv_injectiveMatching_1_0= ruleEBoolean ) ) |
| // InternalHenshin_text.g:612:4: (lv_injectiveMatching_1_0= ruleEBoolean ) |
| { |
| // InternalHenshin_text.g:612:4: (lv_injectiveMatching_1_0= ruleEBoolean ) |
| // InternalHenshin_text.g:613:5: lv_injectiveMatching_1_0= ruleEBoolean |
| { |
| |
| newCompositeNode(grammarAccess.getInjectiveMatchingAccess().getInjectiveMatchingEBooleanParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_injectiveMatching_1_0=ruleEBoolean(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getInjectiveMatchingRule()); |
| } |
| set( |
| current, |
| "injectiveMatching", |
| lv_injectiveMatching_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EBoolean"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleInjectiveMatching" |
| |
| |
| // $ANTLR start "entryRuleConditions" |
| // InternalHenshin_text.g:634:1: entryRuleConditions returns [EObject current=null] : iv_ruleConditions= ruleConditions EOF ; |
| public final EObject entryRuleConditions() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditions = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:634:51: (iv_ruleConditions= ruleConditions EOF ) |
| // InternalHenshin_text.g:635:2: iv_ruleConditions= ruleConditions EOF |
| { |
| newCompositeNode(grammarAccess.getConditionsRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditions=ruleConditions(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditions; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditions" |
| |
| |
| // $ANTLR start "ruleConditions" |
| // InternalHenshin_text.g:641:1: ruleConditions returns [EObject current=null] : (otherlv_0= 'conditions' otherlv_1= '[' ( (lv_attributeConditions_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) )* otherlv_5= ']' ) ; |
| public final EObject ruleConditions() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| EObject lv_attributeConditions_2_0 = null; |
| |
| EObject lv_attributeConditions_4_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:647:2: ( (otherlv_0= 'conditions' otherlv_1= '[' ( (lv_attributeConditions_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) )* otherlv_5= ']' ) ) |
| // InternalHenshin_text.g:648:2: (otherlv_0= 'conditions' otherlv_1= '[' ( (lv_attributeConditions_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) )* otherlv_5= ']' ) |
| { |
| // InternalHenshin_text.g:648:2: (otherlv_0= 'conditions' otherlv_1= '[' ( (lv_attributeConditions_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) )* otherlv_5= ']' ) |
| // InternalHenshin_text.g:649:3: otherlv_0= 'conditions' otherlv_1= '[' ( (lv_attributeConditions_2_0= ruleExpression ) ) (otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) )* otherlv_5= ']' |
| { |
| otherlv_0=(Token)match(input,25,FOLLOW_17); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionsAccess().getConditionsKeyword_0()); |
| |
| otherlv_1=(Token)match(input,26,FOLLOW_18); |
| |
| newLeafNode(otherlv_1, grammarAccess.getConditionsAccess().getLeftSquareBracketKeyword_1()); |
| |
| // InternalHenshin_text.g:657:3: ( (lv_attributeConditions_2_0= ruleExpression ) ) |
| // InternalHenshin_text.g:658:4: (lv_attributeConditions_2_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:658:4: (lv_attributeConditions_2_0= ruleExpression ) |
| // InternalHenshin_text.g:659:5: lv_attributeConditions_2_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getConditionsAccess().getAttributeConditionsExpressionParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_attributeConditions_2_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionsRule()); |
| } |
| add( |
| current, |
| "attributeConditions", |
| lv_attributeConditions_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:676:3: (otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) )* |
| loop12: |
| do { |
| int alt12=2; |
| int LA12_0 = input.LA(1); |
| |
| if ( (LA12_0==17) ) { |
| alt12=1; |
| } |
| |
| |
| switch (alt12) { |
| case 1 : |
| // InternalHenshin_text.g:677:4: otherlv_3= ',' ( (lv_attributeConditions_4_0= ruleExpression ) ) |
| { |
| otherlv_3=(Token)match(input,17,FOLLOW_18); |
| |
| newLeafNode(otherlv_3, grammarAccess.getConditionsAccess().getCommaKeyword_3_0()); |
| |
| // InternalHenshin_text.g:681:4: ( (lv_attributeConditions_4_0= ruleExpression ) ) |
| // InternalHenshin_text.g:682:5: (lv_attributeConditions_4_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:682:5: (lv_attributeConditions_4_0= ruleExpression ) |
| // InternalHenshin_text.g:683:6: lv_attributeConditions_4_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getConditionsAccess().getAttributeConditionsExpressionParserRuleCall_3_1_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_attributeConditions_4_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionsRule()); |
| } |
| add( |
| current, |
| "attributeConditions", |
| lv_attributeConditions_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop12; |
| } |
| } while (true); |
| |
| otherlv_5=(Token)match(input,27,FOLLOW_2); |
| |
| newLeafNode(otherlv_5, grammarAccess.getConditionsAccess().getRightSquareBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditions" |
| |
| |
| // $ANTLR start "entryRuleGraph" |
| // InternalHenshin_text.g:709:1: entryRuleGraph returns [EObject current=null] : iv_ruleGraph= ruleGraph EOF ; |
| public final EObject entryRuleGraph() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleGraph = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:709:46: (iv_ruleGraph= ruleGraph EOF ) |
| // InternalHenshin_text.g:710:2: iv_ruleGraph= ruleGraph EOF |
| { |
| newCompositeNode(grammarAccess.getGraphRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleGraph=ruleGraph(); |
| |
| state._fsp--; |
| |
| current =iv_ruleGraph; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleGraph" |
| |
| |
| // $ANTLR start "ruleGraph" |
| // InternalHenshin_text.g:716:1: ruleGraph returns [EObject current=null] : ( () otherlv_1= 'graph' otherlv_2= '{' ( (lv_graphElements_3_0= ruleGraphElements ) )* otherlv_4= '}' ) ; |
| public final EObject ruleGraph() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject lv_graphElements_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:722:2: ( ( () otherlv_1= 'graph' otherlv_2= '{' ( (lv_graphElements_3_0= ruleGraphElements ) )* otherlv_4= '}' ) ) |
| // InternalHenshin_text.g:723:2: ( () otherlv_1= 'graph' otherlv_2= '{' ( (lv_graphElements_3_0= ruleGraphElements ) )* otherlv_4= '}' ) |
| { |
| // InternalHenshin_text.g:723:2: ( () otherlv_1= 'graph' otherlv_2= '{' ( (lv_graphElements_3_0= ruleGraphElements ) )* otherlv_4= '}' ) |
| // InternalHenshin_text.g:724:3: () otherlv_1= 'graph' otherlv_2= '{' ( (lv_graphElements_3_0= ruleGraphElements ) )* otherlv_4= '}' |
| { |
| // InternalHenshin_text.g:724:3: () |
| // InternalHenshin_text.g:725:4: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getGraphAccess().getGraphAction_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_1=(Token)match(input,28,FOLLOW_11); |
| |
| newLeafNode(otherlv_1, grammarAccess.getGraphAccess().getGraphKeyword_1()); |
| |
| otherlv_2=(Token)match(input,19,FOLLOW_20); |
| |
| newLeafNode(otherlv_2, grammarAccess.getGraphAccess().getLeftCurlyBracketKeyword_2()); |
| |
| // InternalHenshin_text.g:739:3: ( (lv_graphElements_3_0= ruleGraphElements ) )* |
| loop13: |
| do { |
| int alt13=2; |
| int LA13_0 = input.LA(1); |
| |
| if ( ((LA13_0>=29 && LA13_0<=34)||(LA13_0>=37 && LA13_0<=38)||(LA13_0>=41 && LA13_0<=42)) ) { |
| alt13=1; |
| } |
| |
| |
| switch (alt13) { |
| case 1 : |
| // InternalHenshin_text.g:740:4: (lv_graphElements_3_0= ruleGraphElements ) |
| { |
| // InternalHenshin_text.g:740:4: (lv_graphElements_3_0= ruleGraphElements ) |
| // InternalHenshin_text.g:741:5: lv_graphElements_3_0= ruleGraphElements |
| { |
| |
| newCompositeNode(grammarAccess.getGraphAccess().getGraphElementsGraphElementsParserRuleCall_3_0()); |
| |
| pushFollow(FOLLOW_20); |
| lv_graphElements_3_0=ruleGraphElements(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getGraphRule()); |
| } |
| add( |
| current, |
| "graphElements", |
| lv_graphElements_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.GraphElements"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop13; |
| } |
| } while (true); |
| |
| otherlv_4=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_4, grammarAccess.getGraphAccess().getRightCurlyBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleGraph" |
| |
| |
| // $ANTLR start "entryRuleActionType" |
| // InternalHenshin_text.g:766:1: entryRuleActionType returns [String current=null] : iv_ruleActionType= ruleActionType EOF ; |
| public final String entryRuleActionType() throws RecognitionException { |
| String current = null; |
| |
| AntlrDatatypeRuleToken iv_ruleActionType = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:766:50: (iv_ruleActionType= ruleActionType EOF ) |
| // InternalHenshin_text.g:767:2: iv_ruleActionType= ruleActionType EOF |
| { |
| newCompositeNode(grammarAccess.getActionTypeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleActionType=ruleActionType(); |
| |
| state._fsp--; |
| |
| current =iv_ruleActionType.getText(); |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleActionType" |
| |
| |
| // $ANTLR start "ruleActionType" |
| // InternalHenshin_text.g:773:1: ruleActionType returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'preserve' | kw= 'create' | kw= 'delete' | kw= 'forbid' | kw= 'require' ) ; |
| public final AntlrDatatypeRuleToken ruleActionType() throws RecognitionException { |
| AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
| |
| Token kw=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:779:2: ( (kw= 'preserve' | kw= 'create' | kw= 'delete' | kw= 'forbid' | kw= 'require' ) ) |
| // InternalHenshin_text.g:780:2: (kw= 'preserve' | kw= 'create' | kw= 'delete' | kw= 'forbid' | kw= 'require' ) |
| { |
| // InternalHenshin_text.g:780:2: (kw= 'preserve' | kw= 'create' | kw= 'delete' | kw= 'forbid' | kw= 'require' ) |
| int alt14=5; |
| switch ( input.LA(1) ) { |
| case 29: |
| { |
| alt14=1; |
| } |
| break; |
| case 30: |
| { |
| alt14=2; |
| } |
| break; |
| case 31: |
| { |
| alt14=3; |
| } |
| break; |
| case 32: |
| { |
| alt14=4; |
| } |
| break; |
| case 33: |
| { |
| alt14=5; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 14, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt14) { |
| case 1 : |
| // InternalHenshin_text.g:781:3: kw= 'preserve' |
| { |
| kw=(Token)match(input,29,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getActionTypeAccess().getPreserveKeyword_0()); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:787:3: kw= 'create' |
| { |
| kw=(Token)match(input,30,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getActionTypeAccess().getCreateKeyword_1()); |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:793:3: kw= 'delete' |
| { |
| kw=(Token)match(input,31,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getActionTypeAccess().getDeleteKeyword_2()); |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:799:3: kw= 'forbid' |
| { |
| kw=(Token)match(input,32,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getActionTypeAccess().getForbidKeyword_3()); |
| |
| |
| } |
| break; |
| case 5 : |
| // InternalHenshin_text.g:805:3: kw= 'require' |
| { |
| kw=(Token)match(input,33,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getActionTypeAccess().getRequireKeyword_4()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleActionType" |
| |
| |
| // $ANTLR start "entryRuleGraphElements" |
| // InternalHenshin_text.g:814:1: entryRuleGraphElements returns [EObject current=null] : iv_ruleGraphElements= ruleGraphElements EOF ; |
| public final EObject entryRuleGraphElements() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleGraphElements = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:814:54: (iv_ruleGraphElements= ruleGraphElements EOF ) |
| // InternalHenshin_text.g:815:2: iv_ruleGraphElements= ruleGraphElements EOF |
| { |
| newCompositeNode(grammarAccess.getGraphElementsRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleGraphElements=ruleGraphElements(); |
| |
| state._fsp--; |
| |
| current =iv_ruleGraphElements; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleGraphElements" |
| |
| |
| // $ANTLR start "ruleGraphElements" |
| // InternalHenshin_text.g:821:1: ruleGraphElements returns [EObject current=null] : (this_Edges_0= ruleEdges | this_Node_1= ruleNode | this_Formula_2= ruleFormula | this_MultiRule_3= ruleMultiRule | this_MultiRuleReuseNode_4= ruleMultiRuleReuseNode ) ; |
| public final EObject ruleGraphElements() throws RecognitionException { |
| EObject current = null; |
| |
| EObject this_Edges_0 = null; |
| |
| EObject this_Node_1 = null; |
| |
| EObject this_Formula_2 = null; |
| |
| EObject this_MultiRule_3 = null; |
| |
| EObject this_MultiRuleReuseNode_4 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:827:2: ( (this_Edges_0= ruleEdges | this_Node_1= ruleNode | this_Formula_2= ruleFormula | this_MultiRule_3= ruleMultiRule | this_MultiRuleReuseNode_4= ruleMultiRuleReuseNode ) ) |
| // InternalHenshin_text.g:828:2: (this_Edges_0= ruleEdges | this_Node_1= ruleNode | this_Formula_2= ruleFormula | this_MultiRule_3= ruleMultiRule | this_MultiRuleReuseNode_4= ruleMultiRuleReuseNode ) |
| { |
| // InternalHenshin_text.g:828:2: (this_Edges_0= ruleEdges | this_Node_1= ruleNode | this_Formula_2= ruleFormula | this_MultiRule_3= ruleMultiRule | this_MultiRuleReuseNode_4= ruleMultiRuleReuseNode ) |
| int alt15=5; |
| switch ( input.LA(1) ) { |
| case 34: |
| { |
| alt15=1; |
| } |
| break; |
| case 29: |
| case 30: |
| case 31: |
| case 32: |
| case 33: |
| case 37: |
| { |
| alt15=2; |
| } |
| break; |
| case 42: |
| { |
| alt15=3; |
| } |
| break; |
| case 41: |
| { |
| alt15=4; |
| } |
| break; |
| case 38: |
| { |
| alt15=5; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 15, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt15) { |
| case 1 : |
| // InternalHenshin_text.g:829:3: this_Edges_0= ruleEdges |
| { |
| |
| newCompositeNode(grammarAccess.getGraphElementsAccess().getEdgesParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_2); |
| this_Edges_0=ruleEdges(); |
| |
| state._fsp--; |
| |
| |
| current = this_Edges_0; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:838:3: this_Node_1= ruleNode |
| { |
| |
| newCompositeNode(grammarAccess.getGraphElementsAccess().getNodeParserRuleCall_1()); |
| |
| pushFollow(FOLLOW_2); |
| this_Node_1=ruleNode(); |
| |
| state._fsp--; |
| |
| |
| current = this_Node_1; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:847:3: this_Formula_2= ruleFormula |
| { |
| |
| newCompositeNode(grammarAccess.getGraphElementsAccess().getFormulaParserRuleCall_2()); |
| |
| pushFollow(FOLLOW_2); |
| this_Formula_2=ruleFormula(); |
| |
| state._fsp--; |
| |
| |
| current = this_Formula_2; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:856:3: this_MultiRule_3= ruleMultiRule |
| { |
| |
| newCompositeNode(grammarAccess.getGraphElementsAccess().getMultiRuleParserRuleCall_3()); |
| |
| pushFollow(FOLLOW_2); |
| this_MultiRule_3=ruleMultiRule(); |
| |
| state._fsp--; |
| |
| |
| current = this_MultiRule_3; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 5 : |
| // InternalHenshin_text.g:865:3: this_MultiRuleReuseNode_4= ruleMultiRuleReuseNode |
| { |
| |
| newCompositeNode(grammarAccess.getGraphElementsAccess().getMultiRuleReuseNodeParserRuleCall_4()); |
| |
| pushFollow(FOLLOW_2); |
| this_MultiRuleReuseNode_4=ruleMultiRuleReuseNode(); |
| |
| state._fsp--; |
| |
| |
| current = this_MultiRuleReuseNode_4; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleGraphElements" |
| |
| |
| // $ANTLR start "entryRuleEdges" |
| // InternalHenshin_text.g:877:1: entryRuleEdges returns [EObject current=null] : iv_ruleEdges= ruleEdges EOF ; |
| public final EObject entryRuleEdges() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleEdges = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:877:46: (iv_ruleEdges= ruleEdges EOF ) |
| // InternalHenshin_text.g:878:2: iv_ruleEdges= ruleEdges EOF |
| { |
| newCompositeNode(grammarAccess.getEdgesRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleEdges=ruleEdges(); |
| |
| state._fsp--; |
| |
| current =iv_ruleEdges; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleEdges" |
| |
| |
| // $ANTLR start "ruleEdges" |
| // InternalHenshin_text.g:884:1: ruleEdges returns [EObject current=null] : (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) )* otherlv_5= ']' ) ; |
| public final EObject ruleEdges() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| EObject lv_edges_2_0 = null; |
| |
| EObject lv_edges_4_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:890:2: ( (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) )* otherlv_5= ']' ) ) |
| // InternalHenshin_text.g:891:2: (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) )* otherlv_5= ']' ) |
| { |
| // InternalHenshin_text.g:891:2: (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) )* otherlv_5= ']' ) |
| // InternalHenshin_text.g:892:3: otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) )* otherlv_5= ']' |
| { |
| otherlv_0=(Token)match(input,34,FOLLOW_17); |
| |
| newLeafNode(otherlv_0, grammarAccess.getEdgesAccess().getEdgesKeyword_0()); |
| |
| otherlv_1=(Token)match(input,26,FOLLOW_7); |
| |
| newLeafNode(otherlv_1, grammarAccess.getEdgesAccess().getLeftSquareBracketKeyword_1()); |
| |
| // InternalHenshin_text.g:900:3: ( (lv_edges_2_0= ruleEdge ) ) |
| // InternalHenshin_text.g:901:4: (lv_edges_2_0= ruleEdge ) |
| { |
| // InternalHenshin_text.g:901:4: (lv_edges_2_0= ruleEdge ) |
| // InternalHenshin_text.g:902:5: lv_edges_2_0= ruleEdge |
| { |
| |
| newCompositeNode(grammarAccess.getEdgesAccess().getEdgesEdgeParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_edges_2_0=ruleEdge(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getEdgesRule()); |
| } |
| add( |
| current, |
| "edges", |
| lv_edges_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Edge"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:919:3: (otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) )* |
| loop16: |
| do { |
| int alt16=2; |
| int LA16_0 = input.LA(1); |
| |
| if ( (LA16_0==17) ) { |
| alt16=1; |
| } |
| |
| |
| switch (alt16) { |
| case 1 : |
| // InternalHenshin_text.g:920:4: otherlv_3= ',' ( (lv_edges_4_0= ruleEdge ) ) |
| { |
| otherlv_3=(Token)match(input,17,FOLLOW_7); |
| |
| newLeafNode(otherlv_3, grammarAccess.getEdgesAccess().getCommaKeyword_3_0()); |
| |
| // InternalHenshin_text.g:924:4: ( (lv_edges_4_0= ruleEdge ) ) |
| // InternalHenshin_text.g:925:5: (lv_edges_4_0= ruleEdge ) |
| { |
| // InternalHenshin_text.g:925:5: (lv_edges_4_0= ruleEdge ) |
| // InternalHenshin_text.g:926:6: lv_edges_4_0= ruleEdge |
| { |
| |
| newCompositeNode(grammarAccess.getEdgesAccess().getEdgesEdgeParserRuleCall_3_1_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_edges_4_0=ruleEdge(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getEdgesRule()); |
| } |
| add( |
| current, |
| "edges", |
| lv_edges_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Edge"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop16; |
| } |
| } while (true); |
| |
| otherlv_5=(Token)match(input,27,FOLLOW_2); |
| |
| newLeafNode(otherlv_5, grammarAccess.getEdgesAccess().getRightSquareBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleEdges" |
| |
| |
| // $ANTLR start "entryRuleEdge" |
| // InternalHenshin_text.g:952:1: entryRuleEdge returns [EObject current=null] : iv_ruleEdge= ruleEdge EOF ; |
| public final EObject entryRuleEdge() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleEdge = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:952:45: (iv_ruleEdge= ruleEdge EOF ) |
| // InternalHenshin_text.g:953:2: iv_ruleEdge= ruleEdge EOF |
| { |
| newCompositeNode(grammarAccess.getEdgeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleEdge=ruleEdge(); |
| |
| state._fsp--; |
| |
| current =iv_ruleEdge; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleEdge" |
| |
| |
| // $ANTLR start "ruleEdge" |
| // InternalHenshin_text.g:959:1: ruleEdge returns [EObject current=null] : (otherlv_0= '(' ( (lv_actiontype_1_0= ruleActionType ) )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '->' ( (otherlv_4= RULE_ID ) ) otherlv_5= ':' ( ( ruleEString ) ) otherlv_7= ')' ) ; |
| public final EObject ruleEdge() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_2=null; |
| Token otherlv_3=null; |
| Token otherlv_4=null; |
| Token otherlv_5=null; |
| Token otherlv_7=null; |
| AntlrDatatypeRuleToken lv_actiontype_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:965:2: ( (otherlv_0= '(' ( (lv_actiontype_1_0= ruleActionType ) )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '->' ( (otherlv_4= RULE_ID ) ) otherlv_5= ':' ( ( ruleEString ) ) otherlv_7= ')' ) ) |
| // InternalHenshin_text.g:966:2: (otherlv_0= '(' ( (lv_actiontype_1_0= ruleActionType ) )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '->' ( (otherlv_4= RULE_ID ) ) otherlv_5= ':' ( ( ruleEString ) ) otherlv_7= ')' ) |
| { |
| // InternalHenshin_text.g:966:2: (otherlv_0= '(' ( (lv_actiontype_1_0= ruleActionType ) )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '->' ( (otherlv_4= RULE_ID ) ) otherlv_5= ':' ( ( ruleEString ) ) otherlv_7= ')' ) |
| // InternalHenshin_text.g:967:3: otherlv_0= '(' ( (lv_actiontype_1_0= ruleActionType ) )? ( (otherlv_2= RULE_ID ) ) otherlv_3= '->' ( (otherlv_4= RULE_ID ) ) otherlv_5= ':' ( ( ruleEString ) ) otherlv_7= ')' |
| { |
| otherlv_0=(Token)match(input,16,FOLLOW_21); |
| |
| newLeafNode(otherlv_0, grammarAccess.getEdgeAccess().getLeftParenthesisKeyword_0()); |
| |
| // InternalHenshin_text.g:971:3: ( (lv_actiontype_1_0= ruleActionType ) )? |
| int alt17=2; |
| int LA17_0 = input.LA(1); |
| |
| if ( ((LA17_0>=29 && LA17_0<=33)) ) { |
| alt17=1; |
| } |
| switch (alt17) { |
| case 1 : |
| // InternalHenshin_text.g:972:4: (lv_actiontype_1_0= ruleActionType ) |
| { |
| // InternalHenshin_text.g:972:4: (lv_actiontype_1_0= ruleActionType ) |
| // InternalHenshin_text.g:973:5: lv_actiontype_1_0= ruleActionType |
| { |
| |
| newCompositeNode(grammarAccess.getEdgeAccess().getActiontypeActionTypeParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_5); |
| lv_actiontype_1_0=ruleActionType(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getEdgeRule()); |
| } |
| set( |
| current, |
| "actiontype", |
| lv_actiontype_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ActionType"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| // InternalHenshin_text.g:990:3: ( (otherlv_2= RULE_ID ) ) |
| // InternalHenshin_text.g:991:4: (otherlv_2= RULE_ID ) |
| { |
| // InternalHenshin_text.g:991:4: (otherlv_2= RULE_ID ) |
| // InternalHenshin_text.g:992:5: otherlv_2= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getEdgeRule()); |
| } |
| |
| otherlv_2=(Token)match(input,RULE_ID,FOLLOW_22); |
| |
| newLeafNode(otherlv_2, grammarAccess.getEdgeAccess().getSourceRuleNodeTypesCrossReference_2_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_3=(Token)match(input,35,FOLLOW_5); |
| |
| newLeafNode(otherlv_3, grammarAccess.getEdgeAccess().getHyphenMinusGreaterThanSignKeyword_3()); |
| |
| // InternalHenshin_text.g:1007:3: ( (otherlv_4= RULE_ID ) ) |
| // InternalHenshin_text.g:1008:4: (otherlv_4= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1008:4: (otherlv_4= RULE_ID ) |
| // InternalHenshin_text.g:1009:5: otherlv_4= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getEdgeRule()); |
| } |
| |
| otherlv_4=(Token)match(input,RULE_ID,FOLLOW_23); |
| |
| newLeafNode(otherlv_4, grammarAccess.getEdgeAccess().getTargetRuleNodeTypesCrossReference_4_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_5=(Token)match(input,36,FOLLOW_5); |
| |
| newLeafNode(otherlv_5, grammarAccess.getEdgeAccess().getColonKeyword_5()); |
| |
| // InternalHenshin_text.g:1024:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:1025:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:1025:4: ( ruleEString ) |
| // InternalHenshin_text.g:1026:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getEdgeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getEdgeAccess().getTypeEReferenceCrossReference_6_0()); |
| |
| pushFollow(FOLLOW_24); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_7=(Token)match(input,18,FOLLOW_2); |
| |
| newLeafNode(otherlv_7, grammarAccess.getEdgeAccess().getRightParenthesisKeyword_7()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleEdge" |
| |
| |
| // $ANTLR start "entryRuleNode" |
| // InternalHenshin_text.g:1048:1: entryRuleNode returns [EObject current=null] : iv_ruleNode= ruleNode EOF ; |
| public final EObject entryRuleNode() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleNode = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1048:45: (iv_ruleNode= ruleNode EOF ) |
| // InternalHenshin_text.g:1049:2: iv_ruleNode= ruleNode EOF |
| { |
| newCompositeNode(grammarAccess.getNodeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleNode=ruleNode(); |
| |
| state._fsp--; |
| |
| current =iv_ruleNode; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleNode" |
| |
| |
| // $ANTLR start "ruleNode" |
| // InternalHenshin_text.g:1055:1: ruleNode returns [EObject current=null] : ( ( (lv_actiontype_0_0= ruleActionType ) )? otherlv_1= 'node' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( ruleEString ) ) (otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' )? ) ; |
| public final EObject ruleNode() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| Token lv_name_2_0=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| Token otherlv_7=null; |
| AntlrDatatypeRuleToken lv_actiontype_0_0 = null; |
| |
| EObject lv_attribute_6_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1061:2: ( ( ( (lv_actiontype_0_0= ruleActionType ) )? otherlv_1= 'node' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( ruleEString ) ) (otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' )? ) ) |
| // InternalHenshin_text.g:1062:2: ( ( (lv_actiontype_0_0= ruleActionType ) )? otherlv_1= 'node' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( ruleEString ) ) (otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' )? ) |
| { |
| // InternalHenshin_text.g:1062:2: ( ( (lv_actiontype_0_0= ruleActionType ) )? otherlv_1= 'node' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( ruleEString ) ) (otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' )? ) |
| // InternalHenshin_text.g:1063:3: ( (lv_actiontype_0_0= ruleActionType ) )? otherlv_1= 'node' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( ruleEString ) ) (otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' )? |
| { |
| // InternalHenshin_text.g:1063:3: ( (lv_actiontype_0_0= ruleActionType ) )? |
| int alt18=2; |
| int LA18_0 = input.LA(1); |
| |
| if ( ((LA18_0>=29 && LA18_0<=33)) ) { |
| alt18=1; |
| } |
| switch (alt18) { |
| case 1 : |
| // InternalHenshin_text.g:1064:4: (lv_actiontype_0_0= ruleActionType ) |
| { |
| // InternalHenshin_text.g:1064:4: (lv_actiontype_0_0= ruleActionType ) |
| // InternalHenshin_text.g:1065:5: lv_actiontype_0_0= ruleActionType |
| { |
| |
| newCompositeNode(grammarAccess.getNodeAccess().getActiontypeActionTypeParserRuleCall_0_0()); |
| |
| pushFollow(FOLLOW_25); |
| lv_actiontype_0_0=ruleActionType(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getNodeRule()); |
| } |
| set( |
| current, |
| "actiontype", |
| lv_actiontype_0_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ActionType"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| otherlv_1=(Token)match(input,37,FOLLOW_5); |
| |
| newLeafNode(otherlv_1, grammarAccess.getNodeAccess().getNodeKeyword_1()); |
| |
| // InternalHenshin_text.g:1086:3: ( (lv_name_2_0= RULE_ID ) ) |
| // InternalHenshin_text.g:1087:4: (lv_name_2_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1087:4: (lv_name_2_0= RULE_ID ) |
| // InternalHenshin_text.g:1088:5: lv_name_2_0= RULE_ID |
| { |
| lv_name_2_0=(Token)match(input,RULE_ID,FOLLOW_23); |
| |
| newLeafNode(lv_name_2_0, grammarAccess.getNodeAccess().getNameIDTerminalRuleCall_2_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getNodeRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_2_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_3=(Token)match(input,36,FOLLOW_5); |
| |
| newLeafNode(otherlv_3, grammarAccess.getNodeAccess().getColonKeyword_3()); |
| |
| // InternalHenshin_text.g:1108:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:1109:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:1109:4: ( ruleEString ) |
| // InternalHenshin_text.g:1110:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getNodeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getNodeAccess().getNodetypeEClassCrossReference_4_0()); |
| |
| pushFollow(FOLLOW_26); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1124:3: (otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' )? |
| int alt20=2; |
| int LA20_0 = input.LA(1); |
| |
| if ( (LA20_0==19) ) { |
| alt20=1; |
| } |
| switch (alt20) { |
| case 1 : |
| // InternalHenshin_text.g:1125:4: otherlv_5= '{' ( (lv_attribute_6_0= ruleAttribute ) )* otherlv_7= '}' |
| { |
| otherlv_5=(Token)match(input,19,FOLLOW_27); |
| |
| newLeafNode(otherlv_5, grammarAccess.getNodeAccess().getLeftCurlyBracketKeyword_5_0()); |
| |
| // InternalHenshin_text.g:1129:4: ( (lv_attribute_6_0= ruleAttribute ) )* |
| loop19: |
| do { |
| int alt19=2; |
| int LA19_0 = input.LA(1); |
| |
| if ( (LA19_0==RULE_ID||(LA19_0>=29 && LA19_0<=33)||LA19_0==40) ) { |
| alt19=1; |
| } |
| |
| |
| switch (alt19) { |
| case 1 : |
| // InternalHenshin_text.g:1130:5: (lv_attribute_6_0= ruleAttribute ) |
| { |
| // InternalHenshin_text.g:1130:5: (lv_attribute_6_0= ruleAttribute ) |
| // InternalHenshin_text.g:1131:6: lv_attribute_6_0= ruleAttribute |
| { |
| |
| newCompositeNode(grammarAccess.getNodeAccess().getAttributeAttributeParserRuleCall_5_1_0()); |
| |
| pushFollow(FOLLOW_27); |
| lv_attribute_6_0=ruleAttribute(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getNodeRule()); |
| } |
| add( |
| current, |
| "attribute", |
| lv_attribute_6_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Attribute"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop19; |
| } |
| } while (true); |
| |
| otherlv_7=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_7, grammarAccess.getNodeAccess().getRightCurlyBracketKeyword_5_2()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleNode" |
| |
| |
| // $ANTLR start "entryRuleMultiRuleReuseNode" |
| // InternalHenshin_text.g:1157:1: entryRuleMultiRuleReuseNode returns [EObject current=null] : iv_ruleMultiRuleReuseNode= ruleMultiRuleReuseNode EOF ; |
| public final EObject entryRuleMultiRuleReuseNode() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleMultiRuleReuseNode = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1157:59: (iv_ruleMultiRuleReuseNode= ruleMultiRuleReuseNode EOF ) |
| // InternalHenshin_text.g:1158:2: iv_ruleMultiRuleReuseNode= ruleMultiRuleReuseNode EOF |
| { |
| newCompositeNode(grammarAccess.getMultiRuleReuseNodeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleMultiRuleReuseNode=ruleMultiRuleReuseNode(); |
| |
| state._fsp--; |
| |
| current =iv_ruleMultiRuleReuseNode; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleMultiRuleReuseNode" |
| |
| |
| // $ANTLR start "ruleMultiRuleReuseNode" |
| // InternalHenshin_text.g:1164:1: ruleMultiRuleReuseNode returns [EObject current=null] : (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' )? ) ; |
| public final EObject ruleMultiRuleReuseNode() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject lv_attribute_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1170:2: ( (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' )? ) ) |
| // InternalHenshin_text.g:1171:2: (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' )? ) |
| { |
| // InternalHenshin_text.g:1171:2: (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' )? ) |
| // InternalHenshin_text.g:1172:3: otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' )? |
| { |
| otherlv_0=(Token)match(input,38,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getMultiRuleReuseNodeAccess().getReuseKeyword_0()); |
| |
| // InternalHenshin_text.g:1176:3: ( (otherlv_1= RULE_ID ) ) |
| // InternalHenshin_text.g:1177:4: (otherlv_1= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1177:4: (otherlv_1= RULE_ID ) |
| // InternalHenshin_text.g:1178:5: otherlv_1= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getMultiRuleReuseNodeRule()); |
| } |
| |
| otherlv_1=(Token)match(input,RULE_ID,FOLLOW_26); |
| |
| newLeafNode(otherlv_1, grammarAccess.getMultiRuleReuseNodeAccess().getNameNodeCrossReference_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1189:3: (otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' )? |
| int alt22=2; |
| int LA22_0 = input.LA(1); |
| |
| if ( (LA22_0==19) ) { |
| alt22=1; |
| } |
| switch (alt22) { |
| case 1 : |
| // InternalHenshin_text.g:1190:4: otherlv_2= '{' ( (lv_attribute_3_0= ruleAttribute ) )* otherlv_4= '}' |
| { |
| otherlv_2=(Token)match(input,19,FOLLOW_27); |
| |
| newLeafNode(otherlv_2, grammarAccess.getMultiRuleReuseNodeAccess().getLeftCurlyBracketKeyword_2_0()); |
| |
| // InternalHenshin_text.g:1194:4: ( (lv_attribute_3_0= ruleAttribute ) )* |
| loop21: |
| do { |
| int alt21=2; |
| int LA21_0 = input.LA(1); |
| |
| if ( (LA21_0==RULE_ID||(LA21_0>=29 && LA21_0<=33)||LA21_0==40) ) { |
| alt21=1; |
| } |
| |
| |
| switch (alt21) { |
| case 1 : |
| // InternalHenshin_text.g:1195:5: (lv_attribute_3_0= ruleAttribute ) |
| { |
| // InternalHenshin_text.g:1195:5: (lv_attribute_3_0= ruleAttribute ) |
| // InternalHenshin_text.g:1196:6: lv_attribute_3_0= ruleAttribute |
| { |
| |
| newCompositeNode(grammarAccess.getMultiRuleReuseNodeAccess().getAttributeAttributeParserRuleCall_2_1_0()); |
| |
| pushFollow(FOLLOW_27); |
| lv_attribute_3_0=ruleAttribute(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getMultiRuleReuseNodeRule()); |
| } |
| add( |
| current, |
| "attribute", |
| lv_attribute_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Attribute"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop21; |
| } |
| } while (true); |
| |
| otherlv_4=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_4, grammarAccess.getMultiRuleReuseNodeAccess().getRightCurlyBracketKeyword_2_2()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleMultiRuleReuseNode" |
| |
| |
| // $ANTLR start "entryRuleAttribute" |
| // InternalHenshin_text.g:1222:1: entryRuleAttribute returns [EObject current=null] : iv_ruleAttribute= ruleAttribute EOF ; |
| public final EObject entryRuleAttribute() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleAttribute = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1222:50: (iv_ruleAttribute= ruleAttribute EOF ) |
| // InternalHenshin_text.g:1223:2: iv_ruleAttribute= ruleAttribute EOF |
| { |
| newCompositeNode(grammarAccess.getAttributeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleAttribute=ruleAttribute(); |
| |
| state._fsp--; |
| |
| current =iv_ruleAttribute; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleAttribute" |
| |
| |
| // $ANTLR start "ruleAttribute" |
| // InternalHenshin_text.g:1229:1: ruleAttribute returns [EObject current=null] : ( ( ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) ) | ( ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) ) ) ; |
| public final EObject ruleAttribute() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_2=null; |
| Token lv_update_4_0=null; |
| Token otherlv_6=null; |
| AntlrDatatypeRuleToken lv_actiontype_0_0 = null; |
| |
| EObject lv_value_3_0 = null; |
| |
| EObject lv_value_7_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1235:2: ( ( ( ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) ) | ( ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) ) ) ) |
| // InternalHenshin_text.g:1236:2: ( ( ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) ) | ( ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) ) ) |
| { |
| // InternalHenshin_text.g:1236:2: ( ( ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) ) | ( ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) ) ) |
| int alt24=2; |
| int LA24_0 = input.LA(1); |
| |
| if ( (LA24_0==RULE_ID||(LA24_0>=29 && LA24_0<=33)) ) { |
| alt24=1; |
| } |
| else if ( (LA24_0==40) ) { |
| alt24=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 24, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt24) { |
| case 1 : |
| // InternalHenshin_text.g:1237:3: ( ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) ) |
| { |
| // InternalHenshin_text.g:1237:3: ( ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) ) |
| // InternalHenshin_text.g:1238:4: ( (lv_actiontype_0_0= ruleActionType ) )? ( ( ruleEString ) ) otherlv_2= '=' ( (lv_value_3_0= ruleExpression ) ) |
| { |
| // InternalHenshin_text.g:1238:4: ( (lv_actiontype_0_0= ruleActionType ) )? |
| int alt23=2; |
| int LA23_0 = input.LA(1); |
| |
| if ( ((LA23_0>=29 && LA23_0<=33)) ) { |
| alt23=1; |
| } |
| switch (alt23) { |
| case 1 : |
| // InternalHenshin_text.g:1239:5: (lv_actiontype_0_0= ruleActionType ) |
| { |
| // InternalHenshin_text.g:1239:5: (lv_actiontype_0_0= ruleActionType ) |
| // InternalHenshin_text.g:1240:6: lv_actiontype_0_0= ruleActionType |
| { |
| |
| newCompositeNode(grammarAccess.getAttributeAccess().getActiontypeActionTypeParserRuleCall_0_0_0()); |
| |
| pushFollow(FOLLOW_5); |
| lv_actiontype_0_0=ruleActionType(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAttributeRule()); |
| } |
| set( |
| current, |
| "actiontype", |
| lv_actiontype_0_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ActionType"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| // InternalHenshin_text.g:1257:4: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:1258:5: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:1258:5: ( ruleEString ) |
| // InternalHenshin_text.g:1259:6: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAttributeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getAttributeAccess().getNameEAttributeCrossReference_0_1_0()); |
| |
| pushFollow(FOLLOW_28); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,39,FOLLOW_18); |
| |
| newLeafNode(otherlv_2, grammarAccess.getAttributeAccess().getEqualsSignKeyword_0_2()); |
| |
| // InternalHenshin_text.g:1277:4: ( (lv_value_3_0= ruleExpression ) ) |
| // InternalHenshin_text.g:1278:5: (lv_value_3_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:1278:5: (lv_value_3_0= ruleExpression ) |
| // InternalHenshin_text.g:1279:6: lv_value_3_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getAttributeAccess().getValueExpressionParserRuleCall_0_3_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_value_3_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAttributeRule()); |
| } |
| set( |
| current, |
| "value", |
| lv_value_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:1298:3: ( ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) ) |
| { |
| // InternalHenshin_text.g:1298:3: ( ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) ) |
| // InternalHenshin_text.g:1299:4: ( (lv_update_4_0= 'set' ) ) ( ( ruleEString ) ) otherlv_6= '=' ( (lv_value_7_0= ruleExpression ) ) |
| { |
| // InternalHenshin_text.g:1299:4: ( (lv_update_4_0= 'set' ) ) |
| // InternalHenshin_text.g:1300:5: (lv_update_4_0= 'set' ) |
| { |
| // InternalHenshin_text.g:1300:5: (lv_update_4_0= 'set' ) |
| // InternalHenshin_text.g:1301:6: lv_update_4_0= 'set' |
| { |
| lv_update_4_0=(Token)match(input,40,FOLLOW_5); |
| |
| newLeafNode(lv_update_4_0, grammarAccess.getAttributeAccess().getUpdateSetKeyword_1_0_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAttributeRule()); |
| } |
| setWithLastConsumed(current, "update", lv_update_4_0, "set"); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1313:4: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:1314:5: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:1314:5: ( ruleEString ) |
| // InternalHenshin_text.g:1315:6: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAttributeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getAttributeAccess().getNameEAttributeCrossReference_1_1_0()); |
| |
| pushFollow(FOLLOW_28); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_6=(Token)match(input,39,FOLLOW_18); |
| |
| newLeafNode(otherlv_6, grammarAccess.getAttributeAccess().getEqualsSignKeyword_1_2()); |
| |
| // InternalHenshin_text.g:1333:4: ( (lv_value_7_0= ruleExpression ) ) |
| // InternalHenshin_text.g:1334:5: (lv_value_7_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:1334:5: (lv_value_7_0= ruleExpression ) |
| // InternalHenshin_text.g:1335:6: lv_value_7_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getAttributeAccess().getValueExpressionParserRuleCall_1_3_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_value_7_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAttributeRule()); |
| } |
| set( |
| current, |
| "value", |
| lv_value_7_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleAttribute" |
| |
| |
| // $ANTLR start "entryRuleMultiRule" |
| // InternalHenshin_text.g:1357:1: entryRuleMultiRule returns [EObject current=null] : iv_ruleMultiRule= ruleMultiRule EOF ; |
| public final EObject entryRuleMultiRule() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleMultiRule = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1357:50: (iv_ruleMultiRule= ruleMultiRule EOF ) |
| // InternalHenshin_text.g:1358:2: iv_ruleMultiRule= ruleMultiRule EOF |
| { |
| newCompositeNode(grammarAccess.getMultiRuleRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleMultiRule=ruleMultiRule(); |
| |
| state._fsp--; |
| |
| current =iv_ruleMultiRule; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleMultiRule" |
| |
| |
| // $ANTLR start "ruleMultiRule" |
| // InternalHenshin_text.g:1364:1: ruleMultiRule returns [EObject current=null] : (otherlv_0= 'multiRule' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_multiruleElements_3_0= ruleRuleElement ) )+ otherlv_4= '}' ) ; |
| public final EObject ruleMultiRule() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token lv_name_1_0=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject lv_multiruleElements_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1370:2: ( (otherlv_0= 'multiRule' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_multiruleElements_3_0= ruleRuleElement ) )+ otherlv_4= '}' ) ) |
| // InternalHenshin_text.g:1371:2: (otherlv_0= 'multiRule' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_multiruleElements_3_0= ruleRuleElement ) )+ otherlv_4= '}' ) |
| { |
| // InternalHenshin_text.g:1371:2: (otherlv_0= 'multiRule' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_multiruleElements_3_0= ruleRuleElement ) )+ otherlv_4= '}' ) |
| // InternalHenshin_text.g:1372:3: otherlv_0= 'multiRule' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_multiruleElements_3_0= ruleRuleElement ) )+ otherlv_4= '}' |
| { |
| otherlv_0=(Token)match(input,41,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getMultiRuleAccess().getMultiRuleKeyword_0()); |
| |
| // InternalHenshin_text.g:1376:3: ( (lv_name_1_0= RULE_ID ) ) |
| // InternalHenshin_text.g:1377:4: (lv_name_1_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1377:4: (lv_name_1_0= RULE_ID ) |
| // InternalHenshin_text.g:1378:5: lv_name_1_0= RULE_ID |
| { |
| lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_11); |
| |
| newLeafNode(lv_name_1_0, grammarAccess.getMultiRuleAccess().getNameIDTerminalRuleCall_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getMultiRuleRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,19,FOLLOW_12); |
| |
| newLeafNode(otherlv_2, grammarAccess.getMultiRuleAccess().getLeftCurlyBracketKeyword_2()); |
| |
| // InternalHenshin_text.g:1398:3: ( (lv_multiruleElements_3_0= ruleRuleElement ) )+ |
| int cnt25=0; |
| loop25: |
| do { |
| int alt25=2; |
| int LA25_0 = input.LA(1); |
| |
| if ( ((LA25_0>=22 && LA25_0<=25)||LA25_0==28) ) { |
| alt25=1; |
| } |
| |
| |
| switch (alt25) { |
| case 1 : |
| // InternalHenshin_text.g:1399:4: (lv_multiruleElements_3_0= ruleRuleElement ) |
| { |
| // InternalHenshin_text.g:1399:4: (lv_multiruleElements_3_0= ruleRuleElement ) |
| // InternalHenshin_text.g:1400:5: lv_multiruleElements_3_0= ruleRuleElement |
| { |
| |
| newCompositeNode(grammarAccess.getMultiRuleAccess().getMultiruleElementsRuleElementParserRuleCall_3_0()); |
| |
| pushFollow(FOLLOW_13); |
| lv_multiruleElements_3_0=ruleRuleElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getMultiRuleRule()); |
| } |
| add( |
| current, |
| "multiruleElements", |
| lv_multiruleElements_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.RuleElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt25 >= 1 ) break loop25; |
| EarlyExitException eee = |
| new EarlyExitException(25, input); |
| throw eee; |
| } |
| cnt25++; |
| } while (true); |
| |
| otherlv_4=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_4, grammarAccess.getMultiRuleAccess().getRightCurlyBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleMultiRule" |
| |
| |
| // $ANTLR start "entryRuleFormula" |
| // InternalHenshin_text.g:1425:1: entryRuleFormula returns [EObject current=null] : iv_ruleFormula= ruleFormula EOF ; |
| public final EObject entryRuleFormula() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleFormula = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1425:48: (iv_ruleFormula= ruleFormula EOF ) |
| // InternalHenshin_text.g:1426:2: iv_ruleFormula= ruleFormula EOF |
| { |
| newCompositeNode(grammarAccess.getFormulaRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleFormula=ruleFormula(); |
| |
| state._fsp--; |
| |
| current =iv_ruleFormula; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleFormula" |
| |
| |
| // $ANTLR start "ruleFormula" |
| // InternalHenshin_text.g:1432:1: ruleFormula returns [EObject current=null] : (otherlv_0= 'matchingFormula' otherlv_1= '{' otherlv_2= 'formula' ( (lv_formula_3_0= ruleLogic ) ) ( (lv_conditionGraphs_4_0= ruleConditionGraph ) )+ otherlv_5= '}' ) ; |
| public final EObject ruleFormula() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_2=null; |
| Token otherlv_5=null; |
| EObject lv_formula_3_0 = null; |
| |
| EObject lv_conditionGraphs_4_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1438:2: ( (otherlv_0= 'matchingFormula' otherlv_1= '{' otherlv_2= 'formula' ( (lv_formula_3_0= ruleLogic ) ) ( (lv_conditionGraphs_4_0= ruleConditionGraph ) )+ otherlv_5= '}' ) ) |
| // InternalHenshin_text.g:1439:2: (otherlv_0= 'matchingFormula' otherlv_1= '{' otherlv_2= 'formula' ( (lv_formula_3_0= ruleLogic ) ) ( (lv_conditionGraphs_4_0= ruleConditionGraph ) )+ otherlv_5= '}' ) |
| { |
| // InternalHenshin_text.g:1439:2: (otherlv_0= 'matchingFormula' otherlv_1= '{' otherlv_2= 'formula' ( (lv_formula_3_0= ruleLogic ) ) ( (lv_conditionGraphs_4_0= ruleConditionGraph ) )+ otherlv_5= '}' ) |
| // InternalHenshin_text.g:1440:3: otherlv_0= 'matchingFormula' otherlv_1= '{' otherlv_2= 'formula' ( (lv_formula_3_0= ruleLogic ) ) ( (lv_conditionGraphs_4_0= ruleConditionGraph ) )+ otherlv_5= '}' |
| { |
| otherlv_0=(Token)match(input,42,FOLLOW_11); |
| |
| newLeafNode(otherlv_0, grammarAccess.getFormulaAccess().getMatchingFormulaKeyword_0()); |
| |
| otherlv_1=(Token)match(input,19,FOLLOW_29); |
| |
| newLeafNode(otherlv_1, grammarAccess.getFormulaAccess().getLeftCurlyBracketKeyword_1()); |
| |
| otherlv_2=(Token)match(input,43,FOLLOW_30); |
| |
| newLeafNode(otherlv_2, grammarAccess.getFormulaAccess().getFormulaKeyword_2()); |
| |
| // InternalHenshin_text.g:1452:3: ( (lv_formula_3_0= ruleLogic ) ) |
| // InternalHenshin_text.g:1453:4: (lv_formula_3_0= ruleLogic ) |
| { |
| // InternalHenshin_text.g:1453:4: (lv_formula_3_0= ruleLogic ) |
| // InternalHenshin_text.g:1454:5: lv_formula_3_0= ruleLogic |
| { |
| |
| newCompositeNode(grammarAccess.getFormulaAccess().getFormulaLogicParserRuleCall_3_0()); |
| |
| pushFollow(FOLLOW_31); |
| lv_formula_3_0=ruleLogic(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getFormulaRule()); |
| } |
| set( |
| current, |
| "formula", |
| lv_formula_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Logic"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1471:3: ( (lv_conditionGraphs_4_0= ruleConditionGraph ) )+ |
| int cnt26=0; |
| loop26: |
| do { |
| int alt26=2; |
| int LA26_0 = input.LA(1); |
| |
| if ( (LA26_0==48) ) { |
| alt26=1; |
| } |
| |
| |
| switch (alt26) { |
| case 1 : |
| // InternalHenshin_text.g:1472:4: (lv_conditionGraphs_4_0= ruleConditionGraph ) |
| { |
| // InternalHenshin_text.g:1472:4: (lv_conditionGraphs_4_0= ruleConditionGraph ) |
| // InternalHenshin_text.g:1473:5: lv_conditionGraphs_4_0= ruleConditionGraph |
| { |
| |
| newCompositeNode(grammarAccess.getFormulaAccess().getConditionGraphsConditionGraphParserRuleCall_4_0()); |
| |
| pushFollow(FOLLOW_32); |
| lv_conditionGraphs_4_0=ruleConditionGraph(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getFormulaRule()); |
| } |
| add( |
| current, |
| "conditionGraphs", |
| lv_conditionGraphs_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ConditionGraph"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt26 >= 1 ) break loop26; |
| EarlyExitException eee = |
| new EarlyExitException(26, input); |
| throw eee; |
| } |
| cnt26++; |
| } while (true); |
| |
| otherlv_5=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_5, grammarAccess.getFormulaAccess().getRightCurlyBracketKeyword_5()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleFormula" |
| |
| |
| // $ANTLR start "entryRuleLogic" |
| // InternalHenshin_text.g:1498:1: entryRuleLogic returns [EObject current=null] : iv_ruleLogic= ruleLogic EOF ; |
| public final EObject entryRuleLogic() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleLogic = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1498:46: (iv_ruleLogic= ruleLogic EOF ) |
| // InternalHenshin_text.g:1499:2: iv_ruleLogic= ruleLogic EOF |
| { |
| newCompositeNode(grammarAccess.getLogicRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleLogic=ruleLogic(); |
| |
| state._fsp--; |
| |
| current =iv_ruleLogic; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleLogic" |
| |
| |
| // $ANTLR start "ruleLogic" |
| // InternalHenshin_text.g:1505:1: ruleLogic returns [EObject current=null] : this_ORorXOR_0= ruleORorXOR ; |
| public final EObject ruleLogic() throws RecognitionException { |
| EObject current = null; |
| |
| EObject this_ORorXOR_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1511:2: (this_ORorXOR_0= ruleORorXOR ) |
| // InternalHenshin_text.g:1512:2: this_ORorXOR_0= ruleORorXOR |
| { |
| |
| newCompositeNode(grammarAccess.getLogicAccess().getORorXORParserRuleCall()); |
| |
| pushFollow(FOLLOW_2); |
| this_ORorXOR_0=ruleORorXOR(); |
| |
| state._fsp--; |
| |
| |
| current = this_ORorXOR_0; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleLogic" |
| |
| |
| // $ANTLR start "entryRuleORorXOR" |
| // InternalHenshin_text.g:1523:1: entryRuleORorXOR returns [EObject current=null] : iv_ruleORorXOR= ruleORorXOR EOF ; |
| public final EObject entryRuleORorXOR() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleORorXOR = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1523:48: (iv_ruleORorXOR= ruleORorXOR EOF ) |
| // InternalHenshin_text.g:1524:2: iv_ruleORorXOR= ruleORorXOR EOF |
| { |
| newCompositeNode(grammarAccess.getORorXORRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleORorXOR=ruleORorXOR(); |
| |
| state._fsp--; |
| |
| current =iv_ruleORorXOR; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleORorXOR" |
| |
| |
| // $ANTLR start "ruleORorXOR" |
| // InternalHenshin_text.g:1530:1: ruleORorXOR returns [EObject current=null] : (this_AND_0= ruleAND ( () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) )* ) ; |
| public final EObject ruleORorXOR() throws RecognitionException { |
| EObject current = null; |
| |
| Token lv_op_2_1=null; |
| Token lv_op_2_2=null; |
| EObject this_AND_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1536:2: ( (this_AND_0= ruleAND ( () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) )* ) ) |
| // InternalHenshin_text.g:1537:2: (this_AND_0= ruleAND ( () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) )* ) |
| { |
| // InternalHenshin_text.g:1537:2: (this_AND_0= ruleAND ( () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) )* ) |
| // InternalHenshin_text.g:1538:3: this_AND_0= ruleAND ( () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getORorXORAccess().getANDParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_33); |
| this_AND_0=ruleAND(); |
| |
| state._fsp--; |
| |
| |
| current = this_AND_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:1546:3: ( () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) )* |
| loop28: |
| do { |
| int alt28=2; |
| int LA28_0 = input.LA(1); |
| |
| if ( ((LA28_0>=44 && LA28_0<=45)) ) { |
| alt28=1; |
| } |
| |
| |
| switch (alt28) { |
| case 1 : |
| // InternalHenshin_text.g:1547:4: () ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) ( (lv_right_3_0= ruleAND ) ) |
| { |
| // InternalHenshin_text.g:1547:4: () |
| // InternalHenshin_text.g:1548:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getORorXORAccess().getORorXORLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1554:4: ( ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) ) |
| // InternalHenshin_text.g:1555:5: ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) |
| { |
| // InternalHenshin_text.g:1555:5: ( (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) ) |
| // InternalHenshin_text.g:1556:6: (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) |
| { |
| // InternalHenshin_text.g:1556:6: (lv_op_2_1= 'OR' | lv_op_2_2= 'XOR' ) |
| int alt27=2; |
| int LA27_0 = input.LA(1); |
| |
| if ( (LA27_0==44) ) { |
| alt27=1; |
| } |
| else if ( (LA27_0==45) ) { |
| alt27=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 27, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt27) { |
| case 1 : |
| // InternalHenshin_text.g:1557:7: lv_op_2_1= 'OR' |
| { |
| lv_op_2_1=(Token)match(input,44,FOLLOW_30); |
| |
| newLeafNode(lv_op_2_1, grammarAccess.getORorXORAccess().getOpORKeyword_1_1_0_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getORorXORRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_1, null); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:1568:7: lv_op_2_2= 'XOR' |
| { |
| lv_op_2_2=(Token)match(input,45,FOLLOW_30); |
| |
| newLeafNode(lv_op_2_2, grammarAccess.getORorXORAccess().getOpXORKeyword_1_1_0_1()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getORorXORRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_2, null); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1581:4: ( (lv_right_3_0= ruleAND ) ) |
| // InternalHenshin_text.g:1582:5: (lv_right_3_0= ruleAND ) |
| { |
| // InternalHenshin_text.g:1582:5: (lv_right_3_0= ruleAND ) |
| // InternalHenshin_text.g:1583:6: lv_right_3_0= ruleAND |
| { |
| |
| newCompositeNode(grammarAccess.getORorXORAccess().getRightANDParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_33); |
| lv_right_3_0=ruleAND(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getORorXORRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.AND"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop28; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleORorXOR" |
| |
| |
| // $ANTLR start "entryRuleAND" |
| // InternalHenshin_text.g:1605:1: entryRuleAND returns [EObject current=null] : iv_ruleAND= ruleAND EOF ; |
| public final EObject entryRuleAND() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleAND = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1605:44: (iv_ruleAND= ruleAND EOF ) |
| // InternalHenshin_text.g:1606:2: iv_ruleAND= ruleAND EOF |
| { |
| newCompositeNode(grammarAccess.getANDRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleAND=ruleAND(); |
| |
| state._fsp--; |
| |
| current =iv_ruleAND; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleAND" |
| |
| |
| // $ANTLR start "ruleAND" |
| // InternalHenshin_text.g:1612:1: ruleAND returns [EObject current=null] : (this_Primary_0= rulePrimary ( () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) )* ) ; |
| public final EObject ruleAND() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_2=null; |
| EObject this_Primary_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1618:2: ( (this_Primary_0= rulePrimary ( () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) )* ) ) |
| // InternalHenshin_text.g:1619:2: (this_Primary_0= rulePrimary ( () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) )* ) |
| { |
| // InternalHenshin_text.g:1619:2: (this_Primary_0= rulePrimary ( () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) )* ) |
| // InternalHenshin_text.g:1620:3: this_Primary_0= rulePrimary ( () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getANDAccess().getPrimaryParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_34); |
| this_Primary_0=rulePrimary(); |
| |
| state._fsp--; |
| |
| |
| current = this_Primary_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:1628:3: ( () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) )* |
| loop29: |
| do { |
| int alt29=2; |
| int LA29_0 = input.LA(1); |
| |
| if ( (LA29_0==46) ) { |
| alt29=1; |
| } |
| |
| |
| switch (alt29) { |
| case 1 : |
| // InternalHenshin_text.g:1629:4: () otherlv_2= 'AND' ( (lv_right_3_0= rulePrimary ) ) |
| { |
| // InternalHenshin_text.g:1629:4: () |
| // InternalHenshin_text.g:1630:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getANDAccess().getANDLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,46,FOLLOW_30); |
| |
| newLeafNode(otherlv_2, grammarAccess.getANDAccess().getANDKeyword_1_1()); |
| |
| // InternalHenshin_text.g:1640:4: ( (lv_right_3_0= rulePrimary ) ) |
| // InternalHenshin_text.g:1641:5: (lv_right_3_0= rulePrimary ) |
| { |
| // InternalHenshin_text.g:1641:5: (lv_right_3_0= rulePrimary ) |
| // InternalHenshin_text.g:1642:6: lv_right_3_0= rulePrimary |
| { |
| |
| newCompositeNode(grammarAccess.getANDAccess().getRightPrimaryParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_34); |
| lv_right_3_0=rulePrimary(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getANDRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Primary"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop29; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleAND" |
| |
| |
| // $ANTLR start "entryRulePrimary" |
| // InternalHenshin_text.g:1664:1: entryRulePrimary returns [EObject current=null] : iv_rulePrimary= rulePrimary EOF ; |
| public final EObject entryRulePrimary() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_rulePrimary = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1664:48: (iv_rulePrimary= rulePrimary EOF ) |
| // InternalHenshin_text.g:1665:2: iv_rulePrimary= rulePrimary EOF |
| { |
| newCompositeNode(grammarAccess.getPrimaryRule()); |
| pushFollow(FOLLOW_1); |
| iv_rulePrimary=rulePrimary(); |
| |
| state._fsp--; |
| |
| current =iv_rulePrimary; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRulePrimary" |
| |
| |
| // $ANTLR start "rulePrimary" |
| // InternalHenshin_text.g:1671:1: rulePrimary returns [EObject current=null] : ( (otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic ) ; |
| public final EObject rulePrimary() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject this_Logic_1 = null; |
| |
| EObject lv_negation_5_0 = null; |
| |
| EObject this_Atomic_6 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1677:2: ( ( (otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic ) ) |
| // InternalHenshin_text.g:1678:2: ( (otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic ) |
| { |
| // InternalHenshin_text.g:1678:2: ( (otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' ) | ( () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) ) | this_Atomic_6= ruleAtomic ) |
| int alt30=3; |
| switch ( input.LA(1) ) { |
| case 16: |
| { |
| alt30=1; |
| } |
| break; |
| case 47: |
| { |
| alt30=2; |
| } |
| break; |
| case RULE_ID: |
| { |
| alt30=3; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 30, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt30) { |
| case 1 : |
| // InternalHenshin_text.g:1679:3: (otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' ) |
| { |
| // InternalHenshin_text.g:1679:3: (otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' ) |
| // InternalHenshin_text.g:1680:4: otherlv_0= '(' this_Logic_1= ruleLogic otherlv_2= ')' |
| { |
| otherlv_0=(Token)match(input,16,FOLLOW_30); |
| |
| newLeafNode(otherlv_0, grammarAccess.getPrimaryAccess().getLeftParenthesisKeyword_0_0()); |
| |
| |
| newCompositeNode(grammarAccess.getPrimaryAccess().getLogicParserRuleCall_0_1()); |
| |
| pushFollow(FOLLOW_24); |
| this_Logic_1=ruleLogic(); |
| |
| state._fsp--; |
| |
| |
| current = this_Logic_1; |
| afterParserOrEnumRuleCall(); |
| |
| otherlv_2=(Token)match(input,18,FOLLOW_2); |
| |
| newLeafNode(otherlv_2, grammarAccess.getPrimaryAccess().getRightParenthesisKeyword_0_2()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:1698:3: ( () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) ) |
| { |
| // InternalHenshin_text.g:1698:3: ( () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) ) |
| // InternalHenshin_text.g:1699:4: () otherlv_4= '!' ( (lv_negation_5_0= rulePrimary ) ) |
| { |
| // InternalHenshin_text.g:1699:4: () |
| // InternalHenshin_text.g:1700:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getPrimaryAccess().getNotAction_1_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_4=(Token)match(input,47,FOLLOW_30); |
| |
| newLeafNode(otherlv_4, grammarAccess.getPrimaryAccess().getExclamationMarkKeyword_1_1()); |
| |
| // InternalHenshin_text.g:1710:4: ( (lv_negation_5_0= rulePrimary ) ) |
| // InternalHenshin_text.g:1711:5: (lv_negation_5_0= rulePrimary ) |
| { |
| // InternalHenshin_text.g:1711:5: (lv_negation_5_0= rulePrimary ) |
| // InternalHenshin_text.g:1712:6: lv_negation_5_0= rulePrimary |
| { |
| |
| newCompositeNode(grammarAccess.getPrimaryAccess().getNegationPrimaryParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_negation_5_0=rulePrimary(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getPrimaryRule()); |
| } |
| set( |
| current, |
| "negation", |
| lv_negation_5_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Primary"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:1731:3: this_Atomic_6= ruleAtomic |
| { |
| |
| newCompositeNode(grammarAccess.getPrimaryAccess().getAtomicParserRuleCall_2()); |
| |
| pushFollow(FOLLOW_2); |
| this_Atomic_6=ruleAtomic(); |
| |
| state._fsp--; |
| |
| |
| current = this_Atomic_6; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "rulePrimary" |
| |
| |
| // $ANTLR start "entryRuleAtomic" |
| // InternalHenshin_text.g:1743:1: entryRuleAtomic returns [EObject current=null] : iv_ruleAtomic= ruleAtomic EOF ; |
| public final EObject entryRuleAtomic() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleAtomic = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1743:47: (iv_ruleAtomic= ruleAtomic EOF ) |
| // InternalHenshin_text.g:1744:2: iv_ruleAtomic= ruleAtomic EOF |
| { |
| newCompositeNode(grammarAccess.getAtomicRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleAtomic=ruleAtomic(); |
| |
| state._fsp--; |
| |
| current =iv_ruleAtomic; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleAtomic" |
| |
| |
| // $ANTLR start "ruleAtomic" |
| // InternalHenshin_text.g:1750:1: ruleAtomic returns [EObject current=null] : ( () ( (otherlv_1= RULE_ID ) ) ) ; |
| public final EObject ruleAtomic() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1756:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) ) |
| // InternalHenshin_text.g:1757:2: ( () ( (otherlv_1= RULE_ID ) ) ) |
| { |
| // InternalHenshin_text.g:1757:2: ( () ( (otherlv_1= RULE_ID ) ) ) |
| // InternalHenshin_text.g:1758:3: () ( (otherlv_1= RULE_ID ) ) |
| { |
| // InternalHenshin_text.g:1758:3: () |
| // InternalHenshin_text.g:1759:4: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicAccess().getConditionGraphRefAction_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1765:3: ( (otherlv_1= RULE_ID ) ) |
| // InternalHenshin_text.g:1766:4: (otherlv_1= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1766:4: (otherlv_1= RULE_ID ) |
| // InternalHenshin_text.g:1767:5: otherlv_1= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAtomicRule()); |
| } |
| |
| otherlv_1=(Token)match(input,RULE_ID,FOLLOW_2); |
| |
| newLeafNode(otherlv_1, grammarAccess.getAtomicAccess().getConditionGraphRefConditionGraphCrossReference_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleAtomic" |
| |
| |
| // $ANTLR start "entryRuleConditionGraph" |
| // InternalHenshin_text.g:1782:1: entryRuleConditionGraph returns [EObject current=null] : iv_ruleConditionGraph= ruleConditionGraph EOF ; |
| public final EObject entryRuleConditionGraph() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionGraph = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1782:55: (iv_ruleConditionGraph= ruleConditionGraph EOF ) |
| // InternalHenshin_text.g:1783:2: iv_ruleConditionGraph= ruleConditionGraph EOF |
| { |
| newCompositeNode(grammarAccess.getConditionGraphRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionGraph=ruleConditionGraph(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionGraph; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionGraph" |
| |
| |
| // $ANTLR start "ruleConditionGraph" |
| // InternalHenshin_text.g:1789:1: ruleConditionGraph returns [EObject current=null] : (otherlv_0= 'conditionGraph' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) )* otherlv_4= '}' ) ; |
| public final EObject ruleConditionGraph() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token lv_name_1_0=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject lv_conditionGraphElements_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1795:2: ( (otherlv_0= 'conditionGraph' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) )* otherlv_4= '}' ) ) |
| // InternalHenshin_text.g:1796:2: (otherlv_0= 'conditionGraph' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) )* otherlv_4= '}' ) |
| { |
| // InternalHenshin_text.g:1796:2: (otherlv_0= 'conditionGraph' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) )* otherlv_4= '}' ) |
| // InternalHenshin_text.g:1797:3: otherlv_0= 'conditionGraph' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= '{' ( (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) )* otherlv_4= '}' |
| { |
| otherlv_0=(Token)match(input,48,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionGraphAccess().getConditionGraphKeyword_0()); |
| |
| // InternalHenshin_text.g:1801:3: ( (lv_name_1_0= RULE_ID ) ) |
| // InternalHenshin_text.g:1802:4: (lv_name_1_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1802:4: (lv_name_1_0= RULE_ID ) |
| // InternalHenshin_text.g:1803:5: lv_name_1_0= RULE_ID |
| { |
| lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_11); |
| |
| newLeafNode(lv_name_1_0, grammarAccess.getConditionGraphAccess().getNameIDTerminalRuleCall_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionGraphRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,19,FOLLOW_35); |
| |
| newLeafNode(otherlv_2, grammarAccess.getConditionGraphAccess().getLeftCurlyBracketKeyword_2()); |
| |
| // InternalHenshin_text.g:1823:3: ( (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) )* |
| loop31: |
| do { |
| int alt31=2; |
| int LA31_0 = input.LA(1); |
| |
| if ( (LA31_0==34||(LA31_0>=37 && LA31_0<=38)||LA31_0==42) ) { |
| alt31=1; |
| } |
| |
| |
| switch (alt31) { |
| case 1 : |
| // InternalHenshin_text.g:1824:4: (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) |
| { |
| // InternalHenshin_text.g:1824:4: (lv_conditionGraphElements_3_0= ruleConditionGraphElements ) |
| // InternalHenshin_text.g:1825:5: lv_conditionGraphElements_3_0= ruleConditionGraphElements |
| { |
| |
| newCompositeNode(grammarAccess.getConditionGraphAccess().getConditionGraphElementsConditionGraphElementsParserRuleCall_3_0()); |
| |
| pushFollow(FOLLOW_35); |
| lv_conditionGraphElements_3_0=ruleConditionGraphElements(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionGraphRule()); |
| } |
| add( |
| current, |
| "conditionGraphElements", |
| lv_conditionGraphElements_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ConditionGraphElements"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop31; |
| } |
| } while (true); |
| |
| otherlv_4=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_4, grammarAccess.getConditionGraphAccess().getRightCurlyBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionGraph" |
| |
| |
| // $ANTLR start "entryRuleConditionGraphElements" |
| // InternalHenshin_text.g:1850:1: entryRuleConditionGraphElements returns [EObject current=null] : iv_ruleConditionGraphElements= ruleConditionGraphElements EOF ; |
| public final EObject entryRuleConditionGraphElements() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionGraphElements = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1850:63: (iv_ruleConditionGraphElements= ruleConditionGraphElements EOF ) |
| // InternalHenshin_text.g:1851:2: iv_ruleConditionGraphElements= ruleConditionGraphElements EOF |
| { |
| newCompositeNode(grammarAccess.getConditionGraphElementsRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionGraphElements=ruleConditionGraphElements(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionGraphElements; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionGraphElements" |
| |
| |
| // $ANTLR start "ruleConditionGraphElements" |
| // InternalHenshin_text.g:1857:1: ruleConditionGraphElements returns [EObject current=null] : (this_ConditionEdges_0= ruleConditionEdges | this_ConditionNode_1= ruleConditionNode | this_Formula_2= ruleFormula | this_ConditionReuseNode_3= ruleConditionReuseNode ) ; |
| public final EObject ruleConditionGraphElements() throws RecognitionException { |
| EObject current = null; |
| |
| EObject this_ConditionEdges_0 = null; |
| |
| EObject this_ConditionNode_1 = null; |
| |
| EObject this_Formula_2 = null; |
| |
| EObject this_ConditionReuseNode_3 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1863:2: ( (this_ConditionEdges_0= ruleConditionEdges | this_ConditionNode_1= ruleConditionNode | this_Formula_2= ruleFormula | this_ConditionReuseNode_3= ruleConditionReuseNode ) ) |
| // InternalHenshin_text.g:1864:2: (this_ConditionEdges_0= ruleConditionEdges | this_ConditionNode_1= ruleConditionNode | this_Formula_2= ruleFormula | this_ConditionReuseNode_3= ruleConditionReuseNode ) |
| { |
| // InternalHenshin_text.g:1864:2: (this_ConditionEdges_0= ruleConditionEdges | this_ConditionNode_1= ruleConditionNode | this_Formula_2= ruleFormula | this_ConditionReuseNode_3= ruleConditionReuseNode ) |
| int alt32=4; |
| switch ( input.LA(1) ) { |
| case 34: |
| { |
| alt32=1; |
| } |
| break; |
| case 37: |
| { |
| alt32=2; |
| } |
| break; |
| case 42: |
| { |
| alt32=3; |
| } |
| break; |
| case 38: |
| { |
| alt32=4; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 32, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt32) { |
| case 1 : |
| // InternalHenshin_text.g:1865:3: this_ConditionEdges_0= ruleConditionEdges |
| { |
| |
| newCompositeNode(grammarAccess.getConditionGraphElementsAccess().getConditionEdgesParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_2); |
| this_ConditionEdges_0=ruleConditionEdges(); |
| |
| state._fsp--; |
| |
| |
| current = this_ConditionEdges_0; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:1874:3: this_ConditionNode_1= ruleConditionNode |
| { |
| |
| newCompositeNode(grammarAccess.getConditionGraphElementsAccess().getConditionNodeParserRuleCall_1()); |
| |
| pushFollow(FOLLOW_2); |
| this_ConditionNode_1=ruleConditionNode(); |
| |
| state._fsp--; |
| |
| |
| current = this_ConditionNode_1; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:1883:3: this_Formula_2= ruleFormula |
| { |
| |
| newCompositeNode(grammarAccess.getConditionGraphElementsAccess().getFormulaParserRuleCall_2()); |
| |
| pushFollow(FOLLOW_2); |
| this_Formula_2=ruleFormula(); |
| |
| state._fsp--; |
| |
| |
| current = this_Formula_2; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:1892:3: this_ConditionReuseNode_3= ruleConditionReuseNode |
| { |
| |
| newCompositeNode(grammarAccess.getConditionGraphElementsAccess().getConditionReuseNodeParserRuleCall_3()); |
| |
| pushFollow(FOLLOW_2); |
| this_ConditionReuseNode_3=ruleConditionReuseNode(); |
| |
| state._fsp--; |
| |
| |
| current = this_ConditionReuseNode_3; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionGraphElements" |
| |
| |
| // $ANTLR start "entryRuleConditionEdges" |
| // InternalHenshin_text.g:1904:1: entryRuleConditionEdges returns [EObject current=null] : iv_ruleConditionEdges= ruleConditionEdges EOF ; |
| public final EObject entryRuleConditionEdges() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionEdges = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1904:55: (iv_ruleConditionEdges= ruleConditionEdges EOF ) |
| // InternalHenshin_text.g:1905:2: iv_ruleConditionEdges= ruleConditionEdges EOF |
| { |
| newCompositeNode(grammarAccess.getConditionEdgesRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionEdges=ruleConditionEdges(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionEdges; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionEdges" |
| |
| |
| // $ANTLR start "ruleConditionEdges" |
| // InternalHenshin_text.g:1911:1: ruleConditionEdges returns [EObject current=null] : (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleConditionEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) )* otherlv_5= ']' ) ; |
| public final EObject ruleConditionEdges() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| EObject lv_edges_2_0 = null; |
| |
| EObject lv_edges_4_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1917:2: ( (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleConditionEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) )* otherlv_5= ']' ) ) |
| // InternalHenshin_text.g:1918:2: (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleConditionEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) )* otherlv_5= ']' ) |
| { |
| // InternalHenshin_text.g:1918:2: (otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleConditionEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) )* otherlv_5= ']' ) |
| // InternalHenshin_text.g:1919:3: otherlv_0= 'edges' otherlv_1= '[' ( (lv_edges_2_0= ruleConditionEdge ) ) (otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) )* otherlv_5= ']' |
| { |
| otherlv_0=(Token)match(input,34,FOLLOW_17); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionEdgesAccess().getEdgesKeyword_0()); |
| |
| otherlv_1=(Token)match(input,26,FOLLOW_7); |
| |
| newLeafNode(otherlv_1, grammarAccess.getConditionEdgesAccess().getLeftSquareBracketKeyword_1()); |
| |
| // InternalHenshin_text.g:1927:3: ( (lv_edges_2_0= ruleConditionEdge ) ) |
| // InternalHenshin_text.g:1928:4: (lv_edges_2_0= ruleConditionEdge ) |
| { |
| // InternalHenshin_text.g:1928:4: (lv_edges_2_0= ruleConditionEdge ) |
| // InternalHenshin_text.g:1929:5: lv_edges_2_0= ruleConditionEdge |
| { |
| |
| newCompositeNode(grammarAccess.getConditionEdgesAccess().getEdgesConditionEdgeParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_edges_2_0=ruleConditionEdge(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionEdgesRule()); |
| } |
| add( |
| current, |
| "edges", |
| lv_edges_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ConditionEdge"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:1946:3: (otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) )* |
| loop33: |
| do { |
| int alt33=2; |
| int LA33_0 = input.LA(1); |
| |
| if ( (LA33_0==17) ) { |
| alt33=1; |
| } |
| |
| |
| switch (alt33) { |
| case 1 : |
| // InternalHenshin_text.g:1947:4: otherlv_3= ',' ( (lv_edges_4_0= ruleConditionEdge ) ) |
| { |
| otherlv_3=(Token)match(input,17,FOLLOW_7); |
| |
| newLeafNode(otherlv_3, grammarAccess.getConditionEdgesAccess().getCommaKeyword_3_0()); |
| |
| // InternalHenshin_text.g:1951:4: ( (lv_edges_4_0= ruleConditionEdge ) ) |
| // InternalHenshin_text.g:1952:5: (lv_edges_4_0= ruleConditionEdge ) |
| { |
| // InternalHenshin_text.g:1952:5: (lv_edges_4_0= ruleConditionEdge ) |
| // InternalHenshin_text.g:1953:6: lv_edges_4_0= ruleConditionEdge |
| { |
| |
| newCompositeNode(grammarAccess.getConditionEdgesAccess().getEdgesConditionEdgeParserRuleCall_3_1_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_edges_4_0=ruleConditionEdge(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionEdgesRule()); |
| } |
| add( |
| current, |
| "edges", |
| lv_edges_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ConditionEdge"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop33; |
| } |
| } while (true); |
| |
| otherlv_5=(Token)match(input,27,FOLLOW_2); |
| |
| newLeafNode(otherlv_5, grammarAccess.getConditionEdgesAccess().getRightSquareBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionEdges" |
| |
| |
| // $ANTLR start "entryRuleConditionEdge" |
| // InternalHenshin_text.g:1979:1: entryRuleConditionEdge returns [EObject current=null] : iv_ruleConditionEdge= ruleConditionEdge EOF ; |
| public final EObject entryRuleConditionEdge() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionEdge = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:1979:54: (iv_ruleConditionEdge= ruleConditionEdge EOF ) |
| // InternalHenshin_text.g:1980:2: iv_ruleConditionEdge= ruleConditionEdge EOF |
| { |
| newCompositeNode(grammarAccess.getConditionEdgeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionEdge=ruleConditionEdge(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionEdge; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionEdge" |
| |
| |
| // $ANTLR start "ruleConditionEdge" |
| // InternalHenshin_text.g:1986:1: ruleConditionEdge returns [EObject current=null] : (otherlv_0= '(' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) otherlv_4= ':' ( ( ruleEString ) ) otherlv_6= ')' ) ; |
| public final EObject ruleConditionEdge() 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; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:1992:2: ( (otherlv_0= '(' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) otherlv_4= ':' ( ( ruleEString ) ) otherlv_6= ')' ) ) |
| // InternalHenshin_text.g:1993:2: (otherlv_0= '(' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) otherlv_4= ':' ( ( ruleEString ) ) otherlv_6= ')' ) |
| { |
| // InternalHenshin_text.g:1993:2: (otherlv_0= '(' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) otherlv_4= ':' ( ( ruleEString ) ) otherlv_6= ')' ) |
| // InternalHenshin_text.g:1994:3: otherlv_0= '(' ( (otherlv_1= RULE_ID ) ) otherlv_2= '->' ( (otherlv_3= RULE_ID ) ) otherlv_4= ':' ( ( ruleEString ) ) otherlv_6= ')' |
| { |
| otherlv_0=(Token)match(input,16,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionEdgeAccess().getLeftParenthesisKeyword_0()); |
| |
| // InternalHenshin_text.g:1998:3: ( (otherlv_1= RULE_ID ) ) |
| // InternalHenshin_text.g:1999:4: (otherlv_1= RULE_ID ) |
| { |
| // InternalHenshin_text.g:1999:4: (otherlv_1= RULE_ID ) |
| // InternalHenshin_text.g:2000:5: otherlv_1= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionEdgeRule()); |
| } |
| |
| otherlv_1=(Token)match(input,RULE_ID,FOLLOW_22); |
| |
| newLeafNode(otherlv_1, grammarAccess.getConditionEdgeAccess().getSourceConditionNodeTypesCrossReference_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,35,FOLLOW_5); |
| |
| newLeafNode(otherlv_2, grammarAccess.getConditionEdgeAccess().getHyphenMinusGreaterThanSignKeyword_2()); |
| |
| // InternalHenshin_text.g:2015:3: ( (otherlv_3= RULE_ID ) ) |
| // InternalHenshin_text.g:2016:4: (otherlv_3= RULE_ID ) |
| { |
| // InternalHenshin_text.g:2016:4: (otherlv_3= RULE_ID ) |
| // InternalHenshin_text.g:2017:5: otherlv_3= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionEdgeRule()); |
| } |
| |
| otherlv_3=(Token)match(input,RULE_ID,FOLLOW_23); |
| |
| newLeafNode(otherlv_3, grammarAccess.getConditionEdgeAccess().getTargetConditionNodeTypesCrossReference_3_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_4=(Token)match(input,36,FOLLOW_5); |
| |
| newLeafNode(otherlv_4, grammarAccess.getConditionEdgeAccess().getColonKeyword_4()); |
| |
| // InternalHenshin_text.g:2032:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:2033:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:2033:4: ( ruleEString ) |
| // InternalHenshin_text.g:2034:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionEdgeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getConditionEdgeAccess().getTypeEReferenceCrossReference_5_0()); |
| |
| pushFollow(FOLLOW_24); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_6=(Token)match(input,18,FOLLOW_2); |
| |
| newLeafNode(otherlv_6, grammarAccess.getConditionEdgeAccess().getRightParenthesisKeyword_6()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionEdge" |
| |
| |
| // $ANTLR start "entryRuleConditionNode" |
| // InternalHenshin_text.g:2056:1: entryRuleConditionNode returns [EObject current=null] : iv_ruleConditionNode= ruleConditionNode EOF ; |
| public final EObject entryRuleConditionNode() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionNode = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2056:54: (iv_ruleConditionNode= ruleConditionNode EOF ) |
| // InternalHenshin_text.g:2057:2: iv_ruleConditionNode= ruleConditionNode EOF |
| { |
| newCompositeNode(grammarAccess.getConditionNodeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionNode=ruleConditionNode(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionNode; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionNode" |
| |
| |
| // $ANTLR start "ruleConditionNode" |
| // InternalHenshin_text.g:2063:1: ruleConditionNode returns [EObject current=null] : (otherlv_0= 'node' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleEString ) ) (otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' )? ) ; |
| public final EObject ruleConditionNode() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token lv_name_1_0=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| Token otherlv_6=null; |
| EObject lv_attribute_5_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2069:2: ( (otherlv_0= 'node' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleEString ) ) (otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' )? ) ) |
| // InternalHenshin_text.g:2070:2: (otherlv_0= 'node' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleEString ) ) (otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' )? ) |
| { |
| // InternalHenshin_text.g:2070:2: (otherlv_0= 'node' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleEString ) ) (otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' )? ) |
| // InternalHenshin_text.g:2071:3: otherlv_0= 'node' ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( ( ruleEString ) ) (otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' )? |
| { |
| otherlv_0=(Token)match(input,37,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionNodeAccess().getNodeKeyword_0()); |
| |
| // InternalHenshin_text.g:2075:3: ( (lv_name_1_0= RULE_ID ) ) |
| // InternalHenshin_text.g:2076:4: (lv_name_1_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:2076:4: (lv_name_1_0= RULE_ID ) |
| // InternalHenshin_text.g:2077:5: lv_name_1_0= RULE_ID |
| { |
| lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_23); |
| |
| newLeafNode(lv_name_1_0, grammarAccess.getConditionNodeAccess().getNameIDTerminalRuleCall_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionNodeRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,36,FOLLOW_5); |
| |
| newLeafNode(otherlv_2, grammarAccess.getConditionNodeAccess().getColonKeyword_2()); |
| |
| // InternalHenshin_text.g:2097:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:2098:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:2098:4: ( ruleEString ) |
| // InternalHenshin_text.g:2099:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionNodeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getConditionNodeAccess().getTypeEClassCrossReference_3_0()); |
| |
| pushFollow(FOLLOW_26); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:2113:3: (otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' )? |
| int alt35=2; |
| int LA35_0 = input.LA(1); |
| |
| if ( (LA35_0==19) ) { |
| alt35=1; |
| } |
| switch (alt35) { |
| case 1 : |
| // InternalHenshin_text.g:2114:4: otherlv_4= '{' ( (lv_attribute_5_0= ruleMatch ) )* otherlv_6= '}' |
| { |
| otherlv_4=(Token)match(input,19,FOLLOW_36); |
| |
| newLeafNode(otherlv_4, grammarAccess.getConditionNodeAccess().getLeftCurlyBracketKeyword_4_0()); |
| |
| // InternalHenshin_text.g:2118:4: ( (lv_attribute_5_0= ruleMatch ) )* |
| loop34: |
| do { |
| int alt34=2; |
| int LA34_0 = input.LA(1); |
| |
| if ( (LA34_0==RULE_ID) ) { |
| alt34=1; |
| } |
| |
| |
| switch (alt34) { |
| case 1 : |
| // InternalHenshin_text.g:2119:5: (lv_attribute_5_0= ruleMatch ) |
| { |
| // InternalHenshin_text.g:2119:5: (lv_attribute_5_0= ruleMatch ) |
| // InternalHenshin_text.g:2120:6: lv_attribute_5_0= ruleMatch |
| { |
| |
| newCompositeNode(grammarAccess.getConditionNodeAccess().getAttributeMatchParserRuleCall_4_1_0()); |
| |
| pushFollow(FOLLOW_36); |
| lv_attribute_5_0=ruleMatch(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionNodeRule()); |
| } |
| add( |
| current, |
| "attribute", |
| lv_attribute_5_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Match"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop34; |
| } |
| } while (true); |
| |
| otherlv_6=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_6, grammarAccess.getConditionNodeAccess().getRightCurlyBracketKeyword_4_2()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionNode" |
| |
| |
| // $ANTLR start "entryRuleConditionReuseNode" |
| // InternalHenshin_text.g:2146:1: entryRuleConditionReuseNode returns [EObject current=null] : iv_ruleConditionReuseNode= ruleConditionReuseNode EOF ; |
| public final EObject entryRuleConditionReuseNode() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionReuseNode = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2146:59: (iv_ruleConditionReuseNode= ruleConditionReuseNode EOF ) |
| // InternalHenshin_text.g:2147:2: iv_ruleConditionReuseNode= ruleConditionReuseNode EOF |
| { |
| newCompositeNode(grammarAccess.getConditionReuseNodeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionReuseNode=ruleConditionReuseNode(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionReuseNode; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionReuseNode" |
| |
| |
| // $ANTLR start "ruleConditionReuseNode" |
| // InternalHenshin_text.g:2153:1: ruleConditionReuseNode returns [EObject current=null] : (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' )? ) ; |
| public final EObject ruleConditionReuseNode() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject lv_attribute_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2159:2: ( (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' )? ) ) |
| // InternalHenshin_text.g:2160:2: (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' )? ) |
| { |
| // InternalHenshin_text.g:2160:2: (otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' )? ) |
| // InternalHenshin_text.g:2161:3: otherlv_0= 'reuse' ( (otherlv_1= RULE_ID ) ) (otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' )? |
| { |
| otherlv_0=(Token)match(input,38,FOLLOW_5); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionReuseNodeAccess().getReuseKeyword_0()); |
| |
| // InternalHenshin_text.g:2165:3: ( (otherlv_1= RULE_ID ) ) |
| // InternalHenshin_text.g:2166:4: (otherlv_1= RULE_ID ) |
| { |
| // InternalHenshin_text.g:2166:4: (otherlv_1= RULE_ID ) |
| // InternalHenshin_text.g:2167:5: otherlv_1= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getConditionReuseNodeRule()); |
| } |
| |
| otherlv_1=(Token)match(input,RULE_ID,FOLLOW_26); |
| |
| newLeafNode(otherlv_1, grammarAccess.getConditionReuseNodeAccess().getNameConditionNodeTypesCrossReference_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:2178:3: (otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' )? |
| int alt37=2; |
| int LA37_0 = input.LA(1); |
| |
| if ( (LA37_0==19) ) { |
| alt37=1; |
| } |
| switch (alt37) { |
| case 1 : |
| // InternalHenshin_text.g:2179:4: otherlv_2= '{' ( (lv_attribute_3_0= ruleMatch ) )* otherlv_4= '}' |
| { |
| otherlv_2=(Token)match(input,19,FOLLOW_36); |
| |
| newLeafNode(otherlv_2, grammarAccess.getConditionReuseNodeAccess().getLeftCurlyBracketKeyword_2_0()); |
| |
| // InternalHenshin_text.g:2183:4: ( (lv_attribute_3_0= ruleMatch ) )* |
| loop36: |
| do { |
| int alt36=2; |
| int LA36_0 = input.LA(1); |
| |
| if ( (LA36_0==RULE_ID) ) { |
| alt36=1; |
| } |
| |
| |
| switch (alt36) { |
| case 1 : |
| // InternalHenshin_text.g:2184:5: (lv_attribute_3_0= ruleMatch ) |
| { |
| // InternalHenshin_text.g:2184:5: (lv_attribute_3_0= ruleMatch ) |
| // InternalHenshin_text.g:2185:6: lv_attribute_3_0= ruleMatch |
| { |
| |
| newCompositeNode(grammarAccess.getConditionReuseNodeAccess().getAttributeMatchParserRuleCall_2_1_0()); |
| |
| pushFollow(FOLLOW_36); |
| lv_attribute_3_0=ruleMatch(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionReuseNodeRule()); |
| } |
| add( |
| current, |
| "attribute", |
| lv_attribute_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Match"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop36; |
| } |
| } while (true); |
| |
| otherlv_4=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_4, grammarAccess.getConditionReuseNodeAccess().getRightCurlyBracketKeyword_2_2()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionReuseNode" |
| |
| |
| // $ANTLR start "entryRuleMatch" |
| // InternalHenshin_text.g:2211:1: entryRuleMatch returns [EObject current=null] : iv_ruleMatch= ruleMatch EOF ; |
| public final EObject entryRuleMatch() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleMatch = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2211:46: (iv_ruleMatch= ruleMatch EOF ) |
| // InternalHenshin_text.g:2212:2: iv_ruleMatch= ruleMatch EOF |
| { |
| newCompositeNode(grammarAccess.getMatchRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleMatch=ruleMatch(); |
| |
| state._fsp--; |
| |
| current =iv_ruleMatch; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleMatch" |
| |
| |
| // $ANTLR start "ruleMatch" |
| // InternalHenshin_text.g:2218:1: ruleMatch returns [EObject current=null] : ( ( ( ruleEString ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ; |
| public final EObject ruleMatch() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| EObject lv_value_2_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2224:2: ( ( ( ( ruleEString ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) ) |
| // InternalHenshin_text.g:2225:2: ( ( ( ruleEString ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) |
| { |
| // InternalHenshin_text.g:2225:2: ( ( ( ruleEString ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) ) |
| // InternalHenshin_text.g:2226:3: ( ( ruleEString ) ) otherlv_1= '=' ( (lv_value_2_0= ruleExpression ) ) |
| { |
| // InternalHenshin_text.g:2226:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:2227:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:2227:4: ( ruleEString ) |
| // InternalHenshin_text.g:2228:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getMatchRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getMatchAccess().getNameEAttributeCrossReference_0_0()); |
| |
| pushFollow(FOLLOW_28); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_1=(Token)match(input,39,FOLLOW_18); |
| |
| newLeafNode(otherlv_1, grammarAccess.getMatchAccess().getEqualsSignKeyword_1()); |
| |
| // InternalHenshin_text.g:2246:3: ( (lv_value_2_0= ruleExpression ) ) |
| // InternalHenshin_text.g:2247:4: (lv_value_2_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:2247:4: (lv_value_2_0= ruleExpression ) |
| // InternalHenshin_text.g:2248:5: lv_value_2_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getMatchAccess().getValueExpressionParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_value_2_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getMatchRule()); |
| } |
| set( |
| current, |
| "value", |
| lv_value_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleMatch" |
| |
| |
| // $ANTLR start "entryRuleUnitElement" |
| // InternalHenshin_text.g:2269:1: entryRuleUnitElement returns [EObject current=null] : iv_ruleUnitElement= ruleUnitElement EOF ; |
| public final EObject entryRuleUnitElement() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleUnitElement = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2269:52: (iv_ruleUnitElement= ruleUnitElement EOF ) |
| // InternalHenshin_text.g:2270:2: iv_ruleUnitElement= ruleUnitElement EOF |
| { |
| newCompositeNode(grammarAccess.getUnitElementRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleUnitElement=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| current =iv_ruleUnitElement; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleUnitElement" |
| |
| |
| // $ANTLR start "ruleUnitElement" |
| // InternalHenshin_text.g:2276:1: ruleUnitElement returns [EObject current=null] : ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) | (otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' ) | this_SequentialProperties_10= ruleSequentialProperties | this_IndependentUnit_11= ruleIndependentUnit | this_ConditionalUnit_12= ruleConditionalUnit | this_PriorityUnit_13= rulePriorityUnit | this_IteratedUnit_14= ruleIteratedUnit | this_LoopUnit_15= ruleLoopUnit ) ; |
| public final EObject ruleUnitElement() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| Token otherlv_2=null; |
| Token otherlv_3=null; |
| Token otherlv_4=null; |
| Token otherlv_5=null; |
| Token otherlv_6=null; |
| Token otherlv_7=null; |
| Token otherlv_9=null; |
| EObject lv_subSequence_8_0 = null; |
| |
| EObject this_SequentialProperties_10 = null; |
| |
| EObject this_IndependentUnit_11 = null; |
| |
| EObject this_ConditionalUnit_12 = null; |
| |
| EObject this_PriorityUnit_13 = null; |
| |
| EObject this_IteratedUnit_14 = null; |
| |
| EObject this_LoopUnit_15 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2282:2: ( ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) | (otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' ) | this_SequentialProperties_10= ruleSequentialProperties | this_IndependentUnit_11= ruleIndependentUnit | this_ConditionalUnit_12= ruleConditionalUnit | this_PriorityUnit_13= rulePriorityUnit | this_IteratedUnit_14= ruleIteratedUnit | this_LoopUnit_15= ruleLoopUnit ) ) |
| // InternalHenshin_text.g:2283:2: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) | (otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' ) | this_SequentialProperties_10= ruleSequentialProperties | this_IndependentUnit_11= ruleIndependentUnit | this_ConditionalUnit_12= ruleConditionalUnit | this_PriorityUnit_13= rulePriorityUnit | this_IteratedUnit_14= ruleIteratedUnit | this_LoopUnit_15= ruleLoopUnit ) |
| { |
| // InternalHenshin_text.g:2283:2: ( ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) | (otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' ) | this_SequentialProperties_10= ruleSequentialProperties | this_IndependentUnit_11= ruleIndependentUnit | this_ConditionalUnit_12= ruleConditionalUnit | this_PriorityUnit_13= rulePriorityUnit | this_IteratedUnit_14= ruleIteratedUnit | this_LoopUnit_15= ruleLoopUnit ) |
| int alt41=8; |
| switch ( input.LA(1) ) { |
| case RULE_ID: |
| { |
| alt41=1; |
| } |
| break; |
| case 19: |
| { |
| alt41=2; |
| } |
| break; |
| case 49: |
| case 50: |
| { |
| alt41=3; |
| } |
| break; |
| case 51: |
| { |
| alt41=4; |
| } |
| break; |
| case 52: |
| { |
| alt41=5; |
| } |
| break; |
| case 55: |
| { |
| alt41=6; |
| } |
| break; |
| case 56: |
| { |
| alt41=7; |
| } |
| break; |
| case 57: |
| { |
| alt41=8; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 41, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt41) { |
| case 1 : |
| // InternalHenshin_text.g:2284:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) |
| { |
| // InternalHenshin_text.g:2284:3: ( () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' ) |
| // InternalHenshin_text.g:2285:4: () ( (otherlv_1= RULE_ID ) ) otherlv_2= '(' ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? otherlv_6= ')' |
| { |
| // InternalHenshin_text.g:2285:4: () |
| // InternalHenshin_text.g:2286:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getUnitElementAccess().getCallAction_0_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:2292:4: ( (otherlv_1= RULE_ID ) ) |
| // InternalHenshin_text.g:2293:5: (otherlv_1= RULE_ID ) |
| { |
| // InternalHenshin_text.g:2293:5: (otherlv_1= RULE_ID ) |
| // InternalHenshin_text.g:2294:6: otherlv_1= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getUnitElementRule()); |
| } |
| |
| otherlv_1=(Token)match(input,RULE_ID,FOLLOW_7); |
| |
| newLeafNode(otherlv_1, grammarAccess.getUnitElementAccess().getElementCallModelElementCrossReference_0_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,16,FOLLOW_37); |
| |
| newLeafNode(otherlv_2, grammarAccess.getUnitElementAccess().getLeftParenthesisKeyword_0_2()); |
| |
| // InternalHenshin_text.g:2309:4: ( ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )? |
| int alt39=2; |
| int LA39_0 = input.LA(1); |
| |
| if ( (LA39_0==RULE_ID) ) { |
| alt39=1; |
| } |
| switch (alt39) { |
| case 1 : |
| // InternalHenshin_text.g:2310:5: ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* |
| { |
| // InternalHenshin_text.g:2310:5: ( (otherlv_3= RULE_ID ) ) |
| // InternalHenshin_text.g:2311:6: (otherlv_3= RULE_ID ) |
| { |
| // InternalHenshin_text.g:2311:6: (otherlv_3= RULE_ID ) |
| // InternalHenshin_text.g:2312:7: otherlv_3= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getUnitElementRule()); |
| } |
| |
| otherlv_3=(Token)match(input,RULE_ID,FOLLOW_9); |
| |
| newLeafNode(otherlv_3, grammarAccess.getUnitElementAccess().getParametersParameterCrossReference_0_3_0_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:2323:5: (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* |
| loop38: |
| do { |
| int alt38=2; |
| int LA38_0 = input.LA(1); |
| |
| if ( (LA38_0==17) ) { |
| alt38=1; |
| } |
| |
| |
| switch (alt38) { |
| case 1 : |
| // InternalHenshin_text.g:2324:6: otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) |
| { |
| otherlv_4=(Token)match(input,17,FOLLOW_5); |
| |
| newLeafNode(otherlv_4, grammarAccess.getUnitElementAccess().getCommaKeyword_0_3_1_0()); |
| |
| // InternalHenshin_text.g:2328:6: ( (otherlv_5= RULE_ID ) ) |
| // InternalHenshin_text.g:2329:7: (otherlv_5= RULE_ID ) |
| { |
| // InternalHenshin_text.g:2329:7: (otherlv_5= RULE_ID ) |
| // InternalHenshin_text.g:2330:8: otherlv_5= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getUnitElementRule()); |
| } |
| |
| otherlv_5=(Token)match(input,RULE_ID,FOLLOW_9); |
| |
| newLeafNode(otherlv_5, grammarAccess.getUnitElementAccess().getParametersParameterCrossReference_0_3_1_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop38; |
| } |
| } while (true); |
| |
| |
| } |
| break; |
| |
| } |
| |
| otherlv_6=(Token)match(input,18,FOLLOW_2); |
| |
| newLeafNode(otherlv_6, grammarAccess.getUnitElementAccess().getRightParenthesisKeyword_0_4()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:2349:3: (otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' ) |
| { |
| // InternalHenshin_text.g:2349:3: (otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' ) |
| // InternalHenshin_text.g:2350:4: otherlv_7= '{' ( (lv_subSequence_8_0= ruleUnitElement ) )+ otherlv_9= '}' |
| { |
| otherlv_7=(Token)match(input,19,FOLLOW_14); |
| |
| newLeafNode(otherlv_7, grammarAccess.getUnitElementAccess().getLeftCurlyBracketKeyword_1_0()); |
| |
| // InternalHenshin_text.g:2354:4: ( (lv_subSequence_8_0= ruleUnitElement ) )+ |
| int cnt40=0; |
| loop40: |
| do { |
| int alt40=2; |
| int LA40_0 = input.LA(1); |
| |
| if ( (LA40_0==RULE_ID||LA40_0==19||(LA40_0>=49 && LA40_0<=52)||(LA40_0>=55 && LA40_0<=57)) ) { |
| alt40=1; |
| } |
| |
| |
| switch (alt40) { |
| case 1 : |
| // InternalHenshin_text.g:2355:5: (lv_subSequence_8_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2355:5: (lv_subSequence_8_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2356:6: lv_subSequence_8_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getSubSequenceUnitElementParserRuleCall_1_1_0()); |
| |
| pushFollow(FOLLOW_15); |
| lv_subSequence_8_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getUnitElementRule()); |
| } |
| add( |
| current, |
| "subSequence", |
| lv_subSequence_8_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt40 >= 1 ) break loop40; |
| EarlyExitException eee = |
| new EarlyExitException(40, input); |
| throw eee; |
| } |
| cnt40++; |
| } while (true); |
| |
| otherlv_9=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_9, grammarAccess.getUnitElementAccess().getRightCurlyBracketKeyword_1_2()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:2379:3: this_SequentialProperties_10= ruleSequentialProperties |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getSequentialPropertiesParserRuleCall_2()); |
| |
| pushFollow(FOLLOW_2); |
| this_SequentialProperties_10=ruleSequentialProperties(); |
| |
| state._fsp--; |
| |
| |
| current = this_SequentialProperties_10; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:2388:3: this_IndependentUnit_11= ruleIndependentUnit |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getIndependentUnitParserRuleCall_3()); |
| |
| pushFollow(FOLLOW_2); |
| this_IndependentUnit_11=ruleIndependentUnit(); |
| |
| state._fsp--; |
| |
| |
| current = this_IndependentUnit_11; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 5 : |
| // InternalHenshin_text.g:2397:3: this_ConditionalUnit_12= ruleConditionalUnit |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getConditionalUnitParserRuleCall_4()); |
| |
| pushFollow(FOLLOW_2); |
| this_ConditionalUnit_12=ruleConditionalUnit(); |
| |
| state._fsp--; |
| |
| |
| current = this_ConditionalUnit_12; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 6 : |
| // InternalHenshin_text.g:2406:3: this_PriorityUnit_13= rulePriorityUnit |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getPriorityUnitParserRuleCall_5()); |
| |
| pushFollow(FOLLOW_2); |
| this_PriorityUnit_13=rulePriorityUnit(); |
| |
| state._fsp--; |
| |
| |
| current = this_PriorityUnit_13; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 7 : |
| // InternalHenshin_text.g:2415:3: this_IteratedUnit_14= ruleIteratedUnit |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getIteratedUnitParserRuleCall_6()); |
| |
| pushFollow(FOLLOW_2); |
| this_IteratedUnit_14=ruleIteratedUnit(); |
| |
| state._fsp--; |
| |
| |
| current = this_IteratedUnit_14; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 8 : |
| // InternalHenshin_text.g:2424:3: this_LoopUnit_15= ruleLoopUnit |
| { |
| |
| newCompositeNode(grammarAccess.getUnitElementAccess().getLoopUnitParserRuleCall_7()); |
| |
| pushFollow(FOLLOW_2); |
| this_LoopUnit_15=ruleLoopUnit(); |
| |
| state._fsp--; |
| |
| |
| current = this_LoopUnit_15; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleUnitElement" |
| |
| |
| // $ANTLR start "entryRuleSequentialProperties" |
| // InternalHenshin_text.g:2436:1: entryRuleSequentialProperties returns [EObject current=null] : iv_ruleSequentialProperties= ruleSequentialProperties EOF ; |
| public final EObject entryRuleSequentialProperties() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleSequentialProperties = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2436:61: (iv_ruleSequentialProperties= ruleSequentialProperties EOF ) |
| // InternalHenshin_text.g:2437:2: iv_ruleSequentialProperties= ruleSequentialProperties EOF |
| { |
| newCompositeNode(grammarAccess.getSequentialPropertiesRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleSequentialProperties=ruleSequentialProperties(); |
| |
| state._fsp--; |
| |
| current =iv_ruleSequentialProperties; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleSequentialProperties" |
| |
| |
| // $ANTLR start "ruleSequentialProperties" |
| // InternalHenshin_text.g:2443:1: ruleSequentialProperties returns [EObject current=null] : (this_Strict_0= ruleStrict | this_Rollback_1= ruleRollback ) ; |
| public final EObject ruleSequentialProperties() throws RecognitionException { |
| EObject current = null; |
| |
| EObject this_Strict_0 = null; |
| |
| EObject this_Rollback_1 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2449:2: ( (this_Strict_0= ruleStrict | this_Rollback_1= ruleRollback ) ) |
| // InternalHenshin_text.g:2450:2: (this_Strict_0= ruleStrict | this_Rollback_1= ruleRollback ) |
| { |
| // InternalHenshin_text.g:2450:2: (this_Strict_0= ruleStrict | this_Rollback_1= ruleRollback ) |
| int alt42=2; |
| int LA42_0 = input.LA(1); |
| |
| if ( (LA42_0==49) ) { |
| alt42=1; |
| } |
| else if ( (LA42_0==50) ) { |
| alt42=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 42, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt42) { |
| case 1 : |
| // InternalHenshin_text.g:2451:3: this_Strict_0= ruleStrict |
| { |
| |
| newCompositeNode(grammarAccess.getSequentialPropertiesAccess().getStrictParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_2); |
| this_Strict_0=ruleStrict(); |
| |
| state._fsp--; |
| |
| |
| current = this_Strict_0; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:2460:3: this_Rollback_1= ruleRollback |
| { |
| |
| newCompositeNode(grammarAccess.getSequentialPropertiesAccess().getRollbackParserRuleCall_1()); |
| |
| pushFollow(FOLLOW_2); |
| this_Rollback_1=ruleRollback(); |
| |
| state._fsp--; |
| |
| |
| current = this_Rollback_1; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleSequentialProperties" |
| |
| |
| // $ANTLR start "entryRuleStrict" |
| // InternalHenshin_text.g:2472:1: entryRuleStrict returns [EObject current=null] : iv_ruleStrict= ruleStrict EOF ; |
| public final EObject entryRuleStrict() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleStrict = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2472:47: (iv_ruleStrict= ruleStrict EOF ) |
| // InternalHenshin_text.g:2473:2: iv_ruleStrict= ruleStrict EOF |
| { |
| newCompositeNode(grammarAccess.getStrictRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleStrict=ruleStrict(); |
| |
| state._fsp--; |
| |
| current =iv_ruleStrict; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleStrict" |
| |
| |
| // $ANTLR start "ruleStrict" |
| // InternalHenshin_text.g:2479:1: ruleStrict returns [EObject current=null] : (otherlv_0= 'strict' ( (lv_strict_1_0= ruleEBoolean ) ) ) ; |
| public final EObject ruleStrict() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| AntlrDatatypeRuleToken lv_strict_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2485:2: ( (otherlv_0= 'strict' ( (lv_strict_1_0= ruleEBoolean ) ) ) ) |
| // InternalHenshin_text.g:2486:2: (otherlv_0= 'strict' ( (lv_strict_1_0= ruleEBoolean ) ) ) |
| { |
| // InternalHenshin_text.g:2486:2: (otherlv_0= 'strict' ( (lv_strict_1_0= ruleEBoolean ) ) ) |
| // InternalHenshin_text.g:2487:3: otherlv_0= 'strict' ( (lv_strict_1_0= ruleEBoolean ) ) |
| { |
| otherlv_0=(Token)match(input,49,FOLLOW_16); |
| |
| newLeafNode(otherlv_0, grammarAccess.getStrictAccess().getStrictKeyword_0()); |
| |
| // InternalHenshin_text.g:2491:3: ( (lv_strict_1_0= ruleEBoolean ) ) |
| // InternalHenshin_text.g:2492:4: (lv_strict_1_0= ruleEBoolean ) |
| { |
| // InternalHenshin_text.g:2492:4: (lv_strict_1_0= ruleEBoolean ) |
| // InternalHenshin_text.g:2493:5: lv_strict_1_0= ruleEBoolean |
| { |
| |
| newCompositeNode(grammarAccess.getStrictAccess().getStrictEBooleanParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_strict_1_0=ruleEBoolean(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getStrictRule()); |
| } |
| set( |
| current, |
| "strict", |
| lv_strict_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EBoolean"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleStrict" |
| |
| |
| // $ANTLR start "entryRuleRollback" |
| // InternalHenshin_text.g:2514:1: entryRuleRollback returns [EObject current=null] : iv_ruleRollback= ruleRollback EOF ; |
| public final EObject entryRuleRollback() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleRollback = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2514:49: (iv_ruleRollback= ruleRollback EOF ) |
| // InternalHenshin_text.g:2515:2: iv_ruleRollback= ruleRollback EOF |
| { |
| newCompositeNode(grammarAccess.getRollbackRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleRollback=ruleRollback(); |
| |
| state._fsp--; |
| |
| current =iv_ruleRollback; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleRollback" |
| |
| |
| // $ANTLR start "ruleRollback" |
| // InternalHenshin_text.g:2521:1: ruleRollback returns [EObject current=null] : (otherlv_0= 'rollback' ( (lv_rollback_1_0= ruleEBoolean ) ) ) ; |
| public final EObject ruleRollback() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| AntlrDatatypeRuleToken lv_rollback_1_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2527:2: ( (otherlv_0= 'rollback' ( (lv_rollback_1_0= ruleEBoolean ) ) ) ) |
| // InternalHenshin_text.g:2528:2: (otherlv_0= 'rollback' ( (lv_rollback_1_0= ruleEBoolean ) ) ) |
| { |
| // InternalHenshin_text.g:2528:2: (otherlv_0= 'rollback' ( (lv_rollback_1_0= ruleEBoolean ) ) ) |
| // InternalHenshin_text.g:2529:3: otherlv_0= 'rollback' ( (lv_rollback_1_0= ruleEBoolean ) ) |
| { |
| otherlv_0=(Token)match(input,50,FOLLOW_16); |
| |
| newLeafNode(otherlv_0, grammarAccess.getRollbackAccess().getRollbackKeyword_0()); |
| |
| // InternalHenshin_text.g:2533:3: ( (lv_rollback_1_0= ruleEBoolean ) ) |
| // InternalHenshin_text.g:2534:4: (lv_rollback_1_0= ruleEBoolean ) |
| { |
| // InternalHenshin_text.g:2534:4: (lv_rollback_1_0= ruleEBoolean ) |
| // InternalHenshin_text.g:2535:5: lv_rollback_1_0= ruleEBoolean |
| { |
| |
| newCompositeNode(grammarAccess.getRollbackAccess().getRollbackEBooleanParserRuleCall_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_rollback_1_0=ruleEBoolean(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getRollbackRule()); |
| } |
| set( |
| current, |
| "rollback", |
| lv_rollback_1_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EBoolean"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleRollback" |
| |
| |
| // $ANTLR start "entryRuleList" |
| // InternalHenshin_text.g:2556:1: entryRuleList returns [EObject current=null] : iv_ruleList= ruleList EOF ; |
| public final EObject entryRuleList() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleList = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2556:45: (iv_ruleList= ruleList EOF ) |
| // InternalHenshin_text.g:2557:2: iv_ruleList= ruleList EOF |
| { |
| newCompositeNode(grammarAccess.getListRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleList=ruleList(); |
| |
| state._fsp--; |
| |
| current =iv_ruleList; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleList" |
| |
| |
| // $ANTLR start "ruleList" |
| // InternalHenshin_text.g:2563:1: ruleList returns [EObject current=null] : ( (lv_subElements_0_0= ruleUnitElement ) )+ ; |
| public final EObject ruleList() throws RecognitionException { |
| EObject current = null; |
| |
| EObject lv_subElements_0_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2569:2: ( ( (lv_subElements_0_0= ruleUnitElement ) )+ ) |
| // InternalHenshin_text.g:2570:2: ( (lv_subElements_0_0= ruleUnitElement ) )+ |
| { |
| // InternalHenshin_text.g:2570:2: ( (lv_subElements_0_0= ruleUnitElement ) )+ |
| int cnt43=0; |
| loop43: |
| do { |
| int alt43=2; |
| int LA43_0 = input.LA(1); |
| |
| if ( (LA43_0==RULE_ID||LA43_0==19||(LA43_0>=49 && LA43_0<=52)||(LA43_0>=55 && LA43_0<=57)) ) { |
| alt43=1; |
| } |
| |
| |
| switch (alt43) { |
| case 1 : |
| // InternalHenshin_text.g:2571:3: (lv_subElements_0_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2571:3: (lv_subElements_0_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2572:4: lv_subElements_0_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getListAccess().getSubElementsUnitElementParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_38); |
| lv_subElements_0_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getListRule()); |
| } |
| add( |
| current, |
| "subElements", |
| lv_subElements_0_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt43 >= 1 ) break loop43; |
| EarlyExitException eee = |
| new EarlyExitException(43, input); |
| throw eee; |
| } |
| cnt43++; |
| } while (true); |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleList" |
| |
| |
| // $ANTLR start "entryRuleIndependentUnit" |
| // InternalHenshin_text.g:2592:1: entryRuleIndependentUnit returns [EObject current=null] : iv_ruleIndependentUnit= ruleIndependentUnit EOF ; |
| public final EObject entryRuleIndependentUnit() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleIndependentUnit = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2592:56: (iv_ruleIndependentUnit= ruleIndependentUnit EOF ) |
| // InternalHenshin_text.g:2593:2: iv_ruleIndependentUnit= ruleIndependentUnit EOF |
| { |
| newCompositeNode(grammarAccess.getIndependentUnitRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleIndependentUnit=ruleIndependentUnit(); |
| |
| state._fsp--; |
| |
| current =iv_ruleIndependentUnit; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleIndependentUnit" |
| |
| |
| // $ANTLR start "ruleIndependentUnit" |
| // InternalHenshin_text.g:2599:1: ruleIndependentUnit returns [EObject current=null] : (otherlv_0= 'independent' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) ; |
| public final EObject ruleIndependentUnit() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| EObject lv_listOfLists_2_0 = null; |
| |
| EObject lv_listOfLists_4_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2605:2: ( (otherlv_0= 'independent' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) ) |
| // InternalHenshin_text.g:2606:2: (otherlv_0= 'independent' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) |
| { |
| // InternalHenshin_text.g:2606:2: (otherlv_0= 'independent' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) |
| // InternalHenshin_text.g:2607:3: otherlv_0= 'independent' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' |
| { |
| otherlv_0=(Token)match(input,51,FOLLOW_17); |
| |
| newLeafNode(otherlv_0, grammarAccess.getIndependentUnitAccess().getIndependentKeyword_0()); |
| |
| otherlv_1=(Token)match(input,26,FOLLOW_14); |
| |
| newLeafNode(otherlv_1, grammarAccess.getIndependentUnitAccess().getLeftSquareBracketKeyword_1()); |
| |
| // InternalHenshin_text.g:2615:3: ( (lv_listOfLists_2_0= ruleList ) ) |
| // InternalHenshin_text.g:2616:4: (lv_listOfLists_2_0= ruleList ) |
| { |
| // InternalHenshin_text.g:2616:4: (lv_listOfLists_2_0= ruleList ) |
| // InternalHenshin_text.g:2617:5: lv_listOfLists_2_0= ruleList |
| { |
| |
| newCompositeNode(grammarAccess.getIndependentUnitAccess().getListOfListsListParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_listOfLists_2_0=ruleList(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getIndependentUnitRule()); |
| } |
| add( |
| current, |
| "listOfLists", |
| lv_listOfLists_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.List"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:2634:3: (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* |
| loop44: |
| do { |
| int alt44=2; |
| int LA44_0 = input.LA(1); |
| |
| if ( (LA44_0==17) ) { |
| alt44=1; |
| } |
| |
| |
| switch (alt44) { |
| case 1 : |
| // InternalHenshin_text.g:2635:4: otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) |
| { |
| otherlv_3=(Token)match(input,17,FOLLOW_14); |
| |
| newLeafNode(otherlv_3, grammarAccess.getIndependentUnitAccess().getCommaKeyword_3_0()); |
| |
| // InternalHenshin_text.g:2639:4: ( (lv_listOfLists_4_0= ruleList ) ) |
| // InternalHenshin_text.g:2640:5: (lv_listOfLists_4_0= ruleList ) |
| { |
| // InternalHenshin_text.g:2640:5: (lv_listOfLists_4_0= ruleList ) |
| // InternalHenshin_text.g:2641:6: lv_listOfLists_4_0= ruleList |
| { |
| |
| newCompositeNode(grammarAccess.getIndependentUnitAccess().getListOfListsListParserRuleCall_3_1_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_listOfLists_4_0=ruleList(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getIndependentUnitRule()); |
| } |
| add( |
| current, |
| "listOfLists", |
| lv_listOfLists_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.List"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop44; |
| } |
| } while (true); |
| |
| otherlv_5=(Token)match(input,27,FOLLOW_2); |
| |
| newLeafNode(otherlv_5, grammarAccess.getIndependentUnitAccess().getRightSquareBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleIndependentUnit" |
| |
| |
| // $ANTLR start "entryRuleConditionalUnit" |
| // InternalHenshin_text.g:2667:1: entryRuleConditionalUnit returns [EObject current=null] : iv_ruleConditionalUnit= ruleConditionalUnit EOF ; |
| public final EObject entryRuleConditionalUnit() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleConditionalUnit = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2667:56: (iv_ruleConditionalUnit= ruleConditionalUnit EOF ) |
| // InternalHenshin_text.g:2668:2: iv_ruleConditionalUnit= ruleConditionalUnit EOF |
| { |
| newCompositeNode(grammarAccess.getConditionalUnitRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleConditionalUnit=ruleConditionalUnit(); |
| |
| state._fsp--; |
| |
| current =iv_ruleConditionalUnit; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleConditionalUnit" |
| |
| |
| // $ANTLR start "ruleConditionalUnit" |
| // InternalHenshin_text.g:2674:1: ruleConditionalUnit returns [EObject current=null] : (otherlv_0= 'if' otherlv_1= '(' ( (lv_if_2_0= ruleUnitElement ) )+ otherlv_3= ')' otherlv_4= 'then' otherlv_5= '{' ( (lv_then_6_0= ruleUnitElement ) )+ otherlv_7= '}' (otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' )? ) ; |
| public final EObject ruleConditionalUnit() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_4=null; |
| Token otherlv_5=null; |
| Token otherlv_7=null; |
| Token otherlv_8=null; |
| Token otherlv_9=null; |
| Token otherlv_11=null; |
| EObject lv_if_2_0 = null; |
| |
| EObject lv_then_6_0 = null; |
| |
| EObject lv_else_10_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2680:2: ( (otherlv_0= 'if' otherlv_1= '(' ( (lv_if_2_0= ruleUnitElement ) )+ otherlv_3= ')' otherlv_4= 'then' otherlv_5= '{' ( (lv_then_6_0= ruleUnitElement ) )+ otherlv_7= '}' (otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' )? ) ) |
| // InternalHenshin_text.g:2681:2: (otherlv_0= 'if' otherlv_1= '(' ( (lv_if_2_0= ruleUnitElement ) )+ otherlv_3= ')' otherlv_4= 'then' otherlv_5= '{' ( (lv_then_6_0= ruleUnitElement ) )+ otherlv_7= '}' (otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' )? ) |
| { |
| // InternalHenshin_text.g:2681:2: (otherlv_0= 'if' otherlv_1= '(' ( (lv_if_2_0= ruleUnitElement ) )+ otherlv_3= ')' otherlv_4= 'then' otherlv_5= '{' ( (lv_then_6_0= ruleUnitElement ) )+ otherlv_7= '}' (otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' )? ) |
| // InternalHenshin_text.g:2682:3: otherlv_0= 'if' otherlv_1= '(' ( (lv_if_2_0= ruleUnitElement ) )+ otherlv_3= ')' otherlv_4= 'then' otherlv_5= '{' ( (lv_then_6_0= ruleUnitElement ) )+ otherlv_7= '}' (otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' )? |
| { |
| otherlv_0=(Token)match(input,52,FOLLOW_7); |
| |
| newLeafNode(otherlv_0, grammarAccess.getConditionalUnitAccess().getIfKeyword_0()); |
| |
| otherlv_1=(Token)match(input,16,FOLLOW_14); |
| |
| newLeafNode(otherlv_1, grammarAccess.getConditionalUnitAccess().getLeftParenthesisKeyword_1()); |
| |
| // InternalHenshin_text.g:2690:3: ( (lv_if_2_0= ruleUnitElement ) )+ |
| int cnt45=0; |
| loop45: |
| do { |
| int alt45=2; |
| int LA45_0 = input.LA(1); |
| |
| if ( (LA45_0==RULE_ID||LA45_0==19||(LA45_0>=49 && LA45_0<=52)||(LA45_0>=55 && LA45_0<=57)) ) { |
| alt45=1; |
| } |
| |
| |
| switch (alt45) { |
| case 1 : |
| // InternalHenshin_text.g:2691:4: (lv_if_2_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2691:4: (lv_if_2_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2692:5: lv_if_2_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getConditionalUnitAccess().getIfUnitElementParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_39); |
| lv_if_2_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionalUnitRule()); |
| } |
| add( |
| current, |
| "if", |
| lv_if_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt45 >= 1 ) break loop45; |
| EarlyExitException eee = |
| new EarlyExitException(45, input); |
| throw eee; |
| } |
| cnt45++; |
| } while (true); |
| |
| otherlv_3=(Token)match(input,18,FOLLOW_40); |
| |
| newLeafNode(otherlv_3, grammarAccess.getConditionalUnitAccess().getRightParenthesisKeyword_3()); |
| |
| otherlv_4=(Token)match(input,53,FOLLOW_11); |
| |
| newLeafNode(otherlv_4, grammarAccess.getConditionalUnitAccess().getThenKeyword_4()); |
| |
| otherlv_5=(Token)match(input,19,FOLLOW_14); |
| |
| newLeafNode(otherlv_5, grammarAccess.getConditionalUnitAccess().getLeftCurlyBracketKeyword_5()); |
| |
| // InternalHenshin_text.g:2721:3: ( (lv_then_6_0= ruleUnitElement ) )+ |
| int cnt46=0; |
| loop46: |
| do { |
| int alt46=2; |
| int LA46_0 = input.LA(1); |
| |
| if ( (LA46_0==RULE_ID||LA46_0==19||(LA46_0>=49 && LA46_0<=52)||(LA46_0>=55 && LA46_0<=57)) ) { |
| alt46=1; |
| } |
| |
| |
| switch (alt46) { |
| case 1 : |
| // InternalHenshin_text.g:2722:4: (lv_then_6_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2722:4: (lv_then_6_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2723:5: lv_then_6_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getConditionalUnitAccess().getThenUnitElementParserRuleCall_6_0()); |
| |
| pushFollow(FOLLOW_15); |
| lv_then_6_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionalUnitRule()); |
| } |
| add( |
| current, |
| "then", |
| lv_then_6_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt46 >= 1 ) break loop46; |
| EarlyExitException eee = |
| new EarlyExitException(46, input); |
| throw eee; |
| } |
| cnt46++; |
| } while (true); |
| |
| otherlv_7=(Token)match(input,20,FOLLOW_41); |
| |
| newLeafNode(otherlv_7, grammarAccess.getConditionalUnitAccess().getRightCurlyBracketKeyword_7()); |
| |
| // InternalHenshin_text.g:2744:3: (otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' )? |
| int alt48=2; |
| int LA48_0 = input.LA(1); |
| |
| if ( (LA48_0==54) ) { |
| alt48=1; |
| } |
| switch (alt48) { |
| case 1 : |
| // InternalHenshin_text.g:2745:4: otherlv_8= 'else' otherlv_9= '{' ( (lv_else_10_0= ruleUnitElement ) )+ otherlv_11= '}' |
| { |
| otherlv_8=(Token)match(input,54,FOLLOW_11); |
| |
| newLeafNode(otherlv_8, grammarAccess.getConditionalUnitAccess().getElseKeyword_8_0()); |
| |
| otherlv_9=(Token)match(input,19,FOLLOW_14); |
| |
| newLeafNode(otherlv_9, grammarAccess.getConditionalUnitAccess().getLeftCurlyBracketKeyword_8_1()); |
| |
| // InternalHenshin_text.g:2753:4: ( (lv_else_10_0= ruleUnitElement ) )+ |
| int cnt47=0; |
| loop47: |
| do { |
| int alt47=2; |
| int LA47_0 = input.LA(1); |
| |
| if ( (LA47_0==RULE_ID||LA47_0==19||(LA47_0>=49 && LA47_0<=52)||(LA47_0>=55 && LA47_0<=57)) ) { |
| alt47=1; |
| } |
| |
| |
| switch (alt47) { |
| case 1 : |
| // InternalHenshin_text.g:2754:5: (lv_else_10_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2754:5: (lv_else_10_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2755:6: lv_else_10_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getConditionalUnitAccess().getElseUnitElementParserRuleCall_8_2_0()); |
| |
| pushFollow(FOLLOW_15); |
| lv_else_10_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getConditionalUnitRule()); |
| } |
| add( |
| current, |
| "else", |
| lv_else_10_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt47 >= 1 ) break loop47; |
| EarlyExitException eee = |
| new EarlyExitException(47, input); |
| throw eee; |
| } |
| cnt47++; |
| } while (true); |
| |
| otherlv_11=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_11, grammarAccess.getConditionalUnitAccess().getRightCurlyBracketKeyword_8_3()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleConditionalUnit" |
| |
| |
| // $ANTLR start "entryRulePriorityUnit" |
| // InternalHenshin_text.g:2781:1: entryRulePriorityUnit returns [EObject current=null] : iv_rulePriorityUnit= rulePriorityUnit EOF ; |
| public final EObject entryRulePriorityUnit() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_rulePriorityUnit = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2781:53: (iv_rulePriorityUnit= rulePriorityUnit EOF ) |
| // InternalHenshin_text.g:2782:2: iv_rulePriorityUnit= rulePriorityUnit EOF |
| { |
| newCompositeNode(grammarAccess.getPriorityUnitRule()); |
| pushFollow(FOLLOW_1); |
| iv_rulePriorityUnit=rulePriorityUnit(); |
| |
| state._fsp--; |
| |
| current =iv_rulePriorityUnit; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRulePriorityUnit" |
| |
| |
| // $ANTLR start "rulePriorityUnit" |
| // InternalHenshin_text.g:2788:1: rulePriorityUnit returns [EObject current=null] : (otherlv_0= 'priority' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) ; |
| public final EObject rulePriorityUnit() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| EObject lv_listOfLists_2_0 = null; |
| |
| EObject lv_listOfLists_4_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2794:2: ( (otherlv_0= 'priority' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) ) |
| // InternalHenshin_text.g:2795:2: (otherlv_0= 'priority' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) |
| { |
| // InternalHenshin_text.g:2795:2: (otherlv_0= 'priority' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' ) |
| // InternalHenshin_text.g:2796:3: otherlv_0= 'priority' otherlv_1= '[' ( (lv_listOfLists_2_0= ruleList ) ) (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* otherlv_5= ']' |
| { |
| otherlv_0=(Token)match(input,55,FOLLOW_17); |
| |
| newLeafNode(otherlv_0, grammarAccess.getPriorityUnitAccess().getPriorityKeyword_0()); |
| |
| otherlv_1=(Token)match(input,26,FOLLOW_14); |
| |
| newLeafNode(otherlv_1, grammarAccess.getPriorityUnitAccess().getLeftSquareBracketKeyword_1()); |
| |
| // InternalHenshin_text.g:2804:3: ( (lv_listOfLists_2_0= ruleList ) ) |
| // InternalHenshin_text.g:2805:4: (lv_listOfLists_2_0= ruleList ) |
| { |
| // InternalHenshin_text.g:2805:4: (lv_listOfLists_2_0= ruleList ) |
| // InternalHenshin_text.g:2806:5: lv_listOfLists_2_0= ruleList |
| { |
| |
| newCompositeNode(grammarAccess.getPriorityUnitAccess().getListOfListsListParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_listOfLists_2_0=ruleList(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getPriorityUnitRule()); |
| } |
| add( |
| current, |
| "listOfLists", |
| lv_listOfLists_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.List"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:2823:3: (otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) )* |
| loop49: |
| do { |
| int alt49=2; |
| int LA49_0 = input.LA(1); |
| |
| if ( (LA49_0==17) ) { |
| alt49=1; |
| } |
| |
| |
| switch (alt49) { |
| case 1 : |
| // InternalHenshin_text.g:2824:4: otherlv_3= ',' ( (lv_listOfLists_4_0= ruleList ) ) |
| { |
| otherlv_3=(Token)match(input,17,FOLLOW_14); |
| |
| newLeafNode(otherlv_3, grammarAccess.getPriorityUnitAccess().getCommaKeyword_3_0()); |
| |
| // InternalHenshin_text.g:2828:4: ( (lv_listOfLists_4_0= ruleList ) ) |
| // InternalHenshin_text.g:2829:5: (lv_listOfLists_4_0= ruleList ) |
| { |
| // InternalHenshin_text.g:2829:5: (lv_listOfLists_4_0= ruleList ) |
| // InternalHenshin_text.g:2830:6: lv_listOfLists_4_0= ruleList |
| { |
| |
| newCompositeNode(grammarAccess.getPriorityUnitAccess().getListOfListsListParserRuleCall_3_1_0()); |
| |
| pushFollow(FOLLOW_19); |
| lv_listOfLists_4_0=ruleList(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getPriorityUnitRule()); |
| } |
| add( |
| current, |
| "listOfLists", |
| lv_listOfLists_4_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.List"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop49; |
| } |
| } while (true); |
| |
| otherlv_5=(Token)match(input,27,FOLLOW_2); |
| |
| newLeafNode(otherlv_5, grammarAccess.getPriorityUnitAccess().getRightSquareBracketKeyword_4()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "rulePriorityUnit" |
| |
| |
| // $ANTLR start "entryRuleIteratedUnit" |
| // InternalHenshin_text.g:2856:1: entryRuleIteratedUnit returns [EObject current=null] : iv_ruleIteratedUnit= ruleIteratedUnit EOF ; |
| public final EObject entryRuleIteratedUnit() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleIteratedUnit = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2856:53: (iv_ruleIteratedUnit= ruleIteratedUnit EOF ) |
| // InternalHenshin_text.g:2857:2: iv_ruleIteratedUnit= ruleIteratedUnit EOF |
| { |
| newCompositeNode(grammarAccess.getIteratedUnitRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleIteratedUnit=ruleIteratedUnit(); |
| |
| state._fsp--; |
| |
| current =iv_ruleIteratedUnit; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleIteratedUnit" |
| |
| |
| // $ANTLR start "ruleIteratedUnit" |
| // InternalHenshin_text.g:2863:1: ruleIteratedUnit returns [EObject current=null] : ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_iterations_3_0= ruleExpression ) ) otherlv_4= ')' otherlv_5= '{' ( (lv_subElement_6_0= ruleUnitElement ) )+ otherlv_7= '}' ) ; |
| public final EObject ruleIteratedUnit() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| Token otherlv_5=null; |
| Token otherlv_7=null; |
| EObject lv_iterations_3_0 = null; |
| |
| EObject lv_subElement_6_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2869:2: ( ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_iterations_3_0= ruleExpression ) ) otherlv_4= ')' otherlv_5= '{' ( (lv_subElement_6_0= ruleUnitElement ) )+ otherlv_7= '}' ) ) |
| // InternalHenshin_text.g:2870:2: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_iterations_3_0= ruleExpression ) ) otherlv_4= ')' otherlv_5= '{' ( (lv_subElement_6_0= ruleUnitElement ) )+ otherlv_7= '}' ) |
| { |
| // InternalHenshin_text.g:2870:2: ( () otherlv_1= 'for' otherlv_2= '(' ( (lv_iterations_3_0= ruleExpression ) ) otherlv_4= ')' otherlv_5= '{' ( (lv_subElement_6_0= ruleUnitElement ) )+ otherlv_7= '}' ) |
| // InternalHenshin_text.g:2871:3: () otherlv_1= 'for' otherlv_2= '(' ( (lv_iterations_3_0= ruleExpression ) ) otherlv_4= ')' otherlv_5= '{' ( (lv_subElement_6_0= ruleUnitElement ) )+ otherlv_7= '}' |
| { |
| // InternalHenshin_text.g:2871:3: () |
| // InternalHenshin_text.g:2872:4: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getIteratedUnitAccess().getIteratedUnitAction_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_1=(Token)match(input,56,FOLLOW_7); |
| |
| newLeafNode(otherlv_1, grammarAccess.getIteratedUnitAccess().getForKeyword_1()); |
| |
| otherlv_2=(Token)match(input,16,FOLLOW_18); |
| |
| newLeafNode(otherlv_2, grammarAccess.getIteratedUnitAccess().getLeftParenthesisKeyword_2()); |
| |
| // InternalHenshin_text.g:2886:3: ( (lv_iterations_3_0= ruleExpression ) ) |
| // InternalHenshin_text.g:2887:4: (lv_iterations_3_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:2887:4: (lv_iterations_3_0= ruleExpression ) |
| // InternalHenshin_text.g:2888:5: lv_iterations_3_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getIteratedUnitAccess().getIterationsExpressionParserRuleCall_3_0()); |
| |
| pushFollow(FOLLOW_24); |
| lv_iterations_3_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getIteratedUnitRule()); |
| } |
| set( |
| current, |
| "iterations", |
| lv_iterations_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_4=(Token)match(input,18,FOLLOW_11); |
| |
| newLeafNode(otherlv_4, grammarAccess.getIteratedUnitAccess().getRightParenthesisKeyword_4()); |
| |
| otherlv_5=(Token)match(input,19,FOLLOW_14); |
| |
| newLeafNode(otherlv_5, grammarAccess.getIteratedUnitAccess().getLeftCurlyBracketKeyword_5()); |
| |
| // InternalHenshin_text.g:2913:3: ( (lv_subElement_6_0= ruleUnitElement ) )+ |
| int cnt50=0; |
| loop50: |
| do { |
| int alt50=2; |
| int LA50_0 = input.LA(1); |
| |
| if ( (LA50_0==RULE_ID||LA50_0==19||(LA50_0>=49 && LA50_0<=52)||(LA50_0>=55 && LA50_0<=57)) ) { |
| alt50=1; |
| } |
| |
| |
| switch (alt50) { |
| case 1 : |
| // InternalHenshin_text.g:2914:4: (lv_subElement_6_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2914:4: (lv_subElement_6_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2915:5: lv_subElement_6_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getIteratedUnitAccess().getSubElementUnitElementParserRuleCall_6_0()); |
| |
| pushFollow(FOLLOW_15); |
| lv_subElement_6_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getIteratedUnitRule()); |
| } |
| add( |
| current, |
| "subElement", |
| lv_subElement_6_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt50 >= 1 ) break loop50; |
| EarlyExitException eee = |
| new EarlyExitException(50, input); |
| throw eee; |
| } |
| cnt50++; |
| } while (true); |
| |
| otherlv_7=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_7, grammarAccess.getIteratedUnitAccess().getRightCurlyBracketKeyword_7()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleIteratedUnit" |
| |
| |
| // $ANTLR start "entryRuleLoopUnit" |
| // InternalHenshin_text.g:2940:1: entryRuleLoopUnit returns [EObject current=null] : iv_ruleLoopUnit= ruleLoopUnit EOF ; |
| public final EObject entryRuleLoopUnit() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleLoopUnit = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2940:49: (iv_ruleLoopUnit= ruleLoopUnit EOF ) |
| // InternalHenshin_text.g:2941:2: iv_ruleLoopUnit= ruleLoopUnit EOF |
| { |
| newCompositeNode(grammarAccess.getLoopUnitRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleLoopUnit=ruleLoopUnit(); |
| |
| state._fsp--; |
| |
| current =iv_ruleLoopUnit; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleLoopUnit" |
| |
| |
| // $ANTLR start "ruleLoopUnit" |
| // InternalHenshin_text.g:2947:1: ruleLoopUnit returns [EObject current=null] : (otherlv_0= 'while' otherlv_1= '{' ( (lv_subElement_2_0= ruleUnitElement ) )+ otherlv_3= '}' ) ; |
| public final EObject ruleLoopUnit() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_0=null; |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| EObject lv_subElement_2_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:2953:2: ( (otherlv_0= 'while' otherlv_1= '{' ( (lv_subElement_2_0= ruleUnitElement ) )+ otherlv_3= '}' ) ) |
| // InternalHenshin_text.g:2954:2: (otherlv_0= 'while' otherlv_1= '{' ( (lv_subElement_2_0= ruleUnitElement ) )+ otherlv_3= '}' ) |
| { |
| // InternalHenshin_text.g:2954:2: (otherlv_0= 'while' otherlv_1= '{' ( (lv_subElement_2_0= ruleUnitElement ) )+ otherlv_3= '}' ) |
| // InternalHenshin_text.g:2955:3: otherlv_0= 'while' otherlv_1= '{' ( (lv_subElement_2_0= ruleUnitElement ) )+ otherlv_3= '}' |
| { |
| otherlv_0=(Token)match(input,57,FOLLOW_11); |
| |
| newLeafNode(otherlv_0, grammarAccess.getLoopUnitAccess().getWhileKeyword_0()); |
| |
| otherlv_1=(Token)match(input,19,FOLLOW_14); |
| |
| newLeafNode(otherlv_1, grammarAccess.getLoopUnitAccess().getLeftCurlyBracketKeyword_1()); |
| |
| // InternalHenshin_text.g:2963:3: ( (lv_subElement_2_0= ruleUnitElement ) )+ |
| int cnt51=0; |
| loop51: |
| do { |
| int alt51=2; |
| int LA51_0 = input.LA(1); |
| |
| if ( (LA51_0==RULE_ID||LA51_0==19||(LA51_0>=49 && LA51_0<=52)||(LA51_0>=55 && LA51_0<=57)) ) { |
| alt51=1; |
| } |
| |
| |
| switch (alt51) { |
| case 1 : |
| // InternalHenshin_text.g:2964:4: (lv_subElement_2_0= ruleUnitElement ) |
| { |
| // InternalHenshin_text.g:2964:4: (lv_subElement_2_0= ruleUnitElement ) |
| // InternalHenshin_text.g:2965:5: lv_subElement_2_0= ruleUnitElement |
| { |
| |
| newCompositeNode(grammarAccess.getLoopUnitAccess().getSubElementUnitElementParserRuleCall_2_0()); |
| |
| pushFollow(FOLLOW_15); |
| lv_subElement_2_0=ruleUnitElement(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getLoopUnitRule()); |
| } |
| add( |
| current, |
| "subElement", |
| lv_subElement_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.UnitElement"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| if ( cnt51 >= 1 ) break loop51; |
| EarlyExitException eee = |
| new EarlyExitException(51, input); |
| throw eee; |
| } |
| cnt51++; |
| } while (true); |
| |
| otherlv_3=(Token)match(input,20,FOLLOW_2); |
| |
| newLeafNode(otherlv_3, grammarAccess.getLoopUnitAccess().getRightCurlyBracketKeyword_3()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleLoopUnit" |
| |
| |
| // $ANTLR start "entryRuleParameter" |
| // InternalHenshin_text.g:2990:1: entryRuleParameter returns [EObject current=null] : iv_ruleParameter= ruleParameter EOF ; |
| public final EObject entryRuleParameter() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleParameter = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:2990:50: (iv_ruleParameter= ruleParameter EOF ) |
| // InternalHenshin_text.g:2991:2: iv_ruleParameter= ruleParameter EOF |
| { |
| newCompositeNode(grammarAccess.getParameterRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleParameter=ruleParameter(); |
| |
| state._fsp--; |
| |
| current =iv_ruleParameter; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleParameter" |
| |
| |
| // $ANTLR start "ruleParameter" |
| // InternalHenshin_text.g:2997:1: ruleParameter returns [EObject current=null] : ( ( (lv_kind_0_0= ruleParameterKindRule ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleParameterType ) ) ) ; |
| public final EObject ruleParameter() throws RecognitionException { |
| EObject current = null; |
| |
| Token lv_name_1_0=null; |
| Token otherlv_2=null; |
| Enumerator lv_kind_0_0 = null; |
| |
| EObject lv_type_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3003:2: ( ( ( (lv_kind_0_0= ruleParameterKindRule ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleParameterType ) ) ) ) |
| // InternalHenshin_text.g:3004:2: ( ( (lv_kind_0_0= ruleParameterKindRule ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleParameterType ) ) ) |
| { |
| // InternalHenshin_text.g:3004:2: ( ( (lv_kind_0_0= ruleParameterKindRule ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleParameterType ) ) ) |
| // InternalHenshin_text.g:3005:3: ( (lv_kind_0_0= ruleParameterKindRule ) )? ( (lv_name_1_0= RULE_ID ) ) otherlv_2= ':' ( (lv_type_3_0= ruleParameterType ) ) |
| { |
| // InternalHenshin_text.g:3005:3: ( (lv_kind_0_0= ruleParameterKindRule ) )? |
| int alt52=2; |
| int LA52_0 = input.LA(1); |
| |
| if ( ((LA52_0>=70 && LA52_0<=73)) ) { |
| alt52=1; |
| } |
| switch (alt52) { |
| case 1 : |
| // InternalHenshin_text.g:3006:4: (lv_kind_0_0= ruleParameterKindRule ) |
| { |
| // InternalHenshin_text.g:3006:4: (lv_kind_0_0= ruleParameterKindRule ) |
| // InternalHenshin_text.g:3007:5: lv_kind_0_0= ruleParameterKindRule |
| { |
| |
| newCompositeNode(grammarAccess.getParameterAccess().getKindParameterKindRuleEnumRuleCall_0_0()); |
| |
| pushFollow(FOLLOW_5); |
| lv_kind_0_0=ruleParameterKindRule(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getParameterRule()); |
| } |
| set( |
| current, |
| "kind", |
| lv_kind_0_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ParameterKindRule"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| // InternalHenshin_text.g:3024:3: ( (lv_name_1_0= RULE_ID ) ) |
| // InternalHenshin_text.g:3025:4: (lv_name_1_0= RULE_ID ) |
| { |
| // InternalHenshin_text.g:3025:4: (lv_name_1_0= RULE_ID ) |
| // InternalHenshin_text.g:3026:5: lv_name_1_0= RULE_ID |
| { |
| lv_name_1_0=(Token)match(input,RULE_ID,FOLLOW_23); |
| |
| newLeafNode(lv_name_1_0, grammarAccess.getParameterAccess().getNameIDTerminalRuleCall_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getParameterRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "name", |
| lv_name_1_0, |
| "org.eclipse.xtext.common.Terminals.ID"); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,36,FOLLOW_42); |
| |
| newLeafNode(otherlv_2, grammarAccess.getParameterAccess().getColonKeyword_2()); |
| |
| // InternalHenshin_text.g:3046:3: ( (lv_type_3_0= ruleParameterType ) ) |
| // InternalHenshin_text.g:3047:4: (lv_type_3_0= ruleParameterType ) |
| { |
| // InternalHenshin_text.g:3047:4: (lv_type_3_0= ruleParameterType ) |
| // InternalHenshin_text.g:3048:5: lv_type_3_0= ruleParameterType |
| { |
| |
| newCompositeNode(grammarAccess.getParameterAccess().getTypeParameterTypeParserRuleCall_3_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_type_3_0=ruleParameterType(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getParameterRule()); |
| } |
| set( |
| current, |
| "type", |
| lv_type_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ParameterType"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleParameter" |
| |
| |
| // $ANTLR start "entryRuleParameterType" |
| // InternalHenshin_text.g:3069:1: entryRuleParameterType returns [EObject current=null] : iv_ruleParameterType= ruleParameterType EOF ; |
| public final EObject entryRuleParameterType() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleParameterType = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3069:54: (iv_ruleParameterType= ruleParameterType EOF ) |
| // InternalHenshin_text.g:3070:2: iv_ruleParameterType= ruleParameterType EOF |
| { |
| newCompositeNode(grammarAccess.getParameterTypeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleParameterType=ruleParameterType(); |
| |
| state._fsp--; |
| |
| current =iv_ruleParameterType; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleParameterType" |
| |
| |
| // $ANTLR start "ruleParameterType" |
| // InternalHenshin_text.g:3076:1: ruleParameterType returns [EObject current=null] : ( ( (lv_enumType_0_0= ruleType ) ) | ( ( ruleEString ) ) ) ; |
| public final EObject ruleParameterType() throws RecognitionException { |
| EObject current = null; |
| |
| Enumerator lv_enumType_0_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3082:2: ( ( ( (lv_enumType_0_0= ruleType ) ) | ( ( ruleEString ) ) ) ) |
| // InternalHenshin_text.g:3083:2: ( ( (lv_enumType_0_0= ruleType ) ) | ( ( ruleEString ) ) ) |
| { |
| // InternalHenshin_text.g:3083:2: ( ( (lv_enumType_0_0= ruleType ) ) | ( ( ruleEString ) ) ) |
| int alt53=2; |
| int LA53_0 = input.LA(1); |
| |
| if ( ((LA53_0>=74 && LA53_0<=106)) ) { |
| alt53=1; |
| } |
| else if ( (LA53_0==RULE_ID) ) { |
| alt53=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 53, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt53) { |
| case 1 : |
| // InternalHenshin_text.g:3084:3: ( (lv_enumType_0_0= ruleType ) ) |
| { |
| // InternalHenshin_text.g:3084:3: ( (lv_enumType_0_0= ruleType ) ) |
| // InternalHenshin_text.g:3085:4: (lv_enumType_0_0= ruleType ) |
| { |
| // InternalHenshin_text.g:3085:4: (lv_enumType_0_0= ruleType ) |
| // InternalHenshin_text.g:3086:5: lv_enumType_0_0= ruleType |
| { |
| |
| newCompositeNode(grammarAccess.getParameterTypeAccess().getEnumTypeTypeEnumRuleCall_0_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_enumType_0_0=ruleType(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getParameterTypeRule()); |
| } |
| set( |
| current, |
| "enumType", |
| lv_enumType_0_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Type"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3104:3: ( ( ruleEString ) ) |
| { |
| // InternalHenshin_text.g:3104:3: ( ( ruleEString ) ) |
| // InternalHenshin_text.g:3105:4: ( ruleEString ) |
| { |
| // InternalHenshin_text.g:3105:4: ( ruleEString ) |
| // InternalHenshin_text.g:3106:5: ruleEString |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getParameterTypeRule()); |
| } |
| |
| |
| newCompositeNode(grammarAccess.getParameterTypeAccess().getTypeEClassCrossReference_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| ruleEString(); |
| |
| state._fsp--; |
| |
| |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleParameterType" |
| |
| |
| // $ANTLR start "entryRuleEBoolean" |
| // InternalHenshin_text.g:3124:1: entryRuleEBoolean returns [String current=null] : iv_ruleEBoolean= ruleEBoolean EOF ; |
| public final String entryRuleEBoolean() throws RecognitionException { |
| String current = null; |
| |
| AntlrDatatypeRuleToken iv_ruleEBoolean = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3124:48: (iv_ruleEBoolean= ruleEBoolean EOF ) |
| // InternalHenshin_text.g:3125:2: iv_ruleEBoolean= ruleEBoolean EOF |
| { |
| newCompositeNode(grammarAccess.getEBooleanRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleEBoolean=ruleEBoolean(); |
| |
| state._fsp--; |
| |
| current =iv_ruleEBoolean.getText(); |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleEBoolean" |
| |
| |
| // $ANTLR start "ruleEBoolean" |
| // InternalHenshin_text.g:3131:1: ruleEBoolean returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'true' | kw= 'false' ) ; |
| public final AntlrDatatypeRuleToken ruleEBoolean() throws RecognitionException { |
| AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
| |
| Token kw=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3137:2: ( (kw= 'true' | kw= 'false' ) ) |
| // InternalHenshin_text.g:3138:2: (kw= 'true' | kw= 'false' ) |
| { |
| // InternalHenshin_text.g:3138:2: (kw= 'true' | kw= 'false' ) |
| int alt54=2; |
| int LA54_0 = input.LA(1); |
| |
| if ( (LA54_0==58) ) { |
| alt54=1; |
| } |
| else if ( (LA54_0==59) ) { |
| alt54=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 54, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt54) { |
| case 1 : |
| // InternalHenshin_text.g:3139:3: kw= 'true' |
| { |
| kw=(Token)match(input,58,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getEBooleanAccess().getTrueKeyword_0()); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3145:3: kw= 'false' |
| { |
| kw=(Token)match(input,59,FOLLOW_2); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getEBooleanAccess().getFalseKeyword_1()); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleEBoolean" |
| |
| |
| // $ANTLR start "entryRuleExpression" |
| // InternalHenshin_text.g:3154:1: entryRuleExpression returns [EObject current=null] : iv_ruleExpression= ruleExpression EOF ; |
| public final EObject entryRuleExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3154:51: (iv_ruleExpression= ruleExpression EOF ) |
| // InternalHenshin_text.g:3155:2: iv_ruleExpression= ruleExpression EOF |
| { |
| newCompositeNode(grammarAccess.getExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleExpression=ruleExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleExpression" |
| |
| |
| // $ANTLR start "ruleExpression" |
| // InternalHenshin_text.g:3161:1: ruleExpression returns [EObject current=null] : this_OrExpression_0= ruleOrExpression ; |
| public final EObject ruleExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject this_OrExpression_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3167:2: (this_OrExpression_0= ruleOrExpression ) |
| // InternalHenshin_text.g:3168:2: this_OrExpression_0= ruleOrExpression |
| { |
| |
| newCompositeNode(grammarAccess.getExpressionAccess().getOrExpressionParserRuleCall()); |
| |
| pushFollow(FOLLOW_2); |
| this_OrExpression_0=ruleOrExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_OrExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleExpression" |
| |
| |
| // $ANTLR start "entryRuleOrExpression" |
| // InternalHenshin_text.g:3179:1: entryRuleOrExpression returns [EObject current=null] : iv_ruleOrExpression= ruleOrExpression EOF ; |
| public final EObject entryRuleOrExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleOrExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3179:53: (iv_ruleOrExpression= ruleOrExpression EOF ) |
| // InternalHenshin_text.g:3180:2: iv_ruleOrExpression= ruleOrExpression EOF |
| { |
| newCompositeNode(grammarAccess.getOrExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleOrExpression=ruleOrExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleOrExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleOrExpression" |
| |
| |
| // $ANTLR start "ruleOrExpression" |
| // InternalHenshin_text.g:3186:1: ruleOrExpression returns [EObject current=null] : (this_AndExpression_0= ruleAndExpression ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) )* ) ; |
| public final EObject ruleOrExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_2=null; |
| EObject this_AndExpression_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3192:2: ( (this_AndExpression_0= ruleAndExpression ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) )* ) ) |
| // InternalHenshin_text.g:3193:2: (this_AndExpression_0= ruleAndExpression ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) )* ) |
| { |
| // InternalHenshin_text.g:3193:2: (this_AndExpression_0= ruleAndExpression ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) )* ) |
| // InternalHenshin_text.g:3194:3: this_AndExpression_0= ruleAndExpression ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getOrExpressionAccess().getAndExpressionParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_43); |
| this_AndExpression_0=ruleAndExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_AndExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:3202:3: ( () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) )* |
| loop55: |
| do { |
| int alt55=2; |
| int LA55_0 = input.LA(1); |
| |
| if ( (LA55_0==44) ) { |
| alt55=1; |
| } |
| |
| |
| switch (alt55) { |
| case 1 : |
| // InternalHenshin_text.g:3203:4: () otherlv_2= 'OR' ( (lv_right_3_0= ruleAndExpression ) ) |
| { |
| // InternalHenshin_text.g:3203:4: () |
| // InternalHenshin_text.g:3204:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getOrExpressionAccess().getOrExpressionLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,44,FOLLOW_18); |
| |
| newLeafNode(otherlv_2, grammarAccess.getOrExpressionAccess().getORKeyword_1_1()); |
| |
| // InternalHenshin_text.g:3214:4: ( (lv_right_3_0= ruleAndExpression ) ) |
| // InternalHenshin_text.g:3215:5: (lv_right_3_0= ruleAndExpression ) |
| { |
| // InternalHenshin_text.g:3215:5: (lv_right_3_0= ruleAndExpression ) |
| // InternalHenshin_text.g:3216:6: lv_right_3_0= ruleAndExpression |
| { |
| |
| newCompositeNode(grammarAccess.getOrExpressionAccess().getRightAndExpressionParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_43); |
| lv_right_3_0=ruleAndExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getOrExpressionRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.AndExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop55; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleOrExpression" |
| |
| |
| // $ANTLR start "entryRuleAndExpression" |
| // InternalHenshin_text.g:3238:1: entryRuleAndExpression returns [EObject current=null] : iv_ruleAndExpression= ruleAndExpression EOF ; |
| public final EObject entryRuleAndExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleAndExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3238:54: (iv_ruleAndExpression= ruleAndExpression EOF ) |
| // InternalHenshin_text.g:3239:2: iv_ruleAndExpression= ruleAndExpression EOF |
| { |
| newCompositeNode(grammarAccess.getAndExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleAndExpression=ruleAndExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleAndExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleAndExpression" |
| |
| |
| // $ANTLR start "ruleAndExpression" |
| // InternalHenshin_text.g:3245:1: ruleAndExpression returns [EObject current=null] : (this_EqualityExpression_0= ruleEqualityExpression ( () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) )* ) ; |
| public final EObject ruleAndExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_2=null; |
| EObject this_EqualityExpression_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3251:2: ( (this_EqualityExpression_0= ruleEqualityExpression ( () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) )* ) ) |
| // InternalHenshin_text.g:3252:2: (this_EqualityExpression_0= ruleEqualityExpression ( () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) )* ) |
| { |
| // InternalHenshin_text.g:3252:2: (this_EqualityExpression_0= ruleEqualityExpression ( () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) )* ) |
| // InternalHenshin_text.g:3253:3: this_EqualityExpression_0= ruleEqualityExpression ( () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getAndExpressionAccess().getEqualityExpressionParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_34); |
| this_EqualityExpression_0=ruleEqualityExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_EqualityExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:3261:3: ( () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) )* |
| loop56: |
| do { |
| int alt56=2; |
| int LA56_0 = input.LA(1); |
| |
| if ( (LA56_0==46) ) { |
| alt56=1; |
| } |
| |
| |
| switch (alt56) { |
| case 1 : |
| // InternalHenshin_text.g:3262:4: () otherlv_2= 'AND' ( (lv_right_3_0= ruleEqualityExpression ) ) |
| { |
| // InternalHenshin_text.g:3262:4: () |
| // InternalHenshin_text.g:3263:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getAndExpressionAccess().getAndExpressionLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,46,FOLLOW_18); |
| |
| newLeafNode(otherlv_2, grammarAccess.getAndExpressionAccess().getANDKeyword_1_1()); |
| |
| // InternalHenshin_text.g:3273:4: ( (lv_right_3_0= ruleEqualityExpression ) ) |
| // InternalHenshin_text.g:3274:5: (lv_right_3_0= ruleEqualityExpression ) |
| { |
| // InternalHenshin_text.g:3274:5: (lv_right_3_0= ruleEqualityExpression ) |
| // InternalHenshin_text.g:3275:6: lv_right_3_0= ruleEqualityExpression |
| { |
| |
| newCompositeNode(grammarAccess.getAndExpressionAccess().getRightEqualityExpressionParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_34); |
| lv_right_3_0=ruleEqualityExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAndExpressionRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EqualityExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop56; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleAndExpression" |
| |
| |
| // $ANTLR start "entryRuleEqualityExpression" |
| // InternalHenshin_text.g:3297:1: entryRuleEqualityExpression returns [EObject current=null] : iv_ruleEqualityExpression= ruleEqualityExpression EOF ; |
| public final EObject entryRuleEqualityExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleEqualityExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3297:59: (iv_ruleEqualityExpression= ruleEqualityExpression EOF ) |
| // InternalHenshin_text.g:3298:2: iv_ruleEqualityExpression= ruleEqualityExpression EOF |
| { |
| newCompositeNode(grammarAccess.getEqualityExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleEqualityExpression=ruleEqualityExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleEqualityExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleEqualityExpression" |
| |
| |
| // $ANTLR start "ruleEqualityExpression" |
| // InternalHenshin_text.g:3304:1: ruleEqualityExpression returns [EObject current=null] : (this_ComparisonExpression_0= ruleComparisonExpression ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) )* ) ; |
| public final EObject ruleEqualityExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token lv_op_2_1=null; |
| Token lv_op_2_2=null; |
| EObject this_ComparisonExpression_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3310:2: ( (this_ComparisonExpression_0= ruleComparisonExpression ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) )* ) ) |
| // InternalHenshin_text.g:3311:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) )* ) |
| { |
| // InternalHenshin_text.g:3311:2: (this_ComparisonExpression_0= ruleComparisonExpression ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) )* ) |
| // InternalHenshin_text.g:3312:3: this_ComparisonExpression_0= ruleComparisonExpression ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getEqualityExpressionAccess().getComparisonExpressionParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_44); |
| this_ComparisonExpression_0=ruleComparisonExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_ComparisonExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:3320:3: ( () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) )* |
| loop58: |
| do { |
| int alt58=2; |
| int LA58_0 = input.LA(1); |
| |
| if ( ((LA58_0>=60 && LA58_0<=61)) ) { |
| alt58=1; |
| } |
| |
| |
| switch (alt58) { |
| case 1 : |
| // InternalHenshin_text.g:3321:4: () ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) ( (lv_right_3_0= ruleComparisonExpression ) ) |
| { |
| // InternalHenshin_text.g:3321:4: () |
| // InternalHenshin_text.g:3322:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getEqualityExpressionAccess().getEqualityExpressionLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3328:4: ( ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) ) |
| // InternalHenshin_text.g:3329:5: ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) |
| { |
| // InternalHenshin_text.g:3329:5: ( (lv_op_2_1= '==' | lv_op_2_2= '!=' ) ) |
| // InternalHenshin_text.g:3330:6: (lv_op_2_1= '==' | lv_op_2_2= '!=' ) |
| { |
| // InternalHenshin_text.g:3330:6: (lv_op_2_1= '==' | lv_op_2_2= '!=' ) |
| int alt57=2; |
| int LA57_0 = input.LA(1); |
| |
| if ( (LA57_0==60) ) { |
| alt57=1; |
| } |
| else if ( (LA57_0==61) ) { |
| alt57=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 57, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt57) { |
| case 1 : |
| // InternalHenshin_text.g:3331:7: lv_op_2_1= '==' |
| { |
| lv_op_2_1=(Token)match(input,60,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_1, grammarAccess.getEqualityExpressionAccess().getOpEqualsSignEqualsSignKeyword_1_1_0_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getEqualityExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_1, null); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3342:7: lv_op_2_2= '!=' |
| { |
| lv_op_2_2=(Token)match(input,61,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_2, grammarAccess.getEqualityExpressionAccess().getOpExclamationMarkEqualsSignKeyword_1_1_0_1()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getEqualityExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_2, null); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3355:4: ( (lv_right_3_0= ruleComparisonExpression ) ) |
| // InternalHenshin_text.g:3356:5: (lv_right_3_0= ruleComparisonExpression ) |
| { |
| // InternalHenshin_text.g:3356:5: (lv_right_3_0= ruleComparisonExpression ) |
| // InternalHenshin_text.g:3357:6: lv_right_3_0= ruleComparisonExpression |
| { |
| |
| newCompositeNode(grammarAccess.getEqualityExpressionAccess().getRightComparisonExpressionParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_44); |
| lv_right_3_0=ruleComparisonExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getEqualityExpressionRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.ComparisonExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop58; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleEqualityExpression" |
| |
| |
| // $ANTLR start "entryRuleComparisonExpression" |
| // InternalHenshin_text.g:3379:1: entryRuleComparisonExpression returns [EObject current=null] : iv_ruleComparisonExpression= ruleComparisonExpression EOF ; |
| public final EObject entryRuleComparisonExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleComparisonExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3379:61: (iv_ruleComparisonExpression= ruleComparisonExpression EOF ) |
| // InternalHenshin_text.g:3380:2: iv_ruleComparisonExpression= ruleComparisonExpression EOF |
| { |
| newCompositeNode(grammarAccess.getComparisonExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleComparisonExpression=ruleComparisonExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleComparisonExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleComparisonExpression" |
| |
| |
| // $ANTLR start "ruleComparisonExpression" |
| // InternalHenshin_text.g:3386:1: ruleComparisonExpression returns [EObject current=null] : (this_PlusOrMinusExpression_0= rulePlusOrMinusExpression ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) )* ) ; |
| public final EObject ruleComparisonExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token lv_op_2_1=null; |
| Token lv_op_2_2=null; |
| Token lv_op_2_3=null; |
| Token lv_op_2_4=null; |
| EObject this_PlusOrMinusExpression_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3392:2: ( (this_PlusOrMinusExpression_0= rulePlusOrMinusExpression ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) )* ) ) |
| // InternalHenshin_text.g:3393:2: (this_PlusOrMinusExpression_0= rulePlusOrMinusExpression ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) )* ) |
| { |
| // InternalHenshin_text.g:3393:2: (this_PlusOrMinusExpression_0= rulePlusOrMinusExpression ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) )* ) |
| // InternalHenshin_text.g:3394:3: this_PlusOrMinusExpression_0= rulePlusOrMinusExpression ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getComparisonExpressionAccess().getPlusOrMinusExpressionParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_45); |
| this_PlusOrMinusExpression_0=rulePlusOrMinusExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_PlusOrMinusExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:3402:3: ( () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) )* |
| loop60: |
| do { |
| int alt60=2; |
| int LA60_0 = input.LA(1); |
| |
| if ( ((LA60_0>=62 && LA60_0<=65)) ) { |
| alt60=1; |
| } |
| |
| |
| switch (alt60) { |
| case 1 : |
| // InternalHenshin_text.g:3403:4: () ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) ( (lv_right_3_0= rulePlusOrMinusExpression ) ) |
| { |
| // InternalHenshin_text.g:3403:4: () |
| // InternalHenshin_text.g:3404:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getComparisonExpressionAccess().getComparisonExpressionLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3410:4: ( ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) ) |
| // InternalHenshin_text.g:3411:5: ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) |
| { |
| // InternalHenshin_text.g:3411:5: ( (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) ) |
| // InternalHenshin_text.g:3412:6: (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) |
| { |
| // InternalHenshin_text.g:3412:6: (lv_op_2_1= '>=' | lv_op_2_2= '<=' | lv_op_2_3= '>' | lv_op_2_4= '<' ) |
| int alt59=4; |
| switch ( input.LA(1) ) { |
| case 62: |
| { |
| alt59=1; |
| } |
| break; |
| case 63: |
| { |
| alt59=2; |
| } |
| break; |
| case 64: |
| { |
| alt59=3; |
| } |
| break; |
| case 65: |
| { |
| alt59=4; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 59, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt59) { |
| case 1 : |
| // InternalHenshin_text.g:3413:7: lv_op_2_1= '>=' |
| { |
| lv_op_2_1=(Token)match(input,62,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_1, grammarAccess.getComparisonExpressionAccess().getOpGreaterThanSignEqualsSignKeyword_1_1_0_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getComparisonExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_1, null); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3424:7: lv_op_2_2= '<=' |
| { |
| lv_op_2_2=(Token)match(input,63,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_2, grammarAccess.getComparisonExpressionAccess().getOpLessThanSignEqualsSignKeyword_1_1_0_1()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getComparisonExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_2, null); |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:3435:7: lv_op_2_3= '>' |
| { |
| lv_op_2_3=(Token)match(input,64,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_3, grammarAccess.getComparisonExpressionAccess().getOpGreaterThanSignKeyword_1_1_0_2()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getComparisonExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_3, null); |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:3446:7: lv_op_2_4= '<' |
| { |
| lv_op_2_4=(Token)match(input,65,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_4, grammarAccess.getComparisonExpressionAccess().getOpLessThanSignKeyword_1_1_0_3()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getComparisonExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_4, null); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3459:4: ( (lv_right_3_0= rulePlusOrMinusExpression ) ) |
| // InternalHenshin_text.g:3460:5: (lv_right_3_0= rulePlusOrMinusExpression ) |
| { |
| // InternalHenshin_text.g:3460:5: (lv_right_3_0= rulePlusOrMinusExpression ) |
| // InternalHenshin_text.g:3461:6: lv_right_3_0= rulePlusOrMinusExpression |
| { |
| |
| newCompositeNode(grammarAccess.getComparisonExpressionAccess().getRightPlusOrMinusExpressionParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_45); |
| lv_right_3_0=rulePlusOrMinusExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getComparisonExpressionRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.PlusOrMinusExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop60; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleComparisonExpression" |
| |
| |
| // $ANTLR start "entryRulePlusOrMinusExpression" |
| // InternalHenshin_text.g:3483:1: entryRulePlusOrMinusExpression returns [EObject current=null] : iv_rulePlusOrMinusExpression= rulePlusOrMinusExpression EOF ; |
| public final EObject entryRulePlusOrMinusExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_rulePlusOrMinusExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3483:62: (iv_rulePlusOrMinusExpression= rulePlusOrMinusExpression EOF ) |
| // InternalHenshin_text.g:3484:2: iv_rulePlusOrMinusExpression= rulePlusOrMinusExpression EOF |
| { |
| newCompositeNode(grammarAccess.getPlusOrMinusExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_rulePlusOrMinusExpression=rulePlusOrMinusExpression(); |
| |
| state._fsp--; |
| |
| current =iv_rulePlusOrMinusExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRulePlusOrMinusExpression" |
| |
| |
| // $ANTLR start "rulePlusOrMinusExpression" |
| // InternalHenshin_text.g:3490:1: rulePlusOrMinusExpression returns [EObject current=null] : (this_MulOrDivExpression_0= ruleMulOrDivExpression ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) )* ) ; |
| public final EObject rulePlusOrMinusExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_2=null; |
| Token otherlv_4=null; |
| EObject this_MulOrDivExpression_0 = null; |
| |
| EObject lv_right_5_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3496:2: ( (this_MulOrDivExpression_0= ruleMulOrDivExpression ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) )* ) ) |
| // InternalHenshin_text.g:3497:2: (this_MulOrDivExpression_0= ruleMulOrDivExpression ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) )* ) |
| { |
| // InternalHenshin_text.g:3497:2: (this_MulOrDivExpression_0= ruleMulOrDivExpression ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) )* ) |
| // InternalHenshin_text.g:3498:3: this_MulOrDivExpression_0= ruleMulOrDivExpression ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getPlusOrMinusExpressionAccess().getMulOrDivExpressionParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_46); |
| this_MulOrDivExpression_0=ruleMulOrDivExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_MulOrDivExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:3506:3: ( ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) )* |
| loop62: |
| do { |
| int alt62=2; |
| int LA62_0 = input.LA(1); |
| |
| if ( ((LA62_0>=66 && LA62_0<=67)) ) { |
| alt62=1; |
| } |
| |
| |
| switch (alt62) { |
| case 1 : |
| // InternalHenshin_text.g:3507:4: ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) ( (lv_right_5_0= ruleMulOrDivExpression ) ) |
| { |
| // InternalHenshin_text.g:3507:4: ( ( () otherlv_2= '+' ) | ( () otherlv_4= '-' ) ) |
| int alt61=2; |
| int LA61_0 = input.LA(1); |
| |
| if ( (LA61_0==66) ) { |
| alt61=1; |
| } |
| else if ( (LA61_0==67) ) { |
| alt61=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 61, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt61) { |
| case 1 : |
| // InternalHenshin_text.g:3508:5: ( () otherlv_2= '+' ) |
| { |
| // InternalHenshin_text.g:3508:5: ( () otherlv_2= '+' ) |
| // InternalHenshin_text.g:3509:6: () otherlv_2= '+' |
| { |
| // InternalHenshin_text.g:3509:6: () |
| // InternalHenshin_text.g:3510:7: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getPlusOrMinusExpressionAccess().getPlusExpressionLeftAction_1_0_0_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_2=(Token)match(input,66,FOLLOW_18); |
| |
| newLeafNode(otherlv_2, grammarAccess.getPlusOrMinusExpressionAccess().getPlusSignKeyword_1_0_0_1()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3522:5: ( () otherlv_4= '-' ) |
| { |
| // InternalHenshin_text.g:3522:5: ( () otherlv_4= '-' ) |
| // InternalHenshin_text.g:3523:6: () otherlv_4= '-' |
| { |
| // InternalHenshin_text.g:3523:6: () |
| // InternalHenshin_text.g:3524:7: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getPlusOrMinusExpressionAccess().getMinusExpressionLeftAction_1_0_1_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_4=(Token)match(input,67,FOLLOW_18); |
| |
| newLeafNode(otherlv_4, grammarAccess.getPlusOrMinusExpressionAccess().getHyphenMinusKeyword_1_0_1_1()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| // InternalHenshin_text.g:3536:4: ( (lv_right_5_0= ruleMulOrDivExpression ) ) |
| // InternalHenshin_text.g:3537:5: (lv_right_5_0= ruleMulOrDivExpression ) |
| { |
| // InternalHenshin_text.g:3537:5: (lv_right_5_0= ruleMulOrDivExpression ) |
| // InternalHenshin_text.g:3538:6: lv_right_5_0= ruleMulOrDivExpression |
| { |
| |
| newCompositeNode(grammarAccess.getPlusOrMinusExpressionAccess().getRightMulOrDivExpressionParserRuleCall_1_1_0()); |
| |
| pushFollow(FOLLOW_46); |
| lv_right_5_0=ruleMulOrDivExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getPlusOrMinusExpressionRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_5_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.MulOrDivExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop62; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "rulePlusOrMinusExpression" |
| |
| |
| // $ANTLR start "entryRuleMulOrDivExpression" |
| // InternalHenshin_text.g:3560:1: entryRuleMulOrDivExpression returns [EObject current=null] : iv_ruleMulOrDivExpression= ruleMulOrDivExpression EOF ; |
| public final EObject entryRuleMulOrDivExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleMulOrDivExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3560:59: (iv_ruleMulOrDivExpression= ruleMulOrDivExpression EOF ) |
| // InternalHenshin_text.g:3561:2: iv_ruleMulOrDivExpression= ruleMulOrDivExpression EOF |
| { |
| newCompositeNode(grammarAccess.getMulOrDivExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleMulOrDivExpression=ruleMulOrDivExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleMulOrDivExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleMulOrDivExpression" |
| |
| |
| // $ANTLR start "ruleMulOrDivExpression" |
| // InternalHenshin_text.g:3567:1: ruleMulOrDivExpression returns [EObject current=null] : (this_PrimaryExpression_0= rulePrimaryExpression ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) )* ) ; |
| public final EObject ruleMulOrDivExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token lv_op_2_1=null; |
| Token lv_op_2_2=null; |
| EObject this_PrimaryExpression_0 = null; |
| |
| EObject lv_right_3_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3573:2: ( (this_PrimaryExpression_0= rulePrimaryExpression ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) )* ) ) |
| // InternalHenshin_text.g:3574:2: (this_PrimaryExpression_0= rulePrimaryExpression ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) )* ) |
| { |
| // InternalHenshin_text.g:3574:2: (this_PrimaryExpression_0= rulePrimaryExpression ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) )* ) |
| // InternalHenshin_text.g:3575:3: this_PrimaryExpression_0= rulePrimaryExpression ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) )* |
| { |
| |
| newCompositeNode(grammarAccess.getMulOrDivExpressionAccess().getPrimaryExpressionParserRuleCall_0()); |
| |
| pushFollow(FOLLOW_47); |
| this_PrimaryExpression_0=rulePrimaryExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_PrimaryExpression_0; |
| afterParserOrEnumRuleCall(); |
| |
| // InternalHenshin_text.g:3583:3: ( () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) )* |
| loop64: |
| do { |
| int alt64=2; |
| int LA64_0 = input.LA(1); |
| |
| if ( ((LA64_0>=68 && LA64_0<=69)) ) { |
| alt64=1; |
| } |
| |
| |
| switch (alt64) { |
| case 1 : |
| // InternalHenshin_text.g:3584:4: () ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) ( (lv_right_3_0= rulePrimaryExpression ) ) |
| { |
| // InternalHenshin_text.g:3584:4: () |
| // InternalHenshin_text.g:3585:5: |
| { |
| |
| current = forceCreateModelElementAndSet( |
| grammarAccess.getMulOrDivExpressionAccess().getMulOrDivExpressionLeftAction_1_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3591:4: ( ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) ) |
| // InternalHenshin_text.g:3592:5: ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) |
| { |
| // InternalHenshin_text.g:3592:5: ( (lv_op_2_1= '*' | lv_op_2_2= '/' ) ) |
| // InternalHenshin_text.g:3593:6: (lv_op_2_1= '*' | lv_op_2_2= '/' ) |
| { |
| // InternalHenshin_text.g:3593:6: (lv_op_2_1= '*' | lv_op_2_2= '/' ) |
| int alt63=2; |
| int LA63_0 = input.LA(1); |
| |
| if ( (LA63_0==68) ) { |
| alt63=1; |
| } |
| else if ( (LA63_0==69) ) { |
| alt63=2; |
| } |
| else { |
| NoViableAltException nvae = |
| new NoViableAltException("", 63, 0, input); |
| |
| throw nvae; |
| } |
| switch (alt63) { |
| case 1 : |
| // InternalHenshin_text.g:3594:7: lv_op_2_1= '*' |
| { |
| lv_op_2_1=(Token)match(input,68,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_1, grammarAccess.getMulOrDivExpressionAccess().getOpAsteriskKeyword_1_1_0_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getMulOrDivExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_1, null); |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3605:7: lv_op_2_2= '/' |
| { |
| lv_op_2_2=(Token)match(input,69,FOLLOW_18); |
| |
| newLeafNode(lv_op_2_2, grammarAccess.getMulOrDivExpressionAccess().getOpSolidusKeyword_1_1_0_1()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getMulOrDivExpressionRule()); |
| } |
| setWithLastConsumed(current, "op", lv_op_2_2, null); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3618:4: ( (lv_right_3_0= rulePrimaryExpression ) ) |
| // InternalHenshin_text.g:3619:5: (lv_right_3_0= rulePrimaryExpression ) |
| { |
| // InternalHenshin_text.g:3619:5: (lv_right_3_0= rulePrimaryExpression ) |
| // InternalHenshin_text.g:3620:6: lv_right_3_0= rulePrimaryExpression |
| { |
| |
| newCompositeNode(grammarAccess.getMulOrDivExpressionAccess().getRightPrimaryExpressionParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_47); |
| lv_right_3_0=rulePrimaryExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getMulOrDivExpressionRule()); |
| } |
| set( |
| current, |
| "right", |
| lv_right_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.PrimaryExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop64; |
| } |
| } while (true); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleMulOrDivExpression" |
| |
| |
| // $ANTLR start "entryRulePrimaryExpression" |
| // InternalHenshin_text.g:3642:1: entryRulePrimaryExpression returns [EObject current=null] : iv_rulePrimaryExpression= rulePrimaryExpression EOF ; |
| public final EObject entryRulePrimaryExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_rulePrimaryExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3642:58: (iv_rulePrimaryExpression= rulePrimaryExpression EOF ) |
| // InternalHenshin_text.g:3643:2: iv_rulePrimaryExpression= rulePrimaryExpression EOF |
| { |
| newCompositeNode(grammarAccess.getPrimaryExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_rulePrimaryExpression=rulePrimaryExpression(); |
| |
| state._fsp--; |
| |
| current =iv_rulePrimaryExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRulePrimaryExpression" |
| |
| |
| // $ANTLR start "rulePrimaryExpression" |
| // InternalHenshin_text.g:3649:1: rulePrimaryExpression returns [EObject current=null] : ( ( () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' ) | ( () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) ) | this_AtomicExpression_7= ruleAtomicExpression ) ; |
| public final EObject rulePrimaryExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| Token otherlv_3=null; |
| Token otherlv_5=null; |
| EObject lv_expression_2_0 = null; |
| |
| EObject lv_expression_6_0 = null; |
| |
| EObject this_AtomicExpression_7 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3655:2: ( ( ( () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' ) | ( () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) ) | this_AtomicExpression_7= ruleAtomicExpression ) ) |
| // InternalHenshin_text.g:3656:2: ( ( () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' ) | ( () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) ) | this_AtomicExpression_7= ruleAtomicExpression ) |
| { |
| // InternalHenshin_text.g:3656:2: ( ( () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' ) | ( () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) ) | this_AtomicExpression_7= ruleAtomicExpression ) |
| int alt65=3; |
| switch ( input.LA(1) ) { |
| case 16: |
| { |
| alt65=1; |
| } |
| break; |
| case 47: |
| { |
| alt65=2; |
| } |
| break; |
| case RULE_ID: |
| case RULE_STRING: |
| case RULE_DECIMAL: |
| case RULE_NEGATIVE: |
| case RULE_INT: |
| case 58: |
| case 59: |
| { |
| alt65=3; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 65, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt65) { |
| case 1 : |
| // InternalHenshin_text.g:3657:3: ( () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' ) |
| { |
| // InternalHenshin_text.g:3657:3: ( () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' ) |
| // InternalHenshin_text.g:3658:4: () otherlv_1= '(' ( (lv_expression_2_0= ruleExpression ) ) otherlv_3= ')' |
| { |
| // InternalHenshin_text.g:3658:4: () |
| // InternalHenshin_text.g:3659:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getPrimaryExpressionAccess().getBracketExpressionAction_0_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_1=(Token)match(input,16,FOLLOW_18); |
| |
| newLeafNode(otherlv_1, grammarAccess.getPrimaryExpressionAccess().getLeftParenthesisKeyword_0_1()); |
| |
| // InternalHenshin_text.g:3669:4: ( (lv_expression_2_0= ruleExpression ) ) |
| // InternalHenshin_text.g:3670:5: (lv_expression_2_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:3670:5: (lv_expression_2_0= ruleExpression ) |
| // InternalHenshin_text.g:3671:6: lv_expression_2_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getExpressionExpressionParserRuleCall_0_2_0()); |
| |
| pushFollow(FOLLOW_24); |
| lv_expression_2_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule()); |
| } |
| set( |
| current, |
| "expression", |
| lv_expression_2_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_3=(Token)match(input,18,FOLLOW_2); |
| |
| newLeafNode(otherlv_3, grammarAccess.getPrimaryExpressionAccess().getRightParenthesisKeyword_0_3()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3694:3: ( () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) ) |
| { |
| // InternalHenshin_text.g:3694:3: ( () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) ) |
| // InternalHenshin_text.g:3695:4: () otherlv_5= '!' ( (lv_expression_6_0= rulePrimaryExpression ) ) |
| { |
| // InternalHenshin_text.g:3695:4: () |
| // InternalHenshin_text.g:3696:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getPrimaryExpressionAccess().getNotExpressionAction_1_0(), |
| current); |
| |
| |
| } |
| |
| otherlv_5=(Token)match(input,47,FOLLOW_18); |
| |
| newLeafNode(otherlv_5, grammarAccess.getPrimaryExpressionAccess().getExclamationMarkKeyword_1_1()); |
| |
| // InternalHenshin_text.g:3706:4: ( (lv_expression_6_0= rulePrimaryExpression ) ) |
| // InternalHenshin_text.g:3707:5: (lv_expression_6_0= rulePrimaryExpression ) |
| { |
| // InternalHenshin_text.g:3707:5: (lv_expression_6_0= rulePrimaryExpression ) |
| // InternalHenshin_text.g:3708:6: lv_expression_6_0= rulePrimaryExpression |
| { |
| |
| newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getExpressionPrimaryExpressionParserRuleCall_1_2_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_expression_6_0=rulePrimaryExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getPrimaryExpressionRule()); |
| } |
| set( |
| current, |
| "expression", |
| lv_expression_6_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.PrimaryExpression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:3727:3: this_AtomicExpression_7= ruleAtomicExpression |
| { |
| |
| newCompositeNode(grammarAccess.getPrimaryExpressionAccess().getAtomicExpressionParserRuleCall_2()); |
| |
| pushFollow(FOLLOW_2); |
| this_AtomicExpression_7=ruleAtomicExpression(); |
| |
| state._fsp--; |
| |
| |
| current = this_AtomicExpression_7; |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "rulePrimaryExpression" |
| |
| |
| // $ANTLR start "entryRuleAtomicExpression" |
| // InternalHenshin_text.g:3739:1: entryRuleAtomicExpression returns [EObject current=null] : iv_ruleAtomicExpression= ruleAtomicExpression EOF ; |
| public final EObject entryRuleAtomicExpression() throws RecognitionException { |
| EObject current = null; |
| |
| EObject iv_ruleAtomicExpression = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:3739:57: (iv_ruleAtomicExpression= ruleAtomicExpression EOF ) |
| // InternalHenshin_text.g:3740:2: iv_ruleAtomicExpression= ruleAtomicExpression EOF |
| { |
| newCompositeNode(grammarAccess.getAtomicExpressionRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleAtomicExpression=ruleAtomicExpression(); |
| |
| state._fsp--; |
| |
| current =iv_ruleAtomicExpression; |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleAtomicExpression" |
| |
| |
| // $ANTLR start "ruleAtomicExpression" |
| // InternalHenshin_text.g:3746:1: ruleAtomicExpression returns [EObject current=null] : ( ( () ( (otherlv_1= RULE_ID ) ) ) | ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) | ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) | ( () ( (lv_value_12_0= RULE_STRING ) ) ) | ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) | ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) | ( () ( (lv_value_18_0= RULE_INT ) ) ) | ( () ( (lv_value_20_0= ruleEBoolean ) ) ) ) ; |
| public final EObject ruleAtomicExpression() throws RecognitionException { |
| EObject current = null; |
| |
| Token otherlv_1=null; |
| Token otherlv_4=null; |
| Token otherlv_6=null; |
| Token otherlv_8=null; |
| Token lv_value_12_0=null; |
| Token lv_value_14_0=null; |
| Token lv_value_16_0=null; |
| Token lv_value_18_0=null; |
| AntlrDatatypeRuleToken lv_value_3_0 = null; |
| |
| EObject lv_javaParameter_5_0 = null; |
| |
| EObject lv_javaParameter_7_0 = null; |
| |
| AntlrDatatypeRuleToken lv_value_10_0 = null; |
| |
| AntlrDatatypeRuleToken lv_value_20_0 = null; |
| |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:3752:2: ( ( ( () ( (otherlv_1= RULE_ID ) ) ) | ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) | ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) | ( () ( (lv_value_12_0= RULE_STRING ) ) ) | ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) | ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) | ( () ( (lv_value_18_0= RULE_INT ) ) ) | ( () ( (lv_value_20_0= ruleEBoolean ) ) ) ) ) |
| // InternalHenshin_text.g:3753:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) | ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) | ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) | ( () ( (lv_value_12_0= RULE_STRING ) ) ) | ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) | ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) | ( () ( (lv_value_18_0= RULE_INT ) ) ) | ( () ( (lv_value_20_0= ruleEBoolean ) ) ) ) |
| { |
| // InternalHenshin_text.g:3753:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) | ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) | ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) | ( () ( (lv_value_12_0= RULE_STRING ) ) ) | ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) | ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) | ( () ( (lv_value_18_0= RULE_INT ) ) ) | ( () ( (lv_value_20_0= ruleEBoolean ) ) ) ) |
| int alt68=8; |
| alt68 = dfa68.predict(input); |
| switch (alt68) { |
| case 1 : |
| // InternalHenshin_text.g:3754:3: ( () ( (otherlv_1= RULE_ID ) ) ) |
| { |
| // InternalHenshin_text.g:3754:3: ( () ( (otherlv_1= RULE_ID ) ) ) |
| // InternalHenshin_text.g:3755:4: () ( (otherlv_1= RULE_ID ) ) |
| { |
| // InternalHenshin_text.g:3755:4: () |
| // InternalHenshin_text.g:3756:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getParameterValueAction_0_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3762:4: ( (otherlv_1= RULE_ID ) ) |
| // InternalHenshin_text.g:3763:5: (otherlv_1= RULE_ID ) |
| { |
| // InternalHenshin_text.g:3763:5: (otherlv_1= RULE_ID ) |
| // InternalHenshin_text.g:3764:6: otherlv_1= RULE_ID |
| { |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAtomicExpressionRule()); |
| } |
| |
| otherlv_1=(Token)match(input,RULE_ID,FOLLOW_2); |
| |
| newLeafNode(otherlv_1, grammarAccess.getAtomicExpressionAccess().getValueParameterCrossReference_0_1_0()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:3777:3: ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) |
| { |
| // InternalHenshin_text.g:3777:3: ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) |
| // InternalHenshin_text.g:3778:4: () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' |
| { |
| // InternalHenshin_text.g:3778:4: () |
| // InternalHenshin_text.g:3779:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getJavaClassValueAction_1_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3785:4: ( (lv_value_3_0= ruleEString ) ) |
| // InternalHenshin_text.g:3786:5: (lv_value_3_0= ruleEString ) |
| { |
| // InternalHenshin_text.g:3786:5: (lv_value_3_0= ruleEString ) |
| // InternalHenshin_text.g:3787:6: lv_value_3_0= ruleEString |
| { |
| |
| newCompositeNode(grammarAccess.getAtomicExpressionAccess().getValueEStringParserRuleCall_1_1_0()); |
| |
| pushFollow(FOLLOW_7); |
| lv_value_3_0=ruleEString(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); |
| } |
| set( |
| current, |
| "value", |
| lv_value_3_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EString"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| otherlv_4=(Token)match(input,16,FOLLOW_48); |
| |
| newLeafNode(otherlv_4, grammarAccess.getAtomicExpressionAccess().getLeftParenthesisKeyword_1_2()); |
| |
| // InternalHenshin_text.g:3808:4: ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? |
| int alt67=2; |
| int LA67_0 = input.LA(1); |
| |
| if ( ((LA67_0>=RULE_ID && LA67_0<=RULE_INT)||LA67_0==16||LA67_0==47||(LA67_0>=58 && LA67_0<=59)) ) { |
| alt67=1; |
| } |
| switch (alt67) { |
| case 1 : |
| // InternalHenshin_text.g:3809:5: ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* |
| { |
| // InternalHenshin_text.g:3809:5: ( (lv_javaParameter_5_0= ruleExpression ) ) |
| // InternalHenshin_text.g:3810:6: (lv_javaParameter_5_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:3810:6: (lv_javaParameter_5_0= ruleExpression ) |
| // InternalHenshin_text.g:3811:7: lv_javaParameter_5_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getAtomicExpressionAccess().getJavaParameterExpressionParserRuleCall_1_3_0_0()); |
| |
| pushFollow(FOLLOW_9); |
| lv_javaParameter_5_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); |
| } |
| add( |
| current, |
| "javaParameter", |
| lv_javaParameter_5_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3828:5: (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* |
| loop66: |
| do { |
| int alt66=2; |
| int LA66_0 = input.LA(1); |
| |
| if ( (LA66_0==17) ) { |
| alt66=1; |
| } |
| |
| |
| switch (alt66) { |
| case 1 : |
| // InternalHenshin_text.g:3829:6: otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) |
| { |
| otherlv_6=(Token)match(input,17,FOLLOW_18); |
| |
| newLeafNode(otherlv_6, grammarAccess.getAtomicExpressionAccess().getCommaKeyword_1_3_1_0()); |
| |
| // InternalHenshin_text.g:3833:6: ( (lv_javaParameter_7_0= ruleExpression ) ) |
| // InternalHenshin_text.g:3834:7: (lv_javaParameter_7_0= ruleExpression ) |
| { |
| // InternalHenshin_text.g:3834:7: (lv_javaParameter_7_0= ruleExpression ) |
| // InternalHenshin_text.g:3835:8: lv_javaParameter_7_0= ruleExpression |
| { |
| |
| newCompositeNode(grammarAccess.getAtomicExpressionAccess().getJavaParameterExpressionParserRuleCall_1_3_1_1_0()); |
| |
| pushFollow(FOLLOW_9); |
| lv_javaParameter_7_0=ruleExpression(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); |
| } |
| add( |
| current, |
| "javaParameter", |
| lv_javaParameter_7_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.Expression"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| default : |
| break loop66; |
| } |
| } while (true); |
| |
| |
| } |
| break; |
| |
| } |
| |
| otherlv_8=(Token)match(input,18,FOLLOW_2); |
| |
| newLeafNode(otherlv_8, grammarAccess.getAtomicExpressionAccess().getRightParenthesisKeyword_1_4()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:3860:3: ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) |
| { |
| // InternalHenshin_text.g:3860:3: ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) |
| // InternalHenshin_text.g:3861:4: () ( (lv_value_10_0= ruleJavaAttribute ) ) |
| { |
| // InternalHenshin_text.g:3861:4: () |
| // InternalHenshin_text.g:3862:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getJavaAttributeValueAction_2_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3868:4: ( (lv_value_10_0= ruleJavaAttribute ) ) |
| // InternalHenshin_text.g:3869:5: (lv_value_10_0= ruleJavaAttribute ) |
| { |
| // InternalHenshin_text.g:3869:5: (lv_value_10_0= ruleJavaAttribute ) |
| // InternalHenshin_text.g:3870:6: lv_value_10_0= ruleJavaAttribute |
| { |
| |
| newCompositeNode(grammarAccess.getAtomicExpressionAccess().getValueJavaAttributeParserRuleCall_2_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_value_10_0=ruleJavaAttribute(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); |
| } |
| set( |
| current, |
| "value", |
| lv_value_10_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.JavaAttribute"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:3889:3: ( () ( (lv_value_12_0= RULE_STRING ) ) ) |
| { |
| // InternalHenshin_text.g:3889:3: ( () ( (lv_value_12_0= RULE_STRING ) ) ) |
| // InternalHenshin_text.g:3890:4: () ( (lv_value_12_0= RULE_STRING ) ) |
| { |
| // InternalHenshin_text.g:3890:4: () |
| // InternalHenshin_text.g:3891:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getStringValueAction_3_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3897:4: ( (lv_value_12_0= RULE_STRING ) ) |
| // InternalHenshin_text.g:3898:5: (lv_value_12_0= RULE_STRING ) |
| { |
| // InternalHenshin_text.g:3898:5: (lv_value_12_0= RULE_STRING ) |
| // InternalHenshin_text.g:3899:6: lv_value_12_0= RULE_STRING |
| { |
| lv_value_12_0=(Token)match(input,RULE_STRING,FOLLOW_2); |
| |
| newLeafNode(lv_value_12_0, grammarAccess.getAtomicExpressionAccess().getValueSTRINGTerminalRuleCall_3_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAtomicExpressionRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "value", |
| lv_value_12_0, |
| "org.eclipse.xtext.common.Terminals.STRING"); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 5 : |
| // InternalHenshin_text.g:3917:3: ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) |
| { |
| // InternalHenshin_text.g:3917:3: ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) |
| // InternalHenshin_text.g:3918:4: () ( (lv_value_14_0= RULE_DECIMAL ) ) |
| { |
| // InternalHenshin_text.g:3918:4: () |
| // InternalHenshin_text.g:3919:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getNumberValueAction_4_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3925:4: ( (lv_value_14_0= RULE_DECIMAL ) ) |
| // InternalHenshin_text.g:3926:5: (lv_value_14_0= RULE_DECIMAL ) |
| { |
| // InternalHenshin_text.g:3926:5: (lv_value_14_0= RULE_DECIMAL ) |
| // InternalHenshin_text.g:3927:6: lv_value_14_0= RULE_DECIMAL |
| { |
| lv_value_14_0=(Token)match(input,RULE_DECIMAL,FOLLOW_2); |
| |
| newLeafNode(lv_value_14_0, grammarAccess.getAtomicExpressionAccess().getValueDECIMALTerminalRuleCall_4_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAtomicExpressionRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "value", |
| lv_value_14_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.DECIMAL"); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 6 : |
| // InternalHenshin_text.g:3945:3: ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) |
| { |
| // InternalHenshin_text.g:3945:3: ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) |
| // InternalHenshin_text.g:3946:4: () ( (lv_value_16_0= RULE_NEGATIVE ) ) |
| { |
| // InternalHenshin_text.g:3946:4: () |
| // InternalHenshin_text.g:3947:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getIntegerValueAction_5_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3953:4: ( (lv_value_16_0= RULE_NEGATIVE ) ) |
| // InternalHenshin_text.g:3954:5: (lv_value_16_0= RULE_NEGATIVE ) |
| { |
| // InternalHenshin_text.g:3954:5: (lv_value_16_0= RULE_NEGATIVE ) |
| // InternalHenshin_text.g:3955:6: lv_value_16_0= RULE_NEGATIVE |
| { |
| lv_value_16_0=(Token)match(input,RULE_NEGATIVE,FOLLOW_2); |
| |
| newLeafNode(lv_value_16_0, grammarAccess.getAtomicExpressionAccess().getValueNEGATIVETerminalRuleCall_5_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAtomicExpressionRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "value", |
| lv_value_16_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.NEGATIVE"); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 7 : |
| // InternalHenshin_text.g:3973:3: ( () ( (lv_value_18_0= RULE_INT ) ) ) |
| { |
| // InternalHenshin_text.g:3973:3: ( () ( (lv_value_18_0= RULE_INT ) ) ) |
| // InternalHenshin_text.g:3974:4: () ( (lv_value_18_0= RULE_INT ) ) |
| { |
| // InternalHenshin_text.g:3974:4: () |
| // InternalHenshin_text.g:3975:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getNaturalValueAction_6_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:3981:4: ( (lv_value_18_0= RULE_INT ) ) |
| // InternalHenshin_text.g:3982:5: (lv_value_18_0= RULE_INT ) |
| { |
| // InternalHenshin_text.g:3982:5: (lv_value_18_0= RULE_INT ) |
| // InternalHenshin_text.g:3983:6: lv_value_18_0= RULE_INT |
| { |
| lv_value_18_0=(Token)match(input,RULE_INT,FOLLOW_2); |
| |
| newLeafNode(lv_value_18_0, grammarAccess.getAtomicExpressionAccess().getValueINTTerminalRuleCall_6_1_0()); |
| |
| |
| if (current==null) { |
| current = createModelElement(grammarAccess.getAtomicExpressionRule()); |
| } |
| setWithLastConsumed( |
| current, |
| "value", |
| lv_value_18_0, |
| "org.eclipse.xtext.common.Terminals.INT"); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 8 : |
| // InternalHenshin_text.g:4001:3: ( () ( (lv_value_20_0= ruleEBoolean ) ) ) |
| { |
| // InternalHenshin_text.g:4001:3: ( () ( (lv_value_20_0= ruleEBoolean ) ) ) |
| // InternalHenshin_text.g:4002:4: () ( (lv_value_20_0= ruleEBoolean ) ) |
| { |
| // InternalHenshin_text.g:4002:4: () |
| // InternalHenshin_text.g:4003:5: |
| { |
| |
| current = forceCreateModelElement( |
| grammarAccess.getAtomicExpressionAccess().getBoolValueAction_7_0(), |
| current); |
| |
| |
| } |
| |
| // InternalHenshin_text.g:4009:4: ( (lv_value_20_0= ruleEBoolean ) ) |
| // InternalHenshin_text.g:4010:5: (lv_value_20_0= ruleEBoolean ) |
| { |
| // InternalHenshin_text.g:4010:5: (lv_value_20_0= ruleEBoolean ) |
| // InternalHenshin_text.g:4011:6: lv_value_20_0= ruleEBoolean |
| { |
| |
| newCompositeNode(grammarAccess.getAtomicExpressionAccess().getValueEBooleanParserRuleCall_7_1_0()); |
| |
| pushFollow(FOLLOW_2); |
| lv_value_20_0=ruleEBoolean(); |
| |
| state._fsp--; |
| |
| |
| if (current==null) { |
| current = createModelElementForParent(grammarAccess.getAtomicExpressionRule()); |
| } |
| set( |
| current, |
| "value", |
| lv_value_20_0, |
| "org.eclipse.emf.henshin.text.Henshin_text.EBoolean"); |
| afterParserOrEnumRuleCall(); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleAtomicExpression" |
| |
| |
| // $ANTLR start "entryRuleJavaAttribute" |
| // InternalHenshin_text.g:4033:1: entryRuleJavaAttribute returns [String current=null] : iv_ruleJavaAttribute= ruleJavaAttribute EOF ; |
| public final String entryRuleJavaAttribute() throws RecognitionException { |
| String current = null; |
| |
| AntlrDatatypeRuleToken iv_ruleJavaAttribute = null; |
| |
| |
| try { |
| // InternalHenshin_text.g:4033:53: (iv_ruleJavaAttribute= ruleJavaAttribute EOF ) |
| // InternalHenshin_text.g:4034:2: iv_ruleJavaAttribute= ruleJavaAttribute EOF |
| { |
| newCompositeNode(grammarAccess.getJavaAttributeRule()); |
| pushFollow(FOLLOW_1); |
| iv_ruleJavaAttribute=ruleJavaAttribute(); |
| |
| state._fsp--; |
| |
| current =iv_ruleJavaAttribute.getText(); |
| match(input,EOF,FOLLOW_2); |
| |
| } |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "entryRuleJavaAttribute" |
| |
| |
| // $ANTLR start "ruleJavaAttribute" |
| // InternalHenshin_text.g:4040:1: ruleJavaAttribute returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID kw= '.' this_ID_2= RULE_ID ) ; |
| public final AntlrDatatypeRuleToken ruleJavaAttribute() throws RecognitionException { |
| AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); |
| |
| Token this_ID_0=null; |
| Token kw=null; |
| Token this_ID_2=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:4046:2: ( (this_ID_0= RULE_ID kw= '.' this_ID_2= RULE_ID ) ) |
| // InternalHenshin_text.g:4047:2: (this_ID_0= RULE_ID kw= '.' this_ID_2= RULE_ID ) |
| { |
| // InternalHenshin_text.g:4047:2: (this_ID_0= RULE_ID kw= '.' this_ID_2= RULE_ID ) |
| // InternalHenshin_text.g:4048:3: this_ID_0= RULE_ID kw= '.' this_ID_2= RULE_ID |
| { |
| this_ID_0=(Token)match(input,RULE_ID,FOLLOW_49); |
| |
| current.merge(this_ID_0); |
| |
| |
| newLeafNode(this_ID_0, grammarAccess.getJavaAttributeAccess().getIDTerminalRuleCall_0()); |
| |
| kw=(Token)match(input,14,FOLLOW_5); |
| |
| current.merge(kw); |
| newLeafNode(kw, grammarAccess.getJavaAttributeAccess().getFullStopKeyword_1()); |
| |
| this_ID_2=(Token)match(input,RULE_ID,FOLLOW_2); |
| |
| current.merge(this_ID_2); |
| |
| |
| newLeafNode(this_ID_2, grammarAccess.getJavaAttributeAccess().getIDTerminalRuleCall_2()); |
| |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleJavaAttribute" |
| |
| |
| // $ANTLR start "ruleParameterKindRule" |
| // InternalHenshin_text.g:4071:1: ruleParameterKindRule returns [Enumerator current=null] : ( (enumLiteral_0= 'IN' ) | (enumLiteral_1= 'OUT' ) | (enumLiteral_2= 'INOUT' ) | (enumLiteral_3= 'VAR' ) ) ; |
| public final Enumerator ruleParameterKindRule() throws RecognitionException { |
| Enumerator current = null; |
| |
| Token enumLiteral_0=null; |
| Token enumLiteral_1=null; |
| Token enumLiteral_2=null; |
| Token enumLiteral_3=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:4077:2: ( ( (enumLiteral_0= 'IN' ) | (enumLiteral_1= 'OUT' ) | (enumLiteral_2= 'INOUT' ) | (enumLiteral_3= 'VAR' ) ) ) |
| // InternalHenshin_text.g:4078:2: ( (enumLiteral_0= 'IN' ) | (enumLiteral_1= 'OUT' ) | (enumLiteral_2= 'INOUT' ) | (enumLiteral_3= 'VAR' ) ) |
| { |
| // InternalHenshin_text.g:4078:2: ( (enumLiteral_0= 'IN' ) | (enumLiteral_1= 'OUT' ) | (enumLiteral_2= 'INOUT' ) | (enumLiteral_3= 'VAR' ) ) |
| int alt69=4; |
| switch ( input.LA(1) ) { |
| case 70: |
| { |
| alt69=1; |
| } |
| break; |
| case 71: |
| { |
| alt69=2; |
| } |
| break; |
| case 72: |
| { |
| alt69=3; |
| } |
| break; |
| case 73: |
| { |
| alt69=4; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 69, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt69) { |
| case 1 : |
| // InternalHenshin_text.g:4079:3: (enumLiteral_0= 'IN' ) |
| { |
| // InternalHenshin_text.g:4079:3: (enumLiteral_0= 'IN' ) |
| // InternalHenshin_text.g:4080:4: enumLiteral_0= 'IN' |
| { |
| enumLiteral_0=(Token)match(input,70,FOLLOW_2); |
| |
| current = grammarAccess.getParameterKindRuleAccess().getINEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_0, grammarAccess.getParameterKindRuleAccess().getINEnumLiteralDeclaration_0()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:4087:3: (enumLiteral_1= 'OUT' ) |
| { |
| // InternalHenshin_text.g:4087:3: (enumLiteral_1= 'OUT' ) |
| // InternalHenshin_text.g:4088:4: enumLiteral_1= 'OUT' |
| { |
| enumLiteral_1=(Token)match(input,71,FOLLOW_2); |
| |
| current = grammarAccess.getParameterKindRuleAccess().getOUTEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_1, grammarAccess.getParameterKindRuleAccess().getOUTEnumLiteralDeclaration_1()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:4095:3: (enumLiteral_2= 'INOUT' ) |
| { |
| // InternalHenshin_text.g:4095:3: (enumLiteral_2= 'INOUT' ) |
| // InternalHenshin_text.g:4096:4: enumLiteral_2= 'INOUT' |
| { |
| enumLiteral_2=(Token)match(input,72,FOLLOW_2); |
| |
| current = grammarAccess.getParameterKindRuleAccess().getINOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_2, grammarAccess.getParameterKindRuleAccess().getINOUTEnumLiteralDeclaration_2()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:4103:3: (enumLiteral_3= 'VAR' ) |
| { |
| // InternalHenshin_text.g:4103:3: (enumLiteral_3= 'VAR' ) |
| // InternalHenshin_text.g:4104:4: enumLiteral_3= 'VAR' |
| { |
| enumLiteral_3=(Token)match(input,73,FOLLOW_2); |
| |
| current = grammarAccess.getParameterKindRuleAccess().getVAREnumLiteralDeclaration_3().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_3, grammarAccess.getParameterKindRuleAccess().getVAREnumLiteralDeclaration_3()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleParameterKindRule" |
| |
| |
| // $ANTLR start "ruleType" |
| // InternalHenshin_text.g:4114:1: ruleType returns [Enumerator current=null] : ( (enumLiteral_0= 'EBigDecimal' ) | (enumLiteral_1= 'EBigInteger' ) | (enumLiteral_2= 'EBoolean' ) | (enumLiteral_3= 'EBooleanObject' ) | (enumLiteral_4= 'EByte' ) | (enumLiteral_5= 'EByteArray' ) | (enumLiteral_6= 'EByteObject' ) | (enumLiteral_7= 'EChar' ) | (enumLiteral_8= 'ECharacterObject' ) | (enumLiteral_9= 'EDate' ) | (enumLiteral_10= 'EDiagnosticChain' ) | (enumLiteral_11= 'EDouble' ) | (enumLiteral_12= 'EDoubleObject' ) | (enumLiteral_13= 'EEList' ) | (enumLiteral_14= 'EEnumerator' ) | (enumLiteral_15= 'EFeatureMap' ) | (enumLiteral_16= 'EFeatureMapEntry' ) | (enumLiteral_17= 'EFloat' ) | (enumLiteral_18= 'EFloatObject' ) | (enumLiteral_19= 'EInt' ) | (enumLiteral_20= 'EIntegerObject' ) | (enumLiteral_21= 'ETreeIterator' ) | (enumLiteral_22= 'EInvocationTargetException' ) | (enumLiteral_23= 'EJavaClass' ) | (enumLiteral_24= 'EJavaObject' ) | (enumLiteral_25= 'ELong' ) | (enumLiteral_26= 'ELongObject' ) | (enumLiteral_27= 'EMap' ) | (enumLiteral_28= 'EResource' ) | (enumLiteral_29= 'EResourceSet' ) | (enumLiteral_30= 'EShort' ) | (enumLiteral_31= 'EShortObject' ) | (enumLiteral_32= 'EString' ) ) ; |
| public final Enumerator ruleType() throws RecognitionException { |
| Enumerator current = null; |
| |
| Token enumLiteral_0=null; |
| Token enumLiteral_1=null; |
| Token enumLiteral_2=null; |
| Token enumLiteral_3=null; |
| Token enumLiteral_4=null; |
| Token enumLiteral_5=null; |
| Token enumLiteral_6=null; |
| Token enumLiteral_7=null; |
| Token enumLiteral_8=null; |
| Token enumLiteral_9=null; |
| Token enumLiteral_10=null; |
| Token enumLiteral_11=null; |
| Token enumLiteral_12=null; |
| Token enumLiteral_13=null; |
| Token enumLiteral_14=null; |
| Token enumLiteral_15=null; |
| Token enumLiteral_16=null; |
| Token enumLiteral_17=null; |
| Token enumLiteral_18=null; |
| Token enumLiteral_19=null; |
| Token enumLiteral_20=null; |
| Token enumLiteral_21=null; |
| Token enumLiteral_22=null; |
| Token enumLiteral_23=null; |
| Token enumLiteral_24=null; |
| Token enumLiteral_25=null; |
| Token enumLiteral_26=null; |
| Token enumLiteral_27=null; |
| Token enumLiteral_28=null; |
| Token enumLiteral_29=null; |
| Token enumLiteral_30=null; |
| Token enumLiteral_31=null; |
| Token enumLiteral_32=null; |
| |
| |
| enterRule(); |
| |
| try { |
| // InternalHenshin_text.g:4120:2: ( ( (enumLiteral_0= 'EBigDecimal' ) | (enumLiteral_1= 'EBigInteger' ) | (enumLiteral_2= 'EBoolean' ) | (enumLiteral_3= 'EBooleanObject' ) | (enumLiteral_4= 'EByte' ) | (enumLiteral_5= 'EByteArray' ) | (enumLiteral_6= 'EByteObject' ) | (enumLiteral_7= 'EChar' ) | (enumLiteral_8= 'ECharacterObject' ) | (enumLiteral_9= 'EDate' ) | (enumLiteral_10= 'EDiagnosticChain' ) | (enumLiteral_11= 'EDouble' ) | (enumLiteral_12= 'EDoubleObject' ) | (enumLiteral_13= 'EEList' ) | (enumLiteral_14= 'EEnumerator' ) | (enumLiteral_15= 'EFeatureMap' ) | (enumLiteral_16= 'EFeatureMapEntry' ) | (enumLiteral_17= 'EFloat' ) | (enumLiteral_18= 'EFloatObject' ) | (enumLiteral_19= 'EInt' ) | (enumLiteral_20= 'EIntegerObject' ) | (enumLiteral_21= 'ETreeIterator' ) | (enumLiteral_22= 'EInvocationTargetException' ) | (enumLiteral_23= 'EJavaClass' ) | (enumLiteral_24= 'EJavaObject' ) | (enumLiteral_25= 'ELong' ) | (enumLiteral_26= 'ELongObject' ) | (enumLiteral_27= 'EMap' ) | (enumLiteral_28= 'EResource' ) | (enumLiteral_29= 'EResourceSet' ) | (enumLiteral_30= 'EShort' ) | (enumLiteral_31= 'EShortObject' ) | (enumLiteral_32= 'EString' ) ) ) |
| // InternalHenshin_text.g:4121:2: ( (enumLiteral_0= 'EBigDecimal' ) | (enumLiteral_1= 'EBigInteger' ) | (enumLiteral_2= 'EBoolean' ) | (enumLiteral_3= 'EBooleanObject' ) | (enumLiteral_4= 'EByte' ) | (enumLiteral_5= 'EByteArray' ) | (enumLiteral_6= 'EByteObject' ) | (enumLiteral_7= 'EChar' ) | (enumLiteral_8= 'ECharacterObject' ) | (enumLiteral_9= 'EDate' ) | (enumLiteral_10= 'EDiagnosticChain' ) | (enumLiteral_11= 'EDouble' ) | (enumLiteral_12= 'EDoubleObject' ) | (enumLiteral_13= 'EEList' ) | (enumLiteral_14= 'EEnumerator' ) | (enumLiteral_15= 'EFeatureMap' ) | (enumLiteral_16= 'EFeatureMapEntry' ) | (enumLiteral_17= 'EFloat' ) | (enumLiteral_18= 'EFloatObject' ) | (enumLiteral_19= 'EInt' ) | (enumLiteral_20= 'EIntegerObject' ) | (enumLiteral_21= 'ETreeIterator' ) | (enumLiteral_22= 'EInvocationTargetException' ) | (enumLiteral_23= 'EJavaClass' ) | (enumLiteral_24= 'EJavaObject' ) | (enumLiteral_25= 'ELong' ) | (enumLiteral_26= 'ELongObject' ) | (enumLiteral_27= 'EMap' ) | (enumLiteral_28= 'EResource' ) | (enumLiteral_29= 'EResourceSet' ) | (enumLiteral_30= 'EShort' ) | (enumLiteral_31= 'EShortObject' ) | (enumLiteral_32= 'EString' ) ) |
| { |
| // InternalHenshin_text.g:4121:2: ( (enumLiteral_0= 'EBigDecimal' ) | (enumLiteral_1= 'EBigInteger' ) | (enumLiteral_2= 'EBoolean' ) | (enumLiteral_3= 'EBooleanObject' ) | (enumLiteral_4= 'EByte' ) | (enumLiteral_5= 'EByteArray' ) | (enumLiteral_6= 'EByteObject' ) | (enumLiteral_7= 'EChar' ) | (enumLiteral_8= 'ECharacterObject' ) | (enumLiteral_9= 'EDate' ) | (enumLiteral_10= 'EDiagnosticChain' ) | (enumLiteral_11= 'EDouble' ) | (enumLiteral_12= 'EDoubleObject' ) | (enumLiteral_13= 'EEList' ) | (enumLiteral_14= 'EEnumerator' ) | (enumLiteral_15= 'EFeatureMap' ) | (enumLiteral_16= 'EFeatureMapEntry' ) | (enumLiteral_17= 'EFloat' ) | (enumLiteral_18= 'EFloatObject' ) | (enumLiteral_19= 'EInt' ) | (enumLiteral_20= 'EIntegerObject' ) | (enumLiteral_21= 'ETreeIterator' ) | (enumLiteral_22= 'EInvocationTargetException' ) | (enumLiteral_23= 'EJavaClass' ) | (enumLiteral_24= 'EJavaObject' ) | (enumLiteral_25= 'ELong' ) | (enumLiteral_26= 'ELongObject' ) | (enumLiteral_27= 'EMap' ) | (enumLiteral_28= 'EResource' ) | (enumLiteral_29= 'EResourceSet' ) | (enumLiteral_30= 'EShort' ) | (enumLiteral_31= 'EShortObject' ) | (enumLiteral_32= 'EString' ) ) |
| int alt70=33; |
| switch ( input.LA(1) ) { |
| case 74: |
| { |
| alt70=1; |
| } |
| break; |
| case 75: |
| { |
| alt70=2; |
| } |
| break; |
| case 76: |
| { |
| alt70=3; |
| } |
| break; |
| case 77: |
| { |
| alt70=4; |
| } |
| break; |
| case 78: |
| { |
| alt70=5; |
| } |
| break; |
| case 79: |
| { |
| alt70=6; |
| } |
| break; |
| case 80: |
| { |
| alt70=7; |
| } |
| break; |
| case 81: |
| { |
| alt70=8; |
| } |
| break; |
| case 82: |
| { |
| alt70=9; |
| } |
| break; |
| case 83: |
| { |
| alt70=10; |
| } |
| break; |
| case 84: |
| { |
| alt70=11; |
| } |
| break; |
| case 85: |
| { |
| alt70=12; |
| } |
| break; |
| case 86: |
| { |
| alt70=13; |
| } |
| break; |
| case 87: |
| { |
| alt70=14; |
| } |
| break; |
| case 88: |
| { |
| alt70=15; |
| } |
| break; |
| case 89: |
| { |
| alt70=16; |
| } |
| break; |
| case 90: |
| { |
| alt70=17; |
| } |
| break; |
| case 91: |
| { |
| alt70=18; |
| } |
| break; |
| case 92: |
| { |
| alt70=19; |
| } |
| break; |
| case 93: |
| { |
| alt70=20; |
| } |
| break; |
| case 94: |
| { |
| alt70=21; |
| } |
| break; |
| case 95: |
| { |
| alt70=22; |
| } |
| break; |
| case 96: |
| { |
| alt70=23; |
| } |
| break; |
| case 97: |
| { |
| alt70=24; |
| } |
| break; |
| case 98: |
| { |
| alt70=25; |
| } |
| break; |
| case 99: |
| { |
| alt70=26; |
| } |
| break; |
| case 100: |
| { |
| alt70=27; |
| } |
| break; |
| case 101: |
| { |
| alt70=28; |
| } |
| break; |
| case 102: |
| { |
| alt70=29; |
| } |
| break; |
| case 103: |
| { |
| alt70=30; |
| } |
| break; |
| case 104: |
| { |
| alt70=31; |
| } |
| break; |
| case 105: |
| { |
| alt70=32; |
| } |
| break; |
| case 106: |
| { |
| alt70=33; |
| } |
| break; |
| default: |
| NoViableAltException nvae = |
| new NoViableAltException("", 70, 0, input); |
| |
| throw nvae; |
| } |
| |
| switch (alt70) { |
| case 1 : |
| // InternalHenshin_text.g:4122:3: (enumLiteral_0= 'EBigDecimal' ) |
| { |
| // InternalHenshin_text.g:4122:3: (enumLiteral_0= 'EBigDecimal' ) |
| // InternalHenshin_text.g:4123:4: enumLiteral_0= 'EBigDecimal' |
| { |
| enumLiteral_0=(Token)match(input,74,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEBigDecimalEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_0, grammarAccess.getTypeAccess().getEBigDecimalEnumLiteralDeclaration_0()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 2 : |
| // InternalHenshin_text.g:4130:3: (enumLiteral_1= 'EBigInteger' ) |
| { |
| // InternalHenshin_text.g:4130:3: (enumLiteral_1= 'EBigInteger' ) |
| // InternalHenshin_text.g:4131:4: enumLiteral_1= 'EBigInteger' |
| { |
| enumLiteral_1=(Token)match(input,75,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEBigIntegerEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_1, grammarAccess.getTypeAccess().getEBigIntegerEnumLiteralDeclaration_1()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 3 : |
| // InternalHenshin_text.g:4138:3: (enumLiteral_2= 'EBoolean' ) |
| { |
| // InternalHenshin_text.g:4138:3: (enumLiteral_2= 'EBoolean' ) |
| // InternalHenshin_text.g:4139:4: enumLiteral_2= 'EBoolean' |
| { |
| enumLiteral_2=(Token)match(input,76,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEBooleanEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_2, grammarAccess.getTypeAccess().getEBooleanEnumLiteralDeclaration_2()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 4 : |
| // InternalHenshin_text.g:4146:3: (enumLiteral_3= 'EBooleanObject' ) |
| { |
| // InternalHenshin_text.g:4146:3: (enumLiteral_3= 'EBooleanObject' ) |
| // InternalHenshin_text.g:4147:4: enumLiteral_3= 'EBooleanObject' |
| { |
| enumLiteral_3=(Token)match(input,77,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEBooleanObjectEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_3, grammarAccess.getTypeAccess().getEBooleanObjectEnumLiteralDeclaration_3()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 5 : |
| // InternalHenshin_text.g:4154:3: (enumLiteral_4= 'EByte' ) |
| { |
| // InternalHenshin_text.g:4154:3: (enumLiteral_4= 'EByte' ) |
| // InternalHenshin_text.g:4155:4: enumLiteral_4= 'EByte' |
| { |
| enumLiteral_4=(Token)match(input,78,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEByteEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_4, grammarAccess.getTypeAccess().getEByteEnumLiteralDeclaration_4()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 6 : |
| // InternalHenshin_text.g:4162:3: (enumLiteral_5= 'EByteArray' ) |
| { |
| // InternalHenshin_text.g:4162:3: (enumLiteral_5= 'EByteArray' ) |
| // InternalHenshin_text.g:4163:4: enumLiteral_5= 'EByteArray' |
| { |
| enumLiteral_5=(Token)match(input,79,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEByteArrayEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_5, grammarAccess.getTypeAccess().getEByteArrayEnumLiteralDeclaration_5()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 7 : |
| // InternalHenshin_text.g:4170:3: (enumLiteral_6= 'EByteObject' ) |
| { |
| // InternalHenshin_text.g:4170:3: (enumLiteral_6= 'EByteObject' ) |
| // InternalHenshin_text.g:4171:4: enumLiteral_6= 'EByteObject' |
| { |
| enumLiteral_6=(Token)match(input,80,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEByteObjectEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_6, grammarAccess.getTypeAccess().getEByteObjectEnumLiteralDeclaration_6()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 8 : |
| // InternalHenshin_text.g:4178:3: (enumLiteral_7= 'EChar' ) |
| { |
| // InternalHenshin_text.g:4178:3: (enumLiteral_7= 'EChar' ) |
| // InternalHenshin_text.g:4179:4: enumLiteral_7= 'EChar' |
| { |
| enumLiteral_7=(Token)match(input,81,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getECharEnumLiteralDeclaration_7().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_7, grammarAccess.getTypeAccess().getECharEnumLiteralDeclaration_7()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 9 : |
| // InternalHenshin_text.g:4186:3: (enumLiteral_8= 'ECharacterObject' ) |
| { |
| // InternalHenshin_text.g:4186:3: (enumLiteral_8= 'ECharacterObject' ) |
| // InternalHenshin_text.g:4187:4: enumLiteral_8= 'ECharacterObject' |
| { |
| enumLiteral_8=(Token)match(input,82,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getECharacterObjectEnumLiteralDeclaration_8().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_8, grammarAccess.getTypeAccess().getECharacterObjectEnumLiteralDeclaration_8()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 10 : |
| // InternalHenshin_text.g:4194:3: (enumLiteral_9= 'EDate' ) |
| { |
| // InternalHenshin_text.g:4194:3: (enumLiteral_9= 'EDate' ) |
| // InternalHenshin_text.g:4195:4: enumLiteral_9= 'EDate' |
| { |
| enumLiteral_9=(Token)match(input,83,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEDateEnumLiteralDeclaration_9().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_9, grammarAccess.getTypeAccess().getEDateEnumLiteralDeclaration_9()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 11 : |
| // InternalHenshin_text.g:4202:3: (enumLiteral_10= 'EDiagnosticChain' ) |
| { |
| // InternalHenshin_text.g:4202:3: (enumLiteral_10= 'EDiagnosticChain' ) |
| // InternalHenshin_text.g:4203:4: enumLiteral_10= 'EDiagnosticChain' |
| { |
| enumLiteral_10=(Token)match(input,84,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEDiagnosticChainEnumLiteralDeclaration_10().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_10, grammarAccess.getTypeAccess().getEDiagnosticChainEnumLiteralDeclaration_10()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 12 : |
| // InternalHenshin_text.g:4210:3: (enumLiteral_11= 'EDouble' ) |
| { |
| // InternalHenshin_text.g:4210:3: (enumLiteral_11= 'EDouble' ) |
| // InternalHenshin_text.g:4211:4: enumLiteral_11= 'EDouble' |
| { |
| enumLiteral_11=(Token)match(input,85,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEDoubleEnumLiteralDeclaration_11().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_11, grammarAccess.getTypeAccess().getEDoubleEnumLiteralDeclaration_11()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 13 : |
| // InternalHenshin_text.g:4218:3: (enumLiteral_12= 'EDoubleObject' ) |
| { |
| // InternalHenshin_text.g:4218:3: (enumLiteral_12= 'EDoubleObject' ) |
| // InternalHenshin_text.g:4219:4: enumLiteral_12= 'EDoubleObject' |
| { |
| enumLiteral_12=(Token)match(input,86,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEDoubleObjectEnumLiteralDeclaration_12().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_12, grammarAccess.getTypeAccess().getEDoubleObjectEnumLiteralDeclaration_12()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 14 : |
| // InternalHenshin_text.g:4226:3: (enumLiteral_13= 'EEList' ) |
| { |
| // InternalHenshin_text.g:4226:3: (enumLiteral_13= 'EEList' ) |
| // InternalHenshin_text.g:4227:4: enumLiteral_13= 'EEList' |
| { |
| enumLiteral_13=(Token)match(input,87,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEEListEnumLiteralDeclaration_13().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_13, grammarAccess.getTypeAccess().getEEListEnumLiteralDeclaration_13()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 15 : |
| // InternalHenshin_text.g:4234:3: (enumLiteral_14= 'EEnumerator' ) |
| { |
| // InternalHenshin_text.g:4234:3: (enumLiteral_14= 'EEnumerator' ) |
| // InternalHenshin_text.g:4235:4: enumLiteral_14= 'EEnumerator' |
| { |
| enumLiteral_14=(Token)match(input,88,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEEnumeratorEnumLiteralDeclaration_14().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_14, grammarAccess.getTypeAccess().getEEnumeratorEnumLiteralDeclaration_14()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 16 : |
| // InternalHenshin_text.g:4242:3: (enumLiteral_15= 'EFeatureMap' ) |
| { |
| // InternalHenshin_text.g:4242:3: (enumLiteral_15= 'EFeatureMap' ) |
| // InternalHenshin_text.g:4243:4: enumLiteral_15= 'EFeatureMap' |
| { |
| enumLiteral_15=(Token)match(input,89,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEFeatureMapEnumLiteralDeclaration_15().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_15, grammarAccess.getTypeAccess().getEFeatureMapEnumLiteralDeclaration_15()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 17 : |
| // InternalHenshin_text.g:4250:3: (enumLiteral_16= 'EFeatureMapEntry' ) |
| { |
| // InternalHenshin_text.g:4250:3: (enumLiteral_16= 'EFeatureMapEntry' ) |
| // InternalHenshin_text.g:4251:4: enumLiteral_16= 'EFeatureMapEntry' |
| { |
| enumLiteral_16=(Token)match(input,90,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEFeatureMapEntryEnumLiteralDeclaration_16().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_16, grammarAccess.getTypeAccess().getEFeatureMapEntryEnumLiteralDeclaration_16()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 18 : |
| // InternalHenshin_text.g:4258:3: (enumLiteral_17= 'EFloat' ) |
| { |
| // InternalHenshin_text.g:4258:3: (enumLiteral_17= 'EFloat' ) |
| // InternalHenshin_text.g:4259:4: enumLiteral_17= 'EFloat' |
| { |
| enumLiteral_17=(Token)match(input,91,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEFloatEnumLiteralDeclaration_17().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_17, grammarAccess.getTypeAccess().getEFloatEnumLiteralDeclaration_17()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 19 : |
| // InternalHenshin_text.g:4266:3: (enumLiteral_18= 'EFloatObject' ) |
| { |
| // InternalHenshin_text.g:4266:3: (enumLiteral_18= 'EFloatObject' ) |
| // InternalHenshin_text.g:4267:4: enumLiteral_18= 'EFloatObject' |
| { |
| enumLiteral_18=(Token)match(input,92,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEFloatObjectEnumLiteralDeclaration_18().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_18, grammarAccess.getTypeAccess().getEFloatObjectEnumLiteralDeclaration_18()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 20 : |
| // InternalHenshin_text.g:4274:3: (enumLiteral_19= 'EInt' ) |
| { |
| // InternalHenshin_text.g:4274:3: (enumLiteral_19= 'EInt' ) |
| // InternalHenshin_text.g:4275:4: enumLiteral_19= 'EInt' |
| { |
| enumLiteral_19=(Token)match(input,93,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEIntEnumLiteralDeclaration_19().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_19, grammarAccess.getTypeAccess().getEIntEnumLiteralDeclaration_19()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 21 : |
| // InternalHenshin_text.g:4282:3: (enumLiteral_20= 'EIntegerObject' ) |
| { |
| // InternalHenshin_text.g:4282:3: (enumLiteral_20= 'EIntegerObject' ) |
| // InternalHenshin_text.g:4283:4: enumLiteral_20= 'EIntegerObject' |
| { |
| enumLiteral_20=(Token)match(input,94,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEIntegerObjectEnumLiteralDeclaration_20().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_20, grammarAccess.getTypeAccess().getEIntegerObjectEnumLiteralDeclaration_20()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 22 : |
| // InternalHenshin_text.g:4290:3: (enumLiteral_21= 'ETreeIterator' ) |
| { |
| // InternalHenshin_text.g:4290:3: (enumLiteral_21= 'ETreeIterator' ) |
| // InternalHenshin_text.g:4291:4: enumLiteral_21= 'ETreeIterator' |
| { |
| enumLiteral_21=(Token)match(input,95,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getETreeIteratorEnumLiteralDeclaration_21().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_21, grammarAccess.getTypeAccess().getETreeIteratorEnumLiteralDeclaration_21()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 23 : |
| // InternalHenshin_text.g:4298:3: (enumLiteral_22= 'EInvocationTargetException' ) |
| { |
| // InternalHenshin_text.g:4298:3: (enumLiteral_22= 'EInvocationTargetException' ) |
| // InternalHenshin_text.g:4299:4: enumLiteral_22= 'EInvocationTargetException' |
| { |
| enumLiteral_22=(Token)match(input,96,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEInvocationTargetExceptionEnumLiteralDeclaration_22().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_22, grammarAccess.getTypeAccess().getEInvocationTargetExceptionEnumLiteralDeclaration_22()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 24 : |
| // InternalHenshin_text.g:4306:3: (enumLiteral_23= 'EJavaClass' ) |
| { |
| // InternalHenshin_text.g:4306:3: (enumLiteral_23= 'EJavaClass' ) |
| // InternalHenshin_text.g:4307:4: enumLiteral_23= 'EJavaClass' |
| { |
| enumLiteral_23=(Token)match(input,97,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEJavaClassEnumLiteralDeclaration_23().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_23, grammarAccess.getTypeAccess().getEJavaClassEnumLiteralDeclaration_23()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 25 : |
| // InternalHenshin_text.g:4314:3: (enumLiteral_24= 'EJavaObject' ) |
| { |
| // InternalHenshin_text.g:4314:3: (enumLiteral_24= 'EJavaObject' ) |
| // InternalHenshin_text.g:4315:4: enumLiteral_24= 'EJavaObject' |
| { |
| enumLiteral_24=(Token)match(input,98,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEJavaObjectEnumLiteralDeclaration_24().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_24, grammarAccess.getTypeAccess().getEJavaObjectEnumLiteralDeclaration_24()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 26 : |
| // InternalHenshin_text.g:4322:3: (enumLiteral_25= 'ELong' ) |
| { |
| // InternalHenshin_text.g:4322:3: (enumLiteral_25= 'ELong' ) |
| // InternalHenshin_text.g:4323:4: enumLiteral_25= 'ELong' |
| { |
| enumLiteral_25=(Token)match(input,99,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getELongEnumLiteralDeclaration_25().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_25, grammarAccess.getTypeAccess().getELongEnumLiteralDeclaration_25()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 27 : |
| // InternalHenshin_text.g:4330:3: (enumLiteral_26= 'ELongObject' ) |
| { |
| // InternalHenshin_text.g:4330:3: (enumLiteral_26= 'ELongObject' ) |
| // InternalHenshin_text.g:4331:4: enumLiteral_26= 'ELongObject' |
| { |
| enumLiteral_26=(Token)match(input,100,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getELongObjectEnumLiteralDeclaration_26().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_26, grammarAccess.getTypeAccess().getELongObjectEnumLiteralDeclaration_26()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 28 : |
| // InternalHenshin_text.g:4338:3: (enumLiteral_27= 'EMap' ) |
| { |
| // InternalHenshin_text.g:4338:3: (enumLiteral_27= 'EMap' ) |
| // InternalHenshin_text.g:4339:4: enumLiteral_27= 'EMap' |
| { |
| enumLiteral_27=(Token)match(input,101,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEMapEnumLiteralDeclaration_27().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_27, grammarAccess.getTypeAccess().getEMapEnumLiteralDeclaration_27()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 29 : |
| // InternalHenshin_text.g:4346:3: (enumLiteral_28= 'EResource' ) |
| { |
| // InternalHenshin_text.g:4346:3: (enumLiteral_28= 'EResource' ) |
| // InternalHenshin_text.g:4347:4: enumLiteral_28= 'EResource' |
| { |
| enumLiteral_28=(Token)match(input,102,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEResourceEnumLiteralDeclaration_28().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_28, grammarAccess.getTypeAccess().getEResourceEnumLiteralDeclaration_28()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 30 : |
| // InternalHenshin_text.g:4354:3: (enumLiteral_29= 'EResourceSet' ) |
| { |
| // InternalHenshin_text.g:4354:3: (enumLiteral_29= 'EResourceSet' ) |
| // InternalHenshin_text.g:4355:4: enumLiteral_29= 'EResourceSet' |
| { |
| enumLiteral_29=(Token)match(input,103,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEResourceSetEnumLiteralDeclaration_29().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_29, grammarAccess.getTypeAccess().getEResourceSetEnumLiteralDeclaration_29()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 31 : |
| // InternalHenshin_text.g:4362:3: (enumLiteral_30= 'EShort' ) |
| { |
| // InternalHenshin_text.g:4362:3: (enumLiteral_30= 'EShort' ) |
| // InternalHenshin_text.g:4363:4: enumLiteral_30= 'EShort' |
| { |
| enumLiteral_30=(Token)match(input,104,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEShortEnumLiteralDeclaration_30().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_30, grammarAccess.getTypeAccess().getEShortEnumLiteralDeclaration_30()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 32 : |
| // InternalHenshin_text.g:4370:3: (enumLiteral_31= 'EShortObject' ) |
| { |
| // InternalHenshin_text.g:4370:3: (enumLiteral_31= 'EShortObject' ) |
| // InternalHenshin_text.g:4371:4: enumLiteral_31= 'EShortObject' |
| { |
| enumLiteral_31=(Token)match(input,105,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEShortObjectEnumLiteralDeclaration_31().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_31, grammarAccess.getTypeAccess().getEShortObjectEnumLiteralDeclaration_31()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| case 33 : |
| // InternalHenshin_text.g:4378:3: (enumLiteral_32= 'EString' ) |
| { |
| // InternalHenshin_text.g:4378:3: (enumLiteral_32= 'EString' ) |
| // InternalHenshin_text.g:4379:4: enumLiteral_32= 'EString' |
| { |
| enumLiteral_32=(Token)match(input,106,FOLLOW_2); |
| |
| current = grammarAccess.getTypeAccess().getEStringEnumLiteralDeclaration_32().getEnumLiteral().getInstance(); |
| newLeafNode(enumLiteral_32, grammarAccess.getTypeAccess().getEStringEnumLiteralDeclaration_32()); |
| |
| |
| } |
| |
| |
| } |
| break; |
| |
| } |
| |
| |
| } |
| |
| |
| leaveRule(); |
| |
| } |
| |
| catch (RecognitionException re) { |
| recover(input,re); |
| appendSkippedTokens(); |
| } |
| finally { |
| } |
| return current; |
| } |
| // $ANTLR end "ruleType" |
| |
| // Delegated rules |
| |
| |
| protected DFA68 dfa68 = new DFA68(this); |
| static final String dfa_1s = "\14\uffff"; |
| static final String dfa_2s = "\1\uffff\1\11\10\uffff\1\13\1\uffff"; |
| static final String dfa_3s = "\2\4\5\uffff\1\4\2\uffff\1\4\1\uffff"; |
| static final String dfa_4s = "\1\73\1\105\5\uffff\1\4\2\uffff\1\105\1\uffff"; |
| static final String dfa_5s = "\2\uffff\1\4\1\5\1\6\1\7\1\10\1\uffff\1\2\1\1\1\uffff\1\3"; |
| static final String dfa_6s = "\14\uffff}>"; |
| static final String[] dfa_7s = { |
| "\1\1\1\2\1\3\1\4\1\5\61\uffff\2\6", |
| "\1\11\11\uffff\1\7\1\uffff\1\10\2\11\1\uffff\1\11\6\uffff\1\11\1\uffff\5\11\6\uffff\1\11\3\uffff\1\11\1\uffff\1\11\15\uffff\12\11", |
| "", |
| "", |
| "", |
| "", |
| "", |
| "\1\12", |
| "", |
| "", |
| "\1\13\11\uffff\1\10\1\uffff\1\10\2\13\1\uffff\1\13\6\uffff\1\13\1\uffff\5\13\6\uffff\1\13\3\uffff\1\13\1\uffff\1\13\15\uffff\12\13", |
| "" |
| }; |
| |
| static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s); |
| static final short[] dfa_2 = DFA.unpackEncodedString(dfa_2s); |
| static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s); |
| static final char[] dfa_4 = DFA.unpackEncodedStringToUnsignedChars(dfa_4s); |
| static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s); |
| static final short[] dfa_6 = DFA.unpackEncodedString(dfa_6s); |
| static final short[][] dfa_7 = unpackEncodedStringArray(dfa_7s); |
| |
| class DFA68 extends DFA { |
| |
| public DFA68(BaseRecognizer recognizer) { |
| this.recognizer = recognizer; |
| this.decisionNumber = 68; |
| this.eot = dfa_1; |
| this.eof = dfa_2; |
| this.min = dfa_3; |
| this.max = dfa_4; |
| this.accept = dfa_5; |
| this.special = dfa_6; |
| this.transition = dfa_7; |
| } |
| public String getDescription() { |
| return "3753:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) | ( () ( (lv_value_3_0= ruleEString ) ) otherlv_4= '(' ( ( (lv_javaParameter_5_0= ruleExpression ) ) (otherlv_6= ',' ( (lv_javaParameter_7_0= ruleExpression ) ) )* )? otherlv_8= ')' ) | ( () ( (lv_value_10_0= ruleJavaAttribute ) ) ) | ( () ( (lv_value_12_0= RULE_STRING ) ) ) | ( () ( (lv_value_14_0= RULE_DECIMAL ) ) ) | ( () ( (lv_value_16_0= RULE_NEGATIVE ) ) ) | ( () ( (lv_value_18_0= RULE_INT ) ) ) | ( () ( (lv_value_20_0= ruleEBoolean ) ) ) )"; |
| } |
| } |
| |
| |
| public static final BitSet FOLLOW_1 = new BitSet(new long[]{0x0000000000000000L}); |
| public static final BitSet FOLLOW_2 = new BitSet(new long[]{0x0000000000000002L}); |
| public static final BitSet FOLLOW_3 = new BitSet(new long[]{0x000000000020A002L}); |
| public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000208002L}); |
| public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000000010L}); |
| public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x0000000000004002L}); |
| public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000010000L}); |
| public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000040010L,0x00000000000003C0L}); |
| public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000060000L}); |
| public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000010L,0x00000000000003C0L}); |
| public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000080000L}); |
| public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000013C00000L}); |
| public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000013D00000L}); |
| public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x039E000000080010L}); |
| public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x039E000000180010L}); |
| public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0C00000000000000L}); |
| public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000004000000L}); |
| public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0C008000000101F0L}); |
| public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000008020000L}); |
| public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x00000667E0100000L}); |
| public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x00000003E0000010L}); |
| public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000000800000000L}); |
| public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x0000001000000000L}); |
| public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000040000L}); |
| public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000002000000000L}); |
| public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000000080002L}); |
| public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x00000103E0100010L}); |
| public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x0000008000000000L}); |
| public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x0000080000000000L}); |
| public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000800000010010L}); |
| public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x0001000000000000L}); |
| public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x0001000000100000L}); |
| public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x0000300000000002L}); |
| public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000400000000002L}); |
| public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000046400100000L}); |
| public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x0000000000100010L}); |
| public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x0000000000040010L}); |
| public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x039E000000080012L}); |
| public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x039E0000000C0010L}); |
| public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0020000000000000L}); |
| public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x0040000000000002L}); |
| public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x0000000000000010L,0x000007FFFFFFFC00L}); |
| public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x0000100000000002L}); |
| public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x3000000000000002L}); |
| public static final BitSet FOLLOW_45 = new BitSet(new long[]{0xC000000000000002L,0x0000000000000003L}); |
| public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0000000000000002L,0x000000000000000CL}); |
| public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000030L}); |
| public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x0C008000000501F0L}); |
| public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x0000000000004000L}); |
| |
| } |