/*****************************************************************************
* Copyright (c) 2012 CEA LIST.
*
*
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* CEA LIST - Initial API and implementation
*
*****************************************************************************/
package org.eclipse.papyrus.uml.textedit.message.xtext.parser.antlr.internal;
import org.eclipse.xtext.*;
import org.eclipse.xtext.parser.*;
import org.eclipse.xtext.parser.impl.*;
import org.eclipse.emf.ecore.util.EcoreUtil;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.parser.antlr.AbstractInternalAntlrParser;
import org.eclipse.xtext.parser.antlr.XtextTokenStream;
import org.eclipse.xtext.parser.antlr.XtextTokenStream.HiddenTokens;
import org.eclipse.xtext.parser.antlr.AntlrDatatypeRuleToken;
import org.eclipse.papyrus.uml.textedit.message.xtext.services.UmlMessageGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalUmlMessageParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_NAMERULE", "RULE_INT", "RULE_ID", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'.'", "':'", "'*'", "'['", "']'"
};
public static final int RULE_NAMERULE=4;
public static final int RULE_ID=6;
public static final int RULE_STRING=7;
public static final int T__16=16;
public static final int T__15=15;
public static final int T__12=12;
public static final int T__14=14;
public static final int T__13=13;
public static final int RULE_ANY_OTHER=11;
public static final int RULE_INT=5;
public static final int RULE_WS=10;
public static final int RULE_SL_COMMENT=9;
public static final int EOF=-1;
public static final int RULE_ML_COMMENT=8;
// delegates
// delegators
public InternalUmlMessageParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalUmlMessageParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalUmlMessageParser.tokenNames; }
public String getGrammarFileName() { return "../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g"; }
private UmlMessageGrammarAccess grammarAccess;
public InternalUmlMessageParser(TokenStream input, UmlMessageGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "MessageRule";
}
@Override
protected UmlMessageGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleMessageRule"
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:67:1: entryRuleMessageRule returns [EObject current=null] : iv_ruleMessageRule= ruleMessageRule EOF ;
public final EObject entryRuleMessageRule() throws RecognitionException {
EObject current = null;
EObject iv_ruleMessageRule = null;
try {
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:68:2: (iv_ruleMessageRule= ruleMessageRule EOF )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:69:2: iv_ruleMessageRule= ruleMessageRule EOF
{
newCompositeNode(grammarAccess.getMessageRuleRule());
pushFollow(FOLLOW_ruleMessageRule_in_entryRuleMessageRule75);
iv_ruleMessageRule=ruleMessageRule();
state._fsp--;
current =iv_ruleMessageRule;
match(input,EOF,FOLLOW_EOF_in_entryRuleMessageRule85);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleMessageRule"
// $ANTLR start "ruleMessageRule"
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:76:1: ruleMessageRule returns [EObject current=null] : ( ( (lv_sequenceTerm_0_0= ruleSequenceTermRule ) ) (otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) ) )* otherlv_3= ':' ( (lv_name_4_0= RULE_NAMERULE ) ) ) ;
public final EObject ruleMessageRule() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_name_4_0=null;
EObject lv_sequenceTerm_0_0 = null;
EObject lv_sequenceTerm_2_0 = null;
enterRule();
try {
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:79:28: ( ( ( (lv_sequenceTerm_0_0= ruleSequenceTermRule ) ) (otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) ) )* otherlv_3= ':' ( (lv_name_4_0= RULE_NAMERULE ) ) ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:80:1: ( ( (lv_sequenceTerm_0_0= ruleSequenceTermRule ) ) (otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) ) )* otherlv_3= ':' ( (lv_name_4_0= RULE_NAMERULE ) ) )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:80:1: ( ( (lv_sequenceTerm_0_0= ruleSequenceTermRule ) ) (otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) ) )* otherlv_3= ':' ( (lv_name_4_0= RULE_NAMERULE ) ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:80:2: ( (lv_sequenceTerm_0_0= ruleSequenceTermRule ) ) (otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) ) )* otherlv_3= ':' ( (lv_name_4_0= RULE_NAMERULE ) )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:80:2: ( (lv_sequenceTerm_0_0= ruleSequenceTermRule ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:81:1: (lv_sequenceTerm_0_0= ruleSequenceTermRule )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:81:1: (lv_sequenceTerm_0_0= ruleSequenceTermRule )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:82:3: lv_sequenceTerm_0_0= ruleSequenceTermRule
{
newCompositeNode(grammarAccess.getMessageRuleAccess().getSequenceTermSequenceTermRuleParserRuleCall_0_0());
pushFollow(FOLLOW_ruleSequenceTermRule_in_ruleMessageRule131);
lv_sequenceTerm_0_0=ruleSequenceTermRule();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMessageRuleRule());
}
add(
current,
"sequenceTerm",
lv_sequenceTerm_0_0,
"SequenceTermRule");
afterParserOrEnumRuleCall();
}
}
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:98:2: (otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) ) )*
loop1:
do {
int alt1=2;
int LA1_0 = input.LA(1);
if ( (LA1_0==12) ) {
alt1=1;
}
switch (alt1) {
case 1 :
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:98:4: otherlv_1= '.' ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) )
{
otherlv_1=(Token)match(input,12,FOLLOW_12_in_ruleMessageRule144);
newLeafNode(otherlv_1, grammarAccess.getMessageRuleAccess().getFullStopKeyword_1_0());
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:102:1: ( (lv_sequenceTerm_2_0= ruleSequenceTermRule ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:103:1: (lv_sequenceTerm_2_0= ruleSequenceTermRule )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:103:1: (lv_sequenceTerm_2_0= ruleSequenceTermRule )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:104:3: lv_sequenceTerm_2_0= ruleSequenceTermRule
{
newCompositeNode(grammarAccess.getMessageRuleAccess().getSequenceTermSequenceTermRuleParserRuleCall_1_1_0());
pushFollow(FOLLOW_ruleSequenceTermRule_in_ruleMessageRule165);
lv_sequenceTerm_2_0=ruleSequenceTermRule();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getMessageRuleRule());
}
add(
current,
"sequenceTerm",
lv_sequenceTerm_2_0,
"SequenceTermRule");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop1;
}
} while (true);
otherlv_3=(Token)match(input,13,FOLLOW_13_in_ruleMessageRule179);
newLeafNode(otherlv_3, grammarAccess.getMessageRuleAccess().getColonKeyword_2());
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:124:1: ( (lv_name_4_0= RULE_NAMERULE ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:125:1: (lv_name_4_0= RULE_NAMERULE )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:125:1: (lv_name_4_0= RULE_NAMERULE )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:126:3: lv_name_4_0= RULE_NAMERULE
{
lv_name_4_0=(Token)match(input,RULE_NAMERULE,FOLLOW_RULE_NAMERULE_in_ruleMessageRule196);
newLeafNode(lv_name_4_0, grammarAccess.getMessageRuleAccess().getNameNameRuleTerminalRuleCall_3_0());
if (current==null) {
current = createModelElement(grammarAccess.getMessageRuleRule());
}
setWithLastConsumed(
current,
"name",
lv_name_4_0,
"nameRule");
}
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleMessageRule"
// $ANTLR start "entryRuleSequenceTermRule"
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:150:1: entryRuleSequenceTermRule returns [EObject current=null] : iv_ruleSequenceTermRule= ruleSequenceTermRule EOF ;
public final EObject entryRuleSequenceTermRule() throws RecognitionException {
EObject current = null;
EObject iv_ruleSequenceTermRule = null;
try {
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:151:2: (iv_ruleSequenceTermRule= ruleSequenceTermRule EOF )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:152:2: iv_ruleSequenceTermRule= ruleSequenceTermRule EOF
{
newCompositeNode(grammarAccess.getSequenceTermRuleRule());
pushFollow(FOLLOW_ruleSequenceTermRule_in_entryRuleSequenceTermRule237);
iv_ruleSequenceTermRule=ruleSequenceTermRule();
state._fsp--;
current =iv_ruleSequenceTermRule;
match(input,EOF,FOLLOW_EOF_in_entryRuleSequenceTermRule247);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSequenceTermRule"
// $ANTLR start "ruleSequenceTermRule"
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:159:1: ruleSequenceTermRule returns [EObject current=null] : ( ( (lv_sequencialOrder_0_0= RULE_INT ) ) ( (lv_sequenceName_1_0= RULE_ID ) )? ( (lv_recurrence_2_0= ruleRecurrenceRule ) )? ) ;
public final EObject ruleSequenceTermRule() throws RecognitionException {
EObject current = null;
Token lv_sequencialOrder_0_0=null;
Token lv_sequenceName_1_0=null;
AntlrDatatypeRuleToken lv_recurrence_2_0 = null;
enterRule();
try {
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:162:28: ( ( ( (lv_sequencialOrder_0_0= RULE_INT ) ) ( (lv_sequenceName_1_0= RULE_ID ) )? ( (lv_recurrence_2_0= ruleRecurrenceRule ) )? ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:163:1: ( ( (lv_sequencialOrder_0_0= RULE_INT ) ) ( (lv_sequenceName_1_0= RULE_ID ) )? ( (lv_recurrence_2_0= ruleRecurrenceRule ) )? )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:163:1: ( ( (lv_sequencialOrder_0_0= RULE_INT ) ) ( (lv_sequenceName_1_0= RULE_ID ) )? ( (lv_recurrence_2_0= ruleRecurrenceRule ) )? )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:163:2: ( (lv_sequencialOrder_0_0= RULE_INT ) ) ( (lv_sequenceName_1_0= RULE_ID ) )? ( (lv_recurrence_2_0= ruleRecurrenceRule ) )?
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:163:2: ( (lv_sequencialOrder_0_0= RULE_INT ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:164:1: (lv_sequencialOrder_0_0= RULE_INT )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:164:1: (lv_sequencialOrder_0_0= RULE_INT )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:165:3: lv_sequencialOrder_0_0= RULE_INT
{
lv_sequencialOrder_0_0=(Token)match(input,RULE_INT,FOLLOW_RULE_INT_in_ruleSequenceTermRule289);
newLeafNode(lv_sequencialOrder_0_0, grammarAccess.getSequenceTermRuleAccess().getSequencialOrderINTTerminalRuleCall_0_0());
if (current==null) {
current = createModelElement(grammarAccess.getSequenceTermRuleRule());
}
setWithLastConsumed(
current,
"sequencialOrder",
lv_sequencialOrder_0_0,
"INT");
}
}
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:181:2: ( (lv_sequenceName_1_0= RULE_ID ) )?
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==RULE_ID) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:182:1: (lv_sequenceName_1_0= RULE_ID )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:182:1: (lv_sequenceName_1_0= RULE_ID )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:183:3: lv_sequenceName_1_0= RULE_ID
{
lv_sequenceName_1_0=(Token)match(input,RULE_ID,FOLLOW_RULE_ID_in_ruleSequenceTermRule311);
newLeafNode(lv_sequenceName_1_0, grammarAccess.getSequenceTermRuleAccess().getSequenceNameIDTerminalRuleCall_1_0());
if (current==null) {
current = createModelElement(grammarAccess.getSequenceTermRuleRule());
}
setWithLastConsumed(
current,
"sequenceName",
lv_sequenceName_1_0,
"ID");
}
}
break;
}
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:199:3: ( (lv_recurrence_2_0= ruleRecurrenceRule ) )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( ((LA3_0>=14 && LA3_0<=15)) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:200:1: (lv_recurrence_2_0= ruleRecurrenceRule )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:200:1: (lv_recurrence_2_0= ruleRecurrenceRule )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:201:3: lv_recurrence_2_0= ruleRecurrenceRule
{
newCompositeNode(grammarAccess.getSequenceTermRuleAccess().getRecurrenceRecurrenceRuleParserRuleCall_2_0());
pushFollow(FOLLOW_ruleRecurrenceRule_in_ruleSequenceTermRule338);
lv_recurrence_2_0=ruleRecurrenceRule();
state._fsp--;
if (current==null) {
current = createModelElementForParent(grammarAccess.getSequenceTermRuleRule());
}
set(
current,
"recurrence",
lv_recurrence_2_0,
"RecurrenceRule");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSequenceTermRule"
// $ANTLR start "entryRuleRecurrenceRule"
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:225:1: entryRuleRecurrenceRule returns [String current=null] : iv_ruleRecurrenceRule= ruleRecurrenceRule EOF ;
public final String entryRuleRecurrenceRule() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleRecurrenceRule = null;
try {
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:226:2: (iv_ruleRecurrenceRule= ruleRecurrenceRule EOF )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:227:2: iv_ruleRecurrenceRule= ruleRecurrenceRule EOF
{
newCompositeNode(grammarAccess.getRecurrenceRuleRule());
pushFollow(FOLLOW_ruleRecurrenceRule_in_entryRuleRecurrenceRule376);
iv_ruleRecurrenceRule=ruleRecurrenceRule();
state._fsp--;
current =iv_ruleRecurrenceRule.getText();
match(input,EOF,FOLLOW_EOF_in_entryRuleRecurrenceRule387);
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRecurrenceRule"
// $ANTLR start "ruleRecurrenceRule"
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:234:1: ruleRecurrenceRule returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']' ) | (kw= '[' this_STRING_5= RULE_STRING kw= ']' ) ) ;
public final AntlrDatatypeRuleToken ruleRecurrenceRule() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
Token this_STRING_2=null;
Token this_STRING_5=null;
enterRule();
try {
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:237:28: ( ( (kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']' ) | (kw= '[' this_STRING_5= RULE_STRING kw= ']' ) ) )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:238:1: ( (kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']' ) | (kw= '[' this_STRING_5= RULE_STRING kw= ']' ) )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:238:1: ( (kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']' ) | (kw= '[' this_STRING_5= RULE_STRING kw= ']' ) )
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==14) ) {
alt4=1;
}
else if ( (LA4_0==15) ) {
alt4=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 4, 0, input);
throw nvae;
}
switch (alt4) {
case 1 :
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:238:2: (kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']' )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:238:2: (kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']' )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:239:2: kw= '*' kw= '[' this_STRING_2= RULE_STRING kw= ']'
{
kw=(Token)match(input,14,FOLLOW_14_in_ruleRecurrenceRule426);
current.merge(kw);
newLeafNode(kw, grammarAccess.getRecurrenceRuleAccess().getAsteriskKeyword_0_0());
kw=(Token)match(input,15,FOLLOW_15_in_ruleRecurrenceRule439);
current.merge(kw);
newLeafNode(kw, grammarAccess.getRecurrenceRuleAccess().getLeftSquareBracketKeyword_0_1());
this_STRING_2=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRecurrenceRule454);
current.merge(this_STRING_2);
newLeafNode(this_STRING_2, grammarAccess.getRecurrenceRuleAccess().getSTRINGTerminalRuleCall_0_2());
kw=(Token)match(input,16,FOLLOW_16_in_ruleRecurrenceRule472);
current.merge(kw);
newLeafNode(kw, grammarAccess.getRecurrenceRuleAccess().getRightSquareBracketKeyword_0_3());
}
}
break;
case 2 :
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:264:6: (kw= '[' this_STRING_5= RULE_STRING kw= ']' )
{
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:264:6: (kw= '[' this_STRING_5= RULE_STRING kw= ']' )
// ../org.eclipse.papyrus.uml.textedit.message.xtext/src-gen/org/eclipse/papyrus/uml/textedit/message/xtext/parser/antlr/internal/InternalUmlMessage.g:265:2: kw= '[' this_STRING_5= RULE_STRING kw= ']'
{
kw=(Token)match(input,15,FOLLOW_15_in_ruleRecurrenceRule493);
current.merge(kw);
newLeafNode(kw, grammarAccess.getRecurrenceRuleAccess().getLeftSquareBracketKeyword_1_0());
this_STRING_5=(Token)match(input,RULE_STRING,FOLLOW_RULE_STRING_in_ruleRecurrenceRule508);
current.merge(this_STRING_5);
newLeafNode(this_STRING_5, grammarAccess.getRecurrenceRuleAccess().getSTRINGTerminalRuleCall_1_1());
kw=(Token)match(input,16,FOLLOW_16_in_ruleRecurrenceRule526);
current.merge(kw);
newLeafNode(kw, grammarAccess.getRecurrenceRuleAccess().getRightSquareBracketKeyword_1_2());
}
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRecurrenceRule"
// Delegated rules
public static final BitSet FOLLOW_ruleMessageRule_in_entryRuleMessageRule75 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleMessageRule85 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSequenceTermRule_in_ruleMessageRule131 = new BitSet(new long[]{0x0000000000003000L});
public static final BitSet FOLLOW_12_in_ruleMessageRule144 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_ruleSequenceTermRule_in_ruleMessageRule165 = new BitSet(new long[]{0x0000000000003000L});
public static final BitSet FOLLOW_13_in_ruleMessageRule179 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_RULE_NAMERULE_in_ruleMessageRule196 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleSequenceTermRule_in_entryRuleSequenceTermRule237 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleSequenceTermRule247 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_RULE_INT_in_ruleSequenceTermRule289 = new BitSet(new long[]{0x000000000000C042L});
public static final BitSet FOLLOW_RULE_ID_in_ruleSequenceTermRule311 = new BitSet(new long[]{0x000000000000C002L});
public static final BitSet FOLLOW_ruleRecurrenceRule_in_ruleSequenceTermRule338 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ruleRecurrenceRule_in_entryRuleRecurrenceRule376 = new BitSet(new long[]{0x0000000000000000L});
public static final BitSet FOLLOW_EOF_in_entryRuleRecurrenceRule387 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_14_in_ruleRecurrenceRule426 = new BitSet(new long[]{0x0000000000008000L});
public static final BitSet FOLLOW_15_in_ruleRecurrenceRule439 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_RULE_STRING_in_ruleRecurrenceRule454 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_16_in_ruleRecurrenceRule472 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_15_in_ruleRecurrenceRule493 = new BitSet(new long[]{0x0000000000000080L});
public static final BitSet FOLLOW_RULE_STRING_in_ruleRecurrenceRule508 = new BitSet(new long[]{0x0000000000010000L});
public static final BitSet FOLLOW_16_in_ruleRecurrenceRule526 = new BitSet(new long[]{0x0000000000000002L});
}