AntlrDatatypeRuleToken this_Version_7 = null;
enterRule();
HiddenTokens myHiddenTokenState = ((XtextTokenStream)input).setHiddenTokens("RULE_WS");
try {
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:732:28: ( ( ( (kw= '(' | kw= '[' ) this_Version_2= ruleVersion kw= ',' this_Version_4= ruleVersion (kw= ')' | kw= ']' ) ) | this_Version_7= ruleVersion | kw= 'lazy' ) )
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:733:1: ( ( (kw= '(' | kw= '[' ) this_Version_2= ruleVersion kw= ',' this_Version_4= ruleVersion (kw= ')' | kw= ']' ) ) | this_Version_7= ruleVersion | kw= 'lazy' )
{
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:733:1: ( ( (kw= '(' | kw= '[' ) this_Version_2= ruleVersion kw= ',' this_Version_4= ruleVersion (kw= ')' | kw= ']' ) ) | this_Version_7= ruleVersion | kw= 'lazy' )
int alt23=3;
switch ( input.LA(1) ) {
case 23:
case 24:
{
alt23=1;
}
break;
case RULE_INT:
{
alt23=2;
}
break;
case 27:
{
alt23=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 23, 0, input);
throw nvae;
}
switch (alt23) {
case 1 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:733:2: ( (kw= '(' | kw= '[' ) this_Version_2= ruleVersion kw= ',' this_Version_4= ruleVersion (kw= ')' | kw= ']' ) )
{
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:733:2: ( (kw= '(' | kw= '[' ) this_Version_2= ruleVersion kw= ',' this_Version_4= ruleVersion (kw= ')' | kw= ']' ) )
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:733:3: (kw= '(' | kw= '[' ) this_Version_2= ruleVersion kw= ',' this_Version_4= ruleVersion (kw= ')' | kw= ']' )
{
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:733:3: (kw= '(' | kw= '[' )
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==23) ) {
alt21=1;
}
else if ( (LA21_0==24) ) {
alt21=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:734:2: kw= '('
{
kw=(Token)match(input,23,FOLLOW_23_in_ruleVersionRange1669);
current.merge(kw);
newLeafNode(kw, grammarAccess.getVersionRangeAccess().getLeftParenthesisKeyword_0_0_0());
}
break;
case 2 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:741:2: kw= '['
{
kw=(Token)match(input,24,FOLLOW_24_in_ruleVersionRange1688);
current.merge(kw);
newLeafNode(kw, grammarAccess.getVersionRangeAccess().getLeftSquareBracketKeyword_0_0_1());
}
break;
}
newCompositeNode(grammarAccess.getVersionRangeAccess().getVersionParserRuleCall_0_1());
pushFollow(FOLLOW_ruleVersion_in_ruleVersionRange1711);
this_Version_2=ruleVersion();
state._fsp--;
current.merge(this_Version_2);
afterParserOrEnumRuleCall();
kw=(Token)match(input,13,FOLLOW_13_in_ruleVersionRange1729);
current.merge(kw);
newLeafNode(kw, grammarAccess.getVersionRangeAccess().getCommaKeyword_0_2());
newCompositeNode(grammarAccess.getVersionRangeAccess().getVersionParserRuleCall_0_3());
pushFollow(FOLLOW_ruleVersion_in_ruleVersionRange1751);
this_Version_4=ruleVersion();
state._fsp--;
current.merge(this_Version_4);
afterParserOrEnumRuleCall();
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:774:1: (kw= ')' | kw= ']' )
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==25) ) {
alt22=1;
}
else if ( (LA22_0==26) ) {
alt22=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 22, 0, input);
throw nvae;
}
switch (alt22) {
case 1 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:775:2: kw= ')'
{
kw=(Token)match(input,25,FOLLOW_25_in_ruleVersionRange1770);
current.merge(kw);
newLeafNode(kw, grammarAccess.getVersionRangeAccess().getRightParenthesisKeyword_0_4_0());
}
break;
case 2 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:782:2: kw= ']'
{
kw=(Token)match(input,26,FOLLOW_26_in_ruleVersionRange1789);
current.merge(kw);
newLeafNode(kw, grammarAccess.getVersionRangeAccess().getRightSquareBracketKeyword_0_4_1());
}
break;
}
}
}
break;
case 2 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:789:5: this_Version_7= ruleVersion
{
newCompositeNode(grammarAccess.getVersionRangeAccess().getVersionParserRuleCall_1());
pushFollow(FOLLOW_ruleVersion_in_ruleVersionRange1819);
this_Version_7=ruleVersion();
state._fsp--;
current.merge(this_Version_7);
afterParserOrEnumRuleCall();
}
break;
case 3 :
// ../fr.obeo.releng.targetplatform/src-gen/fr/obeo/releng/targetplatform/parser/antlr/internal/InternalTargetPlatform.g:801:2: kw= 'lazy'
{
kw=(Token)match(input,27,FOLLOW_27_in_ruleVersionRange1843);
current.merge(kw);
newLeafNode(kw, grammarAccess.getVersionRangeAccess().getLazyKeyword_2());
}
break;
}
}
leaveRule();
}
catch (RecognitionException re) {
recover(input,re);
appendSkippedTokens();
}
finally {
myHiddenTokenState.restore();
}
return current;
}