Commit a3370dc0 authored by Arnaud Dieumegard's avatar Arnaud Dieumegard

Factorization of Link type grammar rule. Regenerated code.

parent fd7c2de5
...@@ -70,8 +70,8 @@ public class PatternParser extends AbstractContentAssistParser { ...@@ -70,8 +70,8 @@ public class PatternParser extends AbstractContentAssistParser {
put(grammarAccess.getPatternPortAccess().getCardinalityElementAssignment_2_1_1(), "rule__PatternPort__CardinalityElementAssignment_2_1_1"); put(grammarAccess.getPatternPortAccess().getCardinalityElementAssignment_2_1_1(), "rule__PatternPort__CardinalityElementAssignment_2_1_1");
put(grammarAccess.getCardinalityElementAccess().getNameAssignment(), "rule__CardinalityElement__NameAssignment"); put(grammarAccess.getCardinalityElementAccess().getNameAssignment(), "rule__CardinalityElement__NameAssignment");
put(grammarAccess.getPatternLinkAccess().getSrcAssignment_0(), "rule__PatternLink__SrcAssignment_0"); put(grammarAccess.getPatternLinkAccess().getSrcAssignment_0(), "rule__PatternLink__SrcAssignment_0");
put(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1(), "rule__PatternLink__LinkTypeAssignment_1"); put(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2(), "rule__PatternLink__LinkTypeAssignment_2");
put(grammarAccess.getPatternLinkAccess().getDstAssignment_2(), "rule__PatternLink__DstAssignment_2"); put(grammarAccess.getPatternLinkAccess().getDstAssignment_4(), "rule__PatternLink__DstAssignment_4");
} }
}; };
} }
......
...@@ -355,73 +355,73 @@ rule__LinkType__Alternatives ...@@ -355,73 +355,73 @@ rule__LinkType__Alternatives
: :
( (
{ before(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); } { before(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); }
('-{Transpose}->') ('Transpose')
{ after(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); } { after(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); } { before(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); }
('-{Identity}->') ('Identity')
{ after(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); } { after(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); } { before(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); }
('-{First}->') ('First')
{ after(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); } { after(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); } { before(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); }
('-{Rotate}->') ('Rotate')
{ after(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); } { after(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); } { before(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); }
('-{ShiftC}->') ('ShiftC')
{ after(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); } { after(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); } { before(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); }
('-{ShiftP}->') ('ShiftP')
{ after(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); } { after(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); } { before(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); }
('-{FlattenC}->') ('FlattenC')
{ after(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); } { after(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); } { before(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); }
('-{ForkC}->') ('ForkC')
{ after(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); } { after(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); } { before(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); }
('-{ForkP}->') ('ForkP')
{ after(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); } { after(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); } { before(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); }
('-{JoinC}->') ('JoinC')
{ after(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); } { after(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); } { before(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); }
('-{JoinP}->') ('JoinP')
{ after(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); } { after(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); }
) )
| |
( (
{ before(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); } { before(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); }
('-{Last}->') ('Last')
{ after(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); } { after(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); }
) )
; ;
...@@ -1446,9 +1446,9 @@ rule__PatternLink__Group__1__Impl ...@@ -1446,9 +1446,9 @@ rule__PatternLink__Group__1__Impl
} }
: :
( (
{ before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1()); } { before(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1()); }
(rule__PatternLink__LinkTypeAssignment_1) '--{'
{ after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1()); } { after(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1()); }
) )
; ;
finally { finally {
...@@ -1461,6 +1461,7 @@ rule__PatternLink__Group__2 ...@@ -1461,6 +1461,7 @@ rule__PatternLink__Group__2
} }
: :
rule__PatternLink__Group__2__Impl rule__PatternLink__Group__2__Impl
rule__PatternLink__Group__3
; ;
finally { finally {
restoreStackSize(stackSize); restoreStackSize(stackSize);
...@@ -1472,9 +1473,62 @@ rule__PatternLink__Group__2__Impl ...@@ -1472,9 +1473,62 @@ rule__PatternLink__Group__2__Impl
} }
: :
( (
{ before(grammarAccess.getPatternLinkAccess().getDstAssignment_2()); } { before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2()); }
(rule__PatternLink__DstAssignment_2) (rule__PatternLink__LinkTypeAssignment_2)
{ after(grammarAccess.getPatternLinkAccess().getDstAssignment_2()); } { after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2()); }
)
;
finally {
restoreStackSize(stackSize);
}
rule__PatternLink__Group__3
@init {
int stackSize = keepStackSize();
}
:
rule__PatternLink__Group__3__Impl
rule__PatternLink__Group__4
;
finally {
restoreStackSize(stackSize);
}
rule__PatternLink__Group__3__Impl
@init {
int stackSize = keepStackSize();
}
:
(
{ before(grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3()); }
'}->'
{ after(grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3()); }
)
;
finally {
restoreStackSize(stackSize);
}
rule__PatternLink__Group__4
@init {
int stackSize = keepStackSize();
}
:
rule__PatternLink__Group__4__Impl
;
finally {
restoreStackSize(stackSize);
}
rule__PatternLink__Group__4__Impl
@init {
int stackSize = keepStackSize();
}
:
(
{ before(grammarAccess.getPatternLinkAccess().getDstAssignment_4()); }
(rule__PatternLink__DstAssignment_4)
{ after(grammarAccess.getPatternLinkAccess().getDstAssignment_4()); }
) )
; ;
finally { finally {
...@@ -1872,34 +1926,34 @@ finally { ...@@ -1872,34 +1926,34 @@ finally {
restoreStackSize(stackSize); restoreStackSize(stackSize);
} }
rule__PatternLink__LinkTypeAssignment_1 rule__PatternLink__LinkTypeAssignment_2
@init { @init {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
} }
: :
( (
{ before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); } { before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0()); }
ruleLinkType ruleLinkType
{ after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); } { after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0()); }
) )
; ;
finally { finally {
restoreStackSize(stackSize); restoreStackSize(stackSize);
} }
rule__PatternLink__DstAssignment_2 rule__PatternLink__DstAssignment_4
@init { @init {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
} }
: :
( (
{ before(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0()); } { before(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0()); }
( (
{ before(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_2_0_1()); } { before(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1()); }
ruleQualifiedID ruleQualifiedID
{ after(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_2_0_1()); } { after(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1()); }
) )
{ after(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0()); } { after(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0()); }
) )
; ;
finally { finally {
......
'('=28 '('=28
')'=29 ')'=29
','=30 ','=30
'-{First}->'=17 '--{'=36
'-{FlattenC}->'=21 '.'=38
'-{ForkC}->'=22 'First'=17
'-{ForkP}->'=23 'FlattenC'=21
'-{Identity}->'=16 'ForkC'=22
'-{JoinC}->'=24 'ForkP'=23
'-{JoinP}->'=25 'Identity'=16
'-{Last}->'=26 'JoinC'=24
'-{Rotate}->'=18 'JoinP'=25
'-{ShiftC}->'=19 'Last'=26
'-{ShiftP}->'=20 'Rotate'=18
'-{Transpose}->'=15 'ShiftC'=19
'.'=36 'ShiftP'=20
'Transpose'=15
'['=34 '['=34
']'=35 ']'=35
'component'=33 'component'=33
...@@ -24,6 +25,7 @@ ...@@ -24,6 +25,7 @@
'unspec'=11 'unspec'=11
'{'=31 '{'=31
'}'=32 '}'=32
'}->'=37
RULE_ANY_OTHER=10 RULE_ANY_OTHER=10
RULE_ID=4 RULE_ID=4
RULE_INT=5 RULE_INT=5
...@@ -57,3 +59,5 @@ T__33=33 ...@@ -57,3 +59,5 @@ T__33=33
T__34=34 T__34=34
T__35=35 T__35=35
T__36=36 T__36=36
T__37=37
T__38=38
...@@ -16,7 +16,9 @@ public class InternalPatternLexer extends Lexer { ...@@ -16,7 +16,9 @@ public class InternalPatternLexer extends Lexer {
public static final int RULE_SL_COMMENT=8; public static final int RULE_SL_COMMENT=8;
public static final int T__19=19; public static final int T__19=19;
public static final int T__15=15; public static final int T__15=15;
public static final int T__37=37;
public static final int T__16=16; public static final int T__16=16;
public static final int T__38=38;
public static final int T__17=17; public static final int T__17=17;
public static final int T__18=18; public static final int T__18=18;
public static final int T__11=11; public static final int T__11=11;
...@@ -149,10 +151,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -149,10 +151,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__15; int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:15:7: ( '-{Transpose}->' ) // InternalPattern.g:15:7: ( 'Transpose' )
// InternalPattern.g:15:9: '-{Transpose}->' // InternalPattern.g:15:9: 'Transpose'
{ {
match("-{Transpose}->"); match("Transpose");
} }
...@@ -170,10 +172,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -170,10 +172,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__16; int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:16:7: ( '-{Identity}->' ) // InternalPattern.g:16:7: ( 'Identity' )
// InternalPattern.g:16:9: '-{Identity}->' // InternalPattern.g:16:9: 'Identity'
{ {
match("-{Identity}->"); match("Identity");
} }
...@@ -191,10 +193,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -191,10 +193,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__17; int _type = T__17;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:17:7: ( '-{First}->' ) // InternalPattern.g:17:7: ( 'First' )
// InternalPattern.g:17:9: '-{First}->' // InternalPattern.g:17:9: 'First'
{ {
match("-{First}->"); match("First");
} }
...@@ -212,10 +214,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -212,10 +214,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__18; int _type = T__18;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:18:7: ( '-{Rotate}->' ) // InternalPattern.g:18:7: ( 'Rotate' )
// InternalPattern.g:18:9: '-{Rotate}->' // InternalPattern.g:18:9: 'Rotate'
{ {
match("-{Rotate}->"); match("Rotate");
} }
...@@ -233,10 +235,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -233,10 +235,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__19; int _type = T__19;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:19:7: ( '-{ShiftC}->' ) // InternalPattern.g:19:7: ( 'ShiftC' )
// InternalPattern.g:19:9: '-{ShiftC}->' // InternalPattern.g:19:9: 'ShiftC'
{ {
match("-{ShiftC}->"); match("ShiftC");
} }
...@@ -254,10 +256,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -254,10 +256,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__20; int _type = T__20;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:20:7: ( '-{ShiftP}->' ) // InternalPattern.g:20:7: ( 'ShiftP' )
// InternalPattern.g:20:9: '-{ShiftP}->' // InternalPattern.g:20:9: 'ShiftP'
{ {
match("-{ShiftP}->"); match("ShiftP");
} }
...@@ -275,10 +277,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -275,10 +277,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__21; int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:21:7: ( '-{FlattenC}->' ) // InternalPattern.g:21:7: ( 'FlattenC' )
// InternalPattern.g:21:9: '-{FlattenC}->' // InternalPattern.g:21:9: 'FlattenC'
{ {
match("-{FlattenC}->"); match("FlattenC");
} }
...@@ -296,10 +298,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -296,10 +298,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__22; int _type = T__22;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:22:7: ( '-{ForkC}->' ) // InternalPattern.g:22:7: ( 'ForkC' )
// InternalPattern.g:22:9: '-{ForkC}->' // InternalPattern.g:22:9: 'ForkC'
{ {
match("-{ForkC}->"); match("ForkC");
} }
...@@ -317,10 +319,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -317,10 +319,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__23; int _type = T__23;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:23:7: ( '-{ForkP}->' ) // InternalPattern.g:23:7: ( 'ForkP' )
// InternalPattern.g:23:9: '-{ForkP}->' // InternalPattern.g:23:9: 'ForkP'
{ {
match("-{ForkP}->"); match("ForkP");
} }
...@@ -338,10 +340,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -338,10 +340,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__24; int _type = T__24;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:24:7: ( '-{JoinC}->' ) // InternalPattern.g:24:7: ( 'JoinC' )
// InternalPattern.g:24:9: '-{JoinC}->' // InternalPattern.g:24:9: 'JoinC'
{ {
match("-{JoinC}->"); match("JoinC");
} }
...@@ -359,10 +361,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -359,10 +361,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__25; int _type = T__25;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:25:7: ( '-{JoinP}->' ) // InternalPattern.g:25:7: ( 'JoinP' )
// InternalPattern.g:25:9: '-{JoinP}->' // InternalPattern.g:25:9: 'JoinP'
{ {
match("-{JoinP}->"); match("JoinP");
} }
...@@ -380,10 +382,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -380,10 +382,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__26; int _type = T__26;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:26:7: ( '-{Last}->' ) // InternalPattern.g:26:7: ( 'Last' )
// InternalPattern.g:26:9: '-{Last}->' // InternalPattern.g:26:9: 'Last'
{ {
match("-{Last}->"); match("Last");
} }
...@@ -583,10 +585,11 @@ public class InternalPatternLexer extends Lexer { ...@@ -583,10 +585,11 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__36; int _type = T__36;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:36:7: ( '.' ) // InternalPattern.g:36:7: ( '--{' )
// InternalPattern.g:36:9: '.' // InternalPattern.g:36:9: '--{'
{ {
match('.'); match("--{");
} }
...@@ -598,15 +601,56 @@ public class InternalPatternLexer extends Lexer { ...@@ -598,15 +601,56 @@ public class InternalPatternLexer extends Lexer {
} }
// $ANTLR end "T__36" // $ANTLR end "T__36"
// $ANTLR start "T__37"
public final void mT__37() throws RecognitionException {
try {
int _type = T__37;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:37:7: ( '}->' )
// InternalPattern.g:37:9: '}->'
{
match("}->");
}
state.type = _type;
state.channel = _channel;
}
finally {
}
}
// $ANTLR end "T__37"
// $ANTLR start "T__38"
public final void mT__38() throws RecognitionException {
try {
int _type = T__38;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:38:7: ( '.' )
// InternalPattern.g:38:9: '.'
{
match('.');
}
state.type = _type;
state.channel = _channel;
}
finally {
}
}
// $ANTLR end "T__38"
// $ANTLR start "RULE_ID" // $ANTLR start "RULE_ID"
public final void mRULE_ID() throws RecognitionException { public final void mRULE_ID() throws RecognitionException {
try { try {
int _type = RULE_ID; int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1909:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) // InternalPattern.g:1963:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
// InternalPattern.g:1909:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* // InternalPattern.g:1963:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{ {
// InternalPattern.g:1909:11: ( '^' )? // InternalPattern.g:1963:11: ( '^' )?
int alt1=2; int alt1=2;
int LA1_0 = input.LA(1); int LA1_0 = input.LA(1);
...@@ -615,7 +659,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -615,7 +659,7 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt1) { switch (alt1) {
case 1 : case 1 :
// InternalPattern.g:1909:11: '^' // InternalPattern.g:1963:11: '^'
{ {
match('^'); match('^');
...@@ -633,7 +677,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -633,7 +677,7 @@ public class InternalPatternLexer extends Lexer {
recover(mse); recover(mse);
throw mse;} throw mse;}
// InternalPattern.g:1909:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* // InternalPattern.g:1963:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2: loop2:
do { do {
int alt2=2; int alt2=2;
...@@ -682,10 +726,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -682,10 +726,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_INT; int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1911:10: ( ( '0' .. '9' )+ ) // InternalPattern.g:1965:10: ( ( '0' .. '9' )+ )
// InternalPattern.g:1911:12: ( '0' .. '9' )+ // InternalPattern.g:1965:12: ( '0' .. '9' )+
{ {
// InternalPattern.g:1911:12: ( '0' .. '9' )+ // InternalPattern.g:1965:12: ( '0' .. '9' )+
int cnt3=0; int cnt3=0;
loop3: loop3:
do { do {
...@@ -699,7 +743,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -699,7 +743,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt3) { switch (alt3) {
case 1 : case 1 :
// InternalPattern.g:1911:13: '0' .. '9' // InternalPattern.g:1965:13: '0' .. '9'
{ {
matchRange('0','9'); matchRange('0','9');
...@@ -731,10 +775,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -731,10 +775,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_STRING; int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1913:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) // InternalPattern.g:1967:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
// InternalPattern.g:1913:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) // InternalPattern.g:1967:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{ {
// InternalPattern.g:1913:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) // InternalPattern.g:1967:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2; int alt6=2;
int LA6_0 = input.LA(1); int LA6_0 = input.LA(1);
...@@ -752,10 +796,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -752,10 +796,10 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt6) { switch (alt6) {
case 1 : case 1 :
// InternalPattern.g:1913:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' // InternalPattern.g:1967:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{ {
match('\"'); match('\"');
// InternalPattern.g:1913:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* // InternalPattern.g:1967:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
loop4: loop4:
do { do {
int alt4=3; int alt4=3;
...@@ -771,7 +815,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -771,7 +815,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt4) { switch (alt4) {
case 1 : case 1 :
// InternalPattern.g:1913:21: '\\\\' . // InternalPattern.g:1967:21: '\\\\' .
{ {
match('\\'); match('\\');
matchAny(); matchAny();
...@@ -779,7 +823,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -779,7 +823,7 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:1913:28: ~ ( ( '\\\\' | '\"' ) ) // InternalPattern.g:1967:28: ~ ( ( '\\\\' | '\"' ) )
{ {
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume(); input.consume();
...@@ -804,10 +848,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -804,10 +848,10 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:1913:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' // InternalPattern.g:1967:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{ {
match('\''); match('\'');
// InternalPattern.g:1913:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* // InternalPattern.g:1967:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5: loop5:
do { do {
int alt5=3; int alt5=3;
...@@ -823,7 +867,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -823,7 +867,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt5) { switch (alt5) {
case 1 : case 1 :
// InternalPattern.g:1913:54: '\\\\' . // InternalPattern.g:1967:54: '\\\\' .
{ {
match('\\'); match('\\');
matchAny(); matchAny();
...@@ -831,7 +875,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -831,7 +875,7 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:1913:61: ~ ( ( '\\\\' | '\\'' ) ) // InternalPattern.g:1967:61: ~ ( ( '\\\\' | '\\'' ) )
{ {
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume(); input.consume();
...@@ -874,12 +918,12 @@ public class InternalPatternLexer extends Lexer { ...@@ -874,12 +918,12 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_ML_COMMENT; int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1915:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) // InternalPattern.g:1969:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalPattern.g:1915:19: '/*' ( options {greedy=false; } : . )* '*/' // InternalPattern.g:1969:19: '/*' ( options {greedy=false; } : . )* '*/'
{ {
match("/*"); match("/*");
// InternalPattern.g:1915:24: ( options {greedy=false; } : . )* // InternalPattern.g:1969:24: ( options {greedy=false; } : . )*
loop7: loop7:
do { do {
int alt7=2; int alt7=2;
...@@ -904,7 +948,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -904,7 +948,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt7) { switch (alt7) {
case 1 : case 1 :
// InternalPattern.g:1915:52: . // InternalPattern.g:1969:52: .
{ {
matchAny(); matchAny();
...@@ -934,12 +978,12 @@ public class InternalPatternLexer extends Lexer { ...@@ -934,12 +978,12 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_SL_COMMENT; int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1917:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) // InternalPattern.g:1971:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalPattern.g:1917:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? // InternalPattern.g:1971:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{ {
match("//"); match("//");
// InternalPattern.g:1917:24: (~ ( ( '\\n' | '\\r' ) ) )* // InternalPattern.g:1971:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8: loop8:
do { do {
int alt8=2; int alt8=2;
...@@ -952,7 +996,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -952,7 +996,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt8) { switch (alt8) {
case 1 : case 1 :
// InternalPattern.g:1917:24: ~ ( ( '\\n' | '\\r' ) ) // InternalPattern.g:1971:24: ~ ( ( '\\n' | '\\r' ) )
{ {
if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
input.consume(); input.consume();
...@@ -972,7 +1016,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -972,7 +1016,7 @@ public class InternalPatternLexer extends Lexer {
} }
} while (true); } while (true);
// InternalPattern.g:1917:40: ( ( '\\r' )? '\\n' )? // InternalPattern.g:1971:40: ( ( '\\r' )? '\\n' )?
int alt10=2; int alt10=2;
int LA10_0 = input.LA(1); int LA10_0 = input.LA(1);
...@@ -981,9 +1025,9 @@ public class InternalPatternLexer extends Lexer { ...@@ -981,9 +1025,9 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt10) { switch (alt10) {
case 1 : case 1 :
// InternalPattern.g:1917:41: ( '\\r' )? '\\n' // InternalPattern.g:1971:41: ( '\\r' )? '\\n'
{ {
// InternalPattern.g:1917:41: ( '\\r' )? // InternalPattern.g:1971:41: ( '\\r' )?
int alt9=2; int alt9=2;
int LA9_0 = input.LA(1); int LA9_0 = input.LA(1);
...@@ -992,7 +1036,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -992,7 +1036,7 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt9) { switch (alt9) {
case 1 : case 1 :
// InternalPattern.g:1917:41: '\\r' // InternalPattern.g:1971:41: '\\r'
{ {
match('\r'); match('\r');
...@@ -1024,10 +1068,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -1024,10 +1068,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_WS; int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1919:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) // InternalPattern.g:1973:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalPattern.g:1919:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ // InternalPattern.g:1973:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{ {
// InternalPattern.g:1919:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ // InternalPattern.g:1973:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt11=0; int cnt11=0;
loop11: loop11:
do { do {
...@@ -1081,8 +1125,8 @@ public class InternalPatternLexer extends Lexer { ...@@ -1081,8 +1125,8 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_ANY_OTHER; int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1921:16: ( . ) // InternalPattern.g:1975:16: ( . )
// InternalPattern.g:1921:18: . // InternalPattern.g:1975:18: .
{ {
matchAny(); matchAny();
...@@ -1097,8 +1141,8 @@ public class InternalPatternLexer extends Lexer { ...@@ -1097,8 +1141,8 @@ public class InternalPatternLexer extends Lexer {
// $ANTLR end "RULE_ANY_OTHER" // $ANTLR end "RULE_ANY_OTHER"
public void mTokens() throws RecognitionException { public void mTokens() throws RecognitionException {
// InternalPattern.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) // InternalPattern.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
int alt12=33; int alt12=35;
alt12 = dfa12.predict(input); alt12 = dfa12.predict(input);
switch (alt12) { switch (alt12) {
case 1 : case 1 :
...@@ -1284,49 +1328,63 @@ public class InternalPatternLexer extends Lexer { ...@@ -1284,49 +1328,63 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 27 : case 27 :
// InternalPattern.g:1:166: RULE_ID // InternalPattern.g:1:166: T__37
{ {
mRULE_ID(); mT__37();
} }
break; break;
case 28 : case 28 :
// InternalPattern.g:1:174: RULE_INT // InternalPattern.g:1:172: T__38
{ {
mRULE_INT(); mT__38();
} }
break; break;
case 29 : case 29 :
// InternalPattern.g:1:183: RULE_STRING // InternalPattern.g:1:178: RULE_ID
{ {
mRULE_STRING(); mRULE_ID();
} }
break; break;
case 30 : case 30 :
// InternalPattern.g:1:195: RULE_ML_COMMENT // InternalPattern.g:1:186: RULE_INT
{ {
mRULE_ML_COMMENT(); mRULE_INT();
} }
break; break;
case 31 : case 31 :
// InternalPattern.g:1:211: RULE_SL_COMMENT // InternalPattern.g:1:195: RULE_STRING
{ {
mRULE_SL_COMMENT(); mRULE_STRING();
} }
break; break;
case 32 : case 32 :
// InternalPattern.g:1:227: RULE_WS // InternalPattern.g:1:207: RULE_ML_COMMENT
{ {
mRULE_WS(); mRULE_ML_COMMENT();
} }
break; break;
case 33 : case 33 :
// InternalPattern.g:1:235: RULE_ANY_OTHER // InternalPattern.g:1:223: RULE_SL_COMMENT
{
mRULE_SL_COMMENT();
}
break;
case 34 :
// InternalPattern.g:1:239: RULE_WS
{
mRULE_WS();
}
break;
case 35 :
// InternalPattern.g:1:247: RULE_ANY_OTHER
{ {
mRULE_ANY_OTHER(); mRULE_ANY_OTHER();
...@@ -1340,111 +1398,156 @@ public class InternalPatternLexer extends Lexer { ...@@ -1340,111 +1398,156 @@ public class InternalPatternLexer extends Lexer {
protected DFA12 dfa12 = new DFA12(this); protected DFA12 dfa12 = new DFA12(this);
static final String DFA12_eotS = static final String DFA12_eotS =
"\1\uffff\3\30\1\26\1\30\5\uffff\1\30\3\uffff\1\26\2\uffff\3\26\2\uffff\1\30\1\uffff\1\55\1\30\1\uffff\1\30\5\uffff\1\30\10\uffff\2\30\1\uffff\1\72\7\uffff\4\30\6\uffff\3\30\1\112\3\uffff\2\30\1\120\4\uffff\2\30\6\uffff\1\132\1\30\3\uffff\1\30\1\135\1\uffff"; "\1\uffff\13\37\4\uffff\1\61\1\37\2\uffff\1\35\1\uffff\1\35\2\uffff\3\35\2\uffff\1\37\1\uffff\1\76\13\37\6\uffff\1\37\11\uffff\2\37\1\uffff\1\115\15\37\1\uffff\10\37\1\145\3\37\1\151\2\37\1\154\1\37\1\156\1\157\2\37\1\163\1\164\1\uffff\2\37\1\167\1\uffff\2\37\1\uffff\1\37\2\uffff\1\173\1\174\1\175\2\uffff\2\37\1\uffff\3\37\3\uffff\1\u0083\2\37\1\u0086\1\u0087\1\uffff\1\37\1\u0089\2\uffff\1\u008a\2\uffff";
static final String DFA12_eofS = static final String DFA12_eofS =
"\136\uffff"; "\u008b\uffff";
static final String DFA12_minS = static final String DFA12_minS =
"\1\0\2\156\1\165\1\173\1\141\5\uffff\1\157\3\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\163\1\uffff\1\60\1\164\1\106\1\164\5\uffff\1\155\10\uffff\1\160\1\165\1\uffff\1\60\2\uffff\1\151\1\uffff\1\150\1\157\1\uffff\1\164\1\160\1\145\1\164\3\uffff\1\162\2\151\1\145\1\157\1\143\1\60\1\153\1\146\1\156\1\162\1\156\1\60\1\uffff\1\103\1\164\1\103\1\156\1\145\3\uffff\1\103\2\uffff\1\60\1\156\3\uffff\1\164\1\60\1\uffff"; "\1\0\2\156\1\165\1\162\1\144\1\151\1\157\1\150\1\157\2\141\4\uffff\1\55\1\157\2\uffff\1\55\1\uffff\1\101\2\uffff\2\0\1\52\2\uffff\1\163\1\uffff\1\60\1\164\1\141\1\145\1\162\1\141\1\162\1\164\2\151\1\163\1\164\6\uffff\1\155\11\uffff\1\160\1\165\1\uffff\1\60\2\156\1\163\1\164\1\153\1\141\1\146\1\156\2\164\1\160\1\145\1\164\1\uffff\1\163\3\164\1\103\2\164\1\103\1\60\1\145\1\157\1\143\1\60\1\160\1\151\1\60\1\145\2\60\1\145\1\103\2\60\1\uffff\1\162\1\156\1\60\1\uffff\1\157\1\164\1\uffff\1\156\2\uffff\3\60\2\uffff\1\156\1\145\1\uffff\1\163\1\171\1\103\3\uffff\1\60\1\156\1\145\2\60\1\uffff\1\164\1\60\2\uffff\1\60\2\uffff";
static final String DFA12_maxS = static final String DFA12_maxS =
"\1\uffff\2\156\1\165\1\173\1\141\5\uffff\1\157\3\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\163\1\uffff\1\172\1\164\1\124\1\164\5\uffff\1\155\10\uffff\1\160\1\165\1\uffff\1\172\2\uffff\1\157\1\uffff\1\150\1\157\1\uffff\1\164\1\160\1\145\1\164\3\uffff\1\162\2\151\1\145\1\157\1\143\1\172\1\153\1\146\1\156\1\162\1\156\1\172\1\uffff\1\120\1\164\1\120\1\156\1\145\3\uffff\1\120\2\uffff\1\172\1\156\3\uffff\1\164\1\172\1\uffff"; "\1\uffff\2\156\1\165\1\162\1\144\2\157\1\150\1\157\2\141\4\uffff\1\55\1\157\2\uffff\1\55\1\uffff\1\172\2\uffff\2\uffff\1\57\2\uffff\1\163\1\uffff\1\172\1\164\1\141\1\145\1\162\1\141\1\162\1\164\2\151\1\163\1\164\6\uffff\1\155\11\uffff\1\160\1\165\1\uffff\1\172\2\156\1\163\1\164\1\153\1\141\1\146\1\156\2\164\1\160\1\145\1\164\1\uffff\1\163\3\164\1\120\2\164\1\120\1\172\1\145\1\157\1\143\1\172\1\160\1\151\1\172\1\145\2\172\1\145\1\120\2\172\1\uffff\1\162\1\156\1\172\1\uffff\1\157\1\164\1\uffff\1\156\2\uffff\3\172\2\uffff\1\156\1\145\1\uffff\1\163\1\171\1\103\3\uffff\1\172\1\156\1\145\2\172\1\uffff\1\164\1\172\2\uffff\1\172\2\uffff";
static final String DFA12_acceptS = static final String DFA12_acceptS =
"\6\uffff\1\22\1\23\1\24\1\25\1\26\1\uffff\1\30\1\31\1\32\1\uffff\1\33\1\34\3\uffff\1\40\1\41\1\uffff\1\33\4\uffff\1\22\1\23\1\24\1\25\1\26\1\uffff\1\30\1\31\1\32\1\34\1\35\1\36\1\37\1\40\2\uffff\1\2\1\uffff\1\5\1\6\1\uffff\1\10\2\uffff\1\20\4\uffff\1\3\1\7\1\13\15\uffff\1\4\5\uffff\1\1\1\14\1\15\1\uffff\1\16\1\17\2\uffff\1\11\1\12\1\21\2\uffff\1\27"; "\14\uffff\1\22\1\23\1\24\1\25\2\uffff\1\30\1\31\1\uffff\1\34\1\uffff\1\35\1\36\3\uffff\1\42\1\43\1\uffff\1\35\14\uffff\1\22\1\23\1\24\1\25\1\33\1\26\1\uffff\1\30\1\31\1\32\1\34\1\36\1\37\1\40\1\41\1\42\2\uffff\1\2\16\uffff\1\3\27\uffff\1\20\3\uffff\1\4\2\uffff\1\7\1\uffff\1\14\1\15\3\uffff\1\16\1\17\2\uffff\1\1\3\uffff\1\10\1\11\1\12\5\uffff\1\21\2\uffff\1\6\1\13\1\uffff\1\5\1\27";
static final String DFA12_specialS = static final String DFA12_specialS =
"\1\1\21\uffff\1\2\1\0\112\uffff}>"; "\1\0\30\uffff\1\2\1\1\160\uffff}>";
static final String[] DFA12_transitionS = { static final String[] DFA12_transitionS = {
"\11\26\2\25\2\26\1\25\22\26\1\25\1\26\1\22\4\26\1\23\1\6\1\7\2\26\1\10\1\4\1\16\1\24\12\21\7\26\32\20\1\14\1\26\1\15\1\17\1\20\1\26\2\20\1\13\5\20\1\2\5\20\1\3\1\5\4\20\1\1\5\20\1\11\1\26\1\12\uff82\26", "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\1\14\1\15\2\35\1\16\1\24\1\25\1\33\12\30\7\35\5\27\1\6\2\27\1\5\1\11\1\27\1\12\5\27\1\7\1\10\1\4\6\27\1\22\1\35\1\23\1\26\1\27\1\35\2\27\1\21\5\27\1\2\5\27\1\3\1\13\4\27\1\1\5\27\1\17\1\35\1\20\uff82\35",
"\1\27", "\1\36",
"\1\31", "\1\40",
"\1\32", "\1\41",
"\1\33",
"\1\34",
"",
"",
"",
"",
"",
"\1\42", "\1\42",
"\1\43",
"\1\44\2\uffff\1\45\2\uffff\1\46",
"\1\47",
"\1\50",
"\1\51",
"\1\52",
"\1\53",
"", "",
"", "",
"", "",
"\32\30\4\uffff\1\30\1\uffff\32\30",
"",
"",
"\0\47",
"\0\47",
"\1\50\4\uffff\1\51",
"", "",
"\1\60",
"\1\62",
"", "",
"\1\53",
"", "",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\16\30\1\54\13\30", "\1\65",
"\1\56",
"\1\61\2\uffff\1\60\1\64\1\uffff\1\65\5\uffff\1\62\1\63\1\57",
"\1\66",
"", "",
"\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"", "",
"\0\70",
"\0\70",
"\1\71\4\uffff\1\72",
"", "",
"", "",
"\1\67", "\1\74",
"", "",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\16\37\1\75\13\37",
"\1\77",
"\1\100",
"\1\101",
"\1\102",
"\1\103",
"\1\104",
"\1\105",
"\1\106",
"\1\107",
"\1\110",
"\1\111",
"", "",
"", "",
"", "",
"", "",
"", "",
"", "",
"\1\112",
"", "",
"\1\70",
"\1\71",
"", "",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"", "",
"", "",
"\1\73\2\uffff\1\74\2\uffff\1\75",
"", "",
"\1\76",
"\1\77",
"", "",
"\1\100",
"\1\101",
"\1\102",
"\1\103",
"", "",
"", "",
"", "",
"\1\104",
"\1\105",
"\1\106",
"\1\107",
"\1\110",
"\1\111",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"\1\113", "\1\113",
"\1\114", "\1\114",
"\1\115", "",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\116", "\1\116",
"\1\117", "\1\117",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30", "\1\120",
"", "\1\121",
"\1\121\14\uffff\1\122", "\1\122",
"\1\123", "\1\123",
"\1\124\14\uffff\1\125", "\1\124",
"\1\125",
"\1\126", "\1\126",
"\1\127", "\1\127",
"\1\130",
"\1\131",
"\1\132",
"", "",
"\1\133",
"\1\134",
"\1\135",
"\1\136",
"\1\137\14\uffff\1\140",
"\1\141",
"\1\142",
"\1\143\14\uffff\1\144",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\146",
"\1\147",
"\1\150",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\152",
"\1\153",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\155",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\160",
"\1\161\14\uffff\1\162",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"\1\165",
"\1\166",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"\1\130\14\uffff\1\131", "\1\170",
"\1\171",
"", "",
"\1\172",
"", "",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"\1\133",
"", "",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"", "",
"\1\134", "\1\176",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30", "\1\177",
"",
"\1\u0080",
"\1\u0081",
"\1\u0082",
"",
"",
"",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\u0084",
"\1\u0085",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"",
"\1\u0088",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"",
"",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"",
"" ""
}; };
...@@ -1478,23 +1581,13 @@ public class InternalPatternLexer extends Lexer { ...@@ -1478,23 +1581,13 @@ public class InternalPatternLexer extends Lexer {
this.transition = DFA12_transition; this.transition = DFA12_transition;
} }
public String getDescription() { public String getDescription() {
return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
} }
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input; IntStream input = _input;
int _s = s; int _s = s;
switch ( s ) { switch ( s ) {
case 0 : case 0 :
int LA12_19 = input.LA(1);
s = -1;
if ( ((LA12_19>='\u0000' && LA12_19<='\uFFFF')) ) {s = 39;}
else s = 22;
if ( s>=0 ) return s;
break;
case 1 :
int LA12_0 = input.LA(1); int LA12_0 = input.LA(1);
s = -1; s = -1;
...@@ -1504,53 +1597,77 @@ public class InternalPatternLexer extends Lexer { ...@@ -1504,53 +1597,77 @@ public class InternalPatternLexer extends Lexer {
else if ( (LA12_0=='o') ) {s = 3;} else if ( (LA12_0=='o') ) {s = 3;}
else if ( (LA12_0=='-') ) {s = 4;} else if ( (LA12_0=='T') ) {s = 4;}
else if ( (LA12_0=='p') ) {s = 5;} else if ( (LA12_0=='I') ) {s = 5;}
else if ( (LA12_0=='(') ) {s = 6;} else if ( (LA12_0=='F') ) {s = 6;}
else if ( (LA12_0==')') ) {s = 7;} else if ( (LA12_0=='R') ) {s = 7;}
else if ( (LA12_0==',') ) {s = 8;} else if ( (LA12_0=='S') ) {s = 8;}
else if ( (LA12_0=='{') ) {s = 9;} else if ( (LA12_0=='J') ) {s = 9;}
else if ( (LA12_0=='}') ) {s = 10;} else if ( (LA12_0=='L') ) {s = 10;}
else if ( (LA12_0=='c') ) {s = 11;} else if ( (LA12_0=='p') ) {s = 11;}
else if ( (LA12_0=='[') ) {s = 12;} else if ( (LA12_0=='(') ) {s = 12;}
else if ( (LA12_0==']') ) {s = 13;} else if ( (LA12_0==')') ) {s = 13;}
else if ( (LA12_0=='.') ) {s = 14;} else if ( (LA12_0==',') ) {s = 14;}
else if ( (LA12_0=='^') ) {s = 15;} else if ( (LA12_0=='{') ) {s = 15;}
else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||(LA12_0>='d' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||(LA12_0>='q' && LA12_0<='t')||(LA12_0>='v' && LA12_0<='z')) ) {s = 16;} else if ( (LA12_0=='}') ) {s = 16;}
else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 17;} else if ( (LA12_0=='c') ) {s = 17;}
else if ( (LA12_0=='\"') ) {s = 18;} else if ( (LA12_0=='[') ) {s = 18;}
else if ( (LA12_0=='\'') ) {s = 19;} else if ( (LA12_0==']') ) {s = 19;}
else if ( (LA12_0=='/') ) {s = 20;} else if ( (LA12_0=='-') ) {s = 20;}
else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 21;} else if ( (LA12_0=='.') ) {s = 21;}
else if ( (LA12_0=='^') ) {s = 22;}
else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='H')||LA12_0=='K'||(LA12_0>='M' && LA12_0<='Q')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||(LA12_0>='d' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||(LA12_0>='q' && LA12_0<='t')||(LA12_0>='v' && LA12_0<='z')) ) {s = 23;}
else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
else if ( (LA12_0=='\"') ) {s = 25;}
else if ( (LA12_0=='\'') ) {s = 26;}
else if ( (LA12_0=='/') ) {s = 27;}
else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 28;}
else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 29;}
if ( s>=0 ) return s;
break;
case 1 :
int LA12_26 = input.LA(1);
s = -1;
if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 56;}
else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 22;} else s = 29;
if ( s>=0 ) return s; if ( s>=0 ) return s;
break; break;
case 2 : case 2 :
int LA12_18 = input.LA(1); int LA12_25 = input.LA(1);
s = -1; s = -1;
if ( ((LA12_18>='\u0000' && LA12_18<='\uFFFF')) ) {s = 39;} if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 56;}
else s = 22; else s = 29;
if ( s>=0 ) return s; if ( s>=0 ) return s;
break; break;
......
...@@ -22,13 +22,15 @@ import java.util.ArrayList; ...@@ -22,13 +22,15 @@ import java.util.ArrayList;
@SuppressWarnings("all") @SuppressWarnings("all")
public class InternalPatternParser extends AbstractInternalContentAssistParser { public class InternalPatternParser extends AbstractInternalContentAssistParser {
public static final String[] tokenNames = new String[] { public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'unspec'", "'in'", "'out'", "'inout'", "'-{Transpose}->'", "'-{Identity}->'", "'-{First}->'", "'-{Rotate}->'", "'-{ShiftC}->'", "'-{ShiftP}->'", "'-{FlattenC}->'", "'-{ForkC}->'", "'-{ForkP}->'", "'-{JoinC}->'", "'-{JoinP}->'", "'-{Last}->'", "'pattern'", "'('", "')'", "','", "'{'", "'}'", "'component'", "'['", "']'", "'.'" "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'unspec'", "'in'", "'out'", "'inout'", "'Transpose'", "'Identity'", "'First'", "'Rotate'", "'ShiftC'", "'ShiftP'", "'FlattenC'", "'ForkC'", "'ForkP'", "'JoinC'", "'JoinP'", "'Last'", "'pattern'", "'('", "')'", "','", "'{'", "'}'", "'component'", "'['", "']'", "'--{'", "'}->'", "'.'"
}; };
public static final int RULE_STRING=6; public static final int RULE_STRING=6;
public static final int RULE_SL_COMMENT=8; public static final int RULE_SL_COMMENT=8;
public static final int T__19=19; public static final int T__19=19;
public static final int T__15=15; public static final int T__15=15;
public static final int T__37=37;
public static final int T__16=16; public static final int T__16=16;
public static final int T__38=38;
public static final int T__17=17; public static final int T__17=17;
public static final int T__18=18; public static final int T__18=18;
public static final int T__11=11; public static final int T__11=11;
...@@ -1154,13 +1156,13 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1154,13 +1156,13 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__LinkType__Alternatives" // $ANTLR start "rule__LinkType__Alternatives"
// InternalPattern.g:351:1: rule__LinkType__Alternatives : ( ( ( '-{Transpose}->' ) ) | ( ( '-{Identity}->' ) ) | ( ( '-{First}->' ) ) | ( ( '-{Rotate}->' ) ) | ( ( '-{ShiftC}->' ) ) | ( ( '-{ShiftP}->' ) ) | ( ( '-{FlattenC}->' ) ) | ( ( '-{ForkC}->' ) ) | ( ( '-{ForkP}->' ) ) | ( ( '-{JoinC}->' ) ) | ( ( '-{JoinP}->' ) ) | ( ( '-{Last}->' ) ) ); // InternalPattern.g:351:1: rule__LinkType__Alternatives : ( ( ( 'Transpose' ) ) | ( ( 'Identity' ) ) | ( ( 'First' ) ) | ( ( 'Rotate' ) ) | ( ( 'ShiftC' ) ) | ( ( 'ShiftP' ) ) | ( ( 'FlattenC' ) ) | ( ( 'ForkC' ) ) | ( ( 'ForkP' ) ) | ( ( 'JoinC' ) ) | ( ( 'JoinP' ) ) | ( ( 'Last' ) ) );
public final void rule__LinkType__Alternatives() throws RecognitionException { public final void rule__LinkType__Alternatives() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:355:1: ( ( ( '-{Transpose}->' ) ) | ( ( '-{Identity}->' ) ) | ( ( '-{First}->' ) ) | ( ( '-{Rotate}->' ) ) | ( ( '-{ShiftC}->' ) ) | ( ( '-{ShiftP}->' ) ) | ( ( '-{FlattenC}->' ) ) | ( ( '-{ForkC}->' ) ) | ( ( '-{ForkP}->' ) ) | ( ( '-{JoinC}->' ) ) | ( ( '-{JoinP}->' ) ) | ( ( '-{Last}->' ) ) ) // InternalPattern.g:355:1: ( ( ( 'Transpose' ) ) | ( ( 'Identity' ) ) | ( ( 'First' ) ) | ( ( 'Rotate' ) ) | ( ( 'ShiftC' ) ) | ( ( 'ShiftP' ) ) | ( ( 'FlattenC' ) ) | ( ( 'ForkC' ) ) | ( ( 'ForkP' ) ) | ( ( 'JoinC' ) ) | ( ( 'JoinP' ) ) | ( ( 'Last' ) ) )
int alt6=12; int alt6=12;
switch ( input.LA(1) ) { switch ( input.LA(1) ) {
case 15: case 15:
...@@ -1232,14 +1234,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1232,14 +1234,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
switch (alt6) { switch (alt6) {
case 1 : case 1 :
// InternalPattern.g:356:2: ( ( '-{Transpose}->' ) ) // InternalPattern.g:356:2: ( ( 'Transpose' ) )
{ {
// InternalPattern.g:356:2: ( ( '-{Transpose}->' ) ) // InternalPattern.g:356:2: ( ( 'Transpose' ) )
// InternalPattern.g:357:3: ( '-{Transpose}->' ) // InternalPattern.g:357:3: ( 'Transpose' )
{ {
before(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); before(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0());
// InternalPattern.g:358:3: ( '-{Transpose}->' ) // InternalPattern.g:358:3: ( 'Transpose' )
// InternalPattern.g:358:4: '-{Transpose}->' // InternalPattern.g:358:4: 'Transpose'
{ {
match(input,15,FOLLOW_2); match(input,15,FOLLOW_2);
...@@ -1253,14 +1255,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1253,14 +1255,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:362:2: ( ( '-{Identity}->' ) ) // InternalPattern.g:362:2: ( ( 'Identity' ) )
{ {
// InternalPattern.g:362:2: ( ( '-{Identity}->' ) ) // InternalPattern.g:362:2: ( ( 'Identity' ) )
// InternalPattern.g:363:3: ( '-{Identity}->' ) // InternalPattern.g:363:3: ( 'Identity' )
{ {
before(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); before(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1());
// InternalPattern.g:364:3: ( '-{Identity}->' ) // InternalPattern.g:364:3: ( 'Identity' )
// InternalPattern.g:364:4: '-{Identity}->' // InternalPattern.g:364:4: 'Identity'
{ {
match(input,16,FOLLOW_2); match(input,16,FOLLOW_2);
...@@ -1274,14 +1276,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1274,14 +1276,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 3 : case 3 :
// InternalPattern.g:368:2: ( ( '-{First}->' ) ) // InternalPattern.g:368:2: ( ( 'First' ) )
{ {
// InternalPattern.g:368:2: ( ( '-{First}->' ) ) // InternalPattern.g:368:2: ( ( 'First' ) )
// InternalPattern.g:369:3: ( '-{First}->' ) // InternalPattern.g:369:3: ( 'First' )
{ {
before(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); before(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2());
// InternalPattern.g:370:3: ( '-{First}->' ) // InternalPattern.g:370:3: ( 'First' )
// InternalPattern.g:370:4: '-{First}->' // InternalPattern.g:370:4: 'First'
{ {
match(input,17,FOLLOW_2); match(input,17,FOLLOW_2);
...@@ -1295,14 +1297,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1295,14 +1297,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 4 : case 4 :
// InternalPattern.g:374:2: ( ( '-{Rotate}->' ) ) // InternalPattern.g:374:2: ( ( 'Rotate' ) )
{ {
// InternalPattern.g:374:2: ( ( '-{Rotate}->' ) ) // InternalPattern.g:374:2: ( ( 'Rotate' ) )
// InternalPattern.g:375:3: ( '-{Rotate}->' ) // InternalPattern.g:375:3: ( 'Rotate' )
{ {
before(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); before(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3());
// InternalPattern.g:376:3: ( '-{Rotate}->' ) // InternalPattern.g:376:3: ( 'Rotate' )
// InternalPattern.g:376:4: '-{Rotate}->' // InternalPattern.g:376:4: 'Rotate'
{ {
match(input,18,FOLLOW_2); match(input,18,FOLLOW_2);
...@@ -1316,14 +1318,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1316,14 +1318,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 5 : case 5 :
// InternalPattern.g:380:2: ( ( '-{ShiftC}->' ) ) // InternalPattern.g:380:2: ( ( 'ShiftC' ) )
{ {
// InternalPattern.g:380:2: ( ( '-{ShiftC}->' ) ) // InternalPattern.g:380:2: ( ( 'ShiftC' ) )
// InternalPattern.g:381:3: ( '-{ShiftC}->' ) // InternalPattern.g:381:3: ( 'ShiftC' )
{ {
before(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); before(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4());
// InternalPattern.g:382:3: ( '-{ShiftC}->' ) // InternalPattern.g:382:3: ( 'ShiftC' )
// InternalPattern.g:382:4: '-{ShiftC}->' // InternalPattern.g:382:4: 'ShiftC'
{ {
match(input,19,FOLLOW_2); match(input,19,FOLLOW_2);
...@@ -1337,14 +1339,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1337,14 +1339,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 6 : case 6 :
// InternalPattern.g:386:2: ( ( '-{ShiftP}->' ) ) // InternalPattern.g:386:2: ( ( 'ShiftP' ) )
{ {
// InternalPattern.g:386:2: ( ( '-{ShiftP}->' ) ) // InternalPattern.g:386:2: ( ( 'ShiftP' ) )
// InternalPattern.g:387:3: ( '-{ShiftP}->' ) // InternalPattern.g:387:3: ( 'ShiftP' )
{ {
before(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); before(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5());
// InternalPattern.g:388:3: ( '-{ShiftP}->' ) // InternalPattern.g:388:3: ( 'ShiftP' )
// InternalPattern.g:388:4: '-{ShiftP}->' // InternalPattern.g:388:4: 'ShiftP'
{ {
match(input,20,FOLLOW_2); match(input,20,FOLLOW_2);
...@@ -1358,14 +1360,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1358,14 +1360,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 7 : case 7 :
// InternalPattern.g:392:2: ( ( '-{FlattenC}->' ) ) // InternalPattern.g:392:2: ( ( 'FlattenC' ) )
{ {
// InternalPattern.g:392:2: ( ( '-{FlattenC}->' ) ) // InternalPattern.g:392:2: ( ( 'FlattenC' ) )
// InternalPattern.g:393:3: ( '-{FlattenC}->' ) // InternalPattern.g:393:3: ( 'FlattenC' )
{ {
before(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); before(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6());
// InternalPattern.g:394:3: ( '-{FlattenC}->' ) // InternalPattern.g:394:3: ( 'FlattenC' )
// InternalPattern.g:394:4: '-{FlattenC}->' // InternalPattern.g:394:4: 'FlattenC'
{ {
match(input,21,FOLLOW_2); match(input,21,FOLLOW_2);
...@@ -1379,14 +1381,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1379,14 +1381,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 8 : case 8 :
// InternalPattern.g:398:2: ( ( '-{ForkC}->' ) ) // InternalPattern.g:398:2: ( ( 'ForkC' ) )
{ {
// InternalPattern.g:398:2: ( ( '-{ForkC}->' ) ) // InternalPattern.g:398:2: ( ( 'ForkC' ) )
// InternalPattern.g:399:3: ( '-{ForkC}->' ) // InternalPattern.g:399:3: ( 'ForkC' )
{ {
before(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); before(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7());
// InternalPattern.g:400:3: ( '-{ForkC}->' ) // InternalPattern.g:400:3: ( 'ForkC' )
// InternalPattern.g:400:4: '-{ForkC}->' // InternalPattern.g:400:4: 'ForkC'
{ {
match(input,22,FOLLOW_2); match(input,22,FOLLOW_2);
...@@ -1400,14 +1402,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1400,14 +1402,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 9 : case 9 :
// InternalPattern.g:404:2: ( ( '-{ForkP}->' ) ) // InternalPattern.g:404:2: ( ( 'ForkP' ) )
{ {
// InternalPattern.g:404:2: ( ( '-{ForkP}->' ) ) // InternalPattern.g:404:2: ( ( 'ForkP' ) )
// InternalPattern.g:405:3: ( '-{ForkP}->' ) // InternalPattern.g:405:3: ( 'ForkP' )
{ {
before(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); before(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8());
// InternalPattern.g:406:3: ( '-{ForkP}->' ) // InternalPattern.g:406:3: ( 'ForkP' )
// InternalPattern.g:406:4: '-{ForkP}->' // InternalPattern.g:406:4: 'ForkP'
{ {
match(input,23,FOLLOW_2); match(input,23,FOLLOW_2);
...@@ -1421,14 +1423,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1421,14 +1423,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 10 : case 10 :
// InternalPattern.g:410:2: ( ( '-{JoinC}->' ) ) // InternalPattern.g:410:2: ( ( 'JoinC' ) )
{ {
// InternalPattern.g:410:2: ( ( '-{JoinC}->' ) ) // InternalPattern.g:410:2: ( ( 'JoinC' ) )
// InternalPattern.g:411:3: ( '-{JoinC}->' ) // InternalPattern.g:411:3: ( 'JoinC' )
{ {
before(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); before(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9());
// InternalPattern.g:412:3: ( '-{JoinC}->' ) // InternalPattern.g:412:3: ( 'JoinC' )
// InternalPattern.g:412:4: '-{JoinC}->' // InternalPattern.g:412:4: 'JoinC'
{ {
match(input,24,FOLLOW_2); match(input,24,FOLLOW_2);
...@@ -1442,14 +1444,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1442,14 +1444,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 11 : case 11 :
// InternalPattern.g:416:2: ( ( '-{JoinP}->' ) ) // InternalPattern.g:416:2: ( ( 'JoinP' ) )
{ {
// InternalPattern.g:416:2: ( ( '-{JoinP}->' ) ) // InternalPattern.g:416:2: ( ( 'JoinP' ) )
// InternalPattern.g:417:3: ( '-{JoinP}->' ) // InternalPattern.g:417:3: ( 'JoinP' )
{ {
before(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); before(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10());
// InternalPattern.g:418:3: ( '-{JoinP}->' ) // InternalPattern.g:418:3: ( 'JoinP' )
// InternalPattern.g:418:4: '-{JoinP}->' // InternalPattern.g:418:4: 'JoinP'
{ {
match(input,25,FOLLOW_2); match(input,25,FOLLOW_2);
...@@ -1463,14 +1465,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -1463,14 +1465,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
break; break;
case 12 : case 12 :
// InternalPattern.g:422:2: ( ( '-{Last}->' ) ) // InternalPattern.g:422:2: ( ( 'Last' ) )
{ {
// InternalPattern.g:422:2: ( ( '-{Last}->' ) ) // InternalPattern.g:422:2: ( ( 'Last' ) )
// InternalPattern.g:423:3: ( '-{Last}->' ) // InternalPattern.g:423:3: ( 'Last' )
{ {
before(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); before(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11());
// InternalPattern.g:424:3: ( '-{Last}->' ) // InternalPattern.g:424:3: ( 'Last' )
// InternalPattern.g:424:4: '-{Last}->' // InternalPattern.g:424:4: 'Last'
{ {
match(input,26,FOLLOW_2); match(input,26,FOLLOW_2);
...@@ -4607,31 +4609,106 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4607,31 +4609,106 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternLink__Group__1__Impl" // $ANTLR start "rule__PatternLink__Group__1__Impl"
// InternalPattern.g:1443:1: rule__PatternLink__Group__1__Impl : ( ( rule__PatternLink__LinkTypeAssignment_1 ) ) ; // InternalPattern.g:1443:1: rule__PatternLink__Group__1__Impl : ( '--{' ) ;
public final void rule__PatternLink__Group__1__Impl() throws RecognitionException { public final void rule__PatternLink__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1447:1: ( ( ( rule__PatternLink__LinkTypeAssignment_1 ) ) ) // InternalPattern.g:1447:1: ( ( '--{' ) )
// InternalPattern.g:1448:1: ( ( rule__PatternLink__LinkTypeAssignment_1 ) ) // InternalPattern.g:1448:1: ( '--{' )
{ {
// InternalPattern.g:1448:1: ( ( rule__PatternLink__LinkTypeAssignment_1 ) ) // InternalPattern.g:1448:1: ( '--{' )
// InternalPattern.g:1449:2: ( rule__PatternLink__LinkTypeAssignment_1 ) // InternalPattern.g:1449:2: '--{'
{ {
before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1()); before(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1());
// InternalPattern.g:1450:2: ( rule__PatternLink__LinkTypeAssignment_1 ) match(input,36,FOLLOW_2);
// InternalPattern.g:1450:3: rule__PatternLink__LinkTypeAssignment_1 after(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1());
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
restoreStackSize(stackSize);
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__1__Impl"
// $ANTLR start "rule__PatternLink__Group__2"
// InternalPattern.g:1458:1: rule__PatternLink__Group__2 : rule__PatternLink__Group__2__Impl rule__PatternLink__Group__3 ;
public final void rule__PatternLink__Group__2() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1462:1: ( rule__PatternLink__Group__2__Impl rule__PatternLink__Group__3 )
// InternalPattern.g:1463:2: rule__PatternLink__Group__2__Impl rule__PatternLink__Group__3
{
pushFollow(FOLLOW_19);
rule__PatternLink__Group__2__Impl();
state._fsp--;
pushFollow(FOLLOW_2);
rule__PatternLink__Group__3();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
restoreStackSize(stackSize);
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__2"
// $ANTLR start "rule__PatternLink__Group__2__Impl"
// InternalPattern.g:1470:1: rule__PatternLink__Group__2__Impl : ( ( rule__PatternLink__LinkTypeAssignment_2 ) ) ;
public final void rule__PatternLink__Group__2__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1474:1: ( ( ( rule__PatternLink__LinkTypeAssignment_2 ) ) )
// InternalPattern.g:1475:1: ( ( rule__PatternLink__LinkTypeAssignment_2 ) )
{
// InternalPattern.g:1475:1: ( ( rule__PatternLink__LinkTypeAssignment_2 ) )
// InternalPattern.g:1476:2: ( rule__PatternLink__LinkTypeAssignment_2 )
{
before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2());
// InternalPattern.g:1477:2: ( rule__PatternLink__LinkTypeAssignment_2 )
// InternalPattern.g:1477:3: rule__PatternLink__LinkTypeAssignment_2
{ {
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
rule__PatternLink__LinkTypeAssignment_1(); rule__PatternLink__LinkTypeAssignment_2();
state._fsp--; state._fsp--;
} }
after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1()); after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2());
} }
...@@ -4650,21 +4727,26 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4650,21 +4727,26 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
return ; return ;
} }
// $ANTLR end "rule__PatternLink__Group__1__Impl" // $ANTLR end "rule__PatternLink__Group__2__Impl"
// $ANTLR start "rule__PatternLink__Group__2" // $ANTLR start "rule__PatternLink__Group__3"
// InternalPattern.g:1458:1: rule__PatternLink__Group__2 : rule__PatternLink__Group__2__Impl ; // InternalPattern.g:1485:1: rule__PatternLink__Group__3 : rule__PatternLink__Group__3__Impl rule__PatternLink__Group__4 ;
public final void rule__PatternLink__Group__2() throws RecognitionException { public final void rule__PatternLink__Group__3() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1462:1: ( rule__PatternLink__Group__2__Impl ) // InternalPattern.g:1489:1: ( rule__PatternLink__Group__3__Impl rule__PatternLink__Group__4 )
// InternalPattern.g:1463:2: rule__PatternLink__Group__2__Impl // InternalPattern.g:1490:2: rule__PatternLink__Group__3__Impl rule__PatternLink__Group__4
{ {
pushFollow(FOLLOW_20);
rule__PatternLink__Group__3__Impl();
state._fsp--;
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
rule__PatternLink__Group__2__Impl(); rule__PatternLink__Group__4();
state._fsp--; state._fsp--;
...@@ -4683,35 +4765,105 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4683,35 +4765,105 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
return ; return ;
} }
// $ANTLR end "rule__PatternLink__Group__2" // $ANTLR end "rule__PatternLink__Group__3"
// $ANTLR start "rule__PatternLink__Group__2__Impl" // $ANTLR start "rule__PatternLink__Group__3__Impl"
// InternalPattern.g:1469:1: rule__PatternLink__Group__2__Impl : ( ( rule__PatternLink__DstAssignment_2 ) ) ; // InternalPattern.g:1497:1: rule__PatternLink__Group__3__Impl : ( '}->' ) ;
public final void rule__PatternLink__Group__2__Impl() throws RecognitionException { public final void rule__PatternLink__Group__3__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1501:1: ( ( '}->' ) )
// InternalPattern.g:1502:1: ( '}->' )
{
// InternalPattern.g:1502:1: ( '}->' )
// InternalPattern.g:1503:2: '}->'
{
before(grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3());
match(input,37,FOLLOW_2);
after(grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3());
}
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
restoreStackSize(stackSize);
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__3__Impl"
// $ANTLR start "rule__PatternLink__Group__4"
// InternalPattern.g:1512:1: rule__PatternLink__Group__4 : rule__PatternLink__Group__4__Impl ;
public final void rule__PatternLink__Group__4() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1473:1: ( ( ( rule__PatternLink__DstAssignment_2 ) ) ) // InternalPattern.g:1516:1: ( rule__PatternLink__Group__4__Impl )
// InternalPattern.g:1474:1: ( ( rule__PatternLink__DstAssignment_2 ) ) // InternalPattern.g:1517:2: rule__PatternLink__Group__4__Impl
{ {
// InternalPattern.g:1474:1: ( ( rule__PatternLink__DstAssignment_2 ) ) pushFollow(FOLLOW_2);
// InternalPattern.g:1475:2: ( rule__PatternLink__DstAssignment_2 ) rule__PatternLink__Group__4__Impl();
state._fsp--;
}
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
}
finally {
restoreStackSize(stackSize);
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__4"
// $ANTLR start "rule__PatternLink__Group__4__Impl"
// InternalPattern.g:1523:1: rule__PatternLink__Group__4__Impl : ( ( rule__PatternLink__DstAssignment_4 ) ) ;
public final void rule__PatternLink__Group__4__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1527:1: ( ( ( rule__PatternLink__DstAssignment_4 ) ) )
// InternalPattern.g:1528:1: ( ( rule__PatternLink__DstAssignment_4 ) )
{
// InternalPattern.g:1528:1: ( ( rule__PatternLink__DstAssignment_4 ) )
// InternalPattern.g:1529:2: ( rule__PatternLink__DstAssignment_4 )
{ {
before(grammarAccess.getPatternLinkAccess().getDstAssignment_2()); before(grammarAccess.getPatternLinkAccess().getDstAssignment_4());
// InternalPattern.g:1476:2: ( rule__PatternLink__DstAssignment_2 ) // InternalPattern.g:1530:2: ( rule__PatternLink__DstAssignment_4 )
// InternalPattern.g:1476:3: rule__PatternLink__DstAssignment_2 // InternalPattern.g:1530:3: rule__PatternLink__DstAssignment_4
{ {
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
rule__PatternLink__DstAssignment_2(); rule__PatternLink__DstAssignment_4();
state._fsp--; state._fsp--;
} }
after(grammarAccess.getPatternLinkAccess().getDstAssignment_2()); after(grammarAccess.getPatternLinkAccess().getDstAssignment_4());
} }
...@@ -4730,20 +4882,20 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4730,20 +4882,20 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
return ; return ;
} }
// $ANTLR end "rule__PatternLink__Group__2__Impl" // $ANTLR end "rule__PatternLink__Group__4__Impl"
// $ANTLR start "rule__QualifiedID__Group__0" // $ANTLR start "rule__QualifiedID__Group__0"
// InternalPattern.g:1485:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ; // InternalPattern.g:1539:1: rule__QualifiedID__Group__0 : rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ;
public final void rule__QualifiedID__Group__0() throws RecognitionException { public final void rule__QualifiedID__Group__0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1489:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 ) // InternalPattern.g:1543:1: ( rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 )
// InternalPattern.g:1490:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1 // InternalPattern.g:1544:2: rule__QualifiedID__Group__0__Impl rule__QualifiedID__Group__1
{ {
pushFollow(FOLLOW_19); pushFollow(FOLLOW_21);
rule__QualifiedID__Group__0__Impl(); rule__QualifiedID__Group__0__Impl();
state._fsp--; state._fsp--;
...@@ -4772,17 +4924,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4772,17 +4924,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group__0__Impl" // $ANTLR start "rule__QualifiedID__Group__0__Impl"
// InternalPattern.g:1497:1: rule__QualifiedID__Group__0__Impl : ( RULE_ID ) ; // InternalPattern.g:1551:1: rule__QualifiedID__Group__0__Impl : ( RULE_ID ) ;
public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException { public final void rule__QualifiedID__Group__0__Impl() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1501:1: ( ( RULE_ID ) ) // InternalPattern.g:1555:1: ( ( RULE_ID ) )
// InternalPattern.g:1502:1: ( RULE_ID ) // InternalPattern.g:1556:1: ( RULE_ID )
{ {
// InternalPattern.g:1502:1: ( RULE_ID ) // InternalPattern.g:1556:1: ( RULE_ID )
// InternalPattern.g:1503:2: RULE_ID // InternalPattern.g:1557:2: RULE_ID
{ {
before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -4809,14 +4961,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4809,14 +4961,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group__1" // $ANTLR start "rule__QualifiedID__Group__1"
// InternalPattern.g:1512:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ; // InternalPattern.g:1566:1: rule__QualifiedID__Group__1 : rule__QualifiedID__Group__1__Impl ;
public final void rule__QualifiedID__Group__1() throws RecognitionException { public final void rule__QualifiedID__Group__1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1516:1: ( rule__QualifiedID__Group__1__Impl ) // InternalPattern.g:1570:1: ( rule__QualifiedID__Group__1__Impl )
// InternalPattern.g:1517:2: rule__QualifiedID__Group__1__Impl // InternalPattern.g:1571:2: rule__QualifiedID__Group__1__Impl
{ {
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
rule__QualifiedID__Group__1__Impl(); rule__QualifiedID__Group__1__Impl();
...@@ -4842,35 +4994,35 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4842,35 +4994,35 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group__1__Impl" // $ANTLR start "rule__QualifiedID__Group__1__Impl"
// InternalPattern.g:1523:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ; // InternalPattern.g:1577:1: rule__QualifiedID__Group__1__Impl : ( ( rule__QualifiedID__Group_1__0 )* ) ;
public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException { public final void rule__QualifiedID__Group__1__Impl() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1527:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) ) // InternalPattern.g:1581:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) )
// InternalPattern.g:1528:1: ( ( rule__QualifiedID__Group_1__0 )* ) // InternalPattern.g:1582:1: ( ( rule__QualifiedID__Group_1__0 )* )
{ {
// InternalPattern.g:1528:1: ( ( rule__QualifiedID__Group_1__0 )* ) // InternalPattern.g:1582:1: ( ( rule__QualifiedID__Group_1__0 )* )
// InternalPattern.g:1529:2: ( rule__QualifiedID__Group_1__0 )* // InternalPattern.g:1583:2: ( rule__QualifiedID__Group_1__0 )*
{ {
before(grammarAccess.getQualifiedIDAccess().getGroup_1()); before(grammarAccess.getQualifiedIDAccess().getGroup_1());
// InternalPattern.g:1530:2: ( rule__QualifiedID__Group_1__0 )* // InternalPattern.g:1584:2: ( rule__QualifiedID__Group_1__0 )*
loop17: loop17:
do { do {
int alt17=2; int alt17=2;
int LA17_0 = input.LA(1); int LA17_0 = input.LA(1);
if ( (LA17_0==36) ) { if ( (LA17_0==38) ) {
alt17=1; alt17=1;
} }
switch (alt17) { switch (alt17) {
case 1 : case 1 :
// InternalPattern.g:1530:3: rule__QualifiedID__Group_1__0 // InternalPattern.g:1584:3: rule__QualifiedID__Group_1__0
{ {
pushFollow(FOLLOW_20); pushFollow(FOLLOW_22);
rule__QualifiedID__Group_1__0(); rule__QualifiedID__Group_1__0();
state._fsp--; state._fsp--;
...@@ -4907,14 +5059,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4907,14 +5059,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group_1__0" // $ANTLR start "rule__QualifiedID__Group_1__0"
// InternalPattern.g:1539:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ; // InternalPattern.g:1593:1: rule__QualifiedID__Group_1__0 : rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ;
public final void rule__QualifiedID__Group_1__0() throws RecognitionException { public final void rule__QualifiedID__Group_1__0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1543:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 ) // InternalPattern.g:1597:1: ( rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 )
// InternalPattern.g:1544:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1 // InternalPattern.g:1598:2: rule__QualifiedID__Group_1__0__Impl rule__QualifiedID__Group_1__1
{ {
pushFollow(FOLLOW_3); pushFollow(FOLLOW_3);
rule__QualifiedID__Group_1__0__Impl(); rule__QualifiedID__Group_1__0__Impl();
...@@ -4945,20 +5097,20 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4945,20 +5097,20 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group_1__0__Impl" // $ANTLR start "rule__QualifiedID__Group_1__0__Impl"
// InternalPattern.g:1551:1: rule__QualifiedID__Group_1__0__Impl : ( '.' ) ; // InternalPattern.g:1605:1: rule__QualifiedID__Group_1__0__Impl : ( '.' ) ;
public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException { public final void rule__QualifiedID__Group_1__0__Impl() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1555:1: ( ( '.' ) ) // InternalPattern.g:1609:1: ( ( '.' ) )
// InternalPattern.g:1556:1: ( '.' ) // InternalPattern.g:1610:1: ( '.' )
{ {
// InternalPattern.g:1556:1: ( '.' ) // InternalPattern.g:1610:1: ( '.' )
// InternalPattern.g:1557:2: '.' // InternalPattern.g:1611:2: '.'
{ {
before(grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0()); before(grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0());
match(input,36,FOLLOW_2); match(input,38,FOLLOW_2);
after(grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0()); after(grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0());
} }
...@@ -4982,14 +5134,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -4982,14 +5134,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group_1__1" // $ANTLR start "rule__QualifiedID__Group_1__1"
// InternalPattern.g:1566:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ; // InternalPattern.g:1620:1: rule__QualifiedID__Group_1__1 : rule__QualifiedID__Group_1__1__Impl ;
public final void rule__QualifiedID__Group_1__1() throws RecognitionException { public final void rule__QualifiedID__Group_1__1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1570:1: ( rule__QualifiedID__Group_1__1__Impl ) // InternalPattern.g:1624:1: ( rule__QualifiedID__Group_1__1__Impl )
// InternalPattern.g:1571:2: rule__QualifiedID__Group_1__1__Impl // InternalPattern.g:1625:2: rule__QualifiedID__Group_1__1__Impl
{ {
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
rule__QualifiedID__Group_1__1__Impl(); rule__QualifiedID__Group_1__1__Impl();
...@@ -5015,17 +5167,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5015,17 +5167,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__QualifiedID__Group_1__1__Impl" // $ANTLR start "rule__QualifiedID__Group_1__1__Impl"
// InternalPattern.g:1577:1: rule__QualifiedID__Group_1__1__Impl : ( RULE_ID ) ; // InternalPattern.g:1631:1: rule__QualifiedID__Group_1__1__Impl : ( RULE_ID ) ;
public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException { public final void rule__QualifiedID__Group_1__1__Impl() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1581:1: ( ( RULE_ID ) ) // InternalPattern.g:1635:1: ( ( RULE_ID ) )
// InternalPattern.g:1582:1: ( RULE_ID ) // InternalPattern.g:1636:1: ( RULE_ID )
{ {
// InternalPattern.g:1582:1: ( RULE_ID ) // InternalPattern.g:1636:1: ( RULE_ID )
// InternalPattern.g:1583:2: RULE_ID // InternalPattern.g:1637:2: RULE_ID
{ {
before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1()); before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5052,17 +5204,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5052,17 +5204,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__Pattern__NameAssignment_1" // $ANTLR start "rule__Pattern__NameAssignment_1"
// InternalPattern.g:1593:1: rule__Pattern__NameAssignment_1 : ( RULE_ID ) ; // InternalPattern.g:1647:1: rule__Pattern__NameAssignment_1 : ( RULE_ID ) ;
public final void rule__Pattern__NameAssignment_1() throws RecognitionException { public final void rule__Pattern__NameAssignment_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1597:1: ( ( RULE_ID ) ) // InternalPattern.g:1651:1: ( ( RULE_ID ) )
// InternalPattern.g:1598:2: ( RULE_ID ) // InternalPattern.g:1652:2: ( RULE_ID )
{ {
// InternalPattern.g:1598:2: ( RULE_ID ) // InternalPattern.g:1652:2: ( RULE_ID )
// InternalPattern.g:1599:3: RULE_ID // InternalPattern.g:1653:3: RULE_ID
{ {
before(grammarAccess.getPatternAccess().getNameIDTerminalRuleCall_1_0()); before(grammarAccess.getPatternAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5089,17 +5241,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5089,17 +5241,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__Pattern__CardinalityElementsAssignment_3_0" // $ANTLR start "rule__Pattern__CardinalityElementsAssignment_3_0"
// InternalPattern.g:1608:1: rule__Pattern__CardinalityElementsAssignment_3_0 : ( ruleCardinalityElement ) ; // InternalPattern.g:1662:1: rule__Pattern__CardinalityElementsAssignment_3_0 : ( ruleCardinalityElement ) ;
public final void rule__Pattern__CardinalityElementsAssignment_3_0() throws RecognitionException { public final void rule__Pattern__CardinalityElementsAssignment_3_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1612:1: ( ( ruleCardinalityElement ) ) // InternalPattern.g:1666:1: ( ( ruleCardinalityElement ) )
// InternalPattern.g:1613:2: ( ruleCardinalityElement ) // InternalPattern.g:1667:2: ( ruleCardinalityElement )
{ {
// InternalPattern.g:1613:2: ( ruleCardinalityElement ) // InternalPattern.g:1667:2: ( ruleCardinalityElement )
// InternalPattern.g:1614:3: ruleCardinalityElement // InternalPattern.g:1668:3: ruleCardinalityElement
{ {
before(grammarAccess.getPatternAccess().getCardinalityElementsCardinalityElementParserRuleCall_3_0_0()); before(grammarAccess.getPatternAccess().getCardinalityElementsCardinalityElementParserRuleCall_3_0_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5130,17 +5282,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5130,17 +5282,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__Pattern__CardinalityElementsAssignment_3_1_1" // $ANTLR start "rule__Pattern__CardinalityElementsAssignment_3_1_1"
// InternalPattern.g:1623:1: rule__Pattern__CardinalityElementsAssignment_3_1_1 : ( ruleCardinalityElement ) ; // InternalPattern.g:1677:1: rule__Pattern__CardinalityElementsAssignment_3_1_1 : ( ruleCardinalityElement ) ;
public final void rule__Pattern__CardinalityElementsAssignment_3_1_1() throws RecognitionException { public final void rule__Pattern__CardinalityElementsAssignment_3_1_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1627:1: ( ( ruleCardinalityElement ) ) // InternalPattern.g:1681:1: ( ( ruleCardinalityElement ) )
// InternalPattern.g:1628:2: ( ruleCardinalityElement ) // InternalPattern.g:1682:2: ( ruleCardinalityElement )
{ {
// InternalPattern.g:1628:2: ( ruleCardinalityElement ) // InternalPattern.g:1682:2: ( ruleCardinalityElement )
// InternalPattern.g:1629:3: ruleCardinalityElement // InternalPattern.g:1683:3: ruleCardinalityElement
{ {
before(grammarAccess.getPatternAccess().getCardinalityElementsCardinalityElementParserRuleCall_3_1_1_0()); before(grammarAccess.getPatternAccess().getCardinalityElementsCardinalityElementParserRuleCall_3_1_1_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5171,17 +5323,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5171,17 +5323,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__Pattern__ModelElementsAssignment_5_1_0" // $ANTLR start "rule__Pattern__ModelElementsAssignment_5_1_0"
// InternalPattern.g:1638:1: rule__Pattern__ModelElementsAssignment_5_1_0 : ( rulePatternComponent ) ; // InternalPattern.g:1692:1: rule__Pattern__ModelElementsAssignment_5_1_0 : ( rulePatternComponent ) ;
public final void rule__Pattern__ModelElementsAssignment_5_1_0() throws RecognitionException { public final void rule__Pattern__ModelElementsAssignment_5_1_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1642:1: ( ( rulePatternComponent ) ) // InternalPattern.g:1696:1: ( ( rulePatternComponent ) )
// InternalPattern.g:1643:2: ( rulePatternComponent ) // InternalPattern.g:1697:2: ( rulePatternComponent )
{ {
// InternalPattern.g:1643:2: ( rulePatternComponent ) // InternalPattern.g:1697:2: ( rulePatternComponent )
// InternalPattern.g:1644:3: rulePatternComponent // InternalPattern.g:1698:3: rulePatternComponent
{ {
before(grammarAccess.getPatternAccess().getModelElementsPatternComponentParserRuleCall_5_1_0_0()); before(grammarAccess.getPatternAccess().getModelElementsPatternComponentParserRuleCall_5_1_0_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5212,17 +5364,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5212,17 +5364,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__Pattern__ModelElementsAssignment_5_1_1" // $ANTLR start "rule__Pattern__ModelElementsAssignment_5_1_1"
// InternalPattern.g:1653:1: rule__Pattern__ModelElementsAssignment_5_1_1 : ( rulePatternLink ) ; // InternalPattern.g:1707:1: rule__Pattern__ModelElementsAssignment_5_1_1 : ( rulePatternLink ) ;
public final void rule__Pattern__ModelElementsAssignment_5_1_1() throws RecognitionException { public final void rule__Pattern__ModelElementsAssignment_5_1_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1657:1: ( ( rulePatternLink ) ) // InternalPattern.g:1711:1: ( ( rulePatternLink ) )
// InternalPattern.g:1658:2: ( rulePatternLink ) // InternalPattern.g:1712:2: ( rulePatternLink )
{ {
// InternalPattern.g:1658:2: ( rulePatternLink ) // InternalPattern.g:1712:2: ( rulePatternLink )
// InternalPattern.g:1659:3: rulePatternLink // InternalPattern.g:1713:3: rulePatternLink
{ {
before(grammarAccess.getPatternAccess().getModelElementsPatternLinkParserRuleCall_5_1_1_0()); before(grammarAccess.getPatternAccess().getModelElementsPatternLinkParserRuleCall_5_1_1_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5253,17 +5405,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5253,17 +5405,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__NameAssignment_1" // $ANTLR start "rule__PatternComponent__NameAssignment_1"
// InternalPattern.g:1668:1: rule__PatternComponent__NameAssignment_1 : ( RULE_ID ) ; // InternalPattern.g:1722:1: rule__PatternComponent__NameAssignment_1 : ( RULE_ID ) ;
public final void rule__PatternComponent__NameAssignment_1() throws RecognitionException { public final void rule__PatternComponent__NameAssignment_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1672:1: ( ( RULE_ID ) ) // InternalPattern.g:1726:1: ( ( RULE_ID ) )
// InternalPattern.g:1673:2: ( RULE_ID ) // InternalPattern.g:1727:2: ( RULE_ID )
{ {
// InternalPattern.g:1673:2: ( RULE_ID ) // InternalPattern.g:1727:2: ( RULE_ID )
// InternalPattern.g:1674:3: RULE_ID // InternalPattern.g:1728:3: RULE_ID
{ {
before(grammarAccess.getPatternComponentAccess().getNameIDTerminalRuleCall_1_0()); before(grammarAccess.getPatternComponentAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5290,17 +5442,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5290,17 +5442,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__MultiplicityValueAssignment_2_1_0" // $ANTLR start "rule__PatternComponent__MultiplicityValueAssignment_2_1_0"
// InternalPattern.g:1683:1: rule__PatternComponent__MultiplicityValueAssignment_2_1_0 : ( RULE_INT ) ; // InternalPattern.g:1737:1: rule__PatternComponent__MultiplicityValueAssignment_2_1_0 : ( RULE_INT ) ;
public final void rule__PatternComponent__MultiplicityValueAssignment_2_1_0() throws RecognitionException { public final void rule__PatternComponent__MultiplicityValueAssignment_2_1_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1687:1: ( ( RULE_INT ) ) // InternalPattern.g:1741:1: ( ( RULE_INT ) )
// InternalPattern.g:1688:2: ( RULE_INT ) // InternalPattern.g:1742:2: ( RULE_INT )
{ {
// InternalPattern.g:1688:2: ( RULE_INT ) // InternalPattern.g:1742:2: ( RULE_INT )
// InternalPattern.g:1689:3: RULE_INT // InternalPattern.g:1743:3: RULE_INT
{ {
before(grammarAccess.getPatternComponentAccess().getMultiplicityValueINTTerminalRuleCall_2_1_0_0()); before(grammarAccess.getPatternComponentAccess().getMultiplicityValueINTTerminalRuleCall_2_1_0_0());
match(input,RULE_INT,FOLLOW_2); match(input,RULE_INT,FOLLOW_2);
...@@ -5327,21 +5479,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5327,21 +5479,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__CardinalityElementAssignment_2_1_1" // $ANTLR start "rule__PatternComponent__CardinalityElementAssignment_2_1_1"
// InternalPattern.g:1698:1: rule__PatternComponent__CardinalityElementAssignment_2_1_1 : ( ( RULE_ID ) ) ; // InternalPattern.g:1752:1: rule__PatternComponent__CardinalityElementAssignment_2_1_1 : ( ( RULE_ID ) ) ;
public final void rule__PatternComponent__CardinalityElementAssignment_2_1_1() throws RecognitionException { public final void rule__PatternComponent__CardinalityElementAssignment_2_1_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1702:1: ( ( ( RULE_ID ) ) ) // InternalPattern.g:1756:1: ( ( ( RULE_ID ) ) )
// InternalPattern.g:1703:2: ( ( RULE_ID ) ) // InternalPattern.g:1757:2: ( ( RULE_ID ) )
{ {
// InternalPattern.g:1703:2: ( ( RULE_ID ) ) // InternalPattern.g:1757:2: ( ( RULE_ID ) )
// InternalPattern.g:1704:3: ( RULE_ID ) // InternalPattern.g:1758:3: ( RULE_ID )
{ {
before(grammarAccess.getPatternComponentAccess().getCardinalityElementCardinalityElementCrossReference_2_1_1_0()); before(grammarAccess.getPatternComponentAccess().getCardinalityElementCardinalityElementCrossReference_2_1_1_0());
// InternalPattern.g:1705:3: ( RULE_ID ) // InternalPattern.g:1759:3: ( RULE_ID )
// InternalPattern.g:1706:4: RULE_ID // InternalPattern.g:1760:4: RULE_ID
{ {
before(grammarAccess.getPatternComponentAccess().getCardinalityElementCardinalityElementIDTerminalRuleCall_2_1_1_0_1()); before(grammarAccess.getPatternComponentAccess().getCardinalityElementCardinalityElementIDTerminalRuleCall_2_1_1_0_1());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5372,17 +5524,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5372,17 +5524,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__ContentAssignment_4_0" // $ANTLR start "rule__PatternComponent__ContentAssignment_4_0"
// InternalPattern.g:1717:1: rule__PatternComponent__ContentAssignment_4_0 : ( rulePatternPort ) ; // InternalPattern.g:1771:1: rule__PatternComponent__ContentAssignment_4_0 : ( rulePatternPort ) ;
public final void rule__PatternComponent__ContentAssignment_4_0() throws RecognitionException { public final void rule__PatternComponent__ContentAssignment_4_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1721:1: ( ( rulePatternPort ) ) // InternalPattern.g:1775:1: ( ( rulePatternPort ) )
// InternalPattern.g:1722:2: ( rulePatternPort ) // InternalPattern.g:1776:2: ( rulePatternPort )
{ {
// InternalPattern.g:1722:2: ( rulePatternPort ) // InternalPattern.g:1776:2: ( rulePatternPort )
// InternalPattern.g:1723:3: rulePatternPort // InternalPattern.g:1777:3: rulePatternPort
{ {
before(grammarAccess.getPatternComponentAccess().getContentPatternPortParserRuleCall_4_0_0()); before(grammarAccess.getPatternComponentAccess().getContentPatternPortParserRuleCall_4_0_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5413,17 +5565,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5413,17 +5565,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__ContentAssignment_4_1_1" // $ANTLR start "rule__PatternComponent__ContentAssignment_4_1_1"
// InternalPattern.g:1732:1: rule__PatternComponent__ContentAssignment_4_1_1 : ( rulePatternPort ) ; // InternalPattern.g:1786:1: rule__PatternComponent__ContentAssignment_4_1_1 : ( rulePatternPort ) ;
public final void rule__PatternComponent__ContentAssignment_4_1_1() throws RecognitionException { public final void rule__PatternComponent__ContentAssignment_4_1_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1736:1: ( ( rulePatternPort ) ) // InternalPattern.g:1790:1: ( ( rulePatternPort ) )
// InternalPattern.g:1737:2: ( rulePatternPort ) // InternalPattern.g:1791:2: ( rulePatternPort )
{ {
// InternalPattern.g:1737:2: ( rulePatternPort ) // InternalPattern.g:1791:2: ( rulePatternPort )
// InternalPattern.g:1738:3: rulePatternPort // InternalPattern.g:1792:3: rulePatternPort
{ {
before(grammarAccess.getPatternComponentAccess().getContentPatternPortParserRuleCall_4_1_1_0()); before(grammarAccess.getPatternComponentAccess().getContentPatternPortParserRuleCall_4_1_1_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5454,17 +5606,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5454,17 +5606,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__ContentAssignment_6_1_0" // $ANTLR start "rule__PatternComponent__ContentAssignment_6_1_0"
// InternalPattern.g:1747:1: rule__PatternComponent__ContentAssignment_6_1_0 : ( rulePatternComponent ) ; // InternalPattern.g:1801:1: rule__PatternComponent__ContentAssignment_6_1_0 : ( rulePatternComponent ) ;
public final void rule__PatternComponent__ContentAssignment_6_1_0() throws RecognitionException { public final void rule__PatternComponent__ContentAssignment_6_1_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1751:1: ( ( rulePatternComponent ) ) // InternalPattern.g:1805:1: ( ( rulePatternComponent ) )
// InternalPattern.g:1752:2: ( rulePatternComponent ) // InternalPattern.g:1806:2: ( rulePatternComponent )
{ {
// InternalPattern.g:1752:2: ( rulePatternComponent ) // InternalPattern.g:1806:2: ( rulePatternComponent )
// InternalPattern.g:1753:3: rulePatternComponent // InternalPattern.g:1807:3: rulePatternComponent
{ {
before(grammarAccess.getPatternComponentAccess().getContentPatternComponentParserRuleCall_6_1_0_0()); before(grammarAccess.getPatternComponentAccess().getContentPatternComponentParserRuleCall_6_1_0_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5495,17 +5647,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5495,17 +5647,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternComponent__ContentAssignment_6_1_1" // $ANTLR start "rule__PatternComponent__ContentAssignment_6_1_1"
// InternalPattern.g:1762:1: rule__PatternComponent__ContentAssignment_6_1_1 : ( rulePatternLink ) ; // InternalPattern.g:1816:1: rule__PatternComponent__ContentAssignment_6_1_1 : ( rulePatternLink ) ;
public final void rule__PatternComponent__ContentAssignment_6_1_1() throws RecognitionException { public final void rule__PatternComponent__ContentAssignment_6_1_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1766:1: ( ( rulePatternLink ) ) // InternalPattern.g:1820:1: ( ( rulePatternLink ) )
// InternalPattern.g:1767:2: ( rulePatternLink ) // InternalPattern.g:1821:2: ( rulePatternLink )
{ {
// InternalPattern.g:1767:2: ( rulePatternLink ) // InternalPattern.g:1821:2: ( rulePatternLink )
// InternalPattern.g:1768:3: rulePatternLink // InternalPattern.g:1822:3: rulePatternLink
{ {
before(grammarAccess.getPatternComponentAccess().getContentPatternLinkParserRuleCall_6_1_1_0()); before(grammarAccess.getPatternComponentAccess().getContentPatternLinkParserRuleCall_6_1_1_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5536,17 +5688,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5536,17 +5688,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternPort__DirAssignment_0" // $ANTLR start "rule__PatternPort__DirAssignment_0"
// InternalPattern.g:1777:1: rule__PatternPort__DirAssignment_0 : ( rulePatternPortDirection ) ; // InternalPattern.g:1831:1: rule__PatternPort__DirAssignment_0 : ( rulePatternPortDirection ) ;
public final void rule__PatternPort__DirAssignment_0() throws RecognitionException { public final void rule__PatternPort__DirAssignment_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1781:1: ( ( rulePatternPortDirection ) ) // InternalPattern.g:1835:1: ( ( rulePatternPortDirection ) )
// InternalPattern.g:1782:2: ( rulePatternPortDirection ) // InternalPattern.g:1836:2: ( rulePatternPortDirection )
{ {
// InternalPattern.g:1782:2: ( rulePatternPortDirection ) // InternalPattern.g:1836:2: ( rulePatternPortDirection )
// InternalPattern.g:1783:3: rulePatternPortDirection // InternalPattern.g:1837:3: rulePatternPortDirection
{ {
before(grammarAccess.getPatternPortAccess().getDirPatternPortDirectionEnumRuleCall_0_0()); before(grammarAccess.getPatternPortAccess().getDirPatternPortDirectionEnumRuleCall_0_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5577,17 +5729,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5577,17 +5729,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternPort__NameAssignment_1" // $ANTLR start "rule__PatternPort__NameAssignment_1"
// InternalPattern.g:1792:1: rule__PatternPort__NameAssignment_1 : ( RULE_ID ) ; // InternalPattern.g:1846:1: rule__PatternPort__NameAssignment_1 : ( RULE_ID ) ;
public final void rule__PatternPort__NameAssignment_1() throws RecognitionException { public final void rule__PatternPort__NameAssignment_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1796:1: ( ( RULE_ID ) ) // InternalPattern.g:1850:1: ( ( RULE_ID ) )
// InternalPattern.g:1797:2: ( RULE_ID ) // InternalPattern.g:1851:2: ( RULE_ID )
{ {
// InternalPattern.g:1797:2: ( RULE_ID ) // InternalPattern.g:1851:2: ( RULE_ID )
// InternalPattern.g:1798:3: RULE_ID // InternalPattern.g:1852:3: RULE_ID
{ {
before(grammarAccess.getPatternPortAccess().getNameIDTerminalRuleCall_1_0()); before(grammarAccess.getPatternPortAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5614,17 +5766,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5614,17 +5766,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternPort__MultiplicityValueAssignment_2_1_0" // $ANTLR start "rule__PatternPort__MultiplicityValueAssignment_2_1_0"
// InternalPattern.g:1807:1: rule__PatternPort__MultiplicityValueAssignment_2_1_0 : ( RULE_INT ) ; // InternalPattern.g:1861:1: rule__PatternPort__MultiplicityValueAssignment_2_1_0 : ( RULE_INT ) ;
public final void rule__PatternPort__MultiplicityValueAssignment_2_1_0() throws RecognitionException { public final void rule__PatternPort__MultiplicityValueAssignment_2_1_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1811:1: ( ( RULE_INT ) ) // InternalPattern.g:1865:1: ( ( RULE_INT ) )
// InternalPattern.g:1812:2: ( RULE_INT ) // InternalPattern.g:1866:2: ( RULE_INT )
{ {
// InternalPattern.g:1812:2: ( RULE_INT ) // InternalPattern.g:1866:2: ( RULE_INT )
// InternalPattern.g:1813:3: RULE_INT // InternalPattern.g:1867:3: RULE_INT
{ {
before(grammarAccess.getPatternPortAccess().getMultiplicityValueINTTerminalRuleCall_2_1_0_0()); before(grammarAccess.getPatternPortAccess().getMultiplicityValueINTTerminalRuleCall_2_1_0_0());
match(input,RULE_INT,FOLLOW_2); match(input,RULE_INT,FOLLOW_2);
...@@ -5651,21 +5803,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5651,21 +5803,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternPort__CardinalityElementAssignment_2_1_1" // $ANTLR start "rule__PatternPort__CardinalityElementAssignment_2_1_1"
// InternalPattern.g:1822:1: rule__PatternPort__CardinalityElementAssignment_2_1_1 : ( ( RULE_ID ) ) ; // InternalPattern.g:1876:1: rule__PatternPort__CardinalityElementAssignment_2_1_1 : ( ( RULE_ID ) ) ;
public final void rule__PatternPort__CardinalityElementAssignment_2_1_1() throws RecognitionException { public final void rule__PatternPort__CardinalityElementAssignment_2_1_1() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1826:1: ( ( ( RULE_ID ) ) ) // InternalPattern.g:1880:1: ( ( ( RULE_ID ) ) )
// InternalPattern.g:1827:2: ( ( RULE_ID ) ) // InternalPattern.g:1881:2: ( ( RULE_ID ) )
{ {
// InternalPattern.g:1827:2: ( ( RULE_ID ) ) // InternalPattern.g:1881:2: ( ( RULE_ID ) )
// InternalPattern.g:1828:3: ( RULE_ID ) // InternalPattern.g:1882:3: ( RULE_ID )
{ {
before(grammarAccess.getPatternPortAccess().getCardinalityElementCardinalityElementCrossReference_2_1_1_0()); before(grammarAccess.getPatternPortAccess().getCardinalityElementCardinalityElementCrossReference_2_1_1_0());
// InternalPattern.g:1829:3: ( RULE_ID ) // InternalPattern.g:1883:3: ( RULE_ID )
// InternalPattern.g:1830:4: RULE_ID // InternalPattern.g:1884:4: RULE_ID
{ {
before(grammarAccess.getPatternPortAccess().getCardinalityElementCardinalityElementIDTerminalRuleCall_2_1_1_0_1()); before(grammarAccess.getPatternPortAccess().getCardinalityElementCardinalityElementIDTerminalRuleCall_2_1_1_0_1());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5696,17 +5848,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5696,17 +5848,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__CardinalityElement__NameAssignment" // $ANTLR start "rule__CardinalityElement__NameAssignment"
// InternalPattern.g:1841:1: rule__CardinalityElement__NameAssignment : ( RULE_ID ) ; // InternalPattern.g:1895:1: rule__CardinalityElement__NameAssignment : ( RULE_ID ) ;
public final void rule__CardinalityElement__NameAssignment() throws RecognitionException { public final void rule__CardinalityElement__NameAssignment() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1845:1: ( ( RULE_ID ) ) // InternalPattern.g:1899:1: ( ( RULE_ID ) )
// InternalPattern.g:1846:2: ( RULE_ID ) // InternalPattern.g:1900:2: ( RULE_ID )
{ {
// InternalPattern.g:1846:2: ( RULE_ID ) // InternalPattern.g:1900:2: ( RULE_ID )
// InternalPattern.g:1847:3: RULE_ID // InternalPattern.g:1901:3: RULE_ID
{ {
before(grammarAccess.getCardinalityElementAccess().getNameIDTerminalRuleCall_0()); before(grammarAccess.getCardinalityElementAccess().getNameIDTerminalRuleCall_0());
match(input,RULE_ID,FOLLOW_2); match(input,RULE_ID,FOLLOW_2);
...@@ -5733,21 +5885,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5733,21 +5885,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR start "rule__PatternLink__SrcAssignment_0" // $ANTLR start "rule__PatternLink__SrcAssignment_0"
// InternalPattern.g:1856:1: rule__PatternLink__SrcAssignment_0 : ( ( ruleQualifiedID ) ) ; // InternalPattern.g:1910:1: rule__PatternLink__SrcAssignment_0 : ( ( ruleQualifiedID ) ) ;
public final void rule__PatternLink__SrcAssignment_0() throws RecognitionException { public final void rule__PatternLink__SrcAssignment_0() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1860:1: ( ( ( ruleQualifiedID ) ) ) // InternalPattern.g:1914:1: ( ( ( ruleQualifiedID ) ) )
// InternalPattern.g:1861:2: ( ( ruleQualifiedID ) ) // InternalPattern.g:1915:2: ( ( ruleQualifiedID ) )
{ {
// InternalPattern.g:1861:2: ( ( ruleQualifiedID ) ) // InternalPattern.g:1915:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1862:3: ( ruleQualifiedID ) // InternalPattern.g:1916:3: ( ruleQualifiedID )
{ {
before(grammarAccess.getPatternLinkAccess().getSrcPatternPortCrossReference_0_0()); before(grammarAccess.getPatternLinkAccess().getSrcPatternPortCrossReference_0_0());
// InternalPattern.g:1863:3: ( ruleQualifiedID ) // InternalPattern.g:1917:3: ( ruleQualifiedID )
// InternalPattern.g:1864:4: ruleQualifiedID // InternalPattern.g:1918:4: ruleQualifiedID
{ {
before(grammarAccess.getPatternLinkAccess().getSrcPatternPortQualifiedIDParserRuleCall_0_0_1()); before(grammarAccess.getPatternLinkAccess().getSrcPatternPortQualifiedIDParserRuleCall_0_0_1());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
...@@ -5781,26 +5933,26 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5781,26 +5933,26 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR end "rule__PatternLink__SrcAssignment_0" // $ANTLR end "rule__PatternLink__SrcAssignment_0"
// $ANTLR start "rule__PatternLink__LinkTypeAssignment_1" // $ANTLR start "rule__PatternLink__LinkTypeAssignment_2"
// InternalPattern.g:1875:1: rule__PatternLink__LinkTypeAssignment_1 : ( ruleLinkType ) ; // InternalPattern.g:1929:1: rule__PatternLink__LinkTypeAssignment_2 : ( ruleLinkType ) ;
public final void rule__PatternLink__LinkTypeAssignment_1() throws RecognitionException { public final void rule__PatternLink__LinkTypeAssignment_2() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1879:1: ( ( ruleLinkType ) ) // InternalPattern.g:1933:1: ( ( ruleLinkType ) )
// InternalPattern.g:1880:2: ( ruleLinkType ) // InternalPattern.g:1934:2: ( ruleLinkType )
{ {
// InternalPattern.g:1880:2: ( ruleLinkType ) // InternalPattern.g:1934:2: ( ruleLinkType )
// InternalPattern.g:1881:3: ruleLinkType // InternalPattern.g:1935:3: ruleLinkType
{ {
before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
ruleLinkType(); ruleLinkType();
state._fsp--; state._fsp--;
after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0());
} }
...@@ -5819,37 +5971,37 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5819,37 +5971,37 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
return ; return ;
} }
// $ANTLR end "rule__PatternLink__LinkTypeAssignment_1" // $ANTLR end "rule__PatternLink__LinkTypeAssignment_2"
// $ANTLR start "rule__PatternLink__DstAssignment_2" // $ANTLR start "rule__PatternLink__DstAssignment_4"
// InternalPattern.g:1890:1: rule__PatternLink__DstAssignment_2 : ( ( ruleQualifiedID ) ) ; // InternalPattern.g:1944:1: rule__PatternLink__DstAssignment_4 : ( ( ruleQualifiedID ) ) ;
public final void rule__PatternLink__DstAssignment_2() throws RecognitionException { public final void rule__PatternLink__DstAssignment_4() throws RecognitionException {
int stackSize = keepStackSize(); int stackSize = keepStackSize();
try { try {
// InternalPattern.g:1894:1: ( ( ( ruleQualifiedID ) ) ) // InternalPattern.g:1948:1: ( ( ( ruleQualifiedID ) ) )
// InternalPattern.g:1895:2: ( ( ruleQualifiedID ) ) // InternalPattern.g:1949:2: ( ( ruleQualifiedID ) )
{ {
// InternalPattern.g:1895:2: ( ( ruleQualifiedID ) ) // InternalPattern.g:1949:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1896:3: ( ruleQualifiedID ) // InternalPattern.g:1950:3: ( ruleQualifiedID )
{ {
before(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0()); before(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
// InternalPattern.g:1897:3: ( ruleQualifiedID ) // InternalPattern.g:1951:3: ( ruleQualifiedID )
// InternalPattern.g:1898:4: ruleQualifiedID // InternalPattern.g:1952:4: ruleQualifiedID
{ {
before(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_2_0_1()); before(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
ruleQualifiedID(); ruleQualifiedID();
state._fsp--; state._fsp--;
after(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_2_0_1()); after(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1());
} }
after(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0()); after(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
} }
...@@ -5868,7 +6020,7 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5868,7 +6020,7 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
} }
return ; return ;
} }
// $ANTLR end "rule__PatternLink__DstAssignment_2" // $ANTLR end "rule__PatternLink__DstAssignment_4"
// Delegated rules // Delegated rules
...@@ -5891,9 +6043,11 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser { ...@@ -5891,9 +6043,11 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000800000000L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000800000000L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000007800L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000007800L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000400000000L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000400000000L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000007FF8000L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000001000000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000200000010L}); public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000007FF8000L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000001000000000L}); public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000002000000000L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000001000000002L}); public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000000200000010L});
public static final BitSet FOLLOW_21 = new BitSet(new long[]{0x0000004000000000L});
public static final BitSet FOLLOW_22 = new BitSet(new long[]{0x0000004000000002L});
} }
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.ui.editors">
<editor
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="pseimx"
id="com.irtsaintexupery.xtext.pseim.Pattern"
name="Pattern Editor">
</editor>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</activeWhen>
</handler>
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
commandId="com.irtsaintexupery.xtext.pseim.Pattern.validate">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</activeWhen>
</handler>
<!-- copy qualified name -->
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
<activeWhen>
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened" />
</activeWhen>
</handler>
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
<activeWhen>
<and>
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.expressions.definitions">
<definition id="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
<and>
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.irtsaintexupery.xtext.pseim.Pattern"
forcePluginActivation="true"/>
</with>
</and>
</definition>
<definition id="com.irtsaintexupery.xtext.pseim.Pattern.XtextEditor.opened">
<and>
<reference definitionId="isXtextEditorActive"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.irtsaintexupery.xtext.pseim.Pattern"
forcePluginActivation="true"/>
</with>
</and>
</definition>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern"
name="Pattern">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
</page>
<page
category="com.irtsaintexupery.xtext.pseim.Pattern"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern.coloring"
name="Syntax Coloring">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
</page>
<page
category="com.irtsaintexupery.xtext.pseim.Pattern"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern.templates"
name="Templates">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
</page>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern"
name="Pattern">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension
point="org.eclipse.ui.keywords">
<keyword
id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"
label="Pattern"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Trigger expensive validation"
id="com.irtsaintexupery.xtext.pseim.Pattern.validate"
name="Validate">
</command>
<!-- copy qualified name -->
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command
commandId="com.irtsaintexupery.xtext.pseim.Pattern.validate"
style="push"
tooltip="Trigger expensive validation">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
<!-- copy qualified name -->
<menuContribution locationURI="popup:#TextEditorContext?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="menu:edit?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<and>
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
commandId="org.eclipse.xtext.ui.editor.FindReferences">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<!-- adding resource factories -->
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
type="pseimx">
</parser>
</extension>
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
uriExtension="pseimx">
</resourceServiceProvider>
</extension>
<!-- marker definitions for com.irtsaintexupery.xtext.pseim.Pattern -->
<extension
id="pattern.check.fast"
name="Pattern Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.fast"/>
<persistent value="true"/>
</extension>
<extension
id="pattern.check.normal"
name="Pattern Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.normal"/>
<persistent value="true"/>
</extension>
<extension
id="pattern.check.expensive"
name="Pattern Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.expensive"/>
<persistent value="true"/>
</extension>
<extension point="org.eclipse.xtext.builder.participant">
<participant
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
fileExtensions="pseimx"/>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.irtsaintexupery.xtext.pseim.Pattern"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern.compiler.preferencePage"
name="Compiler">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
</page>
</extension>
<extension point="org.eclipse.ui.propertyPages">
<page
category="com.irtsaintexupery.xtext.pseim.Pattern"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern.compiler.propertyPage"
name="Compiler">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
<command
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
id="com.irtsaintexupery.xtext.pseim.Pattern.OpenGeneratedCode"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
<activeWhen>
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened" />
</activeWhen>
</handler>
</extension>
<!-- Quick Outline -->
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Open the quick outline."
id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
name="Quick Outline">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.open">
<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
style="push"
tooltip="Open Quick Outline">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened"/>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- quickfix marker resolution generator for com.irtsaintexupery.xtext.pseim.Pattern -->
<extension
point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.irtsaintexupery.xtext.pseim.pattern.ui.pattern.check.fast">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.irtsaintexupery.xtext.pseim.pattern.ui.pattern.check.normal">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.irtsaintexupery.xtext.pseim.pattern.ui.pattern.check.expensive">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
</extension>
<!-- Rename Refactoring -->
<extension point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
style="push">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.irtsaintexupery.xtext.pseim.Pattern.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.irtsaintexupery.xtext.pseim.Pattern"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
id="com.irtsaintexupery.xtext.pseim.Pattern.refactoring"
name="Refactoring">
<keywordReference id="com.irtsaintexupery.xtext.pseim.ui.keyword_Pattern"/>
</page>
</extension>
<extension point="org.eclipse.compare.contentViewers">
<viewer id="com.irtsaintexupery.xtext.pseim.Pattern.compare.contentViewers"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="pseimx">
</viewer>
</extension>
<extension point="org.eclipse.compare.contentMergeViewers">
<viewer id="com.irtsaintexupery.xtext.pseim.Pattern.compare.contentMergeViewers"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="pseimx" label="Pattern Compare">
</viewer>
</extension>
<extension point="org.eclipse.ui.editors.documentProviders">
<provider id="com.irtsaintexupery.xtext.pseim.Pattern.editors.documentProviders"
class="com.irtsaintexupery.xtext.pseim.ui.PatternExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
extensions="pseimx">
</provider>
</extension>
<extension point="org.eclipse.team.core.fileTypes">
<fileTypes
extension="pseimx"
type="text">
</fileTypes>
</extension>
</plugin>
...@@ -564,12 +564,16 @@ rulePatternLink returns [EObject current=null] ...@@ -564,12 +564,16 @@ rulePatternLink returns [EObject current=null]
} }
) )
) )
otherlv_1='--{'
{
newLeafNode(otherlv_1, grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1());
}
( (
( (
{ {
newCompositeNode(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); newCompositeNode(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0());
} }
lv_linkType_1_0=ruleLinkType lv_linkType_2_0=ruleLinkType
{ {
if ($current==null) { if ($current==null) {
$current = createModelElementForParent(grammarAccess.getPatternLinkRule()); $current = createModelElementForParent(grammarAccess.getPatternLinkRule());
...@@ -577,12 +581,16 @@ rulePatternLink returns [EObject current=null] ...@@ -577,12 +581,16 @@ rulePatternLink returns [EObject current=null]
set( set(
$current, $current,
"linkType", "linkType",
lv_linkType_1_0, lv_linkType_2_0,
"com.irtsaintexupery.xtext.pseim.Pattern.LinkType"); "com.irtsaintexupery.xtext.pseim.Pattern.LinkType");
afterParserOrEnumRuleCall(); afterParserOrEnumRuleCall();
} }
) )
) )
otherlv_3='}->'
{
newLeafNode(otherlv_3, grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3());
}
( (
( (
{ {
...@@ -591,7 +599,7 @@ rulePatternLink returns [EObject current=null] ...@@ -591,7 +599,7 @@ rulePatternLink returns [EObject current=null]
} }
} }
{ {
newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0()); newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
} }
ruleQualifiedID ruleQualifiedID
{ {
...@@ -695,7 +703,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -695,7 +703,7 @@ ruleLinkType returns [Enumerator current=null]
}: }:
( (
( (
enumLiteral_0='-{Transpose}->' enumLiteral_0='Transpose'
{ {
$current = grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); newLeafNode(enumLiteral_0, grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0());
...@@ -703,7 +711,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -703,7 +711,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_1='-{Identity}->' enumLiteral_1='Identity'
{ {
$current = grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); newLeafNode(enumLiteral_1, grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1());
...@@ -711,7 +719,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -711,7 +719,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_2='-{First}->' enumLiteral_2='First'
{ {
$current = grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); newLeafNode(enumLiteral_2, grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2());
...@@ -719,7 +727,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -719,7 +727,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_3='-{Rotate}->' enumLiteral_3='Rotate'
{ {
$current = grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); newLeafNode(enumLiteral_3, grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3());
...@@ -727,7 +735,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -727,7 +735,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_4='-{ShiftC}->' enumLiteral_4='ShiftC'
{ {
$current = grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); newLeafNode(enumLiteral_4, grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4());
...@@ -735,7 +743,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -735,7 +743,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_5='-{ShiftP}->' enumLiteral_5='ShiftP'
{ {
$current = grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); newLeafNode(enumLiteral_5, grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5());
...@@ -743,7 +751,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -743,7 +751,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_6='-{FlattenC}->' enumLiteral_6='FlattenC'
{ {
$current = grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); newLeafNode(enumLiteral_6, grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6());
...@@ -751,7 +759,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -751,7 +759,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_7='-{ForkC}->' enumLiteral_7='ForkC'
{ {
$current = grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_7, grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); newLeafNode(enumLiteral_7, grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7());
...@@ -759,7 +767,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -759,7 +767,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_8='-{ForkP}->' enumLiteral_8='ForkP'
{ {
$current = grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_8, grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); newLeafNode(enumLiteral_8, grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8());
...@@ -767,7 +775,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -767,7 +775,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_9='-{JoinC}->' enumLiteral_9='JoinC'
{ {
$current = grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_9, grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); newLeafNode(enumLiteral_9, grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9());
...@@ -775,7 +783,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -775,7 +783,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_10='-{JoinP}->' enumLiteral_10='JoinP'
{ {
$current = grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_10, grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); newLeafNode(enumLiteral_10, grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10());
...@@ -783,7 +791,7 @@ ruleLinkType returns [Enumerator current=null] ...@@ -783,7 +791,7 @@ ruleLinkType returns [Enumerator current=null]
) )
| |
( (
enumLiteral_11='-{Last}->' enumLiteral_11='Last'
{ {
$current = grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11().getEnumLiteral().getInstance(); $current = grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_11, grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); newLeafNode(enumLiteral_11, grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11());
......
'('=12 '('=12
')'=14 ')'=14
','=13 ','=13
'-{First}->'=27 '--{'=20
'-{FlattenC}->'=31 '.'=22
'-{ForkC}->'=32 'First'=29
'-{ForkP}->'=33 'FlattenC'=33
'-{Identity}->'=26 'ForkC'=34
'-{JoinC}->'=34 'ForkP'=35
'-{JoinP}->'=35 'Identity'=28
'-{Last}->'=36 'JoinC'=36
'-{Rotate}->'=28 'JoinP'=37
'-{ShiftC}->'=29 'Last'=38
'-{ShiftP}->'=30 'Rotate'=30
'-{Transpose}->'=25 'ShiftC'=31
'.'=20 'ShiftP'=32
'Transpose'=27
'['=18 '['=18
']'=19 ']'=19
'component'=17 'component'=17
'in'=22 'in'=24
'inout'=24 'inout'=26
'out'=23 'out'=25
'pattern'=11 'pattern'=11
'unspec'=21 'unspec'=23
'{'=15 '{'=15
'}'=16 '}'=16
'}->'=21
RULE_ANY_OTHER=10 RULE_ANY_OTHER=10
RULE_ID=4 RULE_ID=4
RULE_INT=5 RULE_INT=5
...@@ -57,3 +59,5 @@ T__33=33 ...@@ -57,3 +59,5 @@ T__33=33
T__34=34 T__34=34
T__35=35 T__35=35
T__36=36 T__36=36
T__37=37
T__38=38
...@@ -16,7 +16,9 @@ public class InternalPatternLexer extends Lexer { ...@@ -16,7 +16,9 @@ public class InternalPatternLexer extends Lexer {
public static final int RULE_SL_COMMENT=8; public static final int RULE_SL_COMMENT=8;
public static final int T__19=19; public static final int T__19=19;
public static final int T__15=15; public static final int T__15=15;
public static final int T__37=37;
public static final int T__16=16; public static final int T__16=16;
public static final int T__38=38;
public static final int T__17=17; public static final int T__17=17;
public static final int T__18=18; public static final int T__18=18;
public static final int T__11=11; public static final int T__11=11;
...@@ -247,10 +249,11 @@ public class InternalPatternLexer extends Lexer { ...@@ -247,10 +249,11 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__20; int _type = T__20;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:20:7: ( '.' ) // InternalPattern.g:20:7: ( '--{' )
// InternalPattern.g:20:9: '.' // InternalPattern.g:20:9: '--{'
{ {
match('.'); match("--{");
} }
...@@ -267,10 +270,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -267,10 +270,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__21; int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:21:7: ( 'unspec' ) // InternalPattern.g:21:7: ( '}->' )
// InternalPattern.g:21:9: 'unspec' // InternalPattern.g:21:9: '}->'
{ {
match("unspec"); match("}->");
} }
...@@ -288,11 +291,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -288,11 +291,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__22; int _type = T__22;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:22:7: ( 'in' ) // InternalPattern.g:22:7: ( '.' )
// InternalPattern.g:22:9: 'in' // InternalPattern.g:22:9: '.'
{ {
match("in"); match('.');
} }
...@@ -309,10 +311,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -309,10 +311,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__23; int _type = T__23;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:23:7: ( 'out' ) // InternalPattern.g:23:7: ( 'unspec' )
// InternalPattern.g:23:9: 'out' // InternalPattern.g:23:9: 'unspec'
{ {
match("out"); match("unspec");
} }
...@@ -330,10 +332,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -330,10 +332,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__24; int _type = T__24;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:24:7: ( 'inout' ) // InternalPattern.g:24:7: ( 'in' )
// InternalPattern.g:24:9: 'inout' // InternalPattern.g:24:9: 'in'
{ {
match("inout"); match("in");
} }
...@@ -351,10 +353,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -351,10 +353,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__25; int _type = T__25;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:25:7: ( '-{Transpose}->' ) // InternalPattern.g:25:7: ( 'out' )
// InternalPattern.g:25:9: '-{Transpose}->' // InternalPattern.g:25:9: 'out'
{ {
match("-{Transpose}->"); match("out");
} }
...@@ -372,10 +374,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -372,10 +374,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__26; int _type = T__26;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:26:7: ( '-{Identity}->' ) // InternalPattern.g:26:7: ( 'inout' )
// InternalPattern.g:26:9: '-{Identity}->' // InternalPattern.g:26:9: 'inout'
{ {
match("-{Identity}->"); match("inout");
} }
...@@ -393,10 +395,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -393,10 +395,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__27; int _type = T__27;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:27:7: ( '-{First}->' ) // InternalPattern.g:27:7: ( 'Transpose' )
// InternalPattern.g:27:9: '-{First}->' // InternalPattern.g:27:9: 'Transpose'
{ {
match("-{First}->"); match("Transpose");
} }
...@@ -414,10 +416,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -414,10 +416,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__28; int _type = T__28;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:28:7: ( '-{Rotate}->' ) // InternalPattern.g:28:7: ( 'Identity' )
// InternalPattern.g:28:9: '-{Rotate}->' // InternalPattern.g:28:9: 'Identity'
{ {
match("-{Rotate}->"); match("Identity");
} }
...@@ -435,10 +437,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -435,10 +437,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__29; int _type = T__29;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:29:7: ( '-{ShiftC}->' ) // InternalPattern.g:29:7: ( 'First' )
// InternalPattern.g:29:9: '-{ShiftC}->' // InternalPattern.g:29:9: 'First'
{ {
match("-{ShiftC}->"); match("First");
} }
...@@ -456,10 +458,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -456,10 +458,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__30; int _type = T__30;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:30:7: ( '-{ShiftP}->' ) // InternalPattern.g:30:7: ( 'Rotate' )
// InternalPattern.g:30:9: '-{ShiftP}->' // InternalPattern.g:30:9: 'Rotate'
{ {
match("-{ShiftP}->"); match("Rotate");
} }
...@@ -477,10 +479,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -477,10 +479,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__31; int _type = T__31;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:31:7: ( '-{FlattenC}->' ) // InternalPattern.g:31:7: ( 'ShiftC' )
// InternalPattern.g:31:9: '-{FlattenC}->' // InternalPattern.g:31:9: 'ShiftC'
{ {
match("-{FlattenC}->"); match("ShiftC");
} }
...@@ -498,10 +500,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -498,10 +500,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__32; int _type = T__32;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:32:7: ( '-{ForkC}->' ) // InternalPattern.g:32:7: ( 'ShiftP' )
// InternalPattern.g:32:9: '-{ForkC}->' // InternalPattern.g:32:9: 'ShiftP'
{ {
match("-{ForkC}->"); match("ShiftP");
} }
...@@ -519,10 +521,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -519,10 +521,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__33; int _type = T__33;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:33:7: ( '-{ForkP}->' ) // InternalPattern.g:33:7: ( 'FlattenC' )
// InternalPattern.g:33:9: '-{ForkP}->' // InternalPattern.g:33:9: 'FlattenC'
{ {
match("-{ForkP}->"); match("FlattenC");
} }
...@@ -540,10 +542,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -540,10 +542,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__34; int _type = T__34;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:34:7: ( '-{JoinC}->' ) // InternalPattern.g:34:7: ( 'ForkC' )
// InternalPattern.g:34:9: '-{JoinC}->' // InternalPattern.g:34:9: 'ForkC'
{ {
match("-{JoinC}->"); match("ForkC");
} }
...@@ -561,10 +563,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -561,10 +563,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__35; int _type = T__35;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:35:7: ( '-{JoinP}->' ) // InternalPattern.g:35:7: ( 'ForkP' )
// InternalPattern.g:35:9: '-{JoinP}->' // InternalPattern.g:35:9: 'ForkP'
{ {
match("-{JoinP}->"); match("ForkP");
} }
...@@ -582,10 +584,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -582,10 +584,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = T__36; int _type = T__36;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:36:7: ( '-{Last}->' ) // InternalPattern.g:36:7: ( 'JoinC' )
// InternalPattern.g:36:9: '-{Last}->' // InternalPattern.g:36:9: 'JoinC'
{ {
match("-{Last}->"); match("JoinC");
} }
...@@ -598,15 +600,57 @@ public class InternalPatternLexer extends Lexer { ...@@ -598,15 +600,57 @@ public class InternalPatternLexer extends Lexer {
} }
// $ANTLR end "T__36" // $ANTLR end "T__36"
// $ANTLR start "T__37"
public final void mT__37() throws RecognitionException {
try {
int _type = T__37;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:37:7: ( 'JoinP' )
// InternalPattern.g:37:9: 'JoinP'
{
match("JoinP");
}
state.type = _type;
state.channel = _channel;
}
finally {
}
}
// $ANTLR end "T__37"
// $ANTLR start "T__38"
public final void mT__38() throws RecognitionException {
try {
int _type = T__38;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:38:7: ( 'Last' )
// InternalPattern.g:38:9: 'Last'
{
match("Last");
}
state.type = _type;
state.channel = _channel;
}
finally {
}
}
// $ANTLR end "T__38"
// $ANTLR start "RULE_ID" // $ANTLR start "RULE_ID"
public final void mRULE_ID() throws RecognitionException { public final void mRULE_ID() throws RecognitionException {
try { try {
int _type = RULE_ID; int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:795:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* ) // InternalPattern.g:803:9: ( ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* )
// InternalPattern.g:795:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* // InternalPattern.g:803:11: ( '^' )? ( 'a' .. 'z' | 'A' .. 'Z' | '_' ) ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
{ {
// InternalPattern.g:795:11: ( '^' )? // InternalPattern.g:803:11: ( '^' )?
int alt1=2; int alt1=2;
int LA1_0 = input.LA(1); int LA1_0 = input.LA(1);
...@@ -615,7 +659,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -615,7 +659,7 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt1) { switch (alt1) {
case 1 : case 1 :
// InternalPattern.g:795:11: '^' // InternalPattern.g:803:11: '^'
{ {
match('^'); match('^');
...@@ -633,7 +677,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -633,7 +677,7 @@ public class InternalPatternLexer extends Lexer {
recover(mse); recover(mse);
throw mse;} throw mse;}
// InternalPattern.g:795:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )* // InternalPattern.g:803:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2: loop2:
do { do {
int alt2=2; int alt2=2;
...@@ -682,10 +726,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -682,10 +726,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_INT; int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:797:10: ( ( '0' .. '9' )+ ) // InternalPattern.g:805:10: ( ( '0' .. '9' )+ )
// InternalPattern.g:797:12: ( '0' .. '9' )+ // InternalPattern.g:805:12: ( '0' .. '9' )+
{ {
// InternalPattern.g:797:12: ( '0' .. '9' )+ // InternalPattern.g:805:12: ( '0' .. '9' )+
int cnt3=0; int cnt3=0;
loop3: loop3:
do { do {
...@@ -699,7 +743,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -699,7 +743,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt3) { switch (alt3) {
case 1 : case 1 :
// InternalPattern.g:797:13: '0' .. '9' // InternalPattern.g:805:13: '0' .. '9'
{ {
matchRange('0','9'); matchRange('0','9');
...@@ -731,10 +775,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -731,10 +775,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_STRING; int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:799:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) ) // InternalPattern.g:807:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
// InternalPattern.g:799:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) // InternalPattern.g:807:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{ {
// InternalPattern.g:799:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) // InternalPattern.g:807:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2; int alt6=2;
int LA6_0 = input.LA(1); int LA6_0 = input.LA(1);
...@@ -752,10 +796,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -752,10 +796,10 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt6) { switch (alt6) {
case 1 : case 1 :
// InternalPattern.g:799:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' // InternalPattern.g:807:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{ {
match('\"'); match('\"');
// InternalPattern.g:799:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* // InternalPattern.g:807:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
loop4: loop4:
do { do {
int alt4=3; int alt4=3;
...@@ -771,7 +815,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -771,7 +815,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt4) { switch (alt4) {
case 1 : case 1 :
// InternalPattern.g:799:21: '\\\\' . // InternalPattern.g:807:21: '\\\\' .
{ {
match('\\'); match('\\');
matchAny(); matchAny();
...@@ -779,7 +823,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -779,7 +823,7 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:799:28: ~ ( ( '\\\\' | '\"' ) ) // InternalPattern.g:807:28: ~ ( ( '\\\\' | '\"' ) )
{ {
if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume(); input.consume();
...@@ -804,10 +848,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -804,10 +848,10 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:799:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' // InternalPattern.g:807:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{ {
match('\''); match('\'');
// InternalPattern.g:799:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* // InternalPattern.g:807:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5: loop5:
do { do {
int alt5=3; int alt5=3;
...@@ -823,7 +867,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -823,7 +867,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt5) { switch (alt5) {
case 1 : case 1 :
// InternalPattern.g:799:54: '\\\\' . // InternalPattern.g:807:54: '\\\\' .
{ {
match('\\'); match('\\');
matchAny(); matchAny();
...@@ -831,7 +875,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -831,7 +875,7 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:799:61: ~ ( ( '\\\\' | '\\'' ) ) // InternalPattern.g:807:61: ~ ( ( '\\\\' | '\\'' ) )
{ {
if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFF') ) {
input.consume(); input.consume();
...@@ -874,12 +918,12 @@ public class InternalPatternLexer extends Lexer { ...@@ -874,12 +918,12 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_ML_COMMENT; int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:801:17: ( '/*' ( options {greedy=false; } : . )* '*/' ) // InternalPattern.g:809:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalPattern.g:801:19: '/*' ( options {greedy=false; } : . )* '*/' // InternalPattern.g:809:19: '/*' ( options {greedy=false; } : . )* '*/'
{ {
match("/*"); match("/*");
// InternalPattern.g:801:24: ( options {greedy=false; } : . )* // InternalPattern.g:809:24: ( options {greedy=false; } : . )*
loop7: loop7:
do { do {
int alt7=2; int alt7=2;
...@@ -904,7 +948,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -904,7 +948,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt7) { switch (alt7) {
case 1 : case 1 :
// InternalPattern.g:801:52: . // InternalPattern.g:809:52: .
{ {
matchAny(); matchAny();
...@@ -934,12 +978,12 @@ public class InternalPatternLexer extends Lexer { ...@@ -934,12 +978,12 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_SL_COMMENT; int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:803:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) // InternalPattern.g:811:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalPattern.g:803:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? // InternalPattern.g:811:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{ {
match("//"); match("//");
// InternalPattern.g:803:24: (~ ( ( '\\n' | '\\r' ) ) )* // InternalPattern.g:811:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8: loop8:
do { do {
int alt8=2; int alt8=2;
...@@ -952,7 +996,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -952,7 +996,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt8) { switch (alt8) {
case 1 : case 1 :
// InternalPattern.g:803:24: ~ ( ( '\\n' | '\\r' ) ) // InternalPattern.g:811:24: ~ ( ( '\\n' | '\\r' ) )
{ {
if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\t')||(input.LA(1)>='\u000B' && input.LA(1)<='\f')||(input.LA(1)>='\u000E' && input.LA(1)<='\uFFFF') ) {
input.consume(); input.consume();
...@@ -972,7 +1016,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -972,7 +1016,7 @@ public class InternalPatternLexer extends Lexer {
} }
} while (true); } while (true);
// InternalPattern.g:803:40: ( ( '\\r' )? '\\n' )? // InternalPattern.g:811:40: ( ( '\\r' )? '\\n' )?
int alt10=2; int alt10=2;
int LA10_0 = input.LA(1); int LA10_0 = input.LA(1);
...@@ -981,9 +1025,9 @@ public class InternalPatternLexer extends Lexer { ...@@ -981,9 +1025,9 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt10) { switch (alt10) {
case 1 : case 1 :
// InternalPattern.g:803:41: ( '\\r' )? '\\n' // InternalPattern.g:811:41: ( '\\r' )? '\\n'
{ {
// InternalPattern.g:803:41: ( '\\r' )? // InternalPattern.g:811:41: ( '\\r' )?
int alt9=2; int alt9=2;
int LA9_0 = input.LA(1); int LA9_0 = input.LA(1);
...@@ -992,7 +1036,7 @@ public class InternalPatternLexer extends Lexer { ...@@ -992,7 +1036,7 @@ public class InternalPatternLexer extends Lexer {
} }
switch (alt9) { switch (alt9) {
case 1 : case 1 :
// InternalPattern.g:803:41: '\\r' // InternalPattern.g:811:41: '\\r'
{ {
match('\r'); match('\r');
...@@ -1024,10 +1068,10 @@ public class InternalPatternLexer extends Lexer { ...@@ -1024,10 +1068,10 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_WS; int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:805:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ ) // InternalPattern.g:813:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalPattern.g:805:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ // InternalPattern.g:813:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
{ {
// InternalPattern.g:805:11: ( ' ' | '\\t' | '\\r' | '\\n' )+ // InternalPattern.g:813:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
int cnt11=0; int cnt11=0;
loop11: loop11:
do { do {
...@@ -1081,8 +1125,8 @@ public class InternalPatternLexer extends Lexer { ...@@ -1081,8 +1125,8 @@ public class InternalPatternLexer extends Lexer {
try { try {
int _type = RULE_ANY_OTHER; int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL; int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:807:16: ( . ) // InternalPattern.g:815:16: ( . )
// InternalPattern.g:807:18: . // InternalPattern.g:815:18: .
{ {
matchAny(); matchAny();
...@@ -1097,8 +1141,8 @@ public class InternalPatternLexer extends Lexer { ...@@ -1097,8 +1141,8 @@ public class InternalPatternLexer extends Lexer {
// $ANTLR end "RULE_ANY_OTHER" // $ANTLR end "RULE_ANY_OTHER"
public void mTokens() throws RecognitionException { public void mTokens() throws RecognitionException {
// InternalPattern.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER ) // InternalPattern.g:1:8: ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER )
int alt12=33; int alt12=35;
alt12 = dfa12.predict(input); alt12 = dfa12.predict(input);
switch (alt12) { switch (alt12) {
case 1 : case 1 :
...@@ -1284,49 +1328,63 @@ public class InternalPatternLexer extends Lexer { ...@@ -1284,49 +1328,63 @@ public class InternalPatternLexer extends Lexer {
} }
break; break;
case 27 : case 27 :
// InternalPattern.g:1:166: RULE_ID // InternalPattern.g:1:166: T__37
{ {
mRULE_ID(); mT__37();
} }
break; break;
case 28 : case 28 :
// InternalPattern.g:1:174: RULE_INT // InternalPattern.g:1:172: T__38
{ {
mRULE_INT(); mT__38();
} }
break; break;
case 29 : case 29 :
// InternalPattern.g:1:183: RULE_STRING // InternalPattern.g:1:178: RULE_ID
{ {
mRULE_STRING(); mRULE_ID();
} }
break; break;
case 30 : case 30 :
// InternalPattern.g:1:195: RULE_ML_COMMENT // InternalPattern.g:1:186: RULE_INT
{ {
mRULE_ML_COMMENT(); mRULE_INT();
} }
break; break;
case 31 : case 31 :
// InternalPattern.g:1:211: RULE_SL_COMMENT // InternalPattern.g:1:195: RULE_STRING
{ {
mRULE_SL_COMMENT(); mRULE_STRING();
} }
break; break;
case 32 : case 32 :
// InternalPattern.g:1:227: RULE_WS // InternalPattern.g:1:207: RULE_ML_COMMENT
{ {
mRULE_WS(); mRULE_ML_COMMENT();
} }
break; break;
case 33 : case 33 :
// InternalPattern.g:1:235: RULE_ANY_OTHER // InternalPattern.g:1:223: RULE_SL_COMMENT
{
mRULE_SL_COMMENT();
}
break;
case 34 :
// InternalPattern.g:1:239: RULE_WS
{
mRULE_WS();
}
break;
case 35 :
// InternalPattern.g:1:247: RULE_ANY_OTHER
{ {
mRULE_ANY_OTHER(); mRULE_ANY_OTHER();
...@@ -1340,111 +1398,156 @@ public class InternalPatternLexer extends Lexer { ...@@ -1340,111 +1398,156 @@ public class InternalPatternLexer extends Lexer {
protected DFA12 dfa12 = new DFA12(this); protected DFA12 dfa12 = new DFA12(this);
static final String DFA12_eotS = static final String DFA12_eotS =
"\1\uffff\1\30\5\uffff\1\30\3\uffff\3\30\2\26\2\uffff\3\26\2\uffff\1\30\6\uffff\1\30\3\uffff\1\30\1\57\1\30\6\uffff\4\30\1\uffff\1\74\7\uffff\4\30\6\uffff\3\30\1\114\3\uffff\2\30\1\122\4\uffff\1\130\1\30\7\uffff\1\30\2\uffff\1\135\1\uffff"; "\1\uffff\1\37\4\uffff\1\45\1\37\2\uffff\1\35\1\uffff\12\37\1\35\2\uffff\3\35\2\uffff\1\37\7\uffff\1\37\4\uffff\1\37\1\100\12\37\5\uffff\4\37\1\uffff\1\117\15\37\1\uffff\10\37\1\147\3\37\1\153\2\37\1\156\1\37\1\160\1\161\2\37\1\165\1\166\1\uffff\2\37\1\171\1\uffff\2\37\1\uffff\1\37\2\uffff\1\175\1\176\1\177\2\uffff\1\u0080\1\37\1\uffff\3\37\4\uffff\2\37\1\u0087\1\u0088\1\u0089\1\u008a\4\uffff";
static final String DFA12_eofS = static final String DFA12_eofS =
"\136\uffff"; "\u008b\uffff";
static final String DFA12_minS = static final String DFA12_minS =
"\1\0\1\141\5\uffff\1\157\3\uffff\2\156\1\165\1\173\1\101\2\uffff\2\0\1\52\2\uffff\1\164\6\uffff\1\155\3\uffff\1\163\1\60\1\164\1\106\5\uffff\1\164\2\160\1\165\1\uffff\1\60\2\uffff\1\151\1\uffff\1\150\1\157\1\uffff\1\145\1\157\1\145\1\164\3\uffff\1\162\2\151\1\162\1\156\1\143\1\60\1\153\1\146\2\156\1\145\1\60\1\uffff\1\103\1\164\1\103\1\60\1\156\3\uffff\1\103\3\uffff\1\164\2\uffff\1\60\1\uffff"; "\1\0\1\141\4\uffff\1\55\1\157\2\uffff\1\55\1\uffff\2\156\1\165\1\162\1\144\1\151\1\157\1\150\1\157\1\141\1\101\2\uffff\2\0\1\52\2\uffff\1\164\7\uffff\1\155\4\uffff\1\163\1\60\1\164\1\141\1\145\1\162\1\141\1\162\1\164\2\151\1\163\5\uffff\1\164\2\160\1\165\1\uffff\1\60\2\156\1\163\1\164\1\153\1\141\1\146\1\156\1\164\1\145\1\157\1\145\1\164\1\uffff\1\163\3\164\1\103\2\164\1\103\1\60\1\162\1\156\1\143\1\60\1\160\1\151\1\60\1\145\2\60\1\145\1\103\2\60\1\uffff\1\156\1\145\1\60\1\uffff\1\157\1\164\1\uffff\1\156\2\uffff\3\60\2\uffff\1\60\1\156\1\uffff\1\163\1\171\1\103\4\uffff\1\164\1\145\4\60\4\uffff";
static final String DFA12_maxS = static final String DFA12_maxS =
"\1\uffff\1\141\5\uffff\1\157\3\uffff\2\156\1\165\1\173\1\172\2\uffff\2\uffff\1\57\2\uffff\1\164\6\uffff\1\155\3\uffff\1\163\1\172\1\164\1\124\5\uffff\1\164\2\160\1\165\1\uffff\1\172\2\uffff\1\157\1\uffff\1\150\1\157\1\uffff\1\145\1\157\1\145\1\164\3\uffff\1\162\2\151\1\162\1\156\1\143\1\172\1\153\1\146\2\156\1\145\1\172\1\uffff\1\120\1\164\1\120\1\172\1\156\3\uffff\1\120\3\uffff\1\164\2\uffff\1\172\1\uffff"; "\1\uffff\1\141\4\uffff\1\55\1\157\2\uffff\1\55\1\uffff\2\156\1\165\1\162\1\144\2\157\1\150\1\157\1\141\1\172\2\uffff\2\uffff\1\57\2\uffff\1\164\7\uffff\1\155\4\uffff\1\163\1\172\1\164\1\141\1\145\1\162\1\141\1\162\1\164\2\151\1\163\5\uffff\1\164\2\160\1\165\1\uffff\1\172\2\156\1\163\1\164\1\153\1\141\1\146\1\156\1\164\1\145\1\157\1\145\1\164\1\uffff\1\163\3\164\1\120\2\164\1\120\1\172\1\162\1\156\1\143\1\172\1\160\1\151\1\172\1\145\2\172\1\145\1\120\2\172\1\uffff\1\156\1\145\1\172\1\uffff\1\157\1\164\1\uffff\1\156\2\uffff\3\172\2\uffff\1\172\1\156\1\uffff\1\163\1\171\1\103\4\uffff\1\164\1\145\4\172\4\uffff";
static final String DFA12_acceptS = static final String DFA12_acceptS =
"\2\uffff\1\2\1\3\1\4\1\5\1\6\1\uffff\1\10\1\11\1\12\5\uffff\1\33\1\34\3\uffff\1\40\1\41\1\uffff\1\33\1\2\1\3\1\4\1\5\1\6\1\uffff\1\10\1\11\1\12\4\uffff\1\34\1\35\1\36\1\37\1\40\4\uffff\1\14\1\uffff\1\17\1\20\1\uffff\1\22\2\uffff\1\32\4\uffff\1\15\1\21\1\25\15\uffff\1\16\5\uffff\1\13\1\26\1\27\1\uffff\1\30\1\31\1\1\1\uffff\1\23\1\24\1\uffff\1\7"; "\2\uffff\1\2\1\3\1\4\1\5\2\uffff\1\10\1\11\1\uffff\1\14\13\uffff\1\35\1\36\3\uffff\1\42\1\43\1\uffff\1\35\1\2\1\3\1\4\1\5\1\13\1\6\1\uffff\1\10\1\11\1\12\1\14\14\uffff\1\36\1\37\1\40\1\41\1\42\4\uffff\1\16\16\uffff\1\17\27\uffff\1\34\3\uffff\1\20\2\uffff\1\23\1\uffff\1\30\1\31\3\uffff\1\32\1\33\2\uffff\1\15\3\uffff\1\24\1\25\1\26\1\1\6\uffff\1\22\1\27\1\7\1\21";
static final String DFA12_specialS = static final String DFA12_specialS =
"\1\1\21\uffff\1\2\1\0\112\uffff}>"; "\1\2\30\uffff\1\1\1\0\160\uffff}>";
static final String[] DFA12_transitionS = { static final String[] DFA12_transitionS = {
"\11\26\2\25\2\26\1\25\22\26\1\25\1\26\1\22\4\26\1\23\1\2\1\4\2\26\1\3\1\16\1\12\1\24\12\21\7\26\32\20\1\10\1\26\1\11\1\17\1\20\1\26\2\20\1\7\5\20\1\14\5\20\1\15\1\1\4\20\1\13\5\20\1\5\1\26\1\6\uff82\26", "\11\35\2\34\2\35\1\34\22\35\1\34\1\35\1\31\4\35\1\32\1\2\1\4\2\35\1\3\1\12\1\13\1\33\12\30\7\35\5\27\1\21\2\27\1\20\1\24\1\27\1\25\5\27\1\22\1\23\1\17\6\27\1\10\1\35\1\11\1\26\1\27\1\35\2\27\1\7\5\27\1\15\5\27\1\16\1\1\4\27\1\14\5\27\1\5\1\35\1\6\uff82\35",
"\1\27",
"",
"",
"",
"",
"",
"\1\36", "\1\36",
"", "",
"", "",
"", "",
"\1\42",
"\1\43",
"\1\44",
"\1\45",
"\32\30\4\uffff\1\30\1\uffff\32\30",
"", "",
"\1\44",
"\1\46",
"", "",
"\0\47",
"\0\47",
"\1\50\4\uffff\1\51",
"", "",
"\1\51",
"", "",
"\1\53", "\1\53",
"\1\54",
"\1\55",
"\1\56",
"\1\57",
"\1\60\2\uffff\1\61\2\uffff\1\62",
"\1\63",
"\1\64",
"\1\65",
"\1\66",
"\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"", "",
"\0\70",
"\0\70",
"\1\71\4\uffff\1\72",
"", "",
"", "",
"", "\1\74",
"",
"\1\54",
"", "",
"", "",
"", "",
"\1\55",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\16\30\1\56\13\30",
"\1\60",
"\1\63\2\uffff\1\62\1\66\1\uffff\1\67\5\uffff\1\64\1\65\1\61",
"", "",
"", "",
"", "",
"", "",
"\1\75",
"", "",
"\1\70",
"\1\71",
"\1\72",
"\1\73",
"", "",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"", "",
"", "",
"\1\75\2\uffff\1\76\2\uffff\1\77", "\1\76",
"", "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\16\37\1\77\13\37",
"\1\100",
"\1\101", "\1\101",
"",
"\1\102", "\1\102",
"\1\103", "\1\103",
"\1\104", "\1\104",
"\1\105", "\1\105",
"",
"",
"",
"\1\106", "\1\106",
"\1\107", "\1\107",
"\1\110", "\1\110",
"\1\111", "\1\111",
"\1\112", "\1\112",
"",
"",
"",
"",
"",
"\1\113", "\1\113",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30", "\1\114",
"\1\115", "\1\115",
"\1\116", "\1\116",
"\1\117", "",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\120", "\1\120",
"\1\121", "\1\121",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30", "\1\122",
"", "\1\123",
"\1\123\14\uffff\1\124", "\1\124",
"\1\125", "\1\125",
"\1\126\14\uffff\1\127", "\1\126",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30", "\1\127",
"\1\130",
"\1\131", "\1\131",
"\1\132",
"\1\133",
"\1\134",
"", "",
"\1\135",
"\1\136",
"\1\137",
"\1\140",
"\1\141\14\uffff\1\142",
"\1\143",
"\1\144",
"\1\145\14\uffff\1\146",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\150",
"\1\151",
"\1\152",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\154",
"\1\155",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\157",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\162",
"\1\163\14\uffff\1\164",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"\1\167",
"\1\170",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"", "",
"\1\132\14\uffff\1\133", "\1\172",
"\1\173",
"", "",
"\1\174",
"", "",
"", "",
"\1\134", "\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"",
"",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\u0081",
"",
"\1\u0082",
"\1\u0083",
"\1\u0084",
"",
"",
"",
"",
"\1\u0085",
"\1\u0086",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"",
"", "",
"", "",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"" ""
}; };
...@@ -1478,23 +1581,33 @@ public class InternalPatternLexer extends Lexer { ...@@ -1478,23 +1581,33 @@ public class InternalPatternLexer extends Lexer {
this.transition = DFA12_transition; this.transition = DFA12_transition;
} }
public String getDescription() { public String getDescription() {
return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );"; return "1:1: Tokens : ( T__11 | T__12 | T__13 | T__14 | T__15 | T__16 | T__17 | T__18 | T__19 | T__20 | T__21 | T__22 | T__23 | T__24 | T__25 | T__26 | T__27 | T__28 | T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | RULE_ID | RULE_INT | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_WS | RULE_ANY_OTHER );";
} }
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException { public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
IntStream input = _input; IntStream input = _input;
int _s = s; int _s = s;
switch ( s ) { switch ( s ) {
case 0 : case 0 :
int LA12_19 = input.LA(1); int LA12_26 = input.LA(1);
s = -1; s = -1;
if ( ((LA12_19>='\u0000' && LA12_19<='\uFFFF')) ) {s = 39;} if ( ((LA12_26>='\u0000' && LA12_26<='\uFFFF')) ) {s = 56;}
else s = 22; else s = 29;
if ( s>=0 ) return s; if ( s>=0 ) return s;
break; break;
case 1 : case 1 :
int LA12_25 = input.LA(1);
s = -1;
if ( ((LA12_25>='\u0000' && LA12_25<='\uFFFF')) ) {s = 56;}
else s = 29;
if ( s>=0 ) return s;
break;
case 2 :
int LA12_0 = input.LA(1); int LA12_0 = input.LA(1);
s = -1; s = -1;
...@@ -1516,41 +1629,45 @@ public class InternalPatternLexer extends Lexer { ...@@ -1516,41 +1629,45 @@ public class InternalPatternLexer extends Lexer {
else if ( (LA12_0==']') ) {s = 9;} else if ( (LA12_0==']') ) {s = 9;}
else if ( (LA12_0=='.') ) {s = 10;} else if ( (LA12_0=='-') ) {s = 10;}
else if ( (LA12_0=='u') ) {s = 11;} else if ( (LA12_0=='.') ) {s = 11;}
else if ( (LA12_0=='i') ) {s = 12;} else if ( (LA12_0=='u') ) {s = 12;}
else if ( (LA12_0=='o') ) {s = 13;} else if ( (LA12_0=='i') ) {s = 13;}
else if ( (LA12_0=='-') ) {s = 14;} else if ( (LA12_0=='o') ) {s = 14;}
else if ( (LA12_0=='^') ) {s = 15;} else if ( (LA12_0=='T') ) {s = 15;}
else if ( ((LA12_0>='A' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||(LA12_0>='d' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||(LA12_0>='q' && LA12_0<='t')||(LA12_0>='v' && LA12_0<='z')) ) {s = 16;} else if ( (LA12_0=='I') ) {s = 16;}
else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 17;} else if ( (LA12_0=='F') ) {s = 17;}
else if ( (LA12_0=='\"') ) {s = 18;} else if ( (LA12_0=='R') ) {s = 18;}
else if ( (LA12_0=='\'') ) {s = 19;} else if ( (LA12_0=='S') ) {s = 19;}
else if ( (LA12_0=='/') ) {s = 20;} else if ( (LA12_0=='J') ) {s = 20;}
else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 21;} else if ( (LA12_0=='L') ) {s = 21;}
else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 22;} else if ( (LA12_0=='^') ) {s = 22;}
if ( s>=0 ) return s; else if ( ((LA12_0>='A' && LA12_0<='E')||(LA12_0>='G' && LA12_0<='H')||LA12_0=='K'||(LA12_0>='M' && LA12_0<='Q')||(LA12_0>='U' && LA12_0<='Z')||LA12_0=='_'||(LA12_0>='a' && LA12_0<='b')||(LA12_0>='d' && LA12_0<='h')||(LA12_0>='j' && LA12_0<='n')||(LA12_0>='q' && LA12_0<='t')||(LA12_0>='v' && LA12_0<='z')) ) {s = 23;}
break;
case 2 :
int LA12_18 = input.LA(1);
s = -1; else if ( ((LA12_0>='0' && LA12_0<='9')) ) {s = 24;}
if ( ((LA12_18>='\u0000' && LA12_18<='\uFFFF')) ) {s = 39;}
else if ( (LA12_0=='\"') ) {s = 25;}
else if ( (LA12_0=='\'') ) {s = 26;}
else if ( (LA12_0=='/') ) {s = 27;}
else if ( ((LA12_0>='\t' && LA12_0<='\n')||LA12_0=='\r'||LA12_0==' ') ) {s = 28;}
else s = 22; else if ( ((LA12_0>='\u0000' && LA12_0<='\b')||(LA12_0>='\u000B' && LA12_0<='\f')||(LA12_0>='\u000E' && LA12_0<='\u001F')||LA12_0=='!'||(LA12_0>='#' && LA12_0<='&')||(LA12_0>='*' && LA12_0<='+')||(LA12_0>=':' && LA12_0<='@')||LA12_0=='\\'||LA12_0=='`'||LA12_0=='|'||(LA12_0>='~' && LA12_0<='\uFFFF')) ) {s = 29;}
if ( s>=0 ) return s; if ( s>=0 ) return s;
break; break;
......
...@@ -22,13 +22,15 @@ import java.util.ArrayList; ...@@ -22,13 +22,15 @@ import java.util.ArrayList;
@SuppressWarnings("all") @SuppressWarnings("all")
public class InternalPatternParser extends AbstractInternalAntlrParser { public class InternalPatternParser extends AbstractInternalAntlrParser {
public static final String[] tokenNames = new String[] { public static final String[] tokenNames = new String[] {
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'pattern'", "'('", "','", "')'", "'{'", "'}'", "'component'", "'['", "']'", "'.'", "'unspec'", "'in'", "'out'", "'inout'", "'-{Transpose}->'", "'-{Identity}->'", "'-{First}->'", "'-{Rotate}->'", "'-{ShiftC}->'", "'-{ShiftP}->'", "'-{FlattenC}->'", "'-{ForkC}->'", "'-{ForkP}->'", "'-{JoinC}->'", "'-{JoinP}->'", "'-{Last}->'" "<invalid>", "<EOR>", "<DOWN>", "<UP>", "RULE_ID", "RULE_INT", "RULE_STRING", "RULE_ML_COMMENT", "RULE_SL_COMMENT", "RULE_WS", "RULE_ANY_OTHER", "'pattern'", "'('", "','", "')'", "'{'", "'}'", "'component'", "'['", "']'", "'--{'", "'}->'", "'.'", "'unspec'", "'in'", "'out'", "'inout'", "'Transpose'", "'Identity'", "'First'", "'Rotate'", "'ShiftC'", "'ShiftP'", "'FlattenC'", "'ForkC'", "'ForkP'", "'JoinC'", "'JoinP'", "'Last'"
}; };
public static final int RULE_STRING=6; public static final int RULE_STRING=6;
public static final int RULE_SL_COMMENT=8; public static final int RULE_SL_COMMENT=8;
public static final int T__19=19; public static final int T__19=19;
public static final int T__15=15; public static final int T__15=15;
public static final int T__37=37;
public static final int T__16=16; public static final int T__16=16;
public static final int T__38=38;
public static final int T__17=17; public static final int T__17=17;
public static final int T__18=18; public static final int T__18=18;
public static final int T__11=11; public static final int T__11=11;
...@@ -665,7 +667,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -665,7 +667,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
int alt8=2; int alt8=2;
int LA8_0 = input.LA(1); int LA8_0 = input.LA(1);
if ( ((LA8_0>=21 && LA8_0<=24)) ) { if ( ((LA8_0>=23 && LA8_0<=26)) ) {
alt8=1; alt8=1;
} }
switch (alt8) { switch (alt8) {
...@@ -1288,22 +1290,24 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1288,22 +1290,24 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $ANTLR start "rulePatternLink" // $ANTLR start "rulePatternLink"
// InternalPattern.g:543:1: rulePatternLink returns [EObject current=null] : ( ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) ) ; // InternalPattern.g:543:1: rulePatternLink returns [EObject current=null] : ( ( ( ruleQualifiedID ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) ) ) ;
public final EObject rulePatternLink() throws RecognitionException { public final EObject rulePatternLink() throws RecognitionException {
EObject current = null; EObject current = null;
Enumerator lv_linkType_1_0 = null; Token otherlv_1=null;
Token otherlv_3=null;
Enumerator lv_linkType_2_0 = null;
enterRule(); enterRule();
try { try {
// InternalPattern.g:549:2: ( ( ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) ) ) // InternalPattern.g:549:2: ( ( ( ( ruleQualifiedID ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) ) ) )
// InternalPattern.g:550:2: ( ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) ) // InternalPattern.g:550:2: ( ( ( ruleQualifiedID ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) ) )
{ {
// InternalPattern.g:550:2: ( ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) ) // InternalPattern.g:550:2: ( ( ( ruleQualifiedID ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) ) )
// InternalPattern.g:551:3: ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) // InternalPattern.g:551:3: ( ( ruleQualifiedID ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) )
{ {
// InternalPattern.g:551:3: ( ( ruleQualifiedID ) ) // InternalPattern.g:551:3: ( ( ruleQualifiedID ) )
// InternalPattern.g:552:4: ( ruleQualifiedID ) // InternalPattern.g:552:4: ( ruleQualifiedID )
...@@ -1333,17 +1337,21 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1333,17 +1337,21 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
// InternalPattern.g:567:3: ( (lv_linkType_1_0= ruleLinkType ) ) otherlv_1=(Token)match(input,20,FOLLOW_16);
// InternalPattern.g:568:4: (lv_linkType_1_0= ruleLinkType )
newLeafNode(otherlv_1, grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1());
// InternalPattern.g:571:3: ( (lv_linkType_2_0= ruleLinkType ) )
// InternalPattern.g:572:4: (lv_linkType_2_0= ruleLinkType )
{ {
// InternalPattern.g:568:4: (lv_linkType_1_0= ruleLinkType ) // InternalPattern.g:572:4: (lv_linkType_2_0= ruleLinkType )
// InternalPattern.g:569:5: lv_linkType_1_0= ruleLinkType // InternalPattern.g:573:5: lv_linkType_2_0= ruleLinkType
{ {
newCompositeNode(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); newCompositeNode(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0());
pushFollow(FOLLOW_16); pushFollow(FOLLOW_17);
lv_linkType_1_0=ruleLinkType(); lv_linkType_2_0=ruleLinkType();
state._fsp--; state._fsp--;
...@@ -1354,7 +1362,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1354,7 +1362,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
set( set(
current, current,
"linkType", "linkType",
lv_linkType_1_0, lv_linkType_2_0,
"com.irtsaintexupery.xtext.pseim.Pattern.LinkType"); "com.irtsaintexupery.xtext.pseim.Pattern.LinkType");
afterParserOrEnumRuleCall(); afterParserOrEnumRuleCall();
...@@ -1364,11 +1372,15 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1364,11 +1372,15 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
// InternalPattern.g:586:3: ( ( ruleQualifiedID ) ) otherlv_3=(Token)match(input,21,FOLLOW_18);
// InternalPattern.g:587:4: ( ruleQualifiedID )
newLeafNode(otherlv_3, grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3());
// InternalPattern.g:594:3: ( ( ruleQualifiedID ) )
// InternalPattern.g:595:4: ( ruleQualifiedID )
{ {
// InternalPattern.g:587:4: ( ruleQualifiedID ) // InternalPattern.g:595:4: ( ruleQualifiedID )
// InternalPattern.g:588:5: ruleQualifiedID // InternalPattern.g:596:5: ruleQualifiedID
{ {
if (current==null) { if (current==null) {
...@@ -1376,7 +1388,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1376,7 +1388,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0()); newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
pushFollow(FOLLOW_2); pushFollow(FOLLOW_2);
ruleQualifiedID(); ruleQualifiedID();
...@@ -1415,7 +1427,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1415,7 +1427,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $ANTLR start "entryRuleQualifiedID" // $ANTLR start "entryRuleQualifiedID"
// InternalPattern.g:606:1: entryRuleQualifiedID returns [String current=null] : iv_ruleQualifiedID= ruleQualifiedID EOF ; // InternalPattern.g:614:1: entryRuleQualifiedID returns [String current=null] : iv_ruleQualifiedID= ruleQualifiedID EOF ;
public final String entryRuleQualifiedID() throws RecognitionException { public final String entryRuleQualifiedID() throws RecognitionException {
String current = null; String current = null;
...@@ -1423,8 +1435,8 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1423,8 +1435,8 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
try { try {
// InternalPattern.g:606:51: (iv_ruleQualifiedID= ruleQualifiedID EOF ) // InternalPattern.g:614:51: (iv_ruleQualifiedID= ruleQualifiedID EOF )
// InternalPattern.g:607:2: iv_ruleQualifiedID= ruleQualifiedID EOF // InternalPattern.g:615:2: iv_ruleQualifiedID= ruleQualifiedID EOF
{ {
newCompositeNode(grammarAccess.getQualifiedIDRule()); newCompositeNode(grammarAccess.getQualifiedIDRule());
pushFollow(FOLLOW_1); pushFollow(FOLLOW_1);
...@@ -1451,7 +1463,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1451,7 +1463,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $ANTLR start "ruleQualifiedID" // $ANTLR start "ruleQualifiedID"
// InternalPattern.g:613:1: ruleQualifiedID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ; // InternalPattern.g:621:1: ruleQualifiedID returns [AntlrDatatypeRuleToken current=new AntlrDatatypeRuleToken()] : (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ;
public final AntlrDatatypeRuleToken ruleQualifiedID() throws RecognitionException { public final AntlrDatatypeRuleToken ruleQualifiedID() throws RecognitionException {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken(); AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
...@@ -1463,40 +1475,40 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1463,40 +1475,40 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
enterRule(); enterRule();
try { try {
// InternalPattern.g:619:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) ) // InternalPattern.g:627:2: ( (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) )
// InternalPattern.g:620:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) // InternalPattern.g:628:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
{ {
// InternalPattern.g:620:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* ) // InternalPattern.g:628:2: (this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* )
// InternalPattern.g:621:3: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )* // InternalPattern.g:629:3: this_ID_0= RULE_ID (kw= '.' this_ID_2= RULE_ID )*
{ {
this_ID_0=(Token)match(input,RULE_ID,FOLLOW_17); this_ID_0=(Token)match(input,RULE_ID,FOLLOW_19);
current.merge(this_ID_0); current.merge(this_ID_0);
newLeafNode(this_ID_0, grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0()); newLeafNode(this_ID_0, grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0());
// InternalPattern.g:628:3: (kw= '.' this_ID_2= RULE_ID )* // InternalPattern.g:636:3: (kw= '.' this_ID_2= RULE_ID )*
loop13: loop13:
do { do {
int alt13=2; int alt13=2;
int LA13_0 = input.LA(1); int LA13_0 = input.LA(1);
if ( (LA13_0==20) ) { if ( (LA13_0==22) ) {
alt13=1; alt13=1;
} }
switch (alt13) { switch (alt13) {
case 1 : case 1 :
// InternalPattern.g:629:4: kw= '.' this_ID_2= RULE_ID // InternalPattern.g:637:4: kw= '.' this_ID_2= RULE_ID
{ {
kw=(Token)match(input,20,FOLLOW_3); kw=(Token)match(input,22,FOLLOW_3);
current.merge(kw); current.merge(kw);
newLeafNode(kw, grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0()); newLeafNode(kw, grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0());
this_ID_2=(Token)match(input,RULE_ID,FOLLOW_17); this_ID_2=(Token)match(input,RULE_ID,FOLLOW_19);
current.merge(this_ID_2); current.merge(this_ID_2);
...@@ -1535,7 +1547,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1535,7 +1547,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $ANTLR start "rulePatternPortDirection" // $ANTLR start "rulePatternPortDirection"
// InternalPattern.g:646:1: rulePatternPortDirection returns [Enumerator current=null] : ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) ) ; // InternalPattern.g:654:1: rulePatternPortDirection returns [Enumerator current=null] : ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) ) ;
public final Enumerator rulePatternPortDirection() throws RecognitionException { public final Enumerator rulePatternPortDirection() throws RecognitionException {
Enumerator current = null; Enumerator current = null;
...@@ -1548,28 +1560,28 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1548,28 +1560,28 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
enterRule(); enterRule();
try { try {
// InternalPattern.g:652:2: ( ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) ) ) // InternalPattern.g:660:2: ( ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) ) )
// InternalPattern.g:653:2: ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) ) // InternalPattern.g:661:2: ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) )
{ {
// InternalPattern.g:653:2: ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) ) // InternalPattern.g:661:2: ( (enumLiteral_0= 'unspec' ) | (enumLiteral_1= 'in' ) | (enumLiteral_2= 'out' ) | (enumLiteral_3= 'inout' ) )
int alt14=4; int alt14=4;
switch ( input.LA(1) ) { switch ( input.LA(1) ) {
case 21: case 23:
{ {
alt14=1; alt14=1;
} }
break; break;
case 22: case 24:
{ {
alt14=2; alt14=2;
} }
break; break;
case 23: case 25:
{ {
alt14=3; alt14=3;
} }
break; break;
case 24: case 26:
{ {
alt14=4; alt14=4;
} }
...@@ -1583,12 +1595,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1583,12 +1595,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
switch (alt14) { switch (alt14) {
case 1 : case 1 :
// InternalPattern.g:654:3: (enumLiteral_0= 'unspec' ) // InternalPattern.g:662:3: (enumLiteral_0= 'unspec' )
{ {
// InternalPattern.g:654:3: (enumLiteral_0= 'unspec' ) // InternalPattern.g:662:3: (enumLiteral_0= 'unspec' )
// InternalPattern.g:655:4: enumLiteral_0= 'unspec' // InternalPattern.g:663:4: enumLiteral_0= 'unspec'
{ {
enumLiteral_0=(Token)match(input,21,FOLLOW_2); enumLiteral_0=(Token)match(input,23,FOLLOW_2);
current = grammarAccess.getPatternPortDirectionAccess().getUNSPECIFIEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); current = grammarAccess.getPatternPortDirectionAccess().getUNSPECIFIEDEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getPatternPortDirectionAccess().getUNSPECIFIEDEnumLiteralDeclaration_0()); newLeafNode(enumLiteral_0, grammarAccess.getPatternPortDirectionAccess().getUNSPECIFIEDEnumLiteralDeclaration_0());
...@@ -1600,12 +1612,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1600,12 +1612,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:662:3: (enumLiteral_1= 'in' ) // InternalPattern.g:670:3: (enumLiteral_1= 'in' )
{ {
// InternalPattern.g:662:3: (enumLiteral_1= 'in' ) // InternalPattern.g:670:3: (enumLiteral_1= 'in' )
// InternalPattern.g:663:4: enumLiteral_1= 'in' // InternalPattern.g:671:4: enumLiteral_1= 'in'
{ {
enumLiteral_1=(Token)match(input,22,FOLLOW_2); enumLiteral_1=(Token)match(input,24,FOLLOW_2);
current = grammarAccess.getPatternPortDirectionAccess().getINEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); current = grammarAccess.getPatternPortDirectionAccess().getINEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getPatternPortDirectionAccess().getINEnumLiteralDeclaration_1()); newLeafNode(enumLiteral_1, grammarAccess.getPatternPortDirectionAccess().getINEnumLiteralDeclaration_1());
...@@ -1617,12 +1629,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1617,12 +1629,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 3 : case 3 :
// InternalPattern.g:670:3: (enumLiteral_2= 'out' ) // InternalPattern.g:678:3: (enumLiteral_2= 'out' )
{ {
// InternalPattern.g:670:3: (enumLiteral_2= 'out' ) // InternalPattern.g:678:3: (enumLiteral_2= 'out' )
// InternalPattern.g:671:4: enumLiteral_2= 'out' // InternalPattern.g:679:4: enumLiteral_2= 'out'
{ {
enumLiteral_2=(Token)match(input,23,FOLLOW_2); enumLiteral_2=(Token)match(input,25,FOLLOW_2);
current = grammarAccess.getPatternPortDirectionAccess().getOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); current = grammarAccess.getPatternPortDirectionAccess().getOUTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getPatternPortDirectionAccess().getOUTEnumLiteralDeclaration_2()); newLeafNode(enumLiteral_2, grammarAccess.getPatternPortDirectionAccess().getOUTEnumLiteralDeclaration_2());
...@@ -1634,12 +1646,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1634,12 +1646,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 4 : case 4 :
// InternalPattern.g:678:3: (enumLiteral_3= 'inout' ) // InternalPattern.g:686:3: (enumLiteral_3= 'inout' )
{ {
// InternalPattern.g:678:3: (enumLiteral_3= 'inout' ) // InternalPattern.g:686:3: (enumLiteral_3= 'inout' )
// InternalPattern.g:679:4: enumLiteral_3= 'inout' // InternalPattern.g:687:4: enumLiteral_3= 'inout'
{ {
enumLiteral_3=(Token)match(input,24,FOLLOW_2); enumLiteral_3=(Token)match(input,26,FOLLOW_2);
current = grammarAccess.getPatternPortDirectionAccess().getINOUTEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); current = grammarAccess.getPatternPortDirectionAccess().getINOUTEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getPatternPortDirectionAccess().getINOUTEnumLiteralDeclaration_3()); newLeafNode(enumLiteral_3, grammarAccess.getPatternPortDirectionAccess().getINOUTEnumLiteralDeclaration_3());
...@@ -1673,7 +1685,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1673,7 +1685,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $ANTLR start "ruleLinkType" // $ANTLR start "ruleLinkType"
// InternalPattern.g:689:1: ruleLinkType returns [Enumerator current=null] : ( (enumLiteral_0= '-{Transpose}->' ) | (enumLiteral_1= '-{Identity}->' ) | (enumLiteral_2= '-{First}->' ) | (enumLiteral_3= '-{Rotate}->' ) | (enumLiteral_4= '-{ShiftC}->' ) | (enumLiteral_5= '-{ShiftP}->' ) | (enumLiteral_6= '-{FlattenC}->' ) | (enumLiteral_7= '-{ForkC}->' ) | (enumLiteral_8= '-{ForkP}->' ) | (enumLiteral_9= '-{JoinC}->' ) | (enumLiteral_10= '-{JoinP}->' ) | (enumLiteral_11= '-{Last}->' ) ) ; // InternalPattern.g:697:1: ruleLinkType returns [Enumerator current=null] : ( (enumLiteral_0= 'Transpose' ) | (enumLiteral_1= 'Identity' ) | (enumLiteral_2= 'First' ) | (enumLiteral_3= 'Rotate' ) | (enumLiteral_4= 'ShiftC' ) | (enumLiteral_5= 'ShiftP' ) | (enumLiteral_6= 'FlattenC' ) | (enumLiteral_7= 'ForkC' ) | (enumLiteral_8= 'ForkP' ) | (enumLiteral_9= 'JoinC' ) | (enumLiteral_10= 'JoinP' ) | (enumLiteral_11= 'Last' ) ) ;
public final Enumerator ruleLinkType() throws RecognitionException { public final Enumerator ruleLinkType() throws RecognitionException {
Enumerator current = null; Enumerator current = null;
...@@ -1694,68 +1706,68 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1694,68 +1706,68 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
enterRule(); enterRule();
try { try {
// InternalPattern.g:695:2: ( ( (enumLiteral_0= '-{Transpose}->' ) | (enumLiteral_1= '-{Identity}->' ) | (enumLiteral_2= '-{First}->' ) | (enumLiteral_3= '-{Rotate}->' ) | (enumLiteral_4= '-{ShiftC}->' ) | (enumLiteral_5= '-{ShiftP}->' ) | (enumLiteral_6= '-{FlattenC}->' ) | (enumLiteral_7= '-{ForkC}->' ) | (enumLiteral_8= '-{ForkP}->' ) | (enumLiteral_9= '-{JoinC}->' ) | (enumLiteral_10= '-{JoinP}->' ) | (enumLiteral_11= '-{Last}->' ) ) ) // InternalPattern.g:703:2: ( ( (enumLiteral_0= 'Transpose' ) | (enumLiteral_1= 'Identity' ) | (enumLiteral_2= 'First' ) | (enumLiteral_3= 'Rotate' ) | (enumLiteral_4= 'ShiftC' ) | (enumLiteral_5= 'ShiftP' ) | (enumLiteral_6= 'FlattenC' ) | (enumLiteral_7= 'ForkC' ) | (enumLiteral_8= 'ForkP' ) | (enumLiteral_9= 'JoinC' ) | (enumLiteral_10= 'JoinP' ) | (enumLiteral_11= 'Last' ) ) )
// InternalPattern.g:696:2: ( (enumLiteral_0= '-{Transpose}->' ) | (enumLiteral_1= '-{Identity}->' ) | (enumLiteral_2= '-{First}->' ) | (enumLiteral_3= '-{Rotate}->' ) | (enumLiteral_4= '-{ShiftC}->' ) | (enumLiteral_5= '-{ShiftP}->' ) | (enumLiteral_6= '-{FlattenC}->' ) | (enumLiteral_7= '-{ForkC}->' ) | (enumLiteral_8= '-{ForkP}->' ) | (enumLiteral_9= '-{JoinC}->' ) | (enumLiteral_10= '-{JoinP}->' ) | (enumLiteral_11= '-{Last}->' ) ) // InternalPattern.g:704:2: ( (enumLiteral_0= 'Transpose' ) | (enumLiteral_1= 'Identity' ) | (enumLiteral_2= 'First' ) | (enumLiteral_3= 'Rotate' ) | (enumLiteral_4= 'ShiftC' ) | (enumLiteral_5= 'ShiftP' ) | (enumLiteral_6= 'FlattenC' ) | (enumLiteral_7= 'ForkC' ) | (enumLiteral_8= 'ForkP' ) | (enumLiteral_9= 'JoinC' ) | (enumLiteral_10= 'JoinP' ) | (enumLiteral_11= 'Last' ) )
{ {
// InternalPattern.g:696:2: ( (enumLiteral_0= '-{Transpose}->' ) | (enumLiteral_1= '-{Identity}->' ) | (enumLiteral_2= '-{First}->' ) | (enumLiteral_3= '-{Rotate}->' ) | (enumLiteral_4= '-{ShiftC}->' ) | (enumLiteral_5= '-{ShiftP}->' ) | (enumLiteral_6= '-{FlattenC}->' ) | (enumLiteral_7= '-{ForkC}->' ) | (enumLiteral_8= '-{ForkP}->' ) | (enumLiteral_9= '-{JoinC}->' ) | (enumLiteral_10= '-{JoinP}->' ) | (enumLiteral_11= '-{Last}->' ) ) // InternalPattern.g:704:2: ( (enumLiteral_0= 'Transpose' ) | (enumLiteral_1= 'Identity' ) | (enumLiteral_2= 'First' ) | (enumLiteral_3= 'Rotate' ) | (enumLiteral_4= 'ShiftC' ) | (enumLiteral_5= 'ShiftP' ) | (enumLiteral_6= 'FlattenC' ) | (enumLiteral_7= 'ForkC' ) | (enumLiteral_8= 'ForkP' ) | (enumLiteral_9= 'JoinC' ) | (enumLiteral_10= 'JoinP' ) | (enumLiteral_11= 'Last' ) )
int alt15=12; int alt15=12;
switch ( input.LA(1) ) { switch ( input.LA(1) ) {
case 25: case 27:
{ {
alt15=1; alt15=1;
} }
break; break;
case 26: case 28:
{ {
alt15=2; alt15=2;
} }
break; break;
case 27: case 29:
{ {
alt15=3; alt15=3;
} }
break; break;
case 28: case 30:
{ {
alt15=4; alt15=4;
} }
break; break;
case 29: case 31:
{ {
alt15=5; alt15=5;
} }
break; break;
case 30: case 32:
{ {
alt15=6; alt15=6;
} }
break; break;
case 31: case 33:
{ {
alt15=7; alt15=7;
} }
break; break;
case 32: case 34:
{ {
alt15=8; alt15=8;
} }
break; break;
case 33: case 35:
{ {
alt15=9; alt15=9;
} }
break; break;
case 34: case 36:
{ {
alt15=10; alt15=10;
} }
break; break;
case 35: case 37:
{ {
alt15=11; alt15=11;
} }
break; break;
case 36: case 38:
{ {
alt15=12; alt15=12;
} }
...@@ -1769,12 +1781,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1769,12 +1781,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
switch (alt15) { switch (alt15) {
case 1 : case 1 :
// InternalPattern.g:697:3: (enumLiteral_0= '-{Transpose}->' ) // InternalPattern.g:705:3: (enumLiteral_0= 'Transpose' )
{ {
// InternalPattern.g:697:3: (enumLiteral_0= '-{Transpose}->' ) // InternalPattern.g:705:3: (enumLiteral_0= 'Transpose' )
// InternalPattern.g:698:4: enumLiteral_0= '-{Transpose}->' // InternalPattern.g:706:4: enumLiteral_0= 'Transpose'
{ {
enumLiteral_0=(Token)match(input,25,FOLLOW_2); enumLiteral_0=(Token)match(input,27,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); newLeafNode(enumLiteral_0, grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0());
...@@ -1786,12 +1798,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1786,12 +1798,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 2 : case 2 :
// InternalPattern.g:705:3: (enumLiteral_1= '-{Identity}->' ) // InternalPattern.g:713:3: (enumLiteral_1= 'Identity' )
{ {
// InternalPattern.g:705:3: (enumLiteral_1= '-{Identity}->' ) // InternalPattern.g:713:3: (enumLiteral_1= 'Identity' )
// InternalPattern.g:706:4: enumLiteral_1= '-{Identity}->' // InternalPattern.g:714:4: enumLiteral_1= 'Identity'
{ {
enumLiteral_1=(Token)match(input,26,FOLLOW_2); enumLiteral_1=(Token)match(input,28,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); newLeafNode(enumLiteral_1, grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1());
...@@ -1803,12 +1815,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1803,12 +1815,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 3 : case 3 :
// InternalPattern.g:713:3: (enumLiteral_2= '-{First}->' ) // InternalPattern.g:721:3: (enumLiteral_2= 'First' )
{ {
// InternalPattern.g:713:3: (enumLiteral_2= '-{First}->' ) // InternalPattern.g:721:3: (enumLiteral_2= 'First' )
// InternalPattern.g:714:4: enumLiteral_2= '-{First}->' // InternalPattern.g:722:4: enumLiteral_2= 'First'
{ {
enumLiteral_2=(Token)match(input,27,FOLLOW_2); enumLiteral_2=(Token)match(input,29,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); newLeafNode(enumLiteral_2, grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2());
...@@ -1820,12 +1832,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1820,12 +1832,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 4 : case 4 :
// InternalPattern.g:721:3: (enumLiteral_3= '-{Rotate}->' ) // InternalPattern.g:729:3: (enumLiteral_3= 'Rotate' )
{ {
// InternalPattern.g:721:3: (enumLiteral_3= '-{Rotate}->' ) // InternalPattern.g:729:3: (enumLiteral_3= 'Rotate' )
// InternalPattern.g:722:4: enumLiteral_3= '-{Rotate}->' // InternalPattern.g:730:4: enumLiteral_3= 'Rotate'
{ {
enumLiteral_3=(Token)match(input,28,FOLLOW_2); enumLiteral_3=(Token)match(input,30,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); newLeafNode(enumLiteral_3, grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3());
...@@ -1837,12 +1849,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1837,12 +1849,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 5 : case 5 :
// InternalPattern.g:729:3: (enumLiteral_4= '-{ShiftC}->' ) // InternalPattern.g:737:3: (enumLiteral_4= 'ShiftC' )
{ {
// InternalPattern.g:729:3: (enumLiteral_4= '-{ShiftC}->' ) // InternalPattern.g:737:3: (enumLiteral_4= 'ShiftC' )
// InternalPattern.g:730:4: enumLiteral_4= '-{ShiftC}->' // InternalPattern.g:738:4: enumLiteral_4= 'ShiftC'
{ {
enumLiteral_4=(Token)match(input,29,FOLLOW_2); enumLiteral_4=(Token)match(input,31,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); newLeafNode(enumLiteral_4, grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4());
...@@ -1854,12 +1866,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1854,12 +1866,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 6 : case 6 :
// InternalPattern.g:737:3: (enumLiteral_5= '-{ShiftP}->' ) // InternalPattern.g:745:3: (enumLiteral_5= 'ShiftP' )
{ {
// InternalPattern.g:737:3: (enumLiteral_5= '-{ShiftP}->' ) // InternalPattern.g:745:3: (enumLiteral_5= 'ShiftP' )
// InternalPattern.g:738:4: enumLiteral_5= '-{ShiftP}->' // InternalPattern.g:746:4: enumLiteral_5= 'ShiftP'
{ {
enumLiteral_5=(Token)match(input,30,FOLLOW_2); enumLiteral_5=(Token)match(input,32,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); newLeafNode(enumLiteral_5, grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5());
...@@ -1871,12 +1883,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1871,12 +1883,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 7 : case 7 :
// InternalPattern.g:745:3: (enumLiteral_6= '-{FlattenC}->' ) // InternalPattern.g:753:3: (enumLiteral_6= 'FlattenC' )
{ {
// InternalPattern.g:745:3: (enumLiteral_6= '-{FlattenC}->' ) // InternalPattern.g:753:3: (enumLiteral_6= 'FlattenC' )
// InternalPattern.g:746:4: enumLiteral_6= '-{FlattenC}->' // InternalPattern.g:754:4: enumLiteral_6= 'FlattenC'
{ {
enumLiteral_6=(Token)match(input,31,FOLLOW_2); enumLiteral_6=(Token)match(input,33,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); newLeafNode(enumLiteral_6, grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6());
...@@ -1888,12 +1900,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1888,12 +1900,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 8 : case 8 :
// InternalPattern.g:753:3: (enumLiteral_7= '-{ForkC}->' ) // InternalPattern.g:761:3: (enumLiteral_7= 'ForkC' )
{ {
// InternalPattern.g:753:3: (enumLiteral_7= '-{ForkC}->' ) // InternalPattern.g:761:3: (enumLiteral_7= 'ForkC' )
// InternalPattern.g:754:4: enumLiteral_7= '-{ForkC}->' // InternalPattern.g:762:4: enumLiteral_7= 'ForkC'
{ {
enumLiteral_7=(Token)match(input,32,FOLLOW_2); enumLiteral_7=(Token)match(input,34,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_7, grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); newLeafNode(enumLiteral_7, grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7());
...@@ -1905,12 +1917,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1905,12 +1917,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 9 : case 9 :
// InternalPattern.g:761:3: (enumLiteral_8= '-{ForkP}->' ) // InternalPattern.g:769:3: (enumLiteral_8= 'ForkP' )
{ {
// InternalPattern.g:761:3: (enumLiteral_8= '-{ForkP}->' ) // InternalPattern.g:769:3: (enumLiteral_8= 'ForkP' )
// InternalPattern.g:762:4: enumLiteral_8= '-{ForkP}->' // InternalPattern.g:770:4: enumLiteral_8= 'ForkP'
{ {
enumLiteral_8=(Token)match(input,33,FOLLOW_2); enumLiteral_8=(Token)match(input,35,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_8, grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); newLeafNode(enumLiteral_8, grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8());
...@@ -1922,12 +1934,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1922,12 +1934,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 10 : case 10 :
// InternalPattern.g:769:3: (enumLiteral_9= '-{JoinC}->' ) // InternalPattern.g:777:3: (enumLiteral_9= 'JoinC' )
{ {
// InternalPattern.g:769:3: (enumLiteral_9= '-{JoinC}->' ) // InternalPattern.g:777:3: (enumLiteral_9= 'JoinC' )
// InternalPattern.g:770:4: enumLiteral_9= '-{JoinC}->' // InternalPattern.g:778:4: enumLiteral_9= 'JoinC'
{ {
enumLiteral_9=(Token)match(input,34,FOLLOW_2); enumLiteral_9=(Token)match(input,36,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_9, grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); newLeafNode(enumLiteral_9, grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9());
...@@ -1939,12 +1951,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1939,12 +1951,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 11 : case 11 :
// InternalPattern.g:777:3: (enumLiteral_10= '-{JoinP}->' ) // InternalPattern.g:785:3: (enumLiteral_10= 'JoinP' )
{ {
// InternalPattern.g:777:3: (enumLiteral_10= '-{JoinP}->' ) // InternalPattern.g:785:3: (enumLiteral_10= 'JoinP' )
// InternalPattern.g:778:4: enumLiteral_10= '-{JoinP}->' // InternalPattern.g:786:4: enumLiteral_10= 'JoinP'
{ {
enumLiteral_10=(Token)match(input,35,FOLLOW_2); enumLiteral_10=(Token)match(input,37,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_10, grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); newLeafNode(enumLiteral_10, grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10());
...@@ -1956,12 +1968,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -1956,12 +1968,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
} }
break; break;
case 12 : case 12 :
// InternalPattern.g:785:3: (enumLiteral_11= '-{Last}->' ) // InternalPattern.g:793:3: (enumLiteral_11= 'Last' )
{ {
// InternalPattern.g:785:3: (enumLiteral_11= '-{Last}->' ) // InternalPattern.g:793:3: (enumLiteral_11= 'Last' )
// InternalPattern.g:786:4: enumLiteral_11= '-{Last}->' // InternalPattern.g:794:4: enumLiteral_11= 'Last'
{ {
enumLiteral_11=(Token)match(input,36,FOLLOW_2); enumLiteral_11=(Token)match(input,38,FOLLOW_2);
current = grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11().getEnumLiteral().getInstance(); current = grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_11, grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); newLeafNode(enumLiteral_11, grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11());
...@@ -2009,11 +2021,13 @@ public class InternalPatternParser extends AbstractInternalAntlrParser { ...@@ -2009,11 +2021,13 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000041000L}); public static final BitSet FOLLOW_9 = new BitSet(new long[]{0x0000000000041000L});
public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000030L}); public static final BitSet FOLLOW_10 = new BitSet(new long[]{0x0000000000000030L});
public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000080000L}); public static final BitSet FOLLOW_11 = new BitSet(new long[]{0x0000000000080000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000001E04000L}); public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000007804000L});
public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000001E00000L}); public static final BitSet FOLLOW_13 = new BitSet(new long[]{0x0000000007800000L});
public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000040002L}); public static final BitSet FOLLOW_14 = new BitSet(new long[]{0x0000000000040002L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000001FFE000000L}); public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000020010L}); public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000007FF8000000L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000100002L}); public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000200000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000000020010L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000000000400002L});
} }
\ No newline at end of file
...@@ -111,8 +111,8 @@ public class PatternSemanticSequencer extends AbstractDelegatingSemanticSequence ...@@ -111,8 +111,8 @@ public class PatternSemanticSequencer extends AbstractDelegatingSemanticSequence
} }
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject); SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
feeder.accept(grammarAccess.getPatternLinkAccess().getSrcPatternPortQualifiedIDParserRuleCall_0_0_1(), semanticObject.eGet(SeimPackage.Literals.LINK__SRC, false)); feeder.accept(grammarAccess.getPatternLinkAccess().getSrcPatternPortQualifiedIDParserRuleCall_0_0_1(), semanticObject.eGet(SeimPackage.Literals.LINK__SRC, false));
feeder.accept(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0(), semanticObject.getLinkType()); feeder.accept(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0(), semanticObject.getLinkType());
feeder.accept(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_2_0_1(), semanticObject.eGet(SeimPackage.Literals.LINK__DST, false)); feeder.accept(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1(), semanticObject.eGet(SeimPackage.Literals.LINK__DST, false));
feeder.finish(); feeder.finish();
} }
......
...@@ -334,17 +334,19 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder { ...@@ -334,17 +334,19 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
private final Assignment cSrcAssignment_0 = (Assignment)cGroup.eContents().get(0); private final Assignment cSrcAssignment_0 = (Assignment)cGroup.eContents().get(0);
private final CrossReference cSrcPatternPortCrossReference_0_0 = (CrossReference)cSrcAssignment_0.eContents().get(0); private final CrossReference cSrcPatternPortCrossReference_0_0 = (CrossReference)cSrcAssignment_0.eContents().get(0);
private final RuleCall cSrcPatternPortQualifiedIDParserRuleCall_0_0_1 = (RuleCall)cSrcPatternPortCrossReference_0_0.eContents().get(1); private final RuleCall cSrcPatternPortQualifiedIDParserRuleCall_0_0_1 = (RuleCall)cSrcPatternPortCrossReference_0_0.eContents().get(1);
private final Assignment cLinkTypeAssignment_1 = (Assignment)cGroup.eContents().get(1); private final Keyword cHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final RuleCall cLinkTypeLinkTypeEnumRuleCall_1_0 = (RuleCall)cLinkTypeAssignment_1.eContents().get(0); private final Assignment cLinkTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final Assignment cDstAssignment_2 = (Assignment)cGroup.eContents().get(2); private final RuleCall cLinkTypeLinkTypeEnumRuleCall_2_0 = (RuleCall)cLinkTypeAssignment_2.eContents().get(0);
private final CrossReference cDstPatternPortCrossReference_2_0 = (CrossReference)cDstAssignment_2.eContents().get(0); private final Keyword cRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3 = (Keyword)cGroup.eContents().get(3);
private final RuleCall cDstPatternPortQualifiedIDParserRuleCall_2_0_1 = (RuleCall)cDstPatternPortCrossReference_2_0.eContents().get(1); private final Assignment cDstAssignment_4 = (Assignment)cGroup.eContents().get(4);
private final CrossReference cDstPatternPortCrossReference_4_0 = (CrossReference)cDstAssignment_4.eContents().get(0);
private final RuleCall cDstPatternPortQualifiedIDParserRuleCall_4_0_1 = (RuleCall)cDstPatternPortCrossReference_4_0.eContents().get(1);
//PatternLink: //PatternLink:
// src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID]; // src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID];
@Override public ParserRule getRule() { return rule; } @Override public ParserRule getRule() { return rule; }
//src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID] //src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID]
public Group getGroup() { return cGroup; } public Group getGroup() { return cGroup; }
//src=[PatternPort|QualifiedID] //src=[PatternPort|QualifiedID]
...@@ -356,20 +358,26 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder { ...@@ -356,20 +358,26 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
//QualifiedID //QualifiedID
public RuleCall getSrcPatternPortQualifiedIDParserRuleCall_0_0_1() { return cSrcPatternPortQualifiedIDParserRuleCall_0_0_1; } public RuleCall getSrcPatternPortQualifiedIDParserRuleCall_0_0_1() { return cSrcPatternPortQualifiedIDParserRuleCall_0_0_1; }
//'--{'
public Keyword getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1() { return cHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1; }
//linkType=LinkType //linkType=LinkType
public Assignment getLinkTypeAssignment_1() { return cLinkTypeAssignment_1; } public Assignment getLinkTypeAssignment_2() { return cLinkTypeAssignment_2; }
//LinkType //LinkType
public RuleCall getLinkTypeLinkTypeEnumRuleCall_1_0() { return cLinkTypeLinkTypeEnumRuleCall_1_0; } public RuleCall getLinkTypeLinkTypeEnumRuleCall_2_0() { return cLinkTypeLinkTypeEnumRuleCall_2_0; }
//'}->'
public Keyword getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3() { return cRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3; }
//dst=[PatternPort|QualifiedID] //dst=[PatternPort|QualifiedID]
public Assignment getDstAssignment_2() { return cDstAssignment_2; } public Assignment getDstAssignment_4() { return cDstAssignment_4; }
//[PatternPort|QualifiedID] //[PatternPort|QualifiedID]
public CrossReference getDstPatternPortCrossReference_2_0() { return cDstPatternPortCrossReference_2_0; } public CrossReference getDstPatternPortCrossReference_4_0() { return cDstPatternPortCrossReference_4_0; }
//QualifiedID //QualifiedID
public RuleCall getDstPatternPortQualifiedIDParserRuleCall_2_0_1() { return cDstPatternPortQualifiedIDParserRuleCall_2_0_1; } public RuleCall getDstPatternPortQualifiedIDParserRuleCall_4_0_1() { return cDstPatternPortQualifiedIDParserRuleCall_4_0_1; }
} }
public class QualifiedIDElements extends AbstractParserRuleElementFinder { public class QualifiedIDElements extends AbstractParserRuleElementFinder {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Pattern.QualifiedID"); private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Pattern.QualifiedID");
...@@ -471,86 +479,85 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder { ...@@ -471,86 +479,85 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
private final Keyword cLASTLastKeyword_11_0 = (Keyword)cLASTEnumLiteralDeclaration_11.eContents().get(0); private final Keyword cLASTLastKeyword_11_0 = (Keyword)cLASTEnumLiteralDeclaration_11.eContents().get(0);
//enum LinkType: //enum LinkType:
// TRANSPOSE='-{Transpose}->' | IDENTITY='-{Identity}->' | FIRST='-{First}->' | ROTATE='-{Rotate}->' // TRANSPOSE='Transpose' | IDENTITY='Identity' | FIRST='First' | ROTATE='Rotate'
// | SHIFTC='-{ShiftC}->' | SHIFTP='-{ShiftP}->' | FLATTENC='-{FlattenC}->' | FORKC='-{ForkC}->' | FORKP='-{ForkP}->' // | SHIFTC='ShiftC' | SHIFTP='ShiftP' | FLATTENC='FlattenC' | FORKC='ForkC' | FORKP='ForkP'
// | JOINC='-{JoinC}->' | JOINP='-{JoinP}->' | LAST='-{Last}->'; // | JOINC='JoinC' | JOINP='JoinP' | LAST='Last';
public EnumRule getRule() { return rule; } public EnumRule getRule() { return rule; }
//TRANSPOSE='-{Transpose}->' | IDENTITY='-{Identity}->' | FIRST='-{First}->' | ROTATE='-{Rotate}->' | SHIFTC='-{ShiftC}->' //TRANSPOSE='Transpose' | IDENTITY='Identity' | FIRST='First' | ROTATE='Rotate' | SHIFTC='ShiftC' | SHIFTP='ShiftP' |
//| SHIFTP='-{ShiftP}->' | FLATTENC='-{FlattenC}->' | FORKC='-{ForkC}->' | FORKP='-{ForkP}->' | JOINC='-{JoinC}->' | //FLATTENC='FlattenC' | FORKC='ForkC' | FORKP='ForkP' | JOINC='JoinC' | JOINP='JoinP' | LAST='Last'
//JOINP='-{JoinP}->' | LAST='-{Last}->'
public Alternatives getAlternatives() { return cAlternatives; } public Alternatives getAlternatives() { return cAlternatives; }
//TRANSPOSE='-{Transpose}->' //TRANSPOSE='Transpose'
public EnumLiteralDeclaration getTRANSPOSEEnumLiteralDeclaration_0() { return cTRANSPOSEEnumLiteralDeclaration_0; } public EnumLiteralDeclaration getTRANSPOSEEnumLiteralDeclaration_0() { return cTRANSPOSEEnumLiteralDeclaration_0; }
//'-{Transpose}->' //'Transpose'
public Keyword getTRANSPOSETransposeKeyword_0_0() { return cTRANSPOSETransposeKeyword_0_0; } public Keyword getTRANSPOSETransposeKeyword_0_0() { return cTRANSPOSETransposeKeyword_0_0; }
//IDENTITY='-{Identity}->' //IDENTITY='Identity'
public EnumLiteralDeclaration getIDENTITYEnumLiteralDeclaration_1() { return cIDENTITYEnumLiteralDeclaration_1; } public EnumLiteralDeclaration getIDENTITYEnumLiteralDeclaration_1() { return cIDENTITYEnumLiteralDeclaration_1; }
//'-{Identity}->' //'Identity'
public Keyword getIDENTITYIdentityKeyword_1_0() { return cIDENTITYIdentityKeyword_1_0; } public Keyword getIDENTITYIdentityKeyword_1_0() { return cIDENTITYIdentityKeyword_1_0; }
//FIRST='-{First}->' //FIRST='First'
public EnumLiteralDeclaration getFIRSTEnumLiteralDeclaration_2() { return cFIRSTEnumLiteralDeclaration_2; } public EnumLiteralDeclaration getFIRSTEnumLiteralDeclaration_2() { return cFIRSTEnumLiteralDeclaration_2; }
//'-{First}->' //'First'
public Keyword getFIRSTFirstKeyword_2_0() { return cFIRSTFirstKeyword_2_0; } public Keyword getFIRSTFirstKeyword_2_0() { return cFIRSTFirstKeyword_2_0; }
//ROTATE='-{Rotate}->' //ROTATE='Rotate'
public EnumLiteralDeclaration getROTATEEnumLiteralDeclaration_3() { return cROTATEEnumLiteralDeclaration_3; } public EnumLiteralDeclaration getROTATEEnumLiteralDeclaration_3() { return cROTATEEnumLiteralDeclaration_3; }
//'-{Rotate}->' //'Rotate'
public Keyword getROTATERotateKeyword_3_0() { return cROTATERotateKeyword_3_0; } public Keyword getROTATERotateKeyword_3_0() { return cROTATERotateKeyword_3_0; }
//SHIFTC='-{ShiftC}->' //SHIFTC='ShiftC'
public EnumLiteralDeclaration getSHIFTCEnumLiteralDeclaration_4() { return cSHIFTCEnumLiteralDeclaration_4; } public EnumLiteralDeclaration getSHIFTCEnumLiteralDeclaration_4() { return cSHIFTCEnumLiteralDeclaration_4; }
//'-{ShiftC}->' //'ShiftC'
public Keyword getSHIFTCShiftCKeyword_4_0() { return cSHIFTCShiftCKeyword_4_0; } public Keyword getSHIFTCShiftCKeyword_4_0() { return cSHIFTCShiftCKeyword_4_0; }
//SHIFTP='-{ShiftP}->' //SHIFTP='ShiftP'
public EnumLiteralDeclaration getSHIFTPEnumLiteralDeclaration_5() { return cSHIFTPEnumLiteralDeclaration_5; } public EnumLiteralDeclaration getSHIFTPEnumLiteralDeclaration_5() { return cSHIFTPEnumLiteralDeclaration_5; }
//'-{ShiftP}->' //'ShiftP'
public Keyword getSHIFTPShiftPKeyword_5_0() { return cSHIFTPShiftPKeyword_5_0; } public Keyword getSHIFTPShiftPKeyword_5_0() { return cSHIFTPShiftPKeyword_5_0; }
//FLATTENC='-{FlattenC}->' //FLATTENC='FlattenC'
public EnumLiteralDeclaration getFLATTENCEnumLiteralDeclaration_6() { return cFLATTENCEnumLiteralDeclaration_6; } public EnumLiteralDeclaration getFLATTENCEnumLiteralDeclaration_6() { return cFLATTENCEnumLiteralDeclaration_6; }
//'-{FlattenC}->' //'FlattenC'
public Keyword getFLATTENCFlattenCKeyword_6_0() { return cFLATTENCFlattenCKeyword_6_0; } public Keyword getFLATTENCFlattenCKeyword_6_0() { return cFLATTENCFlattenCKeyword_6_0; }
//FORKC='-{ForkC}->' //FORKC='ForkC'
public EnumLiteralDeclaration getFORKCEnumLiteralDeclaration_7() { return cFORKCEnumLiteralDeclaration_7; } public EnumLiteralDeclaration getFORKCEnumLiteralDeclaration_7() { return cFORKCEnumLiteralDeclaration_7; }
//'-{ForkC}->' //'ForkC'
public Keyword getFORKCForkCKeyword_7_0() { return cFORKCForkCKeyword_7_0; } public Keyword getFORKCForkCKeyword_7_0() { return cFORKCForkCKeyword_7_0; }
//FORKP='-{ForkP}->' //FORKP='ForkP'
public EnumLiteralDeclaration getFORKPEnumLiteralDeclaration_8() { return cFORKPEnumLiteralDeclaration_8; } public EnumLiteralDeclaration getFORKPEnumLiteralDeclaration_8() { return cFORKPEnumLiteralDeclaration_8; }
//'-{ForkP}->' //'ForkP'
public Keyword getFORKPForkPKeyword_8_0() { return cFORKPForkPKeyword_8_0; } public Keyword getFORKPForkPKeyword_8_0() { return cFORKPForkPKeyword_8_0; }
//JOINC='-{JoinC}->' //JOINC='JoinC'
public EnumLiteralDeclaration getJOINCEnumLiteralDeclaration_9() { return cJOINCEnumLiteralDeclaration_9; } public EnumLiteralDeclaration getJOINCEnumLiteralDeclaration_9() { return cJOINCEnumLiteralDeclaration_9; }
//'-{JoinC}->' //'JoinC'
public Keyword getJOINCJoinCKeyword_9_0() { return cJOINCJoinCKeyword_9_0; } public Keyword getJOINCJoinCKeyword_9_0() { return cJOINCJoinCKeyword_9_0; }
//JOINP='-{JoinP}->' //JOINP='JoinP'
public EnumLiteralDeclaration getJOINPEnumLiteralDeclaration_10() { return cJOINPEnumLiteralDeclaration_10; } public EnumLiteralDeclaration getJOINPEnumLiteralDeclaration_10() { return cJOINPEnumLiteralDeclaration_10; }
//'-{JoinP}->' //'JoinP'
public Keyword getJOINPJoinPKeyword_10_0() { return cJOINPJoinPKeyword_10_0; } public Keyword getJOINPJoinPKeyword_10_0() { return cJOINPJoinPKeyword_10_0; }
//LAST='-{Last}->' //LAST='Last'
public EnumLiteralDeclaration getLASTEnumLiteralDeclaration_11() { return cLASTEnumLiteralDeclaration_11; } public EnumLiteralDeclaration getLASTEnumLiteralDeclaration_11() { return cLASTEnumLiteralDeclaration_11; }
//'-{Last}->' //'Last'
public Keyword getLASTLastKeyword_11_0() { return cLASTLastKeyword_11_0; } public Keyword getLASTLastKeyword_11_0() { return cLASTLastKeyword_11_0; }
} }
public class PortDirectionElements extends AbstractEnumRuleElementFinder { public class PortDirectionElements extends AbstractEnumRuleElementFinder {
...@@ -709,7 +716,7 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder { ...@@ -709,7 +716,7 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
} }
//PatternLink: //PatternLink:
// src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID]; // src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID];
public PatternLinkElements getPatternLinkAccess() { public PatternLinkElements getPatternLinkAccess() {
return pPatternLink; return pPatternLink;
} }
...@@ -719,9 +726,9 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder { ...@@ -719,9 +726,9 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
} }
//enum LinkType: //enum LinkType:
// TRANSPOSE='-{Transpose}->' | IDENTITY='-{Identity}->' | FIRST='-{First}->' | ROTATE='-{Rotate}->' // TRANSPOSE='Transpose' | IDENTITY='Identity' | FIRST='First' | ROTATE='Rotate'
// | SHIFTC='-{ShiftC}->' | SHIFTP='-{ShiftP}->' | FLATTENC='-{FlattenC}->' | FORKC='-{ForkC}->' | FORKP='-{ForkP}->' // | SHIFTC='ShiftC' | SHIFTP='ShiftP' | FLATTENC='FlattenC' | FORKC='ForkC' | FORKP='ForkP'
// | JOINC='-{JoinC}->' | JOINP='-{JoinP}->' | LAST='-{Last}->'; // | JOINC='JoinC' | JOINP='JoinP' | LAST='Last';
public LinkTypeElements getLinkTypeAccess() { public LinkTypeElements getLinkTypeAccess() {
return eLinkType; return eLinkType;
} }
......
...@@ -34,13 +34,13 @@ CardinalityElement returns CardinalityElement: ...@@ -34,13 +34,13 @@ CardinalityElement returns CardinalityElement:
; ;
PatternLink returns PatternLink: PatternLink returns PatternLink:
src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID] src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID]
; ;
enum LinkType returns LinkType: enum LinkType returns LinkType:
TRANSPOSE = '-{Transpose}->' | IDENTITY = '-{Identity}->' | FIRST = '-{First}->' | ROTATE = '-{Rotate}->' TRANSPOSE = 'Transpose' | IDENTITY = 'Identity' | FIRST = 'First' | ROTATE = 'Rotate'
| SHIFTC = '-{ShiftC}->' | SHIFTP = '-{ShiftP}->' | FLATTENC = '-{FlattenC}->' | FORKC = '-{ForkC}->' | FORKP = '-{ForkP}->' | SHIFTC = 'ShiftC' | SHIFTP = 'ShiftP' | FLATTENC = 'FlattenC' | FORKC = 'ForkC' | FORKP = 'ForkP'
| JOINC = '-{JoinC}->' | JOINP = '-{JoinP}->' | LAST = '-{Last}->' | JOINC = 'JoinC' | JOINP = 'JoinP' | LAST = 'Last'
; ;
enum PortDirection returns seim::PortDirection: enum PortDirection returns seim::PortDirection:
......
...@@ -3,6 +3,8 @@ ...@@ -3,6 +3,8 @@
*/ */
package com.irtsaintexupery.xtext.pseim.validation package com.irtsaintexupery.xtext.pseim.validation
import com.irtsaintexupery.pseim.pseim.Pattern
import org.eclipse.xtext.validation.Check
/** /**
* This class contains custom validation rules. * This class contains custom validation rules.
...@@ -22,4 +24,17 @@ class PatternValidator extends AbstractPatternValidator { ...@@ -22,4 +24,17 @@ class PatternValidator extends AbstractPatternValidator {
// } // }
// } // }
@Check
def checkPattern(Pattern p) {
// Static checking
// Check if there exists a solution for the set of constraints induced by the pattern model (all links + constraints)
// Warning: Two variables are necessarily identical -> Potential error as there is redundancy in the variables
// -> Maybe it is not an error as in creates different interfaces for the pattern
// Global arithmetic constraints may be added to the pattern language (no need for now)
// TODO Dynamic synthesis (in the Mapping MM validator)
// A synthesis tool synthesizes a solution for the mapping
// If there is no solution, then the mapping is not correct
// In both cases, we need a bridge between our model and a solver
}
} }
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
<extension
point="org.eclipse.ui.editors">
<editor
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.XtextEditor"
contributorClass="org.eclipse.ui.editors.text.TextEditorActionContributor"
default="true"
extensions="seimx"
id="com.irtsaintexupery.xtext.Pseim"
name="Pseim Editor">
</editor>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclarationHandler"
commandId="org.eclipse.xtext.ui.editor.hyperlinking.OpenDeclaration">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</activeWhen>
</handler>
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.handler.ValidateActionHandler"
commandId="com.irtsaintexupery.xtext.Pseim.validate">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</activeWhen>
</handler>
<!-- copy qualified name -->
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName">
<activeWhen>
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened" />
</activeWhen>
</handler>
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedNameHandler"
commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName">
<activeWhen>
<and>
<reference definitionId="com.irtsaintexupery.xtext.Pseim.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.core.expressions.definitions">
<definition id="com.irtsaintexupery.xtext.Pseim.Editor.opened">
<and>
<reference definitionId="isActiveEditorAnInstanceOfXtextEditor"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.irtsaintexupery.xtext.Pseim"
forcePluginActivation="true"/>
</with>
</and>
</definition>
<definition id="com.irtsaintexupery.xtext.Pseim.XtextEditor.opened">
<and>
<reference definitionId="isXtextEditorActive"/>
<with variable="activeEditor">
<test property="org.eclipse.xtext.ui.editor.XtextEditor.languageName"
value="com.irtsaintexupery.xtext.Pseim"
forcePluginActivation="true"/>
</with>
</and>
</definition>
</extension>
<extension
point="org.eclipse.ui.preferencePages">
<page
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.irtsaintexupery.xtext.Pseim"
name="Pseim">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
</page>
<page
category="com.irtsaintexupery.xtext.Pseim"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.syntaxcoloring.SyntaxColoringPreferencePage"
id="com.irtsaintexupery.xtext.Pseim.coloring"
name="Syntax Coloring">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
</page>
<page
category="com.irtsaintexupery.xtext.Pseim"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.templates.XtextTemplatePreferencePage"
id="com.irtsaintexupery.xtext.Pseim.templates"
name="Templates">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
</page>
</extension>
<extension
point="org.eclipse.ui.propertyPages">
<page
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.preferences.LanguageRootPreferencePage"
id="com.irtsaintexupery.xtext.Pseim"
name="Pseim">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension
point="org.eclipse.ui.keywords">
<keyword
id="com.irtsaintexupery.xtext.ui.keyword_Pseim"
label="Pseim"/>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Trigger expensive validation"
id="com.irtsaintexupery.xtext.Pseim.validate"
name="Validate">
</command>
<!-- copy qualified name -->
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
<command
id="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
categoryId="org.eclipse.ui.category.edit"
description="Copy the qualified name for the selected element"
name="Copy Qualified Name">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command
commandId="com.irtsaintexupery.xtext.Pseim.validate"
style="push"
tooltip="Trigger expensive validation">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
<!-- copy qualified name -->
<menuContribution locationURI="popup:#TextEditorContext?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="menu:edit?after=copy">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.EditorCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
<menuContribution locationURI="popup:org.eclipse.xtext.ui.outline?after=additions">
<command commandId="org.eclipse.xtext.ui.editor.copyqualifiedname.OutlineCopyQualifiedName"
style="push" tooltip="Copy Qualified Name">
<visibleWhen checkEnabled="false">
<and>
<reference definitionId="com.irtsaintexupery.xtext.Pseim.XtextEditor.opened" />
<iterate>
<adapt type="org.eclipse.xtext.ui.editor.outline.IOutlineNode" />
</iterate>
</and>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?endof=group.find">
<command commandId="org.eclipse.xtext.ui.editor.FindReferences">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.findrefs.FindReferencesHandler"
commandId="org.eclipse.xtext.ui.editor.FindReferences">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<!-- adding resource factories -->
<extension
point="org.eclipse.emf.ecore.extension_parser">
<parser
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.resource.IResourceFactory"
type="seimx">
</parser>
</extension>
<extension point="org.eclipse.xtext.extension_resourceServiceProvider">
<resourceServiceProvider
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.resource.IResourceUIServiceProvider"
uriExtension="seimx">
</resourceServiceProvider>
</extension>
<!-- marker definitions for com.irtsaintexupery.xtext.Pseim -->
<extension
id="pseim.check.fast"
name="Pseim Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.fast"/>
<persistent value="true"/>
</extension>
<extension
id="pseim.check.normal"
name="Pseim Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.normal"/>
<persistent value="true"/>
</extension>
<extension
id="pseim.check.expensive"
name="Pseim Problem"
point="org.eclipse.core.resources.markers">
<super type="org.eclipse.xtext.ui.check.expensive"/>
<persistent value="true"/>
</extension>
<extension point="org.eclipse.xtext.builder.participant">
<participant
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.builder.IXtextBuilderParticipant"
fileExtensions="seimx"/>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.irtsaintexupery.xtext.Pseim"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.irtsaintexupery.xtext.Pseim.compiler.preferencePage"
name="Compiler">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
</page>
</extension>
<extension point="org.eclipse.ui.propertyPages">
<page
category="com.irtsaintexupery.xtext.Pseim"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.builder.preferences.BuilderPreferencePage"
id="com.irtsaintexupery.xtext.Pseim.compiler.propertyPage"
name="Compiler">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
<enabledWhen>
<adapt type="org.eclipse.core.resources.IProject"/>
</enabledWhen>
<filter name="projectNature" value="org.eclipse.xtext.ui.shared.xtextNature"/>
</page>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="popup:#TextEditorContext?after=xtext.ui.openDeclaration">
<command
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand"
id="com.irtsaintexupery.xtext.Pseim.OpenGeneratedCode"
style="push">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened" />
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.generator.trace.OpenGeneratedFileHandler"
commandId="org.eclipse.xtext.ui.OpenGeneratedFileCommand">
<activeWhen>
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened" />
</activeWhen>
</handler>
</extension>
<!-- Quick Outline -->
<extension
point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.outline.quickoutline.ShowQuickOutlineActionHandler"
commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
description="Open the quick outline."
id="org.eclipse.xtext.ui.editor.outline.QuickOutline"
name="Quick Outline">
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.open">
<command commandId="org.eclipse.xtext.ui.editor.outline.QuickOutline"
style="push"
tooltip="Open Quick Outline">
<visibleWhen checkEnabled="false">
<reference definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened"/>
</visibleWhen>
</command>
</menuContribution>
</extension>
<!-- quickfix marker resolution generator for com.irtsaintexupery.xtext.Pseim -->
<extension
point="org.eclipse.ui.ide.markerResolution">
<markerResolutionGenerator
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.irtsaintexupery.xtext.pseim.ui.pseim.check.fast">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.irtsaintexupery.xtext.pseim.ui.pseim.check.normal">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
<markerResolutionGenerator
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.quickfix.MarkerResolutionGenerator"
markerType="com.irtsaintexupery.xtext.pseim.ui.pseim.check.expensive">
<attribute
name="FIXABLE_KEY"
value="true">
</attribute>
</markerResolutionGenerator>
</extension>
<!-- Rename Refactoring -->
<extension point="org.eclipse.ui.handlers">
<handler
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.DefaultRenameElementHandler"
commandId="org.eclipse.xtext.ui.refactoring.RenameElement">
<activeWhen>
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</activeWhen>
</handler>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:#TextEditorContext?after=group.edit">
<command commandId="org.eclipse.xtext.ui.refactoring.RenameElement"
style="push">
<visibleWhen checkEnabled="false">
<reference
definitionId="com.irtsaintexupery.xtext.Pseim.Editor.opened">
</reference>
</visibleWhen>
</command>
</menuContribution>
</extension>
<extension point="org.eclipse.ui.preferencePages">
<page
category="com.irtsaintexupery.xtext.Pseim"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.refactoring.ui.RefactoringPreferencePage"
id="com.irtsaintexupery.xtext.Pseim.refactoring"
name="Refactoring">
<keywordReference id="com.irtsaintexupery.xtext.ui.keyword_Pseim"/>
</page>
</extension>
<extension point="org.eclipse.compare.contentViewers">
<viewer id="com.irtsaintexupery.xtext.Pseim.compare.contentViewers"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="seimx">
</viewer>
</extension>
<extension point="org.eclipse.compare.contentMergeViewers">
<viewer id="com.irtsaintexupery.xtext.Pseim.compare.contentMergeViewers"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.compare.InjectableViewerCreator"
extensions="seimx" label="Pseim Compare">
</viewer>
</extension>
<extension point="org.eclipse.ui.editors.documentProviders">
<provider id="com.irtsaintexupery.xtext.Pseim.editors.documentProviders"
class="com.irtsaintexupery.xtext.ui.PseimExecutableExtensionFactory:org.eclipse.xtext.ui.editor.model.XtextDocumentProvider"
extensions="seimx">
</provider>
</extension>
<extension point="org.eclipse.team.core.fileTypes">
<fileTypes
extension="seimx"
type="text">
</fileTypes>
</extension>
</plugin>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment