InternalReqSpecParser.java
package org.osate.reqspec.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.osate.reqspec.services.ReqSpecGrammarAccess;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.HashMap;
/**
* Copyright (c) 2004-2025 Carnegie Mellon University and others. (see Contributors file).
* All Rights Reserved.
*
* NO WARRANTY. ALL MATERIAL IS FURNISHED ON AN "AS-IS" BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY
* KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE
* OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT
* MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.
*
* This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
* SPDX-License-Identifier: EPL-2.0
*
* Created, in part, with funding and support from the United States Government. (see Acknowledgments file).
*
* This program includes and/or can make use of certain third party source code, object code, documentation and other
* files ("Third Party Software"). The Third Party Software that is used by this program is dependent upon your system
* configuration. By using this program, You agree to comply with any and all relevant Third Party Software terms and
* conditions contained in any such Third Party Software or separate license file distributed with such Third Party
* Software. The parties who own the Third Party Software ("Third Party Licensors") are intended third party benefici-
* aries to this license with respect to the terms applicable to their Third Party Software. Third Party Software li-
* censes only apply to the Third Party Software and not any other portion of this program or this program as a whole.
*/
@SuppressWarnings("all")
public class InternalReqSpecParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_STRING", "RULE_ID", "RULE_INT", "RULE_REAL_LIT", "RULE_DIGIT", "RULE_EXPONENT", "RULE_INT_EXPONENT", "RULE_EXTENDED_DIGIT", "RULE_BASED_INTEGER", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'constants'", "'['", "']'", "'stakeholder'", "'goals'", "':'", "'for'", "'use'", "'see'", "'document'", "'issues'", "'section'", "'system'", "'requirements'", "'global'", "'goal'", "'category'", "'refines'", "'conflicts'", "'with'", "'evolves'", "'dropped'", "'requirement'", "'mitigates'", "'inherits'", "'decomposes'", "'development'", "'include'", "'self'", "'when'", "'in'", "'mode'", "','", "'error'", "'state'", "'('", "')'", "'informal'", "'predicate'", "'value'", "'upto'", "'downto'", "'#'", "'val'", "'typeof'", "'='", "'as'", "'/'", "'.'", "'description'", "'this'", "'rationale'", "'uncertainty'", "'volatility'", "'precedence'", "'impact'", "'boolean'", "'integer'", "'units'", "'real'", "'string'", "'model'", "'element'", "'compute'", "'%'", "'img'", "'or'", "'||'", "'and'", "'&&'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'><'", "'+'", "'-'", "'*'", "'div'", "'mod'", "'not'", "'..'", "'delta'", "'if'", "'then'", "'else'", "'endif'", "'true'", "'false'", "'abstract'", "'bus'", "'data'", "'device'", "'memory'", "'process'", "'processor'", "'subprogram'", "'group'", "'thread'", "'virtual'", "'::'", "'component'", "'feature'", "'connection'", "'flow'", "'root'"
};
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=5;
public static final int RULE_DIGIT=8;
public static final int RULE_INT=6;
public static final int T__66=66;
public static final int RULE_ML_COMMENT=13;
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 RULE_REAL_LIT=7;
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 RULE_EXPONENT=9;
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 RULE_EXTENDED_DIGIT=11;
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_INT_EXPONENT=10;
public static final int T__19=19;
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__95=95;
public static final int T__96=96;
public static final int RULE_BASED_INTEGER=12;
public static final int T__97=97;
public static final int T__98=98;
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__122=122;
public static final int T__70=70;
public static final int T__121=121;
public static final int T__71=71;
public static final int T__124=124;
public static final int T__72=72;
public static final int T__123=123;
public static final int T__120=120;
public static final int RULE_STRING=4;
public static final int RULE_SL_COMMENT=14;
public static final int T__77=77;
public static final int T__119=119;
public static final int T__78=78;
public static final int T__118=118;
public static final int T__79=79;
public static final int T__73=73;
public static final int T__115=115;
public static final int EOF=-1;
public static final int T__74=74;
public static final int T__114=114;
public static final int T__75=75;
public static final int T__117=117;
public static final int T__76=76;
public static final int T__116=116;
public static final int T__80=80;
public static final int T__111=111;
public static final int T__81=81;
public static final int T__110=110;
public static final int T__82=82;
public static final int T__113=113;
public static final int T__83=83;
public static final int T__112=112;
public static final int RULE_WS=15;
public static final int RULE_ANY_OTHER=16;
public static final int T__88=88;
public static final int T__108=108;
public static final int T__89=89;
public static final int T__107=107;
public static final int T__109=109;
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 InternalReqSpecParser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public InternalReqSpecParser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
public String[] getTokenNames() { return InternalReqSpecParser.tokenNames; }
public String getGrammarFileName() { return "InternalReqSpec.g"; }
private ReqSpecGrammarAccess grammarAccess;
public InternalReqSpecParser(TokenStream input, ReqSpecGrammarAccess grammarAccess) {
this(input);
this.grammarAccess = grammarAccess;
registerRules(grammarAccess.getGrammar());
}
@Override
protected String getFirstRuleName() {
return "ReqSpec";
}
@Override
protected ReqSpecGrammarAccess getGrammarAccess() {
return grammarAccess;
}
// $ANTLR start "entryRuleReqSpec"
// InternalReqSpec.g:85:1: entryRuleReqSpec returns [EObject current=null] : iv_ruleReqSpec= ruleReqSpec EOF ;
public final EObject entryRuleReqSpec() throws RecognitionException {
EObject current = null;
EObject iv_ruleReqSpec = null;
try {
// InternalReqSpec.g:85:48: (iv_ruleReqSpec= ruleReqSpec EOF )
// InternalReqSpec.g:86:2: iv_ruleReqSpec= ruleReqSpec EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqSpecRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleReqSpec=ruleReqSpec();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleReqSpec;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleReqSpec"
// $ANTLR start "ruleReqSpec"
// InternalReqSpec.g:92:1: ruleReqSpec returns [EObject current=null] : ( ( (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants ) ) )+ ;
public final EObject ruleReqSpec() throws RecognitionException {
EObject current = null;
EObject lv_parts_0_1 = null;
EObject lv_parts_0_2 = null;
EObject lv_parts_0_3 = null;
EObject lv_parts_0_4 = null;
EObject lv_parts_0_5 = null;
enterRule();
try {
// InternalReqSpec.g:98:2: ( ( ( (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants ) ) )+ )
// InternalReqSpec.g:99:2: ( ( (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants ) ) )+
{
// InternalReqSpec.g:99:2: ( ( (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants ) ) )+
int cnt2=0;
loop2:
do {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==17||LA2_0==20||LA2_0==26||LA2_0==29||LA2_0==31) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// InternalReqSpec.g:100:3: ( (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants ) )
{
// InternalReqSpec.g:100:3: ( (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants ) )
// InternalReqSpec.g:101:4: (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants )
{
// InternalReqSpec.g:101:4: (lv_parts_0_1= ruleSystemRequirementSet | lv_parts_0_2= ruleGlobalRequirementSet | lv_parts_0_3= ruleStakeholderGoals | lv_parts_0_4= ruleReqDocument | lv_parts_0_5= ruleGlobalConstants )
int alt1=5;
switch ( input.LA(1) ) {
case 29:
{
alt1=1;
}
break;
case 31:
{
alt1=2;
}
break;
case 20:
{
alt1=3;
}
break;
case 26:
{
alt1=4;
}
break;
case 17:
{
alt1=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// InternalReqSpec.g:102:5: lv_parts_0_1= ruleSystemRequirementSet
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqSpecAccess().getPartsSystemRequirementSetParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_parts_0_1=ruleSystemRequirementSet();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqSpecRule());
}
add(
current,
"parts",
lv_parts_0_1,
"org.osate.reqspec.ReqSpec.SystemRequirementSet");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalReqSpec.g:118:5: lv_parts_0_2= ruleGlobalRequirementSet
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqSpecAccess().getPartsGlobalRequirementSetParserRuleCall_0_1());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_parts_0_2=ruleGlobalRequirementSet();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqSpecRule());
}
add(
current,
"parts",
lv_parts_0_2,
"org.osate.reqspec.ReqSpec.GlobalRequirementSet");
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalReqSpec.g:134:5: lv_parts_0_3= ruleStakeholderGoals
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqSpecAccess().getPartsStakeholderGoalsParserRuleCall_0_2());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_parts_0_3=ruleStakeholderGoals();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqSpecRule());
}
add(
current,
"parts",
lv_parts_0_3,
"org.osate.reqspec.ReqSpec.StakeholderGoals");
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalReqSpec.g:150:5: lv_parts_0_4= ruleReqDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqSpecAccess().getPartsReqDocumentParserRuleCall_0_3());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_parts_0_4=ruleReqDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqSpecRule());
}
add(
current,
"parts",
lv_parts_0_4,
"org.osate.reqspec.ReqSpec.ReqDocument");
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalReqSpec.g:166:5: lv_parts_0_5= ruleGlobalConstants
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqSpecAccess().getPartsGlobalConstantsParserRuleCall_0_4());
}
pushFollow(FollowSets000.FOLLOW_3);
lv_parts_0_5=ruleGlobalConstants();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqSpecRule());
}
add(
current,
"parts",
lv_parts_0_5,
"org.osate.reqspec.ReqSpec.GlobalConstants");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
break;
default :
if ( cnt2 >= 1 ) break loop2;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(2, input);
throw eee;
}
cnt2++;
} while (true);
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleReqSpec"
// $ANTLR start "entryRuleGlobalConstants"
// InternalReqSpec.g:187:1: entryRuleGlobalConstants returns [EObject current=null] : iv_ruleGlobalConstants= ruleGlobalConstants EOF ;
public final EObject entryRuleGlobalConstants() throws RecognitionException {
EObject current = null;
EObject iv_ruleGlobalConstants = null;
try {
// InternalReqSpec.g:187:56: (iv_ruleGlobalConstants= ruleGlobalConstants EOF )
// InternalReqSpec.g:188:2: iv_ruleGlobalConstants= ruleGlobalConstants EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalConstantsRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleGlobalConstants=ruleGlobalConstants();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleGlobalConstants;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGlobalConstants"
// $ANTLR start "ruleGlobalConstants"
// InternalReqSpec.g:194:1: ruleGlobalConstants returns [EObject current=null] : (otherlv_0= 'constants' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '[' ( (lv_constants_3_0= ruleValDeclaration ) )* otherlv_4= ']' ) ;
public final EObject ruleGlobalConstants() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token otherlv_4=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_constants_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:200:2: ( (otherlv_0= 'constants' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '[' ( (lv_constants_3_0= ruleValDeclaration ) )* otherlv_4= ']' ) )
// InternalReqSpec.g:201:2: (otherlv_0= 'constants' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '[' ( (lv_constants_3_0= ruleValDeclaration ) )* otherlv_4= ']' )
{
// InternalReqSpec.g:201:2: (otherlv_0= 'constants' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '[' ( (lv_constants_3_0= ruleValDeclaration ) )* otherlv_4= ']' )
// InternalReqSpec.g:202:3: otherlv_0= 'constants' ( (lv_name_1_0= ruleQualifiedName ) ) otherlv_2= '[' ( (lv_constants_3_0= ruleValDeclaration ) )* otherlv_4= ']'
{
otherlv_0=(Token)match(input,17,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getGlobalConstantsAccess().getConstantsKeyword_0());
}
// InternalReqSpec.g:206:3: ( (lv_name_1_0= ruleQualifiedName ) )
// InternalReqSpec.g:207:4: (lv_name_1_0= ruleQualifiedName )
{
// InternalReqSpec.g:207:4: (lv_name_1_0= ruleQualifiedName )
// InternalReqSpec.g:208:5: lv_name_1_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalConstantsAccess().getNameQualifiedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_name_1_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalConstantsRule());
}
set(
current,
"name",
lv_name_1_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_6); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getGlobalConstantsAccess().getLeftSquareBracketKeyword_2());
}
// InternalReqSpec.g:229:3: ( (lv_constants_3_0= ruleValDeclaration ) )*
loop3:
do {
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==60) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// InternalReqSpec.g:230:4: (lv_constants_3_0= ruleValDeclaration )
{
// InternalReqSpec.g:230:4: (lv_constants_3_0= ruleValDeclaration )
// InternalReqSpec.g:231:5: lv_constants_3_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalConstantsAccess().getConstantsValDeclarationParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_6);
lv_constants_3_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalConstantsRule());
}
add(
current,
"constants",
lv_constants_3_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
break loop3;
}
} while (true);
otherlv_4=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getGlobalConstantsAccess().getRightSquareBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGlobalConstants"
// $ANTLR start "entryRuleStakeholderGoals"
// InternalReqSpec.g:256:1: entryRuleStakeholderGoals returns [EObject current=null] : iv_ruleStakeholderGoals= ruleStakeholderGoals EOF ;
public final EObject entryRuleStakeholderGoals() throws RecognitionException {
EObject current = null;
EObject iv_ruleStakeholderGoals = null;
try {
// InternalReqSpec.g:256:57: (iv_ruleStakeholderGoals= ruleStakeholderGoals EOF )
// InternalReqSpec.g:257:2: iv_ruleStakeholderGoals= ruleStakeholderGoals EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStakeholderGoals=ruleStakeholderGoals();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStakeholderGoals;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStakeholderGoals"
// $ANTLR start "ruleStakeholderGoals"
// InternalReqSpec.g:263:1: ruleStakeholderGoals returns [EObject current=null] : (otherlv_0= 'stakeholder' otherlv_1= 'goals' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) ) )? (otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_21= ']' ) ;
public final EObject ruleStakeholderGoals() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
Token lv_title_4_0=null;
Token otherlv_5=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_16=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token lv_issues_20_0=null;
Token otherlv_21=null;
AntlrDatatypeRuleToken lv_name_2_0 = null;
AntlrDatatypeRuleToken lv_componentCategory_7_0 = null;
EObject lv_description_13_0 = null;
EObject lv_constants_14_0 = null;
EObject lv_goals_15_0 = null;
EObject lv_docReference_18_0 = null;
enterRule();
try {
// InternalReqSpec.g:269:2: ( (otherlv_0= 'stakeholder' otherlv_1= 'goals' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) ) )? (otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_21= ']' ) )
// InternalReqSpec.g:270:2: (otherlv_0= 'stakeholder' otherlv_1= 'goals' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) ) )? (otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_21= ']' )
{
// InternalReqSpec.g:270:2: (otherlv_0= 'stakeholder' otherlv_1= 'goals' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) ) )? (otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_21= ']' )
// InternalReqSpec.g:271:3: otherlv_0= 'stakeholder' otherlv_1= 'goals' ( (lv_name_2_0= ruleQualifiedName ) ) (otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) ) )? (otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_21= ']'
{
otherlv_0=(Token)match(input,20,FollowSets000.FOLLOW_7); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getStakeholderGoalsAccess().getStakeholderKeyword_0());
}
otherlv_1=(Token)match(input,21,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getStakeholderGoalsAccess().getGoalsKeyword_1());
}
// InternalReqSpec.g:279:3: ( (lv_name_2_0= ruleQualifiedName ) )
// InternalReqSpec.g:280:4: (lv_name_2_0= ruleQualifiedName )
{
// InternalReqSpec.g:280:4: (lv_name_2_0= ruleQualifiedName )
// InternalReqSpec.g:281:5: lv_name_2_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getNameQualifiedNameParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_8);
lv_name_2_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStakeholderGoalsRule());
}
set(
current,
"name",
lv_name_2_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:298:3: (otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) ) )?
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==22) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// InternalReqSpec.g:299:4: otherlv_3= ':' ( (lv_title_4_0= RULE_STRING ) )
{
otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getStakeholderGoalsAccess().getColonKeyword_3_0());
}
// InternalReqSpec.g:303:4: ( (lv_title_4_0= RULE_STRING ) )
// InternalReqSpec.g:304:5: (lv_title_4_0= RULE_STRING )
{
// InternalReqSpec.g:304:5: (lv_title_4_0= RULE_STRING )
// InternalReqSpec.g:305:6: lv_title_4_0= RULE_STRING
{
lv_title_4_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_4_0, grammarAccess.getStakeholderGoalsAccess().getTitleSTRINGTerminalRuleCall_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStakeholderGoalsRule());
}
setWithLastConsumed(
current,
"title",
lv_title_4_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:322:3: (otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ ) )
// InternalReqSpec.g:323:4: otherlv_5= 'for' ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ )
{
otherlv_5=(Token)match(input,23,FollowSets000.FOLLOW_11); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getStakeholderGoalsAccess().getForKeyword_4_0());
}
// InternalReqSpec.g:327:4: ( ( ( ruleAadlClassifierReference ) ) | ( (lv_componentCategory_7_0= ruleComponentCategory ) )+ )
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==RULE_ID) ) {
alt6=1;
}
else if ( (LA6_0==29||(LA6_0>=108 && LA6_0<=115)||(LA6_0>=117 && LA6_0<=118)) ) {
alt6=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 6, 0, input);
throw nvae;
}
switch (alt6) {
case 1 :
// InternalReqSpec.g:328:5: ( ( ruleAadlClassifierReference ) )
{
// InternalReqSpec.g:328:5: ( ( ruleAadlClassifierReference ) )
// InternalReqSpec.g:329:6: ( ruleAadlClassifierReference )
{
// InternalReqSpec.g:329:6: ( ruleAadlClassifierReference )
// InternalReqSpec.g:330:7: ruleAadlClassifierReference
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStakeholderGoalsRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getTargetComponentClassifierCrossReference_4_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_12);
ruleAadlClassifierReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:345:5: ( (lv_componentCategory_7_0= ruleComponentCategory ) )+
{
// InternalReqSpec.g:345:5: ( (lv_componentCategory_7_0= ruleComponentCategory ) )+
int cnt5=0;
loop5:
do {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==29||(LA5_0>=108 && LA5_0<=115)||(LA5_0>=117 && LA5_0<=118)) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// InternalReqSpec.g:346:6: (lv_componentCategory_7_0= ruleComponentCategory )
{
// InternalReqSpec.g:346:6: (lv_componentCategory_7_0= ruleComponentCategory )
// InternalReqSpec.g:347:7: lv_componentCategory_7_0= ruleComponentCategory
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getComponentCategoryComponentCategoryParserRuleCall_4_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_13);
lv_componentCategory_7_0=ruleComponentCategory();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStakeholderGoalsRule());
}
add(
current,
"componentCategory",
lv_componentCategory_7_0,
"org.osate.alisa.common.Common.ComponentCategory");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt5 >= 1 ) break loop5;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(5, input);
throw eee;
}
cnt5++;
} while (true);
}
break;
}
}
// InternalReqSpec.g:366:3: (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )?
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==24) ) {
alt8=1;
}
switch (alt8) {
case 1 :
// InternalReqSpec.g:367:4: otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+
{
otherlv_8=(Token)match(input,24,FollowSets000.FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getStakeholderGoalsAccess().getUseKeyword_5_0());
}
otherlv_9=(Token)match(input,17,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getStakeholderGoalsAccess().getConstantsKeyword_5_1());
}
// InternalReqSpec.g:375:4: ( ( ruleQualifiedName ) )+
int cnt7=0;
loop7:
do {
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==RULE_ID) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// InternalReqSpec.g:376:5: ( ruleQualifiedName )
{
// InternalReqSpec.g:376:5: ( ruleQualifiedName )
// InternalReqSpec.g:377:6: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStakeholderGoalsRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getImportConstantsGlobalConstantsCrossReference_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_15);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt7 >= 1 ) break loop7;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(7, input);
throw eee;
}
cnt7++;
} while (true);
}
break;
}
otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_16); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getStakeholderGoalsAccess().getLeftSquareBracketKeyword_6());
}
// InternalReqSpec.g:396:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) ) )
// InternalReqSpec.g:397:4: ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) )
{
// InternalReqSpec.g:397:4: ( ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* ) )
// InternalReqSpec.g:398:5: ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
// InternalReqSpec.g:401:5: ( ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )* )
// InternalReqSpec.g:402:6: ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )*
{
// InternalReqSpec.g:402:6: ( ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) ) )*
loop13:
do {
int alt13=6;
int LA13_0 = input.LA(1);
if ( LA13_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 0) ) {
alt13=1;
}
else if ( LA13_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 1) ) {
alt13=2;
}
else if ( LA13_0 == 32 && getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 2) ) {
alt13=3;
}
else if ( LA13_0 == 25 && getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 3) ) {
alt13=4;
}
else if ( LA13_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 4) ) {
alt13=5;
}
switch (alt13) {
case 1 :
// InternalReqSpec.g:403:4: ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:403:4: ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:404:5: {...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 0)");
}
// InternalReqSpec.g:404:113: ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) )
// InternalReqSpec.g:405:6: ({...}? => ( (lv_description_13_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 0);
// InternalReqSpec.g:408:9: ({...}? => ( (lv_description_13_0= ruleDescription ) ) )
// InternalReqSpec.g:408:10: {...}? => ( (lv_description_13_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "true");
}
// InternalReqSpec.g:408:19: ( (lv_description_13_0= ruleDescription ) )
// InternalReqSpec.g:408:20: (lv_description_13_0= ruleDescription )
{
// InternalReqSpec.g:408:20: (lv_description_13_0= ruleDescription )
// InternalReqSpec.g:409:10: lv_description_13_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getDescriptionDescriptionParserRuleCall_7_0_0());
}
pushFollow(FollowSets000.FOLLOW_16);
lv_description_13_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStakeholderGoalsRule());
}
set(
current,
"description",
lv_description_13_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
}
}
}
break;
case 2 :
// InternalReqSpec.g:431:4: ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:431:4: ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) )
// InternalReqSpec.g:432:5: {...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 1)");
}
// InternalReqSpec.g:432:113: ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ )
// InternalReqSpec.g:433:6: ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 1);
// InternalReqSpec.g:436:9: ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+
int cnt9=0;
loop9:
do {
int alt9=2;
int LA9_0 = input.LA(1);
if ( (LA9_0==60) ) {
int LA9_2 = input.LA(2);
if ( ((true)) ) {
alt9=1;
}
}
switch (alt9) {
case 1 :
// InternalReqSpec.g:436:10: {...}? => ( (lv_constants_14_0= ruleValDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "true");
}
// InternalReqSpec.g:436:19: ( (lv_constants_14_0= ruleValDeclaration ) )
// InternalReqSpec.g:436:20: (lv_constants_14_0= ruleValDeclaration )
{
// InternalReqSpec.g:436:20: (lv_constants_14_0= ruleValDeclaration )
// InternalReqSpec.g:437:10: lv_constants_14_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getConstantsValDeclarationParserRuleCall_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_16);
lv_constants_14_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStakeholderGoalsRule());
}
add(
current,
"constants",
lv_constants_14_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt9 >= 1 ) break loop9;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(9, input);
throw eee;
}
cnt9++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
}
}
}
break;
case 3 :
// InternalReqSpec.g:459:4: ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) )
{
// InternalReqSpec.g:459:4: ({...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ ) )
// InternalReqSpec.g:460:5: {...}? => ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 2)");
}
// InternalReqSpec.g:460:113: ( ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+ )
// InternalReqSpec.g:461:6: ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 2);
// InternalReqSpec.g:464:9: ({...}? => ( (lv_goals_15_0= ruleGoal ) ) )+
int cnt10=0;
loop10:
do {
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==32) ) {
int LA10_2 = input.LA(2);
if ( ((true)) ) {
alt10=1;
}
}
switch (alt10) {
case 1 :
// InternalReqSpec.g:464:10: {...}? => ( (lv_goals_15_0= ruleGoal ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "true");
}
// InternalReqSpec.g:464:19: ( (lv_goals_15_0= ruleGoal ) )
// InternalReqSpec.g:464:20: (lv_goals_15_0= ruleGoal )
{
// InternalReqSpec.g:464:20: (lv_goals_15_0= ruleGoal )
// InternalReqSpec.g:465:10: lv_goals_15_0= ruleGoal
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getGoalsGoalParserRuleCall_7_2_0());
}
pushFollow(FollowSets000.FOLLOW_16);
lv_goals_15_0=ruleGoal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStakeholderGoalsRule());
}
add(
current,
"goals",
lv_goals_15_0,
"org.osate.reqspec.ReqSpec.Goal");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt10 >= 1 ) break loop10;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(10, input);
throw eee;
}
cnt10++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
}
}
}
break;
case 4 :
// InternalReqSpec.g:487:4: ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) )
{
// InternalReqSpec.g:487:4: ({...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) ) )
// InternalReqSpec.g:488:5: {...}? => ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 3)");
}
// InternalReqSpec.g:488:113: ( ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) ) )
// InternalReqSpec.g:489:6: ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 3);
// InternalReqSpec.g:492:9: ({...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ ) )
// InternalReqSpec.g:492:10: {...}? => (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "true");
}
// InternalReqSpec.g:492:19: (otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:492:20: otherlv_16= 'see' otherlv_17= 'document' ( (lv_docReference_18_0= ruleExternalDocument ) )+
{
otherlv_16=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_16, grammarAccess.getStakeholderGoalsAccess().getSeeKeyword_7_3_0());
}
otherlv_17=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getStakeholderGoalsAccess().getDocumentKeyword_7_3_1());
}
// InternalReqSpec.g:500:9: ( (lv_docReference_18_0= ruleExternalDocument ) )+
int cnt11=0;
loop11:
do {
int alt11=2;
int LA11_0 = input.LA(1);
if ( (LA11_0==RULE_ID) ) {
alt11=1;
}
switch (alt11) {
case 1 :
// InternalReqSpec.g:501:10: (lv_docReference_18_0= ruleExternalDocument )
{
// InternalReqSpec.g:501:10: (lv_docReference_18_0= ruleExternalDocument )
// InternalReqSpec.g:502:11: lv_docReference_18_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStakeholderGoalsAccess().getDocReferenceExternalDocumentParserRuleCall_7_3_2_0());
}
pushFollow(FollowSets000.FOLLOW_18);
lv_docReference_18_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStakeholderGoalsRule());
}
add(
current,
"docReference",
lv_docReference_18_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt11 >= 1 ) break loop11;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(11, input);
throw eee;
}
cnt11++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
}
}
}
break;
case 5 :
// InternalReqSpec.g:525:4: ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) )
{
// InternalReqSpec.g:525:4: ({...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) ) )
// InternalReqSpec.g:526:5: {...}? => ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "getUnorderedGroupHelper().canSelect(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 4)");
}
// InternalReqSpec.g:526:113: ( ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) ) )
// InternalReqSpec.g:527:6: ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7(), 4);
// InternalReqSpec.g:530:9: ({...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ ) )
// InternalReqSpec.g:530:10: {...}? => (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleStakeholderGoals", "true");
}
// InternalReqSpec.g:530:19: (otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+ )
// InternalReqSpec.g:530:20: otherlv_19= 'issues' ( (lv_issues_20_0= RULE_STRING ) )+
{
otherlv_19=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getStakeholderGoalsAccess().getIssuesKeyword_7_4_0());
}
// InternalReqSpec.g:534:9: ( (lv_issues_20_0= RULE_STRING ) )+
int cnt12=0;
loop12:
do {
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==RULE_STRING) ) {
alt12=1;
}
switch (alt12) {
case 1 :
// InternalReqSpec.g:535:10: (lv_issues_20_0= RULE_STRING )
{
// InternalReqSpec.g:535:10: (lv_issues_20_0= RULE_STRING )
// InternalReqSpec.g:536:11: lv_issues_20_0= RULE_STRING
{
lv_issues_20_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_19); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_20_0, grammarAccess.getStakeholderGoalsAccess().getIssuesSTRINGTerminalRuleCall_7_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getStakeholderGoalsRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_20_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt12 >= 1 ) break loop12;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(12, input);
throw eee;
}
cnt12++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
}
}
}
break;
default :
break loop13;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getStakeholderGoalsAccess().getUnorderedGroup_7());
}
otherlv_21=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getStakeholderGoalsAccess().getRightSquareBracketKeyword_8());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStakeholderGoals"
// $ANTLR start "entryRuleReqDocument"
// InternalReqSpec.g:573:1: entryRuleReqDocument returns [EObject current=null] : iv_ruleReqDocument= ruleReqDocument EOF ;
public final EObject entryRuleReqDocument() throws RecognitionException {
EObject current = null;
EObject iv_ruleReqDocument = null;
try {
// InternalReqSpec.g:573:52: (iv_ruleReqDocument= ruleReqDocument EOF )
// InternalReqSpec.g:574:2: iv_ruleReqDocument= ruleReqDocument EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleReqDocument=ruleReqDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleReqDocument;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleReqDocument"
// $ANTLR start "ruleReqDocument"
// InternalReqSpec.g:580:1: ruleReqDocument returns [EObject current=null] : (otherlv_0= 'document' ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? otherlv_4= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_13= ']' ) ;
public final EObject ruleReqDocument() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token otherlv_4=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token lv_issues_12_0=null;
Token otherlv_13=null;
AntlrDatatypeRuleToken lv_name_1_0 = null;
EObject lv_description_6_0 = null;
EObject lv_content_7_1 = null;
EObject lv_content_7_2 = null;
EObject lv_content_7_3 = null;
EObject lv_docReference_10_0 = null;
enterRule();
try {
// InternalReqSpec.g:586:2: ( (otherlv_0= 'document' ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? otherlv_4= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_13= ']' ) )
// InternalReqSpec.g:587:2: (otherlv_0= 'document' ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? otherlv_4= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_13= ']' )
{
// InternalReqSpec.g:587:2: (otherlv_0= 'document' ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? otherlv_4= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_13= ']' )
// InternalReqSpec.g:588:3: otherlv_0= 'document' ( (lv_name_1_0= ruleQualifiedName ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? otherlv_4= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_13= ']'
{
otherlv_0=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getReqDocumentAccess().getDocumentKeyword_0());
}
// InternalReqSpec.g:592:3: ( (lv_name_1_0= ruleQualifiedName ) )
// InternalReqSpec.g:593:4: (lv_name_1_0= ruleQualifiedName )
{
// InternalReqSpec.g:593:4: (lv_name_1_0= ruleQualifiedName )
// InternalReqSpec.g:594:5: lv_name_1_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentAccess().getNameQualifiedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_20);
lv_name_1_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqDocumentRule());
}
set(
current,
"name",
lv_name_1_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:611:3: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==22) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// InternalReqSpec.g:612:4: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getReqDocumentAccess().getColonKeyword_2_0());
}
// InternalReqSpec.g:616:4: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:617:5: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:617:5: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:618:6: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getReqDocumentAccess().getTitleSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReqDocumentRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
otherlv_4=(Token)match(input,18,FollowSets000.FOLLOW_21); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getReqDocumentAccess().getLeftSquareBracketKeyword_3());
}
// InternalReqSpec.g:639:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) ) )
// InternalReqSpec.g:640:4: ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) )
{
// InternalReqSpec.g:640:4: ( ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* ) )
// InternalReqSpec.g:641:5: ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4());
// InternalReqSpec.g:644:5: ( ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )* )
// InternalReqSpec.g:645:6: ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )*
{
// InternalReqSpec.g:645:6: ( ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) ) | ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) ) )*
loop19:
do {
int alt19=5;
int LA19_0 = input.LA(1);
if ( LA19_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 0) ) {
alt19=1;
}
else if ( ( LA19_0 == 28 || LA19_0 == 32 || LA19_0 == 39 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 1) ) {
alt19=2;
}
else if ( LA19_0 == 25 && getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 2) ) {
alt19=3;
}
else if ( LA19_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 3) ) {
alt19=4;
}
switch (alt19) {
case 1 :
// InternalReqSpec.g:646:4: ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:646:4: ({...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:647:5: {...}? => ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 0)");
}
// InternalReqSpec.g:647:108: ( ({...}? => ( (lv_description_6_0= ruleDescription ) ) ) )
// InternalReqSpec.g:648:6: ({...}? => ( (lv_description_6_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 0);
// InternalReqSpec.g:651:9: ({...}? => ( (lv_description_6_0= ruleDescription ) ) )
// InternalReqSpec.g:651:10: {...}? => ( (lv_description_6_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "true");
}
// InternalReqSpec.g:651:19: ( (lv_description_6_0= ruleDescription ) )
// InternalReqSpec.g:651:20: (lv_description_6_0= ruleDescription )
{
// InternalReqSpec.g:651:20: (lv_description_6_0= ruleDescription )
// InternalReqSpec.g:652:10: lv_description_6_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentAccess().getDescriptionDescriptionParserRuleCall_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_description_6_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqDocumentRule());
}
set(
current,
"description",
lv_description_6_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4());
}
}
}
break;
case 2 :
// InternalReqSpec.g:674:4: ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) )
{
// InternalReqSpec.g:674:4: ({...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ ) )
// InternalReqSpec.g:675:5: {...}? => ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 1)");
}
// InternalReqSpec.g:675:108: ( ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+ )
// InternalReqSpec.g:676:6: ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 1);
// InternalReqSpec.g:679:9: ({...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) ) )+
int cnt16=0;
loop16:
do {
int alt16=2;
switch ( input.LA(1) ) {
case 32:
{
int LA16_2 = input.LA(2);
if ( ((true)) ) {
alt16=1;
}
}
break;
case 39:
{
int LA16_3 = input.LA(2);
if ( ((true)) ) {
alt16=1;
}
}
break;
case 28:
{
int LA16_4 = input.LA(2);
if ( ((true)) ) {
alt16=1;
}
}
break;
}
switch (alt16) {
case 1 :
// InternalReqSpec.g:679:10: {...}? => ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "true");
}
// InternalReqSpec.g:679:19: ( ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) ) )
// InternalReqSpec.g:679:20: ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) )
{
// InternalReqSpec.g:679:20: ( (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection ) )
// InternalReqSpec.g:680:10: (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection )
{
// InternalReqSpec.g:680:10: (lv_content_7_1= ruleDocGoal | lv_content_7_2= ruleDocRequirement | lv_content_7_3= ruleDocumentSection )
int alt15=3;
switch ( input.LA(1) ) {
case 32:
{
alt15=1;
}
break;
case 39:
{
alt15=2;
}
break;
case 28:
{
alt15=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 15, 0, input);
throw nvae;
}
switch (alt15) {
case 1 :
// InternalReqSpec.g:681:11: lv_content_7_1= ruleDocGoal
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentAccess().getContentDocGoalParserRuleCall_4_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_content_7_1=ruleDocGoal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqDocumentRule());
}
add(
current,
"content",
lv_content_7_1,
"org.osate.reqspec.ReqSpec.DocGoal");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalReqSpec.g:697:11: lv_content_7_2= ruleDocRequirement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentAccess().getContentDocRequirementParserRuleCall_4_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_content_7_2=ruleDocRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqDocumentRule());
}
add(
current,
"content",
lv_content_7_2,
"org.osate.reqspec.ReqSpec.DocRequirement");
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalReqSpec.g:713:11: lv_content_7_3= ruleDocumentSection
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentAccess().getContentDocumentSectionParserRuleCall_4_1_0_2());
}
pushFollow(FollowSets000.FOLLOW_21);
lv_content_7_3=ruleDocumentSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqDocumentRule());
}
add(
current,
"content",
lv_content_7_3,
"org.osate.reqspec.ReqSpec.DocumentSection");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
}
break;
default :
if ( cnt16 >= 1 ) break loop16;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(16, input);
throw eee;
}
cnt16++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4());
}
}
}
break;
case 3 :
// InternalReqSpec.g:736:4: ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) )
{
// InternalReqSpec.g:736:4: ({...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) ) )
// InternalReqSpec.g:737:5: {...}? => ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 2)");
}
// InternalReqSpec.g:737:108: ( ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) ) )
// InternalReqSpec.g:738:6: ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 2);
// InternalReqSpec.g:741:9: ({...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ ) )
// InternalReqSpec.g:741:10: {...}? => (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "true");
}
// InternalReqSpec.g:741:19: (otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:741:20: otherlv_8= 'see' otherlv_9= 'document' ( (lv_docReference_10_0= ruleExternalDocument ) )+
{
otherlv_8=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getReqDocumentAccess().getSeeKeyword_4_2_0());
}
otherlv_9=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getReqDocumentAccess().getDocumentKeyword_4_2_1());
}
// InternalReqSpec.g:749:9: ( (lv_docReference_10_0= ruleExternalDocument ) )+
int cnt17=0;
loop17:
do {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==RULE_ID) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// InternalReqSpec.g:750:10: (lv_docReference_10_0= ruleExternalDocument )
{
// InternalReqSpec.g:750:10: (lv_docReference_10_0= ruleExternalDocument )
// InternalReqSpec.g:751:11: lv_docReference_10_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqDocumentAccess().getDocReferenceExternalDocumentParserRuleCall_4_2_2_0());
}
pushFollow(FollowSets000.FOLLOW_22);
lv_docReference_10_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getReqDocumentRule());
}
add(
current,
"docReference",
lv_docReference_10_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt17 >= 1 ) break loop17;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(17, input);
throw eee;
}
cnt17++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4());
}
}
}
break;
case 4 :
// InternalReqSpec.g:774:4: ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) )
{
// InternalReqSpec.g:774:4: ({...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) ) )
// InternalReqSpec.g:775:5: {...}? => ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "getUnorderedGroupHelper().canSelect(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 3)");
}
// InternalReqSpec.g:775:108: ( ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) ) )
// InternalReqSpec.g:776:6: ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4(), 3);
// InternalReqSpec.g:779:9: ({...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ ) )
// InternalReqSpec.g:779:10: {...}? => (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleReqDocument", "true");
}
// InternalReqSpec.g:779:19: (otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+ )
// InternalReqSpec.g:779:20: otherlv_11= 'issues' ( (lv_issues_12_0= RULE_STRING ) )+
{
otherlv_11=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getReqDocumentAccess().getIssuesKeyword_4_3_0());
}
// InternalReqSpec.g:783:9: ( (lv_issues_12_0= RULE_STRING ) )+
int cnt18=0;
loop18:
do {
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==RULE_STRING) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// InternalReqSpec.g:784:10: (lv_issues_12_0= RULE_STRING )
{
// InternalReqSpec.g:784:10: (lv_issues_12_0= RULE_STRING )
// InternalReqSpec.g:785:11: lv_issues_12_0= RULE_STRING
{
lv_issues_12_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_23); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_12_0, grammarAccess.getReqDocumentAccess().getIssuesSTRINGTerminalRuleCall_4_3_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getReqDocumentRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_12_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt18 >= 1 ) break loop18;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(18, input);
throw eee;
}
cnt18++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4());
}
}
}
break;
default :
break loop19;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getReqDocumentAccess().getUnorderedGroup_4());
}
otherlv_13=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getReqDocumentAccess().getRightSquareBracketKeyword_5());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleReqDocument"
// $ANTLR start "entryRuleDocumentSection"
// InternalReqSpec.g:822:1: entryRuleDocumentSection returns [EObject current=null] : iv_ruleDocumentSection= ruleDocumentSection EOF ;
public final EObject entryRuleDocumentSection() throws RecognitionException {
EObject current = null;
EObject iv_ruleDocumentSection = null;
try {
// InternalReqSpec.g:822:56: (iv_ruleDocumentSection= ruleDocumentSection EOF )
// InternalReqSpec.g:823:2: iv_ruleDocumentSection= ruleDocumentSection EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentSectionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDocumentSection=ruleDocumentSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDocumentSection;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDocumentSection"
// $ANTLR start "ruleDocumentSection"
// InternalReqSpec.g:829:1: ruleDocumentSection returns [EObject current=null] : (otherlv_0= 'section' ( ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? ) | ( (lv_title_4_0= RULE_STRING ) ) ) otherlv_5= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) ) ) otherlv_9= ']' ) ;
public final EObject ruleDocumentSection() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_label_1_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token lv_title_4_0=null;
Token otherlv_5=null;
Token otherlv_9=null;
EObject lv_description_7_0 = null;
EObject lv_content_8_1 = null;
EObject lv_content_8_2 = null;
EObject lv_content_8_3 = null;
enterRule();
try {
// InternalReqSpec.g:835:2: ( (otherlv_0= 'section' ( ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? ) | ( (lv_title_4_0= RULE_STRING ) ) ) otherlv_5= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) ) ) otherlv_9= ']' ) )
// InternalReqSpec.g:836:2: (otherlv_0= 'section' ( ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? ) | ( (lv_title_4_0= RULE_STRING ) ) ) otherlv_5= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) ) ) otherlv_9= ']' )
{
// InternalReqSpec.g:836:2: (otherlv_0= 'section' ( ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? ) | ( (lv_title_4_0= RULE_STRING ) ) ) otherlv_5= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) ) ) otherlv_9= ']' )
// InternalReqSpec.g:837:3: otherlv_0= 'section' ( ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? ) | ( (lv_title_4_0= RULE_STRING ) ) ) otherlv_5= '[' ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) ) ) otherlv_9= ']'
{
otherlv_0=(Token)match(input,28,FollowSets000.FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getDocumentSectionAccess().getSectionKeyword_0());
}
// InternalReqSpec.g:841:3: ( ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? ) | ( (lv_title_4_0= RULE_STRING ) ) )
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==RULE_ID) ) {
alt21=1;
}
else if ( (LA21_0==RULE_STRING) ) {
alt21=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// InternalReqSpec.g:842:4: ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? )
{
// InternalReqSpec.g:842:4: ( ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? )
// InternalReqSpec.g:843:5: ( (lv_label_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
{
// InternalReqSpec.g:843:5: ( (lv_label_1_0= RULE_ID ) )
// InternalReqSpec.g:844:6: (lv_label_1_0= RULE_ID )
{
// InternalReqSpec.g:844:6: (lv_label_1_0= RULE_ID )
// InternalReqSpec.g:845:7: lv_label_1_0= RULE_ID
{
lv_label_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_20); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_label_1_0, grammarAccess.getDocumentSectionAccess().getLabelIDTerminalRuleCall_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocumentSectionRule());
}
setWithLastConsumed(
current,
"label",
lv_label_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:861:5: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt20=2;
int LA20_0 = input.LA(1);
if ( (LA20_0==22) ) {
alt20=1;
}
switch (alt20) {
case 1 :
// InternalReqSpec.g:862:6: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getDocumentSectionAccess().getColonKeyword_1_0_1_0());
}
// InternalReqSpec.g:866:6: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:867:7: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:867:7: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:868:8: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getDocumentSectionAccess().getTitleSTRINGTerminalRuleCall_1_0_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocumentSectionRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalReqSpec.g:887:4: ( (lv_title_4_0= RULE_STRING ) )
{
// InternalReqSpec.g:887:4: ( (lv_title_4_0= RULE_STRING ) )
// InternalReqSpec.g:888:5: (lv_title_4_0= RULE_STRING )
{
// InternalReqSpec.g:888:5: (lv_title_4_0= RULE_STRING )
// InternalReqSpec.g:889:6: lv_title_4_0= RULE_STRING
{
lv_title_4_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_4_0, grammarAccess.getDocumentSectionAccess().getTitleSTRINGTerminalRuleCall_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocumentSectionRule());
}
setWithLastConsumed(
current,
"title",
lv_title_4_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
otherlv_5=(Token)match(input,18,FollowSets000.FOLLOW_25); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getDocumentSectionAccess().getLeftSquareBracketKeyword_2());
}
// InternalReqSpec.g:910:3: ( ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) ) )
// InternalReqSpec.g:911:4: ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) )
{
// InternalReqSpec.g:911:4: ( ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* ) )
// InternalReqSpec.g:912:5: ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3());
// InternalReqSpec.g:915:5: ( ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )* )
// InternalReqSpec.g:916:6: ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )*
{
// InternalReqSpec.g:916:6: ( ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) ) )*
loop24:
do {
int alt24=3;
int LA24_0 = input.LA(1);
if ( LA24_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 0) ) {
alt24=1;
}
else if ( ( LA24_0 == 28 || LA24_0 == 32 || LA24_0 == 39 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 1) ) {
alt24=2;
}
switch (alt24) {
case 1 :
// InternalReqSpec.g:917:4: ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:917:4: ({...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:918:5: {...}? => ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocumentSection", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 0)");
}
// InternalReqSpec.g:918:112: ( ({...}? => ( (lv_description_7_0= ruleDescription ) ) ) )
// InternalReqSpec.g:919:6: ({...}? => ( (lv_description_7_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 0);
// InternalReqSpec.g:922:9: ({...}? => ( (lv_description_7_0= ruleDescription ) ) )
// InternalReqSpec.g:922:10: {...}? => ( (lv_description_7_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocumentSection", "true");
}
// InternalReqSpec.g:922:19: ( (lv_description_7_0= ruleDescription ) )
// InternalReqSpec.g:922:20: (lv_description_7_0= ruleDescription )
{
// InternalReqSpec.g:922:20: (lv_description_7_0= ruleDescription )
// InternalReqSpec.g:923:10: lv_description_7_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentSectionAccess().getDescriptionDescriptionParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_description_7_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocumentSectionRule());
}
set(
current,
"description",
lv_description_7_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3());
}
}
}
break;
case 2 :
// InternalReqSpec.g:945:4: ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) )
{
// InternalReqSpec.g:945:4: ({...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ ) )
// InternalReqSpec.g:946:5: {...}? => ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocumentSection", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 1)");
}
// InternalReqSpec.g:946:112: ( ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+ )
// InternalReqSpec.g:947:6: ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3(), 1);
// InternalReqSpec.g:950:9: ({...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) ) )+
int cnt23=0;
loop23:
do {
int alt23=2;
switch ( input.LA(1) ) {
case 32:
{
int LA23_2 = input.LA(2);
if ( ((true)) ) {
alt23=1;
}
}
break;
case 39:
{
int LA23_3 = input.LA(2);
if ( ((true)) ) {
alt23=1;
}
}
break;
case 28:
{
int LA23_4 = input.LA(2);
if ( ((true)) ) {
alt23=1;
}
}
break;
}
switch (alt23) {
case 1 :
// InternalReqSpec.g:950:10: {...}? => ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocumentSection", "true");
}
// InternalReqSpec.g:950:19: ( ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) ) )
// InternalReqSpec.g:950:20: ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) )
{
// InternalReqSpec.g:950:20: ( (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection ) )
// InternalReqSpec.g:951:10: (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection )
{
// InternalReqSpec.g:951:10: (lv_content_8_1= ruleDocGoal | lv_content_8_2= ruleDocRequirement | lv_content_8_3= ruleDocumentSection )
int alt22=3;
switch ( input.LA(1) ) {
case 32:
{
alt22=1;
}
break;
case 39:
{
alt22=2;
}
break;
case 28:
{
alt22=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// InternalReqSpec.g:952:11: lv_content_8_1= ruleDocGoal
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentSectionAccess().getContentDocGoalParserRuleCall_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_content_8_1=ruleDocGoal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocumentSectionRule());
}
add(
current,
"content",
lv_content_8_1,
"org.osate.reqspec.ReqSpec.DocGoal");
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalReqSpec.g:968:11: lv_content_8_2= ruleDocRequirement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentSectionAccess().getContentDocRequirementParserRuleCall_3_1_0_1());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_content_8_2=ruleDocRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocumentSectionRule());
}
add(
current,
"content",
lv_content_8_2,
"org.osate.reqspec.ReqSpec.DocRequirement");
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalReqSpec.g:984:11: lv_content_8_3= ruleDocumentSection
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocumentSectionAccess().getContentDocumentSectionParserRuleCall_3_1_0_2());
}
pushFollow(FollowSets000.FOLLOW_25);
lv_content_8_3=ruleDocumentSection();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocumentSectionRule());
}
add(
current,
"content",
lv_content_8_3,
"org.osate.reqspec.ReqSpec.DocumentSection");
afterParserOrEnumRuleCall();
}
}
break;
}
}
}
}
break;
default :
if ( cnt23 >= 1 ) break loop23;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(23, input);
throw eee;
}
cnt23++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3());
}
}
}
break;
default :
break loop24;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getDocumentSectionAccess().getUnorderedGroup_3());
}
otherlv_9=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getDocumentSectionAccess().getRightSquareBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDocumentSection"
// $ANTLR start "entryRuleSystemRequirementSet"
// InternalReqSpec.g:1022:1: entryRuleSystemRequirementSet returns [EObject current=null] : iv_ruleSystemRequirementSet= ruleSystemRequirementSet EOF ;
public final EObject entryRuleSystemRequirementSet() throws RecognitionException {
EObject current = null;
EObject iv_ruleSystemRequirementSet = null;
try {
// InternalReqSpec.g:1022:61: (iv_ruleSystemRequirementSet= ruleSystemRequirementSet EOF )
// InternalReqSpec.g:1023:2: iv_ruleSystemRequirementSet= ruleSystemRequirementSet EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSystemRequirementSet=ruleSystemRequirementSet();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSystemRequirementSet;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSystemRequirementSet"
// $ANTLR start "ruleSystemRequirementSet"
// InternalReqSpec.g:1029:1: ruleSystemRequirementSet returns [EObject current=null] : ( () otherlv_1= 'system' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? otherlv_6= 'for' ( ( ruleAadlClassifierReference ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )* otherlv_25= ']' ) ;
public final EObject ruleSystemRequirementSet() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_title_5_0=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_17=null;
Token otherlv_18=null;
Token otherlv_20=null;
Token otherlv_21=null;
Token otherlv_23=null;
Token lv_issues_24_0=null;
Token otherlv_25=null;
AntlrDatatypeRuleToken lv_name_3_0 = null;
EObject lv_description_12_0 = null;
EObject lv_constants_13_0 = null;
EObject lv_computes_14_0 = null;
EObject lv_requirements_15_0 = null;
EObject lv_include_16_0 = null;
EObject lv_docReference_19_0 = null;
enterRule();
try {
// InternalReqSpec.g:1035:2: ( ( () otherlv_1= 'system' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? otherlv_6= 'for' ( ( ruleAadlClassifierReference ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )* otherlv_25= ']' ) )
// InternalReqSpec.g:1036:2: ( () otherlv_1= 'system' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? otherlv_6= 'for' ( ( ruleAadlClassifierReference ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )* otherlv_25= ']' )
{
// InternalReqSpec.g:1036:2: ( () otherlv_1= 'system' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? otherlv_6= 'for' ( ( ruleAadlClassifierReference ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )* otherlv_25= ']' )
// InternalReqSpec.g:1037:3: () otherlv_1= 'system' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? otherlv_6= 'for' ( ( ruleAadlClassifierReference ) ) (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_11= '[' ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )* otherlv_25= ']'
{
// InternalReqSpec.g:1037:3: ()
// InternalReqSpec.g:1038:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getSystemRequirementSetAccess().getSystemRequirementSetAction_0(),
current);
}
}
otherlv_1=(Token)match(input,29,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getSystemRequirementSetAccess().getSystemKeyword_1());
}
otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSystemRequirementSetAccess().getRequirementsKeyword_2());
}
// InternalReqSpec.g:1052:3: ( (lv_name_3_0= ruleQualifiedName ) )
// InternalReqSpec.g:1053:4: (lv_name_3_0= ruleQualifiedName )
{
// InternalReqSpec.g:1053:4: (lv_name_3_0= ruleQualifiedName )
// InternalReqSpec.g:1054:5: lv_name_3_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getNameQualifiedNameParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_8);
lv_name_3_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
set(
current,
"name",
lv_name_3_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:1071:3: (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==22) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// InternalReqSpec.g:1072:4: otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) )
{
otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSystemRequirementSetAccess().getColonKeyword_4_0());
}
// InternalReqSpec.g:1076:4: ( (lv_title_5_0= RULE_STRING ) )
// InternalReqSpec.g:1077:5: (lv_title_5_0= RULE_STRING )
{
// InternalReqSpec.g:1077:5: (lv_title_5_0= RULE_STRING )
// InternalReqSpec.g:1078:6: lv_title_5_0= RULE_STRING
{
lv_title_5_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_10); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_5_0, grammarAccess.getSystemRequirementSetAccess().getTitleSTRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementSetRule());
}
setWithLastConsumed(
current,
"title",
lv_title_5_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
otherlv_6=(Token)match(input,23,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getSystemRequirementSetAccess().getForKeyword_5());
}
// InternalReqSpec.g:1099:3: ( ( ruleAadlClassifierReference ) )
// InternalReqSpec.g:1100:4: ( ruleAadlClassifierReference )
{
// InternalReqSpec.g:1100:4: ( ruleAadlClassifierReference )
// InternalReqSpec.g:1101:5: ruleAadlClassifierReference
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementSetRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getTargetComponentClassifierCrossReference_6_0());
}
pushFollow(FollowSets000.FOLLOW_12);
ruleAadlClassifierReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:1115:3: (otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+ )?
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==24) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// InternalReqSpec.g:1116:4: otherlv_8= 'use' otherlv_9= 'constants' ( ( ruleQualifiedName ) )+
{
otherlv_8=(Token)match(input,24,FollowSets000.FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getSystemRequirementSetAccess().getUseKeyword_7_0());
}
otherlv_9=(Token)match(input,17,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getSystemRequirementSetAccess().getConstantsKeyword_7_1());
}
// InternalReqSpec.g:1124:4: ( ( ruleQualifiedName ) )+
int cnt26=0;
loop26:
do {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==RULE_ID) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// InternalReqSpec.g:1125:5: ( ruleQualifiedName )
{
// InternalReqSpec.g:1125:5: ( ruleQualifiedName )
// InternalReqSpec.g:1126:6: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementSetRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getImportConstantsGlobalConstantsCrossReference_7_2_0());
}
pushFollow(FollowSets000.FOLLOW_15);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt26 >= 1 ) break loop26;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(26, input);
throw eee;
}
cnt26++;
} while (true);
}
break;
}
otherlv_11=(Token)match(input,18,FollowSets000.FOLLOW_27); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getSystemRequirementSetAccess().getLeftSquareBracketKeyword_8());
}
// InternalReqSpec.g:1145:3: ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )*
loop31:
do {
int alt31=9;
alt31 = dfa31.predict(input);
switch (alt31) {
case 1 :
// InternalReqSpec.g:1146:4: ( (lv_description_12_0= ruleDescription ) )
{
// InternalReqSpec.g:1146:4: ( (lv_description_12_0= ruleDescription ) )
// InternalReqSpec.g:1147:5: (lv_description_12_0= ruleDescription )
{
// InternalReqSpec.g:1147:5: (lv_description_12_0= ruleDescription )
// InternalReqSpec.g:1148:6: lv_description_12_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getDescriptionDescriptionParserRuleCall_9_0_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_description_12_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
set(
current,
"description",
lv_description_12_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:1166:4: ( (lv_constants_13_0= ruleValDeclaration ) )
{
// InternalReqSpec.g:1166:4: ( (lv_constants_13_0= ruleValDeclaration ) )
// InternalReqSpec.g:1167:5: (lv_constants_13_0= ruleValDeclaration )
{
// InternalReqSpec.g:1167:5: (lv_constants_13_0= ruleValDeclaration )
// InternalReqSpec.g:1168:6: lv_constants_13_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getConstantsValDeclarationParserRuleCall_9_1_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_constants_13_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
add(
current,
"constants",
lv_constants_13_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalReqSpec.g:1186:4: ( (lv_computes_14_0= ruleComputeDeclaration ) )
{
// InternalReqSpec.g:1186:4: ( (lv_computes_14_0= ruleComputeDeclaration ) )
// InternalReqSpec.g:1187:5: (lv_computes_14_0= ruleComputeDeclaration )
{
// InternalReqSpec.g:1187:5: (lv_computes_14_0= ruleComputeDeclaration )
// InternalReqSpec.g:1188:6: lv_computes_14_0= ruleComputeDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getComputesComputeDeclarationParserRuleCall_9_2_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_computes_14_0=ruleComputeDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
add(
current,
"computes",
lv_computes_14_0,
"org.osate.alisa.common.Common.ComputeDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// InternalReqSpec.g:1206:4: ( (lv_requirements_15_0= ruleSystemRequirement ) )
{
// InternalReqSpec.g:1206:4: ( (lv_requirements_15_0= ruleSystemRequirement ) )
// InternalReqSpec.g:1207:5: (lv_requirements_15_0= ruleSystemRequirement )
{
// InternalReqSpec.g:1207:5: (lv_requirements_15_0= ruleSystemRequirement )
// InternalReqSpec.g:1208:6: lv_requirements_15_0= ruleSystemRequirement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getRequirementsSystemRequirementParserRuleCall_9_3_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_requirements_15_0=ruleSystemRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
add(
current,
"requirements",
lv_requirements_15_0,
"org.osate.reqspec.ReqSpec.SystemRequirement");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 5 :
// InternalReqSpec.g:1226:4: ( (lv_include_16_0= ruleIncludeGlobalRequirement ) )
{
// InternalReqSpec.g:1226:4: ( (lv_include_16_0= ruleIncludeGlobalRequirement ) )
// InternalReqSpec.g:1227:5: (lv_include_16_0= ruleIncludeGlobalRequirement )
{
// InternalReqSpec.g:1227:5: (lv_include_16_0= ruleIncludeGlobalRequirement )
// InternalReqSpec.g:1228:6: lv_include_16_0= ruleIncludeGlobalRequirement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getIncludeIncludeGlobalRequirementParserRuleCall_9_4_0());
}
pushFollow(FollowSets000.FOLLOW_27);
lv_include_16_0=ruleIncludeGlobalRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
add(
current,
"include",
lv_include_16_0,
"org.osate.reqspec.ReqSpec.IncludeGlobalRequirement");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 6 :
// InternalReqSpec.g:1246:4: (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ )
{
// InternalReqSpec.g:1246:4: (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:1247:5: otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+
{
otherlv_17=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getSystemRequirementSetAccess().getSeeKeyword_9_5_0());
}
otherlv_18=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getSystemRequirementSetAccess().getDocumentKeyword_9_5_1());
}
// InternalReqSpec.g:1255:5: ( (lv_docReference_19_0= ruleExternalDocument ) )+
int cnt28=0;
loop28:
do {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==RULE_ID) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// InternalReqSpec.g:1256:6: (lv_docReference_19_0= ruleExternalDocument )
{
// InternalReqSpec.g:1256:6: (lv_docReference_19_0= ruleExternalDocument )
// InternalReqSpec.g:1257:7: lv_docReference_19_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getDocReferenceExternalDocumentParserRuleCall_9_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_28);
lv_docReference_19_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementSetRule());
}
add(
current,
"docReference",
lv_docReference_19_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt28 >= 1 ) break loop28;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(28, input);
throw eee;
}
cnt28++;
} while (true);
}
}
break;
case 7 :
// InternalReqSpec.g:1276:4: (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:1276:4: (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:1277:5: otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+
{
otherlv_20=(Token)match(input,25,FollowSets000.FOLLOW_7); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getSystemRequirementSetAccess().getSeeKeyword_9_6_0());
}
otherlv_21=(Token)match(input,21,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getSystemRequirementSetAccess().getGoalsKeyword_9_6_1());
}
// InternalReqSpec.g:1285:5: ( ( ruleQualifiedName ) )+
int cnt29=0;
loop29:
do {
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==RULE_ID) ) {
alt29=1;
}
switch (alt29) {
case 1 :
// InternalReqSpec.g:1286:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:1286:6: ( ruleQualifiedName )
// InternalReqSpec.g:1287:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementSetRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementSetAccess().getStakeholderGoalsReqRootCrossReference_9_6_2_0());
}
pushFollow(FollowSets000.FOLLOW_28);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt29 >= 1 ) break loop29;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(29, input);
throw eee;
}
cnt29++;
} while (true);
}
}
break;
case 8 :
// InternalReqSpec.g:1303:4: (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ )
{
// InternalReqSpec.g:1303:4: (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ )
// InternalReqSpec.g:1304:5: otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+
{
otherlv_23=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getSystemRequirementSetAccess().getIssuesKeyword_9_7_0());
}
// InternalReqSpec.g:1308:5: ( (lv_issues_24_0= RULE_STRING ) )+
int cnt30=0;
loop30:
do {
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==RULE_STRING) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// InternalReqSpec.g:1309:6: (lv_issues_24_0= RULE_STRING )
{
// InternalReqSpec.g:1309:6: (lv_issues_24_0= RULE_STRING )
// InternalReqSpec.g:1310:7: lv_issues_24_0= RULE_STRING
{
lv_issues_24_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_29); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_24_0, grammarAccess.getSystemRequirementSetAccess().getIssuesSTRINGTerminalRuleCall_9_7_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementSetRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_24_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt30 >= 1 ) break loop30;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(30, input);
throw eee;
}
cnt30++;
} while (true);
}
}
break;
default :
break loop31;
}
} while (true);
otherlv_25=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getSystemRequirementSetAccess().getRightSquareBracketKeyword_10());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSystemRequirementSet"
// $ANTLR start "entryRuleGlobalRequirementSet"
// InternalReqSpec.g:1336:1: entryRuleGlobalRequirementSet returns [EObject current=null] : iv_ruleGlobalRequirementSet= ruleGlobalRequirementSet EOF ;
public final EObject entryRuleGlobalRequirementSet() throws RecognitionException {
EObject current = null;
EObject iv_ruleGlobalRequirementSet = null;
try {
// InternalReqSpec.g:1336:61: (iv_ruleGlobalRequirementSet= ruleGlobalRequirementSet EOF )
// InternalReqSpec.g:1337:2: iv_ruleGlobalRequirementSet= ruleGlobalRequirementSet EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleGlobalRequirementSet=ruleGlobalRequirementSet();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleGlobalRequirementSet;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGlobalRequirementSet"
// $ANTLR start "ruleGlobalRequirementSet"
// InternalReqSpec.g:1343:1: ruleGlobalRequirementSet returns [EObject current=null] : ( () otherlv_1= 'global' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? (otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_9= '[' ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )* otherlv_22= ']' ) ;
public final EObject ruleGlobalRequirementSet() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_title_5_0=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_14=null;
Token otherlv_15=null;
Token otherlv_17=null;
Token otherlv_18=null;
Token otherlv_20=null;
Token lv_issues_21_0=null;
Token otherlv_22=null;
AntlrDatatypeRuleToken lv_name_3_0 = null;
EObject lv_description_10_0 = null;
EObject lv_constants_11_0 = null;
EObject lv_computes_12_0 = null;
EObject lv_requirements_13_0 = null;
EObject lv_docReference_16_0 = null;
enterRule();
try {
// InternalReqSpec.g:1349:2: ( ( () otherlv_1= 'global' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? (otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_9= '[' ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )* otherlv_22= ']' ) )
// InternalReqSpec.g:1350:2: ( () otherlv_1= 'global' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? (otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_9= '[' ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )* otherlv_22= ']' )
{
// InternalReqSpec.g:1350:2: ( () otherlv_1= 'global' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? (otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_9= '[' ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )* otherlv_22= ']' )
// InternalReqSpec.g:1351:3: () otherlv_1= 'global' otherlv_2= 'requirements' ( (lv_name_3_0= ruleQualifiedName ) ) (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )? (otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+ )? otherlv_9= '[' ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )* otherlv_22= ']'
{
// InternalReqSpec.g:1351:3: ()
// InternalReqSpec.g:1352:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getGlobalRequirementSetAccess().getGlobalRequirementSetAction_0(),
current);
}
}
otherlv_1=(Token)match(input,31,FollowSets000.FOLLOW_26); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getGlobalRequirementSetAccess().getGlobalKeyword_1());
}
otherlv_2=(Token)match(input,30,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getGlobalRequirementSetAccess().getRequirementsKeyword_2());
}
// InternalReqSpec.g:1366:3: ( (lv_name_3_0= ruleQualifiedName ) )
// InternalReqSpec.g:1367:4: (lv_name_3_0= ruleQualifiedName )
{
// InternalReqSpec.g:1367:4: (lv_name_3_0= ruleQualifiedName )
// InternalReqSpec.g:1368:5: lv_name_3_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getNameQualifiedNameParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_30);
lv_name_3_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementSetRule());
}
set(
current,
"name",
lv_name_3_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:1385:3: (otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) ) )?
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==22) ) {
alt32=1;
}
switch (alt32) {
case 1 :
// InternalReqSpec.g:1386:4: otherlv_4= ':' ( (lv_title_5_0= RULE_STRING ) )
{
otherlv_4=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getGlobalRequirementSetAccess().getColonKeyword_4_0());
}
// InternalReqSpec.g:1390:4: ( (lv_title_5_0= RULE_STRING ) )
// InternalReqSpec.g:1391:5: (lv_title_5_0= RULE_STRING )
{
// InternalReqSpec.g:1391:5: (lv_title_5_0= RULE_STRING )
// InternalReqSpec.g:1392:6: lv_title_5_0= RULE_STRING
{
lv_title_5_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_12); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_5_0, grammarAccess.getGlobalRequirementSetAccess().getTitleSTRINGTerminalRuleCall_4_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementSetRule());
}
setWithLastConsumed(
current,
"title",
lv_title_5_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:1409:3: (otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+ )?
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==24) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// InternalReqSpec.g:1410:4: otherlv_6= 'use' otherlv_7= 'constants' ( ( ruleQualifiedName ) )+
{
otherlv_6=(Token)match(input,24,FollowSets000.FOLLOW_14); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getGlobalRequirementSetAccess().getUseKeyword_5_0());
}
otherlv_7=(Token)match(input,17,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getGlobalRequirementSetAccess().getConstantsKeyword_5_1());
}
// InternalReqSpec.g:1418:4: ( ( ruleQualifiedName ) )+
int cnt33=0;
loop33:
do {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==RULE_ID) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// InternalReqSpec.g:1419:5: ( ruleQualifiedName )
{
// InternalReqSpec.g:1419:5: ( ruleQualifiedName )
// InternalReqSpec.g:1420:6: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementSetRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getImportConstantsGlobalConstantsCrossReference_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_15);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt33 >= 1 ) break loop33;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(33, input);
throw eee;
}
cnt33++;
} while (true);
}
break;
}
otherlv_9=(Token)match(input,18,FollowSets000.FOLLOW_31); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getGlobalRequirementSetAccess().getLeftSquareBracketKeyword_6());
}
// InternalReqSpec.g:1439:3: ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )*
loop38:
do {
int alt38=8;
alt38 = dfa38.predict(input);
switch (alt38) {
case 1 :
// InternalReqSpec.g:1440:4: ( (lv_description_10_0= ruleDescription ) )
{
// InternalReqSpec.g:1440:4: ( (lv_description_10_0= ruleDescription ) )
// InternalReqSpec.g:1441:5: (lv_description_10_0= ruleDescription )
{
// InternalReqSpec.g:1441:5: (lv_description_10_0= ruleDescription )
// InternalReqSpec.g:1442:6: lv_description_10_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getDescriptionDescriptionParserRuleCall_7_0_0());
}
pushFollow(FollowSets000.FOLLOW_31);
lv_description_10_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementSetRule());
}
set(
current,
"description",
lv_description_10_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:1460:4: ( (lv_constants_11_0= ruleValDeclaration ) )
{
// InternalReqSpec.g:1460:4: ( (lv_constants_11_0= ruleValDeclaration ) )
// InternalReqSpec.g:1461:5: (lv_constants_11_0= ruleValDeclaration )
{
// InternalReqSpec.g:1461:5: (lv_constants_11_0= ruleValDeclaration )
// InternalReqSpec.g:1462:6: lv_constants_11_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getConstantsValDeclarationParserRuleCall_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_31);
lv_constants_11_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementSetRule());
}
add(
current,
"constants",
lv_constants_11_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalReqSpec.g:1480:4: ( (lv_computes_12_0= ruleComputeDeclaration ) )
{
// InternalReqSpec.g:1480:4: ( (lv_computes_12_0= ruleComputeDeclaration ) )
// InternalReqSpec.g:1481:5: (lv_computes_12_0= ruleComputeDeclaration )
{
// InternalReqSpec.g:1481:5: (lv_computes_12_0= ruleComputeDeclaration )
// InternalReqSpec.g:1482:6: lv_computes_12_0= ruleComputeDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getComputesComputeDeclarationParserRuleCall_7_2_0());
}
pushFollow(FollowSets000.FOLLOW_31);
lv_computes_12_0=ruleComputeDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementSetRule());
}
add(
current,
"computes",
lv_computes_12_0,
"org.osate.alisa.common.Common.ComputeDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// InternalReqSpec.g:1500:4: ( (lv_requirements_13_0= ruleGlobalRequirement ) )
{
// InternalReqSpec.g:1500:4: ( (lv_requirements_13_0= ruleGlobalRequirement ) )
// InternalReqSpec.g:1501:5: (lv_requirements_13_0= ruleGlobalRequirement )
{
// InternalReqSpec.g:1501:5: (lv_requirements_13_0= ruleGlobalRequirement )
// InternalReqSpec.g:1502:6: lv_requirements_13_0= ruleGlobalRequirement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getRequirementsGlobalRequirementParserRuleCall_7_3_0());
}
pushFollow(FollowSets000.FOLLOW_31);
lv_requirements_13_0=ruleGlobalRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementSetRule());
}
add(
current,
"requirements",
lv_requirements_13_0,
"org.osate.reqspec.ReqSpec.GlobalRequirement");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 5 :
// InternalReqSpec.g:1520:4: (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ )
{
// InternalReqSpec.g:1520:4: (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:1521:5: otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+
{
otherlv_14=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getGlobalRequirementSetAccess().getSeeKeyword_7_4_0());
}
otherlv_15=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getGlobalRequirementSetAccess().getDocumentKeyword_7_4_1());
}
// InternalReqSpec.g:1529:5: ( (lv_docReference_16_0= ruleExternalDocument ) )+
int cnt35=0;
loop35:
do {
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==RULE_ID) ) {
alt35=1;
}
switch (alt35) {
case 1 :
// InternalReqSpec.g:1530:6: (lv_docReference_16_0= ruleExternalDocument )
{
// InternalReqSpec.g:1530:6: (lv_docReference_16_0= ruleExternalDocument )
// InternalReqSpec.g:1531:7: lv_docReference_16_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getDocReferenceExternalDocumentParserRuleCall_7_4_2_0());
}
pushFollow(FollowSets000.FOLLOW_32);
lv_docReference_16_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementSetRule());
}
add(
current,
"docReference",
lv_docReference_16_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt35 >= 1 ) break loop35;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(35, input);
throw eee;
}
cnt35++;
} while (true);
}
}
break;
case 6 :
// InternalReqSpec.g:1550:4: (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:1550:4: (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:1551:5: otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+
{
otherlv_17=(Token)match(input,25,FollowSets000.FOLLOW_7); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getGlobalRequirementSetAccess().getSeeKeyword_7_5_0());
}
otherlv_18=(Token)match(input,21,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getGlobalRequirementSetAccess().getGoalsKeyword_7_5_1());
}
// InternalReqSpec.g:1559:5: ( ( ruleQualifiedName ) )+
int cnt36=0;
loop36:
do {
int alt36=2;
int LA36_0 = input.LA(1);
if ( (LA36_0==RULE_ID) ) {
alt36=1;
}
switch (alt36) {
case 1 :
// InternalReqSpec.g:1560:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:1560:6: ( ruleQualifiedName )
// InternalReqSpec.g:1561:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementSetRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementSetAccess().getStakeholderGoalsReqRootCrossReference_7_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_32);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt36 >= 1 ) break loop36;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(36, input);
throw eee;
}
cnt36++;
} while (true);
}
}
break;
case 7 :
// InternalReqSpec.g:1577:4: (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ )
{
// InternalReqSpec.g:1577:4: (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ )
// InternalReqSpec.g:1578:5: otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+
{
otherlv_20=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getGlobalRequirementSetAccess().getIssuesKeyword_7_6_0());
}
// InternalReqSpec.g:1582:5: ( (lv_issues_21_0= RULE_STRING ) )+
int cnt37=0;
loop37:
do {
int alt37=2;
int LA37_0 = input.LA(1);
if ( (LA37_0==RULE_STRING) ) {
alt37=1;
}
switch (alt37) {
case 1 :
// InternalReqSpec.g:1583:6: (lv_issues_21_0= RULE_STRING )
{
// InternalReqSpec.g:1583:6: (lv_issues_21_0= RULE_STRING )
// InternalReqSpec.g:1584:7: lv_issues_21_0= RULE_STRING
{
lv_issues_21_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_33); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_21_0, grammarAccess.getGlobalRequirementSetAccess().getIssuesSTRINGTerminalRuleCall_7_6_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementSetRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_21_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt37 >= 1 ) break loop37;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(37, input);
throw eee;
}
cnt37++;
} while (true);
}
}
break;
default :
break loop38;
}
} while (true);
otherlv_22=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getGlobalRequirementSetAccess().getRightSquareBracketKeyword_8());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGlobalRequirementSet"
// $ANTLR start "entryRuleDocGoal"
// InternalReqSpec.g:1610:1: entryRuleDocGoal returns [EObject current=null] : iv_ruleDocGoal= ruleDocGoal EOF ;
public final EObject entryRuleDocGoal() throws RecognitionException {
EObject current = null;
EObject iv_ruleDocGoal = null;
try {
// InternalReqSpec.g:1610:48: (iv_ruleDocGoal= ruleDocGoal EOF )
// InternalReqSpec.g:1611:2: iv_ruleDocGoal= ruleDocGoal EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDocGoal=ruleDocGoal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDocGoal;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDocGoal"
// $ANTLR start "ruleDocGoal"
// InternalReqSpec.g:1617:1: ruleDocGoal returns [EObject current=null] : (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) ) )? otherlv_8= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_33= ']' ) ;
public final EObject ruleDocGoal() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token otherlv_4=null;
Token lv_targetDescription_5_0=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_10=null;
Token otherlv_17=null;
Token otherlv_19=null;
Token otherlv_20=null;
Token otherlv_22=null;
Token lv_dropped_24_0=null;
Token lv_dropRationale_25_0=null;
Token otherlv_26=null;
Token otherlv_28=null;
Token otherlv_29=null;
Token otherlv_31=null;
Token lv_issues_32_0=null;
Token otherlv_33=null;
EObject lv_description_12_0 = null;
EObject lv_constants_13_0 = null;
EObject lv_whencondition_14_0 = null;
EObject lv_rationale_15_0 = null;
EObject lv_changeUncertainty_16_0 = null;
EObject lv_docReference_30_0 = null;
enterRule();
try {
// InternalReqSpec.g:1623:2: ( (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) ) )? otherlv_8= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_33= ']' ) )
// InternalReqSpec.g:1624:2: (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) ) )? otherlv_8= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_33= ']' )
{
// InternalReqSpec.g:1624:2: (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) ) )? otherlv_8= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_33= ']' )
// InternalReqSpec.g:1625:3: otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) ) )? otherlv_8= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_33= ']'
{
otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getDocGoalAccess().getGoalKeyword_0());
}
// InternalReqSpec.g:1629:3: ( (lv_name_1_0= RULE_ID ) )
// InternalReqSpec.g:1630:4: (lv_name_1_0= RULE_ID )
{
// InternalReqSpec.g:1630:4: (lv_name_1_0= RULE_ID )
// InternalReqSpec.g:1631:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getDocGoalAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:1647:3: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt39=2;
int LA39_0 = input.LA(1);
if ( (LA39_0==22) ) {
alt39=1;
}
switch (alt39) {
case 1 :
// InternalReqSpec.g:1648:4: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getDocGoalAccess().getColonKeyword_2_0());
}
// InternalReqSpec.g:1652:4: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:1653:5: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:1653:5: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:1654:6: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getDocGoalAccess().getTitleSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:1671:3: (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) ) )?
int alt42=2;
int LA42_0 = input.LA(1);
if ( (LA42_0==23) ) {
alt42=1;
}
switch (alt42) {
case 1 :
// InternalReqSpec.g:1672:4: otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) )
{
otherlv_4=(Token)match(input,23,FollowSets000.FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getDocGoalAccess().getForKeyword_3_0());
}
// InternalReqSpec.g:1676:4: ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) )
int alt41=2;
int LA41_0 = input.LA(1);
if ( (LA41_0==RULE_STRING) ) {
alt41=1;
}
else if ( (LA41_0==RULE_ID) ) {
alt41=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 41, 0, input);
throw nvae;
}
switch (alt41) {
case 1 :
// InternalReqSpec.g:1677:5: ( (lv_targetDescription_5_0= RULE_STRING ) )
{
// InternalReqSpec.g:1677:5: ( (lv_targetDescription_5_0= RULE_STRING ) )
// InternalReqSpec.g:1678:6: (lv_targetDescription_5_0= RULE_STRING )
{
// InternalReqSpec.g:1678:6: (lv_targetDescription_5_0= RULE_STRING )
// InternalReqSpec.g:1679:7: lv_targetDescription_5_0= RULE_STRING
{
lv_targetDescription_5_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_targetDescription_5_0, grammarAccess.getDocGoalAccess().getTargetDescriptionSTRINGTerminalRuleCall_3_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
setWithLastConsumed(
current,
"targetDescription",
lv_targetDescription_5_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:1696:5: ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? )
{
// InternalReqSpec.g:1696:5: ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? )
// InternalReqSpec.g:1697:6: ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )?
{
// InternalReqSpec.g:1697:6: ( ( ruleAadlClassifierReference ) )
// InternalReqSpec.g:1698:7: ( ruleAadlClassifierReference )
{
// InternalReqSpec.g:1698:7: ( ruleAadlClassifierReference )
// InternalReqSpec.g:1699:8: ruleAadlClassifierReference
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getTargetComponentClassifierCrossReference_3_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_15);
ruleAadlClassifierReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:1713:6: ( (otherlv_7= RULE_ID ) )?
int alt40=2;
int LA40_0 = input.LA(1);
if ( (LA40_0==RULE_ID) ) {
alt40=1;
}
switch (alt40) {
case 1 :
// InternalReqSpec.g:1714:7: (otherlv_7= RULE_ID )
{
// InternalReqSpec.g:1714:7: (otherlv_7= RULE_ID )
// InternalReqSpec.g:1715:8: otherlv_7= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getDocGoalAccess().getTargetElementNamedElementCrossReference_3_1_1_1_0());
}
}
}
break;
}
}
}
break;
}
}
break;
}
otherlv_8=(Token)match(input,18,FollowSets000.FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getDocGoalAccess().getLeftSquareBracketKeyword_4());
}
// InternalReqSpec.g:1733:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) ) )
// InternalReqSpec.g:1734:4: ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) )
{
// InternalReqSpec.g:1734:4: ( ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* ) )
// InternalReqSpec.g:1735:5: ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
// InternalReqSpec.g:1738:5: ( ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )* )
// InternalReqSpec.g:1739:6: ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )*
{
// InternalReqSpec.g:1739:6: ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )*
loop52:
do {
int alt52=14;
alt52 = dfa52.predict(input);
switch (alt52) {
case 1 :
// InternalReqSpec.g:1740:4: ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:1740:4: ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:1741:5: {...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 0)");
}
// InternalReqSpec.g:1741:104: ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:1742:6: ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 0);
// InternalReqSpec.g:1745:9: ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:1745:10: {...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1745:19: (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:1745:20: otherlv_10= 'category' ( ( ruleQualifiedName ) )+
{
otherlv_10=(Token)match(input,33,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getDocGoalAccess().getCategoryKeyword_5_0_0());
}
// InternalReqSpec.g:1749:9: ( ( ruleQualifiedName ) )+
int cnt43=0;
loop43:
do {
int alt43=2;
int LA43_0 = input.LA(1);
if ( (LA43_0==RULE_ID) ) {
alt43=1;
}
switch (alt43) {
case 1 :
// InternalReqSpec.g:1750:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:1750:10: ( ruleQualifiedName )
// InternalReqSpec.g:1751:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getCategoryCategoryCrossReference_5_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt43 >= 1 ) break loop43;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(43, input);
throw eee;
}
cnt43++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 2 :
// InternalReqSpec.g:1771:4: ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:1771:4: ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:1772:5: {...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 1)");
}
// InternalReqSpec.g:1772:104: ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) )
// InternalReqSpec.g:1773:6: ({...}? => ( (lv_description_12_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 1);
// InternalReqSpec.g:1776:9: ({...}? => ( (lv_description_12_0= ruleDescription ) ) )
// InternalReqSpec.g:1776:10: {...}? => ( (lv_description_12_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1776:19: ( (lv_description_12_0= ruleDescription ) )
// InternalReqSpec.g:1776:20: (lv_description_12_0= ruleDescription )
{
// InternalReqSpec.g:1776:20: (lv_description_12_0= ruleDescription )
// InternalReqSpec.g:1777:10: lv_description_12_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getDescriptionDescriptionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_description_12_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocGoalRule());
}
set(
current,
"description",
lv_description_12_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 3 :
// InternalReqSpec.g:1799:4: ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:1799:4: ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) )
// InternalReqSpec.g:1800:5: {...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 2)");
}
// InternalReqSpec.g:1800:104: ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ )
// InternalReqSpec.g:1801:6: ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 2);
// InternalReqSpec.g:1804:9: ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+
int cnt44=0;
loop44:
do {
int alt44=2;
int LA44_0 = input.LA(1);
if ( (LA44_0==60) ) {
int LA44_2 = input.LA(2);
if ( ((true)) ) {
alt44=1;
}
}
switch (alt44) {
case 1 :
// InternalReqSpec.g:1804:10: {...}? => ( (lv_constants_13_0= ruleValDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1804:19: ( (lv_constants_13_0= ruleValDeclaration ) )
// InternalReqSpec.g:1804:20: (lv_constants_13_0= ruleValDeclaration )
{
// InternalReqSpec.g:1804:20: (lv_constants_13_0= ruleValDeclaration )
// InternalReqSpec.g:1805:10: lv_constants_13_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getConstantsValDeclarationParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_constants_13_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocGoalRule());
}
add(
current,
"constants",
lv_constants_13_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt44 >= 1 ) break loop44;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(44, input);
throw eee;
}
cnt44++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 4 :
// InternalReqSpec.g:1827:4: ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) )
{
// InternalReqSpec.g:1827:4: ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) )
// InternalReqSpec.g:1828:5: {...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 3)");
}
// InternalReqSpec.g:1828:104: ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) )
// InternalReqSpec.g:1829:6: ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 3);
// InternalReqSpec.g:1832:9: ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) )
// InternalReqSpec.g:1832:10: {...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1832:19: ( (lv_whencondition_14_0= ruleWhenCondition ) )
// InternalReqSpec.g:1832:20: (lv_whencondition_14_0= ruleWhenCondition )
{
// InternalReqSpec.g:1832:20: (lv_whencondition_14_0= ruleWhenCondition )
// InternalReqSpec.g:1833:10: lv_whencondition_14_0= ruleWhenCondition
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getWhenconditionWhenConditionParserRuleCall_5_3_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_whencondition_14_0=ruleWhenCondition();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocGoalRule());
}
set(
current,
"whencondition",
lv_whencondition_14_0,
"org.osate.reqspec.ReqSpec.WhenCondition");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 5 :
// InternalReqSpec.g:1855:4: ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) )
{
// InternalReqSpec.g:1855:4: ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) )
// InternalReqSpec.g:1856:5: {...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 4)");
}
// InternalReqSpec.g:1856:104: ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) )
// InternalReqSpec.g:1857:6: ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 4);
// InternalReqSpec.g:1860:9: ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) )
// InternalReqSpec.g:1860:10: {...}? => ( (lv_rationale_15_0= ruleRationale ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1860:19: ( (lv_rationale_15_0= ruleRationale ) )
// InternalReqSpec.g:1860:20: (lv_rationale_15_0= ruleRationale )
{
// InternalReqSpec.g:1860:20: (lv_rationale_15_0= ruleRationale )
// InternalReqSpec.g:1861:10: lv_rationale_15_0= ruleRationale
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getRationaleRationaleParserRuleCall_5_4_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_rationale_15_0=ruleRationale();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocGoalRule());
}
set(
current,
"rationale",
lv_rationale_15_0,
"org.osate.alisa.common.Common.Rationale");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 6 :
// InternalReqSpec.g:1883:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) )
{
// InternalReqSpec.g:1883:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) )
// InternalReqSpec.g:1884:5: {...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 5)");
}
// InternalReqSpec.g:1884:104: ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) )
// InternalReqSpec.g:1885:6: ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 5);
// InternalReqSpec.g:1888:9: ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) )
// InternalReqSpec.g:1888:10: {...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1888:19: ( (lv_changeUncertainty_16_0= ruleUncertainty ) )
// InternalReqSpec.g:1888:20: (lv_changeUncertainty_16_0= ruleUncertainty )
{
// InternalReqSpec.g:1888:20: (lv_changeUncertainty_16_0= ruleUncertainty )
// InternalReqSpec.g:1889:10: lv_changeUncertainty_16_0= ruleUncertainty
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getChangeUncertaintyUncertaintyParserRuleCall_5_5_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_changeUncertainty_16_0=ruleUncertainty();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocGoalRule());
}
set(
current,
"changeUncertainty",
lv_changeUncertainty_16_0,
"org.osate.alisa.common.Common.Uncertainty");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 7 :
// InternalReqSpec.g:1911:4: ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:1911:4: ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:1912:5: {...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 6)");
}
// InternalReqSpec.g:1912:104: ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:1913:6: ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 6);
// InternalReqSpec.g:1916:9: ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:1916:10: {...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1916:19: (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:1916:20: otherlv_17= 'refines' ( ( ruleQualifiedName ) )+
{
otherlv_17=(Token)match(input,34,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getDocGoalAccess().getRefinesKeyword_5_6_0());
}
// InternalReqSpec.g:1920:9: ( ( ruleQualifiedName ) )+
int cnt45=0;
loop45:
do {
int alt45=2;
int LA45_0 = input.LA(1);
if ( (LA45_0==RULE_ID) ) {
alt45=1;
}
switch (alt45) {
case 1 :
// InternalReqSpec.g:1921:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:1921:10: ( ruleQualifiedName )
// InternalReqSpec.g:1922:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getRefinesReferenceGoalCrossReference_5_6_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt45 >= 1 ) break loop45;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(45, input);
throw eee;
}
cnt45++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 8 :
// InternalReqSpec.g:1942:4: ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:1942:4: ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:1943:5: {...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 7)");
}
// InternalReqSpec.g:1943:104: ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:1944:6: ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 7);
// InternalReqSpec.g:1947:9: ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:1947:10: {...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1947:19: (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:1947:20: otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+
{
otherlv_19=(Token)match(input,35,FollowSets000.FOLLOW_38); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getDocGoalAccess().getConflictsKeyword_5_7_0());
}
otherlv_20=(Token)match(input,36,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getDocGoalAccess().getWithKeyword_5_7_1());
}
// InternalReqSpec.g:1955:9: ( ( ruleQualifiedName ) )+
int cnt46=0;
loop46:
do {
int alt46=2;
int LA46_0 = input.LA(1);
if ( (LA46_0==RULE_ID) ) {
alt46=1;
}
switch (alt46) {
case 1 :
// InternalReqSpec.g:1956:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:1956:10: ( ruleQualifiedName )
// InternalReqSpec.g:1957:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getConflictsReferenceGoalCrossReference_5_7_2_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt46 >= 1 ) break loop46;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(46, input);
throw eee;
}
cnt46++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 9 :
// InternalReqSpec.g:1977:4: ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:1977:4: ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:1978:5: {...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 8) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 8)");
}
// InternalReqSpec.g:1978:104: ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:1979:6: ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 8);
// InternalReqSpec.g:1982:9: ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:1982:10: {...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:1982:19: (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:1982:20: otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+
{
otherlv_22=(Token)match(input,37,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_22, grammarAccess.getDocGoalAccess().getEvolvesKeyword_5_8_0());
}
// InternalReqSpec.g:1986:9: ( ( ruleQualifiedName ) )+
int cnt47=0;
loop47:
do {
int alt47=2;
int LA47_0 = input.LA(1);
if ( (LA47_0==RULE_ID) ) {
alt47=1;
}
switch (alt47) {
case 1 :
// InternalReqSpec.g:1987:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:1987:10: ( ruleQualifiedName )
// InternalReqSpec.g:1988:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getEvolvesReferenceRequirementCrossReference_5_8_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt47 >= 1 ) break loop47;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(47, input);
throw eee;
}
cnt47++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 10 :
// InternalReqSpec.g:2008:4: ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) )
{
// InternalReqSpec.g:2008:4: ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) )
// InternalReqSpec.g:2009:5: {...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 9) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 9)");
}
// InternalReqSpec.g:2009:104: ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) )
// InternalReqSpec.g:2010:6: ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 9);
// InternalReqSpec.g:2013:9: ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) )
// InternalReqSpec.g:2013:10: {...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:2013:19: ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? )
// InternalReqSpec.g:2013:20: ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )?
{
// InternalReqSpec.g:2013:20: ( (lv_dropped_24_0= 'dropped' ) )
// InternalReqSpec.g:2014:10: (lv_dropped_24_0= 'dropped' )
{
// InternalReqSpec.g:2014:10: (lv_dropped_24_0= 'dropped' )
// InternalReqSpec.g:2015:11: lv_dropped_24_0= 'dropped'
{
lv_dropped_24_0=(Token)match(input,38,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropped_24_0, grammarAccess.getDocGoalAccess().getDroppedDroppedKeyword_5_9_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
setWithLastConsumed(current, "dropped", true, "dropped");
}
}
}
// InternalReqSpec.g:2027:9: ( (lv_dropRationale_25_0= RULE_STRING ) )?
int alt48=2;
int LA48_0 = input.LA(1);
if ( (LA48_0==RULE_STRING) ) {
alt48=1;
}
switch (alt48) {
case 1 :
// InternalReqSpec.g:2028:10: (lv_dropRationale_25_0= RULE_STRING )
{
// InternalReqSpec.g:2028:10: (lv_dropRationale_25_0= RULE_STRING )
// InternalReqSpec.g:2029:11: lv_dropRationale_25_0= RULE_STRING
{
lv_dropRationale_25_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropRationale_25_0, grammarAccess.getDocGoalAccess().getDropRationaleSTRINGTerminalRuleCall_5_9_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
setWithLastConsumed(
current,
"dropRationale",
lv_dropRationale_25_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 11 :
// InternalReqSpec.g:2051:4: ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2051:4: ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2052:5: {...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 10) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 10)");
}
// InternalReqSpec.g:2052:105: ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2053:6: ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 10);
// InternalReqSpec.g:2056:9: ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2056:10: {...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:2056:19: (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2056:20: otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+
{
otherlv_26=(Token)match(input,20,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_26, grammarAccess.getDocGoalAccess().getStakeholderKeyword_5_10_0());
}
// InternalReqSpec.g:2060:9: ( ( ruleQualifiedName ) )+
int cnt49=0;
loop49:
do {
int alt49=2;
int LA49_0 = input.LA(1);
if ( (LA49_0==RULE_ID) ) {
alt49=1;
}
switch (alt49) {
case 1 :
// InternalReqSpec.g:2061:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2061:10: ( ruleQualifiedName )
// InternalReqSpec.g:2062:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getStakeholderReferenceStakeholderCrossReference_5_10_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt49 >= 1 ) break loop49;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(49, input);
throw eee;
}
cnt49++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 12 :
// InternalReqSpec.g:2082:4: ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) )
{
// InternalReqSpec.g:2082:4: ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) )
// InternalReqSpec.g:2083:5: {...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 11) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 11)");
}
// InternalReqSpec.g:2083:105: ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) )
// InternalReqSpec.g:2084:6: ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 11);
// InternalReqSpec.g:2087:9: ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) )
// InternalReqSpec.g:2087:10: {...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:2087:19: (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:2087:20: otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+
{
otherlv_28=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_28, grammarAccess.getDocGoalAccess().getSeeKeyword_5_11_0());
}
otherlv_29=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getDocGoalAccess().getDocumentKeyword_5_11_1());
}
// InternalReqSpec.g:2095:9: ( (lv_docReference_30_0= ruleExternalDocument ) )+
int cnt50=0;
loop50:
do {
int alt50=2;
int LA50_0 = input.LA(1);
if ( (LA50_0==RULE_ID) ) {
alt50=1;
}
switch (alt50) {
case 1 :
// InternalReqSpec.g:2096:10: (lv_docReference_30_0= ruleExternalDocument )
{
// InternalReqSpec.g:2096:10: (lv_docReference_30_0= ruleExternalDocument )
// InternalReqSpec.g:2097:11: lv_docReference_30_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocGoalAccess().getDocReferenceExternalDocumentParserRuleCall_5_11_2_0());
}
pushFollow(FollowSets000.FOLLOW_37);
lv_docReference_30_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocGoalRule());
}
add(
current,
"docReference",
lv_docReference_30_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt50 >= 1 ) break loop50;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(50, input);
throw eee;
}
cnt50++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 13 :
// InternalReqSpec.g:2120:4: ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) )
{
// InternalReqSpec.g:2120:4: ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) )
// InternalReqSpec.g:2121:5: {...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 12) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 12)");
}
// InternalReqSpec.g:2121:105: ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) )
// InternalReqSpec.g:2122:6: ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 12);
// InternalReqSpec.g:2125:9: ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) )
// InternalReqSpec.g:2125:10: {...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocGoal", "true");
}
// InternalReqSpec.g:2125:19: (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ )
// InternalReqSpec.g:2125:20: otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+
{
otherlv_31=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_31, grammarAccess.getDocGoalAccess().getIssuesKeyword_5_12_0());
}
// InternalReqSpec.g:2129:9: ( (lv_issues_32_0= RULE_STRING ) )+
int cnt51=0;
loop51:
do {
int alt51=2;
int LA51_0 = input.LA(1);
if ( (LA51_0==RULE_STRING) ) {
alt51=1;
}
switch (alt51) {
case 1 :
// InternalReqSpec.g:2130:10: (lv_issues_32_0= RULE_STRING )
{
// InternalReqSpec.g:2130:10: (lv_issues_32_0= RULE_STRING )
// InternalReqSpec.g:2131:11: lv_issues_32_0= RULE_STRING
{
lv_issues_32_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_32_0, grammarAccess.getDocGoalAccess().getIssuesSTRINGTerminalRuleCall_5_12_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocGoalRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_32_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt51 >= 1 ) break loop51;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(51, input);
throw eee;
}
cnt51++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
}
}
break;
default :
break loop52;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getDocGoalAccess().getUnorderedGroup_5());
}
otherlv_33=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getDocGoalAccess().getRightSquareBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDocGoal"
// $ANTLR start "entryRuleGoal"
// InternalReqSpec.g:2168:1: entryRuleGoal returns [EObject current=null] : iv_ruleGoal= ruleGoal EOF ;
public final EObject entryRuleGoal() throws RecognitionException {
EObject current = null;
EObject iv_ruleGoal = null;
try {
// InternalReqSpec.g:2168:45: (iv_ruleGoal= ruleGoal EOF )
// InternalReqSpec.g:2169:2: iv_ruleGoal= ruleGoal EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleGoal=ruleGoal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleGoal;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGoal"
// $ANTLR start "ruleGoal"
// InternalReqSpec.g:2175:1: ruleGoal returns [EObject current=null] : (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_34= ']' ) ;
public final EObject ruleGoal() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token otherlv_8=null;
Token otherlv_15=null;
Token otherlv_17=null;
Token otherlv_18=null;
Token otherlv_20=null;
Token lv_dropped_22_0=null;
Token lv_dropRationale_23_0=null;
Token otherlv_24=null;
Token otherlv_26=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token lv_issues_33_0=null;
Token otherlv_34=null;
EObject lv_description_10_0 = null;
EObject lv_constants_11_0 = null;
EObject lv_whencondition_12_0 = null;
EObject lv_rationale_13_0 = null;
EObject lv_changeUncertainty_14_0 = null;
EObject lv_docReference_31_0 = null;
enterRule();
try {
// InternalReqSpec.g:2181:2: ( (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_34= ']' ) )
// InternalReqSpec.g:2182:2: (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_34= ']' )
{
// InternalReqSpec.g:2182:2: (otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_34= ']' )
// InternalReqSpec.g:2183:3: otherlv_0= 'goal' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_34= ']'
{
otherlv_0=(Token)match(input,32,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getGoalAccess().getGoalKeyword_0());
}
// InternalReqSpec.g:2187:3: ( (lv_name_1_0= RULE_ID ) )
// InternalReqSpec.g:2188:4: (lv_name_1_0= RULE_ID )
{
// InternalReqSpec.g:2188:4: (lv_name_1_0= RULE_ID )
// InternalReqSpec.g:2189:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getGoalAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:2205:3: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt53=2;
int LA53_0 = input.LA(1);
if ( (LA53_0==22) ) {
alt53=1;
}
switch (alt53) {
case 1 :
// InternalReqSpec.g:2206:4: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getGoalAccess().getColonKeyword_2_0());
}
// InternalReqSpec.g:2210:4: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:2211:5: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:2211:5: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:2212:6: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getGoalAccess().getTitleSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:2229:3: (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )?
int alt54=2;
int LA54_0 = input.LA(1);
if ( (LA54_0==23) ) {
alt54=1;
}
switch (alt54) {
case 1 :
// InternalReqSpec.g:2230:4: otherlv_4= 'for' ( (otherlv_5= RULE_ID ) )
{
otherlv_4=(Token)match(input,23,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getGoalAccess().getForKeyword_3_0());
}
// InternalReqSpec.g:2234:4: ( (otherlv_5= RULE_ID ) )
// InternalReqSpec.g:2235:5: (otherlv_5= RULE_ID )
{
// InternalReqSpec.g:2235:5: (otherlv_5= RULE_ID )
// InternalReqSpec.g:2236:6: otherlv_5= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getGoalAccess().getTargetElementNamedElementCrossReference_3_1_0());
}
}
}
}
break;
}
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getGoalAccess().getLeftSquareBracketKeyword_4());
}
// InternalReqSpec.g:2252:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) ) )
// InternalReqSpec.g:2253:4: ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) )
{
// InternalReqSpec.g:2253:4: ( ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* ) )
// InternalReqSpec.g:2254:5: ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getGoalAccess().getUnorderedGroup_5());
// InternalReqSpec.g:2257:5: ( ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )* )
// InternalReqSpec.g:2258:6: ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )*
{
// InternalReqSpec.g:2258:6: ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )*
loop65:
do {
int alt65=15;
alt65 = dfa65.predict(input);
switch (alt65) {
case 1 :
// InternalReqSpec.g:2259:4: ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2259:4: ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2260:5: {...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 0)");
}
// InternalReqSpec.g:2260:101: ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2261:6: ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 0);
// InternalReqSpec.g:2264:9: ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2264:10: {...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2264:19: (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2264:20: otherlv_8= 'category' ( ( ruleQualifiedName ) )+
{
otherlv_8=(Token)match(input,33,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getGoalAccess().getCategoryKeyword_5_0_0());
}
// InternalReqSpec.g:2268:9: ( ( ruleQualifiedName ) )+
int cnt55=0;
loop55:
do {
int alt55=2;
int LA55_0 = input.LA(1);
if ( (LA55_0==RULE_ID) ) {
alt55=1;
}
switch (alt55) {
case 1 :
// InternalReqSpec.g:2269:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2269:10: ( ruleQualifiedName )
// InternalReqSpec.g:2270:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getCategoryCategoryCrossReference_5_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt55 >= 1 ) break loop55;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(55, input);
throw eee;
}
cnt55++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 2 :
// InternalReqSpec.g:2290:4: ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:2290:4: ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:2291:5: {...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 1)");
}
// InternalReqSpec.g:2291:101: ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) )
// InternalReqSpec.g:2292:6: ({...}? => ( (lv_description_10_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 1);
// InternalReqSpec.g:2295:9: ({...}? => ( (lv_description_10_0= ruleDescription ) ) )
// InternalReqSpec.g:2295:10: {...}? => ( (lv_description_10_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2295:19: ( (lv_description_10_0= ruleDescription ) )
// InternalReqSpec.g:2295:20: (lv_description_10_0= ruleDescription )
{
// InternalReqSpec.g:2295:20: (lv_description_10_0= ruleDescription )
// InternalReqSpec.g:2296:10: lv_description_10_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getDescriptionDescriptionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_description_10_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGoalRule());
}
set(
current,
"description",
lv_description_10_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 3 :
// InternalReqSpec.g:2318:4: ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:2318:4: ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) )
// InternalReqSpec.g:2319:5: {...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 2)");
}
// InternalReqSpec.g:2319:101: ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ )
// InternalReqSpec.g:2320:6: ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 2);
// InternalReqSpec.g:2323:9: ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+
int cnt56=0;
loop56:
do {
int alt56=2;
int LA56_0 = input.LA(1);
if ( (LA56_0==60) ) {
int LA56_2 = input.LA(2);
if ( ((true)) ) {
alt56=1;
}
}
switch (alt56) {
case 1 :
// InternalReqSpec.g:2323:10: {...}? => ( (lv_constants_11_0= ruleValDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2323:19: ( (lv_constants_11_0= ruleValDeclaration ) )
// InternalReqSpec.g:2323:20: (lv_constants_11_0= ruleValDeclaration )
{
// InternalReqSpec.g:2323:20: (lv_constants_11_0= ruleValDeclaration )
// InternalReqSpec.g:2324:10: lv_constants_11_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getConstantsValDeclarationParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_constants_11_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGoalRule());
}
add(
current,
"constants",
lv_constants_11_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt56 >= 1 ) break loop56;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(56, input);
throw eee;
}
cnt56++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 4 :
// InternalReqSpec.g:2346:4: ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) )
{
// InternalReqSpec.g:2346:4: ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) )
// InternalReqSpec.g:2347:5: {...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 3)");
}
// InternalReqSpec.g:2347:101: ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) )
// InternalReqSpec.g:2348:6: ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 3);
// InternalReqSpec.g:2351:9: ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) )
// InternalReqSpec.g:2351:10: {...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2351:19: ( (lv_whencondition_12_0= ruleWhenCondition ) )
// InternalReqSpec.g:2351:20: (lv_whencondition_12_0= ruleWhenCondition )
{
// InternalReqSpec.g:2351:20: (lv_whencondition_12_0= ruleWhenCondition )
// InternalReqSpec.g:2352:10: lv_whencondition_12_0= ruleWhenCondition
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getWhenconditionWhenConditionParserRuleCall_5_3_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_whencondition_12_0=ruleWhenCondition();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGoalRule());
}
set(
current,
"whencondition",
lv_whencondition_12_0,
"org.osate.reqspec.ReqSpec.WhenCondition");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 5 :
// InternalReqSpec.g:2374:4: ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) )
{
// InternalReqSpec.g:2374:4: ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) )
// InternalReqSpec.g:2375:5: {...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 4)");
}
// InternalReqSpec.g:2375:101: ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) )
// InternalReqSpec.g:2376:6: ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 4);
// InternalReqSpec.g:2379:9: ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) )
// InternalReqSpec.g:2379:10: {...}? => ( (lv_rationale_13_0= ruleRationale ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2379:19: ( (lv_rationale_13_0= ruleRationale ) )
// InternalReqSpec.g:2379:20: (lv_rationale_13_0= ruleRationale )
{
// InternalReqSpec.g:2379:20: (lv_rationale_13_0= ruleRationale )
// InternalReqSpec.g:2380:10: lv_rationale_13_0= ruleRationale
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getRationaleRationaleParserRuleCall_5_4_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_rationale_13_0=ruleRationale();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGoalRule());
}
set(
current,
"rationale",
lv_rationale_13_0,
"org.osate.alisa.common.Common.Rationale");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 6 :
// InternalReqSpec.g:2402:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) )
{
// InternalReqSpec.g:2402:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) )
// InternalReqSpec.g:2403:5: {...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 5)");
}
// InternalReqSpec.g:2403:101: ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) )
// InternalReqSpec.g:2404:6: ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 5);
// InternalReqSpec.g:2407:9: ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) )
// InternalReqSpec.g:2407:10: {...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2407:19: ( (lv_changeUncertainty_14_0= ruleUncertainty ) )
// InternalReqSpec.g:2407:20: (lv_changeUncertainty_14_0= ruleUncertainty )
{
// InternalReqSpec.g:2407:20: (lv_changeUncertainty_14_0= ruleUncertainty )
// InternalReqSpec.g:2408:10: lv_changeUncertainty_14_0= ruleUncertainty
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getChangeUncertaintyUncertaintyParserRuleCall_5_5_0());
}
pushFollow(FollowSets000.FOLLOW_36);
lv_changeUncertainty_14_0=ruleUncertainty();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGoalRule());
}
set(
current,
"changeUncertainty",
lv_changeUncertainty_14_0,
"org.osate.alisa.common.Common.Uncertainty");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 7 :
// InternalReqSpec.g:2430:4: ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2430:4: ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2431:5: {...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 6)");
}
// InternalReqSpec.g:2431:101: ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2432:6: ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 6);
// InternalReqSpec.g:2435:9: ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2435:10: {...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2435:19: (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2435:20: otherlv_15= 'refines' ( ( ruleQualifiedName ) )+
{
otherlv_15=(Token)match(input,34,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getGoalAccess().getRefinesKeyword_5_6_0());
}
// InternalReqSpec.g:2439:9: ( ( ruleQualifiedName ) )+
int cnt57=0;
loop57:
do {
int alt57=2;
int LA57_0 = input.LA(1);
if ( (LA57_0==RULE_ID) ) {
alt57=1;
}
switch (alt57) {
case 1 :
// InternalReqSpec.g:2440:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2440:10: ( ruleQualifiedName )
// InternalReqSpec.g:2441:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getRefinesReferenceGoalCrossReference_5_6_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt57 >= 1 ) break loop57;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(57, input);
throw eee;
}
cnt57++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 8 :
// InternalReqSpec.g:2461:4: ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2461:4: ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2462:5: {...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 7)");
}
// InternalReqSpec.g:2462:101: ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2463:6: ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 7);
// InternalReqSpec.g:2466:9: ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2466:10: {...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2466:19: (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2466:20: otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+
{
otherlv_17=(Token)match(input,35,FollowSets000.FOLLOW_38); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getGoalAccess().getConflictsKeyword_5_7_0());
}
otherlv_18=(Token)match(input,36,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getGoalAccess().getWithKeyword_5_7_1());
}
// InternalReqSpec.g:2474:9: ( ( ruleQualifiedName ) )+
int cnt58=0;
loop58:
do {
int alt58=2;
int LA58_0 = input.LA(1);
if ( (LA58_0==RULE_ID) ) {
alt58=1;
}
switch (alt58) {
case 1 :
// InternalReqSpec.g:2475:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2475:10: ( ruleQualifiedName )
// InternalReqSpec.g:2476:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getConflictsReferenceGoalCrossReference_5_7_2_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt58 >= 1 ) break loop58;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(58, input);
throw eee;
}
cnt58++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 9 :
// InternalReqSpec.g:2496:4: ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2496:4: ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2497:5: {...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 8) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 8)");
}
// InternalReqSpec.g:2497:101: ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2498:6: ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 8);
// InternalReqSpec.g:2501:9: ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2501:10: {...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2501:19: (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2501:20: otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+
{
otherlv_20=(Token)match(input,37,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getGoalAccess().getEvolvesKeyword_5_8_0());
}
// InternalReqSpec.g:2505:9: ( ( ruleQualifiedName ) )+
int cnt59=0;
loop59:
do {
int alt59=2;
int LA59_0 = input.LA(1);
if ( (LA59_0==RULE_ID) ) {
alt59=1;
}
switch (alt59) {
case 1 :
// InternalReqSpec.g:2506:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2506:10: ( ruleQualifiedName )
// InternalReqSpec.g:2507:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getEvolvesReferenceRequirementCrossReference_5_8_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt59 >= 1 ) break loop59;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(59, input);
throw eee;
}
cnt59++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 10 :
// InternalReqSpec.g:2527:4: ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) )
{
// InternalReqSpec.g:2527:4: ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) )
// InternalReqSpec.g:2528:5: {...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 9) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 9)");
}
// InternalReqSpec.g:2528:101: ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) )
// InternalReqSpec.g:2529:6: ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 9);
// InternalReqSpec.g:2532:9: ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) )
// InternalReqSpec.g:2532:10: {...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2532:19: ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? )
// InternalReqSpec.g:2532:20: ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )?
{
// InternalReqSpec.g:2532:20: ( (lv_dropped_22_0= 'dropped' ) )
// InternalReqSpec.g:2533:10: (lv_dropped_22_0= 'dropped' )
{
// InternalReqSpec.g:2533:10: (lv_dropped_22_0= 'dropped' )
// InternalReqSpec.g:2534:11: lv_dropped_22_0= 'dropped'
{
lv_dropped_22_0=(Token)match(input,38,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropped_22_0, grammarAccess.getGoalAccess().getDroppedDroppedKeyword_5_9_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
setWithLastConsumed(current, "dropped", true, "dropped");
}
}
}
// InternalReqSpec.g:2546:9: ( (lv_dropRationale_23_0= RULE_STRING ) )?
int alt60=2;
int LA60_0 = input.LA(1);
if ( (LA60_0==RULE_STRING) ) {
alt60=1;
}
switch (alt60) {
case 1 :
// InternalReqSpec.g:2547:10: (lv_dropRationale_23_0= RULE_STRING )
{
// InternalReqSpec.g:2547:10: (lv_dropRationale_23_0= RULE_STRING )
// InternalReqSpec.g:2548:11: lv_dropRationale_23_0= RULE_STRING
{
lv_dropRationale_23_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_36); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropRationale_23_0, grammarAccess.getGoalAccess().getDropRationaleSTRINGTerminalRuleCall_5_9_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
setWithLastConsumed(
current,
"dropRationale",
lv_dropRationale_23_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 11 :
// InternalReqSpec.g:2570:4: ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2570:4: ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2571:5: {...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 10) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 10)");
}
// InternalReqSpec.g:2571:102: ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2572:6: ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 10);
// InternalReqSpec.g:2575:9: ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2575:10: {...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2575:19: (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2575:20: otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+
{
otherlv_24=(Token)match(input,20,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_24, grammarAccess.getGoalAccess().getStakeholderKeyword_5_10_0());
}
// InternalReqSpec.g:2579:9: ( ( ruleQualifiedName ) )+
int cnt61=0;
loop61:
do {
int alt61=2;
int LA61_0 = input.LA(1);
if ( (LA61_0==RULE_ID) ) {
alt61=1;
}
switch (alt61) {
case 1 :
// InternalReqSpec.g:2580:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2580:10: ( ruleQualifiedName )
// InternalReqSpec.g:2581:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getStakeholderReferenceStakeholderCrossReference_5_10_1_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt61 >= 1 ) break loop61;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(61, input);
throw eee;
}
cnt61++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 12 :
// InternalReqSpec.g:2601:4: ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:2601:4: ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:2602:5: {...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 11) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 11)");
}
// InternalReqSpec.g:2602:102: ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:2603:6: ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 11);
// InternalReqSpec.g:2606:9: ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:2606:10: {...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2606:19: (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2606:20: otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+
{
otherlv_26=(Token)match(input,25,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_26, grammarAccess.getGoalAccess().getSeeKeyword_5_11_0());
}
otherlv_27=(Token)match(input,32,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getGoalAccess().getGoalKeyword_5_11_1());
}
// InternalReqSpec.g:2614:9: ( ( ruleQualifiedName ) )+
int cnt62=0;
loop62:
do {
int alt62=2;
int LA62_0 = input.LA(1);
if ( (LA62_0==RULE_ID) ) {
alt62=1;
}
switch (alt62) {
case 1 :
// InternalReqSpec.g:2615:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:2615:10: ( ruleQualifiedName )
// InternalReqSpec.g:2616:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getGoalReferenceGoalCrossReference_5_11_2_0());
}
pushFollow(FollowSets000.FOLLOW_37);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt62 >= 1 ) break loop62;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(62, input);
throw eee;
}
cnt62++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 13 :
// InternalReqSpec.g:2636:4: ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) )
{
// InternalReqSpec.g:2636:4: ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) )
// InternalReqSpec.g:2637:5: {...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 12) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 12)");
}
// InternalReqSpec.g:2637:102: ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) )
// InternalReqSpec.g:2638:6: ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 12);
// InternalReqSpec.g:2641:9: ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) )
// InternalReqSpec.g:2641:10: {...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2641:19: (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:2641:20: otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+
{
otherlv_29=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getGoalAccess().getSeeKeyword_5_12_0());
}
otherlv_30=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getGoalAccess().getDocumentKeyword_5_12_1());
}
// InternalReqSpec.g:2649:9: ( (lv_docReference_31_0= ruleExternalDocument ) )+
int cnt63=0;
loop63:
do {
int alt63=2;
int LA63_0 = input.LA(1);
if ( (LA63_0==RULE_ID) ) {
alt63=1;
}
switch (alt63) {
case 1 :
// InternalReqSpec.g:2650:10: (lv_docReference_31_0= ruleExternalDocument )
{
// InternalReqSpec.g:2650:10: (lv_docReference_31_0= ruleExternalDocument )
// InternalReqSpec.g:2651:11: lv_docReference_31_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGoalAccess().getDocReferenceExternalDocumentParserRuleCall_5_12_2_0());
}
pushFollow(FollowSets000.FOLLOW_37);
lv_docReference_31_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGoalRule());
}
add(
current,
"docReference",
lv_docReference_31_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt63 >= 1 ) break loop63;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(63, input);
throw eee;
}
cnt63++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
case 14 :
// InternalReqSpec.g:2674:4: ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) )
{
// InternalReqSpec.g:2674:4: ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) )
// InternalReqSpec.g:2675:5: {...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 13) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 13)");
}
// InternalReqSpec.g:2675:102: ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) )
// InternalReqSpec.g:2676:6: ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 13);
// InternalReqSpec.g:2679:9: ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) )
// InternalReqSpec.g:2679:10: {...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGoal", "true");
}
// InternalReqSpec.g:2679:19: (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ )
// InternalReqSpec.g:2679:20: otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+
{
otherlv_32=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getGoalAccess().getIssuesKeyword_5_13_0());
}
// InternalReqSpec.g:2683:9: ( (lv_issues_33_0= RULE_STRING ) )+
int cnt64=0;
loop64:
do {
int alt64=2;
int LA64_0 = input.LA(1);
if ( (LA64_0==RULE_STRING) ) {
alt64=1;
}
switch (alt64) {
case 1 :
// InternalReqSpec.g:2684:10: (lv_issues_33_0= RULE_STRING )
{
// InternalReqSpec.g:2684:10: (lv_issues_33_0= RULE_STRING )
// InternalReqSpec.g:2685:11: lv_issues_33_0= RULE_STRING
{
lv_issues_33_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_39); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_33_0, grammarAccess.getGoalAccess().getIssuesSTRINGTerminalRuleCall_5_13_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGoalRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_33_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt64 >= 1 ) break loop64;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(64, input);
throw eee;
}
cnt64++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
}
}
break;
default :
break loop65;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getGoalAccess().getUnorderedGroup_5());
}
otherlv_34=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getGoalAccess().getRightSquareBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGoal"
// $ANTLR start "entryRuleSystemRequirement"
// InternalReqSpec.g:2722:1: entryRuleSystemRequirement returns [EObject current=null] : iv_ruleSystemRequirement= ruleSystemRequirement EOF ;
public final EObject entryRuleSystemRequirement() throws RecognitionException {
EObject current = null;
EObject iv_ruleSystemRequirement = null;
try {
// InternalReqSpec.g:2722:58: (iv_ruleSystemRequirement= ruleSystemRequirement EOF )
// InternalReqSpec.g:2723:2: iv_ruleSystemRequirement= ruleSystemRequirement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleSystemRequirement=ruleSystemRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleSystemRequirement;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleSystemRequirement"
// $ANTLR start "ruleSystemRequirement"
// InternalReqSpec.g:2729:1: ruleSystemRequirement returns [EObject current=null] : (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )* otherlv_43= ']' ) ;
public final EObject ruleSystemRequirement() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token otherlv_4=null;
Token otherlv_5=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_14=null;
Token otherlv_15=null;
Token lv_exceptionText_16_0=null;
Token otherlv_17=null;
Token lv_dropped_19_0=null;
Token lv_dropRationale_20_0=null;
Token otherlv_23=null;
Token otherlv_25=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token otherlv_33=null;
Token otherlv_35=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_39=null;
Token otherlv_41=null;
Token lv_issues_42_0=null;
Token otherlv_43=null;
EObject lv_description_9_0 = null;
EObject lv_whencondition_10_0 = null;
EObject lv_predicate_11_0 = null;
EObject lv_rationale_12_0 = null;
EObject lv_changeUncertainty_13_0 = null;
EObject lv_constants_21_0 = null;
EObject lv_computes_22_0 = null;
EObject lv_docReference_40_0 = null;
enterRule();
try {
// InternalReqSpec.g:2735:2: ( (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )* otherlv_43= ']' ) )
// InternalReqSpec.g:2736:2: (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )* otherlv_43= ']' )
{
// InternalReqSpec.g:2736:2: (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )* otherlv_43= ']' )
// InternalReqSpec.g:2737:3: otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )? otherlv_6= '[' ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )* otherlv_43= ']'
{
otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getSystemRequirementAccess().getRequirementKeyword_0());
}
// InternalReqSpec.g:2741:3: ( (lv_name_1_0= RULE_ID ) )
// InternalReqSpec.g:2742:4: (lv_name_1_0= RULE_ID )
{
// InternalReqSpec.g:2742:4: (lv_name_1_0= RULE_ID )
// InternalReqSpec.g:2743:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getSystemRequirementAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:2759:3: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt66=2;
int LA66_0 = input.LA(1);
if ( (LA66_0==22) ) {
alt66=1;
}
switch (alt66) {
case 1 :
// InternalReqSpec.g:2760:4: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getSystemRequirementAccess().getColonKeyword_2_0());
}
// InternalReqSpec.g:2764:4: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:2765:5: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:2765:5: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:2766:6: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getSystemRequirementAccess().getTitleSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:2783:3: (otherlv_4= 'for' ( (otherlv_5= RULE_ID ) ) )?
int alt67=2;
int LA67_0 = input.LA(1);
if ( (LA67_0==23) ) {
alt67=1;
}
switch (alt67) {
case 1 :
// InternalReqSpec.g:2784:4: otherlv_4= 'for' ( (otherlv_5= RULE_ID ) )
{
otherlv_4=(Token)match(input,23,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getSystemRequirementAccess().getForKeyword_3_0());
}
// InternalReqSpec.g:2788:4: ( (otherlv_5= RULE_ID ) )
// InternalReqSpec.g:2789:5: (otherlv_5= RULE_ID )
{
// InternalReqSpec.g:2789:5: (otherlv_5= RULE_ID )
// InternalReqSpec.g:2790:6: otherlv_5= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getSystemRequirementAccess().getTargetElementNamedElementCrossReference_3_1_0());
}
}
}
}
break;
}
otherlv_6=(Token)match(input,18,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getSystemRequirementAccess().getLeftSquareBracketKeyword_4());
}
// InternalReqSpec.g:2806:3: ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )*
loop79:
do {
int alt79=20;
alt79 = dfa79.predict(input);
switch (alt79) {
case 1 :
// InternalReqSpec.g:2807:4: (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:2807:4: (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:2808:5: otherlv_7= 'category' ( ( ruleQualifiedName ) )+
{
otherlv_7=(Token)match(input,33,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getSystemRequirementAccess().getCategoryKeyword_5_0_0());
}
// InternalReqSpec.g:2812:5: ( ( ruleQualifiedName ) )+
int cnt68=0;
loop68:
do {
int alt68=2;
int LA68_0 = input.LA(1);
if ( (LA68_0==RULE_ID) ) {
alt68=1;
}
switch (alt68) {
case 1 :
// InternalReqSpec.g:2813:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:2813:6: ( ruleQualifiedName )
// InternalReqSpec.g:2814:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getCategoryCategoryCrossReference_5_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt68 >= 1 ) break loop68;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(68, input);
throw eee;
}
cnt68++;
} while (true);
}
}
break;
case 2 :
// InternalReqSpec.g:2830:4: ( (lv_description_9_0= ruleDescription ) )
{
// InternalReqSpec.g:2830:4: ( (lv_description_9_0= ruleDescription ) )
// InternalReqSpec.g:2831:5: (lv_description_9_0= ruleDescription )
{
// InternalReqSpec.g:2831:5: (lv_description_9_0= ruleDescription )
// InternalReqSpec.g:2832:6: lv_description_9_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getDescriptionDescriptionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_description_9_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
set(
current,
"description",
lv_description_9_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 3 :
// InternalReqSpec.g:2850:4: ( (lv_whencondition_10_0= ruleWhenCondition ) )
{
// InternalReqSpec.g:2850:4: ( (lv_whencondition_10_0= ruleWhenCondition ) )
// InternalReqSpec.g:2851:5: (lv_whencondition_10_0= ruleWhenCondition )
{
// InternalReqSpec.g:2851:5: (lv_whencondition_10_0= ruleWhenCondition )
// InternalReqSpec.g:2852:6: lv_whencondition_10_0= ruleWhenCondition
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getWhenconditionWhenConditionParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_whencondition_10_0=ruleWhenCondition();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
set(
current,
"whencondition",
lv_whencondition_10_0,
"org.osate.reqspec.ReqSpec.WhenCondition");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// InternalReqSpec.g:2870:4: ( (lv_predicate_11_0= ruleReqPredicate ) )
{
// InternalReqSpec.g:2870:4: ( (lv_predicate_11_0= ruleReqPredicate ) )
// InternalReqSpec.g:2871:5: (lv_predicate_11_0= ruleReqPredicate )
{
// InternalReqSpec.g:2871:5: (lv_predicate_11_0= ruleReqPredicate )
// InternalReqSpec.g:2872:6: lv_predicate_11_0= ruleReqPredicate
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getPredicateReqPredicateParserRuleCall_5_3_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_predicate_11_0=ruleReqPredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
set(
current,
"predicate",
lv_predicate_11_0,
"org.osate.reqspec.ReqSpec.ReqPredicate");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 5 :
// InternalReqSpec.g:2890:4: ( (lv_rationale_12_0= ruleRationale ) )
{
// InternalReqSpec.g:2890:4: ( (lv_rationale_12_0= ruleRationale ) )
// InternalReqSpec.g:2891:5: (lv_rationale_12_0= ruleRationale )
{
// InternalReqSpec.g:2891:5: (lv_rationale_12_0= ruleRationale )
// InternalReqSpec.g:2892:6: lv_rationale_12_0= ruleRationale
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getRationaleRationaleParserRuleCall_5_4_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_rationale_12_0=ruleRationale();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
set(
current,
"rationale",
lv_rationale_12_0,
"org.osate.alisa.common.Common.Rationale");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 6 :
// InternalReqSpec.g:2910:4: ( (lv_changeUncertainty_13_0= ruleUncertainty ) )
{
// InternalReqSpec.g:2910:4: ( (lv_changeUncertainty_13_0= ruleUncertainty ) )
// InternalReqSpec.g:2911:5: (lv_changeUncertainty_13_0= ruleUncertainty )
{
// InternalReqSpec.g:2911:5: (lv_changeUncertainty_13_0= ruleUncertainty )
// InternalReqSpec.g:2912:6: lv_changeUncertainty_13_0= ruleUncertainty
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getChangeUncertaintyUncertaintyParserRuleCall_5_5_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_changeUncertainty_13_0=ruleUncertainty();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
set(
current,
"changeUncertainty",
lv_changeUncertainty_13_0,
"org.osate.alisa.common.Common.Uncertainty");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 7 :
// InternalReqSpec.g:2930:4: (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) )
{
// InternalReqSpec.g:2930:4: (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) )
// InternalReqSpec.g:2931:5: otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) )
{
otherlv_14=(Token)match(input,40,FollowSets000.FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getSystemRequirementAccess().getMitigatesKeyword_5_6_0());
}
// InternalReqSpec.g:2935:5: ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) )
int alt69=2;
int LA69_0 = input.LA(1);
if ( (LA69_0==RULE_ID) ) {
alt69=1;
}
else if ( (LA69_0==RULE_STRING) ) {
alt69=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 69, 0, input);
throw nvae;
}
switch (alt69) {
case 1 :
// InternalReqSpec.g:2936:6: ( (otherlv_15= RULE_ID ) )
{
// InternalReqSpec.g:2936:6: ( (otherlv_15= RULE_ID ) )
// InternalReqSpec.g:2937:7: (otherlv_15= RULE_ID )
{
// InternalReqSpec.g:2937:7: (otherlv_15= RULE_ID )
// InternalReqSpec.g:2938:8: otherlv_15= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
otherlv_15=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_15, grammarAccess.getSystemRequirementAccess().getExceptionEObjectCrossReference_5_6_1_0_0());
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:2950:6: ( (lv_exceptionText_16_0= RULE_STRING ) )
{
// InternalReqSpec.g:2950:6: ( (lv_exceptionText_16_0= RULE_STRING ) )
// InternalReqSpec.g:2951:7: (lv_exceptionText_16_0= RULE_STRING )
{
// InternalReqSpec.g:2951:7: (lv_exceptionText_16_0= RULE_STRING )
// InternalReqSpec.g:2952:8: lv_exceptionText_16_0= RULE_STRING
{
lv_exceptionText_16_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exceptionText_16_0, grammarAccess.getSystemRequirementAccess().getExceptionTextSTRINGTerminalRuleCall_5_6_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
setWithLastConsumed(
current,
"exceptionText",
lv_exceptionText_16_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
}
}
break;
case 8 :
// InternalReqSpec.g:2971:4: (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) )
{
// InternalReqSpec.g:2971:4: (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) )
// InternalReqSpec.g:2972:5: otherlv_17= 'inherits' ( ( ruleQualifiedName ) )
{
otherlv_17=(Token)match(input,41,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_17, grammarAccess.getSystemRequirementAccess().getInheritsKeyword_5_7_0());
}
// InternalReqSpec.g:2976:5: ( ( ruleQualifiedName ) )
// InternalReqSpec.g:2977:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:2977:6: ( ruleQualifiedName )
// InternalReqSpec.g:2978:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getInheritsReferenceRequirementCrossReference_5_7_1_0());
}
pushFollow(FollowSets000.FOLLOW_41);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 9 :
// InternalReqSpec.g:2994:4: ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? )
{
// InternalReqSpec.g:2994:4: ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? )
// InternalReqSpec.g:2995:5: ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )?
{
// InternalReqSpec.g:2995:5: ( (lv_dropped_19_0= 'dropped' ) )
// InternalReqSpec.g:2996:6: (lv_dropped_19_0= 'dropped' )
{
// InternalReqSpec.g:2996:6: (lv_dropped_19_0= 'dropped' )
// InternalReqSpec.g:2997:7: lv_dropped_19_0= 'dropped'
{
lv_dropped_19_0=(Token)match(input,38,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropped_19_0, grammarAccess.getSystemRequirementAccess().getDroppedDroppedKeyword_5_8_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
setWithLastConsumed(current, "dropped", true, "dropped");
}
}
}
// InternalReqSpec.g:3009:5: ( (lv_dropRationale_20_0= RULE_STRING ) )?
int alt70=2;
int LA70_0 = input.LA(1);
if ( (LA70_0==RULE_STRING) ) {
alt70=1;
}
switch (alt70) {
case 1 :
// InternalReqSpec.g:3010:6: (lv_dropRationale_20_0= RULE_STRING )
{
// InternalReqSpec.g:3010:6: (lv_dropRationale_20_0= RULE_STRING )
// InternalReqSpec.g:3011:7: lv_dropRationale_20_0= RULE_STRING
{
lv_dropRationale_20_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropRationale_20_0, grammarAccess.getSystemRequirementAccess().getDropRationaleSTRINGTerminalRuleCall_5_8_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
setWithLastConsumed(
current,
"dropRationale",
lv_dropRationale_20_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
}
}
}
break;
case 10 :
// InternalReqSpec.g:3029:4: ( (lv_constants_21_0= ruleValDeclaration ) )
{
// InternalReqSpec.g:3029:4: ( (lv_constants_21_0= ruleValDeclaration ) )
// InternalReqSpec.g:3030:5: (lv_constants_21_0= ruleValDeclaration )
{
// InternalReqSpec.g:3030:5: (lv_constants_21_0= ruleValDeclaration )
// InternalReqSpec.g:3031:6: lv_constants_21_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getConstantsValDeclarationParserRuleCall_5_9_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_constants_21_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
add(
current,
"constants",
lv_constants_21_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 11 :
// InternalReqSpec.g:3049:4: ( (lv_computes_22_0= ruleComputeDeclaration ) )
{
// InternalReqSpec.g:3049:4: ( (lv_computes_22_0= ruleComputeDeclaration ) )
// InternalReqSpec.g:3050:5: (lv_computes_22_0= ruleComputeDeclaration )
{
// InternalReqSpec.g:3050:5: (lv_computes_22_0= ruleComputeDeclaration )
// InternalReqSpec.g:3051:6: lv_computes_22_0= ruleComputeDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getComputesComputeDeclarationParserRuleCall_5_10_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_computes_22_0=ruleComputeDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
add(
current,
"computes",
lv_computes_22_0,
"org.osate.alisa.common.Common.ComputeDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 12 :
// InternalReqSpec.g:3069:4: (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:3069:4: (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3070:5: otherlv_23= 'refines' ( ( ruleQualifiedName ) )+
{
otherlv_23=(Token)match(input,34,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getSystemRequirementAccess().getRefinesKeyword_5_11_0());
}
// InternalReqSpec.g:3074:5: ( ( ruleQualifiedName ) )+
int cnt71=0;
loop71:
do {
int alt71=2;
int LA71_0 = input.LA(1);
if ( (LA71_0==RULE_ID) ) {
alt71=1;
}
switch (alt71) {
case 1 :
// InternalReqSpec.g:3075:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:3075:6: ( ruleQualifiedName )
// InternalReqSpec.g:3076:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getRefinesReferenceRequirementCrossReference_5_11_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt71 >= 1 ) break loop71;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(71, input);
throw eee;
}
cnt71++;
} while (true);
}
}
break;
case 13 :
// InternalReqSpec.g:3092:4: (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:3092:4: (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3093:5: otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+
{
otherlv_25=(Token)match(input,42,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getSystemRequirementAccess().getDecomposesKeyword_5_12_0());
}
// InternalReqSpec.g:3097:5: ( ( ruleQualifiedName ) )+
int cnt72=0;
loop72:
do {
int alt72=2;
int LA72_0 = input.LA(1);
if ( (LA72_0==RULE_ID) ) {
alt72=1;
}
switch (alt72) {
case 1 :
// InternalReqSpec.g:3098:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:3098:6: ( ruleQualifiedName )
// InternalReqSpec.g:3099:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getDecomposesReferenceRequirementCrossReference_5_12_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt72 >= 1 ) break loop72;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(72, input);
throw eee;
}
cnt72++;
} while (true);
}
}
break;
case 14 :
// InternalReqSpec.g:3115:4: (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:3115:4: (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3116:5: otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+
{
otherlv_27=(Token)match(input,37,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getSystemRequirementAccess().getEvolvesKeyword_5_13_0());
}
// InternalReqSpec.g:3120:5: ( ( ruleQualifiedName ) )+
int cnt73=0;
loop73:
do {
int alt73=2;
int LA73_0 = input.LA(1);
if ( (LA73_0==RULE_ID) ) {
alt73=1;
}
switch (alt73) {
case 1 :
// InternalReqSpec.g:3121:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:3121:6: ( ruleQualifiedName )
// InternalReqSpec.g:3122:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getEvolvesReferenceRequirementCrossReference_5_13_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt73 >= 1 ) break loop73;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(73, input);
throw eee;
}
cnt73++;
} while (true);
}
}
break;
case 15 :
// InternalReqSpec.g:3138:4: (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:3138:4: (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3139:5: otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+
{
otherlv_29=(Token)match(input,43,FollowSets000.FOLLOW_44); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getSystemRequirementAccess().getDevelopmentKeyword_5_14_0());
}
otherlv_30=(Token)match(input,20,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getSystemRequirementAccess().getStakeholderKeyword_5_14_1());
}
// InternalReqSpec.g:3147:5: ( ( ruleQualifiedName ) )+
int cnt74=0;
loop74:
do {
int alt74=2;
int LA74_0 = input.LA(1);
if ( (LA74_0==RULE_ID) ) {
alt74=1;
}
switch (alt74) {
case 1 :
// InternalReqSpec.g:3148:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:3148:6: ( ruleQualifiedName )
// InternalReqSpec.g:3149:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getDevelopmentStakeholderStakeholderCrossReference_5_14_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt74 >= 1 ) break loop74;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(74, input);
throw eee;
}
cnt74++;
} while (true);
}
}
break;
case 16 :
// InternalReqSpec.g:3165:4: (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:3165:4: (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3166:5: otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+
{
otherlv_32=(Token)match(input,25,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getSystemRequirementAccess().getSeeKeyword_5_15_0());
}
otherlv_33=(Token)match(input,32,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getSystemRequirementAccess().getGoalKeyword_5_15_1());
}
// InternalReqSpec.g:3174:5: ( ( ruleQualifiedName ) )+
int cnt75=0;
loop75:
do {
int alt75=2;
int LA75_0 = input.LA(1);
if ( (LA75_0==RULE_ID) ) {
alt75=1;
}
switch (alt75) {
case 1 :
// InternalReqSpec.g:3175:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:3175:6: ( ruleQualifiedName )
// InternalReqSpec.g:3176:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getGoalReferenceGoalCrossReference_5_15_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt75 >= 1 ) break loop75;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(75, input);
throw eee;
}
cnt75++;
} while (true);
}
}
break;
case 17 :
// InternalReqSpec.g:3192:4: (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ )
{
// InternalReqSpec.g:3192:4: (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3193:5: otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+
{
otherlv_35=(Token)match(input,25,FollowSets000.FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getSystemRequirementAccess().getSeeKeyword_5_16_0());
}
otherlv_36=(Token)match(input,39,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getSystemRequirementAccess().getRequirementKeyword_5_16_1());
}
// InternalReqSpec.g:3201:5: ( ( ruleQualifiedName ) )+
int cnt76=0;
loop76:
do {
int alt76=2;
int LA76_0 = input.LA(1);
if ( (LA76_0==RULE_ID) ) {
alt76=1;
}
switch (alt76) {
case 1 :
// InternalReqSpec.g:3202:6: ( ruleQualifiedName )
{
// InternalReqSpec.g:3202:6: ( ruleQualifiedName )
// InternalReqSpec.g:3203:7: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getRequirementReferenceRequirementCrossReference_5_16_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt76 >= 1 ) break loop76;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(76, input);
throw eee;
}
cnt76++;
} while (true);
}
}
break;
case 18 :
// InternalReqSpec.g:3219:4: (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ )
{
// InternalReqSpec.g:3219:4: (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:3220:5: otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+
{
otherlv_38=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getSystemRequirementAccess().getSeeKeyword_5_17_0());
}
otherlv_39=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getSystemRequirementAccess().getDocumentKeyword_5_17_1());
}
// InternalReqSpec.g:3228:5: ( (lv_docReference_40_0= ruleExternalDocument ) )+
int cnt77=0;
loop77:
do {
int alt77=2;
int LA77_0 = input.LA(1);
if ( (LA77_0==RULE_ID) ) {
alt77=1;
}
switch (alt77) {
case 1 :
// InternalReqSpec.g:3229:6: (lv_docReference_40_0= ruleExternalDocument )
{
// InternalReqSpec.g:3229:6: (lv_docReference_40_0= ruleExternalDocument )
// InternalReqSpec.g:3230:7: lv_docReference_40_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getSystemRequirementAccess().getDocReferenceExternalDocumentParserRuleCall_5_17_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
lv_docReference_40_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getSystemRequirementRule());
}
add(
current,
"docReference",
lv_docReference_40_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt77 >= 1 ) break loop77;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(77, input);
throw eee;
}
cnt77++;
} while (true);
}
}
break;
case 19 :
// InternalReqSpec.g:3249:4: (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ )
{
// InternalReqSpec.g:3249:4: (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ )
// InternalReqSpec.g:3250:5: otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+
{
otherlv_41=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_41, grammarAccess.getSystemRequirementAccess().getIssuesKeyword_5_18_0());
}
// InternalReqSpec.g:3254:5: ( (lv_issues_42_0= RULE_STRING ) )+
int cnt78=0;
loop78:
do {
int alt78=2;
int LA78_0 = input.LA(1);
if ( (LA78_0==RULE_STRING) ) {
alt78=1;
}
switch (alt78) {
case 1 :
// InternalReqSpec.g:3255:6: (lv_issues_42_0= RULE_STRING )
{
// InternalReqSpec.g:3255:6: (lv_issues_42_0= RULE_STRING )
// InternalReqSpec.g:3256:7: lv_issues_42_0= RULE_STRING
{
lv_issues_42_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_42_0, grammarAccess.getSystemRequirementAccess().getIssuesSTRINGTerminalRuleCall_5_18_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getSystemRequirementRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_42_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt78 >= 1 ) break loop78;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(78, input);
throw eee;
}
cnt78++;
} while (true);
}
}
break;
default :
break loop79;
}
} while (true);
otherlv_43=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_43, grammarAccess.getSystemRequirementAccess().getRightSquareBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleSystemRequirement"
// $ANTLR start "entryRuleGlobalRequirement"
// InternalReqSpec.g:3282:1: entryRuleGlobalRequirement returns [EObject current=null] : iv_ruleGlobalRequirement= ruleGlobalRequirement EOF ;
public final EObject entryRuleGlobalRequirement() throws RecognitionException {
EObject current = null;
EObject iv_ruleGlobalRequirement = null;
try {
// InternalReqSpec.g:3282:58: (iv_ruleGlobalRequirement= ruleGlobalRequirement EOF )
// InternalReqSpec.g:3283:2: iv_ruleGlobalRequirement= ruleGlobalRequirement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleGlobalRequirement=ruleGlobalRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleGlobalRequirement;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleGlobalRequirement"
// $ANTLR start "ruleGlobalRequirement"
// InternalReqSpec.g:3289:1: ruleGlobalRequirement returns [EObject current=null] : (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) ) )? otherlv_7= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_43= ']' ) ;
public final EObject ruleGlobalRequirement() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token otherlv_4=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_18=null;
Token otherlv_19=null;
Token lv_exceptionText_20_0=null;
Token otherlv_21=null;
Token otherlv_23=null;
Token otherlv_25=null;
Token lv_dropped_27_0=null;
Token lv_dropRationale_28_0=null;
Token otherlv_29=null;
Token otherlv_30=null;
Token otherlv_32=null;
Token otherlv_33=null;
Token otherlv_35=null;
Token otherlv_36=null;
Token otherlv_38=null;
Token otherlv_39=null;
Token otherlv_41=null;
Token lv_issues_42_0=null;
Token otherlv_43=null;
AntlrDatatypeRuleToken lv_componentCategory_5_0 = null;
Enumerator lv_targetType_6_0 = null;
EObject lv_description_11_0 = null;
EObject lv_constants_12_0 = null;
EObject lv_computes_13_0 = null;
EObject lv_whencondition_14_0 = null;
EObject lv_predicate_15_0 = null;
EObject lv_rationale_16_0 = null;
EObject lv_changeUncertainty_17_0 = null;
EObject lv_docReference_40_0 = null;
enterRule();
try {
// InternalReqSpec.g:3295:2: ( (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) ) )? otherlv_7= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_43= ']' ) )
// InternalReqSpec.g:3296:2: (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) ) )? otherlv_7= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_43= ']' )
{
// InternalReqSpec.g:3296:2: (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) ) )? otherlv_7= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_43= ']' )
// InternalReqSpec.g:3297:3: otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) ) )? otherlv_7= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_43= ']'
{
otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getGlobalRequirementAccess().getRequirementKeyword_0());
}
// InternalReqSpec.g:3301:3: ( (lv_name_1_0= RULE_ID ) )
// InternalReqSpec.g:3302:4: (lv_name_1_0= RULE_ID )
{
// InternalReqSpec.g:3302:4: (lv_name_1_0= RULE_ID )
// InternalReqSpec.g:3303:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getGlobalRequirementAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:3319:3: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt80=2;
int LA80_0 = input.LA(1);
if ( (LA80_0==22) ) {
alt80=1;
}
switch (alt80) {
case 1 :
// InternalReqSpec.g:3320:4: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getGlobalRequirementAccess().getColonKeyword_2_0());
}
// InternalReqSpec.g:3324:4: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:3325:5: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:3325:5: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:3326:6: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getGlobalRequirementAccess().getTitleSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:3343:3: (otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) ) )?
int alt83=2;
int LA83_0 = input.LA(1);
if ( (LA83_0==23) ) {
alt83=1;
}
switch (alt83) {
case 1 :
// InternalReqSpec.g:3344:4: otherlv_4= 'for' ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) )
{
otherlv_4=(Token)match(input,23,FollowSets000.FOLLOW_46); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getGlobalRequirementAccess().getForKeyword_3_0());
}
// InternalReqSpec.g:3348:4: ( ( (lv_componentCategory_5_0= ruleComponentCategory ) )+ | ( (lv_targetType_6_0= ruleTargetType ) ) )
int alt82=2;
int LA82_0 = input.LA(1);
if ( (LA82_0==29||(LA82_0>=108 && LA82_0<=115)||(LA82_0>=117 && LA82_0<=118)) ) {
alt82=1;
}
else if ( (LA82_0==48||LA82_0==79||(LA82_0>=120 && LA82_0<=124)) ) {
alt82=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 82, 0, input);
throw nvae;
}
switch (alt82) {
case 1 :
// InternalReqSpec.g:3349:5: ( (lv_componentCategory_5_0= ruleComponentCategory ) )+
{
// InternalReqSpec.g:3349:5: ( (lv_componentCategory_5_0= ruleComponentCategory ) )+
int cnt81=0;
loop81:
do {
int alt81=2;
int LA81_0 = input.LA(1);
if ( (LA81_0==29||(LA81_0>=108 && LA81_0<=115)||(LA81_0>=117 && LA81_0<=118)) ) {
alt81=1;
}
switch (alt81) {
case 1 :
// InternalReqSpec.g:3350:6: (lv_componentCategory_5_0= ruleComponentCategory )
{
// InternalReqSpec.g:3350:6: (lv_componentCategory_5_0= ruleComponentCategory )
// InternalReqSpec.g:3351:7: lv_componentCategory_5_0= ruleComponentCategory
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getComponentCategoryComponentCategoryParserRuleCall_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_47);
lv_componentCategory_5_0=ruleComponentCategory();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
add(
current,
"componentCategory",
lv_componentCategory_5_0,
"org.osate.alisa.common.Common.ComponentCategory");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt81 >= 1 ) break loop81;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(81, input);
throw eee;
}
cnt81++;
} while (true);
}
break;
case 2 :
// InternalReqSpec.g:3369:5: ( (lv_targetType_6_0= ruleTargetType ) )
{
// InternalReqSpec.g:3369:5: ( (lv_targetType_6_0= ruleTargetType ) )
// InternalReqSpec.g:3370:6: (lv_targetType_6_0= ruleTargetType )
{
// InternalReqSpec.g:3370:6: (lv_targetType_6_0= ruleTargetType )
// InternalReqSpec.g:3371:7: lv_targetType_6_0= ruleTargetType
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getTargetTypeTargetTypeEnumRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_5);
lv_targetType_6_0=ruleTargetType();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
set(
current,
"targetType",
lv_targetType_6_0,
"org.osate.alisa.common.Common.TargetType");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
break;
}
otherlv_7=(Token)match(input,18,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getGlobalRequirementAccess().getLeftSquareBracketKeyword_4());
}
// InternalReqSpec.g:3394:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) ) )
// InternalReqSpec.g:3395:4: ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) )
{
// InternalReqSpec.g:3395:4: ( ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* ) )
// InternalReqSpec.g:3396:5: ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
// InternalReqSpec.g:3399:5: ( ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )* )
// InternalReqSpec.g:3400:6: ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )*
{
// InternalReqSpec.g:3400:6: ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )*
loop97:
do {
int alt97=19;
alt97 = dfa97.predict(input);
switch (alt97) {
case 1 :
// InternalReqSpec.g:3401:4: ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3401:4: ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3402:5: {...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 0)");
}
// InternalReqSpec.g:3402:114: ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3403:6: ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 0);
// InternalReqSpec.g:3406:9: ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3406:10: {...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3406:19: (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3406:20: otherlv_9= 'category' ( ( ruleQualifiedName ) )+
{
otherlv_9=(Token)match(input,33,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getGlobalRequirementAccess().getCategoryKeyword_5_0_0());
}
// InternalReqSpec.g:3410:9: ( ( ruleQualifiedName ) )+
int cnt84=0;
loop84:
do {
int alt84=2;
int LA84_0 = input.LA(1);
if ( (LA84_0==RULE_ID) ) {
alt84=1;
}
switch (alt84) {
case 1 :
// InternalReqSpec.g:3411:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3411:10: ( ruleQualifiedName )
// InternalReqSpec.g:3412:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getCategoryCategoryCrossReference_5_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt84 >= 1 ) break loop84;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(84, input);
throw eee;
}
cnt84++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 2 :
// InternalReqSpec.g:3432:4: ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:3432:4: ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:3433:5: {...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 1)");
}
// InternalReqSpec.g:3433:114: ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) )
// InternalReqSpec.g:3434:6: ({...}? => ( (lv_description_11_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 1);
// InternalReqSpec.g:3437:9: ({...}? => ( (lv_description_11_0= ruleDescription ) ) )
// InternalReqSpec.g:3437:10: {...}? => ( (lv_description_11_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3437:19: ( (lv_description_11_0= ruleDescription ) )
// InternalReqSpec.g:3437:20: (lv_description_11_0= ruleDescription )
{
// InternalReqSpec.g:3437:20: (lv_description_11_0= ruleDescription )
// InternalReqSpec.g:3438:10: lv_description_11_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getDescriptionDescriptionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_description_11_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
set(
current,
"description",
lv_description_11_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 3 :
// InternalReqSpec.g:3460:4: ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:3460:4: ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) )
// InternalReqSpec.g:3461:5: {...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 2)");
}
// InternalReqSpec.g:3461:114: ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ )
// InternalReqSpec.g:3462:6: ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 2);
// InternalReqSpec.g:3465:9: ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+
int cnt85=0;
loop85:
do {
int alt85=2;
int LA85_0 = input.LA(1);
if ( (LA85_0==60) ) {
int LA85_2 = input.LA(2);
if ( ((true)) ) {
alt85=1;
}
}
switch (alt85) {
case 1 :
// InternalReqSpec.g:3465:10: {...}? => ( (lv_constants_12_0= ruleValDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3465:19: ( (lv_constants_12_0= ruleValDeclaration ) )
// InternalReqSpec.g:3465:20: (lv_constants_12_0= ruleValDeclaration )
{
// InternalReqSpec.g:3465:20: (lv_constants_12_0= ruleValDeclaration )
// InternalReqSpec.g:3466:10: lv_constants_12_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getConstantsValDeclarationParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_constants_12_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
add(
current,
"constants",
lv_constants_12_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt85 >= 1 ) break loop85;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(85, input);
throw eee;
}
cnt85++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 4 :
// InternalReqSpec.g:3488:4: ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:3488:4: ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) )
// InternalReqSpec.g:3489:5: {...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 3)");
}
// InternalReqSpec.g:3489:114: ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ )
// InternalReqSpec.g:3490:6: ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 3);
// InternalReqSpec.g:3493:9: ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+
int cnt86=0;
loop86:
do {
int alt86=2;
int LA86_0 = input.LA(1);
if ( (LA86_0==80) ) {
int LA86_2 = input.LA(2);
if ( ((true)) ) {
alt86=1;
}
}
switch (alt86) {
case 1 :
// InternalReqSpec.g:3493:10: {...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3493:19: ( (lv_computes_13_0= ruleComputeDeclaration ) )
// InternalReqSpec.g:3493:20: (lv_computes_13_0= ruleComputeDeclaration )
{
// InternalReqSpec.g:3493:20: (lv_computes_13_0= ruleComputeDeclaration )
// InternalReqSpec.g:3494:10: lv_computes_13_0= ruleComputeDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getComputesComputeDeclarationParserRuleCall_5_3_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_computes_13_0=ruleComputeDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
add(
current,
"computes",
lv_computes_13_0,
"org.osate.alisa.common.Common.ComputeDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt86 >= 1 ) break loop86;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(86, input);
throw eee;
}
cnt86++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 5 :
// InternalReqSpec.g:3516:4: ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) )
{
// InternalReqSpec.g:3516:4: ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) )
// InternalReqSpec.g:3517:5: {...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 4)");
}
// InternalReqSpec.g:3517:114: ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) )
// InternalReqSpec.g:3518:6: ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 4);
// InternalReqSpec.g:3521:9: ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) )
// InternalReqSpec.g:3521:10: {...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3521:19: ( (lv_whencondition_14_0= ruleWhenCondition ) )
// InternalReqSpec.g:3521:20: (lv_whencondition_14_0= ruleWhenCondition )
{
// InternalReqSpec.g:3521:20: (lv_whencondition_14_0= ruleWhenCondition )
// InternalReqSpec.g:3522:10: lv_whencondition_14_0= ruleWhenCondition
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getWhenconditionWhenConditionParserRuleCall_5_4_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_whencondition_14_0=ruleWhenCondition();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
set(
current,
"whencondition",
lv_whencondition_14_0,
"org.osate.reqspec.ReqSpec.WhenCondition");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 6 :
// InternalReqSpec.g:3544:4: ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) )
{
// InternalReqSpec.g:3544:4: ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) )
// InternalReqSpec.g:3545:5: {...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 5)");
}
// InternalReqSpec.g:3545:114: ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) )
// InternalReqSpec.g:3546:6: ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 5);
// InternalReqSpec.g:3549:9: ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) )
// InternalReqSpec.g:3549:10: {...}? => ( (lv_predicate_15_0= ruleReqPredicate ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3549:19: ( (lv_predicate_15_0= ruleReqPredicate ) )
// InternalReqSpec.g:3549:20: (lv_predicate_15_0= ruleReqPredicate )
{
// InternalReqSpec.g:3549:20: (lv_predicate_15_0= ruleReqPredicate )
// InternalReqSpec.g:3550:10: lv_predicate_15_0= ruleReqPredicate
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getPredicateReqPredicateParserRuleCall_5_5_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_predicate_15_0=ruleReqPredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
set(
current,
"predicate",
lv_predicate_15_0,
"org.osate.reqspec.ReqSpec.ReqPredicate");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 7 :
// InternalReqSpec.g:3572:4: ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) )
{
// InternalReqSpec.g:3572:4: ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) )
// InternalReqSpec.g:3573:5: {...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 6)");
}
// InternalReqSpec.g:3573:114: ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) )
// InternalReqSpec.g:3574:6: ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 6);
// InternalReqSpec.g:3577:9: ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) )
// InternalReqSpec.g:3577:10: {...}? => ( (lv_rationale_16_0= ruleRationale ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3577:19: ( (lv_rationale_16_0= ruleRationale ) )
// InternalReqSpec.g:3577:20: (lv_rationale_16_0= ruleRationale )
{
// InternalReqSpec.g:3577:20: (lv_rationale_16_0= ruleRationale )
// InternalReqSpec.g:3578:10: lv_rationale_16_0= ruleRationale
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getRationaleRationaleParserRuleCall_5_6_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_rationale_16_0=ruleRationale();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
set(
current,
"rationale",
lv_rationale_16_0,
"org.osate.alisa.common.Common.Rationale");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 8 :
// InternalReqSpec.g:3600:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) )
{
// InternalReqSpec.g:3600:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) )
// InternalReqSpec.g:3601:5: {...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 7)");
}
// InternalReqSpec.g:3601:114: ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) )
// InternalReqSpec.g:3602:6: ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 7);
// InternalReqSpec.g:3605:9: ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) )
// InternalReqSpec.g:3605:10: {...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3605:19: ( (lv_changeUncertainty_17_0= ruleUncertainty ) )
// InternalReqSpec.g:3605:20: (lv_changeUncertainty_17_0= ruleUncertainty )
{
// InternalReqSpec.g:3605:20: (lv_changeUncertainty_17_0= ruleUncertainty )
// InternalReqSpec.g:3606:10: lv_changeUncertainty_17_0= ruleUncertainty
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getChangeUncertaintyUncertaintyParserRuleCall_5_7_0());
}
pushFollow(FollowSets000.FOLLOW_48);
lv_changeUncertainty_17_0=ruleUncertainty();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
set(
current,
"changeUncertainty",
lv_changeUncertainty_17_0,
"org.osate.alisa.common.Common.Uncertainty");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 9 :
// InternalReqSpec.g:3628:4: ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) )
{
// InternalReqSpec.g:3628:4: ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) )
// InternalReqSpec.g:3629:5: {...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 8) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 8)");
}
// InternalReqSpec.g:3629:114: ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) )
// InternalReqSpec.g:3630:6: ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 8);
// InternalReqSpec.g:3633:9: ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) )
// InternalReqSpec.g:3633:10: {...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3633:19: (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) )
// InternalReqSpec.g:3633:20: otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) )
{
otherlv_18=(Token)match(input,40,FollowSets000.FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_18, grammarAccess.getGlobalRequirementAccess().getMitigatesKeyword_5_8_0());
}
// InternalReqSpec.g:3637:9: ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) )
int alt87=2;
int LA87_0 = input.LA(1);
if ( (LA87_0==RULE_ID) ) {
alt87=1;
}
else if ( (LA87_0==RULE_STRING) ) {
alt87=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 87, 0, input);
throw nvae;
}
switch (alt87) {
case 1 :
// InternalReqSpec.g:3638:10: ( (otherlv_19= RULE_ID ) )
{
// InternalReqSpec.g:3638:10: ( (otherlv_19= RULE_ID ) )
// InternalReqSpec.g:3639:11: (otherlv_19= RULE_ID )
{
// InternalReqSpec.g:3639:11: (otherlv_19= RULE_ID )
// InternalReqSpec.g:3640:12: otherlv_19= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
otherlv_19=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_19, grammarAccess.getGlobalRequirementAccess().getExceptionEObjectCrossReference_5_8_1_0_0());
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:3652:10: ( (lv_exceptionText_20_0= RULE_STRING ) )
{
// InternalReqSpec.g:3652:10: ( (lv_exceptionText_20_0= RULE_STRING ) )
// InternalReqSpec.g:3653:11: (lv_exceptionText_20_0= RULE_STRING )
{
// InternalReqSpec.g:3653:11: (lv_exceptionText_20_0= RULE_STRING )
// InternalReqSpec.g:3654:12: lv_exceptionText_20_0= RULE_STRING
{
lv_exceptionText_20_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exceptionText_20_0, grammarAccess.getGlobalRequirementAccess().getExceptionTextSTRINGTerminalRuleCall_5_8_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
setWithLastConsumed(
current,
"exceptionText",
lv_exceptionText_20_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 10 :
// InternalReqSpec.g:3677:4: ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3677:4: ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3678:5: {...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 9) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 9)");
}
// InternalReqSpec.g:3678:114: ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3679:6: ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 9);
// InternalReqSpec.g:3682:9: ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3682:10: {...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3682:19: (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3682:20: otherlv_21= 'refines' ( ( ruleQualifiedName ) )+
{
otherlv_21=(Token)match(input,34,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getGlobalRequirementAccess().getRefinesKeyword_5_9_0());
}
// InternalReqSpec.g:3686:9: ( ( ruleQualifiedName ) )+
int cnt88=0;
loop88:
do {
int alt88=2;
int LA88_0 = input.LA(1);
if ( (LA88_0==RULE_ID) ) {
alt88=1;
}
switch (alt88) {
case 1 :
// InternalReqSpec.g:3687:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3687:10: ( ruleQualifiedName )
// InternalReqSpec.g:3688:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getRefinesReferenceRequirementCrossReference_5_9_1_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt88 >= 1 ) break loop88;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(88, input);
throw eee;
}
cnt88++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 11 :
// InternalReqSpec.g:3708:4: ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3708:4: ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3709:5: {...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 10) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 10)");
}
// InternalReqSpec.g:3709:115: ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3710:6: ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 10);
// InternalReqSpec.g:3713:9: ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3713:10: {...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3713:19: (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3713:20: otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+
{
otherlv_23=(Token)match(input,42,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getGlobalRequirementAccess().getDecomposesKeyword_5_10_0());
}
// InternalReqSpec.g:3717:9: ( ( ruleQualifiedName ) )+
int cnt89=0;
loop89:
do {
int alt89=2;
int LA89_0 = input.LA(1);
if ( (LA89_0==RULE_ID) ) {
alt89=1;
}
switch (alt89) {
case 1 :
// InternalReqSpec.g:3718:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3718:10: ( ruleQualifiedName )
// InternalReqSpec.g:3719:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getDecomposesReferenceRequirementCrossReference_5_10_1_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt89 >= 1 ) break loop89;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(89, input);
throw eee;
}
cnt89++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 12 :
// InternalReqSpec.g:3739:4: ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3739:4: ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3740:5: {...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 11) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 11)");
}
// InternalReqSpec.g:3740:115: ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3741:6: ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 11);
// InternalReqSpec.g:3744:9: ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3744:10: {...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3744:19: (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3744:20: otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+
{
otherlv_25=(Token)match(input,37,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getGlobalRequirementAccess().getEvolvesKeyword_5_11_0());
}
// InternalReqSpec.g:3748:9: ( ( ruleQualifiedName ) )+
int cnt90=0;
loop90:
do {
int alt90=2;
int LA90_0 = input.LA(1);
if ( (LA90_0==RULE_ID) ) {
alt90=1;
}
switch (alt90) {
case 1 :
// InternalReqSpec.g:3749:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3749:10: ( ruleQualifiedName )
// InternalReqSpec.g:3750:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getEvolvesReferenceRequirementCrossReference_5_11_1_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt90 >= 1 ) break loop90;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(90, input);
throw eee;
}
cnt90++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 13 :
// InternalReqSpec.g:3770:4: ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) )
{
// InternalReqSpec.g:3770:4: ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) )
// InternalReqSpec.g:3771:5: {...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 12) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 12)");
}
// InternalReqSpec.g:3771:115: ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) )
// InternalReqSpec.g:3772:6: ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 12);
// InternalReqSpec.g:3775:9: ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) )
// InternalReqSpec.g:3775:10: {...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3775:19: ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? )
// InternalReqSpec.g:3775:20: ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )?
{
// InternalReqSpec.g:3775:20: ( (lv_dropped_27_0= 'dropped' ) )
// InternalReqSpec.g:3776:10: (lv_dropped_27_0= 'dropped' )
{
// InternalReqSpec.g:3776:10: (lv_dropped_27_0= 'dropped' )
// InternalReqSpec.g:3777:11: lv_dropped_27_0= 'dropped'
{
lv_dropped_27_0=(Token)match(input,38,FollowSets000.FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropped_27_0, grammarAccess.getGlobalRequirementAccess().getDroppedDroppedKeyword_5_12_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
setWithLastConsumed(current, "dropped", true, "dropped");
}
}
}
// InternalReqSpec.g:3789:9: ( (lv_dropRationale_28_0= RULE_STRING ) )?
int alt91=2;
int LA91_0 = input.LA(1);
if ( (LA91_0==RULE_STRING) ) {
alt91=1;
}
switch (alt91) {
case 1 :
// InternalReqSpec.g:3790:10: (lv_dropRationale_28_0= RULE_STRING )
{
// InternalReqSpec.g:3790:10: (lv_dropRationale_28_0= RULE_STRING )
// InternalReqSpec.g:3791:11: lv_dropRationale_28_0= RULE_STRING
{
lv_dropRationale_28_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_48); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropRationale_28_0, grammarAccess.getGlobalRequirementAccess().getDropRationaleSTRINGTerminalRuleCall_5_12_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
setWithLastConsumed(
current,
"dropRationale",
lv_dropRationale_28_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 14 :
// InternalReqSpec.g:3813:4: ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3813:4: ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3814:5: {...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 13) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 13)");
}
// InternalReqSpec.g:3814:115: ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3815:6: ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 13);
// InternalReqSpec.g:3818:9: ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3818:10: {...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3818:19: (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3818:20: otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+
{
otherlv_29=(Token)match(input,43,FollowSets000.FOLLOW_44); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getGlobalRequirementAccess().getDevelopmentKeyword_5_13_0());
}
otherlv_30=(Token)match(input,20,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_30, grammarAccess.getGlobalRequirementAccess().getStakeholderKeyword_5_13_1());
}
// InternalReqSpec.g:3826:9: ( ( ruleQualifiedName ) )+
int cnt92=0;
loop92:
do {
int alt92=2;
int LA92_0 = input.LA(1);
if ( (LA92_0==RULE_ID) ) {
alt92=1;
}
switch (alt92) {
case 1 :
// InternalReqSpec.g:3827:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3827:10: ( ruleQualifiedName )
// InternalReqSpec.g:3828:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getDevelopmentStakeholderStakeholderCrossReference_5_13_2_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt92 >= 1 ) break loop92;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(92, input);
throw eee;
}
cnt92++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 15 :
// InternalReqSpec.g:3848:4: ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3848:4: ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3849:5: {...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 14) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 14)");
}
// InternalReqSpec.g:3849:115: ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3850:6: ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 14);
// InternalReqSpec.g:3853:9: ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3853:10: {...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3853:19: (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3853:20: otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+
{
otherlv_32=(Token)match(input,25,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_32, grammarAccess.getGlobalRequirementAccess().getSeeKeyword_5_14_0());
}
otherlv_33=(Token)match(input,32,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getGlobalRequirementAccess().getGoalKeyword_5_14_1());
}
// InternalReqSpec.g:3861:9: ( ( ruleQualifiedName ) )+
int cnt93=0;
loop93:
do {
int alt93=2;
int LA93_0 = input.LA(1);
if ( (LA93_0==RULE_ID) ) {
alt93=1;
}
switch (alt93) {
case 1 :
// InternalReqSpec.g:3862:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3862:10: ( ruleQualifiedName )
// InternalReqSpec.g:3863:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getGoalReferenceGoalCrossReference_5_14_2_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt93 >= 1 ) break loop93;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(93, input);
throw eee;
}
cnt93++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 16 :
// InternalReqSpec.g:3883:4: ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:3883:4: ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:3884:5: {...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 15) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 15)");
}
// InternalReqSpec.g:3884:115: ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:3885:6: ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 15);
// InternalReqSpec.g:3888:9: ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:3888:10: {...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3888:19: (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:3888:20: otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+
{
otherlv_35=(Token)match(input,25,FollowSets000.FOLLOW_45); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_35, grammarAccess.getGlobalRequirementAccess().getSeeKeyword_5_15_0());
}
otherlv_36=(Token)match(input,39,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getGlobalRequirementAccess().getRequirementKeyword_5_15_1());
}
// InternalReqSpec.g:3896:9: ( ( ruleQualifiedName ) )+
int cnt94=0;
loop94:
do {
int alt94=2;
int LA94_0 = input.LA(1);
if ( (LA94_0==RULE_ID) ) {
alt94=1;
}
switch (alt94) {
case 1 :
// InternalReqSpec.g:3897:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:3897:10: ( ruleQualifiedName )
// InternalReqSpec.g:3898:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getRequirementReferenceRequirementCrossReference_5_15_2_0());
}
pushFollow(FollowSets000.FOLLOW_49);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt94 >= 1 ) break loop94;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(94, input);
throw eee;
}
cnt94++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 17 :
// InternalReqSpec.g:3918:4: ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) )
{
// InternalReqSpec.g:3918:4: ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) )
// InternalReqSpec.g:3919:5: {...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 16) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 16)");
}
// InternalReqSpec.g:3919:115: ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) )
// InternalReqSpec.g:3920:6: ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 16);
// InternalReqSpec.g:3923:9: ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) )
// InternalReqSpec.g:3923:10: {...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3923:19: (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:3923:20: otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+
{
otherlv_38=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_38, grammarAccess.getGlobalRequirementAccess().getSeeKeyword_5_16_0());
}
otherlv_39=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getGlobalRequirementAccess().getDocumentKeyword_5_16_1());
}
// InternalReqSpec.g:3931:9: ( (lv_docReference_40_0= ruleExternalDocument ) )+
int cnt95=0;
loop95:
do {
int alt95=2;
int LA95_0 = input.LA(1);
if ( (LA95_0==RULE_ID) ) {
alt95=1;
}
switch (alt95) {
case 1 :
// InternalReqSpec.g:3932:10: (lv_docReference_40_0= ruleExternalDocument )
{
// InternalReqSpec.g:3932:10: (lv_docReference_40_0= ruleExternalDocument )
// InternalReqSpec.g:3933:11: lv_docReference_40_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getGlobalRequirementAccess().getDocReferenceExternalDocumentParserRuleCall_5_16_2_0());
}
pushFollow(FollowSets000.FOLLOW_49);
lv_docReference_40_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getGlobalRequirementRule());
}
add(
current,
"docReference",
lv_docReference_40_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt95 >= 1 ) break loop95;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(95, input);
throw eee;
}
cnt95++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 18 :
// InternalReqSpec.g:3956:4: ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) )
{
// InternalReqSpec.g:3956:4: ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) )
// InternalReqSpec.g:3957:5: {...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 17) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 17)");
}
// InternalReqSpec.g:3957:115: ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) )
// InternalReqSpec.g:3958:6: ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 17);
// InternalReqSpec.g:3961:9: ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )
// InternalReqSpec.g:3961:10: {...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleGlobalRequirement", "true");
}
// InternalReqSpec.g:3961:19: (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ )
// InternalReqSpec.g:3961:20: otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+
{
otherlv_41=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_41, grammarAccess.getGlobalRequirementAccess().getIssuesKeyword_5_17_0());
}
// InternalReqSpec.g:3965:9: ( (lv_issues_42_0= RULE_STRING ) )+
int cnt96=0;
loop96:
do {
int alt96=2;
int LA96_0 = input.LA(1);
if ( (LA96_0==RULE_STRING) ) {
alt96=1;
}
switch (alt96) {
case 1 :
// InternalReqSpec.g:3966:10: (lv_issues_42_0= RULE_STRING )
{
// InternalReqSpec.g:3966:10: (lv_issues_42_0= RULE_STRING )
// InternalReqSpec.g:3967:11: lv_issues_42_0= RULE_STRING
{
lv_issues_42_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_50); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_42_0, grammarAccess.getGlobalRequirementAccess().getIssuesSTRINGTerminalRuleCall_5_17_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getGlobalRequirementRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_42_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt96 >= 1 ) break loop96;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(96, input);
throw eee;
}
cnt96++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
default :
break loop97;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5());
}
otherlv_43=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_43, grammarAccess.getGlobalRequirementAccess().getRightSquareBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleGlobalRequirement"
// $ANTLR start "entryRuleDocRequirement"
// InternalReqSpec.g:4004:1: entryRuleDocRequirement returns [EObject current=null] : iv_ruleDocRequirement= ruleDocRequirement EOF ;
public final EObject entryRuleDocRequirement() throws RecognitionException {
EObject current = null;
EObject iv_ruleDocRequirement = null;
try {
// InternalReqSpec.g:4004:55: (iv_ruleDocRequirement= ruleDocRequirement EOF )
// InternalReqSpec.g:4005:2: iv_ruleDocRequirement= ruleDocRequirement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDocRequirement=ruleDocRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDocRequirement;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDocRequirement"
// $ANTLR start "ruleDocRequirement"
// InternalReqSpec.g:4011:1: ruleDocRequirement returns [EObject current=null] : (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ ) )? otherlv_9= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_44= ']' ) ;
public final EObject ruleDocRequirement() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token lv_name_1_0=null;
Token otherlv_2=null;
Token lv_title_3_0=null;
Token otherlv_4=null;
Token lv_targetDescription_5_0=null;
Token otherlv_7=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_20=null;
Token otherlv_21=null;
Token lv_exceptionText_22_0=null;
Token otherlv_23=null;
Token otherlv_25=null;
Token otherlv_27=null;
Token otherlv_29=null;
Token lv_dropped_31_0=null;
Token lv_dropRationale_32_0=null;
Token otherlv_33=null;
Token otherlv_34=null;
Token otherlv_36=null;
Token otherlv_37=null;
Token otherlv_39=null;
Token otherlv_40=null;
Token otherlv_42=null;
Token lv_issues_43_0=null;
Token otherlv_44=null;
AntlrDatatypeRuleToken lv_componentCategory_8_0 = null;
EObject lv_description_13_0 = null;
EObject lv_constants_14_0 = null;
EObject lv_computes_15_0 = null;
EObject lv_whencondition_16_0 = null;
EObject lv_predicate_17_0 = null;
EObject lv_rationale_18_0 = null;
EObject lv_changeUncertainty_19_0 = null;
EObject lv_docReference_41_0 = null;
enterRule();
try {
// InternalReqSpec.g:4017:2: ( (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ ) )? otherlv_9= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_44= ']' ) )
// InternalReqSpec.g:4018:2: (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ ) )? otherlv_9= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_44= ']' )
{
// InternalReqSpec.g:4018:2: (otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ ) )? otherlv_9= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_44= ']' )
// InternalReqSpec.g:4019:3: otherlv_0= 'requirement' ( (lv_name_1_0= RULE_ID ) ) (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )? (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ ) )? otherlv_9= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) ) ) otherlv_44= ']'
{
otherlv_0=(Token)match(input,39,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getDocRequirementAccess().getRequirementKeyword_0());
}
// InternalReqSpec.g:4023:3: ( (lv_name_1_0= RULE_ID ) )
// InternalReqSpec.g:4024:4: (lv_name_1_0= RULE_ID )
{
// InternalReqSpec.g:4024:4: (lv_name_1_0= RULE_ID )
// InternalReqSpec.g:4025:5: lv_name_1_0= RULE_ID
{
lv_name_1_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_34); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_1_0, grammarAccess.getDocRequirementAccess().getNameIDTerminalRuleCall_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
setWithLastConsumed(
current,
"name",
lv_name_1_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:4041:3: (otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) ) )?
int alt98=2;
int LA98_0 = input.LA(1);
if ( (LA98_0==22) ) {
alt98=1;
}
switch (alt98) {
case 1 :
// InternalReqSpec.g:4042:4: otherlv_2= ':' ( (lv_title_3_0= RULE_STRING ) )
{
otherlv_2=(Token)match(input,22,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getDocRequirementAccess().getColonKeyword_2_0());
}
// InternalReqSpec.g:4046:4: ( (lv_title_3_0= RULE_STRING ) )
// InternalReqSpec.g:4047:5: (lv_title_3_0= RULE_STRING )
{
// InternalReqSpec.g:4047:5: (lv_title_3_0= RULE_STRING )
// InternalReqSpec.g:4048:6: lv_title_3_0= RULE_STRING
{
lv_title_3_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_35); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_title_3_0, grammarAccess.getDocRequirementAccess().getTitleSTRINGTerminalRuleCall_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
setWithLastConsumed(
current,
"title",
lv_title_3_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
// InternalReqSpec.g:4065:3: (otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ ) )?
int alt102=2;
int LA102_0 = input.LA(1);
if ( (LA102_0==23) ) {
alt102=1;
}
switch (alt102) {
case 1 :
// InternalReqSpec.g:4066:4: otherlv_4= 'for' ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ )
{
otherlv_4=(Token)match(input,23,FollowSets000.FOLLOW_51); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getDocRequirementAccess().getForKeyword_3_0());
}
// InternalReqSpec.g:4070:4: ( ( (lv_targetDescription_5_0= RULE_STRING ) ) | ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? ) | ( (lv_componentCategory_8_0= ruleComponentCategory ) )+ )
int alt101=3;
switch ( input.LA(1) ) {
case RULE_STRING:
{
alt101=1;
}
break;
case RULE_ID:
{
alt101=2;
}
break;
case 29:
case 108:
case 109:
case 110:
case 111:
case 112:
case 113:
case 114:
case 115:
case 117:
case 118:
{
alt101=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 101, 0, input);
throw nvae;
}
switch (alt101) {
case 1 :
// InternalReqSpec.g:4071:5: ( (lv_targetDescription_5_0= RULE_STRING ) )
{
// InternalReqSpec.g:4071:5: ( (lv_targetDescription_5_0= RULE_STRING ) )
// InternalReqSpec.g:4072:6: (lv_targetDescription_5_0= RULE_STRING )
{
// InternalReqSpec.g:4072:6: (lv_targetDescription_5_0= RULE_STRING )
// InternalReqSpec.g:4073:7: lv_targetDescription_5_0= RULE_STRING
{
lv_targetDescription_5_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_targetDescription_5_0, grammarAccess.getDocRequirementAccess().getTargetDescriptionSTRINGTerminalRuleCall_3_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
setWithLastConsumed(
current,
"targetDescription",
lv_targetDescription_5_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:4090:5: ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? )
{
// InternalReqSpec.g:4090:5: ( ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )? )
// InternalReqSpec.g:4091:6: ( ( ruleAadlClassifierReference ) ) ( (otherlv_7= RULE_ID ) )?
{
// InternalReqSpec.g:4091:6: ( ( ruleAadlClassifierReference ) )
// InternalReqSpec.g:4092:7: ( ruleAadlClassifierReference )
{
// InternalReqSpec.g:4092:7: ( ruleAadlClassifierReference )
// InternalReqSpec.g:4093:8: ruleAadlClassifierReference
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getTargetComponentClassifierCrossReference_3_1_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_15);
ruleAadlClassifierReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:4107:6: ( (otherlv_7= RULE_ID ) )?
int alt99=2;
int LA99_0 = input.LA(1);
if ( (LA99_0==RULE_ID) ) {
alt99=1;
}
switch (alt99) {
case 1 :
// InternalReqSpec.g:4108:7: (otherlv_7= RULE_ID )
{
// InternalReqSpec.g:4108:7: (otherlv_7= RULE_ID )
// InternalReqSpec.g:4109:8: otherlv_7= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
otherlv_7=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getDocRequirementAccess().getTargetElementNamedElementCrossReference_3_1_1_1_0());
}
}
}
break;
}
}
}
break;
case 3 :
// InternalReqSpec.g:4122:5: ( (lv_componentCategory_8_0= ruleComponentCategory ) )+
{
// InternalReqSpec.g:4122:5: ( (lv_componentCategory_8_0= ruleComponentCategory ) )+
int cnt100=0;
loop100:
do {
int alt100=2;
int LA100_0 = input.LA(1);
if ( (LA100_0==29||(LA100_0>=108 && LA100_0<=115)||(LA100_0>=117 && LA100_0<=118)) ) {
alt100=1;
}
switch (alt100) {
case 1 :
// InternalReqSpec.g:4123:6: (lv_componentCategory_8_0= ruleComponentCategory )
{
// InternalReqSpec.g:4123:6: (lv_componentCategory_8_0= ruleComponentCategory )
// InternalReqSpec.g:4124:7: lv_componentCategory_8_0= ruleComponentCategory
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getComponentCategoryComponentCategoryParserRuleCall_3_1_2_0());
}
pushFollow(FollowSets000.FOLLOW_47);
lv_componentCategory_8_0=ruleComponentCategory();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
add(
current,
"componentCategory",
lv_componentCategory_8_0,
"org.osate.alisa.common.Common.ComponentCategory");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt100 >= 1 ) break loop100;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(100, input);
throw eee;
}
cnt100++;
} while (true);
}
break;
}
}
break;
}
otherlv_9=(Token)match(input,18,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getDocRequirementAccess().getLeftSquareBracketKeyword_4());
}
// InternalReqSpec.g:4147:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) ) )
// InternalReqSpec.g:4148:4: ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) )
{
// InternalReqSpec.g:4148:4: ( ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* ) )
// InternalReqSpec.g:4149:5: ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
// InternalReqSpec.g:4152:5: ( ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )* )
// InternalReqSpec.g:4153:6: ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )*
{
// InternalReqSpec.g:4153:6: ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )*
loop115:
do {
int alt115=19;
alt115 = dfa115.predict(input);
switch (alt115) {
case 1 :
// InternalReqSpec.g:4154:4: ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:4154:4: ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:4155:5: {...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 0)");
}
// InternalReqSpec.g:4155:111: ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:4156:6: ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 0);
// InternalReqSpec.g:4159:9: ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:4159:10: {...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4159:19: (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:4159:20: otherlv_11= 'category' ( ( ruleQualifiedName ) )+
{
otherlv_11=(Token)match(input,33,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getDocRequirementAccess().getCategoryKeyword_5_0_0());
}
// InternalReqSpec.g:4163:9: ( ( ruleQualifiedName ) )+
int cnt103=0;
loop103:
do {
int alt103=2;
int LA103_0 = input.LA(1);
if ( (LA103_0==RULE_ID) ) {
alt103=1;
}
switch (alt103) {
case 1 :
// InternalReqSpec.g:4164:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4164:10: ( ruleQualifiedName )
// InternalReqSpec.g:4165:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getCategoryCategoryCrossReference_5_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt103 >= 1 ) break loop103;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(103, input);
throw eee;
}
cnt103++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 2 :
// InternalReqSpec.g:4185:4: ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) )
{
// InternalReqSpec.g:4185:4: ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) )
// InternalReqSpec.g:4186:5: {...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 1)");
}
// InternalReqSpec.g:4186:111: ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) )
// InternalReqSpec.g:4187:6: ({...}? => ( (lv_description_13_0= ruleDescription ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 1);
// InternalReqSpec.g:4190:9: ({...}? => ( (lv_description_13_0= ruleDescription ) ) )
// InternalReqSpec.g:4190:10: {...}? => ( (lv_description_13_0= ruleDescription ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4190:19: ( (lv_description_13_0= ruleDescription ) )
// InternalReqSpec.g:4190:20: (lv_description_13_0= ruleDescription )
{
// InternalReqSpec.g:4190:20: (lv_description_13_0= ruleDescription )
// InternalReqSpec.g:4191:10: lv_description_13_0= ruleDescription
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getDescriptionDescriptionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_description_13_0=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
set(
current,
"description",
lv_description_13_0,
"org.osate.alisa.common.Common.Description");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 3 :
// InternalReqSpec.g:4213:4: ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:4213:4: ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) )
// InternalReqSpec.g:4214:5: {...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 2)");
}
// InternalReqSpec.g:4214:111: ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ )
// InternalReqSpec.g:4215:6: ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 2);
// InternalReqSpec.g:4218:9: ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+
int cnt104=0;
loop104:
do {
int alt104=2;
int LA104_0 = input.LA(1);
if ( (LA104_0==60) ) {
int LA104_2 = input.LA(2);
if ( ((true)) ) {
alt104=1;
}
}
switch (alt104) {
case 1 :
// InternalReqSpec.g:4218:10: {...}? => ( (lv_constants_14_0= ruleValDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4218:19: ( (lv_constants_14_0= ruleValDeclaration ) )
// InternalReqSpec.g:4218:20: (lv_constants_14_0= ruleValDeclaration )
{
// InternalReqSpec.g:4218:20: (lv_constants_14_0= ruleValDeclaration )
// InternalReqSpec.g:4219:10: lv_constants_14_0= ruleValDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getConstantsValDeclarationParserRuleCall_5_2_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_constants_14_0=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
add(
current,
"constants",
lv_constants_14_0,
"org.osate.reqspec.ReqSpec.ValDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt104 >= 1 ) break loop104;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(104, input);
throw eee;
}
cnt104++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 4 :
// InternalReqSpec.g:4241:4: ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) )
{
// InternalReqSpec.g:4241:4: ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) )
// InternalReqSpec.g:4242:5: {...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 3) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 3)");
}
// InternalReqSpec.g:4242:111: ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ )
// InternalReqSpec.g:4243:6: ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 3);
// InternalReqSpec.g:4246:9: ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+
int cnt105=0;
loop105:
do {
int alt105=2;
int LA105_0 = input.LA(1);
if ( (LA105_0==80) ) {
int LA105_2 = input.LA(2);
if ( ((true)) ) {
alt105=1;
}
}
switch (alt105) {
case 1 :
// InternalReqSpec.g:4246:10: {...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4246:19: ( (lv_computes_15_0= ruleComputeDeclaration ) )
// InternalReqSpec.g:4246:20: (lv_computes_15_0= ruleComputeDeclaration )
{
// InternalReqSpec.g:4246:20: (lv_computes_15_0= ruleComputeDeclaration )
// InternalReqSpec.g:4247:10: lv_computes_15_0= ruleComputeDeclaration
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getComputesComputeDeclarationParserRuleCall_5_3_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_computes_15_0=ruleComputeDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
add(
current,
"computes",
lv_computes_15_0,
"org.osate.alisa.common.Common.ComputeDeclaration");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
if ( cnt105 >= 1 ) break loop105;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(105, input);
throw eee;
}
cnt105++;
} while (true);
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 5 :
// InternalReqSpec.g:4269:4: ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) )
{
// InternalReqSpec.g:4269:4: ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) )
// InternalReqSpec.g:4270:5: {...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 4) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 4)");
}
// InternalReqSpec.g:4270:111: ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) )
// InternalReqSpec.g:4271:6: ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 4);
// InternalReqSpec.g:4274:9: ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) )
// InternalReqSpec.g:4274:10: {...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4274:19: ( (lv_whencondition_16_0= ruleWhenCondition ) )
// InternalReqSpec.g:4274:20: (lv_whencondition_16_0= ruleWhenCondition )
{
// InternalReqSpec.g:4274:20: (lv_whencondition_16_0= ruleWhenCondition )
// InternalReqSpec.g:4275:10: lv_whencondition_16_0= ruleWhenCondition
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getWhenconditionWhenConditionParserRuleCall_5_4_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_whencondition_16_0=ruleWhenCondition();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
set(
current,
"whencondition",
lv_whencondition_16_0,
"org.osate.reqspec.ReqSpec.WhenCondition");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 6 :
// InternalReqSpec.g:4297:4: ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) )
{
// InternalReqSpec.g:4297:4: ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) )
// InternalReqSpec.g:4298:5: {...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 5) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 5)");
}
// InternalReqSpec.g:4298:111: ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) )
// InternalReqSpec.g:4299:6: ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 5);
// InternalReqSpec.g:4302:9: ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) )
// InternalReqSpec.g:4302:10: {...}? => ( (lv_predicate_17_0= ruleReqPredicate ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4302:19: ( (lv_predicate_17_0= ruleReqPredicate ) )
// InternalReqSpec.g:4302:20: (lv_predicate_17_0= ruleReqPredicate )
{
// InternalReqSpec.g:4302:20: (lv_predicate_17_0= ruleReqPredicate )
// InternalReqSpec.g:4303:10: lv_predicate_17_0= ruleReqPredicate
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getPredicateReqPredicateParserRuleCall_5_5_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_predicate_17_0=ruleReqPredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
set(
current,
"predicate",
lv_predicate_17_0,
"org.osate.reqspec.ReqSpec.ReqPredicate");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 7 :
// InternalReqSpec.g:4325:4: ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) )
{
// InternalReqSpec.g:4325:4: ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) )
// InternalReqSpec.g:4326:5: {...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 6) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 6)");
}
// InternalReqSpec.g:4326:111: ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) )
// InternalReqSpec.g:4327:6: ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 6);
// InternalReqSpec.g:4330:9: ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) )
// InternalReqSpec.g:4330:10: {...}? => ( (lv_rationale_18_0= ruleRationale ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4330:19: ( (lv_rationale_18_0= ruleRationale ) )
// InternalReqSpec.g:4330:20: (lv_rationale_18_0= ruleRationale )
{
// InternalReqSpec.g:4330:20: (lv_rationale_18_0= ruleRationale )
// InternalReqSpec.g:4331:10: lv_rationale_18_0= ruleRationale
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getRationaleRationaleParserRuleCall_5_6_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_rationale_18_0=ruleRationale();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
set(
current,
"rationale",
lv_rationale_18_0,
"org.osate.alisa.common.Common.Rationale");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 8 :
// InternalReqSpec.g:4353:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) )
{
// InternalReqSpec.g:4353:4: ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) )
// InternalReqSpec.g:4354:5: {...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 7) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 7)");
}
// InternalReqSpec.g:4354:111: ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) )
// InternalReqSpec.g:4355:6: ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 7);
// InternalReqSpec.g:4358:9: ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) )
// InternalReqSpec.g:4358:10: {...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4358:19: ( (lv_changeUncertainty_19_0= ruleUncertainty ) )
// InternalReqSpec.g:4358:20: (lv_changeUncertainty_19_0= ruleUncertainty )
{
// InternalReqSpec.g:4358:20: (lv_changeUncertainty_19_0= ruleUncertainty )
// InternalReqSpec.g:4359:10: lv_changeUncertainty_19_0= ruleUncertainty
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getChangeUncertaintyUncertaintyParserRuleCall_5_7_0());
}
pushFollow(FollowSets000.FOLLOW_41);
lv_changeUncertainty_19_0=ruleUncertainty();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
set(
current,
"changeUncertainty",
lv_changeUncertainty_19_0,
"org.osate.alisa.common.Common.Uncertainty");
afterParserOrEnumRuleCall();
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 9 :
// InternalReqSpec.g:4381:4: ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) )
{
// InternalReqSpec.g:4381:4: ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) )
// InternalReqSpec.g:4382:5: {...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 8) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 8)");
}
// InternalReqSpec.g:4382:111: ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) )
// InternalReqSpec.g:4383:6: ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 8);
// InternalReqSpec.g:4386:9: ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) )
// InternalReqSpec.g:4386:10: {...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4386:19: (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) )
// InternalReqSpec.g:4386:20: otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) )
{
otherlv_20=(Token)match(input,40,FollowSets000.FOLLOW_24); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_20, grammarAccess.getDocRequirementAccess().getMitigatesKeyword_5_8_0());
}
// InternalReqSpec.g:4390:9: ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) )
int alt106=2;
int LA106_0 = input.LA(1);
if ( (LA106_0==RULE_ID) ) {
alt106=1;
}
else if ( (LA106_0==RULE_STRING) ) {
alt106=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 106, 0, input);
throw nvae;
}
switch (alt106) {
case 1 :
// InternalReqSpec.g:4391:10: ( (otherlv_21= RULE_ID ) )
{
// InternalReqSpec.g:4391:10: ( (otherlv_21= RULE_ID ) )
// InternalReqSpec.g:4392:11: (otherlv_21= RULE_ID )
{
// InternalReqSpec.g:4392:11: (otherlv_21= RULE_ID )
// InternalReqSpec.g:4393:12: otherlv_21= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
otherlv_21=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_21, grammarAccess.getDocRequirementAccess().getExceptionEObjectCrossReference_5_8_1_0_0());
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:4405:10: ( (lv_exceptionText_22_0= RULE_STRING ) )
{
// InternalReqSpec.g:4405:10: ( (lv_exceptionText_22_0= RULE_STRING ) )
// InternalReqSpec.g:4406:11: (lv_exceptionText_22_0= RULE_STRING )
{
// InternalReqSpec.g:4406:11: (lv_exceptionText_22_0= RULE_STRING )
// InternalReqSpec.g:4407:12: lv_exceptionText_22_0= RULE_STRING
{
lv_exceptionText_22_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_exceptionText_22_0, grammarAccess.getDocRequirementAccess().getExceptionTextSTRINGTerminalRuleCall_5_8_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
setWithLastConsumed(
current,
"exceptionText",
lv_exceptionText_22_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 10 :
// InternalReqSpec.g:4430:4: ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:4430:4: ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:4431:5: {...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 9) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 9)");
}
// InternalReqSpec.g:4431:111: ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:4432:6: ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 9);
// InternalReqSpec.g:4435:9: ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:4435:10: {...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4435:19: (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:4435:20: otherlv_23= 'refines' ( ( ruleQualifiedName ) )+
{
otherlv_23=(Token)match(input,34,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_23, grammarAccess.getDocRequirementAccess().getRefinesKeyword_5_9_0());
}
// InternalReqSpec.g:4439:9: ( ( ruleQualifiedName ) )+
int cnt107=0;
loop107:
do {
int alt107=2;
int LA107_0 = input.LA(1);
if ( (LA107_0==RULE_ID) ) {
alt107=1;
}
switch (alt107) {
case 1 :
// InternalReqSpec.g:4440:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4440:10: ( ruleQualifiedName )
// InternalReqSpec.g:4441:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getRefinesReferenceRequirementCrossReference_5_9_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt107 >= 1 ) break loop107;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(107, input);
throw eee;
}
cnt107++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 11 :
// InternalReqSpec.g:4461:4: ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:4461:4: ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:4462:5: {...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 10) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 10)");
}
// InternalReqSpec.g:4462:112: ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:4463:6: ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 10);
// InternalReqSpec.g:4466:9: ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:4466:10: {...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4466:19: (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:4466:20: otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+
{
otherlv_25=(Token)match(input,42,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_25, grammarAccess.getDocRequirementAccess().getDecomposesKeyword_5_10_0());
}
// InternalReqSpec.g:4470:9: ( ( ruleQualifiedName ) )+
int cnt108=0;
loop108:
do {
int alt108=2;
int LA108_0 = input.LA(1);
if ( (LA108_0==RULE_ID) ) {
alt108=1;
}
switch (alt108) {
case 1 :
// InternalReqSpec.g:4471:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4471:10: ( ruleQualifiedName )
// InternalReqSpec.g:4472:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getDecomposesReferenceRequirementCrossReference_5_10_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt108 >= 1 ) break loop108;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(108, input);
throw eee;
}
cnt108++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 12 :
// InternalReqSpec.g:4492:4: ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) )
{
// InternalReqSpec.g:4492:4: ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) )
// InternalReqSpec.g:4493:5: {...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 11) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 11)");
}
// InternalReqSpec.g:4493:112: ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) )
// InternalReqSpec.g:4494:6: ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 11);
// InternalReqSpec.g:4497:9: ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) )
// InternalReqSpec.g:4497:10: {...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4497:19: (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) )
// InternalReqSpec.g:4497:20: otherlv_27= 'inherits' ( ( ruleQualifiedName ) )
{
otherlv_27=(Token)match(input,41,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_27, grammarAccess.getDocRequirementAccess().getInheritsKeyword_5_11_0());
}
// InternalReqSpec.g:4501:9: ( ( ruleQualifiedName ) )
// InternalReqSpec.g:4502:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4502:10: ( ruleQualifiedName )
// InternalReqSpec.g:4503:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getInheritsReferenceRequirementCrossReference_5_11_1_0());
}
pushFollow(FollowSets000.FOLLOW_41);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 13 :
// InternalReqSpec.g:4523:4: ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:4523:4: ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:4524:5: {...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 12) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 12)");
}
// InternalReqSpec.g:4524:112: ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:4525:6: ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 12);
// InternalReqSpec.g:4528:9: ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:4528:10: {...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4528:19: (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:4528:20: otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+
{
otherlv_29=(Token)match(input,37,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_29, grammarAccess.getDocRequirementAccess().getEvolvesKeyword_5_12_0());
}
// InternalReqSpec.g:4532:9: ( ( ruleQualifiedName ) )+
int cnt109=0;
loop109:
do {
int alt109=2;
int LA109_0 = input.LA(1);
if ( (LA109_0==RULE_ID) ) {
alt109=1;
}
switch (alt109) {
case 1 :
// InternalReqSpec.g:4533:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4533:10: ( ruleQualifiedName )
// InternalReqSpec.g:4534:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getEvolvesReferenceRequirementCrossReference_5_12_1_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt109 >= 1 ) break loop109;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(109, input);
throw eee;
}
cnt109++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 14 :
// InternalReqSpec.g:4554:4: ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) )
{
// InternalReqSpec.g:4554:4: ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) )
// InternalReqSpec.g:4555:5: {...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 13) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 13)");
}
// InternalReqSpec.g:4555:112: ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) )
// InternalReqSpec.g:4556:6: ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 13);
// InternalReqSpec.g:4559:9: ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) )
// InternalReqSpec.g:4559:10: {...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4559:19: ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? )
// InternalReqSpec.g:4559:20: ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )?
{
// InternalReqSpec.g:4559:20: ( (lv_dropped_31_0= 'dropped' ) )
// InternalReqSpec.g:4560:10: (lv_dropped_31_0= 'dropped' )
{
// InternalReqSpec.g:4560:10: (lv_dropped_31_0= 'dropped' )
// InternalReqSpec.g:4561:11: lv_dropped_31_0= 'dropped'
{
lv_dropped_31_0=(Token)match(input,38,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropped_31_0, grammarAccess.getDocRequirementAccess().getDroppedDroppedKeyword_5_13_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
setWithLastConsumed(current, "dropped", true, "dropped");
}
}
}
// InternalReqSpec.g:4573:9: ( (lv_dropRationale_32_0= RULE_STRING ) )?
int alt110=2;
int LA110_0 = input.LA(1);
if ( (LA110_0==RULE_STRING) ) {
alt110=1;
}
switch (alt110) {
case 1 :
// InternalReqSpec.g:4574:10: (lv_dropRationale_32_0= RULE_STRING )
{
// InternalReqSpec.g:4574:10: (lv_dropRationale_32_0= RULE_STRING )
// InternalReqSpec.g:4575:11: lv_dropRationale_32_0= RULE_STRING
{
lv_dropRationale_32_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_41); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_dropRationale_32_0, grammarAccess.getDocRequirementAccess().getDropRationaleSTRINGTerminalRuleCall_5_13_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
setWithLastConsumed(
current,
"dropRationale",
lv_dropRationale_32_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 15 :
// InternalReqSpec.g:4597:4: ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:4597:4: ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:4598:5: {...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 14) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 14)");
}
// InternalReqSpec.g:4598:112: ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:4599:6: ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 14);
// InternalReqSpec.g:4602:9: ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:4602:10: {...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4602:19: (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:4602:20: otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+
{
otherlv_33=(Token)match(input,43,FollowSets000.FOLLOW_44); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_33, grammarAccess.getDocRequirementAccess().getDevelopmentKeyword_5_14_0());
}
otherlv_34=(Token)match(input,20,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_34, grammarAccess.getDocRequirementAccess().getStakeholderKeyword_5_14_1());
}
// InternalReqSpec.g:4610:9: ( ( ruleQualifiedName ) )+
int cnt111=0;
loop111:
do {
int alt111=2;
int LA111_0 = input.LA(1);
if ( (LA111_0==RULE_ID) ) {
alt111=1;
}
switch (alt111) {
case 1 :
// InternalReqSpec.g:4611:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4611:10: ( ruleQualifiedName )
// InternalReqSpec.g:4612:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getDevelopmentStakeholderStakeholderCrossReference_5_14_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt111 >= 1 ) break loop111;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(111, input);
throw eee;
}
cnt111++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 16 :
// InternalReqSpec.g:4632:4: ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) )
{
// InternalReqSpec.g:4632:4: ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) )
// InternalReqSpec.g:4633:5: {...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 15) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 15)");
}
// InternalReqSpec.g:4633:112: ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) )
// InternalReqSpec.g:4634:6: ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 15);
// InternalReqSpec.g:4637:9: ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) )
// InternalReqSpec.g:4637:10: {...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4637:19: (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ )
// InternalReqSpec.g:4637:20: otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+
{
otherlv_36=(Token)match(input,25,FollowSets000.FOLLOW_40); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_36, grammarAccess.getDocRequirementAccess().getSeeKeyword_5_15_0());
}
otherlv_37=(Token)match(input,32,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_37, grammarAccess.getDocRequirementAccess().getGoalKeyword_5_15_1());
}
// InternalReqSpec.g:4645:9: ( ( ruleQualifiedName ) )+
int cnt112=0;
loop112:
do {
int alt112=2;
int LA112_0 = input.LA(1);
if ( (LA112_0==RULE_ID) ) {
alt112=1;
}
switch (alt112) {
case 1 :
// InternalReqSpec.g:4646:10: ( ruleQualifiedName )
{
// InternalReqSpec.g:4646:10: ( ruleQualifiedName )
// InternalReqSpec.g:4647:11: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getGoalReferenceGoalCrossReference_5_15_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt112 >= 1 ) break loop112;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(112, input);
throw eee;
}
cnt112++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 17 :
// InternalReqSpec.g:4667:4: ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) )
{
// InternalReqSpec.g:4667:4: ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) )
// InternalReqSpec.g:4668:5: {...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 16) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 16)");
}
// InternalReqSpec.g:4668:112: ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) )
// InternalReqSpec.g:4669:6: ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 16);
// InternalReqSpec.g:4672:9: ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) )
// InternalReqSpec.g:4672:10: {...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4672:19: (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ )
// InternalReqSpec.g:4672:20: otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+
{
otherlv_39=(Token)match(input,25,FollowSets000.FOLLOW_17); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_39, grammarAccess.getDocRequirementAccess().getSeeKeyword_5_16_0());
}
otherlv_40=(Token)match(input,26,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_40, grammarAccess.getDocRequirementAccess().getDocumentKeyword_5_16_1());
}
// InternalReqSpec.g:4680:9: ( (lv_docReference_41_0= ruleExternalDocument ) )+
int cnt113=0;
loop113:
do {
int alt113=2;
int LA113_0 = input.LA(1);
if ( (LA113_0==RULE_ID) ) {
alt113=1;
}
switch (alt113) {
case 1 :
// InternalReqSpec.g:4681:10: (lv_docReference_41_0= ruleExternalDocument )
{
// InternalReqSpec.g:4681:10: (lv_docReference_41_0= ruleExternalDocument )
// InternalReqSpec.g:4682:11: lv_docReference_41_0= ruleExternalDocument
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDocRequirementAccess().getDocReferenceExternalDocumentParserRuleCall_5_16_2_0());
}
pushFollow(FollowSets000.FOLLOW_42);
lv_docReference_41_0=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDocRequirementRule());
}
add(
current,
"docReference",
lv_docReference_41_0,
"org.osate.reqspec.ReqSpec.ExternalDocument");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt113 >= 1 ) break loop113;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(113, input);
throw eee;
}
cnt113++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
case 18 :
// InternalReqSpec.g:4705:4: ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) )
{
// InternalReqSpec.g:4705:4: ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) )
// InternalReqSpec.g:4706:5: {...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 17) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 17)");
}
// InternalReqSpec.g:4706:112: ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) )
// InternalReqSpec.g:4707:6: ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) )
{
getUnorderedGroupHelper().select(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 17);
// InternalReqSpec.g:4710:9: ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) )
// InternalReqSpec.g:4710:10: {...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleDocRequirement", "true");
}
// InternalReqSpec.g:4710:19: (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ )
// InternalReqSpec.g:4710:20: otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+
{
otherlv_42=(Token)match(input,27,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_42, grammarAccess.getDocRequirementAccess().getIssuesKeyword_5_17_0());
}
// InternalReqSpec.g:4714:9: ( (lv_issues_43_0= RULE_STRING ) )+
int cnt114=0;
loop114:
do {
int alt114=2;
int LA114_0 = input.LA(1);
if ( (LA114_0==RULE_STRING) ) {
alt114=1;
}
switch (alt114) {
case 1 :
// InternalReqSpec.g:4715:10: (lv_issues_43_0= RULE_STRING )
{
// InternalReqSpec.g:4715:10: (lv_issues_43_0= RULE_STRING )
// InternalReqSpec.g:4716:11: lv_issues_43_0= RULE_STRING
{
lv_issues_43_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_43); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_issues_43_0, grammarAccess.getDocRequirementAccess().getIssuesSTRINGTerminalRuleCall_5_17_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDocRequirementRule());
}
addWithLastConsumed(
current,
"issues",
lv_issues_43_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
break;
default :
if ( cnt114 >= 1 ) break loop114;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(114, input);
throw eee;
}
cnt114++;
} while (true);
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
}
}
break;
default :
break loop115;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5());
}
otherlv_44=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_44, grammarAccess.getDocRequirementAccess().getRightSquareBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDocRequirement"
// $ANTLR start "entryRuleIncludeGlobalRequirement"
// InternalReqSpec.g:4753:1: entryRuleIncludeGlobalRequirement returns [EObject current=null] : iv_ruleIncludeGlobalRequirement= ruleIncludeGlobalRequirement EOF ;
public final EObject entryRuleIncludeGlobalRequirement() throws RecognitionException {
EObject current = null;
EObject iv_ruleIncludeGlobalRequirement = null;
try {
// InternalReqSpec.g:4753:65: (iv_ruleIncludeGlobalRequirement= ruleIncludeGlobalRequirement EOF )
// InternalReqSpec.g:4754:2: iv_ruleIncludeGlobalRequirement= ruleIncludeGlobalRequirement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIncludeGlobalRequirementRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIncludeGlobalRequirement=ruleIncludeGlobalRequirement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIncludeGlobalRequirement;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIncludeGlobalRequirement"
// $ANTLR start "ruleIncludeGlobalRequirement"
// InternalReqSpec.g:4760:1: ruleIncludeGlobalRequirement returns [EObject current=null] : (otherlv_0= 'include' ( ( ruleQualifiedName ) ) (otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) ) )? ) ;
public final EObject ruleIncludeGlobalRequirement() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
Token lv_local_3_0=null;
Token otherlv_4=null;
enterRule();
try {
// InternalReqSpec.g:4766:2: ( (otherlv_0= 'include' ( ( ruleQualifiedName ) ) (otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) ) )? ) )
// InternalReqSpec.g:4767:2: (otherlv_0= 'include' ( ( ruleQualifiedName ) ) (otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) ) )? )
{
// InternalReqSpec.g:4767:2: (otherlv_0= 'include' ( ( ruleQualifiedName ) ) (otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) ) )? )
// InternalReqSpec.g:4768:3: otherlv_0= 'include' ( ( ruleQualifiedName ) ) (otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) ) )?
{
otherlv_0=(Token)match(input,44,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getIncludeGlobalRequirementAccess().getIncludeKeyword_0());
}
// InternalReqSpec.g:4772:3: ( ( ruleQualifiedName ) )
// InternalReqSpec.g:4773:4: ( ruleQualifiedName )
{
// InternalReqSpec.g:4773:4: ( ruleQualifiedName )
// InternalReqSpec.g:4774:5: ruleQualifiedName
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIncludeGlobalRequirementRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIncludeGlobalRequirementAccess().getIncludeEObjectCrossReference_1_0());
}
pushFollow(FollowSets000.FOLLOW_52);
ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:4788:3: (otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) ) )?
int alt117=2;
int LA117_0 = input.LA(1);
if ( (LA117_0==23) ) {
alt117=1;
}
switch (alt117) {
case 1 :
// InternalReqSpec.g:4789:4: otherlv_2= 'for' ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) )
{
otherlv_2=(Token)match(input,23,FollowSets000.FOLLOW_53); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getIncludeGlobalRequirementAccess().getForKeyword_2_0());
}
// InternalReqSpec.g:4793:4: ( ( (lv_local_3_0= 'self' ) ) | ( (otherlv_4= RULE_ID ) ) )
int alt116=2;
int LA116_0 = input.LA(1);
if ( (LA116_0==45) ) {
alt116=1;
}
else if ( (LA116_0==RULE_ID) ) {
alt116=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 116, 0, input);
throw nvae;
}
switch (alt116) {
case 1 :
// InternalReqSpec.g:4794:5: ( (lv_local_3_0= 'self' ) )
{
// InternalReqSpec.g:4794:5: ( (lv_local_3_0= 'self' ) )
// InternalReqSpec.g:4795:6: (lv_local_3_0= 'self' )
{
// InternalReqSpec.g:4795:6: (lv_local_3_0= 'self' )
// InternalReqSpec.g:4796:7: lv_local_3_0= 'self'
{
lv_local_3_0=(Token)match(input,45,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_local_3_0, grammarAccess.getIncludeGlobalRequirementAccess().getLocalSelfKeyword_2_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIncludeGlobalRequirementRule());
}
setWithLastConsumed(current, "local", true, "self");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:4809:5: ( (otherlv_4= RULE_ID ) )
{
// InternalReqSpec.g:4809:5: ( (otherlv_4= RULE_ID ) )
// InternalReqSpec.g:4810:6: (otherlv_4= RULE_ID )
{
// InternalReqSpec.g:4810:6: (otherlv_4= RULE_ID )
// InternalReqSpec.g:4811:7: otherlv_4= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getIncludeGlobalRequirementRule());
}
}
otherlv_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getIncludeGlobalRequirementAccess().getTargetElementNamedElementCrossReference_2_1_1_0());
}
}
}
}
break;
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIncludeGlobalRequirement"
// $ANTLR start "entryRuleWhenCondition"
// InternalReqSpec.g:4828:1: entryRuleWhenCondition returns [EObject current=null] : iv_ruleWhenCondition= ruleWhenCondition EOF ;
public final EObject entryRuleWhenCondition() throws RecognitionException {
EObject current = null;
EObject iv_ruleWhenCondition = null;
try {
// InternalReqSpec.g:4828:54: (iv_ruleWhenCondition= ruleWhenCondition EOF )
// InternalReqSpec.g:4829:2: iv_ruleWhenCondition= ruleWhenCondition EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWhenConditionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleWhenCondition=ruleWhenCondition();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleWhenCondition;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleWhenCondition"
// $ANTLR start "ruleWhenCondition"
// InternalReqSpec.g:4835:1: ruleWhenCondition returns [EObject current=null] : (otherlv_0= 'when' ( (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* ) | (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* ) | ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' ) ) ) ;
public final EObject ruleWhenCondition() 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_5=null;
Token otherlv_6=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_9=null;
Token otherlv_10=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_14=null;
AntlrDatatypeRuleToken lv_condition_12_0 = null;
enterRule();
try {
// InternalReqSpec.g:4841:2: ( (otherlv_0= 'when' ( (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* ) | (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* ) | ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' ) ) ) )
// InternalReqSpec.g:4842:2: (otherlv_0= 'when' ( (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* ) | (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* ) | ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' ) ) )
{
// InternalReqSpec.g:4842:2: (otherlv_0= 'when' ( (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* ) | (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* ) | ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' ) ) )
// InternalReqSpec.g:4843:3: otherlv_0= 'when' ( (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* ) | (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* ) | ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' ) )
{
otherlv_0=(Token)match(input,46,FollowSets000.FOLLOW_54); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getWhenConditionAccess().getWhenKeyword_0());
}
// InternalReqSpec.g:4847:3: ( (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* ) | (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* ) | ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' ) )
int alt120=3;
int LA120_0 = input.LA(1);
if ( (LA120_0==47) ) {
int LA120_1 = input.LA(2);
if ( (LA120_1==48) ) {
alt120=1;
}
else if ( (LA120_1==50) ) {
alt120=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 120, 1, input);
throw nvae;
}
}
else if ( (LA120_0==RULE_ID) ) {
alt120=3;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 120, 0, input);
throw nvae;
}
switch (alt120) {
case 1 :
// InternalReqSpec.g:4848:4: (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )
{
// InternalReqSpec.g:4848:4: (otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )* )
// InternalReqSpec.g:4849:5: otherlv_1= 'in' otherlv_2= 'mode' ( (otherlv_3= RULE_ID ) ) (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )*
{
otherlv_1=(Token)match(input,47,FollowSets000.FOLLOW_55); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getWhenConditionAccess().getInKeyword_1_0_0());
}
otherlv_2=(Token)match(input,48,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getWhenConditionAccess().getModeKeyword_1_0_1());
}
// InternalReqSpec.g:4857:5: ( (otherlv_3= RULE_ID ) )
// InternalReqSpec.g:4858:6: (otherlv_3= RULE_ID )
{
// InternalReqSpec.g:4858:6: (otherlv_3= RULE_ID )
// InternalReqSpec.g:4859:7: otherlv_3= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getWhenConditionRule());
}
}
otherlv_3=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getWhenConditionAccess().getInModeModeCrossReference_1_0_2_0());
}
}
}
// InternalReqSpec.g:4870:5: (otherlv_4= ',' ( (otherlv_5= RULE_ID ) ) )*
loop118:
do {
int alt118=2;
int LA118_0 = input.LA(1);
if ( (LA118_0==49) ) {
alt118=1;
}
switch (alt118) {
case 1 :
// InternalReqSpec.g:4871:6: otherlv_4= ',' ( (otherlv_5= RULE_ID ) )
{
otherlv_4=(Token)match(input,49,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getWhenConditionAccess().getCommaKeyword_1_0_3_0());
}
// InternalReqSpec.g:4875:6: ( (otherlv_5= RULE_ID ) )
// InternalReqSpec.g:4876:7: (otherlv_5= RULE_ID )
{
// InternalReqSpec.g:4876:7: (otherlv_5= RULE_ID )
// InternalReqSpec.g:4877:8: otherlv_5= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getWhenConditionRule());
}
}
otherlv_5=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getWhenConditionAccess().getInModeModeCrossReference_1_0_3_1_0());
}
}
}
}
break;
default :
break loop118;
}
} while (true);
}
}
break;
case 2 :
// InternalReqSpec.g:4891:4: (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* )
{
// InternalReqSpec.g:4891:4: (otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )* )
// InternalReqSpec.g:4892:5: otherlv_6= 'in' otherlv_7= 'error' otherlv_8= 'state' ( (otherlv_9= RULE_ID ) ) (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )*
{
otherlv_6=(Token)match(input,47,FollowSets000.FOLLOW_57); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getWhenConditionAccess().getInKeyword_1_1_0());
}
otherlv_7=(Token)match(input,50,FollowSets000.FOLLOW_58); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getWhenConditionAccess().getErrorKeyword_1_1_1());
}
otherlv_8=(Token)match(input,51,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getWhenConditionAccess().getStateKeyword_1_1_2());
}
// InternalReqSpec.g:4904:5: ( (otherlv_9= RULE_ID ) )
// InternalReqSpec.g:4905:6: (otherlv_9= RULE_ID )
{
// InternalReqSpec.g:4905:6: (otherlv_9= RULE_ID )
// InternalReqSpec.g:4906:7: otherlv_9= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getWhenConditionRule());
}
}
otherlv_9=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getWhenConditionAccess().getInErrorStateEObjectCrossReference_1_1_3_0());
}
}
}
// InternalReqSpec.g:4917:5: (otherlv_10= ',' ( (otherlv_11= RULE_ID ) ) )*
loop119:
do {
int alt119=2;
int LA119_0 = input.LA(1);
if ( (LA119_0==49) ) {
alt119=1;
}
switch (alt119) {
case 1 :
// InternalReqSpec.g:4918:6: otherlv_10= ',' ( (otherlv_11= RULE_ID ) )
{
otherlv_10=(Token)match(input,49,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getWhenConditionAccess().getCommaKeyword_1_1_4_0());
}
// InternalReqSpec.g:4922:6: ( (otherlv_11= RULE_ID ) )
// InternalReqSpec.g:4923:7: (otherlv_11= RULE_ID )
{
// InternalReqSpec.g:4923:7: (otherlv_11= RULE_ID )
// InternalReqSpec.g:4924:8: otherlv_11= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getWhenConditionRule());
}
}
otherlv_11=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_56); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getWhenConditionAccess().getInErrorStateEObjectCrossReference_1_1_4_1_0());
}
}
}
}
break;
default :
break loop119;
}
} while (true);
}
}
break;
case 3 :
// InternalReqSpec.g:4938:4: ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' )
{
// InternalReqSpec.g:4938:4: ( ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')' )
// InternalReqSpec.g:4939:5: ( (lv_condition_12_0= ruleQualifiedName ) ) otherlv_13= '(' otherlv_14= ')'
{
// InternalReqSpec.g:4939:5: ( (lv_condition_12_0= ruleQualifiedName ) )
// InternalReqSpec.g:4940:6: (lv_condition_12_0= ruleQualifiedName )
{
// InternalReqSpec.g:4940:6: (lv_condition_12_0= ruleQualifiedName )
// InternalReqSpec.g:4941:7: lv_condition_12_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getWhenConditionAccess().getConditionQualifiedNameParserRuleCall_1_2_0_0());
}
pushFollow(FollowSets000.FOLLOW_59);
lv_condition_12_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getWhenConditionRule());
}
set(
current,
"condition",
lv_condition_12_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_13=(Token)match(input,52,FollowSets000.FOLLOW_60); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getWhenConditionAccess().getLeftParenthesisKeyword_1_2_1());
}
otherlv_14=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getWhenConditionAccess().getRightParenthesisKeyword_1_2_2());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleWhenCondition"
// $ANTLR start "entryRuleReqPredicate"
// InternalReqSpec.g:4972:1: entryRuleReqPredicate returns [EObject current=null] : iv_ruleReqPredicate= ruleReqPredicate EOF ;
public final EObject entryRuleReqPredicate() throws RecognitionException {
EObject current = null;
EObject iv_ruleReqPredicate = null;
try {
// InternalReqSpec.g:4972:53: (iv_ruleReqPredicate= ruleReqPredicate EOF )
// InternalReqSpec.g:4973:2: iv_ruleReqPredicate= ruleReqPredicate EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqPredicateRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleReqPredicate=ruleReqPredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleReqPredicate;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleReqPredicate"
// $ANTLR start "ruleReqPredicate"
// InternalReqSpec.g:4979:1: ruleReqPredicate returns [EObject current=null] : (this_InformalPredicate_0= ruleInformalPredicate | this_ValuePredicate_1= ruleValuePredicate ) ;
public final EObject ruleReqPredicate() throws RecognitionException {
EObject current = null;
EObject this_InformalPredicate_0 = null;
EObject this_ValuePredicate_1 = null;
enterRule();
try {
// InternalReqSpec.g:4985:2: ( (this_InformalPredicate_0= ruleInformalPredicate | this_ValuePredicate_1= ruleValuePredicate ) )
// InternalReqSpec.g:4986:2: (this_InformalPredicate_0= ruleInformalPredicate | this_ValuePredicate_1= ruleValuePredicate )
{
// InternalReqSpec.g:4986:2: (this_InformalPredicate_0= ruleInformalPredicate | this_ValuePredicate_1= ruleValuePredicate )
int alt121=2;
int LA121_0 = input.LA(1);
if ( (LA121_0==54) ) {
alt121=1;
}
else if ( (LA121_0==56) ) {
alt121=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 121, 0, input);
throw nvae;
}
switch (alt121) {
case 1 :
// InternalReqSpec.g:4987:3: this_InformalPredicate_0= ruleInformalPredicate
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqPredicateAccess().getInformalPredicateParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_InformalPredicate_0=ruleInformalPredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_InformalPredicate_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalReqSpec.g:4996:3: this_ValuePredicate_1= ruleValuePredicate
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getReqPredicateAccess().getValuePredicateParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ValuePredicate_1=ruleValuePredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ValuePredicate_1;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleReqPredicate"
// $ANTLR start "entryRuleInformalPredicate"
// InternalReqSpec.g:5008:1: entryRuleInformalPredicate returns [EObject current=null] : iv_ruleInformalPredicate= ruleInformalPredicate EOF ;
public final EObject entryRuleInformalPredicate() throws RecognitionException {
EObject current = null;
EObject iv_ruleInformalPredicate = null;
try {
// InternalReqSpec.g:5008:58: (iv_ruleInformalPredicate= ruleInformalPredicate EOF )
// InternalReqSpec.g:5009:2: iv_ruleInformalPredicate= ruleInformalPredicate EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getInformalPredicateRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleInformalPredicate=ruleInformalPredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleInformalPredicate;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleInformalPredicate"
// $ANTLR start "ruleInformalPredicate"
// InternalReqSpec.g:5015:1: ruleInformalPredicate returns [EObject current=null] : (otherlv_0= 'informal' otherlv_1= 'predicate' ( (lv_description_2_0= RULE_STRING ) ) ) ;
public final EObject ruleInformalPredicate() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token lv_description_2_0=null;
enterRule();
try {
// InternalReqSpec.g:5021:2: ( (otherlv_0= 'informal' otherlv_1= 'predicate' ( (lv_description_2_0= RULE_STRING ) ) ) )
// InternalReqSpec.g:5022:2: (otherlv_0= 'informal' otherlv_1= 'predicate' ( (lv_description_2_0= RULE_STRING ) ) )
{
// InternalReqSpec.g:5022:2: (otherlv_0= 'informal' otherlv_1= 'predicate' ( (lv_description_2_0= RULE_STRING ) ) )
// InternalReqSpec.g:5023:3: otherlv_0= 'informal' otherlv_1= 'predicate' ( (lv_description_2_0= RULE_STRING ) )
{
otherlv_0=(Token)match(input,54,FollowSets000.FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getInformalPredicateAccess().getInformalKeyword_0());
}
otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_9); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getInformalPredicateAccess().getPredicateKeyword_1());
}
// InternalReqSpec.g:5031:3: ( (lv_description_2_0= RULE_STRING ) )
// InternalReqSpec.g:5032:4: (lv_description_2_0= RULE_STRING )
{
// InternalReqSpec.g:5032:4: (lv_description_2_0= RULE_STRING )
// InternalReqSpec.g:5033:5: lv_description_2_0= RULE_STRING
{
lv_description_2_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_description_2_0, grammarAccess.getInformalPredicateAccess().getDescriptionSTRINGTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getInformalPredicateRule());
}
setWithLastConsumed(
current,
"description",
lv_description_2_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleInformalPredicate"
// $ANTLR start "entryRuleValuePredicate"
// InternalReqSpec.g:5053:1: entryRuleValuePredicate returns [EObject current=null] : iv_ruleValuePredicate= ruleValuePredicate EOF ;
public final EObject entryRuleValuePredicate() throws RecognitionException {
EObject current = null;
EObject iv_ruleValuePredicate = null;
try {
// InternalReqSpec.g:5053:55: (iv_ruleValuePredicate= ruleValuePredicate EOF )
// InternalReqSpec.g:5054:2: iv_ruleValuePredicate= ruleValuePredicate EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValuePredicateRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleValuePredicate=ruleValuePredicate();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleValuePredicate;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleValuePredicate"
// $ANTLR start "ruleValuePredicate"
// InternalReqSpec.g:5060:1: ruleValuePredicate returns [EObject current=null] : (otherlv_0= 'value' otherlv_1= 'predicate' ( (lv_xpression_2_0= ruleAAndExpression ) ) (otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+ )? ) ;
public final EObject ruleValuePredicate() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_1=null;
Token otherlv_3=null;
EObject lv_xpression_2_0 = null;
EObject lv_desiredValue_4_0 = null;
enterRule();
try {
// InternalReqSpec.g:5066:2: ( (otherlv_0= 'value' otherlv_1= 'predicate' ( (lv_xpression_2_0= ruleAAndExpression ) ) (otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+ )? ) )
// InternalReqSpec.g:5067:2: (otherlv_0= 'value' otherlv_1= 'predicate' ( (lv_xpression_2_0= ruleAAndExpression ) ) (otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+ )? )
{
// InternalReqSpec.g:5067:2: (otherlv_0= 'value' otherlv_1= 'predicate' ( (lv_xpression_2_0= ruleAAndExpression ) ) (otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+ )? )
// InternalReqSpec.g:5068:3: otherlv_0= 'value' otherlv_1= 'predicate' ( (lv_xpression_2_0= ruleAAndExpression ) ) (otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+ )?
{
otherlv_0=(Token)match(input,56,FollowSets000.FOLLOW_61); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getValuePredicateAccess().getValueKeyword_0());
}
otherlv_1=(Token)match(input,55,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getValuePredicateAccess().getPredicateKeyword_1());
}
// InternalReqSpec.g:5076:3: ( (lv_xpression_2_0= ruleAAndExpression ) )
// InternalReqSpec.g:5077:4: (lv_xpression_2_0= ruleAAndExpression )
{
// InternalReqSpec.g:5077:4: (lv_xpression_2_0= ruleAAndExpression )
// InternalReqSpec.g:5078:5: lv_xpression_2_0= ruleAAndExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValuePredicateAccess().getXpressionAAndExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_63);
lv_xpression_2_0=ruleAAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValuePredicateRule());
}
set(
current,
"xpression",
lv_xpression_2_0,
"org.osate.alisa.common.Common.AAndExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:5095:3: (otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+ )?
int alt123=2;
int LA123_0 = input.LA(1);
if ( (LA123_0==36) ) {
alt123=1;
}
switch (alt123) {
case 1 :
// InternalReqSpec.g:5096:4: otherlv_3= 'with' ( (lv_desiredValue_4_0= ruleDesiredValue ) )+
{
otherlv_3=(Token)match(input,36,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getValuePredicateAccess().getWithKeyword_3_0());
}
// InternalReqSpec.g:5100:4: ( (lv_desiredValue_4_0= ruleDesiredValue ) )+
int cnt122=0;
loop122:
do {
int alt122=2;
int LA122_0 = input.LA(1);
if ( (LA122_0==RULE_ID) ) {
alt122=1;
}
switch (alt122) {
case 1 :
// InternalReqSpec.g:5101:5: (lv_desiredValue_4_0= ruleDesiredValue )
{
// InternalReqSpec.g:5101:5: (lv_desiredValue_4_0= ruleDesiredValue )
// InternalReqSpec.g:5102:6: lv_desiredValue_4_0= ruleDesiredValue
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValuePredicateAccess().getDesiredValueDesiredValueParserRuleCall_3_1_0());
}
pushFollow(FollowSets000.FOLLOW_64);
lv_desiredValue_4_0=ruleDesiredValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValuePredicateRule());
}
add(
current,
"desiredValue",
lv_desiredValue_4_0,
"org.osate.reqspec.ReqSpec.DesiredValue");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt122 >= 1 ) break loop122;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(122, input);
throw eee;
}
cnt122++;
} while (true);
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleValuePredicate"
// $ANTLR start "entryRuleDesiredValue"
// InternalReqSpec.g:5124:1: entryRuleDesiredValue returns [EObject current=null] : iv_ruleDesiredValue= ruleDesiredValue EOF ;
public final EObject entryRuleDesiredValue() throws RecognitionException {
EObject current = null;
EObject iv_ruleDesiredValue = null;
try {
// InternalReqSpec.g:5124:53: (iv_ruleDesiredValue= ruleDesiredValue EOF )
// InternalReqSpec.g:5125:2: iv_ruleDesiredValue= ruleDesiredValue EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDesiredValueRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDesiredValue=ruleDesiredValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDesiredValue;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDesiredValue"
// $ANTLR start "ruleDesiredValue"
// InternalReqSpec.g:5131:1: ruleDesiredValue returns [EObject current=null] : ( ( (lv_desired_0_0= ruleAVariableReference ) ) ( ( (lv_upto_1_0= 'upto' ) ) | otherlv_2= 'downto' ) ( (lv_value_3_0= ruleAExpression ) ) ) ;
public final EObject ruleDesiredValue() throws RecognitionException {
EObject current = null;
Token lv_upto_1_0=null;
Token otherlv_2=null;
EObject lv_desired_0_0 = null;
EObject lv_value_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:5137:2: ( ( ( (lv_desired_0_0= ruleAVariableReference ) ) ( ( (lv_upto_1_0= 'upto' ) ) | otherlv_2= 'downto' ) ( (lv_value_3_0= ruleAExpression ) ) ) )
// InternalReqSpec.g:5138:2: ( ( (lv_desired_0_0= ruleAVariableReference ) ) ( ( (lv_upto_1_0= 'upto' ) ) | otherlv_2= 'downto' ) ( (lv_value_3_0= ruleAExpression ) ) )
{
// InternalReqSpec.g:5138:2: ( ( (lv_desired_0_0= ruleAVariableReference ) ) ( ( (lv_upto_1_0= 'upto' ) ) | otherlv_2= 'downto' ) ( (lv_value_3_0= ruleAExpression ) ) )
// InternalReqSpec.g:5139:3: ( (lv_desired_0_0= ruleAVariableReference ) ) ( ( (lv_upto_1_0= 'upto' ) ) | otherlv_2= 'downto' ) ( (lv_value_3_0= ruleAExpression ) )
{
// InternalReqSpec.g:5139:3: ( (lv_desired_0_0= ruleAVariableReference ) )
// InternalReqSpec.g:5140:4: (lv_desired_0_0= ruleAVariableReference )
{
// InternalReqSpec.g:5140:4: (lv_desired_0_0= ruleAVariableReference )
// InternalReqSpec.g:5141:5: lv_desired_0_0= ruleAVariableReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDesiredValueAccess().getDesiredAVariableReferenceParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_65);
lv_desired_0_0=ruleAVariableReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDesiredValueRule());
}
set(
current,
"desired",
lv_desired_0_0,
"org.osate.alisa.common.Common.AVariableReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:5158:3: ( ( (lv_upto_1_0= 'upto' ) ) | otherlv_2= 'downto' )
int alt124=2;
int LA124_0 = input.LA(1);
if ( (LA124_0==57) ) {
alt124=1;
}
else if ( (LA124_0==58) ) {
alt124=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 124, 0, input);
throw nvae;
}
switch (alt124) {
case 1 :
// InternalReqSpec.g:5159:4: ( (lv_upto_1_0= 'upto' ) )
{
// InternalReqSpec.g:5159:4: ( (lv_upto_1_0= 'upto' ) )
// InternalReqSpec.g:5160:5: (lv_upto_1_0= 'upto' )
{
// InternalReqSpec.g:5160:5: (lv_upto_1_0= 'upto' )
// InternalReqSpec.g:5161:6: lv_upto_1_0= 'upto'
{
lv_upto_1_0=(Token)match(input,57,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_upto_1_0, grammarAccess.getDesiredValueAccess().getUptoUptoKeyword_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDesiredValueRule());
}
setWithLastConsumed(current, "upto", true, "upto");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:5174:4: otherlv_2= 'downto'
{
otherlv_2=(Token)match(input,58,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getDesiredValueAccess().getDowntoKeyword_1_1());
}
}
break;
}
// InternalReqSpec.g:5179:3: ( (lv_value_3_0= ruleAExpression ) )
// InternalReqSpec.g:5180:4: (lv_value_3_0= ruleAExpression )
{
// InternalReqSpec.g:5180:4: (lv_value_3_0= ruleAExpression )
// InternalReqSpec.g:5181:5: lv_value_3_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDesiredValueAccess().getValueAExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_3_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDesiredValueRule());
}
set(
current,
"value",
lv_value_3_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDesiredValue"
// $ANTLR start "entryRuleExternalDocument"
// InternalReqSpec.g:5202:1: entryRuleExternalDocument returns [EObject current=null] : iv_ruleExternalDocument= ruleExternalDocument EOF ;
public final EObject entryRuleExternalDocument() throws RecognitionException {
EObject current = null;
EObject iv_ruleExternalDocument = null;
try {
// InternalReqSpec.g:5202:57: (iv_ruleExternalDocument= ruleExternalDocument EOF )
// InternalReqSpec.g:5203:2: iv_ruleExternalDocument= ruleExternalDocument EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalDocumentRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleExternalDocument=ruleExternalDocument();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleExternalDocument;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleExternalDocument"
// $ANTLR start "ruleExternalDocument"
// InternalReqSpec.g:5209:1: ruleExternalDocument returns [EObject current=null] : ( ( (lv_docReference_0_0= ruleDOCPATH ) ) (otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) ) )? ) ;
public final EObject ruleExternalDocument() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
AntlrDatatypeRuleToken lv_docReference_0_0 = null;
AntlrDatatypeRuleToken lv_docFragment_2_0 = null;
enterRule();
try {
// InternalReqSpec.g:5215:2: ( ( ( (lv_docReference_0_0= ruleDOCPATH ) ) (otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) ) )? ) )
// InternalReqSpec.g:5216:2: ( ( (lv_docReference_0_0= ruleDOCPATH ) ) (otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) ) )? )
{
// InternalReqSpec.g:5216:2: ( ( (lv_docReference_0_0= ruleDOCPATH ) ) (otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) ) )? )
// InternalReqSpec.g:5217:3: ( (lv_docReference_0_0= ruleDOCPATH ) ) (otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) ) )?
{
// InternalReqSpec.g:5217:3: ( (lv_docReference_0_0= ruleDOCPATH ) )
// InternalReqSpec.g:5218:4: (lv_docReference_0_0= ruleDOCPATH )
{
// InternalReqSpec.g:5218:4: (lv_docReference_0_0= ruleDOCPATH )
// InternalReqSpec.g:5219:5: lv_docReference_0_0= ruleDOCPATH
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalDocumentAccess().getDocReferenceDOCPATHParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_66);
lv_docReference_0_0=ruleDOCPATH();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExternalDocumentRule());
}
set(
current,
"docReference",
lv_docReference_0_0,
"org.osate.reqspec.ReqSpec.DOCPATH");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:5236:3: (otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) ) )?
int alt125=2;
int LA125_0 = input.LA(1);
if ( (LA125_0==59) ) {
alt125=1;
}
switch (alt125) {
case 1 :
// InternalReqSpec.g:5237:4: otherlv_1= '#' ( (lv_docFragment_2_0= ruleQualifiedName ) )
{
otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getExternalDocumentAccess().getNumberSignKeyword_1_0());
}
// InternalReqSpec.g:5241:4: ( (lv_docFragment_2_0= ruleQualifiedName ) )
// InternalReqSpec.g:5242:5: (lv_docFragment_2_0= ruleQualifiedName )
{
// InternalReqSpec.g:5242:5: (lv_docFragment_2_0= ruleQualifiedName )
// InternalReqSpec.g:5243:6: lv_docFragment_2_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getExternalDocumentAccess().getDocFragmentQualifiedNameParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_docFragment_2_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getExternalDocumentRule());
}
set(
current,
"docFragment",
lv_docFragment_2_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleExternalDocument"
// $ANTLR start "entryRuleValDeclaration"
// InternalReqSpec.g:5265:1: entryRuleValDeclaration returns [EObject current=null] : iv_ruleValDeclaration= ruleValDeclaration EOF ;
public final EObject entryRuleValDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleValDeclaration = null;
try {
// InternalReqSpec.g:5265:55: (iv_ruleValDeclaration= ruleValDeclaration EOF )
// InternalReqSpec.g:5266:2: iv_ruleValDeclaration= ruleValDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleValDeclaration=ruleValDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleValDeclaration;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleValDeclaration"
// $ANTLR start "ruleValDeclaration"
// InternalReqSpec.g:5272:1: ruleValDeclaration returns [EObject current=null] : ( () otherlv_1= 'val' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )? otherlv_12= '=' ( (lv_value_13_0= ruleAExpression ) ) (otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) ) )? ) ;
public final EObject ruleValDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token lv_range_7_0=null;
Token otherlv_9=null;
Token otherlv_11=null;
Token otherlv_12=null;
Token otherlv_14=null;
EObject lv_type_4_0 = null;
EObject lv_type_6_0 = null;
EObject lv_type_8_0 = null;
EObject lv_type_10_0 = null;
EObject lv_value_13_0 = null;
EObject lv_property_15_0 = null;
enterRule();
try {
// InternalReqSpec.g:5278:2: ( ( () otherlv_1= 'val' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )? otherlv_12= '=' ( (lv_value_13_0= ruleAExpression ) ) (otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) ) )? ) )
// InternalReqSpec.g:5279:2: ( () otherlv_1= 'val' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )? otherlv_12= '=' ( (lv_value_13_0= ruleAExpression ) ) (otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) ) )? )
{
// InternalReqSpec.g:5279:2: ( () otherlv_1= 'val' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )? otherlv_12= '=' ( (lv_value_13_0= ruleAExpression ) ) (otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) ) )? )
// InternalReqSpec.g:5280:3: () otherlv_1= 'val' ( (lv_name_2_0= RULE_ID ) ) (otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )? otherlv_12= '=' ( (lv_value_13_0= ruleAExpression ) ) (otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) ) )?
{
// InternalReqSpec.g:5280:3: ()
// InternalReqSpec.g:5281:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getValDeclarationAccess().getReqValDeclarationAction_0(),
current);
}
}
otherlv_1=(Token)match(input,60,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getValDeclarationAccess().getValKeyword_1());
}
// InternalReqSpec.g:5291:3: ( (lv_name_2_0= RULE_ID ) )
// InternalReqSpec.g:5292:4: (lv_name_2_0= RULE_ID )
{
// InternalReqSpec.g:5292:4: (lv_name_2_0= RULE_ID )
// InternalReqSpec.g:5293:5: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_67); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getValDeclarationAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getValDeclarationRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
// InternalReqSpec.g:5309:3: (otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )?
int alt128=2;
int LA128_0 = input.LA(1);
if ( (LA128_0==22) ) {
alt128=1;
}
switch (alt128) {
case 1 :
// InternalReqSpec.g:5310:4: otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) )
{
otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getValDeclarationAccess().getColonKeyword_3_0());
}
// InternalReqSpec.g:5314:4: ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) )
int alt127=3;
switch ( input.LA(1) ) {
case RULE_ID:
case 73:
case 74:
case 76:
case 77:
case 78:
{
alt127=1;
}
break;
case 61:
{
alt127=2;
}
break;
case 18:
{
alt127=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 127, 0, input);
throw nvae;
}
switch (alt127) {
case 1 :
// InternalReqSpec.g:5315:5: ( (lv_type_4_0= ruleTypeRef ) )
{
// InternalReqSpec.g:5315:5: ( (lv_type_4_0= ruleTypeRef ) )
// InternalReqSpec.g:5316:6: (lv_type_4_0= ruleTypeRef )
{
// InternalReqSpec.g:5316:6: (lv_type_4_0= ruleTypeRef )
// InternalReqSpec.g:5317:7: lv_type_4_0= ruleTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationAccess().getTypeTypeRefParserRuleCall_3_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_69);
lv_type_4_0=ruleTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValDeclarationRule());
}
set(
current,
"type",
lv_type_4_0,
"org.osate.alisa.common.Common.TypeRef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:5335:5: (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) )
{
// InternalReqSpec.g:5335:5: (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) )
// InternalReqSpec.g:5336:6: otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) )
{
otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getValDeclarationAccess().getTypeofKeyword_3_1_1_0());
}
// InternalReqSpec.g:5340:6: ( (lv_type_6_0= rulePropertyRef ) )
// InternalReqSpec.g:5341:7: (lv_type_6_0= rulePropertyRef )
{
// InternalReqSpec.g:5341:7: (lv_type_6_0= rulePropertyRef )
// InternalReqSpec.g:5342:8: lv_type_6_0= rulePropertyRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationAccess().getTypePropertyRefParserRuleCall_3_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_69);
lv_type_6_0=rulePropertyRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValDeclarationRule());
}
set(
current,
"type",
lv_type_6_0,
"org.osate.alisa.common.Common.PropertyRef");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 3 :
// InternalReqSpec.g:5361:5: ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' )
{
// InternalReqSpec.g:5361:5: ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' )
// InternalReqSpec.g:5362:6: ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']'
{
// InternalReqSpec.g:5362:6: ( (lv_range_7_0= '[' ) )
// InternalReqSpec.g:5363:7: (lv_range_7_0= '[' )
{
// InternalReqSpec.g:5363:7: (lv_range_7_0= '[' )
// InternalReqSpec.g:5364:8: lv_range_7_0= '['
{
lv_range_7_0=(Token)match(input,18,FollowSets000.FOLLOW_71); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_range_7_0, grammarAccess.getValDeclarationAccess().getRangeLeftSquareBracketKeyword_3_1_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getValDeclarationRule());
}
setWithLastConsumed(current, "range", true, "[");
}
}
}
// InternalReqSpec.g:5376:6: ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) )
int alt126=2;
int LA126_0 = input.LA(1);
if ( (LA126_0==RULE_ID||(LA126_0>=73 && LA126_0<=74)||(LA126_0>=76 && LA126_0<=78)) ) {
alt126=1;
}
else if ( (LA126_0==61) ) {
alt126=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 126, 0, input);
throw nvae;
}
switch (alt126) {
case 1 :
// InternalReqSpec.g:5377:7: ( (lv_type_8_0= ruleTypeRef ) )
{
// InternalReqSpec.g:5377:7: ( (lv_type_8_0= ruleTypeRef ) )
// InternalReqSpec.g:5378:8: (lv_type_8_0= ruleTypeRef )
{
// InternalReqSpec.g:5378:8: (lv_type_8_0= ruleTypeRef )
// InternalReqSpec.g:5379:9: lv_type_8_0= ruleTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationAccess().getTypeTypeRefParserRuleCall_3_1_2_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_type_8_0=ruleTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValDeclarationRule());
}
set(
current,
"type",
lv_type_8_0,
"org.osate.alisa.common.Common.TypeRef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:5397:7: (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) )
{
// InternalReqSpec.g:5397:7: (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) )
// InternalReqSpec.g:5398:8: otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) )
{
otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getValDeclarationAccess().getTypeofKeyword_3_1_2_1_1_0());
}
// InternalReqSpec.g:5402:8: ( (lv_type_10_0= rulePropertyRef ) )
// InternalReqSpec.g:5403:9: (lv_type_10_0= rulePropertyRef )
{
// InternalReqSpec.g:5403:9: (lv_type_10_0= rulePropertyRef )
// InternalReqSpec.g:5404:10: lv_type_10_0= rulePropertyRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationAccess().getTypePropertyRefParserRuleCall_3_1_2_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_type_10_0=rulePropertyRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValDeclarationRule());
}
set(
current,
"type",
lv_type_10_0,
"org.osate.alisa.common.Common.PropertyRef");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
otherlv_11=(Token)match(input,19,FollowSets000.FOLLOW_69); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getValDeclarationAccess().getRightSquareBracketKeyword_3_1_2_2());
}
}
}
break;
}
}
break;
}
otherlv_12=(Token)match(input,62,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_12, grammarAccess.getValDeclarationAccess().getEqualsSignKeyword_4());
}
// InternalReqSpec.g:5434:3: ( (lv_value_13_0= ruleAExpression ) )
// InternalReqSpec.g:5435:4: (lv_value_13_0= ruleAExpression )
{
// InternalReqSpec.g:5435:4: (lv_value_13_0= ruleAExpression )
// InternalReqSpec.g:5436:5: lv_value_13_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationAccess().getValueAExpressionParserRuleCall_5_0());
}
pushFollow(FollowSets000.FOLLOW_73);
lv_value_13_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValDeclarationRule());
}
set(
current,
"value",
lv_value_13_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:5453:3: (otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) ) )?
int alt129=2;
int LA129_0 = input.LA(1);
if ( (LA129_0==63) ) {
alt129=1;
}
switch (alt129) {
case 1 :
// InternalReqSpec.g:5454:4: otherlv_14= 'as' ( (lv_property_15_0= rulePropertyRef ) )
{
otherlv_14=(Token)match(input,63,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getValDeclarationAccess().getAsKeyword_6_0());
}
// InternalReqSpec.g:5458:4: ( (lv_property_15_0= rulePropertyRef ) )
// InternalReqSpec.g:5459:5: (lv_property_15_0= rulePropertyRef )
{
// InternalReqSpec.g:5459:5: (lv_property_15_0= rulePropertyRef )
// InternalReqSpec.g:5460:6: lv_property_15_0= rulePropertyRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getValDeclarationAccess().getPropertyPropertyRefParserRuleCall_6_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_property_15_0=rulePropertyRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getValDeclarationRule());
}
set(
current,
"property",
lv_property_15_0,
"org.osate.alisa.common.Common.PropertyRef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleValDeclaration"
// $ANTLR start "entryRuleDOCPATH"
// InternalReqSpec.g:5482:1: entryRuleDOCPATH returns [String current=null] : iv_ruleDOCPATH= ruleDOCPATH EOF ;
public final String entryRuleDOCPATH() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleDOCPATH = null;
try {
// InternalReqSpec.g:5482:47: (iv_ruleDOCPATH= ruleDOCPATH EOF )
// InternalReqSpec.g:5483:2: iv_ruleDOCPATH= ruleDOCPATH EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDOCPATHRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDOCPATH=ruleDOCPATH();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDOCPATH.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDOCPATH"
// $ANTLR start "ruleDOCPATH"
// InternalReqSpec.g:5489:1: ruleDOCPATH returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID ) ;
public final AntlrDatatypeRuleToken ruleDOCPATH() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
Token this_ID_2=null;
Token this_ID_4=null;
enterRule();
try {
// InternalReqSpec.g:5495:2: ( ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID ) )
// InternalReqSpec.g:5496:2: ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID )
{
// InternalReqSpec.g:5496:2: ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID )
// InternalReqSpec.g:5497:3: (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID
{
// InternalReqSpec.g:5497:3: (this_ID_0= RULE_ID kw= '/' )*
loop130:
do {
int alt130=2;
int LA130_0 = input.LA(1);
if ( (LA130_0==RULE_ID) ) {
int LA130_1 = input.LA(2);
if ( (LA130_1==64) ) {
alt130=1;
}
}
switch (alt130) {
case 1 :
// InternalReqSpec.g:5498:4: this_ID_0= RULE_ID kw= '/'
{
this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getDOCPATHAccess().getIDTerminalRuleCall_0_0());
}
kw=(Token)match(input,64,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getDOCPATHAccess().getSolidusKeyword_0_1());
}
}
break;
default :
break loop130;
}
} while (true);
this_ID_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_2, grammarAccess.getDOCPATHAccess().getIDTerminalRuleCall_1());
}
kw=(Token)match(input,65,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getDOCPATHAccess().getFullStopKeyword_2());
}
this_ID_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_4);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_4, grammarAccess.getDOCPATHAccess().getIDTerminalRuleCall_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDOCPATH"
// $ANTLR start "entryRuleDescription"
// InternalReqSpec.g:5534:1: entryRuleDescription returns [EObject current=null] : iv_ruleDescription= ruleDescription EOF ;
public final EObject entryRuleDescription() throws RecognitionException {
EObject current = null;
EObject iv_ruleDescription = null;
try {
// InternalReqSpec.g:5534:52: (iv_ruleDescription= ruleDescription EOF )
// InternalReqSpec.g:5535:2: iv_ruleDescription= ruleDescription EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDescriptionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDescription=ruleDescription();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDescription;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDescription"
// $ANTLR start "ruleDescription"
// InternalReqSpec.g:5541:1: ruleDescription returns [EObject current=null] : (otherlv_0= 'description' ( (lv_description_1_0= ruleDescriptionElement ) )+ ) ;
public final EObject ruleDescription() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_description_1_0 = null;
enterRule();
try {
// InternalReqSpec.g:5547:2: ( (otherlv_0= 'description' ( (lv_description_1_0= ruleDescriptionElement ) )+ ) )
// InternalReqSpec.g:5548:2: (otherlv_0= 'description' ( (lv_description_1_0= ruleDescriptionElement ) )+ )
{
// InternalReqSpec.g:5548:2: (otherlv_0= 'description' ( (lv_description_1_0= ruleDescriptionElement ) )+ )
// InternalReqSpec.g:5549:3: otherlv_0= 'description' ( (lv_description_1_0= ruleDescriptionElement ) )+
{
otherlv_0=(Token)match(input,66,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getDescriptionAccess().getDescriptionKeyword_0());
}
// InternalReqSpec.g:5553:3: ( (lv_description_1_0= ruleDescriptionElement ) )+
int cnt131=0;
loop131:
do {
int alt131=2;
int LA131_0 = input.LA(1);
if ( ((LA131_0>=RULE_STRING && LA131_0<=RULE_ID)||LA131_0==67||LA131_0==82) ) {
alt131=1;
}
switch (alt131) {
case 1 :
// InternalReqSpec.g:5554:4: (lv_description_1_0= ruleDescriptionElement )
{
// InternalReqSpec.g:5554:4: (lv_description_1_0= ruleDescriptionElement )
// InternalReqSpec.g:5555:5: lv_description_1_0= ruleDescriptionElement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDescriptionAccess().getDescriptionDescriptionElementParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_77);
lv_description_1_0=ruleDescriptionElement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDescriptionRule());
}
add(
current,
"description",
lv_description_1_0,
"org.osate.alisa.common.Common.DescriptionElement");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt131 >= 1 ) break loop131;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(131, input);
throw eee;
}
cnt131++;
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDescription"
// $ANTLR start "entryRuleDescriptionElement"
// InternalReqSpec.g:5576:1: entryRuleDescriptionElement returns [EObject current=null] : iv_ruleDescriptionElement= ruleDescriptionElement EOF ;
public final EObject entryRuleDescriptionElement() throws RecognitionException {
EObject current = null;
EObject iv_ruleDescriptionElement = null;
try {
// InternalReqSpec.g:5576:59: (iv_ruleDescriptionElement= ruleDescriptionElement EOF )
// InternalReqSpec.g:5577:2: iv_ruleDescriptionElement= ruleDescriptionElement EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDescriptionElementRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleDescriptionElement=ruleDescriptionElement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleDescriptionElement;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleDescriptionElement"
// $ANTLR start "ruleDescriptionElement"
// InternalReqSpec.g:5583:1: ruleDescriptionElement returns [EObject current=null] : ( ( (lv_text_0_0= RULE_STRING ) ) | ( ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' ) ) | ( ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference ) ) | ( (lv_showValue_3_0= ruleShowValue ) ) ) ;
public final EObject ruleDescriptionElement() throws RecognitionException {
EObject current = null;
Token lv_text_0_0=null;
Token lv_thisTarget_1_0=null;
EObject lv_image_2_0 = null;
EObject lv_showValue_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:5589:2: ( ( ( (lv_text_0_0= RULE_STRING ) ) | ( ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' ) ) | ( ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference ) ) | ( (lv_showValue_3_0= ruleShowValue ) ) ) )
// InternalReqSpec.g:5590:2: ( ( (lv_text_0_0= RULE_STRING ) ) | ( ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' ) ) | ( ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference ) ) | ( (lv_showValue_3_0= ruleShowValue ) ) )
{
// InternalReqSpec.g:5590:2: ( ( (lv_text_0_0= RULE_STRING ) ) | ( ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' ) ) | ( ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference ) ) | ( (lv_showValue_3_0= ruleShowValue ) ) )
int alt132=4;
int LA132_0 = input.LA(1);
if ( (LA132_0==RULE_STRING) ) {
alt132=1;
}
else if ( (LA132_0==67) && (synpred1_InternalReqSpec())) {
alt132=2;
}
else if ( (LA132_0==82) && (synpred2_InternalReqSpec())) {
alt132=3;
}
else if ( (LA132_0==RULE_ID) ) {
alt132=4;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 132, 0, input);
throw nvae;
}
switch (alt132) {
case 1 :
// InternalReqSpec.g:5591:3: ( (lv_text_0_0= RULE_STRING ) )
{
// InternalReqSpec.g:5591:3: ( (lv_text_0_0= RULE_STRING ) )
// InternalReqSpec.g:5592:4: (lv_text_0_0= RULE_STRING )
{
// InternalReqSpec.g:5592:4: (lv_text_0_0= RULE_STRING )
// InternalReqSpec.g:5593:5: lv_text_0_0= RULE_STRING
{
lv_text_0_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_text_0_0, grammarAccess.getDescriptionElementAccess().getTextSTRINGTerminalRuleCall_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDescriptionElementRule());
}
setWithLastConsumed(
current,
"text",
lv_text_0_0,
"org.eclipse.xtext.common.Terminals.STRING");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:5610:3: ( ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' ) )
{
// InternalReqSpec.g:5610:3: ( ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' ) )
// InternalReqSpec.g:5611:4: ( ( 'this' ) )=> (lv_thisTarget_1_0= 'this' )
{
// InternalReqSpec.g:5615:4: (lv_thisTarget_1_0= 'this' )
// InternalReqSpec.g:5616:5: lv_thisTarget_1_0= 'this'
{
lv_thisTarget_1_0=(Token)match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_thisTarget_1_0, grammarAccess.getDescriptionElementAccess().getThisTargetThisKeyword_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getDescriptionElementRule());
}
setWithLastConsumed(current, "thisTarget", true, "this");
}
}
}
}
break;
case 3 :
// InternalReqSpec.g:5629:3: ( ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference ) )
{
// InternalReqSpec.g:5629:3: ( ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference ) )
// InternalReqSpec.g:5630:4: ( ( ruleImageReference ) )=> (lv_image_2_0= ruleImageReference )
{
// InternalReqSpec.g:5634:4: (lv_image_2_0= ruleImageReference )
// InternalReqSpec.g:5635:5: lv_image_2_0= ruleImageReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDescriptionElementAccess().getImageImageReferenceParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_image_2_0=ruleImageReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDescriptionElementRule());
}
set(
current,
"image",
lv_image_2_0,
"org.osate.alisa.common.Common.ImageReference");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 4 :
// InternalReqSpec.g:5653:3: ( (lv_showValue_3_0= ruleShowValue ) )
{
// InternalReqSpec.g:5653:3: ( (lv_showValue_3_0= ruleShowValue ) )
// InternalReqSpec.g:5654:4: (lv_showValue_3_0= ruleShowValue )
{
// InternalReqSpec.g:5654:4: (lv_showValue_3_0= ruleShowValue )
// InternalReqSpec.g:5655:5: lv_showValue_3_0= ruleShowValue
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getDescriptionElementAccess().getShowValueShowValueParserRuleCall_3_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_showValue_3_0=ruleShowValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getDescriptionElementRule());
}
set(
current,
"showValue",
lv_showValue_3_0,
"org.osate.alisa.common.Common.ShowValue");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleDescriptionElement"
// $ANTLR start "entryRuleRationale"
// InternalReqSpec.g:5676:1: entryRuleRationale returns [EObject current=null] : iv_ruleRationale= ruleRationale EOF ;
public final EObject entryRuleRationale() throws RecognitionException {
EObject current = null;
EObject iv_ruleRationale = null;
try {
// InternalReqSpec.g:5676:50: (iv_ruleRationale= ruleRationale EOF )
// InternalReqSpec.g:5677:2: iv_ruleRationale= ruleRationale EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRationaleRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleRationale=ruleRationale();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleRationale;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleRationale"
// $ANTLR start "ruleRationale"
// InternalReqSpec.g:5683:1: ruleRationale returns [EObject current=null] : (otherlv_0= 'rationale' ( (lv_description_1_0= ruleDescriptionElement ) )+ ) ;
public final EObject ruleRationale() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
EObject lv_description_1_0 = null;
enterRule();
try {
// InternalReqSpec.g:5689:2: ( (otherlv_0= 'rationale' ( (lv_description_1_0= ruleDescriptionElement ) )+ ) )
// InternalReqSpec.g:5690:2: (otherlv_0= 'rationale' ( (lv_description_1_0= ruleDescriptionElement ) )+ )
{
// InternalReqSpec.g:5690:2: (otherlv_0= 'rationale' ( (lv_description_1_0= ruleDescriptionElement ) )+ )
// InternalReqSpec.g:5691:3: otherlv_0= 'rationale' ( (lv_description_1_0= ruleDescriptionElement ) )+
{
otherlv_0=(Token)match(input,68,FollowSets000.FOLLOW_76); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getRationaleAccess().getRationaleKeyword_0());
}
// InternalReqSpec.g:5695:3: ( (lv_description_1_0= ruleDescriptionElement ) )+
int cnt133=0;
loop133:
do {
int alt133=2;
int LA133_0 = input.LA(1);
if ( ((LA133_0>=RULE_STRING && LA133_0<=RULE_ID)||LA133_0==67||LA133_0==82) ) {
alt133=1;
}
switch (alt133) {
case 1 :
// InternalReqSpec.g:5696:4: (lv_description_1_0= ruleDescriptionElement )
{
// InternalReqSpec.g:5696:4: (lv_description_1_0= ruleDescriptionElement )
// InternalReqSpec.g:5697:5: lv_description_1_0= ruleDescriptionElement
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getRationaleAccess().getDescriptionDescriptionElementParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_77);
lv_description_1_0=ruleDescriptionElement();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getRationaleRule());
}
add(
current,
"description",
lv_description_1_0,
"org.osate.alisa.common.Common.DescriptionElement");
afterParserOrEnumRuleCall();
}
}
}
break;
default :
if ( cnt133 >= 1 ) break loop133;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(133, input);
throw eee;
}
cnt133++;
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleRationale"
// $ANTLR start "entryRuleUncertainty"
// InternalReqSpec.g:5718:1: entryRuleUncertainty returns [EObject current=null] : iv_ruleUncertainty= ruleUncertainty EOF ;
public final EObject entryRuleUncertainty() throws RecognitionException {
EObject current = null;
EObject iv_ruleUncertainty = null;
try {
// InternalReqSpec.g:5718:52: (iv_ruleUncertainty= ruleUncertainty EOF )
// InternalReqSpec.g:5719:2: iv_ruleUncertainty= ruleUncertainty EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getUncertaintyRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleUncertainty=ruleUncertainty();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleUncertainty;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleUncertainty"
// $ANTLR start "ruleUncertainty"
// InternalReqSpec.g:5725:1: ruleUncertainty returns [EObject current=null] : ( () otherlv_1= 'uncertainty' otherlv_2= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) ) ) otherlv_10= ']' ) ;
public final EObject ruleUncertainty() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_2=null;
Token otherlv_4=null;
Token lv_volatility_5_0=null;
Token otherlv_6=null;
Token lv_precedence_7_0=null;
Token otherlv_8=null;
Token lv_impact_9_0=null;
Token otherlv_10=null;
enterRule();
try {
// InternalReqSpec.g:5731:2: ( ( () otherlv_1= 'uncertainty' otherlv_2= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) ) ) otherlv_10= ']' ) )
// InternalReqSpec.g:5732:2: ( () otherlv_1= 'uncertainty' otherlv_2= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) ) ) otherlv_10= ']' )
{
// InternalReqSpec.g:5732:2: ( () otherlv_1= 'uncertainty' otherlv_2= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) ) ) otherlv_10= ']' )
// InternalReqSpec.g:5733:3: () otherlv_1= 'uncertainty' otherlv_2= '[' ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) ) ) otherlv_10= ']'
{
// InternalReqSpec.g:5733:3: ()
// InternalReqSpec.g:5734:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getUncertaintyAccess().getUncertaintyAction_0(),
current);
}
}
otherlv_1=(Token)match(input,69,FollowSets000.FOLLOW_5); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getUncertaintyAccess().getUncertaintyKeyword_1());
}
otherlv_2=(Token)match(input,18,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getUncertaintyAccess().getLeftSquareBracketKeyword_2());
}
// InternalReqSpec.g:5748:3: ( ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) ) )
// InternalReqSpec.g:5749:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) )
{
// InternalReqSpec.g:5749:4: ( ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* ) )
// InternalReqSpec.g:5750:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* )
{
getUnorderedGroupHelper().enter(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3());
// InternalReqSpec.g:5753:5: ( ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )* )
// InternalReqSpec.g:5754:6: ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )*
{
// InternalReqSpec.g:5754:6: ( ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) ) )*
loop134:
do {
int alt134=4;
int LA134_0 = input.LA(1);
if ( LA134_0 == 70 && getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 0) ) {
alt134=1;
}
else if ( LA134_0 == 71 && getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 1) ) {
alt134=2;
}
else if ( LA134_0 == 72 && getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 2) ) {
alt134=3;
}
switch (alt134) {
case 1 :
// InternalReqSpec.g:5755:4: ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) )
{
// InternalReqSpec.g:5755:4: ({...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) ) )
// InternalReqSpec.g:5756:5: {...}? => ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 0) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleUncertainty", "getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 0)");
}
// InternalReqSpec.g:5756:108: ( ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) ) )
// InternalReqSpec.g:5757:6: ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 0);
// InternalReqSpec.g:5760:9: ({...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) ) )
// InternalReqSpec.g:5760:10: {...}? => (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleUncertainty", "true");
}
// InternalReqSpec.g:5760:19: (otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) ) )
// InternalReqSpec.g:5760:20: otherlv_4= 'volatility' ( (lv_volatility_5_0= RULE_INT ) )
{
otherlv_4=(Token)match(input,70,FollowSets000.FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getUncertaintyAccess().getVolatilityKeyword_3_0_0());
}
// InternalReqSpec.g:5764:9: ( (lv_volatility_5_0= RULE_INT ) )
// InternalReqSpec.g:5765:10: (lv_volatility_5_0= RULE_INT )
{
// InternalReqSpec.g:5765:10: (lv_volatility_5_0= RULE_INT )
// InternalReqSpec.g:5766:11: lv_volatility_5_0= RULE_INT
{
lv_volatility_5_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_volatility_5_0, grammarAccess.getUncertaintyAccess().getVolatilityINTTerminalRuleCall_3_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getUncertaintyRule());
}
setWithLastConsumed(
current,
"volatility",
lv_volatility_5_0,
"org.eclipse.xtext.common.Terminals.INT");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3());
}
}
}
break;
case 2 :
// InternalReqSpec.g:5788:4: ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) )
{
// InternalReqSpec.g:5788:4: ({...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) ) )
// InternalReqSpec.g:5789:5: {...}? => ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 1) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleUncertainty", "getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 1)");
}
// InternalReqSpec.g:5789:108: ( ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) ) )
// InternalReqSpec.g:5790:6: ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 1);
// InternalReqSpec.g:5793:9: ({...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) ) )
// InternalReqSpec.g:5793:10: {...}? => (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleUncertainty", "true");
}
// InternalReqSpec.g:5793:19: (otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) ) )
// InternalReqSpec.g:5793:20: otherlv_6= 'precedence' ( (lv_precedence_7_0= RULE_INT ) )
{
otherlv_6=(Token)match(input,71,FollowSets000.FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getUncertaintyAccess().getPrecedenceKeyword_3_1_0());
}
// InternalReqSpec.g:5797:9: ( (lv_precedence_7_0= RULE_INT ) )
// InternalReqSpec.g:5798:10: (lv_precedence_7_0= RULE_INT )
{
// InternalReqSpec.g:5798:10: (lv_precedence_7_0= RULE_INT )
// InternalReqSpec.g:5799:11: lv_precedence_7_0= RULE_INT
{
lv_precedence_7_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_precedence_7_0, grammarAccess.getUncertaintyAccess().getPrecedenceINTTerminalRuleCall_3_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getUncertaintyRule());
}
setWithLastConsumed(
current,
"precedence",
lv_precedence_7_0,
"org.eclipse.xtext.common.Terminals.INT");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3());
}
}
}
break;
case 3 :
// InternalReqSpec.g:5821:4: ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) )
{
// InternalReqSpec.g:5821:4: ({...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) ) )
// InternalReqSpec.g:5822:5: {...}? => ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) )
{
if ( ! getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 2) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleUncertainty", "getUnorderedGroupHelper().canSelect(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 2)");
}
// InternalReqSpec.g:5822:108: ( ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) ) )
// InternalReqSpec.g:5823:6: ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) )
{
getUnorderedGroupHelper().select(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3(), 2);
// InternalReqSpec.g:5826:9: ({...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) ) )
// InternalReqSpec.g:5826:10: {...}? => (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) )
{
if ( !((true)) ) {
if (state.backtracking>0) {state.failed=true; return current;}
throw new FailedPredicateException(input, "ruleUncertainty", "true");
}
// InternalReqSpec.g:5826:19: (otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) ) )
// InternalReqSpec.g:5826:20: otherlv_8= 'impact' ( (lv_impact_9_0= RULE_INT ) )
{
otherlv_8=(Token)match(input,72,FollowSets000.FOLLOW_79); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getUncertaintyAccess().getImpactKeyword_3_2_0());
}
// InternalReqSpec.g:5830:9: ( (lv_impact_9_0= RULE_INT ) )
// InternalReqSpec.g:5831:10: (lv_impact_9_0= RULE_INT )
{
// InternalReqSpec.g:5831:10: (lv_impact_9_0= RULE_INT )
// InternalReqSpec.g:5832:11: lv_impact_9_0= RULE_INT
{
lv_impact_9_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_78); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_impact_9_0, grammarAccess.getUncertaintyAccess().getImpactINTTerminalRuleCall_3_2_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getUncertaintyRule());
}
setWithLastConsumed(
current,
"impact",
lv_impact_9_0,
"org.eclipse.xtext.common.Terminals.INT");
}
}
}
}
}
getUnorderedGroupHelper().returnFromSelection(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3());
}
}
}
break;
default :
break loop134;
}
} while (true);
}
}
getUnorderedGroupHelper().leave(grammarAccess.getUncertaintyAccess().getUnorderedGroup_3());
}
otherlv_10=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_10, grammarAccess.getUncertaintyAccess().getRightSquareBracketKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleUncertainty"
// $ANTLR start "entryRuleTypeRef"
// InternalReqSpec.g:5869:1: entryRuleTypeRef returns [EObject current=null] : iv_ruleTypeRef= ruleTypeRef EOF ;
public final EObject entryRuleTypeRef() throws RecognitionException {
EObject current = null;
EObject iv_ruleTypeRef = null;
try {
// InternalReqSpec.g:5869:48: (iv_ruleTypeRef= ruleTypeRef EOF )
// InternalReqSpec.g:5870:2: iv_ruleTypeRef= ruleTypeRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleTypeRef=ruleTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleTypeRef;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleTypeRef"
// $ANTLR start "ruleTypeRef"
// InternalReqSpec.g:5876:1: ruleTypeRef returns [EObject current=null] : ( ( () otherlv_1= 'boolean' ) | ( () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_11= 'string' ) | ( () otherlv_13= 'model' otherlv_14= 'element' ) | ( () ( ( ruleAADLPROPERTYREFERENCE ) ) ) ) ;
public final EObject ruleTypeRef() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_4=null;
Token otherlv_7=null;
Token otherlv_8=null;
Token otherlv_11=null;
Token otherlv_13=null;
Token otherlv_14=null;
enterRule();
try {
// InternalReqSpec.g:5882:2: ( ( ( () otherlv_1= 'boolean' ) | ( () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_11= 'string' ) | ( () otherlv_13= 'model' otherlv_14= 'element' ) | ( () ( ( ruleAADLPROPERTYREFERENCE ) ) ) ) )
// InternalReqSpec.g:5883:2: ( ( () otherlv_1= 'boolean' ) | ( () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_11= 'string' ) | ( () otherlv_13= 'model' otherlv_14= 'element' ) | ( () ( ( ruleAADLPROPERTYREFERENCE ) ) ) )
{
// InternalReqSpec.g:5883:2: ( ( () otherlv_1= 'boolean' ) | ( () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | ( () otherlv_11= 'string' ) | ( () otherlv_13= 'model' otherlv_14= 'element' ) | ( () ( ( ruleAADLPROPERTYREFERENCE ) ) ) )
int alt137=6;
switch ( input.LA(1) ) {
case 73:
{
alt137=1;
}
break;
case 74:
{
alt137=2;
}
break;
case 76:
{
alt137=3;
}
break;
case 77:
{
alt137=4;
}
break;
case 78:
{
alt137=5;
}
break;
case RULE_ID:
{
alt137=6;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 137, 0, input);
throw nvae;
}
switch (alt137) {
case 1 :
// InternalReqSpec.g:5884:3: ( () otherlv_1= 'boolean' )
{
// InternalReqSpec.g:5884:3: ( () otherlv_1= 'boolean' )
// InternalReqSpec.g:5885:4: () otherlv_1= 'boolean'
{
// InternalReqSpec.g:5885:4: ()
// InternalReqSpec.g:5886:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeRefAccess().getAadlBooleanAction_0_0(),
current);
}
}
otherlv_1=(Token)match(input,73,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getTypeRefAccess().getBooleanKeyword_0_1());
}
}
}
break;
case 2 :
// InternalReqSpec.g:5898:3: ( () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? )
{
// InternalReqSpec.g:5898:3: ( () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? )
// InternalReqSpec.g:5899:4: () otherlv_3= 'integer' (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )?
{
// InternalReqSpec.g:5899:4: ()
// InternalReqSpec.g:5900:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeRefAccess().getAadlIntegerAction_1_0(),
current);
}
}
otherlv_3=(Token)match(input,74,FollowSets000.FOLLOW_80); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getTypeRefAccess().getIntegerKeyword_1_1());
}
// InternalReqSpec.g:5910:4: (otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )?
int alt135=2;
int LA135_0 = input.LA(1);
if ( (LA135_0==75) ) {
alt135=1;
}
switch (alt135) {
case 1 :
// InternalReqSpec.g:5911:5: otherlv_4= 'units' ( ( ruleAADLPROPERTYREFERENCE ) )
{
otherlv_4=(Token)match(input,75,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getTypeRefAccess().getUnitsKeyword_1_2_0());
}
// InternalReqSpec.g:5915:5: ( ( ruleAADLPROPERTYREFERENCE ) )
// InternalReqSpec.g:5916:6: ( ruleAADLPROPERTYREFERENCE )
{
// InternalReqSpec.g:5916:6: ( ruleAADLPROPERTYREFERENCE )
// InternalReqSpec.g:5917:7: ruleAADLPROPERTYREFERENCE
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTypeRefRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefAccess().getReferencedUnitsTypeUnitsTypeCrossReference_1_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 3 :
// InternalReqSpec.g:5934:3: ( () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? )
{
// InternalReqSpec.g:5934:3: ( () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )? )
// InternalReqSpec.g:5935:4: () otherlv_7= 'real' (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )?
{
// InternalReqSpec.g:5935:4: ()
// InternalReqSpec.g:5936:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeRefAccess().getAadlRealAction_2_0(),
current);
}
}
otherlv_7=(Token)match(input,76,FollowSets000.FOLLOW_80); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getTypeRefAccess().getRealKeyword_2_1());
}
// InternalReqSpec.g:5946:4: (otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) ) )?
int alt136=2;
int LA136_0 = input.LA(1);
if ( (LA136_0==75) ) {
alt136=1;
}
switch (alt136) {
case 1 :
// InternalReqSpec.g:5947:5: otherlv_8= 'units' ( ( ruleAADLPROPERTYREFERENCE ) )
{
otherlv_8=(Token)match(input,75,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_8, grammarAccess.getTypeRefAccess().getUnitsKeyword_2_2_0());
}
// InternalReqSpec.g:5951:5: ( ( ruleAADLPROPERTYREFERENCE ) )
// InternalReqSpec.g:5952:6: ( ruleAADLPROPERTYREFERENCE )
{
// InternalReqSpec.g:5952:6: ( ruleAADLPROPERTYREFERENCE )
// InternalReqSpec.g:5953:7: ruleAADLPROPERTYREFERENCE
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTypeRefRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefAccess().getReferencedUnitsTypeUnitsTypeCrossReference_2_2_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 4 :
// InternalReqSpec.g:5970:3: ( () otherlv_11= 'string' )
{
// InternalReqSpec.g:5970:3: ( () otherlv_11= 'string' )
// InternalReqSpec.g:5971:4: () otherlv_11= 'string'
{
// InternalReqSpec.g:5971:4: ()
// InternalReqSpec.g:5972:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeRefAccess().getAadlStringAction_3_0(),
current);
}
}
otherlv_11=(Token)match(input,77,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getTypeRefAccess().getStringKeyword_3_1());
}
}
}
break;
case 5 :
// InternalReqSpec.g:5984:3: ( () otherlv_13= 'model' otherlv_14= 'element' )
{
// InternalReqSpec.g:5984:3: ( () otherlv_13= 'model' otherlv_14= 'element' )
// InternalReqSpec.g:5985:4: () otherlv_13= 'model' otherlv_14= 'element'
{
// InternalReqSpec.g:5985:4: ()
// InternalReqSpec.g:5986:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeRefAccess().getModelRefAction_4_0(),
current);
}
}
otherlv_13=(Token)match(input,78,FollowSets000.FOLLOW_81); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_13, grammarAccess.getTypeRefAccess().getModelKeyword_4_1());
}
otherlv_14=(Token)match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_14, grammarAccess.getTypeRefAccess().getElementKeyword_4_2());
}
}
}
break;
case 6 :
// InternalReqSpec.g:6002:3: ( () ( ( ruleAADLPROPERTYREFERENCE ) ) )
{
// InternalReqSpec.g:6002:3: ( () ( ( ruleAADLPROPERTYREFERENCE ) ) )
// InternalReqSpec.g:6003:4: () ( ( ruleAADLPROPERTYREFERENCE ) )
{
// InternalReqSpec.g:6003:4: ()
// InternalReqSpec.g:6004:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getTypeRefAccess().getTypeRefAction_5_0(),
current);
}
}
// InternalReqSpec.g:6010:4: ( ( ruleAADLPROPERTYREFERENCE ) )
// InternalReqSpec.g:6011:5: ( ruleAADLPROPERTYREFERENCE )
{
// InternalReqSpec.g:6011:5: ( ruleAADLPROPERTYREFERENCE )
// InternalReqSpec.g:6012:6: ruleAADLPROPERTYREFERENCE
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getTypeRefRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getTypeRefAccess().getRefPropertyTypeCrossReference_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTypeRef"
// $ANTLR start "entryRulePropertyRef"
// InternalReqSpec.g:6031:1: entryRulePropertyRef returns [EObject current=null] : iv_rulePropertyRef= rulePropertyRef EOF ;
public final EObject entryRulePropertyRef() throws RecognitionException {
EObject current = null;
EObject iv_rulePropertyRef = null;
try {
// InternalReqSpec.g:6031:52: (iv_rulePropertyRef= rulePropertyRef EOF )
// InternalReqSpec.g:6032:2: iv_rulePropertyRef= rulePropertyRef EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyRefRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_rulePropertyRef=rulePropertyRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_rulePropertyRef;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRulePropertyRef"
// $ANTLR start "rulePropertyRef"
// InternalReqSpec.g:6038:1: rulePropertyRef returns [EObject current=null] : ( () ( ( ruleAADLPROPERTYREFERENCE ) ) ) ;
public final EObject rulePropertyRef() throws RecognitionException {
EObject current = null;
enterRule();
try {
// InternalReqSpec.g:6044:2: ( ( () ( ( ruleAADLPROPERTYREFERENCE ) ) ) )
// InternalReqSpec.g:6045:2: ( () ( ( ruleAADLPROPERTYREFERENCE ) ) )
{
// InternalReqSpec.g:6045:2: ( () ( ( ruleAADLPROPERTYREFERENCE ) ) )
// InternalReqSpec.g:6046:3: () ( ( ruleAADLPROPERTYREFERENCE ) )
{
// InternalReqSpec.g:6046:3: ()
// InternalReqSpec.g:6047:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getPropertyRefAccess().getPropertyRefAction_0(),
current);
}
}
// InternalReqSpec.g:6053:3: ( ( ruleAADLPROPERTYREFERENCE ) )
// InternalReqSpec.g:6054:4: ( ruleAADLPROPERTYREFERENCE )
{
// InternalReqSpec.g:6054:4: ( ruleAADLPROPERTYREFERENCE )
// InternalReqSpec.g:6055:5: ruleAADLPROPERTYREFERENCE
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getPropertyRefRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getPropertyRefAccess().getRefPropertyCrossReference_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "rulePropertyRef"
// $ANTLR start "entryRuleComputeDeclaration"
// InternalReqSpec.g:6073:1: entryRuleComputeDeclaration returns [EObject current=null] : iv_ruleComputeDeclaration= ruleComputeDeclaration EOF ;
public final EObject entryRuleComputeDeclaration() throws RecognitionException {
EObject current = null;
EObject iv_ruleComputeDeclaration = null;
try {
// InternalReqSpec.g:6073:59: (iv_ruleComputeDeclaration= ruleComputeDeclaration EOF )
// InternalReqSpec.g:6074:2: iv_ruleComputeDeclaration= ruleComputeDeclaration EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getComputeDeclarationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleComputeDeclaration=ruleComputeDeclaration();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleComputeDeclaration;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleComputeDeclaration"
// $ANTLR start "ruleComputeDeclaration"
// InternalReqSpec.g:6080:1: ruleComputeDeclaration returns [EObject current=null] : ( () otherlv_1= 'compute' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) ) ;
public final EObject ruleComputeDeclaration() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token lv_name_2_0=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token lv_range_7_0=null;
Token otherlv_9=null;
Token otherlv_11=null;
EObject lv_type_4_0 = null;
EObject lv_type_6_0 = null;
EObject lv_type_8_0 = null;
EObject lv_type_10_0 = null;
enterRule();
try {
// InternalReqSpec.g:6086:2: ( ( () otherlv_1= 'compute' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) ) )
// InternalReqSpec.g:6087:2: ( () otherlv_1= 'compute' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )
{
// InternalReqSpec.g:6087:2: ( () otherlv_1= 'compute' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) ) )
// InternalReqSpec.g:6088:3: () otherlv_1= 'compute' ( (lv_name_2_0= RULE_ID ) ) otherlv_3= ':' ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) )
{
// InternalReqSpec.g:6088:3: ()
// InternalReqSpec.g:6089:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getComputeDeclarationAccess().getComputeDeclarationAction_0(),
current);
}
}
otherlv_1=(Token)match(input,80,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getComputeDeclarationAccess().getComputeKeyword_1());
}
// InternalReqSpec.g:6099:3: ( (lv_name_2_0= RULE_ID ) )
// InternalReqSpec.g:6100:4: (lv_name_2_0= RULE_ID )
{
// InternalReqSpec.g:6100:4: (lv_name_2_0= RULE_ID )
// InternalReqSpec.g:6101:5: lv_name_2_0= RULE_ID
{
lv_name_2_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_82); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_name_2_0, grammarAccess.getComputeDeclarationAccess().getNameIDTerminalRuleCall_2_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getComputeDeclarationRule());
}
setWithLastConsumed(
current,
"name",
lv_name_2_0,
"org.eclipse.xtext.common.Terminals.ID");
}
}
}
otherlv_3=(Token)match(input,22,FollowSets000.FOLLOW_68); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getComputeDeclarationAccess().getColonKeyword_3());
}
// InternalReqSpec.g:6121:3: ( ( (lv_type_4_0= ruleTypeRef ) ) | (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) ) | ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' ) )
int alt139=3;
switch ( input.LA(1) ) {
case RULE_ID:
case 73:
case 74:
case 76:
case 77:
case 78:
{
alt139=1;
}
break;
case 61:
{
alt139=2;
}
break;
case 18:
{
alt139=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 139, 0, input);
throw nvae;
}
switch (alt139) {
case 1 :
// InternalReqSpec.g:6122:4: ( (lv_type_4_0= ruleTypeRef ) )
{
// InternalReqSpec.g:6122:4: ( (lv_type_4_0= ruleTypeRef ) )
// InternalReqSpec.g:6123:5: (lv_type_4_0= ruleTypeRef )
{
// InternalReqSpec.g:6123:5: (lv_type_4_0= ruleTypeRef )
// InternalReqSpec.g:6124:6: lv_type_4_0= ruleTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getComputeDeclarationAccess().getTypeTypeRefParserRuleCall_4_0_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_type_4_0=ruleTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getComputeDeclarationRule());
}
set(
current,
"type",
lv_type_4_0,
"org.osate.alisa.common.Common.TypeRef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:6142:4: (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) )
{
// InternalReqSpec.g:6142:4: (otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) ) )
// InternalReqSpec.g:6143:5: otherlv_5= 'typeof' ( (lv_type_6_0= rulePropertyRef ) )
{
otherlv_5=(Token)match(input,61,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getComputeDeclarationAccess().getTypeofKeyword_4_1_0());
}
// InternalReqSpec.g:6147:5: ( (lv_type_6_0= rulePropertyRef ) )
// InternalReqSpec.g:6148:6: (lv_type_6_0= rulePropertyRef )
{
// InternalReqSpec.g:6148:6: (lv_type_6_0= rulePropertyRef )
// InternalReqSpec.g:6149:7: lv_type_6_0= rulePropertyRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getComputeDeclarationAccess().getTypePropertyRefParserRuleCall_4_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_type_6_0=rulePropertyRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getComputeDeclarationRule());
}
set(
current,
"type",
lv_type_6_0,
"org.osate.alisa.common.Common.PropertyRef");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 3 :
// InternalReqSpec.g:6168:4: ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' )
{
// InternalReqSpec.g:6168:4: ( ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']' )
// InternalReqSpec.g:6169:5: ( (lv_range_7_0= '[' ) ) ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) ) otherlv_11= ']'
{
// InternalReqSpec.g:6169:5: ( (lv_range_7_0= '[' ) )
// InternalReqSpec.g:6170:6: (lv_range_7_0= '[' )
{
// InternalReqSpec.g:6170:6: (lv_range_7_0= '[' )
// InternalReqSpec.g:6171:7: lv_range_7_0= '['
{
lv_range_7_0=(Token)match(input,18,FollowSets000.FOLLOW_71); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_range_7_0, grammarAccess.getComputeDeclarationAccess().getRangeLeftSquareBracketKeyword_4_2_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getComputeDeclarationRule());
}
setWithLastConsumed(current, "range", true, "[");
}
}
}
// InternalReqSpec.g:6183:5: ( ( (lv_type_8_0= ruleTypeRef ) ) | (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) ) )
int alt138=2;
int LA138_0 = input.LA(1);
if ( (LA138_0==RULE_ID||(LA138_0>=73 && LA138_0<=74)||(LA138_0>=76 && LA138_0<=78)) ) {
alt138=1;
}
else if ( (LA138_0==61) ) {
alt138=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 138, 0, input);
throw nvae;
}
switch (alt138) {
case 1 :
// InternalReqSpec.g:6184:6: ( (lv_type_8_0= ruleTypeRef ) )
{
// InternalReqSpec.g:6184:6: ( (lv_type_8_0= ruleTypeRef ) )
// InternalReqSpec.g:6185:7: (lv_type_8_0= ruleTypeRef )
{
// InternalReqSpec.g:6185:7: (lv_type_8_0= ruleTypeRef )
// InternalReqSpec.g:6186:8: lv_type_8_0= ruleTypeRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getComputeDeclarationAccess().getTypeTypeRefParserRuleCall_4_2_1_0_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_type_8_0=ruleTypeRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getComputeDeclarationRule());
}
set(
current,
"type",
lv_type_8_0,
"org.osate.alisa.common.Common.TypeRef");
afterParserOrEnumRuleCall();
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:6204:6: (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) )
{
// InternalReqSpec.g:6204:6: (otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) ) )
// InternalReqSpec.g:6205:7: otherlv_9= 'typeof' ( (lv_type_10_0= rulePropertyRef ) )
{
otherlv_9=(Token)match(input,61,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_9, grammarAccess.getComputeDeclarationAccess().getTypeofKeyword_4_2_1_1_0());
}
// InternalReqSpec.g:6209:7: ( (lv_type_10_0= rulePropertyRef ) )
// InternalReqSpec.g:6210:8: (lv_type_10_0= rulePropertyRef )
{
// InternalReqSpec.g:6210:8: (lv_type_10_0= rulePropertyRef )
// InternalReqSpec.g:6211:9: lv_type_10_0= rulePropertyRef
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getComputeDeclarationAccess().getTypePropertyRefParserRuleCall_4_2_1_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_type_10_0=rulePropertyRef();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getComputeDeclarationRule());
}
set(
current,
"type",
lv_type_10_0,
"org.osate.alisa.common.Common.PropertyRef");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
}
otherlv_11=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_11, grammarAccess.getComputeDeclarationAccess().getRightSquareBracketKeyword_4_2_2());
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleComputeDeclaration"
// $ANTLR start "entryRuleAModelOrPropertyReference"
// InternalReqSpec.g:6240:1: entryRuleAModelOrPropertyReference returns [EObject current=null] : iv_ruleAModelOrPropertyReference= ruleAModelOrPropertyReference EOF ;
public final EObject entryRuleAModelOrPropertyReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleAModelOrPropertyReference = null;
try {
// InternalReqSpec.g:6240:66: (iv_ruleAModelOrPropertyReference= ruleAModelOrPropertyReference EOF )
// InternalReqSpec.g:6241:2: iv_ruleAModelOrPropertyReference= ruleAModelOrPropertyReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAModelOrPropertyReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAModelOrPropertyReference=ruleAModelOrPropertyReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAModelOrPropertyReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAModelOrPropertyReference"
// $ANTLR start "ruleAModelOrPropertyReference"
// InternalReqSpec.g:6247:1: ruleAModelOrPropertyReference returns [EObject current=null] : ( (this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | this_APropertyReference_4= ruleAPropertyReference ) ;
public final EObject ruleAModelOrPropertyReference() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
EObject this_AModelReference_0 = null;
EObject this_APropertyReference_4 = null;
enterRule();
try {
// InternalReqSpec.g:6253:2: ( ( (this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | this_APropertyReference_4= ruleAPropertyReference ) )
// InternalReqSpec.g:6254:2: ( (this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | this_APropertyReference_4= ruleAPropertyReference )
{
// InternalReqSpec.g:6254:2: ( (this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )? ) | this_APropertyReference_4= ruleAPropertyReference )
int alt141=2;
int LA141_0 = input.LA(1);
if ( (LA141_0==67) ) {
alt141=1;
}
else if ( (LA141_0==59) ) {
alt141=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 141, 0, input);
throw nvae;
}
switch (alt141) {
case 1 :
// InternalReqSpec.g:6255:3: (this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )? )
{
// InternalReqSpec.g:6255:3: (this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )? )
// InternalReqSpec.g:6256:4: this_AModelReference_0= ruleAModelReference ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAModelOrPropertyReferenceAccess().getAModelReferenceParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_66);
this_AModelReference_0=ruleAModelReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AModelReference_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:6264:4: ( ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) ) )?
int alt140=2;
int LA140_0 = input.LA(1);
if ( (LA140_0==59) && (synpred3_InternalReqSpec())) {
alt140=1;
}
switch (alt140) {
case 1 :
// InternalReqSpec.g:6265:5: ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) ) ( ( ruleAADLPROPERTYREFERENCE ) )
{
// InternalReqSpec.g:6265:5: ( ( ( () '#' ) )=> ( () otherlv_2= '#' ) )
// InternalReqSpec.g:6266:6: ( ( () '#' ) )=> ( () otherlv_2= '#' )
{
// InternalReqSpec.g:6272:6: ( () otherlv_2= '#' )
// InternalReqSpec.g:6273:7: () otherlv_2= '#'
{
// InternalReqSpec.g:6273:7: ()
// InternalReqSpec.g:6274:8:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAModelOrPropertyReferenceAccess().getAPropertyReferenceModelElementReferenceAction_0_1_0_0_0(),
current);
}
}
otherlv_2=(Token)match(input,59,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getAModelOrPropertyReferenceAccess().getNumberSignKeyword_0_1_0_0_1());
}
}
}
// InternalReqSpec.g:6286:5: ( ( ruleAADLPROPERTYREFERENCE ) )
// InternalReqSpec.g:6287:6: ( ruleAADLPROPERTYREFERENCE )
{
// InternalReqSpec.g:6287:6: ( ruleAADLPROPERTYREFERENCE )
// InternalReqSpec.g:6288:7: ruleAADLPROPERTYREFERENCE
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAModelOrPropertyReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAModelOrPropertyReferenceAccess().getPropertyAbstractNamedValueCrossReference_0_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
}
}
break;
case 2 :
// InternalReqSpec.g:6305:3: this_APropertyReference_4= ruleAPropertyReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAModelOrPropertyReferenceAccess().getAPropertyReferenceParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_APropertyReference_4=ruleAPropertyReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_APropertyReference_4;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAModelOrPropertyReference"
// $ANTLR start "entryRuleAModelReference"
// InternalReqSpec.g:6317:1: entryRuleAModelReference returns [EObject current=null] : iv_ruleAModelReference= ruleAModelReference EOF ;
public final EObject entryRuleAModelReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleAModelReference = null;
try {
// InternalReqSpec.g:6317:56: (iv_ruleAModelReference= ruleAModelReference EOF )
// InternalReqSpec.g:6318:2: iv_ruleAModelReference= ruleAModelReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAModelReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAModelReference=ruleAModelReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAModelReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAModelReference"
// $ANTLR start "ruleAModelReference"
// InternalReqSpec.g:6324:1: ruleAModelReference returns [EObject current=null] : ( ( ( ruleThisKeyword ) ) ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) )* ) ;
public final EObject ruleAModelReference() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_3=null;
enterRule();
try {
// InternalReqSpec.g:6330:2: ( ( ( ( ruleThisKeyword ) ) ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) )* ) )
// InternalReqSpec.g:6331:2: ( ( ( ruleThisKeyword ) ) ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) )* )
{
// InternalReqSpec.g:6331:2: ( ( ( ruleThisKeyword ) ) ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) )* )
// InternalReqSpec.g:6332:3: ( ( ruleThisKeyword ) ) ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) )*
{
// InternalReqSpec.g:6332:3: ( ( ruleThisKeyword ) )
// InternalReqSpec.g:6333:4: ( ruleThisKeyword )
{
// InternalReqSpec.g:6333:4: ( ruleThisKeyword )
// InternalReqSpec.g:6334:5: ruleThisKeyword
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAModelReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAModelReferenceAccess().getModelElementNamedElementCrossReference_0_0());
}
pushFollow(FollowSets000.FOLLOW_83);
ruleThisKeyword();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:6348:3: ( () otherlv_2= '.' ( (otherlv_3= RULE_ID ) ) )*
loop142:
do {
int alt142=2;
int LA142_0 = input.LA(1);
if ( (LA142_0==65) ) {
alt142=1;
}
switch (alt142) {
case 1 :
// InternalReqSpec.g:6349:4: () otherlv_2= '.' ( (otherlv_3= RULE_ID ) )
{
// InternalReqSpec.g:6349:4: ()
// InternalReqSpec.g:6350:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAModelReferenceAccess().getAModelReferencePrevAction_1_0(),
current);
}
}
otherlv_2=(Token)match(input,65,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getAModelReferenceAccess().getFullStopKeyword_1_1());
}
// InternalReqSpec.g:6360:4: ( (otherlv_3= RULE_ID ) )
// InternalReqSpec.g:6361:5: (otherlv_3= RULE_ID )
{
// InternalReqSpec.g:6361:5: (otherlv_3= RULE_ID )
// InternalReqSpec.g:6362:6: otherlv_3= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAModelReferenceRule());
}
}
otherlv_3=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getAModelReferenceAccess().getModelElementNamedElementCrossReference_1_2_0());
}
}
}
}
break;
default :
break loop142;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAModelReference"
// $ANTLR start "entryRuleAPropertyReference"
// InternalReqSpec.g:6378:1: entryRuleAPropertyReference returns [EObject current=null] : iv_ruleAPropertyReference= ruleAPropertyReference EOF ;
public final EObject entryRuleAPropertyReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleAPropertyReference = null;
try {
// InternalReqSpec.g:6378:59: (iv_ruleAPropertyReference= ruleAPropertyReference EOF )
// InternalReqSpec.g:6379:2: iv_ruleAPropertyReference= ruleAPropertyReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPropertyReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAPropertyReference=ruleAPropertyReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAPropertyReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAPropertyReference"
// $ANTLR start "ruleAPropertyReference"
// InternalReqSpec.g:6385:1: ruleAPropertyReference returns [EObject current=null] : ( () otherlv_1= '#' ( ( ruleAADLPROPERTYREFERENCE ) ) ) ;
public final EObject ruleAPropertyReference() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalReqSpec.g:6391:2: ( ( () otherlv_1= '#' ( ( ruleAADLPROPERTYREFERENCE ) ) ) )
// InternalReqSpec.g:6392:2: ( () otherlv_1= '#' ( ( ruleAADLPROPERTYREFERENCE ) ) )
{
// InternalReqSpec.g:6392:2: ( () otherlv_1= '#' ( ( ruleAADLPROPERTYREFERENCE ) ) )
// InternalReqSpec.g:6393:3: () otherlv_1= '#' ( ( ruleAADLPROPERTYREFERENCE ) )
{
// InternalReqSpec.g:6393:3: ()
// InternalReqSpec.g:6394:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAPropertyReferenceAccess().getAPropertyReferenceAction_0(),
current);
}
}
otherlv_1=(Token)match(input,59,FollowSets000.FOLLOW_70); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getAPropertyReferenceAccess().getNumberSignKeyword_1());
}
// InternalReqSpec.g:6404:3: ( ( ruleAADLPROPERTYREFERENCE ) )
// InternalReqSpec.g:6405:4: ( ruleAADLPROPERTYREFERENCE )
{
// InternalReqSpec.g:6405:4: ( ruleAADLPROPERTYREFERENCE )
// InternalReqSpec.g:6406:5: ruleAADLPROPERTYREFERENCE
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAPropertyReferenceRule());
}
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPropertyReferenceAccess().getPropertyAbstractNamedValueCrossReference_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAPropertyReference"
// $ANTLR start "entryRuleAVariableReference"
// InternalReqSpec.g:6424:1: entryRuleAVariableReference returns [EObject current=null] : iv_ruleAVariableReference= ruleAVariableReference EOF ;
public final EObject entryRuleAVariableReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleAVariableReference = null;
try {
// InternalReqSpec.g:6424:59: (iv_ruleAVariableReference= ruleAVariableReference EOF )
// InternalReqSpec.g:6425:2: iv_ruleAVariableReference= ruleAVariableReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAVariableReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAVariableReference=ruleAVariableReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAVariableReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAVariableReference"
// $ANTLR start "ruleAVariableReference"
// InternalReqSpec.g:6431:1: ruleAVariableReference returns [EObject current=null] : ( () ( (otherlv_1= RULE_ID ) ) ) ;
public final EObject ruleAVariableReference() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
enterRule();
try {
// InternalReqSpec.g:6437:2: ( ( () ( (otherlv_1= RULE_ID ) ) ) )
// InternalReqSpec.g:6438:2: ( () ( (otherlv_1= RULE_ID ) ) )
{
// InternalReqSpec.g:6438:2: ( () ( (otherlv_1= RULE_ID ) ) )
// InternalReqSpec.g:6439:3: () ( (otherlv_1= RULE_ID ) )
{
// InternalReqSpec.g:6439:3: ()
// InternalReqSpec.g:6440:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAVariableReferenceAccess().getAVariableReferenceAction_0(),
current);
}
}
// InternalReqSpec.g:6446:3: ( (otherlv_1= RULE_ID ) )
// InternalReqSpec.g:6447:4: (otherlv_1= RULE_ID )
{
// InternalReqSpec.g:6447:4: (otherlv_1= RULE_ID )
// InternalReqSpec.g:6448:5: otherlv_1= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAVariableReferenceRule());
}
}
otherlv_1=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getAVariableReferenceAccess().getVariableAVariableDeclarationCrossReference_1_0());
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAVariableReference"
// $ANTLR start "entryRuleShowValue"
// InternalReqSpec.g:6463:1: entryRuleShowValue returns [EObject current=null] : iv_ruleShowValue= ruleShowValue EOF ;
public final EObject entryRuleShowValue() throws RecognitionException {
EObject current = null;
EObject iv_ruleShowValue = null;
try {
// InternalReqSpec.g:6463:50: (iv_ruleShowValue= ruleShowValue EOF )
// InternalReqSpec.g:6464:2: iv_ruleShowValue= ruleShowValue EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShowValueRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleShowValue=ruleShowValue();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleShowValue;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleShowValue"
// $ANTLR start "ruleShowValue"
// InternalReqSpec.g:6470:1: ruleShowValue returns [EObject current=null] : ( ( (lv_expression_0_0= ruleAVariableReference ) ) ( ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) ) )? ) ;
public final EObject ruleShowValue() throws RecognitionException {
EObject current = null;
Token lv_convert_1_0=null;
Token lv_drop_2_0=null;
Token otherlv_3=null;
EObject lv_expression_0_0 = null;
enterRule();
try {
// InternalReqSpec.g:6476:2: ( ( ( (lv_expression_0_0= ruleAVariableReference ) ) ( ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) ) )? ) )
// InternalReqSpec.g:6477:2: ( ( (lv_expression_0_0= ruleAVariableReference ) ) ( ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) ) )? )
{
// InternalReqSpec.g:6477:2: ( ( (lv_expression_0_0= ruleAVariableReference ) ) ( ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) ) )? )
// InternalReqSpec.g:6478:3: ( (lv_expression_0_0= ruleAVariableReference ) ) ( ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) ) )?
{
// InternalReqSpec.g:6478:3: ( (lv_expression_0_0= ruleAVariableReference ) )
// InternalReqSpec.g:6479:4: (lv_expression_0_0= ruleAVariableReference )
{
// InternalReqSpec.g:6479:4: (lv_expression_0_0= ruleAVariableReference )
// InternalReqSpec.g:6480:5: lv_expression_0_0= ruleAVariableReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getShowValueAccess().getExpressionAVariableReferenceParserRuleCall_0_0());
}
pushFollow(FollowSets000.FOLLOW_84);
lv_expression_0_0=ruleAVariableReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getShowValueRule());
}
set(
current,
"expression",
lv_expression_0_0,
"org.osate.alisa.common.Common.AVariableReference");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:6497:3: ( ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) ) )?
int alt144=2;
int LA144_0 = input.LA(1);
if ( (LA144_0==47||LA144_0==81) ) {
alt144=1;
}
switch (alt144) {
case 1 :
// InternalReqSpec.g:6498:4: ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) ) ( (otherlv_3= RULE_ID ) )
{
// InternalReqSpec.g:6498:4: ( ( (lv_convert_1_0= '%' ) ) | ( (lv_drop_2_0= 'in' ) ) )
int alt143=2;
int LA143_0 = input.LA(1);
if ( (LA143_0==81) ) {
alt143=1;
}
else if ( (LA143_0==47) ) {
alt143=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 143, 0, input);
throw nvae;
}
switch (alt143) {
case 1 :
// InternalReqSpec.g:6499:5: ( (lv_convert_1_0= '%' ) )
{
// InternalReqSpec.g:6499:5: ( (lv_convert_1_0= '%' ) )
// InternalReqSpec.g:6500:6: (lv_convert_1_0= '%' )
{
// InternalReqSpec.g:6500:6: (lv_convert_1_0= '%' )
// InternalReqSpec.g:6501:7: lv_convert_1_0= '%'
{
lv_convert_1_0=(Token)match(input,81,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_convert_1_0, grammarAccess.getShowValueAccess().getConvertPercentSignKeyword_1_0_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getShowValueRule());
}
setWithLastConsumed(current, "convert", true, "%");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:6514:5: ( (lv_drop_2_0= 'in' ) )
{
// InternalReqSpec.g:6514:5: ( (lv_drop_2_0= 'in' ) )
// InternalReqSpec.g:6515:6: (lv_drop_2_0= 'in' )
{
// InternalReqSpec.g:6515:6: (lv_drop_2_0= 'in' )
// InternalReqSpec.g:6516:7: lv_drop_2_0= 'in'
{
lv_drop_2_0=(Token)match(input,47,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_drop_2_0, grammarAccess.getShowValueAccess().getDropInKeyword_1_0_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getShowValueRule());
}
setWithLastConsumed(current, "drop", true, "in");
}
}
}
}
break;
}
// InternalReqSpec.g:6529:4: ( (otherlv_3= RULE_ID ) )
// InternalReqSpec.g:6530:5: (otherlv_3= RULE_ID )
{
// InternalReqSpec.g:6530:5: (otherlv_3= RULE_ID )
// InternalReqSpec.g:6531:6: otherlv_3= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getShowValueRule());
}
}
otherlv_3=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getShowValueAccess().getUnitUnitLiteralCrossReference_1_1_0());
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleShowValue"
// $ANTLR start "entryRuleImageReference"
// InternalReqSpec.g:6547:1: entryRuleImageReference returns [EObject current=null] : iv_ruleImageReference= ruleImageReference EOF ;
public final EObject entryRuleImageReference() throws RecognitionException {
EObject current = null;
EObject iv_ruleImageReference = null;
try {
// InternalReqSpec.g:6547:55: (iv_ruleImageReference= ruleImageReference EOF )
// InternalReqSpec.g:6548:2: iv_ruleImageReference= ruleImageReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImageReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleImageReference=ruleImageReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleImageReference;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleImageReference"
// $ANTLR start "ruleImageReference"
// InternalReqSpec.g:6554:1: ruleImageReference returns [EObject current=null] : (otherlv_0= 'img' ( (lv_imgfile_1_0= ruleIMGREF ) ) ) ;
public final EObject ruleImageReference() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
AntlrDatatypeRuleToken lv_imgfile_1_0 = null;
enterRule();
try {
// InternalReqSpec.g:6560:2: ( (otherlv_0= 'img' ( (lv_imgfile_1_0= ruleIMGREF ) ) ) )
// InternalReqSpec.g:6561:2: (otherlv_0= 'img' ( (lv_imgfile_1_0= ruleIMGREF ) ) )
{
// InternalReqSpec.g:6561:2: (otherlv_0= 'img' ( (lv_imgfile_1_0= ruleIMGREF ) ) )
// InternalReqSpec.g:6562:3: otherlv_0= 'img' ( (lv_imgfile_1_0= ruleIMGREF ) )
{
otherlv_0=(Token)match(input,82,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getImageReferenceAccess().getImgKeyword_0());
}
// InternalReqSpec.g:6566:3: ( (lv_imgfile_1_0= ruleIMGREF ) )
// InternalReqSpec.g:6567:4: (lv_imgfile_1_0= ruleIMGREF )
{
// InternalReqSpec.g:6567:4: (lv_imgfile_1_0= ruleIMGREF )
// InternalReqSpec.g:6568:5: lv_imgfile_1_0= ruleIMGREF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getImageReferenceAccess().getImgfileIMGREFParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_imgfile_1_0=ruleIMGREF();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getImageReferenceRule());
}
set(
current,
"imgfile",
lv_imgfile_1_0,
"org.osate.alisa.common.Common.IMGREF");
afterParserOrEnumRuleCall();
}
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleImageReference"
// $ANTLR start "entryRuleIMGREF"
// InternalReqSpec.g:6589:1: entryRuleIMGREF returns [String current=null] : iv_ruleIMGREF= ruleIMGREF EOF ;
public final String entryRuleIMGREF() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleIMGREF = null;
try {
// InternalReqSpec.g:6589:46: (iv_ruleIMGREF= ruleIMGREF EOF )
// InternalReqSpec.g:6590:2: iv_ruleIMGREF= ruleIMGREF EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getIMGREFRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleIMGREF=ruleIMGREF();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleIMGREF.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleIMGREF"
// $ANTLR start "ruleIMGREF"
// InternalReqSpec.g:6596:1: ruleIMGREF returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID ) ;
public final AntlrDatatypeRuleToken ruleIMGREF() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
Token this_ID_2=null;
Token this_ID_4=null;
enterRule();
try {
// InternalReqSpec.g:6602:2: ( ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID ) )
// InternalReqSpec.g:6603:2: ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID )
{
// InternalReqSpec.g:6603:2: ( (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID )
// InternalReqSpec.g:6604:3: (this_ID_0= RULE_ID kw= '/' )* this_ID_2= RULE_ID kw= '.' this_ID_4= RULE_ID
{
// InternalReqSpec.g:6604:3: (this_ID_0= RULE_ID kw= '/' )*
loop145:
do {
int alt145=2;
int LA145_0 = input.LA(1);
if ( (LA145_0==RULE_ID) ) {
int LA145_1 = input.LA(2);
if ( (LA145_1==64) ) {
alt145=1;
}
}
switch (alt145) {
case 1 :
// InternalReqSpec.g:6605:4: this_ID_0= RULE_ID kw= '/'
{
this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_74); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getIMGREFAccess().getIDTerminalRuleCall_0_0());
}
kw=(Token)match(input,64,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getIMGREFAccess().getSolidusKeyword_0_1());
}
}
break;
default :
break loop145;
}
} while (true);
this_ID_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_75); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_2, grammarAccess.getIMGREFAccess().getIDTerminalRuleCall_1());
}
kw=(Token)match(input,65,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getIMGREFAccess().getFullStopKeyword_2());
}
this_ID_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_4);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_4, grammarAccess.getIMGREFAccess().getIDTerminalRuleCall_3());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleIMGREF"
// $ANTLR start "entryRuleAExpression"
// InternalReqSpec.g:6641:1: entryRuleAExpression returns [EObject current=null] : iv_ruleAExpression= ruleAExpression EOF ;
public final EObject entryRuleAExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAExpression = null;
try {
// InternalReqSpec.g:6641:52: (iv_ruleAExpression= ruleAExpression EOF )
// InternalReqSpec.g:6642:2: iv_ruleAExpression= ruleAExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAExpression=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAExpression"
// $ANTLR start "ruleAExpression"
// InternalReqSpec.g:6648:1: ruleAExpression returns [EObject current=null] : this_AOrExpression_0= ruleAOrExpression ;
public final EObject ruleAExpression() throws RecognitionException {
EObject current = null;
EObject this_AOrExpression_0 = null;
enterRule();
try {
// InternalReqSpec.g:6654:2: (this_AOrExpression_0= ruleAOrExpression )
// InternalReqSpec.g:6655:2: this_AOrExpression_0= ruleAOrExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAExpressionAccess().getAOrExpressionParserRuleCall());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AOrExpression_0=ruleAOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AOrExpression_0;
afterParserOrEnumRuleCall();
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAExpression"
// $ANTLR start "entryRuleAOrExpression"
// InternalReqSpec.g:6666:1: entryRuleAOrExpression returns [EObject current=null] : iv_ruleAOrExpression= ruleAOrExpression EOF ;
public final EObject entryRuleAOrExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAOrExpression = null;
try {
// InternalReqSpec.g:6666:54: (iv_ruleAOrExpression= ruleAOrExpression EOF )
// InternalReqSpec.g:6667:2: iv_ruleAOrExpression= ruleAOrExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOrExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAOrExpression=ruleAOrExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAOrExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAOrExpression"
// $ANTLR start "ruleAOrExpression"
// InternalReqSpec.g:6673:1: ruleAOrExpression returns [EObject current=null] : (this_AAndExpression_0= ruleAAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) ) )* ) ;
public final EObject ruleAOrExpression() throws RecognitionException {
EObject current = null;
EObject this_AAndExpression_0 = null;
AntlrDatatypeRuleToken lv_operator_2_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:6679:2: ( (this_AAndExpression_0= ruleAAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) ) )* ) )
// InternalReqSpec.g:6680:2: (this_AAndExpression_0= ruleAAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) ) )* )
{
// InternalReqSpec.g:6680:2: (this_AAndExpression_0= ruleAAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) ) )* )
// InternalReqSpec.g:6681:3: this_AAndExpression_0= ruleAAndExpression ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOrExpressionAccess().getAAndExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_85);
this_AAndExpression_0=ruleAAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AAndExpression_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:6689:3: ( ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) ) )*
loop146:
do {
int alt146=2;
int LA146_0 = input.LA(1);
if ( (LA146_0==83) && (synpred4_InternalReqSpec())) {
alt146=1;
}
else if ( (LA146_0==84) && (synpred4_InternalReqSpec())) {
alt146=1;
}
switch (alt146) {
case 1 :
// InternalReqSpec.g:6690:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) ) ( (lv_right_3_0= ruleAAndExpression ) )
{
// InternalReqSpec.g:6690:4: ( ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) ) )
// InternalReqSpec.g:6691:5: ( ( () ( ( ruleOpOr ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpOr ) ) )
{
// InternalReqSpec.g:6701:5: ( () ( (lv_operator_2_0= ruleOpOr ) ) )
// InternalReqSpec.g:6702:6: () ( (lv_operator_2_0= ruleOpOr ) )
{
// InternalReqSpec.g:6702:6: ()
// InternalReqSpec.g:6703:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAOrExpressionAccess().getABinaryOperationLeftAction_1_0_0_0(),
current);
}
}
// InternalReqSpec.g:6709:6: ( (lv_operator_2_0= ruleOpOr ) )
// InternalReqSpec.g:6710:7: (lv_operator_2_0= ruleOpOr )
{
// InternalReqSpec.g:6710:7: (lv_operator_2_0= ruleOpOr )
// InternalReqSpec.g:6711:8: lv_operator_2_0= ruleOpOr
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOrExpressionAccess().getOperatorOpOrParserRuleCall_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_2_0=ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOrExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"org.osate.alisa.common.Common.OpOr");
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalReqSpec.g:6730:4: ( (lv_right_3_0= ruleAAndExpression ) )
// InternalReqSpec.g:6731:5: (lv_right_3_0= ruleAAndExpression )
{
// InternalReqSpec.g:6731:5: (lv_right_3_0= ruleAAndExpression )
// InternalReqSpec.g:6732:6: lv_right_3_0= ruleAAndExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAOrExpressionAccess().getRightAAndExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_85);
lv_right_3_0=ruleAAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAOrExpressionRule());
}
set(
current,
"right",
lv_right_3_0,
"org.osate.alisa.common.Common.AAndExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop146;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAOrExpression"
// $ANTLR start "entryRuleOpOr"
// InternalReqSpec.g:6754:1: entryRuleOpOr returns [String current=null] : iv_ruleOpOr= ruleOpOr EOF ;
public final String entryRuleOpOr() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpOr = null;
try {
// InternalReqSpec.g:6754:44: (iv_ruleOpOr= ruleOpOr EOF )
// InternalReqSpec.g:6755:2: iv_ruleOpOr= ruleOpOr EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpOrRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpOr=ruleOpOr();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpOr.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpOr"
// $ANTLR start "ruleOpOr"
// InternalReqSpec.g:6761:1: ruleOpOr returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'or' | kw= '||' ) ;
public final AntlrDatatypeRuleToken ruleOpOr() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:6767:2: ( (kw= 'or' | kw= '||' ) )
// InternalReqSpec.g:6768:2: (kw= 'or' | kw= '||' )
{
// InternalReqSpec.g:6768:2: (kw= 'or' | kw= '||' )
int alt147=2;
int LA147_0 = input.LA(1);
if ( (LA147_0==83) ) {
alt147=1;
}
else if ( (LA147_0==84) ) {
alt147=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 147, 0, input);
throw nvae;
}
switch (alt147) {
case 1 :
// InternalReqSpec.g:6769:3: kw= 'or'
{
kw=(Token)match(input,83,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOrAccess().getOrKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:6775:3: kw= '||'
{
kw=(Token)match(input,84,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpOrAccess().getVerticalLineVerticalLineKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpOr"
// $ANTLR start "entryRuleAAndExpression"
// InternalReqSpec.g:6784:1: entryRuleAAndExpression returns [EObject current=null] : iv_ruleAAndExpression= ruleAAndExpression EOF ;
public final EObject entryRuleAAndExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAAndExpression = null;
try {
// InternalReqSpec.g:6784:55: (iv_ruleAAndExpression= ruleAAndExpression EOF )
// InternalReqSpec.g:6785:2: iv_ruleAAndExpression= ruleAAndExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAndExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAAndExpression=ruleAAndExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAAndExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAAndExpression"
// $ANTLR start "ruleAAndExpression"
// InternalReqSpec.g:6791:1: ruleAAndExpression returns [EObject current=null] : (this_AEqualityExpression_0= ruleAEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) ) )* ) ;
public final EObject ruleAAndExpression() throws RecognitionException {
EObject current = null;
EObject this_AEqualityExpression_0 = null;
AntlrDatatypeRuleToken lv_operator_2_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:6797:2: ( (this_AEqualityExpression_0= ruleAEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) ) )* ) )
// InternalReqSpec.g:6798:2: (this_AEqualityExpression_0= ruleAEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) ) )* )
{
// InternalReqSpec.g:6798:2: (this_AEqualityExpression_0= ruleAEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) ) )* )
// InternalReqSpec.g:6799:3: this_AEqualityExpression_0= ruleAEqualityExpression ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAndExpressionAccess().getAEqualityExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_86);
this_AEqualityExpression_0=ruleAEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AEqualityExpression_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:6807:3: ( ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) ) )*
loop148:
do {
int alt148=2;
int LA148_0 = input.LA(1);
if ( (LA148_0==85) && (synpred5_InternalReqSpec())) {
alt148=1;
}
else if ( (LA148_0==86) && (synpred5_InternalReqSpec())) {
alt148=1;
}
switch (alt148) {
case 1 :
// InternalReqSpec.g:6808:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) ) ( (lv_right_3_0= ruleAEqualityExpression ) )
{
// InternalReqSpec.g:6808:4: ( ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) ) )
// InternalReqSpec.g:6809:5: ( ( () ( ( ruleOpAnd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAnd ) ) )
{
// InternalReqSpec.g:6819:5: ( () ( (lv_operator_2_0= ruleOpAnd ) ) )
// InternalReqSpec.g:6820:6: () ( (lv_operator_2_0= ruleOpAnd ) )
{
// InternalReqSpec.g:6820:6: ()
// InternalReqSpec.g:6821:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAAndExpressionAccess().getABinaryOperationLeftAction_1_0_0_0(),
current);
}
}
// InternalReqSpec.g:6827:6: ( (lv_operator_2_0= ruleOpAnd ) )
// InternalReqSpec.g:6828:7: (lv_operator_2_0= ruleOpAnd )
{
// InternalReqSpec.g:6828:7: (lv_operator_2_0= ruleOpAnd )
// InternalReqSpec.g:6829:8: lv_operator_2_0= ruleOpAnd
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAndExpressionAccess().getOperatorOpAndParserRuleCall_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_2_0=ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAAndExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"org.osate.alisa.common.Common.OpAnd");
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalReqSpec.g:6848:4: ( (lv_right_3_0= ruleAEqualityExpression ) )
// InternalReqSpec.g:6849:5: (lv_right_3_0= ruleAEqualityExpression )
{
// InternalReqSpec.g:6849:5: (lv_right_3_0= ruleAEqualityExpression )
// InternalReqSpec.g:6850:6: lv_right_3_0= ruleAEqualityExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAndExpressionAccess().getRightAEqualityExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_86);
lv_right_3_0=ruleAEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAAndExpressionRule());
}
set(
current,
"right",
lv_right_3_0,
"org.osate.alisa.common.Common.AEqualityExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop148;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAAndExpression"
// $ANTLR start "entryRuleOpAnd"
// InternalReqSpec.g:6872:1: entryRuleOpAnd returns [String current=null] : iv_ruleOpAnd= ruleOpAnd EOF ;
public final String entryRuleOpAnd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAnd = null;
try {
// InternalReqSpec.g:6872:45: (iv_ruleOpAnd= ruleOpAnd EOF )
// InternalReqSpec.g:6873:2: iv_ruleOpAnd= ruleOpAnd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAndRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpAnd=ruleOpAnd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAnd.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAnd"
// $ANTLR start "ruleOpAnd"
// InternalReqSpec.g:6879:1: ruleOpAnd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'and' | kw= '&&' ) ;
public final AntlrDatatypeRuleToken ruleOpAnd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:6885:2: ( (kw= 'and' | kw= '&&' ) )
// InternalReqSpec.g:6886:2: (kw= 'and' | kw= '&&' )
{
// InternalReqSpec.g:6886:2: (kw= 'and' | kw= '&&' )
int alt149=2;
int LA149_0 = input.LA(1);
if ( (LA149_0==85) ) {
alt149=1;
}
else if ( (LA149_0==86) ) {
alt149=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 149, 0, input);
throw nvae;
}
switch (alt149) {
case 1 :
// InternalReqSpec.g:6887:3: kw= 'and'
{
kw=(Token)match(input,85,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAndAccess().getAndKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:6893:3: kw= '&&'
{
kw=(Token)match(input,86,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAndAccess().getAmpersandAmpersandKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpAnd"
// $ANTLR start "entryRuleAEqualityExpression"
// InternalReqSpec.g:6902:1: entryRuleAEqualityExpression returns [EObject current=null] : iv_ruleAEqualityExpression= ruleAEqualityExpression EOF ;
public final EObject entryRuleAEqualityExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAEqualityExpression = null;
try {
// InternalReqSpec.g:6902:60: (iv_ruleAEqualityExpression= ruleAEqualityExpression EOF )
// InternalReqSpec.g:6903:2: iv_ruleAEqualityExpression= ruleAEqualityExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAEqualityExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAEqualityExpression=ruleAEqualityExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAEqualityExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAEqualityExpression"
// $ANTLR start "ruleAEqualityExpression"
// InternalReqSpec.g:6909:1: ruleAEqualityExpression returns [EObject current=null] : (this_ARelationalExpression_0= ruleARelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) ) )* ) ;
public final EObject ruleAEqualityExpression() throws RecognitionException {
EObject current = null;
EObject this_ARelationalExpression_0 = null;
AntlrDatatypeRuleToken lv_operator_2_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:6915:2: ( (this_ARelationalExpression_0= ruleARelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) ) )* ) )
// InternalReqSpec.g:6916:2: (this_ARelationalExpression_0= ruleARelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) ) )* )
{
// InternalReqSpec.g:6916:2: (this_ARelationalExpression_0= ruleARelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) ) )* )
// InternalReqSpec.g:6917:3: this_ARelationalExpression_0= ruleARelationalExpression ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAEqualityExpressionAccess().getARelationalExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_87);
this_ARelationalExpression_0=ruleARelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ARelationalExpression_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:6925:3: ( ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) ) )*
loop150:
do {
int alt150=2;
int LA150_0 = input.LA(1);
if ( (LA150_0==87) && (synpred6_InternalReqSpec())) {
alt150=1;
}
else if ( (LA150_0==88) && (synpred6_InternalReqSpec())) {
alt150=1;
}
switch (alt150) {
case 1 :
// InternalReqSpec.g:6926:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) ) ( (lv_right_3_0= ruleARelationalExpression ) )
{
// InternalReqSpec.g:6926:4: ( ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) ) )
// InternalReqSpec.g:6927:5: ( ( () ( ( ruleOpEquality ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpEquality ) ) )
{
// InternalReqSpec.g:6937:5: ( () ( (lv_operator_2_0= ruleOpEquality ) ) )
// InternalReqSpec.g:6938:6: () ( (lv_operator_2_0= ruleOpEquality ) )
{
// InternalReqSpec.g:6938:6: ()
// InternalReqSpec.g:6939:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAEqualityExpressionAccess().getABinaryOperationLeftAction_1_0_0_0(),
current);
}
}
// InternalReqSpec.g:6945:6: ( (lv_operator_2_0= ruleOpEquality ) )
// InternalReqSpec.g:6946:7: (lv_operator_2_0= ruleOpEquality )
{
// InternalReqSpec.g:6946:7: (lv_operator_2_0= ruleOpEquality )
// InternalReqSpec.g:6947:8: lv_operator_2_0= ruleOpEquality
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAEqualityExpressionAccess().getOperatorOpEqualityParserRuleCall_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_2_0=ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAEqualityExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"org.osate.alisa.common.Common.OpEquality");
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalReqSpec.g:6966:4: ( (lv_right_3_0= ruleARelationalExpression ) )
// InternalReqSpec.g:6967:5: (lv_right_3_0= ruleARelationalExpression )
{
// InternalReqSpec.g:6967:5: (lv_right_3_0= ruleARelationalExpression )
// InternalReqSpec.g:6968:6: lv_right_3_0= ruleARelationalExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAEqualityExpressionAccess().getRightARelationalExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_87);
lv_right_3_0=ruleARelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAEqualityExpressionRule());
}
set(
current,
"right",
lv_right_3_0,
"org.osate.alisa.common.Common.ARelationalExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop150;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAEqualityExpression"
// $ANTLR start "entryRuleOpEquality"
// InternalReqSpec.g:6990:1: entryRuleOpEquality returns [String current=null] : iv_ruleOpEquality= ruleOpEquality EOF ;
public final String entryRuleOpEquality() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpEquality = null;
try {
// InternalReqSpec.g:6990:50: (iv_ruleOpEquality= ruleOpEquality EOF )
// InternalReqSpec.g:6991:2: iv_ruleOpEquality= ruleOpEquality EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpEqualityRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpEquality=ruleOpEquality();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpEquality.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpEquality"
// $ANTLR start "ruleOpEquality"
// InternalReqSpec.g:6997:1: ruleOpEquality returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '==' | kw= '!=' ) ;
public final AntlrDatatypeRuleToken ruleOpEquality() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:7003:2: ( (kw= '==' | kw= '!=' ) )
// InternalReqSpec.g:7004:2: (kw= '==' | kw= '!=' )
{
// InternalReqSpec.g:7004:2: (kw= '==' | kw= '!=' )
int alt151=2;
int LA151_0 = input.LA(1);
if ( (LA151_0==87) ) {
alt151=1;
}
else if ( (LA151_0==88) ) {
alt151=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 151, 0, input);
throw nvae;
}
switch (alt151) {
case 1 :
// InternalReqSpec.g:7005:3: kw= '=='
{
kw=(Token)match(input,87,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getEqualsSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:7011:3: kw= '!='
{
kw=(Token)match(input,88,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpEqualityAccess().getExclamationMarkEqualsSignKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpEquality"
// $ANTLR start "entryRuleARelationalExpression"
// InternalReqSpec.g:7020:1: entryRuleARelationalExpression returns [EObject current=null] : iv_ruleARelationalExpression= ruleARelationalExpression EOF ;
public final EObject entryRuleARelationalExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleARelationalExpression = null;
try {
// InternalReqSpec.g:7020:62: (iv_ruleARelationalExpression= ruleARelationalExpression EOF )
// InternalReqSpec.g:7021:2: iv_ruleARelationalExpression= ruleARelationalExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARelationalExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleARelationalExpression=ruleARelationalExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleARelationalExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleARelationalExpression"
// $ANTLR start "ruleARelationalExpression"
// InternalReqSpec.g:7027:1: ruleARelationalExpression returns [EObject current=null] : (this_AAdditiveExpression_0= ruleAAdditiveExpression ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) ) )* ) ;
public final EObject ruleARelationalExpression() throws RecognitionException {
EObject current = null;
EObject this_AAdditiveExpression_0 = null;
AntlrDatatypeRuleToken lv_operator_2_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:7033:2: ( (this_AAdditiveExpression_0= ruleAAdditiveExpression ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) ) )* ) )
// InternalReqSpec.g:7034:2: (this_AAdditiveExpression_0= ruleAAdditiveExpression ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) ) )* )
{
// InternalReqSpec.g:7034:2: (this_AAdditiveExpression_0= ruleAAdditiveExpression ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) ) )* )
// InternalReqSpec.g:7035:3: this_AAdditiveExpression_0= ruleAAdditiveExpression ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARelationalExpressionAccess().getAAdditiveExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_88);
this_AAdditiveExpression_0=ruleAAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AAdditiveExpression_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:7043:3: ( ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) ) )*
loop152:
do {
int alt152=2;
int LA152_0 = input.LA(1);
if ( (LA152_0==89) && (synpred7_InternalReqSpec())) {
alt152=1;
}
else if ( (LA152_0==90) && (synpred7_InternalReqSpec())) {
alt152=1;
}
else if ( (LA152_0==91) && (synpred7_InternalReqSpec())) {
alt152=1;
}
else if ( (LA152_0==92) && (synpred7_InternalReqSpec())) {
alt152=1;
}
else if ( (LA152_0==93) && (synpred7_InternalReqSpec())) {
alt152=1;
}
switch (alt152) {
case 1 :
// InternalReqSpec.g:7044:4: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) ) ( (lv_right_3_0= ruleAAdditiveExpression ) )
{
// InternalReqSpec.g:7044:4: ( ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) ) )
// InternalReqSpec.g:7045:5: ( ( () ( ( ruleOpCompare ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpCompare ) ) )
{
// InternalReqSpec.g:7055:5: ( () ( (lv_operator_2_0= ruleOpCompare ) ) )
// InternalReqSpec.g:7056:6: () ( (lv_operator_2_0= ruleOpCompare ) )
{
// InternalReqSpec.g:7056:6: ()
// InternalReqSpec.g:7057:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getARelationalExpressionAccess().getABinaryOperationLeftAction_1_0_0_0(),
current);
}
}
// InternalReqSpec.g:7063:6: ( (lv_operator_2_0= ruleOpCompare ) )
// InternalReqSpec.g:7064:7: (lv_operator_2_0= ruleOpCompare )
{
// InternalReqSpec.g:7064:7: (lv_operator_2_0= ruleOpCompare )
// InternalReqSpec.g:7065:8: lv_operator_2_0= ruleOpCompare
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARelationalExpressionAccess().getOperatorOpCompareParserRuleCall_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_2_0=ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getARelationalExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"org.osate.alisa.common.Common.OpCompare");
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalReqSpec.g:7084:4: ( (lv_right_3_0= ruleAAdditiveExpression ) )
// InternalReqSpec.g:7085:5: (lv_right_3_0= ruleAAdditiveExpression )
{
// InternalReqSpec.g:7085:5: (lv_right_3_0= ruleAAdditiveExpression )
// InternalReqSpec.g:7086:6: lv_right_3_0= ruleAAdditiveExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARelationalExpressionAccess().getRightAAdditiveExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_88);
lv_right_3_0=ruleAAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getARelationalExpressionRule());
}
set(
current,
"right",
lv_right_3_0,
"org.osate.alisa.common.Common.AAdditiveExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop152;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleARelationalExpression"
// $ANTLR start "entryRuleOpCompare"
// InternalReqSpec.g:7108:1: entryRuleOpCompare returns [String current=null] : iv_ruleOpCompare= ruleOpCompare EOF ;
public final String entryRuleOpCompare() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpCompare = null;
try {
// InternalReqSpec.g:7108:49: (iv_ruleOpCompare= ruleOpCompare EOF )
// InternalReqSpec.g:7109:2: iv_ruleOpCompare= ruleOpCompare EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpCompareRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpCompare=ruleOpCompare();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpCompare.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpCompare"
// $ANTLR start "ruleOpCompare"
// InternalReqSpec.g:7115:1: ruleOpCompare returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '><' ) ;
public final AntlrDatatypeRuleToken ruleOpCompare() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:7121:2: ( (kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '><' ) )
// InternalReqSpec.g:7122:2: (kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '><' )
{
// InternalReqSpec.g:7122:2: (kw= '>=' | kw= '<=' | kw= '>' | kw= '<' | kw= '><' )
int alt153=5;
switch ( input.LA(1) ) {
case 89:
{
alt153=1;
}
break;
case 90:
{
alt153=2;
}
break;
case 91:
{
alt153=3;
}
break;
case 92:
{
alt153=4;
}
break;
case 93:
{
alt153=5;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 153, 0, input);
throw nvae;
}
switch (alt153) {
case 1 :
// InternalReqSpec.g:7123:3: kw= '>='
{
kw=(Token)match(input,89,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignEqualsSignKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:7129:3: kw= '<='
{
kw=(Token)match(input,90,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignEqualsSignKeyword_1());
}
}
break;
case 3 :
// InternalReqSpec.g:7135:3: kw= '>'
{
kw=(Token)match(input,91,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignKeyword_2());
}
}
break;
case 4 :
// InternalReqSpec.g:7141:3: kw= '<'
{
kw=(Token)match(input,92,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getLessThanSignKeyword_3());
}
}
break;
case 5 :
// InternalReqSpec.g:7147:3: kw= '><'
{
kw=(Token)match(input,93,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpCompareAccess().getGreaterThanSignLessThanSignKeyword_4());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpCompare"
// $ANTLR start "entryRuleAAdditiveExpression"
// InternalReqSpec.g:7156:1: entryRuleAAdditiveExpression returns [EObject current=null] : iv_ruleAAdditiveExpression= ruleAAdditiveExpression EOF ;
public final EObject entryRuleAAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAAdditiveExpression = null;
try {
// InternalReqSpec.g:7156:60: (iv_ruleAAdditiveExpression= ruleAAdditiveExpression EOF )
// InternalReqSpec.g:7157:2: iv_ruleAAdditiveExpression= ruleAAdditiveExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAdditiveExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAAdditiveExpression=ruleAAdditiveExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAAdditiveExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAAdditiveExpression"
// $ANTLR start "ruleAAdditiveExpression"
// InternalReqSpec.g:7163:1: ruleAAdditiveExpression returns [EObject current=null] : (this_AMultiplicativeExpression_0= ruleAMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) ) )* ) ;
public final EObject ruleAAdditiveExpression() throws RecognitionException {
EObject current = null;
EObject this_AMultiplicativeExpression_0 = null;
AntlrDatatypeRuleToken lv_operator_2_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:7169:2: ( (this_AMultiplicativeExpression_0= ruleAMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) ) )* ) )
// InternalReqSpec.g:7170:2: (this_AMultiplicativeExpression_0= ruleAMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) ) )* )
{
// InternalReqSpec.g:7170:2: (this_AMultiplicativeExpression_0= ruleAMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) ) )* )
// InternalReqSpec.g:7171:3: this_AMultiplicativeExpression_0= ruleAMultiplicativeExpression ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAdditiveExpressionAccess().getAMultiplicativeExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_89);
this_AMultiplicativeExpression_0=ruleAMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AMultiplicativeExpression_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:7179:3: ( ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) ) )*
loop154:
do {
int alt154=2;
int LA154_0 = input.LA(1);
if ( (LA154_0==94) && (synpred8_InternalReqSpec())) {
alt154=1;
}
else if ( (LA154_0==95) && (synpred8_InternalReqSpec())) {
alt154=1;
}
switch (alt154) {
case 1 :
// InternalReqSpec.g:7180:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) ) ( (lv_right_3_0= ruleAMultiplicativeExpression ) )
{
// InternalReqSpec.g:7180:4: ( ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) ) )
// InternalReqSpec.g:7181:5: ( ( () ( ( ruleOpAdd ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpAdd ) ) )
{
// InternalReqSpec.g:7191:5: ( () ( (lv_operator_2_0= ruleOpAdd ) ) )
// InternalReqSpec.g:7192:6: () ( (lv_operator_2_0= ruleOpAdd ) )
{
// InternalReqSpec.g:7192:6: ()
// InternalReqSpec.g:7193:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAAdditiveExpressionAccess().getABinaryOperationLeftAction_1_0_0_0(),
current);
}
}
// InternalReqSpec.g:7199:6: ( (lv_operator_2_0= ruleOpAdd ) )
// InternalReqSpec.g:7200:7: (lv_operator_2_0= ruleOpAdd )
{
// InternalReqSpec.g:7200:7: (lv_operator_2_0= ruleOpAdd )
// InternalReqSpec.g:7201:8: lv_operator_2_0= ruleOpAdd
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAdditiveExpressionAccess().getOperatorOpAddParserRuleCall_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_2_0=ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAAdditiveExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"org.osate.alisa.common.Common.OpAdd");
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalReqSpec.g:7220:4: ( (lv_right_3_0= ruleAMultiplicativeExpression ) )
// InternalReqSpec.g:7221:5: (lv_right_3_0= ruleAMultiplicativeExpression )
{
// InternalReqSpec.g:7221:5: (lv_right_3_0= ruleAMultiplicativeExpression )
// InternalReqSpec.g:7222:6: lv_right_3_0= ruleAMultiplicativeExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAAdditiveExpressionAccess().getRightAMultiplicativeExpressionParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_89);
lv_right_3_0=ruleAMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAAdditiveExpressionRule());
}
set(
current,
"right",
lv_right_3_0,
"org.osate.alisa.common.Common.AMultiplicativeExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop154;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAAdditiveExpression"
// $ANTLR start "entryRuleOpAdd"
// InternalReqSpec.g:7244:1: entryRuleOpAdd returns [String current=null] : iv_ruleOpAdd= ruleOpAdd EOF ;
public final String entryRuleOpAdd() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpAdd = null;
try {
// InternalReqSpec.g:7244:45: (iv_ruleOpAdd= ruleOpAdd EOF )
// InternalReqSpec.g:7245:2: iv_ruleOpAdd= ruleOpAdd EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpAddRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpAdd=ruleOpAdd();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpAdd.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpAdd"
// $ANTLR start "ruleOpAdd"
// InternalReqSpec.g:7251:1: ruleOpAdd returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '+' | kw= '-' ) ;
public final AntlrDatatypeRuleToken ruleOpAdd() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:7257:2: ( (kw= '+' | kw= '-' ) )
// InternalReqSpec.g:7258:2: (kw= '+' | kw= '-' )
{
// InternalReqSpec.g:7258:2: (kw= '+' | kw= '-' )
int alt155=2;
int LA155_0 = input.LA(1);
if ( (LA155_0==94) ) {
alt155=1;
}
else if ( (LA155_0==95) ) {
alt155=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 155, 0, input);
throw nvae;
}
switch (alt155) {
case 1 :
// InternalReqSpec.g:7259:3: kw= '+'
{
kw=(Token)match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getPlusSignKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:7265:3: kw= '-'
{
kw=(Token)match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpAddAccess().getHyphenMinusKeyword_1());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpAdd"
// $ANTLR start "entryRuleAMultiplicativeExpression"
// InternalReqSpec.g:7274:1: entryRuleAMultiplicativeExpression returns [EObject current=null] : iv_ruleAMultiplicativeExpression= ruleAMultiplicativeExpression EOF ;
public final EObject entryRuleAMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAMultiplicativeExpression = null;
try {
// InternalReqSpec.g:7274:66: (iv_ruleAMultiplicativeExpression= ruleAMultiplicativeExpression EOF )
// InternalReqSpec.g:7275:2: iv_ruleAMultiplicativeExpression= ruleAMultiplicativeExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAMultiplicativeExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAMultiplicativeExpression=ruleAMultiplicativeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAMultiplicativeExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAMultiplicativeExpression"
// $ANTLR start "ruleAMultiplicativeExpression"
// InternalReqSpec.g:7281:1: ruleAMultiplicativeExpression returns [EObject current=null] : (this_AUnaryOperation_0= ruleAUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) ) )* ) ;
public final EObject ruleAMultiplicativeExpression() throws RecognitionException {
EObject current = null;
EObject this_AUnaryOperation_0 = null;
AntlrDatatypeRuleToken lv_operator_2_0 = null;
EObject lv_right_3_0 = null;
enterRule();
try {
// InternalReqSpec.g:7287:2: ( (this_AUnaryOperation_0= ruleAUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) ) )* ) )
// InternalReqSpec.g:7288:2: (this_AUnaryOperation_0= ruleAUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) ) )* )
{
// InternalReqSpec.g:7288:2: (this_AUnaryOperation_0= ruleAUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) ) )* )
// InternalReqSpec.g:7289:3: this_AUnaryOperation_0= ruleAUnaryOperation ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) ) )*
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAMultiplicativeExpressionAccess().getAUnaryOperationParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_90);
this_AUnaryOperation_0=ruleAUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AUnaryOperation_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:7297:3: ( ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) ) )*
loop156:
do {
int alt156=2;
int LA156_0 = input.LA(1);
if ( (LA156_0==96) && (synpred9_InternalReqSpec())) {
alt156=1;
}
else if ( (LA156_0==64) && (synpred9_InternalReqSpec())) {
alt156=1;
}
else if ( (LA156_0==97) && (synpred9_InternalReqSpec())) {
alt156=1;
}
else if ( (LA156_0==98) && (synpred9_InternalReqSpec())) {
alt156=1;
}
switch (alt156) {
case 1 :
// InternalReqSpec.g:7298:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) ) ( (lv_right_3_0= ruleAUnaryOperation ) )
{
// InternalReqSpec.g:7298:4: ( ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) ) )
// InternalReqSpec.g:7299:5: ( ( () ( ( ruleOpMulti ) ) ) )=> ( () ( (lv_operator_2_0= ruleOpMulti ) ) )
{
// InternalReqSpec.g:7309:5: ( () ( (lv_operator_2_0= ruleOpMulti ) ) )
// InternalReqSpec.g:7310:6: () ( (lv_operator_2_0= ruleOpMulti ) )
{
// InternalReqSpec.g:7310:6: ()
// InternalReqSpec.g:7311:7:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAMultiplicativeExpressionAccess().getABinaryOperationLeftAction_1_0_0_0(),
current);
}
}
// InternalReqSpec.g:7317:6: ( (lv_operator_2_0= ruleOpMulti ) )
// InternalReqSpec.g:7318:7: (lv_operator_2_0= ruleOpMulti )
{
// InternalReqSpec.g:7318:7: (lv_operator_2_0= ruleOpMulti )
// InternalReqSpec.g:7319:8: lv_operator_2_0= ruleOpMulti
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAMultiplicativeExpressionAccess().getOperatorOpMultiParserRuleCall_1_0_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_2_0=ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAMultiplicativeExpressionRule());
}
set(
current,
"operator",
lv_operator_2_0,
"org.osate.alisa.common.Common.OpMulti");
afterParserOrEnumRuleCall();
}
}
}
}
}
// InternalReqSpec.g:7338:4: ( (lv_right_3_0= ruleAUnaryOperation ) )
// InternalReqSpec.g:7339:5: (lv_right_3_0= ruleAUnaryOperation )
{
// InternalReqSpec.g:7339:5: (lv_right_3_0= ruleAUnaryOperation )
// InternalReqSpec.g:7340:6: lv_right_3_0= ruleAUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAMultiplicativeExpressionAccess().getRightAUnaryOperationParserRuleCall_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_90);
lv_right_3_0=ruleAUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAMultiplicativeExpressionRule());
}
set(
current,
"right",
lv_right_3_0,
"org.osate.alisa.common.Common.AUnaryOperation");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop156;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAMultiplicativeExpression"
// $ANTLR start "entryRuleOpMulti"
// InternalReqSpec.g:7362:1: entryRuleOpMulti returns [String current=null] : iv_ruleOpMulti= ruleOpMulti EOF ;
public final String entryRuleOpMulti() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpMulti = null;
try {
// InternalReqSpec.g:7362:47: (iv_ruleOpMulti= ruleOpMulti EOF )
// InternalReqSpec.g:7363:2: iv_ruleOpMulti= ruleOpMulti EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpMultiRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpMulti=ruleOpMulti();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpMulti.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpMulti"
// $ANTLR start "ruleOpMulti"
// InternalReqSpec.g:7369:1: ruleOpMulti returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= '*' | kw= '/' | kw= 'div' | kw= 'mod' ) ;
public final AntlrDatatypeRuleToken ruleOpMulti() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:7375:2: ( (kw= '*' | kw= '/' | kw= 'div' | kw= 'mod' ) )
// InternalReqSpec.g:7376:2: (kw= '*' | kw= '/' | kw= 'div' | kw= 'mod' )
{
// InternalReqSpec.g:7376:2: (kw= '*' | kw= '/' | kw= 'div' | kw= 'mod' )
int alt157=4;
switch ( input.LA(1) ) {
case 96:
{
alt157=1;
}
break;
case 64:
{
alt157=2;
}
break;
case 97:
{
alt157=3;
}
break;
case 98:
{
alt157=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 157, 0, input);
throw nvae;
}
switch (alt157) {
case 1 :
// InternalReqSpec.g:7377:3: kw= '*'
{
kw=(Token)match(input,96,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getAsteriskKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:7383:3: kw= '/'
{
kw=(Token)match(input,64,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getSolidusKeyword_1());
}
}
break;
case 3 :
// InternalReqSpec.g:7389:3: kw= 'div'
{
kw=(Token)match(input,97,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getDivKeyword_2());
}
}
break;
case 4 :
// InternalReqSpec.g:7395:3: kw= 'mod'
{
kw=(Token)match(input,98,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpMultiAccess().getModKeyword_3());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpMulti"
// $ANTLR start "entryRuleAUnaryOperation"
// InternalReqSpec.g:7404:1: entryRuleAUnaryOperation returns [EObject current=null] : iv_ruleAUnaryOperation= ruleAUnaryOperation EOF ;
public final EObject entryRuleAUnaryOperation() throws RecognitionException {
EObject current = null;
EObject iv_ruleAUnaryOperation = null;
try {
// InternalReqSpec.g:7404:56: (iv_ruleAUnaryOperation= ruleAUnaryOperation EOF )
// InternalReqSpec.g:7405:2: iv_ruleAUnaryOperation= ruleAUnaryOperation EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAUnaryOperationRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAUnaryOperation=ruleAUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAUnaryOperation;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAUnaryOperation"
// $ANTLR start "ruleAUnaryOperation"
// InternalReqSpec.g:7411:1: ruleAUnaryOperation returns [EObject current=null] : ( ( () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) ) ) | this_AUnitExpression_3= ruleAUnitExpression ) ;
public final EObject ruleAUnaryOperation() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_operator_1_0 = null;
EObject lv_operand_2_0 = null;
EObject this_AUnitExpression_3 = null;
enterRule();
try {
// InternalReqSpec.g:7417:2: ( ( ( () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) ) ) | this_AUnitExpression_3= ruleAUnitExpression ) )
// InternalReqSpec.g:7418:2: ( ( () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) ) ) | this_AUnitExpression_3= ruleAUnitExpression )
{
// InternalReqSpec.g:7418:2: ( ( () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) ) ) | this_AUnitExpression_3= ruleAUnitExpression )
int alt158=2;
int LA158_0 = input.LA(1);
if ( ((LA158_0>=94 && LA158_0<=95)||LA158_0==99) ) {
alt158=1;
}
else if ( ((LA158_0>=RULE_STRING && LA158_0<=RULE_REAL_LIT)||LA158_0==18||LA158_0==52||LA158_0==59||LA158_0==67||LA158_0==102||(LA158_0>=106 && LA158_0<=107)) ) {
alt158=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 158, 0, input);
throw nvae;
}
switch (alt158) {
case 1 :
// InternalReqSpec.g:7419:3: ( () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) ) )
{
// InternalReqSpec.g:7419:3: ( () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) ) )
// InternalReqSpec.g:7420:4: () ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) ) ( (lv_operand_2_0= ruleAUnaryOperation ) )
{
// InternalReqSpec.g:7420:4: ()
// InternalReqSpec.g:7421:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAUnaryOperationAccess().getAUnaryOperationAction_0_0(),
current);
}
}
// InternalReqSpec.g:7427:4: ( ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary ) )
// InternalReqSpec.g:7428:5: ( ( ruleOpUnary ) )=> (lv_operator_1_0= ruleOpUnary )
{
// InternalReqSpec.g:7432:5: (lv_operator_1_0= ruleOpUnary )
// InternalReqSpec.g:7433:6: lv_operator_1_0= ruleOpUnary
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAUnaryOperationAccess().getOperatorOpUnaryParserRuleCall_0_1_0());
}
pushFollow(FollowSets000.FOLLOW_62);
lv_operator_1_0=ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAUnaryOperationRule());
}
set(
current,
"operator",
lv_operator_1_0,
"org.osate.alisa.common.Common.OpUnary");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:7450:4: ( (lv_operand_2_0= ruleAUnaryOperation ) )
// InternalReqSpec.g:7451:5: (lv_operand_2_0= ruleAUnaryOperation )
{
// InternalReqSpec.g:7451:5: (lv_operand_2_0= ruleAUnaryOperation )
// InternalReqSpec.g:7452:6: lv_operand_2_0= ruleAUnaryOperation
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAUnaryOperationAccess().getOperandAUnaryOperationParserRuleCall_0_2_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_operand_2_0=ruleAUnaryOperation();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAUnaryOperationRule());
}
set(
current,
"operand",
lv_operand_2_0,
"org.osate.alisa.common.Common.AUnaryOperation");
afterParserOrEnumRuleCall();
}
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:7471:3: this_AUnitExpression_3= ruleAUnitExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAUnaryOperationAccess().getAUnitExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AUnitExpression_3=ruleAUnitExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AUnitExpression_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAUnaryOperation"
// $ANTLR start "entryRuleOpUnary"
// InternalReqSpec.g:7483:1: entryRuleOpUnary returns [String current=null] : iv_ruleOpUnary= ruleOpUnary EOF ;
public final String entryRuleOpUnary() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleOpUnary = null;
try {
// InternalReqSpec.g:7483:47: (iv_ruleOpUnary= ruleOpUnary EOF )
// InternalReqSpec.g:7484:2: iv_ruleOpUnary= ruleOpUnary EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getOpUnaryRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleOpUnary=ruleOpUnary();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleOpUnary.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleOpUnary"
// $ANTLR start "ruleOpUnary"
// InternalReqSpec.g:7490:1: ruleOpUnary returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'not' | kw= '-' | kw= '+' ) ;
public final AntlrDatatypeRuleToken ruleOpUnary() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:7496:2: ( (kw= 'not' | kw= '-' | kw= '+' ) )
// InternalReqSpec.g:7497:2: (kw= 'not' | kw= '-' | kw= '+' )
{
// InternalReqSpec.g:7497:2: (kw= 'not' | kw= '-' | kw= '+' )
int alt159=3;
switch ( input.LA(1) ) {
case 99:
{
alt159=1;
}
break;
case 95:
{
alt159=2;
}
break;
case 94:
{
alt159=3;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 159, 0, input);
throw nvae;
}
switch (alt159) {
case 1 :
// InternalReqSpec.g:7498:3: kw= 'not'
{
kw=(Token)match(input,99,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getNotKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:7504:3: kw= '-'
{
kw=(Token)match(input,95,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getHyphenMinusKeyword_1());
}
}
break;
case 3 :
// InternalReqSpec.g:7510:3: kw= '+'
{
kw=(Token)match(input,94,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getOpUnaryAccess().getPlusSignKeyword_2());
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleOpUnary"
// $ANTLR start "entryRuleAUnitExpression"
// InternalReqSpec.g:7519:1: entryRuleAUnitExpression returns [EObject current=null] : iv_ruleAUnitExpression= ruleAUnitExpression EOF ;
public final EObject entryRuleAUnitExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAUnitExpression = null;
try {
// InternalReqSpec.g:7519:56: (iv_ruleAUnitExpression= ruleAUnitExpression EOF )
// InternalReqSpec.g:7520:2: iv_ruleAUnitExpression= ruleAUnitExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAUnitExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAUnitExpression=ruleAUnitExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAUnitExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAUnitExpression"
// $ANTLR start "ruleAUnitExpression"
// InternalReqSpec.g:7526:1: ruleAUnitExpression returns [EObject current=null] : (this_APrimaryExpression_0= ruleAPrimaryExpression ( () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) ) )? ) ;
public final EObject ruleAUnitExpression() throws RecognitionException {
EObject current = null;
Token lv_convert_2_0=null;
Token lv_drop_3_0=null;
Token otherlv_4=null;
EObject this_APrimaryExpression_0 = null;
enterRule();
try {
// InternalReqSpec.g:7532:2: ( (this_APrimaryExpression_0= ruleAPrimaryExpression ( () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) ) )? ) )
// InternalReqSpec.g:7533:2: (this_APrimaryExpression_0= ruleAPrimaryExpression ( () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) ) )? )
{
// InternalReqSpec.g:7533:2: (this_APrimaryExpression_0= ruleAPrimaryExpression ( () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) ) )? )
// InternalReqSpec.g:7534:3: this_APrimaryExpression_0= ruleAPrimaryExpression ( () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) ) )?
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAUnitExpressionAccess().getAPrimaryExpressionParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_91);
this_APrimaryExpression_0=ruleAPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_APrimaryExpression_0;
afterParserOrEnumRuleCall();
}
// InternalReqSpec.g:7542:3: ( () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) ) )?
int alt161=2;
int LA161_0 = input.LA(1);
if ( (LA161_0==47||LA161_0==81) ) {
alt161=1;
}
else if ( (LA161_0==RULE_ID) ) {
int LA161_2 = input.LA(2);
if ( (LA161_2==EOF||LA161_2==RULE_ID||(LA161_2>=19 && LA161_2<=20)||LA161_2==25||LA161_2==27||(LA161_2>=32 && LA161_2<=44)||LA161_2==46||LA161_2==49||(LA161_2>=53 && LA161_2<=54)||LA161_2==56||LA161_2==60||(LA161_2>=63 && LA161_2<=64)||LA161_2==66||(LA161_2>=68 && LA161_2<=69)||LA161_2==80||(LA161_2>=83 && LA161_2<=98)||(LA161_2>=100 && LA161_2<=101)||(LA161_2>=103 && LA161_2<=105)) ) {
alt161=1;
}
}
switch (alt161) {
case 1 :
// InternalReqSpec.g:7543:4: () ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )? ( (otherlv_4= RULE_ID ) )
{
// InternalReqSpec.g:7543:4: ()
// InternalReqSpec.g:7544:5:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElementAndSet(
grammarAccess.getAUnitExpressionAccess().getAUnitExpressionExpressionAction_1_0(),
current);
}
}
// InternalReqSpec.g:7550:4: ( ( (lv_convert_2_0= '%' ) ) | ( (lv_drop_3_0= 'in' ) ) )?
int alt160=3;
int LA160_0 = input.LA(1);
if ( (LA160_0==81) ) {
alt160=1;
}
else if ( (LA160_0==47) ) {
alt160=2;
}
switch (alt160) {
case 1 :
// InternalReqSpec.g:7551:5: ( (lv_convert_2_0= '%' ) )
{
// InternalReqSpec.g:7551:5: ( (lv_convert_2_0= '%' ) )
// InternalReqSpec.g:7552:6: (lv_convert_2_0= '%' )
{
// InternalReqSpec.g:7552:6: (lv_convert_2_0= '%' )
// InternalReqSpec.g:7553:7: lv_convert_2_0= '%'
{
lv_convert_2_0=(Token)match(input,81,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_convert_2_0, grammarAccess.getAUnitExpressionAccess().getConvertPercentSignKeyword_1_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAUnitExpressionRule());
}
setWithLastConsumed(current, "convert", true, "%");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:7566:5: ( (lv_drop_3_0= 'in' ) )
{
// InternalReqSpec.g:7566:5: ( (lv_drop_3_0= 'in' ) )
// InternalReqSpec.g:7567:6: (lv_drop_3_0= 'in' )
{
// InternalReqSpec.g:7567:6: (lv_drop_3_0= 'in' )
// InternalReqSpec.g:7568:7: lv_drop_3_0= 'in'
{
lv_drop_3_0=(Token)match(input,47,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_drop_3_0, grammarAccess.getAUnitExpressionAccess().getDropInKeyword_1_1_1_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAUnitExpressionRule());
}
setWithLastConsumed(current, "drop", true, "in");
}
}
}
}
break;
}
// InternalReqSpec.g:7581:4: ( (otherlv_4= RULE_ID ) )
// InternalReqSpec.g:7582:5: (otherlv_4= RULE_ID )
{
// InternalReqSpec.g:7582:5: (otherlv_4= RULE_ID )
// InternalReqSpec.g:7583:6: otherlv_4= RULE_ID
{
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getAUnitExpressionRule());
}
}
otherlv_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getAUnitExpressionAccess().getUnitUnitLiteralCrossReference_1_2_0());
}
}
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAUnitExpression"
// $ANTLR start "entryRuleAPrimaryExpression"
// InternalReqSpec.g:7599:1: entryRuleAPrimaryExpression returns [EObject current=null] : iv_ruleAPrimaryExpression= ruleAPrimaryExpression EOF ;
public final EObject entryRuleAPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAPrimaryExpression = null;
try {
// InternalReqSpec.g:7599:59: (iv_ruleAPrimaryExpression= ruleAPrimaryExpression EOF )
// InternalReqSpec.g:7600:2: iv_ruleAPrimaryExpression= ruleAPrimaryExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAPrimaryExpression=ruleAPrimaryExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAPrimaryExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAPrimaryExpression"
// $ANTLR start "ruleAPrimaryExpression"
// InternalReqSpec.g:7606:1: ruleAPrimaryExpression returns [EObject current=null] : (this_ALiteral_0= ruleALiteral | this_AVariableReference_1= ruleAVariableReference | this_AModelOrPropertyReference_2= ruleAModelOrPropertyReference | this_AFunctionCall_3= ruleAFunctionCall | this_ARangeExpression_4= ruleARangeExpression | this_AIfExpression_5= ruleAIfExpression | this_AParenthesizedExpression_6= ruleAParenthesizedExpression ) ;
public final EObject ruleAPrimaryExpression() throws RecognitionException {
EObject current = null;
EObject this_ALiteral_0 = null;
EObject this_AVariableReference_1 = null;
EObject this_AModelOrPropertyReference_2 = null;
EObject this_AFunctionCall_3 = null;
EObject this_ARangeExpression_4 = null;
EObject this_AIfExpression_5 = null;
EObject this_AParenthesizedExpression_6 = null;
enterRule();
try {
// InternalReqSpec.g:7612:2: ( (this_ALiteral_0= ruleALiteral | this_AVariableReference_1= ruleAVariableReference | this_AModelOrPropertyReference_2= ruleAModelOrPropertyReference | this_AFunctionCall_3= ruleAFunctionCall | this_ARangeExpression_4= ruleARangeExpression | this_AIfExpression_5= ruleAIfExpression | this_AParenthesizedExpression_6= ruleAParenthesizedExpression ) )
// InternalReqSpec.g:7613:2: (this_ALiteral_0= ruleALiteral | this_AVariableReference_1= ruleAVariableReference | this_AModelOrPropertyReference_2= ruleAModelOrPropertyReference | this_AFunctionCall_3= ruleAFunctionCall | this_ARangeExpression_4= ruleARangeExpression | this_AIfExpression_5= ruleAIfExpression | this_AParenthesizedExpression_6= ruleAParenthesizedExpression )
{
// InternalReqSpec.g:7613:2: (this_ALiteral_0= ruleALiteral | this_AVariableReference_1= ruleAVariableReference | this_AModelOrPropertyReference_2= ruleAModelOrPropertyReference | this_AFunctionCall_3= ruleAFunctionCall | this_ARangeExpression_4= ruleARangeExpression | this_AIfExpression_5= ruleAIfExpression | this_AParenthesizedExpression_6= ruleAParenthesizedExpression )
int alt162=7;
switch ( input.LA(1) ) {
case RULE_STRING:
case RULE_INT:
case RULE_REAL_LIT:
case 106:
case 107:
{
alt162=1;
}
break;
case RULE_ID:
{
int LA162_2 = input.LA(2);
if ( (LA162_2==EOF||LA162_2==RULE_ID||(LA162_2>=19 && LA162_2<=20)||LA162_2==25||LA162_2==27||(LA162_2>=32 && LA162_2<=44)||(LA162_2>=46 && LA162_2<=47)||LA162_2==49||(LA162_2>=53 && LA162_2<=54)||LA162_2==56||LA162_2==60||(LA162_2>=63 && LA162_2<=64)||LA162_2==66||(LA162_2>=68 && LA162_2<=69)||(LA162_2>=80 && LA162_2<=81)||(LA162_2>=83 && LA162_2<=98)||(LA162_2>=100 && LA162_2<=101)||(LA162_2>=103 && LA162_2<=105)) ) {
alt162=2;
}
else if ( (LA162_2==52||LA162_2==65) ) {
alt162=4;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 162, 2, input);
throw nvae;
}
}
break;
case 59:
case 67:
{
alt162=3;
}
break;
case 18:
{
alt162=5;
}
break;
case 102:
{
alt162=6;
}
break;
case 52:
{
alt162=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 162, 0, input);
throw nvae;
}
switch (alt162) {
case 1 :
// InternalReqSpec.g:7614:3: this_ALiteral_0= ruleALiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getALiteralParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ALiteral_0=ruleALiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ALiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalReqSpec.g:7623:3: this_AVariableReference_1= ruleAVariableReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getAVariableReferenceParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AVariableReference_1=ruleAVariableReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AVariableReference_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalReqSpec.g:7632:3: this_AModelOrPropertyReference_2= ruleAModelOrPropertyReference
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getAModelOrPropertyReferenceParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AModelOrPropertyReference_2=ruleAModelOrPropertyReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AModelOrPropertyReference_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalReqSpec.g:7641:3: this_AFunctionCall_3= ruleAFunctionCall
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getAFunctionCallParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AFunctionCall_3=ruleAFunctionCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AFunctionCall_3;
afterParserOrEnumRuleCall();
}
}
break;
case 5 :
// InternalReqSpec.g:7650:3: this_ARangeExpression_4= ruleARangeExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getARangeExpressionParserRuleCall_4());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ARangeExpression_4=ruleARangeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ARangeExpression_4;
afterParserOrEnumRuleCall();
}
}
break;
case 6 :
// InternalReqSpec.g:7659:3: this_AIfExpression_5= ruleAIfExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getAIfExpressionParserRuleCall_5());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AIfExpression_5=ruleAIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AIfExpression_5;
afterParserOrEnumRuleCall();
}
}
break;
case 7 :
// InternalReqSpec.g:7668:3: this_AParenthesizedExpression_6= ruleAParenthesizedExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAPrimaryExpressionAccess().getAParenthesizedExpressionParserRuleCall_6());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AParenthesizedExpression_6=ruleAParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AParenthesizedExpression_6;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAPrimaryExpression"
// $ANTLR start "entryRuleAFunctionCall"
// InternalReqSpec.g:7680:1: entryRuleAFunctionCall returns [EObject current=null] : iv_ruleAFunctionCall= ruleAFunctionCall EOF ;
public final EObject entryRuleAFunctionCall() throws RecognitionException {
EObject current = null;
EObject iv_ruleAFunctionCall = null;
try {
// InternalReqSpec.g:7680:54: (iv_ruleAFunctionCall= ruleAFunctionCall EOF )
// InternalReqSpec.g:7681:2: iv_ruleAFunctionCall= ruleAFunctionCall EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAFunctionCallRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAFunctionCall=ruleAFunctionCall();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAFunctionCall;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAFunctionCall"
// $ANTLR start "ruleAFunctionCall"
// InternalReqSpec.g:7687:1: ruleAFunctionCall returns [EObject current=null] : ( () ( (lv_function_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )* )? otherlv_6= ')' ) ;
public final EObject ruleAFunctionCall() throws RecognitionException {
EObject current = null;
Token otherlv_2=null;
Token otherlv_4=null;
Token otherlv_6=null;
AntlrDatatypeRuleToken lv_function_1_0 = null;
EObject lv_arguments_3_0 = null;
EObject lv_arguments_5_0 = null;
enterRule();
try {
// InternalReqSpec.g:7693:2: ( ( () ( (lv_function_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )* )? otherlv_6= ')' ) )
// InternalReqSpec.g:7694:2: ( () ( (lv_function_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )* )? otherlv_6= ')' )
{
// InternalReqSpec.g:7694:2: ( () ( (lv_function_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )* )? otherlv_6= ')' )
// InternalReqSpec.g:7695:3: () ( (lv_function_1_0= ruleQualifiedName ) ) otherlv_2= '(' ( ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )* )? otherlv_6= ')'
{
// InternalReqSpec.g:7695:3: ()
// InternalReqSpec.g:7696:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAFunctionCallAccess().getAFunctionCallAction_0(),
current);
}
}
// InternalReqSpec.g:7702:3: ( (lv_function_1_0= ruleQualifiedName ) )
// InternalReqSpec.g:7703:4: (lv_function_1_0= ruleQualifiedName )
{
// InternalReqSpec.g:7703:4: (lv_function_1_0= ruleQualifiedName )
// InternalReqSpec.g:7704:5: lv_function_1_0= ruleQualifiedName
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAFunctionCallAccess().getFunctionQualifiedNameParserRuleCall_1_0());
}
pushFollow(FollowSets000.FOLLOW_59);
lv_function_1_0=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAFunctionCallRule());
}
set(
current,
"function",
lv_function_1_0,
"org.osate.alisa.common.Common.QualifiedName");
afterParserOrEnumRuleCall();
}
}
}
otherlv_2=(Token)match(input,52,FollowSets000.FOLLOW_92); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getAFunctionCallAccess().getLeftParenthesisKeyword_2());
}
// InternalReqSpec.g:7725:3: ( ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )* )?
int alt164=2;
int LA164_0 = input.LA(1);
if ( ((LA164_0>=RULE_STRING && LA164_0<=RULE_REAL_LIT)||LA164_0==18||LA164_0==52||LA164_0==59||LA164_0==67||(LA164_0>=94 && LA164_0<=95)||LA164_0==99||LA164_0==102||(LA164_0>=106 && LA164_0<=107)) ) {
alt164=1;
}
switch (alt164) {
case 1 :
// InternalReqSpec.g:7726:4: ( (lv_arguments_3_0= ruleAExpression ) ) (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )*
{
// InternalReqSpec.g:7726:4: ( (lv_arguments_3_0= ruleAExpression ) )
// InternalReqSpec.g:7727:5: (lv_arguments_3_0= ruleAExpression )
{
// InternalReqSpec.g:7727:5: (lv_arguments_3_0= ruleAExpression )
// InternalReqSpec.g:7728:6: lv_arguments_3_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAFunctionCallAccess().getArgumentsAExpressionParserRuleCall_3_0_0());
}
pushFollow(FollowSets000.FOLLOW_93);
lv_arguments_3_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAFunctionCallRule());
}
add(
current,
"arguments",
lv_arguments_3_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:7745:4: (otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) ) )*
loop163:
do {
int alt163=2;
int LA163_0 = input.LA(1);
if ( (LA163_0==49) ) {
alt163=1;
}
switch (alt163) {
case 1 :
// InternalReqSpec.g:7746:5: otherlv_4= ',' ( (lv_arguments_5_0= ruleAExpression ) )
{
otherlv_4=(Token)match(input,49,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_4, grammarAccess.getAFunctionCallAccess().getCommaKeyword_3_1_0());
}
// InternalReqSpec.g:7750:5: ( (lv_arguments_5_0= ruleAExpression ) )
// InternalReqSpec.g:7751:6: (lv_arguments_5_0= ruleAExpression )
{
// InternalReqSpec.g:7751:6: (lv_arguments_5_0= ruleAExpression )
// InternalReqSpec.g:7752:7: lv_arguments_5_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAFunctionCallAccess().getArgumentsAExpressionParserRuleCall_3_1_1_0());
}
pushFollow(FollowSets000.FOLLOW_93);
lv_arguments_5_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAFunctionCallRule());
}
add(
current,
"arguments",
lv_arguments_5_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
default :
break loop163;
}
} while (true);
}
break;
}
otherlv_6=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_6, grammarAccess.getAFunctionCallAccess().getRightParenthesisKeyword_4());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAFunctionCall"
// $ANTLR start "entryRuleARangeExpression"
// InternalReqSpec.g:7779:1: entryRuleARangeExpression returns [EObject current=null] : iv_ruleARangeExpression= ruleARangeExpression EOF ;
public final EObject entryRuleARangeExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleARangeExpression = null;
try {
// InternalReqSpec.g:7779:57: (iv_ruleARangeExpression= ruleARangeExpression EOF )
// InternalReqSpec.g:7780:2: iv_ruleARangeExpression= ruleARangeExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARangeExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleARangeExpression=ruleARangeExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleARangeExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleARangeExpression"
// $ANTLR start "ruleARangeExpression"
// InternalReqSpec.g:7786:1: ruleARangeExpression returns [EObject current=null] : ( () otherlv_1= '[' ( (lv_minimum_2_0= ruleAExpression ) ) otherlv_3= '..' ( (lv_maximum_4_0= ruleAExpression ) ) ( ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) ) )? otherlv_7= ']' ) ;
public final EObject ruleARangeExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_minimum_2_0 = null;
EObject lv_maximum_4_0 = null;
EObject lv_delta_6_0 = null;
enterRule();
try {
// InternalReqSpec.g:7792:2: ( ( () otherlv_1= '[' ( (lv_minimum_2_0= ruleAExpression ) ) otherlv_3= '..' ( (lv_maximum_4_0= ruleAExpression ) ) ( ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) ) )? otherlv_7= ']' ) )
// InternalReqSpec.g:7793:2: ( () otherlv_1= '[' ( (lv_minimum_2_0= ruleAExpression ) ) otherlv_3= '..' ( (lv_maximum_4_0= ruleAExpression ) ) ( ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) ) )? otherlv_7= ']' )
{
// InternalReqSpec.g:7793:2: ( () otherlv_1= '[' ( (lv_minimum_2_0= ruleAExpression ) ) otherlv_3= '..' ( (lv_maximum_4_0= ruleAExpression ) ) ( ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) ) )? otherlv_7= ']' )
// InternalReqSpec.g:7794:3: () otherlv_1= '[' ( (lv_minimum_2_0= ruleAExpression ) ) otherlv_3= '..' ( (lv_maximum_4_0= ruleAExpression ) ) ( ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) ) )? otherlv_7= ']'
{
// InternalReqSpec.g:7794:3: ()
// InternalReqSpec.g:7795:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getARangeExpressionAccess().getARangeAction_0(),
current);
}
}
otherlv_1=(Token)match(input,18,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getARangeExpressionAccess().getLeftSquareBracketKeyword_1());
}
// InternalReqSpec.g:7805:3: ( (lv_minimum_2_0= ruleAExpression ) )
// InternalReqSpec.g:7806:4: (lv_minimum_2_0= ruleAExpression )
{
// InternalReqSpec.g:7806:4: (lv_minimum_2_0= ruleAExpression )
// InternalReqSpec.g:7807:5: lv_minimum_2_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARangeExpressionAccess().getMinimumAExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_94);
lv_minimum_2_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getARangeExpressionRule());
}
set(
current,
"minimum",
lv_minimum_2_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,100,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getARangeExpressionAccess().getFullStopFullStopKeyword_3());
}
// InternalReqSpec.g:7828:3: ( (lv_maximum_4_0= ruleAExpression ) )
// InternalReqSpec.g:7829:4: (lv_maximum_4_0= ruleAExpression )
{
// InternalReqSpec.g:7829:4: (lv_maximum_4_0= ruleAExpression )
// InternalReqSpec.g:7830:5: lv_maximum_4_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARangeExpressionAccess().getMaximumAExpressionParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_95);
lv_maximum_4_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getARangeExpressionRule());
}
set(
current,
"maximum",
lv_maximum_4_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:7847:3: ( ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) ) )?
int alt165=2;
int LA165_0 = input.LA(1);
if ( (LA165_0==101) && (synpred11_InternalReqSpec())) {
alt165=1;
}
switch (alt165) {
case 1 :
// InternalReqSpec.g:7848:4: ( ( 'delta' )=>otherlv_5= 'delta' ) ( (lv_delta_6_0= ruleAExpression ) )
{
// InternalReqSpec.g:7848:4: ( ( 'delta' )=>otherlv_5= 'delta' )
// InternalReqSpec.g:7849:5: ( 'delta' )=>otherlv_5= 'delta'
{
otherlv_5=(Token)match(input,101,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getARangeExpressionAccess().getDeltaKeyword_5_0());
}
}
// InternalReqSpec.g:7855:4: ( (lv_delta_6_0= ruleAExpression ) )
// InternalReqSpec.g:7856:5: (lv_delta_6_0= ruleAExpression )
{
// InternalReqSpec.g:7856:5: (lv_delta_6_0= ruleAExpression )
// InternalReqSpec.g:7857:6: lv_delta_6_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARangeExpressionAccess().getDeltaAExpressionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_72);
lv_delta_6_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getARangeExpressionRule());
}
set(
current,
"delta",
lv_delta_6_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_7=(Token)match(input,19,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getARangeExpressionAccess().getRightSquareBracketKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleARangeExpression"
// $ANTLR start "entryRuleAIfExpression"
// InternalReqSpec.g:7883:1: entryRuleAIfExpression returns [EObject current=null] : iv_ruleAIfExpression= ruleAIfExpression EOF ;
public final EObject entryRuleAIfExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAIfExpression = null;
try {
// InternalReqSpec.g:7883:54: (iv_ruleAIfExpression= ruleAIfExpression EOF )
// InternalReqSpec.g:7884:2: iv_ruleAIfExpression= ruleAIfExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIfExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAIfExpression=ruleAIfExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAIfExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAIfExpression"
// $ANTLR start "ruleAIfExpression"
// InternalReqSpec.g:7890:1: ruleAIfExpression returns [EObject current=null] : ( () otherlv_1= 'if' ( (lv_if_2_0= ruleAExpression ) ) otherlv_3= 'then' ( (lv_then_4_0= ruleAExpression ) ) (otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) ) )? otherlv_7= 'endif' ) ;
public final EObject ruleAIfExpression() throws RecognitionException {
EObject current = null;
Token otherlv_1=null;
Token otherlv_3=null;
Token otherlv_5=null;
Token otherlv_7=null;
EObject lv_if_2_0 = null;
EObject lv_then_4_0 = null;
EObject lv_else_6_0 = null;
enterRule();
try {
// InternalReqSpec.g:7896:2: ( ( () otherlv_1= 'if' ( (lv_if_2_0= ruleAExpression ) ) otherlv_3= 'then' ( (lv_then_4_0= ruleAExpression ) ) (otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) ) )? otherlv_7= 'endif' ) )
// InternalReqSpec.g:7897:2: ( () otherlv_1= 'if' ( (lv_if_2_0= ruleAExpression ) ) otherlv_3= 'then' ( (lv_then_4_0= ruleAExpression ) ) (otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) ) )? otherlv_7= 'endif' )
{
// InternalReqSpec.g:7897:2: ( () otherlv_1= 'if' ( (lv_if_2_0= ruleAExpression ) ) otherlv_3= 'then' ( (lv_then_4_0= ruleAExpression ) ) (otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) ) )? otherlv_7= 'endif' )
// InternalReqSpec.g:7898:3: () otherlv_1= 'if' ( (lv_if_2_0= ruleAExpression ) ) otherlv_3= 'then' ( (lv_then_4_0= ruleAExpression ) ) (otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) ) )? otherlv_7= 'endif'
{
// InternalReqSpec.g:7898:3: ()
// InternalReqSpec.g:7899:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getAIfExpressionAccess().getAConditionalAction_0(),
current);
}
}
otherlv_1=(Token)match(input,102,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_1, grammarAccess.getAIfExpressionAccess().getIfKeyword_1());
}
// InternalReqSpec.g:7909:3: ( (lv_if_2_0= ruleAExpression ) )
// InternalReqSpec.g:7910:4: (lv_if_2_0= ruleAExpression )
{
// InternalReqSpec.g:7910:4: (lv_if_2_0= ruleAExpression )
// InternalReqSpec.g:7911:5: lv_if_2_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIfExpressionAccess().getIfAExpressionParserRuleCall_2_0());
}
pushFollow(FollowSets000.FOLLOW_96);
lv_if_2_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAIfExpressionRule());
}
set(
current,
"if",
lv_if_2_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
otherlv_3=(Token)match(input,103,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_3, grammarAccess.getAIfExpressionAccess().getThenKeyword_3());
}
// InternalReqSpec.g:7932:3: ( (lv_then_4_0= ruleAExpression ) )
// InternalReqSpec.g:7933:4: (lv_then_4_0= ruleAExpression )
{
// InternalReqSpec.g:7933:4: (lv_then_4_0= ruleAExpression )
// InternalReqSpec.g:7934:5: lv_then_4_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIfExpressionAccess().getThenAExpressionParserRuleCall_4_0());
}
pushFollow(FollowSets000.FOLLOW_97);
lv_then_4_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAIfExpressionRule());
}
set(
current,
"then",
lv_then_4_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
// InternalReqSpec.g:7951:3: (otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) ) )?
int alt166=2;
int LA166_0 = input.LA(1);
if ( (LA166_0==104) ) {
alt166=1;
}
switch (alt166) {
case 1 :
// InternalReqSpec.g:7952:4: otherlv_5= 'else' ( (lv_else_6_0= ruleAExpression ) )
{
otherlv_5=(Token)match(input,104,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_5, grammarAccess.getAIfExpressionAccess().getElseKeyword_5_0());
}
// InternalReqSpec.g:7956:4: ( (lv_else_6_0= ruleAExpression ) )
// InternalReqSpec.g:7957:5: (lv_else_6_0= ruleAExpression )
{
// InternalReqSpec.g:7957:5: (lv_else_6_0= ruleAExpression )
// InternalReqSpec.g:7958:6: lv_else_6_0= ruleAExpression
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIfExpressionAccess().getElseAExpressionParserRuleCall_5_1_0());
}
pushFollow(FollowSets000.FOLLOW_98);
lv_else_6_0=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAIfExpressionRule());
}
set(
current,
"else",
lv_else_6_0,
"org.osate.alisa.common.Common.AExpression");
afterParserOrEnumRuleCall();
}
}
}
}
break;
}
otherlv_7=(Token)match(input,105,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_7, grammarAccess.getAIfExpressionAccess().getEndifKeyword_6());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAIfExpression"
// $ANTLR start "entryRuleALiteral"
// InternalReqSpec.g:7984:1: entryRuleALiteral returns [EObject current=null] : iv_ruleALiteral= ruleALiteral EOF ;
public final EObject entryRuleALiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleALiteral = null;
try {
// InternalReqSpec.g:7984:49: (iv_ruleALiteral= ruleALiteral EOF )
// InternalReqSpec.g:7985:2: iv_ruleALiteral= ruleALiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getALiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleALiteral=ruleALiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleALiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleALiteral"
// $ANTLR start "ruleALiteral"
// InternalReqSpec.g:7991:1: ruleALiteral returns [EObject current=null] : (this_ABooleanLiteral_0= ruleABooleanLiteral | this_ARealTerm_1= ruleARealTerm | this_AIntegerTerm_2= ruleAIntegerTerm | this_StringTerm_3= ruleStringTerm ) ;
public final EObject ruleALiteral() throws RecognitionException {
EObject current = null;
EObject this_ABooleanLiteral_0 = null;
EObject this_ARealTerm_1 = null;
EObject this_AIntegerTerm_2 = null;
EObject this_StringTerm_3 = null;
enterRule();
try {
// InternalReqSpec.g:7997:2: ( (this_ABooleanLiteral_0= ruleABooleanLiteral | this_ARealTerm_1= ruleARealTerm | this_AIntegerTerm_2= ruleAIntegerTerm | this_StringTerm_3= ruleStringTerm ) )
// InternalReqSpec.g:7998:2: (this_ABooleanLiteral_0= ruleABooleanLiteral | this_ARealTerm_1= ruleARealTerm | this_AIntegerTerm_2= ruleAIntegerTerm | this_StringTerm_3= ruleStringTerm )
{
// InternalReqSpec.g:7998:2: (this_ABooleanLiteral_0= ruleABooleanLiteral | this_ARealTerm_1= ruleARealTerm | this_AIntegerTerm_2= ruleAIntegerTerm | this_StringTerm_3= ruleStringTerm )
int alt167=4;
switch ( input.LA(1) ) {
case 106:
case 107:
{
alt167=1;
}
break;
case RULE_REAL_LIT:
{
alt167=2;
}
break;
case RULE_INT:
{
alt167=3;
}
break;
case RULE_STRING:
{
alt167=4;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 167, 0, input);
throw nvae;
}
switch (alt167) {
case 1 :
// InternalReqSpec.g:7999:3: this_ABooleanLiteral_0= ruleABooleanLiteral
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getALiteralAccess().getABooleanLiteralParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ABooleanLiteral_0=ruleABooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ABooleanLiteral_0;
afterParserOrEnumRuleCall();
}
}
break;
case 2 :
// InternalReqSpec.g:8008:3: this_ARealTerm_1= ruleARealTerm
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getALiteralAccess().getARealTermParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_2);
this_ARealTerm_1=ruleARealTerm();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_ARealTerm_1;
afterParserOrEnumRuleCall();
}
}
break;
case 3 :
// InternalReqSpec.g:8017:3: this_AIntegerTerm_2= ruleAIntegerTerm
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getALiteralAccess().getAIntegerTermParserRuleCall_2());
}
pushFollow(FollowSets000.FOLLOW_2);
this_AIntegerTerm_2=ruleAIntegerTerm();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AIntegerTerm_2;
afterParserOrEnumRuleCall();
}
}
break;
case 4 :
// InternalReqSpec.g:8026:3: this_StringTerm_3= ruleStringTerm
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getALiteralAccess().getStringTermParserRuleCall_3());
}
pushFollow(FollowSets000.FOLLOW_2);
this_StringTerm_3=ruleStringTerm();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_StringTerm_3;
afterParserOrEnumRuleCall();
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleALiteral"
// $ANTLR start "entryRuleAIntegerTerm"
// InternalReqSpec.g:8038:1: entryRuleAIntegerTerm returns [EObject current=null] : iv_ruleAIntegerTerm= ruleAIntegerTerm EOF ;
public final EObject entryRuleAIntegerTerm() throws RecognitionException {
EObject current = null;
EObject iv_ruleAIntegerTerm = null;
try {
// InternalReqSpec.g:8038:53: (iv_ruleAIntegerTerm= ruleAIntegerTerm EOF )
// InternalReqSpec.g:8039:2: iv_ruleAIntegerTerm= ruleAIntegerTerm EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIntegerTermRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAIntegerTerm=ruleAIntegerTerm();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAIntegerTerm;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAIntegerTerm"
// $ANTLR start "ruleAIntegerTerm"
// InternalReqSpec.g:8045:1: ruleAIntegerTerm returns [EObject current=null] : ( (lv_value_0_0= ruleAInt ) ) ;
public final EObject ruleAIntegerTerm() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_0_0 = null;
enterRule();
try {
// InternalReqSpec.g:8051:2: ( ( (lv_value_0_0= ruleAInt ) ) )
// InternalReqSpec.g:8052:2: ( (lv_value_0_0= ruleAInt ) )
{
// InternalReqSpec.g:8052:2: ( (lv_value_0_0= ruleAInt ) )
// InternalReqSpec.g:8053:3: (lv_value_0_0= ruleAInt )
{
// InternalReqSpec.g:8053:3: (lv_value_0_0= ruleAInt )
// InternalReqSpec.g:8054:4: lv_value_0_0= ruleAInt
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIntegerTermAccess().getValueAIntParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_0_0=ruleAInt();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getAIntegerTermRule());
}
set(
current,
"value",
lv_value_0_0,
"org.osate.alisa.common.Common.AInt");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAIntegerTerm"
// $ANTLR start "entryRuleAInt"
// InternalReqSpec.g:8074:1: entryRuleAInt returns [String current=null] : iv_ruleAInt= ruleAInt EOF ;
public final String entryRuleAInt() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleAInt = null;
try {
// InternalReqSpec.g:8074:44: (iv_ruleAInt= ruleAInt EOF )
// InternalReqSpec.g:8075:2: iv_ruleAInt= ruleAInt EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAIntRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAInt=ruleAInt();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAInt.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAInt"
// $ANTLR start "ruleAInt"
// InternalReqSpec.g:8081:1: ruleAInt returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_INT_0= RULE_INT ;
public final AntlrDatatypeRuleToken ruleAInt() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_INT_0=null;
enterRule();
try {
// InternalReqSpec.g:8087:2: (this_INT_0= RULE_INT )
// InternalReqSpec.g:8088:2: this_INT_0= RULE_INT
{
this_INT_0=(Token)match(input,RULE_INT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_INT_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_INT_0, grammarAccess.getAIntAccess().getINTTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAInt"
// $ANTLR start "entryRuleARealTerm"
// InternalReqSpec.g:8098:1: entryRuleARealTerm returns [EObject current=null] : iv_ruleARealTerm= ruleARealTerm EOF ;
public final EObject entryRuleARealTerm() throws RecognitionException {
EObject current = null;
EObject iv_ruleARealTerm = null;
try {
// InternalReqSpec.g:8098:50: (iv_ruleARealTerm= ruleARealTerm EOF )
// InternalReqSpec.g:8099:2: iv_ruleARealTerm= ruleARealTerm EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARealTermRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleARealTerm=ruleARealTerm();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleARealTerm;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleARealTerm"
// $ANTLR start "ruleARealTerm"
// InternalReqSpec.g:8105:1: ruleARealTerm returns [EObject current=null] : ( (lv_value_0_0= ruleAReal ) ) ;
public final EObject ruleARealTerm() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_0_0 = null;
enterRule();
try {
// InternalReqSpec.g:8111:2: ( ( (lv_value_0_0= ruleAReal ) ) )
// InternalReqSpec.g:8112:2: ( (lv_value_0_0= ruleAReal ) )
{
// InternalReqSpec.g:8112:2: ( (lv_value_0_0= ruleAReal ) )
// InternalReqSpec.g:8113:3: (lv_value_0_0= ruleAReal )
{
// InternalReqSpec.g:8113:3: (lv_value_0_0= ruleAReal )
// InternalReqSpec.g:8114:4: lv_value_0_0= ruleAReal
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARealTermAccess().getValueARealParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_0_0=ruleAReal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getARealTermRule());
}
set(
current,
"value",
lv_value_0_0,
"org.osate.alisa.common.Common.AReal");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleARealTerm"
// $ANTLR start "entryRuleAReal"
// InternalReqSpec.g:8134:1: entryRuleAReal returns [String current=null] : iv_ruleAReal= ruleAReal EOF ;
public final String entryRuleAReal() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleAReal = null;
try {
// InternalReqSpec.g:8134:45: (iv_ruleAReal= ruleAReal EOF )
// InternalReqSpec.g:8135:2: iv_ruleAReal= ruleAReal EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getARealRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAReal=ruleAReal();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAReal.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAReal"
// $ANTLR start "ruleAReal"
// InternalReqSpec.g:8141:1: ruleAReal returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_REAL_LIT_0= RULE_REAL_LIT ;
public final AntlrDatatypeRuleToken ruleAReal() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_REAL_LIT_0=null;
enterRule();
try {
// InternalReqSpec.g:8147:2: (this_REAL_LIT_0= RULE_REAL_LIT )
// InternalReqSpec.g:8148:2: this_REAL_LIT_0= RULE_REAL_LIT
{
this_REAL_LIT_0=(Token)match(input,RULE_REAL_LIT,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_REAL_LIT_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_REAL_LIT_0, grammarAccess.getARealAccess().getREAL_LITTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAReal"
// $ANTLR start "entryRuleABooleanLiteral"
// InternalReqSpec.g:8158:1: entryRuleABooleanLiteral returns [EObject current=null] : iv_ruleABooleanLiteral= ruleABooleanLiteral EOF ;
public final EObject entryRuleABooleanLiteral() throws RecognitionException {
EObject current = null;
EObject iv_ruleABooleanLiteral = null;
try {
// InternalReqSpec.g:8158:56: (iv_ruleABooleanLiteral= ruleABooleanLiteral EOF )
// InternalReqSpec.g:8159:2: iv_ruleABooleanLiteral= ruleABooleanLiteral EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getABooleanLiteralRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleABooleanLiteral=ruleABooleanLiteral();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleABooleanLiteral;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleABooleanLiteral"
// $ANTLR start "ruleABooleanLiteral"
// InternalReqSpec.g:8165:1: ruleABooleanLiteral returns [EObject current=null] : ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) ;
public final EObject ruleABooleanLiteral() throws RecognitionException {
EObject current = null;
Token lv_value_1_0=null;
Token otherlv_2=null;
enterRule();
try {
// InternalReqSpec.g:8171:2: ( ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) ) )
// InternalReqSpec.g:8172:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) )
{
// InternalReqSpec.g:8172:2: ( () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' ) )
// InternalReqSpec.g:8173:3: () ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' )
{
// InternalReqSpec.g:8173:3: ()
// InternalReqSpec.g:8174:4:
{
if ( state.backtracking==0 ) {
current = forceCreateModelElement(
grammarAccess.getABooleanLiteralAccess().getBooleanLiteralAction_0(),
current);
}
}
// InternalReqSpec.g:8180:3: ( ( (lv_value_1_0= 'true' ) ) | otherlv_2= 'false' )
int alt168=2;
int LA168_0 = input.LA(1);
if ( (LA168_0==106) ) {
alt168=1;
}
else if ( (LA168_0==107) ) {
alt168=2;
}
else {
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 168, 0, input);
throw nvae;
}
switch (alt168) {
case 1 :
// InternalReqSpec.g:8181:4: ( (lv_value_1_0= 'true' ) )
{
// InternalReqSpec.g:8181:4: ( (lv_value_1_0= 'true' ) )
// InternalReqSpec.g:8182:5: (lv_value_1_0= 'true' )
{
// InternalReqSpec.g:8182:5: (lv_value_1_0= 'true' )
// InternalReqSpec.g:8183:6: lv_value_1_0= 'true'
{
lv_value_1_0=(Token)match(input,106,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(lv_value_1_0, grammarAccess.getABooleanLiteralAccess().getValueTrueKeyword_1_0_0());
}
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElement(grammarAccess.getABooleanLiteralRule());
}
setWithLastConsumed(current, "value", true, "true");
}
}
}
}
break;
case 2 :
// InternalReqSpec.g:8196:4: otherlv_2= 'false'
{
otherlv_2=(Token)match(input,107,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getABooleanLiteralAccess().getFalseKeyword_1_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleABooleanLiteral"
// $ANTLR start "entryRuleStringTerm"
// InternalReqSpec.g:8205:1: entryRuleStringTerm returns [EObject current=null] : iv_ruleStringTerm= ruleStringTerm EOF ;
public final EObject entryRuleStringTerm() throws RecognitionException {
EObject current = null;
EObject iv_ruleStringTerm = null;
try {
// InternalReqSpec.g:8205:51: (iv_ruleStringTerm= ruleStringTerm EOF )
// InternalReqSpec.g:8206:2: iv_ruleStringTerm= ruleStringTerm EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringTermRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleStringTerm=ruleStringTerm();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleStringTerm;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleStringTerm"
// $ANTLR start "ruleStringTerm"
// InternalReqSpec.g:8212:1: ruleStringTerm returns [EObject current=null] : ( (lv_value_0_0= ruleNoQuoteString ) ) ;
public final EObject ruleStringTerm() throws RecognitionException {
EObject current = null;
AntlrDatatypeRuleToken lv_value_0_0 = null;
enterRule();
try {
// InternalReqSpec.g:8218:2: ( ( (lv_value_0_0= ruleNoQuoteString ) ) )
// InternalReqSpec.g:8219:2: ( (lv_value_0_0= ruleNoQuoteString ) )
{
// InternalReqSpec.g:8219:2: ( (lv_value_0_0= ruleNoQuoteString ) )
// InternalReqSpec.g:8220:3: (lv_value_0_0= ruleNoQuoteString )
{
// InternalReqSpec.g:8220:3: (lv_value_0_0= ruleNoQuoteString )
// InternalReqSpec.g:8221:4: lv_value_0_0= ruleNoQuoteString
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getStringTermAccess().getValueNoQuoteStringParserRuleCall_0());
}
pushFollow(FollowSets000.FOLLOW_2);
lv_value_0_0=ruleNoQuoteString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
if (current==null) {
current = createModelElementForParent(grammarAccess.getStringTermRule());
}
set(
current,
"value",
lv_value_0_0,
"org.osate.alisa.common.Common.NoQuoteString");
afterParserOrEnumRuleCall();
}
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleStringTerm"
// $ANTLR start "entryRuleNoQuoteString"
// InternalReqSpec.g:8241:1: entryRuleNoQuoteString returns [String current=null] : iv_ruleNoQuoteString= ruleNoQuoteString EOF ;
public final String entryRuleNoQuoteString() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleNoQuoteString = null;
try {
// InternalReqSpec.g:8241:53: (iv_ruleNoQuoteString= ruleNoQuoteString EOF )
// InternalReqSpec.g:8242:2: iv_ruleNoQuoteString= ruleNoQuoteString EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getNoQuoteStringRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleNoQuoteString=ruleNoQuoteString();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleNoQuoteString.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleNoQuoteString"
// $ANTLR start "ruleNoQuoteString"
// InternalReqSpec.g:8248:1: ruleNoQuoteString returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : this_STRING_0= RULE_STRING ;
public final AntlrDatatypeRuleToken ruleNoQuoteString() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_STRING_0=null;
enterRule();
try {
// InternalReqSpec.g:8254:2: (this_STRING_0= RULE_STRING )
// InternalReqSpec.g:8255:2: this_STRING_0= RULE_STRING
{
this_STRING_0=(Token)match(input,RULE_STRING,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_STRING_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_STRING_0, grammarAccess.getNoQuoteStringAccess().getSTRINGTerminalRuleCall());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleNoQuoteString"
// $ANTLR start "entryRuleAParenthesizedExpression"
// InternalReqSpec.g:8265:1: entryRuleAParenthesizedExpression returns [EObject current=null] : iv_ruleAParenthesizedExpression= ruleAParenthesizedExpression EOF ;
public final EObject entryRuleAParenthesizedExpression() throws RecognitionException {
EObject current = null;
EObject iv_ruleAParenthesizedExpression = null;
try {
// InternalReqSpec.g:8265:65: (iv_ruleAParenthesizedExpression= ruleAParenthesizedExpression EOF )
// InternalReqSpec.g:8266:2: iv_ruleAParenthesizedExpression= ruleAParenthesizedExpression EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAParenthesizedExpressionRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAParenthesizedExpression=ruleAParenthesizedExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAParenthesizedExpression;
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAParenthesizedExpression"
// $ANTLR start "ruleAParenthesizedExpression"
// InternalReqSpec.g:8272:1: ruleAParenthesizedExpression returns [EObject current=null] : (otherlv_0= '(' this_AExpression_1= ruleAExpression otherlv_2= ')' ) ;
public final EObject ruleAParenthesizedExpression() throws RecognitionException {
EObject current = null;
Token otherlv_0=null;
Token otherlv_2=null;
EObject this_AExpression_1 = null;
enterRule();
try {
// InternalReqSpec.g:8278:2: ( (otherlv_0= '(' this_AExpression_1= ruleAExpression otherlv_2= ')' ) )
// InternalReqSpec.g:8279:2: (otherlv_0= '(' this_AExpression_1= ruleAExpression otherlv_2= ')' )
{
// InternalReqSpec.g:8279:2: (otherlv_0= '(' this_AExpression_1= ruleAExpression otherlv_2= ')' )
// InternalReqSpec.g:8280:3: otherlv_0= '(' this_AExpression_1= ruleAExpression otherlv_2= ')'
{
otherlv_0=(Token)match(input,52,FollowSets000.FOLLOW_62); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_0, grammarAccess.getAParenthesizedExpressionAccess().getLeftParenthesisKeyword_0());
}
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAParenthesizedExpressionAccess().getAExpressionParserRuleCall_1());
}
pushFollow(FollowSets000.FOLLOW_60);
this_AExpression_1=ruleAExpression();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current = this_AExpression_1;
afterParserOrEnumRuleCall();
}
otherlv_2=(Token)match(input,53,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
newLeafNode(otherlv_2, grammarAccess.getAParenthesizedExpressionAccess().getRightParenthesisKeyword_2());
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAParenthesizedExpression"
// $ANTLR start "entryRuleComponentCategory"
// InternalReqSpec.g:8300:1: entryRuleComponentCategory returns [String current=null] : iv_ruleComponentCategory= ruleComponentCategory EOF ;
public final String entryRuleComponentCategory() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleComponentCategory = null;
try {
// InternalReqSpec.g:8300:57: (iv_ruleComponentCategory= ruleComponentCategory EOF )
// InternalReqSpec.g:8301:2: iv_ruleComponentCategory= ruleComponentCategory EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getComponentCategoryRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleComponentCategory=ruleComponentCategory();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleComponentCategory.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleComponentCategory"
// $ANTLR start "ruleComponentCategory"
// InternalReqSpec.g:8307:1: ruleComponentCategory returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (kw= 'abstract' | kw= 'bus' | kw= 'data' | kw= 'device' | kw= 'memory' | kw= 'process' | kw= 'processor' | kw= 'subprogram' | (kw= 'subprogram' kw= 'group' ) | kw= 'system' | (kw= 'thread' kw= 'group' ) | kw= 'thread' | (kw= 'virtual' kw= 'bus' ) | (kw= 'virtual' kw= 'processor' ) ) ;
public final AntlrDatatypeRuleToken ruleComponentCategory() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:8313:2: ( (kw= 'abstract' | kw= 'bus' | kw= 'data' | kw= 'device' | kw= 'memory' | kw= 'process' | kw= 'processor' | kw= 'subprogram' | (kw= 'subprogram' kw= 'group' ) | kw= 'system' | (kw= 'thread' kw= 'group' ) | kw= 'thread' | (kw= 'virtual' kw= 'bus' ) | (kw= 'virtual' kw= 'processor' ) ) )
// InternalReqSpec.g:8314:2: (kw= 'abstract' | kw= 'bus' | kw= 'data' | kw= 'device' | kw= 'memory' | kw= 'process' | kw= 'processor' | kw= 'subprogram' | (kw= 'subprogram' kw= 'group' ) | kw= 'system' | (kw= 'thread' kw= 'group' ) | kw= 'thread' | (kw= 'virtual' kw= 'bus' ) | (kw= 'virtual' kw= 'processor' ) )
{
// InternalReqSpec.g:8314:2: (kw= 'abstract' | kw= 'bus' | kw= 'data' | kw= 'device' | kw= 'memory' | kw= 'process' | kw= 'processor' | kw= 'subprogram' | (kw= 'subprogram' kw= 'group' ) | kw= 'system' | (kw= 'thread' kw= 'group' ) | kw= 'thread' | (kw= 'virtual' kw= 'bus' ) | (kw= 'virtual' kw= 'processor' ) )
int alt169=14;
alt169 = dfa169.predict(input);
switch (alt169) {
case 1 :
// InternalReqSpec.g:8315:3: kw= 'abstract'
{
kw=(Token)match(input,108,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getAbstractKeyword_0());
}
}
break;
case 2 :
// InternalReqSpec.g:8321:3: kw= 'bus'
{
kw=(Token)match(input,109,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getBusKeyword_1());
}
}
break;
case 3 :
// InternalReqSpec.g:8327:3: kw= 'data'
{
kw=(Token)match(input,110,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getDataKeyword_2());
}
}
break;
case 4 :
// InternalReqSpec.g:8333:3: kw= 'device'
{
kw=(Token)match(input,111,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getDeviceKeyword_3());
}
}
break;
case 5 :
// InternalReqSpec.g:8339:3: kw= 'memory'
{
kw=(Token)match(input,112,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getMemoryKeyword_4());
}
}
break;
case 6 :
// InternalReqSpec.g:8345:3: kw= 'process'
{
kw=(Token)match(input,113,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getProcessKeyword_5());
}
}
break;
case 7 :
// InternalReqSpec.g:8351:3: kw= 'processor'
{
kw=(Token)match(input,114,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getProcessorKeyword_6());
}
}
break;
case 8 :
// InternalReqSpec.g:8357:3: kw= 'subprogram'
{
kw=(Token)match(input,115,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getSubprogramKeyword_7());
}
}
break;
case 9 :
// InternalReqSpec.g:8363:3: (kw= 'subprogram' kw= 'group' )
{
// InternalReqSpec.g:8363:3: (kw= 'subprogram' kw= 'group' )
// InternalReqSpec.g:8364:4: kw= 'subprogram' kw= 'group'
{
kw=(Token)match(input,115,FollowSets000.FOLLOW_99); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getSubprogramKeyword_8_0());
}
kw=(Token)match(input,116,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getGroupKeyword_8_1());
}
}
}
break;
case 10 :
// InternalReqSpec.g:8376:3: kw= 'system'
{
kw=(Token)match(input,29,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getSystemKeyword_9());
}
}
break;
case 11 :
// InternalReqSpec.g:8382:3: (kw= 'thread' kw= 'group' )
{
// InternalReqSpec.g:8382:3: (kw= 'thread' kw= 'group' )
// InternalReqSpec.g:8383:4: kw= 'thread' kw= 'group'
{
kw=(Token)match(input,117,FollowSets000.FOLLOW_99); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getThreadKeyword_10_0());
}
kw=(Token)match(input,116,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getGroupKeyword_10_1());
}
}
}
break;
case 12 :
// InternalReqSpec.g:8395:3: kw= 'thread'
{
kw=(Token)match(input,117,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getThreadKeyword_11());
}
}
break;
case 13 :
// InternalReqSpec.g:8401:3: (kw= 'virtual' kw= 'bus' )
{
// InternalReqSpec.g:8401:3: (kw= 'virtual' kw= 'bus' )
// InternalReqSpec.g:8402:4: kw= 'virtual' kw= 'bus'
{
kw=(Token)match(input,118,FollowSets000.FOLLOW_100); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getVirtualKeyword_12_0());
}
kw=(Token)match(input,109,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getBusKeyword_12_1());
}
}
}
break;
case 14 :
// InternalReqSpec.g:8414:3: (kw= 'virtual' kw= 'processor' )
{
// InternalReqSpec.g:8414:3: (kw= 'virtual' kw= 'processor' )
// InternalReqSpec.g:8415:4: kw= 'virtual' kw= 'processor'
{
kw=(Token)match(input,118,FollowSets000.FOLLOW_101); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getVirtualKeyword_13_0());
}
kw=(Token)match(input,114,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getComponentCategoryAccess().getProcessorKeyword_13_1());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleComponentCategory"
// $ANTLR start "entryRuleAadlClassifierReference"
// InternalReqSpec.g:8430:1: entryRuleAadlClassifierReference returns [String current=null] : iv_ruleAadlClassifierReference= ruleAadlClassifierReference EOF ;
public final String entryRuleAadlClassifierReference() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleAadlClassifierReference = null;
try {
// InternalReqSpec.g:8430:63: (iv_ruleAadlClassifierReference= ruleAadlClassifierReference EOF )
// InternalReqSpec.g:8431:2: iv_ruleAadlClassifierReference= ruleAadlClassifierReference EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAadlClassifierReferenceRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAadlClassifierReference=ruleAadlClassifierReference();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAadlClassifierReference.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAadlClassifierReference"
// $ANTLR start "ruleAadlClassifierReference"
// InternalReqSpec.g:8437:1: ruleAadlClassifierReference returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )+ (kw= '.' this_ID_4= RULE_ID )? ) ;
public final AntlrDatatypeRuleToken ruleAadlClassifierReference() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
Token this_ID_2=null;
Token this_ID_4=null;
enterRule();
try {
// InternalReqSpec.g:8443:2: ( (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )+ (kw= '.' this_ID_4= RULE_ID )? ) )
// InternalReqSpec.g:8444:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )+ (kw= '.' this_ID_4= RULE_ID )? )
{
// InternalReqSpec.g:8444:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )+ (kw= '.' this_ID_4= RULE_ID )? )
// InternalReqSpec.g:8445:3: this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )+ (kw= '.' this_ID_4= RULE_ID )?
{
this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_102); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getAadlClassifierReferenceAccess().getIDTerminalRuleCall_0());
}
// InternalReqSpec.g:8452:3: (kw= '::' this_ID_2= RULE_ID )+
int cnt170=0;
loop170:
do {
int alt170=2;
int LA170_0 = input.LA(1);
if ( (LA170_0==119) ) {
alt170=1;
}
switch (alt170) {
case 1 :
// InternalReqSpec.g:8453:4: kw= '::' this_ID_2= RULE_ID
{
kw=(Token)match(input,119,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getAadlClassifierReferenceAccess().getColonColonKeyword_1_0());
}
this_ID_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_103); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_2, grammarAccess.getAadlClassifierReferenceAccess().getIDTerminalRuleCall_1_1());
}
}
break;
default :
if ( cnt170 >= 1 ) break loop170;
if (state.backtracking>0) {state.failed=true; return current;}
EarlyExitException eee =
new EarlyExitException(170, input);
throw eee;
}
cnt170++;
} while (true);
// InternalReqSpec.g:8466:3: (kw= '.' this_ID_4= RULE_ID )?
int alt171=2;
int LA171_0 = input.LA(1);
if ( (LA171_0==65) ) {
alt171=1;
}
switch (alt171) {
case 1 :
// InternalReqSpec.g:8467:4: kw= '.' this_ID_4= RULE_ID
{
kw=(Token)match(input,65,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getAadlClassifierReferenceAccess().getFullStopKeyword_2_0());
}
this_ID_4=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_4);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_4, grammarAccess.getAadlClassifierReferenceAccess().getIDTerminalRuleCall_2_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAadlClassifierReference"
// $ANTLR start "entryRuleAADLPROPERTYREFERENCE"
// InternalReqSpec.g:8484:1: entryRuleAADLPROPERTYREFERENCE returns [String current=null] : iv_ruleAADLPROPERTYREFERENCE= ruleAADLPROPERTYREFERENCE EOF ;
public final String entryRuleAADLPROPERTYREFERENCE() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleAADLPROPERTYREFERENCE = null;
try {
// InternalReqSpec.g:8484:61: (iv_ruleAADLPROPERTYREFERENCE= ruleAADLPROPERTYREFERENCE EOF )
// InternalReqSpec.g:8485:2: iv_ruleAADLPROPERTYREFERENCE= ruleAADLPROPERTYREFERENCE EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getAADLPROPERTYREFERENCERule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleAADLPROPERTYREFERENCE=ruleAADLPROPERTYREFERENCE();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleAADLPROPERTYREFERENCE.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleAADLPROPERTYREFERENCE"
// $ANTLR start "ruleAADLPROPERTYREFERENCE"
// InternalReqSpec.g:8491:1: ruleAADLPROPERTYREFERENCE returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )? ) ;
public final AntlrDatatypeRuleToken ruleAADLPROPERTYREFERENCE() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
Token this_ID_2=null;
enterRule();
try {
// InternalReqSpec.g:8497:2: ( (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )? ) )
// InternalReqSpec.g:8498:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )? )
{
// InternalReqSpec.g:8498:2: (this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )? )
// InternalReqSpec.g:8499:3: this_ID_0= RULE_ID (kw= '::' this_ID_2= RULE_ID )?
{
this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_104); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getAADLPROPERTYREFERENCEAccess().getIDTerminalRuleCall_0());
}
// InternalReqSpec.g:8506:3: (kw= '::' this_ID_2= RULE_ID )?
int alt172=2;
int LA172_0 = input.LA(1);
if ( (LA172_0==119) ) {
alt172=1;
}
switch (alt172) {
case 1 :
// InternalReqSpec.g:8507:4: kw= '::' this_ID_2= RULE_ID
{
kw=(Token)match(input,119,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getAADLPROPERTYREFERENCEAccess().getColonColonKeyword_1_0());
}
this_ID_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_2, grammarAccess.getAADLPROPERTYREFERENCEAccess().getIDTerminalRuleCall_1_1());
}
}
break;
}
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleAADLPROPERTYREFERENCE"
// $ANTLR start "entryRuleQualifiedName"
// InternalReqSpec.g:8524:1: entryRuleQualifiedName returns [String current=null] : iv_ruleQualifiedName= ruleQualifiedName EOF ;
public final String entryRuleQualifiedName() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleQualifiedName = null;
try {
// InternalReqSpec.g:8524:53: (iv_ruleQualifiedName= ruleQualifiedName EOF )
// InternalReqSpec.g:8525:2: iv_ruleQualifiedName= ruleQualifiedName EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getQualifiedNameRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleQualifiedName=ruleQualifiedName();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleQualifiedName.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleQualifiedName"
// $ANTLR start "ruleQualifiedName"
// InternalReqSpec.g:8531:1: ruleQualifiedName returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
public final AntlrDatatypeRuleToken ruleQualifiedName() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token this_ID_0=null;
Token kw=null;
Token this_ID_2=null;
enterRule();
try {
// InternalReqSpec.g:8537:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
// InternalReqSpec.g:8538:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
{
// InternalReqSpec.g:8538:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
// InternalReqSpec.g:8539:3: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
{
this_ID_0=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_0);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_0, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_0());
}
// InternalReqSpec.g:8546:3: (kw= '.' this_ID_2= RULE_ID )*
loop173:
do {
int alt173=2;
int LA173_0 = input.LA(1);
if ( (LA173_0==65) ) {
alt173=1;
}
switch (alt173) {
case 1 :
// InternalReqSpec.g:8547:4: kw= '.' this_ID_2= RULE_ID
{
kw=(Token)match(input,65,FollowSets000.FOLLOW_4); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedNameAccess().getFullStopKeyword_1_0());
}
this_ID_2=(Token)match(input,RULE_ID,FollowSets000.FOLLOW_83); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(this_ID_2);
}
if ( state.backtracking==0 ) {
newLeafNode(this_ID_2, grammarAccess.getQualifiedNameAccess().getIDTerminalRuleCall_1_1());
}
}
break;
default :
break loop173;
}
} while (true);
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleQualifiedName"
// $ANTLR start "entryRuleThisKeyword"
// InternalReqSpec.g:8564:1: entryRuleThisKeyword returns [String current=null] : iv_ruleThisKeyword= ruleThisKeyword EOF ;
public final String entryRuleThisKeyword() throws RecognitionException {
String current = null;
AntlrDatatypeRuleToken iv_ruleThisKeyword = null;
try {
// InternalReqSpec.g:8564:51: (iv_ruleThisKeyword= ruleThisKeyword EOF )
// InternalReqSpec.g:8565:2: iv_ruleThisKeyword= ruleThisKeyword EOF
{
if ( state.backtracking==0 ) {
newCompositeNode(grammarAccess.getThisKeywordRule());
}
pushFollow(FollowSets000.FOLLOW_1);
iv_ruleThisKeyword=ruleThisKeyword();
state._fsp--;
if (state.failed) return current;
if ( state.backtracking==0 ) {
current =iv_ruleThisKeyword.getText();
}
match(input,EOF,FollowSets000.FOLLOW_2); if (state.failed) return current;
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "entryRuleThisKeyword"
// $ANTLR start "ruleThisKeyword"
// InternalReqSpec.g:8571:1: ruleThisKeyword returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : kw= 'this' ;
public final AntlrDatatypeRuleToken ruleThisKeyword() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
Token kw=null;
enterRule();
try {
// InternalReqSpec.g:8577:2: (kw= 'this' )
// InternalReqSpec.g:8578:2: kw= 'this'
{
kw=(Token)match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current.merge(kw);
newLeafNode(kw, grammarAccess.getThisKeywordAccess().getThisKeyword());
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleThisKeyword"
// $ANTLR start "ruleTargetType"
// InternalReqSpec.g:8586:1: ruleTargetType returns [Enumerator current=null] : ( (enumLiteral_0= 'component' ) | (enumLiteral_1= 'feature' ) | (enumLiteral_2= 'connection' ) | (enumLiteral_3= 'flow' ) | (enumLiteral_4= 'mode' ) | (enumLiteral_5= 'element' ) | (enumLiteral_6= 'root' ) ) ;
public final Enumerator ruleTargetType() 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;
enterRule();
try {
// InternalReqSpec.g:8592:2: ( ( (enumLiteral_0= 'component' ) | (enumLiteral_1= 'feature' ) | (enumLiteral_2= 'connection' ) | (enumLiteral_3= 'flow' ) | (enumLiteral_4= 'mode' ) | (enumLiteral_5= 'element' ) | (enumLiteral_6= 'root' ) ) )
// InternalReqSpec.g:8593:2: ( (enumLiteral_0= 'component' ) | (enumLiteral_1= 'feature' ) | (enumLiteral_2= 'connection' ) | (enumLiteral_3= 'flow' ) | (enumLiteral_4= 'mode' ) | (enumLiteral_5= 'element' ) | (enumLiteral_6= 'root' ) )
{
// InternalReqSpec.g:8593:2: ( (enumLiteral_0= 'component' ) | (enumLiteral_1= 'feature' ) | (enumLiteral_2= 'connection' ) | (enumLiteral_3= 'flow' ) | (enumLiteral_4= 'mode' ) | (enumLiteral_5= 'element' ) | (enumLiteral_6= 'root' ) )
int alt174=7;
switch ( input.LA(1) ) {
case 120:
{
alt174=1;
}
break;
case 121:
{
alt174=2;
}
break;
case 122:
{
alt174=3;
}
break;
case 123:
{
alt174=4;
}
break;
case 48:
{
alt174=5;
}
break;
case 79:
{
alt174=6;
}
break;
case 124:
{
alt174=7;
}
break;
default:
if (state.backtracking>0) {state.failed=true; return current;}
NoViableAltException nvae =
new NoViableAltException("", 174, 0, input);
throw nvae;
}
switch (alt174) {
case 1 :
// InternalReqSpec.g:8594:3: (enumLiteral_0= 'component' )
{
// InternalReqSpec.g:8594:3: (enumLiteral_0= 'component' )
// InternalReqSpec.g:8595:4: enumLiteral_0= 'component'
{
enumLiteral_0=(Token)match(input,120,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getCOMPONENTEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getTargetTypeAccess().getCOMPONENTEnumLiteralDeclaration_0());
}
}
}
break;
case 2 :
// InternalReqSpec.g:8602:3: (enumLiteral_1= 'feature' )
{
// InternalReqSpec.g:8602:3: (enumLiteral_1= 'feature' )
// InternalReqSpec.g:8603:4: enumLiteral_1= 'feature'
{
enumLiteral_1=(Token)match(input,121,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getFEATUREEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getTargetTypeAccess().getFEATUREEnumLiteralDeclaration_1());
}
}
}
break;
case 3 :
// InternalReqSpec.g:8610:3: (enumLiteral_2= 'connection' )
{
// InternalReqSpec.g:8610:3: (enumLiteral_2= 'connection' )
// InternalReqSpec.g:8611:4: enumLiteral_2= 'connection'
{
enumLiteral_2=(Token)match(input,122,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getCONNECTIONEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getTargetTypeAccess().getCONNECTIONEnumLiteralDeclaration_2());
}
}
}
break;
case 4 :
// InternalReqSpec.g:8618:3: (enumLiteral_3= 'flow' )
{
// InternalReqSpec.g:8618:3: (enumLiteral_3= 'flow' )
// InternalReqSpec.g:8619:4: enumLiteral_3= 'flow'
{
enumLiteral_3=(Token)match(input,123,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getFLOWEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getTargetTypeAccess().getFLOWEnumLiteralDeclaration_3());
}
}
}
break;
case 5 :
// InternalReqSpec.g:8626:3: (enumLiteral_4= 'mode' )
{
// InternalReqSpec.g:8626:3: (enumLiteral_4= 'mode' )
// InternalReqSpec.g:8627:4: enumLiteral_4= 'mode'
{
enumLiteral_4=(Token)match(input,48,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getMODEEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getTargetTypeAccess().getMODEEnumLiteralDeclaration_4());
}
}
}
break;
case 6 :
// InternalReqSpec.g:8634:3: (enumLiteral_5= 'element' )
{
// InternalReqSpec.g:8634:3: (enumLiteral_5= 'element' )
// InternalReqSpec.g:8635:4: enumLiteral_5= 'element'
{
enumLiteral_5=(Token)match(input,79,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getELEMENTEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getTargetTypeAccess().getELEMENTEnumLiteralDeclaration_5());
}
}
}
break;
case 7 :
// InternalReqSpec.g:8642:3: (enumLiteral_6= 'root' )
{
// InternalReqSpec.g:8642:3: (enumLiteral_6= 'root' )
// InternalReqSpec.g:8643:4: enumLiteral_6= 'root'
{
enumLiteral_6=(Token)match(input,124,FollowSets000.FOLLOW_2); if (state.failed) return current;
if ( state.backtracking==0 ) {
current = grammarAccess.getTargetTypeAccess().getROOTEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getTargetTypeAccess().getROOTEnumLiteralDeclaration_6());
}
}
}
break;
}
}
if ( state.backtracking==0 ) {
leaveRule();
}
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
}
return current;
}
// $ANTLR end "ruleTargetType"
// $ANTLR start synpred1_InternalReqSpec
public final void synpred1_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:5611:4: ( ( 'this' ) )
// InternalReqSpec.g:5611:5: ( 'this' )
{
// InternalReqSpec.g:5611:5: ( 'this' )
// InternalReqSpec.g:5612:5: 'this'
{
match(input,67,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred1_InternalReqSpec
// $ANTLR start synpred2_InternalReqSpec
public final void synpred2_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:5630:4: ( ( ruleImageReference ) )
// InternalReqSpec.g:5630:5: ( ruleImageReference )
{
// InternalReqSpec.g:5630:5: ( ruleImageReference )
// InternalReqSpec.g:5631:5: ruleImageReference
{
pushFollow(FollowSets000.FOLLOW_2);
ruleImageReference();
state._fsp--;
if (state.failed) return ;
}
}
}
// $ANTLR end synpred2_InternalReqSpec
// $ANTLR start synpred3_InternalReqSpec
public final void synpred3_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:6266:6: ( ( () '#' ) )
// InternalReqSpec.g:6266:7: ( () '#' )
{
// InternalReqSpec.g:6266:7: ( () '#' )
// InternalReqSpec.g:6267:7: () '#'
{
// InternalReqSpec.g:6267:7: ()
// InternalReqSpec.g:6268:7:
{
}
match(input,59,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
}
// $ANTLR end synpred3_InternalReqSpec
// $ANTLR start synpred4_InternalReqSpec
public final void synpred4_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:6691:5: ( ( () ( ( ruleOpOr ) ) ) )
// InternalReqSpec.g:6691:6: ( () ( ( ruleOpOr ) ) )
{
// InternalReqSpec.g:6691:6: ( () ( ( ruleOpOr ) ) )
// InternalReqSpec.g:6692:6: () ( ( ruleOpOr ) )
{
// InternalReqSpec.g:6692:6: ()
// InternalReqSpec.g:6693:6:
{
}
// InternalReqSpec.g:6694:6: ( ( ruleOpOr ) )
// InternalReqSpec.g:6695:7: ( ruleOpOr )
{
// InternalReqSpec.g:6695:7: ( ruleOpOr )
// InternalReqSpec.g:6696:8: ruleOpOr
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpOr();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred4_InternalReqSpec
// $ANTLR start synpred5_InternalReqSpec
public final void synpred5_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:6809:5: ( ( () ( ( ruleOpAnd ) ) ) )
// InternalReqSpec.g:6809:6: ( () ( ( ruleOpAnd ) ) )
{
// InternalReqSpec.g:6809:6: ( () ( ( ruleOpAnd ) ) )
// InternalReqSpec.g:6810:6: () ( ( ruleOpAnd ) )
{
// InternalReqSpec.g:6810:6: ()
// InternalReqSpec.g:6811:6:
{
}
// InternalReqSpec.g:6812:6: ( ( ruleOpAnd ) )
// InternalReqSpec.g:6813:7: ( ruleOpAnd )
{
// InternalReqSpec.g:6813:7: ( ruleOpAnd )
// InternalReqSpec.g:6814:8: ruleOpAnd
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpAnd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred5_InternalReqSpec
// $ANTLR start synpred6_InternalReqSpec
public final void synpred6_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:6927:5: ( ( () ( ( ruleOpEquality ) ) ) )
// InternalReqSpec.g:6927:6: ( () ( ( ruleOpEquality ) ) )
{
// InternalReqSpec.g:6927:6: ( () ( ( ruleOpEquality ) ) )
// InternalReqSpec.g:6928:6: () ( ( ruleOpEquality ) )
{
// InternalReqSpec.g:6928:6: ()
// InternalReqSpec.g:6929:6:
{
}
// InternalReqSpec.g:6930:6: ( ( ruleOpEquality ) )
// InternalReqSpec.g:6931:7: ( ruleOpEquality )
{
// InternalReqSpec.g:6931:7: ( ruleOpEquality )
// InternalReqSpec.g:6932:8: ruleOpEquality
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpEquality();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred6_InternalReqSpec
// $ANTLR start synpred7_InternalReqSpec
public final void synpred7_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:7045:5: ( ( () ( ( ruleOpCompare ) ) ) )
// InternalReqSpec.g:7045:6: ( () ( ( ruleOpCompare ) ) )
{
// InternalReqSpec.g:7045:6: ( () ( ( ruleOpCompare ) ) )
// InternalReqSpec.g:7046:6: () ( ( ruleOpCompare ) )
{
// InternalReqSpec.g:7046:6: ()
// InternalReqSpec.g:7047:6:
{
}
// InternalReqSpec.g:7048:6: ( ( ruleOpCompare ) )
// InternalReqSpec.g:7049:7: ( ruleOpCompare )
{
// InternalReqSpec.g:7049:7: ( ruleOpCompare )
// InternalReqSpec.g:7050:8: ruleOpCompare
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpCompare();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred7_InternalReqSpec
// $ANTLR start synpred8_InternalReqSpec
public final void synpred8_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:7181:5: ( ( () ( ( ruleOpAdd ) ) ) )
// InternalReqSpec.g:7181:6: ( () ( ( ruleOpAdd ) ) )
{
// InternalReqSpec.g:7181:6: ( () ( ( ruleOpAdd ) ) )
// InternalReqSpec.g:7182:6: () ( ( ruleOpAdd ) )
{
// InternalReqSpec.g:7182:6: ()
// InternalReqSpec.g:7183:6:
{
}
// InternalReqSpec.g:7184:6: ( ( ruleOpAdd ) )
// InternalReqSpec.g:7185:7: ( ruleOpAdd )
{
// InternalReqSpec.g:7185:7: ( ruleOpAdd )
// InternalReqSpec.g:7186:8: ruleOpAdd
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpAdd();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred8_InternalReqSpec
// $ANTLR start synpred9_InternalReqSpec
public final void synpred9_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:7299:5: ( ( () ( ( ruleOpMulti ) ) ) )
// InternalReqSpec.g:7299:6: ( () ( ( ruleOpMulti ) ) )
{
// InternalReqSpec.g:7299:6: ( () ( ( ruleOpMulti ) ) )
// InternalReqSpec.g:7300:6: () ( ( ruleOpMulti ) )
{
// InternalReqSpec.g:7300:6: ()
// InternalReqSpec.g:7301:6:
{
}
// InternalReqSpec.g:7302:6: ( ( ruleOpMulti ) )
// InternalReqSpec.g:7303:7: ( ruleOpMulti )
{
// InternalReqSpec.g:7303:7: ( ruleOpMulti )
// InternalReqSpec.g:7304:8: ruleOpMulti
{
pushFollow(FollowSets000.FOLLOW_2);
ruleOpMulti();
state._fsp--;
if (state.failed) return ;
}
}
}
}
}
// $ANTLR end synpred9_InternalReqSpec
// $ANTLR start synpred11_InternalReqSpec
public final void synpred11_InternalReqSpec_fragment() throws RecognitionException {
// InternalReqSpec.g:7849:5: ( 'delta' )
// InternalReqSpec.g:7849:6: 'delta'
{
match(input,101,FollowSets000.FOLLOW_2); if (state.failed) return ;
}
}
// $ANTLR end synpred11_InternalReqSpec
// Delegated rules
public final boolean synpred7_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred7_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred9_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred9_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred11_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred11_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred3_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred3_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred4_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred4_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred8_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred8_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred1_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred1_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred6_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred6_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred5_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred5_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
public final boolean synpred2_InternalReqSpec() {
state.backtracking++;
int start = input.mark();
try {
synpred2_InternalReqSpec_fragment(); // can never throw exception
} catch (RecognitionException re) {
System.err.println("impossible: "+re);
}
boolean success = !state.failed;
input.rewind(start);
state.backtracking--;
state.failed=false;
return success;
}
protected DFA31 dfa31 = new DFA31(this);
protected DFA38 dfa38 = new DFA38(this);
protected DFA52 dfa52 = new DFA52(this);
protected DFA65 dfa65 = new DFA65(this);
protected DFA79 dfa79 = new DFA79(this);
protected DFA97 dfa97 = new DFA97(this);
protected DFA115 dfa115 = new DFA115(this);
protected DFA169 dfa169 = new DFA169(this);
static final String dfa_1s = "\13\uffff";
static final String dfa_2s = "\1\23\6\uffff\1\25\3\uffff";
static final String dfa_3s = "\1\120\6\uffff\1\32\3\uffff";
static final String dfa_4s = "\1\uffff\1\11\1\1\1\2\1\3\1\4\1\5\1\uffff\1\10\1\6\1\7";
static final String dfa_5s = "\13\uffff}>";
static final String[] dfa_6s = {
"\1\1\5\uffff\1\7\1\uffff\1\10\13\uffff\1\5\4\uffff\1\6\17\uffff\1\3\5\uffff\1\2\15\uffff\1\4",
"",
"",
"",
"",
"",
"",
"\1\12\4\uffff\1\11",
"",
"",
""
};
static final short[] dfa_1 = DFA.unpackEncodedString(dfa_1s);
static final char[] dfa_2 = DFA.unpackEncodedStringToUnsignedChars(dfa_2s);
static final char[] dfa_3 = DFA.unpackEncodedStringToUnsignedChars(dfa_3s);
static final short[] dfa_4 = DFA.unpackEncodedString(dfa_4s);
static final short[] dfa_5 = DFA.unpackEncodedString(dfa_5s);
static final short[][] dfa_6 = unpackEncodedStringArray(dfa_6s);
class DFA31 extends DFA {
public DFA31(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 31;
this.eot = dfa_1;
this.eof = dfa_1;
this.min = dfa_2;
this.max = dfa_3;
this.accept = dfa_4;
this.special = dfa_5;
this.transition = dfa_6;
}
public String getDescription() {
return "()* loopback of 1145:3: ( ( (lv_description_12_0= ruleDescription ) ) | ( (lv_constants_13_0= ruleValDeclaration ) ) | ( (lv_computes_14_0= ruleComputeDeclaration ) ) | ( (lv_requirements_15_0= ruleSystemRequirement ) ) | ( (lv_include_16_0= ruleIncludeGlobalRequirement ) ) | (otherlv_17= 'see' otherlv_18= 'document' ( (lv_docReference_19_0= ruleExternalDocument ) )+ ) | (otherlv_20= 'see' otherlv_21= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_23= 'issues' ( (lv_issues_24_0= RULE_STRING ) )+ ) )*";
}
}
static final String dfa_7s = "\12\uffff";
static final String dfa_8s = "\1\23\5\uffff\1\25\3\uffff";
static final String dfa_9s = "\1\120\5\uffff\1\32\3\uffff";
static final String dfa_10s = "\1\uffff\1\10\1\1\1\2\1\3\1\4\1\uffff\1\7\1\6\1\5";
static final String dfa_11s = "\12\uffff}>";
static final String[] dfa_12s = {
"\1\1\5\uffff\1\6\1\uffff\1\7\13\uffff\1\5\24\uffff\1\3\5\uffff\1\2\15\uffff\1\4",
"",
"",
"",
"",
"",
"\1\10\4\uffff\1\11",
"",
"",
""
};
static final short[] dfa_7 = DFA.unpackEncodedString(dfa_7s);
static final char[] dfa_8 = DFA.unpackEncodedStringToUnsignedChars(dfa_8s);
static final char[] dfa_9 = DFA.unpackEncodedStringToUnsignedChars(dfa_9s);
static final short[] dfa_10 = DFA.unpackEncodedString(dfa_10s);
static final short[] dfa_11 = DFA.unpackEncodedString(dfa_11s);
static final short[][] dfa_12 = unpackEncodedStringArray(dfa_12s);
class DFA38 extends DFA {
public DFA38(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 38;
this.eot = dfa_7;
this.eof = dfa_7;
this.min = dfa_8;
this.max = dfa_9;
this.accept = dfa_10;
this.special = dfa_11;
this.transition = dfa_12;
}
public String getDescription() {
return "()* loopback of 1439:3: ( ( (lv_description_10_0= ruleDescription ) ) | ( (lv_constants_11_0= ruleValDeclaration ) ) | ( (lv_computes_12_0= ruleComputeDeclaration ) ) | ( (lv_requirements_13_0= ruleGlobalRequirement ) ) | (otherlv_14= 'see' otherlv_15= 'document' ( (lv_docReference_16_0= ruleExternalDocument ) )+ ) | (otherlv_17= 'see' otherlv_18= 'goals' ( ( ruleQualifiedName ) )+ ) | (otherlv_20= 'issues' ( (lv_issues_21_0= RULE_STRING ) )+ ) )*";
}
}
static final String dfa_13s = "\17\uffff";
static final String dfa_14s = "\1\23\16\uffff";
static final String dfa_15s = "\1\105\16\uffff";
static final String dfa_16s = "\1\uffff\1\16\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15";
static final String dfa_17s = "\1\0\16\uffff}>";
static final String[] dfa_18s = {
"\1\1\1\14\4\uffff\1\15\1\uffff\1\16\5\uffff\1\2\1\10\1\11\1\uffff\1\12\1\13\7\uffff\1\5\15\uffff\1\4\5\uffff\1\3\1\uffff\1\6\1\7",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_13 = DFA.unpackEncodedString(dfa_13s);
static final char[] dfa_14 = DFA.unpackEncodedStringToUnsignedChars(dfa_14s);
static final char[] dfa_15 = DFA.unpackEncodedStringToUnsignedChars(dfa_15s);
static final short[] dfa_16 = DFA.unpackEncodedString(dfa_16s);
static final short[] dfa_17 = DFA.unpackEncodedString(dfa_17s);
static final short[][] dfa_18 = unpackEncodedStringArray(dfa_18s);
class DFA52 extends DFA {
public DFA52(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 52;
this.eot = dfa_13;
this.eof = dfa_13;
this.min = dfa_14;
this.max = dfa_15;
this.accept = dfa_16;
this.special = dfa_17;
this.transition = dfa_18;
}
public String getDescription() {
return "()* loopback of 1739:6: ( ({...}? => ( ({...}? => (otherlv_10= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_12_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_13_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_15_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_16_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_19= 'conflicts' otherlv_20= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_22= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_24_0= 'dropped' ) ) ( (lv_dropRationale_25_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_28= 'see' otherlv_29= 'document' ( (lv_docReference_30_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_31= 'issues' ( (lv_issues_32_0= RULE_STRING ) )+ ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA52_0 = input.LA(1);
int index52_0 = input.index();
input.rewind();
s = -1;
if ( (LA52_0==19) ) {s = 1;}
else if ( LA52_0 == 33 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 0) ) {s = 2;}
else if ( LA52_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
else if ( LA52_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
else if ( LA52_0 == 46 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 3) ) {s = 5;}
else if ( LA52_0 == 68 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 4) ) {s = 6;}
else if ( LA52_0 == 69 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 5) ) {s = 7;}
else if ( LA52_0 == 34 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 6) ) {s = 8;}
else if ( LA52_0 == 35 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 7) ) {s = 9;}
else if ( LA52_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 8) ) {s = 10;}
else if ( LA52_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 9) ) {s = 11;}
else if ( LA52_0 == 20 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 10) ) {s = 12;}
else if ( LA52_0 == 25 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 11) ) {s = 13;}
else if ( LA52_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocGoalAccess().getUnorderedGroup_5(), 12) ) {s = 14;}
input.seek(index52_0);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 52, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_19s = "\21\uffff";
static final String dfa_20s = "\1\23\14\uffff\1\32\3\uffff";
static final String dfa_21s = "\1\105\14\uffff\1\40\3\uffff";
static final String dfa_22s = "\1\uffff\1\17\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\uffff\1\16\1\14\1\15";
static final String dfa_23s = "\1\0\14\uffff\1\1\3\uffff}>";
static final String[] dfa_24s = {
"\1\1\1\14\4\uffff\1\15\1\uffff\1\16\5\uffff\1\2\1\10\1\11\1\uffff\1\12\1\13\7\uffff\1\5\15\uffff\1\4\5\uffff\1\3\1\uffff\1\6\1\7",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\20\5\uffff\1\17",
"",
"",
""
};
static final short[] dfa_19 = DFA.unpackEncodedString(dfa_19s);
static final char[] dfa_20 = DFA.unpackEncodedStringToUnsignedChars(dfa_20s);
static final char[] dfa_21 = DFA.unpackEncodedStringToUnsignedChars(dfa_21s);
static final short[] dfa_22 = DFA.unpackEncodedString(dfa_22s);
static final short[] dfa_23 = DFA.unpackEncodedString(dfa_23s);
static final short[][] dfa_24 = unpackEncodedStringArray(dfa_24s);
class DFA65 extends DFA {
public DFA65(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 65;
this.eot = dfa_19;
this.eof = dfa_19;
this.min = dfa_20;
this.max = dfa_21;
this.accept = dfa_22;
this.special = dfa_23;
this.transition = dfa_24;
}
public String getDescription() {
return "()* loopback of 2258:6: ( ({...}? => ( ({...}? => (otherlv_8= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_10_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_11_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_12_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_13_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_14_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_15= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_17= 'conflicts' otherlv_18= 'with' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_22_0= 'dropped' ) ) ( (lv_dropRationale_23_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_24= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_26= 'see' otherlv_27= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'see' otherlv_30= 'document' ( (lv_docReference_31_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'issues' ( (lv_issues_33_0= RULE_STRING ) )+ ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA65_0 = input.LA(1);
int index65_0 = input.index();
input.rewind();
s = -1;
if ( (LA65_0==19) ) {s = 1;}
else if ( LA65_0 == 33 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 0) ) {s = 2;}
else if ( LA65_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
else if ( LA65_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
else if ( LA65_0 == 46 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 3) ) {s = 5;}
else if ( LA65_0 == 68 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 4) ) {s = 6;}
else if ( LA65_0 == 69 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 5) ) {s = 7;}
else if ( LA65_0 == 34 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 6) ) {s = 8;}
else if ( LA65_0 == 35 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 7) ) {s = 9;}
else if ( LA65_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 8) ) {s = 10;}
else if ( LA65_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 9) ) {s = 11;}
else if ( LA65_0 == 20 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 10) ) {s = 12;}
else if ( LA65_0 == 25 && ( getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 12) || getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 11) ) ) {s = 13;}
else if ( LA65_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 13) ) {s = 14;}
input.seek(index65_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA65_13 = input.LA(1);
int index65_13 = input.index();
input.rewind();
s = -1;
if ( LA65_13 == 32 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 11) ) {s = 15;}
else if ( LA65_13 == 26 && getUnorderedGroupHelper().canSelect(grammarAccess.getGoalAccess().getUnorderedGroup_5(), 12) ) {s = 16;}
input.seek(index65_13);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 65, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_25s = "\26\uffff";
static final String dfa_26s = "\1\23\20\uffff\1\32\4\uffff";
static final String dfa_27s = "\1\120\20\uffff\1\47\4\uffff";
static final String dfa_28s = "\1\uffff\1\24\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\uffff\1\23\1\22\1\20\1\21";
static final String dfa_29s = "\26\uffff}>";
static final String[] dfa_30s = {
"\1\1\5\uffff\1\21\1\uffff\1\22\5\uffff\1\2\1\15\2\uffff\1\17\1\12\1\uffff\1\10\1\11\1\16\1\20\2\uffff\1\4\7\uffff\1\5\1\uffff\1\5\3\uffff\1\13\5\uffff\1\3\1\uffff\1\6\1\7\12\uffff\1\14",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\23\5\uffff\1\24\6\uffff\1\25",
"",
"",
"",
""
};
static final short[] dfa_25 = DFA.unpackEncodedString(dfa_25s);
static final char[] dfa_26 = DFA.unpackEncodedStringToUnsignedChars(dfa_26s);
static final char[] dfa_27 = DFA.unpackEncodedStringToUnsignedChars(dfa_27s);
static final short[] dfa_28 = DFA.unpackEncodedString(dfa_28s);
static final short[] dfa_29 = DFA.unpackEncodedString(dfa_29s);
static final short[][] dfa_30 = unpackEncodedStringArray(dfa_30s);
class DFA79 extends DFA {
public DFA79(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 79;
this.eot = dfa_25;
this.eof = dfa_25;
this.min = dfa_26;
this.max = dfa_27;
this.accept = dfa_28;
this.special = dfa_29;
this.transition = dfa_30;
}
public String getDescription() {
return "()* loopback of 2806:3: ( (otherlv_7= 'category' ( ( ruleQualifiedName ) )+ ) | ( (lv_description_9_0= ruleDescription ) ) | ( (lv_whencondition_10_0= ruleWhenCondition ) ) | ( (lv_predicate_11_0= ruleReqPredicate ) ) | ( (lv_rationale_12_0= ruleRationale ) ) | ( (lv_changeUncertainty_13_0= ruleUncertainty ) ) | (otherlv_14= 'mitigates' ( ( (otherlv_15= RULE_ID ) ) | ( (lv_exceptionText_16_0= RULE_STRING ) ) ) ) | (otherlv_17= 'inherits' ( ( ruleQualifiedName ) ) ) | ( ( (lv_dropped_19_0= 'dropped' ) ) ( (lv_dropRationale_20_0= RULE_STRING ) )? ) | ( (lv_constants_21_0= ruleValDeclaration ) ) | ( (lv_computes_22_0= ruleComputeDeclaration ) ) | (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) | (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) | (otherlv_27= 'evolves' ( ( ruleQualifiedName ) )+ ) | (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) | (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) | (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) | (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) | (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) )*";
}
}
static final String dfa_31s = "\25\uffff";
static final String dfa_32s = "\1\23\17\uffff\1\32\4\uffff";
static final String dfa_33s = "\1\120\17\uffff\1\47\4\uffff";
static final String dfa_34s = "\1\uffff\1\23\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\uffff\1\22\1\17\1\20\1\21";
static final String dfa_35s = "\1\0\17\uffff\1\1\4\uffff}>";
static final String[] dfa_36s = {
"\1\1\5\uffff\1\20\1\uffff\1\21\5\uffff\1\2\1\13\2\uffff\1\15\1\16\1\uffff\1\12\1\uffff\1\14\1\17\2\uffff\1\6\7\uffff\1\7\1\uffff\1\7\3\uffff\1\4\5\uffff\1\3\1\uffff\1\10\1\11\12\uffff\1\5",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\24\5\uffff\1\22\6\uffff\1\23",
"",
"",
"",
""
};
static final short[] dfa_31 = DFA.unpackEncodedString(dfa_31s);
static final char[] dfa_32 = DFA.unpackEncodedStringToUnsignedChars(dfa_32s);
static final char[] dfa_33 = DFA.unpackEncodedStringToUnsignedChars(dfa_33s);
static final short[] dfa_34 = DFA.unpackEncodedString(dfa_34s);
static final short[] dfa_35 = DFA.unpackEncodedString(dfa_35s);
static final short[][] dfa_36 = unpackEncodedStringArray(dfa_36s);
class DFA97 extends DFA {
public DFA97(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 97;
this.eot = dfa_31;
this.eof = dfa_31;
this.min = dfa_32;
this.max = dfa_33;
this.accept = dfa_34;
this.special = dfa_35;
this.transition = dfa_36;
}
public String getDescription() {
return "()* loopback of 3400:6: ( ({...}? => ( ({...}? => (otherlv_9= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_11_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_12_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_13_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_14_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_15_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_16_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_17_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_18= 'mitigates' ( ( (otherlv_19= RULE_ID ) ) | ( (lv_exceptionText_20_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_21= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_27_0= 'dropped' ) ) ( (lv_dropRationale_28_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'development' otherlv_30= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_32= 'see' otherlv_33= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_35= 'see' otherlv_36= 'requirement' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_38= 'see' otherlv_39= 'document' ( (lv_docReference_40_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_41= 'issues' ( (lv_issues_42_0= RULE_STRING ) )+ ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA97_0 = input.LA(1);
int index97_0 = input.index();
input.rewind();
s = -1;
if ( (LA97_0==19) ) {s = 1;}
else if ( LA97_0 == 33 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 0) ) {s = 2;}
else if ( LA97_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
else if ( LA97_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
else if ( LA97_0 == 80 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 3) ) {s = 5;}
else if ( LA97_0 == 46 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 4) ) {s = 6;}
else if ( ( LA97_0 == 54 || LA97_0 == 56 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 5) ) {s = 7;}
else if ( LA97_0 == 68 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 6) ) {s = 8;}
else if ( LA97_0 == 69 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 7) ) {s = 9;}
else if ( LA97_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 8) ) {s = 10;}
else if ( LA97_0 == 34 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 9) ) {s = 11;}
else if ( LA97_0 == 42 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 10) ) {s = 12;}
else if ( LA97_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 11) ) {s = 13;}
else if ( LA97_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 12) ) {s = 14;}
else if ( LA97_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 13) ) {s = 15;}
else if ( LA97_0 == 25 && ( getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 14) || getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 15) || getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 16) ) ) {s = 16;}
else if ( LA97_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 17) ) {s = 17;}
input.seek(index97_0);
if ( s>=0 ) return s;
break;
case 1 :
int LA97_16 = input.LA(1);
int index97_16 = input.index();
input.rewind();
s = -1;
if ( LA97_16 == 32 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 14) ) {s = 18;}
else if ( LA97_16 == 39 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 15) ) {s = 19;}
else if ( LA97_16 == 26 && getUnorderedGroupHelper().canSelect(grammarAccess.getGlobalRequirementAccess().getUnorderedGroup_5(), 16) ) {s = 20;}
input.seek(index97_16);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 97, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_37s = "\1\23\20\uffff\1\32\3\uffff";
static final String dfa_38s = "\1\120\20\uffff\1\40\3\uffff";
static final String dfa_39s = "\1\uffff\1\23\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\16\1\17\1\uffff\1\22\1\20\1\21";
static final String dfa_40s = "\1\1\20\uffff\1\0\3\uffff}>";
static final String[] dfa_41s = {
"\1\1\5\uffff\1\21\1\uffff\1\22\5\uffff\1\2\1\13\2\uffff\1\16\1\17\1\uffff\1\12\1\15\1\14\1\20\2\uffff\1\6\7\uffff\1\7\1\uffff\1\7\3\uffff\1\4\5\uffff\1\3\1\uffff\1\10\1\11\12\uffff\1\5",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"",
"\1\24\5\uffff\1\23",
"",
"",
""
};
static final char[] dfa_37 = DFA.unpackEncodedStringToUnsignedChars(dfa_37s);
static final char[] dfa_38 = DFA.unpackEncodedStringToUnsignedChars(dfa_38s);
static final short[] dfa_39 = DFA.unpackEncodedString(dfa_39s);
static final short[] dfa_40 = DFA.unpackEncodedString(dfa_40s);
static final short[][] dfa_41 = unpackEncodedStringArray(dfa_41s);
class DFA115 extends DFA {
public DFA115(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 115;
this.eot = dfa_31;
this.eof = dfa_31;
this.min = dfa_37;
this.max = dfa_38;
this.accept = dfa_39;
this.special = dfa_40;
this.transition = dfa_41;
}
public String getDescription() {
return "()* loopback of 4153:6: ( ({...}? => ( ({...}? => (otherlv_11= 'category' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( (lv_description_13_0= ruleDescription ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_constants_14_0= ruleValDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_computes_15_0= ruleComputeDeclaration ) ) )+ ) ) | ({...}? => ( ({...}? => ( (lv_whencondition_16_0= ruleWhenCondition ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_predicate_17_0= ruleReqPredicate ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_rationale_18_0= ruleRationale ) ) ) ) ) | ({...}? => ( ({...}? => ( (lv_changeUncertainty_19_0= ruleUncertainty ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_20= 'mitigates' ( ( (otherlv_21= RULE_ID ) ) | ( (lv_exceptionText_22_0= RULE_STRING ) ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_23= 'refines' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_25= 'decomposes' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_27= 'inherits' ( ( ruleQualifiedName ) ) ) ) ) ) | ({...}? => ( ({...}? => (otherlv_29= 'evolves' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => ( ( (lv_dropped_31_0= 'dropped' ) ) ( (lv_dropRationale_32_0= RULE_STRING ) )? ) ) ) ) | ({...}? => ( ({...}? => (otherlv_33= 'development' otherlv_34= 'stakeholder' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_36= 'see' otherlv_37= 'goal' ( ( ruleQualifiedName ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_39= 'see' otherlv_40= 'document' ( (lv_docReference_41_0= ruleExternalDocument ) )+ ) ) ) ) | ({...}? => ( ({...}? => (otherlv_42= 'issues' ( (lv_issues_43_0= RULE_STRING ) )+ ) ) ) ) )*";
}
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
TokenStream input = (TokenStream)_input;
int _s = s;
switch ( s ) {
case 0 :
int LA115_17 = input.LA(1);
int index115_17 = input.index();
input.rewind();
s = -1;
if ( LA115_17 == 32 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 15) ) {s = 19;}
else if ( LA115_17 == 26 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 16) ) {s = 20;}
input.seek(index115_17);
if ( s>=0 ) return s;
break;
case 1 :
int LA115_0 = input.LA(1);
int index115_0 = input.index();
input.rewind();
s = -1;
if ( (LA115_0==19) ) {s = 1;}
else if ( LA115_0 == 33 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 0) ) {s = 2;}
else if ( LA115_0 == 66 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 1) ) {s = 3;}
else if ( LA115_0 == 60 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 2) ) {s = 4;}
else if ( LA115_0 == 80 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 3) ) {s = 5;}
else if ( LA115_0 == 46 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 4) ) {s = 6;}
else if ( ( LA115_0 == 54 || LA115_0 == 56 ) && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 5) ) {s = 7;}
else if ( LA115_0 == 68 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 6) ) {s = 8;}
else if ( LA115_0 == 69 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 7) ) {s = 9;}
else if ( LA115_0 == 40 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 8) ) {s = 10;}
else if ( LA115_0 == 34 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 9) ) {s = 11;}
else if ( LA115_0 == 42 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 10) ) {s = 12;}
else if ( LA115_0 == 41 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 11) ) {s = 13;}
else if ( LA115_0 == 37 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 12) ) {s = 14;}
else if ( LA115_0 == 38 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 13) ) {s = 15;}
else if ( LA115_0 == 43 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 14) ) {s = 16;}
else if ( LA115_0 == 25 && ( getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 16) || getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 15) ) ) {s = 17;}
else if ( LA115_0 == 27 && getUnorderedGroupHelper().canSelect(grammarAccess.getDocRequirementAccess().getUnorderedGroup_5(), 17) ) {s = 18;}
input.seek(index115_0);
if ( s>=0 ) return s;
break;
}
if (state.backtracking>0) {state.failed=true; return -1;}
NoViableAltException nvae =
new NoViableAltException(getDescription(), 115, _s, input);
error(nvae);
throw nvae;
}
}
static final String dfa_42s = "\22\uffff";
static final String dfa_43s = "\10\uffff\1\14\1\uffff\1\17\7\uffff";
static final String dfa_44s = "\1\35\7\uffff\1\22\1\uffff\1\22\1\155\6\uffff";
static final String dfa_45s = "\1\166\7\uffff\1\166\1\uffff\1\166\1\162\6\uffff";
static final String dfa_46s = "\1\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\uffff\1\12\2\uffff\1\10\1\11\1\13\1\14\1\15\1\16";
static final String dfa_47s = "\22\uffff}>";
static final String[] dfa_48s = {
"\1\11\116\uffff\1\1\1\2\1\3\1\4\1\5\1\6\1\7\1\10\1\uffff\1\12\1\13",
"",
"",
"",
"",
"",
"",
"",
"\1\14\5\uffff\1\14\4\uffff\1\14\116\uffff\10\14\1\15\2\14",
"",
"\1\17\5\uffff\1\17\4\uffff\1\17\116\uffff\10\17\1\16\2\17",
"\1\20\4\uffff\1\21",
"",
"",
"",
"",
"",
""
};
static final short[] dfa_42 = DFA.unpackEncodedString(dfa_42s);
static final short[] dfa_43 = DFA.unpackEncodedString(dfa_43s);
static final char[] dfa_44 = DFA.unpackEncodedStringToUnsignedChars(dfa_44s);
static final char[] dfa_45 = DFA.unpackEncodedStringToUnsignedChars(dfa_45s);
static final short[] dfa_46 = DFA.unpackEncodedString(dfa_46s);
static final short[] dfa_47 = DFA.unpackEncodedString(dfa_47s);
static final short[][] dfa_48 = unpackEncodedStringArray(dfa_48s);
class DFA169 extends DFA {
public DFA169(BaseRecognizer recognizer) {
this.recognizer = recognizer;
this.decisionNumber = 169;
this.eot = dfa_42;
this.eof = dfa_43;
this.min = dfa_44;
this.max = dfa_45;
this.accept = dfa_46;
this.special = dfa_47;
this.transition = dfa_48;
}
public String getDescription() {
return "8314:2: (kw= 'abstract' | kw= 'bus' | kw= 'data' | kw= 'device' | kw= 'memory' | kw= 'process' | kw= 'processor' | kw= 'subprogram' | (kw= 'subprogram' kw= 'group' ) | kw= 'system' | (kw= 'thread' kw= 'group' ) | kw= 'thread' | (kw= 'virtual' kw= 'bus' ) | (kw= 'virtual' kw= 'processor' ) )";
}
}
private static class FollowSets000 {
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[]{0x00000000A4120002L});
public static final BitSet FOLLOW_4 = new BitSet(new long[]{0x0000000000000020L});
public static final BitSet FOLLOW_5 = new BitSet(new long[]{0x0000000000040000L});
public static final BitSet FOLLOW_6 = new BitSet(new long[]{0x1000000000080000L});
public static final BitSet FOLLOW_7 = new BitSet(new long[]{0x0000000000200000L});
public static final BitSet FOLLOW_8 = new BitSet(new long[]{0x0000000000C00000L});
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000000010L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000800000L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000020000020L,0x006FF00000000000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000001040000L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000021040020L,0x006FF00000000000L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000020000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000040020L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x100000010A080000L,0x0000000000000004L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000004000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x100000010A080020L,0x0000000000000004L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x100000010A080010L,0x0000000000000004L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000000440000L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x000000811A080000L,0x0000000000000004L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x000000811A080020L,0x0000000000000004L});
public static final BitSet FOLLOW_23 = new BitSet(new long[]{0x000000811A080010L,0x0000000000000004L});
public static final BitSet FOLLOW_24 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_25 = new BitSet(new long[]{0x0000008110080000L,0x0000000000000004L});
public static final BitSet FOLLOW_26 = new BitSet(new long[]{0x0000000040000000L});
public static final BitSet FOLLOW_27 = new BitSet(new long[]{0x100010800A080000L,0x0000000000010004L});
public static final BitSet FOLLOW_28 = new BitSet(new long[]{0x100010800A080020L,0x0000000000010004L});
public static final BitSet FOLLOW_29 = new BitSet(new long[]{0x100010800A080010L,0x0000000000010004L});
public static final BitSet FOLLOW_30 = new BitSet(new long[]{0x0000000001440000L});
public static final BitSet FOLLOW_31 = new BitSet(new long[]{0x100000800A080000L,0x0000000000010004L});
public static final BitSet FOLLOW_32 = new BitSet(new long[]{0x100000800A080020L,0x0000000000010004L});
public static final BitSet FOLLOW_33 = new BitSet(new long[]{0x100000800A080010L,0x0000000000010004L});
public static final BitSet FOLLOW_34 = new BitSet(new long[]{0x0000000000C40000L});
public static final BitSet FOLLOW_35 = new BitSet(new long[]{0x0000000000840000L});
public static final BitSet FOLLOW_36 = new BitSet(new long[]{0x1000406E0A180000L,0x0000000000000034L});
public static final BitSet FOLLOW_37 = new BitSet(new long[]{0x1000406E0A180020L,0x0000000000000034L});
public static final BitSet FOLLOW_38 = new BitSet(new long[]{0x0000001000000000L});
public static final BitSet FOLLOW_39 = new BitSet(new long[]{0x1000406E0A180010L,0x0000000000000034L});
public static final BitSet FOLLOW_40 = new BitSet(new long[]{0x0000000100000000L});
public static final BitSet FOLLOW_41 = new BitSet(new long[]{0x11404F660A080000L,0x0000000000010034L});
public static final BitSet FOLLOW_42 = new BitSet(new long[]{0x11404F660A080020L,0x0000000000010034L});
public static final BitSet FOLLOW_43 = new BitSet(new long[]{0x11404F660A080010L,0x0000000000010034L});
public static final BitSet FOLLOW_44 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_45 = new BitSet(new long[]{0x0000008000000000L});
public static final BitSet FOLLOW_46 = new BitSet(new long[]{0x0001000020000020L,0x1F6FF00000008000L});
public static final BitSet FOLLOW_47 = new BitSet(new long[]{0x0000000020040020L,0x006FF00000000000L});
public static final BitSet FOLLOW_48 = new BitSet(new long[]{0x11404D660A080000L,0x0000000000010034L});
public static final BitSet FOLLOW_49 = new BitSet(new long[]{0x11404D660A080020L,0x0000000000010034L});
public static final BitSet FOLLOW_50 = new BitSet(new long[]{0x11404D660A080010L,0x0000000000010034L});
public static final BitSet FOLLOW_51 = new BitSet(new long[]{0x0000000020000030L,0x006FF00000000000L});
public static final BitSet FOLLOW_52 = new BitSet(new long[]{0x0000000000800002L});
public static final BitSet FOLLOW_53 = new BitSet(new long[]{0x0000200000000020L});
public static final BitSet FOLLOW_54 = new BitSet(new long[]{0x0000800000000020L});
public static final BitSet FOLLOW_55 = new BitSet(new long[]{0x0001000000000000L});
public static final BitSet FOLLOW_56 = new BitSet(new long[]{0x0002000000000002L});
public static final BitSet FOLLOW_57 = new BitSet(new long[]{0x0004000000000000L});
public static final BitSet FOLLOW_58 = new BitSet(new long[]{0x0008000000000000L});
public static final BitSet FOLLOW_59 = new BitSet(new long[]{0x0010000000000000L});
public static final BitSet FOLLOW_60 = new BitSet(new long[]{0x0020000000000000L});
public static final BitSet FOLLOW_61 = new BitSet(new long[]{0x0080000000000000L});
public static final BitSet FOLLOW_62 = new BitSet(new long[]{0x08100000000400F0L,0x00000C48C0000008L});
public static final BitSet FOLLOW_63 = new BitSet(new long[]{0x0000001000000002L});
public static final BitSet FOLLOW_64 = new BitSet(new long[]{0x0000000000000022L});
public static final BitSet FOLLOW_65 = new BitSet(new long[]{0x0600000000000000L});
public static final BitSet FOLLOW_66 = new BitSet(new long[]{0x0800000000000002L});
public static final BitSet FOLLOW_67 = new BitSet(new long[]{0x4000000000400000L});
public static final BitSet FOLLOW_68 = new BitSet(new long[]{0x2000000000040020L,0x0000000000007600L});
public static final BitSet FOLLOW_69 = new BitSet(new long[]{0x4000000000000000L});
public static final BitSet FOLLOW_70 = new BitSet(new long[]{0x0000000000000020L,0x0000000000007600L});
public static final BitSet FOLLOW_71 = new BitSet(new long[]{0x2000000000000020L,0x0000000000007600L});
public static final BitSet FOLLOW_72 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_73 = new BitSet(new long[]{0x8000000000000002L});
public static final BitSet FOLLOW_74 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000001L});
public static final BitSet FOLLOW_75 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000002L});
public static final BitSet FOLLOW_76 = new BitSet(new long[]{0x0000000000000030L,0x0000000000040008L});
public static final BitSet FOLLOW_77 = new BitSet(new long[]{0x0000000000000032L,0x0000000000040008L});
public static final BitSet FOLLOW_78 = new BitSet(new long[]{0x0000000000080000L,0x00000000000001C0L});
public static final BitSet FOLLOW_79 = new BitSet(new long[]{0x0000000000000040L});
public static final BitSet FOLLOW_80 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_81 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L});
public static final BitSet FOLLOW_82 = new BitSet(new long[]{0x0000000000400000L});
public static final BitSet FOLLOW_83 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L});
public static final BitSet FOLLOW_84 = new BitSet(new long[]{0x0000800000000002L,0x0000000000020000L});
public static final BitSet FOLLOW_85 = new BitSet(new long[]{0x0000000000000002L,0x0000000000180000L});
public static final BitSet FOLLOW_86 = new BitSet(new long[]{0x0000000000000002L,0x0000000000600000L});
public static final BitSet FOLLOW_87 = new BitSet(new long[]{0x0000000000000002L,0x0000000001800000L});
public static final BitSet FOLLOW_88 = new BitSet(new long[]{0x0000000000000002L,0x000000003E000000L});
public static final BitSet FOLLOW_89 = new BitSet(new long[]{0x0000000000000002L,0x00000000C0000000L});
public static final BitSet FOLLOW_90 = new BitSet(new long[]{0x0000000000000002L,0x0000000700000001L});
public static final BitSet FOLLOW_91 = new BitSet(new long[]{0x0000800000000022L,0x0000000000020000L});
public static final BitSet FOLLOW_92 = new BitSet(new long[]{0x08300000000400F0L,0x00000C48C0000008L});
public static final BitSet FOLLOW_93 = new BitSet(new long[]{0x0022000000000000L});
public static final BitSet FOLLOW_94 = new BitSet(new long[]{0x0000000000000000L,0x0000001000000000L});
public static final BitSet FOLLOW_95 = new BitSet(new long[]{0x0000000000080000L,0x0000002000000000L});
public static final BitSet FOLLOW_96 = new BitSet(new long[]{0x0000000000000000L,0x0000008000000000L});
public static final BitSet FOLLOW_97 = new BitSet(new long[]{0x0000000000000000L,0x0000030000000000L});
public static final BitSet FOLLOW_98 = new BitSet(new long[]{0x0000000000000000L,0x0000020000000000L});
public static final BitSet FOLLOW_99 = new BitSet(new long[]{0x0000000000000000L,0x0010000000000000L});
public static final BitSet FOLLOW_100 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L});
public static final BitSet FOLLOW_101 = new BitSet(new long[]{0x0000000000000000L,0x0004000000000000L});
public static final BitSet FOLLOW_102 = new BitSet(new long[]{0x0000000000000000L,0x0080000000000000L});
public static final BitSet FOLLOW_103 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000002L});
public static final BitSet FOLLOW_104 = new BitSet(new long[]{0x0000000000000002L,0x0080000000000000L});
}
}