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 {
put(grammarAccess.getPatternPortAccess().getCardinalityElementAssignment_2_1_1(), "rule__PatternPort__CardinalityElementAssignment_2_1_1");
put(grammarAccess.getCardinalityElementAccess().getNameAssignment(), "rule__CardinalityElement__NameAssignment");
put(grammarAccess.getPatternLinkAccess().getSrcAssignment_0(), "rule__PatternLink__SrcAssignment_0");
put(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1(), "rule__PatternLink__LinkTypeAssignment_1");
put(grammarAccess.getPatternLinkAccess().getDstAssignment_2(), "rule__PatternLink__DstAssignment_2");
put(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2(), "rule__PatternLink__LinkTypeAssignment_2");
put(grammarAccess.getPatternLinkAccess().getDstAssignment_4(), "rule__PatternLink__DstAssignment_4");
}
};
}
......
......@@ -355,73 +355,73 @@ rule__LinkType__Alternatives
:
(
{ before(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); }
('-{Transpose}->')
('Transpose')
{ after(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); }
('-{Identity}->')
('Identity')
{ after(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); }
('-{First}->')
('First')
{ after(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); }
('-{Rotate}->')
('Rotate')
{ after(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); }
('-{ShiftC}->')
('ShiftC')
{ after(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); }
('-{ShiftP}->')
('ShiftP')
{ after(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); }
('-{FlattenC}->')
('FlattenC')
{ after(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); }
('-{ForkC}->')
('ForkC')
{ after(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); }
('-{ForkP}->')
('ForkP')
{ after(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); }
('-{JoinC}->')
('JoinC')
{ after(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); }
('-{JoinP}->')
('JoinP')
{ after(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10()); }
)
|
(
{ before(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); }
('-{Last}->')
('Last')
{ after(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11()); }
)
;
......@@ -1446,9 +1446,9 @@ rule__PatternLink__Group__1__Impl
}
:
(
{ before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1()); }
(rule__PatternLink__LinkTypeAssignment_1)
{ after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1()); }
{ before(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1()); }
'--{'
{ after(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1()); }
)
;
finally {
......@@ -1461,6 +1461,7 @@ rule__PatternLink__Group__2
}
:
rule__PatternLink__Group__2__Impl
rule__PatternLink__Group__3
;
finally {
restoreStackSize(stackSize);
......@@ -1472,9 +1473,62 @@ rule__PatternLink__Group__2__Impl
}
:
(
{ before(grammarAccess.getPatternLinkAccess().getDstAssignment_2()); }
(rule__PatternLink__DstAssignment_2)
{ after(grammarAccess.getPatternLinkAccess().getDstAssignment_2()); }
{ before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2()); }
(rule__PatternLink__LinkTypeAssignment_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 {
......@@ -1872,34 +1926,34 @@ finally {
restoreStackSize(stackSize);
}
rule__PatternLink__LinkTypeAssignment_1
rule__PatternLink__LinkTypeAssignment_2
@init {
int stackSize = keepStackSize();
}
:
(
{ before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); }
{ before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0()); }
ruleLinkType
{ after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0()); }
{ after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0()); }
)
;
finally {
restoreStackSize(stackSize);
}
rule__PatternLink__DstAssignment_2
rule__PatternLink__DstAssignment_4
@init {
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
{ 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 {
......
'('=28
')'=29
','=30
'-{First}->'=17
'-{FlattenC}->'=21
'-{ForkC}->'=22
'-{ForkP}->'=23
'-{Identity}->'=16
'-{JoinC}->'=24
'-{JoinP}->'=25
'-{Last}->'=26
'-{Rotate}->'=18
'-{ShiftC}->'=19
'-{ShiftP}->'=20
'-{Transpose}->'=15
'.'=36
'--{'=36
'.'=38
'First'=17
'FlattenC'=21
'ForkC'=22
'ForkP'=23
'Identity'=16
'JoinC'=24
'JoinP'=25
'Last'=26
'Rotate'=18
'ShiftC'=19
'ShiftP'=20
'Transpose'=15
'['=34
']'=35
'component'=33
......@@ -24,6 +25,7 @@
'unspec'=11
'{'=31
'}'=32
'}->'=37
RULE_ANY_OTHER=10
RULE_ID=4
RULE_INT=5
......@@ -57,3 +59,5 @@ T__33=33
T__34=34
T__35=35
T__36=36
T__37=37
T__38=38
......@@ -16,7 +16,9 @@ public class InternalPatternLexer extends Lexer {
public static final int RULE_SL_COMMENT=8;
public static final int T__19=19;
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__38=38;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
......@@ -149,10 +151,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__15;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:15:7: ( '-{Transpose}->' )
// InternalPattern.g:15:9: '-{Transpose}->'
// InternalPattern.g:15:7: ( 'Transpose' )
// InternalPattern.g:15:9: 'Transpose'
{
match("-{Transpose}->");
match("Transpose");
}
......@@ -170,10 +172,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__16;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:16:7: ( '-{Identity}->' )
// InternalPattern.g:16:9: '-{Identity}->'
// InternalPattern.g:16:7: ( 'Identity' )
// InternalPattern.g:16:9: 'Identity'
{
match("-{Identity}->");
match("Identity");
}
......@@ -191,10 +193,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__17;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:17:7: ( '-{First}->' )
// InternalPattern.g:17:9: '-{First}->'
// InternalPattern.g:17:7: ( 'First' )
// InternalPattern.g:17:9: 'First'
{
match("-{First}->");
match("First");
}
......@@ -212,10 +214,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__18;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:18:7: ( '-{Rotate}->' )
// InternalPattern.g:18:9: '-{Rotate}->'
// InternalPattern.g:18:7: ( 'Rotate' )
// InternalPattern.g:18:9: 'Rotate'
{
match("-{Rotate}->");
match("Rotate");
}
......@@ -233,10 +235,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__19;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:19:7: ( '-{ShiftC}->' )
// InternalPattern.g:19:9: '-{ShiftC}->'
// InternalPattern.g:19:7: ( 'ShiftC' )
// InternalPattern.g:19:9: 'ShiftC'
{
match("-{ShiftC}->");
match("ShiftC");
}
......@@ -254,10 +256,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__20;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:20:7: ( '-{ShiftP}->' )
// InternalPattern.g:20:9: '-{ShiftP}->'
// InternalPattern.g:20:7: ( 'ShiftP' )
// InternalPattern.g:20:9: 'ShiftP'
{
match("-{ShiftP}->");
match("ShiftP");
}
......@@ -275,10 +277,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:21:7: ( '-{FlattenC}->' )
// InternalPattern.g:21:9: '-{FlattenC}->'
// InternalPattern.g:21:7: ( 'FlattenC' )
// InternalPattern.g:21:9: 'FlattenC'
{
match("-{FlattenC}->");
match("FlattenC");
}
......@@ -296,10 +298,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__22;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:22:7: ( '-{ForkC}->' )
// InternalPattern.g:22:9: '-{ForkC}->'
// InternalPattern.g:22:7: ( 'ForkC' )
// InternalPattern.g:22:9: 'ForkC'
{
match("-{ForkC}->");
match("ForkC");
}
......@@ -317,10 +319,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__23;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:23:7: ( '-{ForkP}->' )
// InternalPattern.g:23:9: '-{ForkP}->'
// InternalPattern.g:23:7: ( 'ForkP' )
// InternalPattern.g:23:9: 'ForkP'
{
match("-{ForkP}->");
match("ForkP");
}
......@@ -338,10 +340,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__24;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:24:7: ( '-{JoinC}->' )
// InternalPattern.g:24:9: '-{JoinC}->'
// InternalPattern.g:24:7: ( 'JoinC' )
// InternalPattern.g:24:9: 'JoinC'
{
match("-{JoinC}->");
match("JoinC");
}
......@@ -359,10 +361,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__25;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:25:7: ( '-{JoinP}->' )
// InternalPattern.g:25:9: '-{JoinP}->'
// InternalPattern.g:25:7: ( 'JoinP' )
// InternalPattern.g:25:9: 'JoinP'
{
match("-{JoinP}->");
match("JoinP");
}
......@@ -380,10 +382,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__26;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:26:7: ( '-{Last}->' )
// InternalPattern.g:26:9: '-{Last}->'
// InternalPattern.g:26:7: ( 'Last' )
// InternalPattern.g:26:9: 'Last'
{
match("-{Last}->");
match("Last");
}
......@@ -583,10 +585,11 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__36;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:36:7: ( '.' )
// InternalPattern.g:36:9: '.'
// InternalPattern.g:36:7: ( '--{' )
// InternalPattern.g:36:9: '--{'
{
match('.');
match("--{");
}
......@@ -598,15 +601,56 @@ public class InternalPatternLexer extends Lexer {
}
// $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"
public final void mRULE_ID() throws RecognitionException {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1909: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:9: ( ( '^' )? ( '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 LA1_0 = input.LA(1);
......@@ -615,7 +659,7 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt1) {
case 1 :
// InternalPattern.g:1909:11: '^'
// InternalPattern.g:1963:11: '^'
{
match('^');
......@@ -633,7 +677,7 @@ public class InternalPatternLexer extends Lexer {
recover(mse);
throw mse;}
// InternalPattern.g:1909:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
// InternalPattern.g:1963:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
......@@ -682,10 +726,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1911:10: ( ( '0' .. '9' )+ )
// InternalPattern.g:1911:12: ( '0' .. '9' )+
// InternalPattern.g:1965:10: ( ( '0' .. '9' )+ )
// InternalPattern.g:1965:12: ( '0' .. '9' )+
{
// InternalPattern.g:1911:12: ( '0' .. '9' )+
// InternalPattern.g:1965:12: ( '0' .. '9' )+
int cnt3=0;
loop3:
do {
......@@ -699,7 +743,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt3) {
case 1 :
// InternalPattern.g:1911:13: '0' .. '9'
// InternalPattern.g:1965:13: '0' .. '9'
{
matchRange('0','9');
......@@ -731,10 +775,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1913:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
// InternalPattern.g:1913:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
// InternalPattern.g:1967:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
// InternalPattern.g:1967:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{
// InternalPattern.g:1913:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
// InternalPattern.g:1967:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2;
int LA6_0 = input.LA(1);
......@@ -752,10 +796,10 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt6) {
case 1 :
// InternalPattern.g:1913:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
// InternalPattern.g:1967:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
// InternalPattern.g:1913:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
// InternalPattern.g:1967:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
loop4:
do {
int alt4=3;
......@@ -771,7 +815,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt4) {
case 1 :
// InternalPattern.g:1913:21: '\\\\' .
// InternalPattern.g:1967:21: '\\\\' .
{
match('\\');
matchAny();
......@@ -779,7 +823,7 @@ public class InternalPatternLexer extends Lexer {
}
break;
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') ) {
input.consume();
......@@ -804,10 +848,10 @@ public class InternalPatternLexer extends Lexer {
}
break;
case 2 :
// InternalPattern.g:1913:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
// InternalPattern.g:1967:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{
match('\'');
// InternalPattern.g:1913:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
// InternalPattern.g:1967:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5:
do {
int alt5=3;
......@@ -823,7 +867,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt5) {
case 1 :
// InternalPattern.g:1913:54: '\\\\' .
// InternalPattern.g:1967:54: '\\\\' .
{
match('\\');
matchAny();
......@@ -831,7 +875,7 @@ public class InternalPatternLexer extends Lexer {
}
break;
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') ) {
input.consume();
......@@ -874,12 +918,12 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1915:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalPattern.g:1915:19: '/*' ( options {greedy=false; } : . )* '*/'
// InternalPattern.g:1969:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalPattern.g:1969:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
// InternalPattern.g:1915:24: ( options {greedy=false; } : . )*
// InternalPattern.g:1969:24: ( options {greedy=false; } : . )*
loop7:
do {
int alt7=2;
......@@ -904,7 +948,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt7) {
case 1 :
// InternalPattern.g:1915:52: .
// InternalPattern.g:1969:52: .
{
matchAny();
......@@ -934,12 +978,12 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1917:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalPattern.g:1917:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
// InternalPattern.g:1971:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalPattern.g:1971:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
// InternalPattern.g:1917:24: (~ ( ( '\\n' | '\\r' ) ) )*
// InternalPattern.g:1971:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8:
do {
int alt8=2;
......@@ -952,7 +996,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt8) {
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') ) {
input.consume();
......@@ -972,7 +1016,7 @@ public class InternalPatternLexer extends Lexer {
}
} while (true);
// InternalPattern.g:1917:40: ( ( '\\r' )? '\\n' )?
// InternalPattern.g:1971:40: ( ( '\\r' )? '\\n' )?
int alt10=2;
int LA10_0 = input.LA(1);
......@@ -981,9 +1025,9 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt10) {
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 LA9_0 = input.LA(1);
......@@ -992,7 +1036,7 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt9) {
case 1 :
// InternalPattern.g:1917:41: '\\r'
// InternalPattern.g:1971:41: '\\r'
{
match('\r');
......@@ -1024,10 +1068,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1919:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalPattern.g:1919:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
// InternalPattern.g:1973:9: ( ( ' ' | '\\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;
loop11:
do {
......@@ -1081,8 +1125,8 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:1921:16: ( . )
// InternalPattern.g:1921:18: .
// InternalPattern.g:1975:16: ( . )
// InternalPattern.g:1975:18: .
{
matchAny();
......@@ -1097,8 +1141,8 @@ public class InternalPatternLexer extends Lexer {
// $ANTLR end "RULE_ANY_OTHER"
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 )
int alt12=33;
// 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=35;
alt12 = dfa12.predict(input);
switch (alt12) {
case 1 :
......@@ -1284,49 +1328,63 @@ public class InternalPatternLexer extends Lexer {
}
break;
case 27 :
// InternalPattern.g:1:166: RULE_ID
// InternalPattern.g:1:166: T__37
{
mRULE_ID();
mT__37();
}
break;
case 28 :
// InternalPattern.g:1:174: RULE_INT
// InternalPattern.g:1:172: T__38
{
mRULE_INT();
mT__38();
}
break;
case 29 :
// InternalPattern.g:1:183: RULE_STRING
// InternalPattern.g:1:178: RULE_ID
{
mRULE_STRING();
mRULE_ID();
}
break;
case 30 :
// InternalPattern.g:1:195: RULE_ML_COMMENT
// InternalPattern.g:1:186: RULE_INT
{
mRULE_ML_COMMENT();
mRULE_INT();
}
break;
case 31 :
// InternalPattern.g:1:211: RULE_SL_COMMENT
// InternalPattern.g:1:195: RULE_STRING
{
mRULE_SL_COMMENT();
mRULE_STRING();
}
break;
case 32 :
// InternalPattern.g:1:227: RULE_WS
// InternalPattern.g:1:207: RULE_ML_COMMENT
{
mRULE_WS();
mRULE_ML_COMMENT();
}
break;
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();
......@@ -1340,111 +1398,156 @@ public class InternalPatternLexer extends Lexer {
protected DFA12 dfa12 = new DFA12(this);
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 =
"\136\uffff";
"\u008b\uffff";
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 =
"\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 =
"\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 =
"\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 = {
"\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",
"\1\27",
"\1\31",
"\1\32",
"\1\33",
"\1\34",
"",
"",
"",
"",
"",
"\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\36",
"\1\40",
"\1\41",
"\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\56",
"\1\61\2\uffff\1\60\1\64\1\uffff\1\65\5\uffff\1\62\1\63\1\57",
"\1\66",
"\1\65",
"",
"\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\114",
"\1\115",
"",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\116",
"\1\117",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"",
"\1\121\14\uffff\1\122",
"\1\120",
"\1\121",
"\1\122",
"\1\123",
"\1\124\14\uffff\1\125",
"\1\124",
"\1\125",
"\1\126",
"\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",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"\1\176",
"\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 {
this.transition = DFA12_transition;
}
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 {
IntStream input = _input;
int _s = s;
switch ( s ) {
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);
s = -1;
......@@ -1504,53 +1597,77 @@ public class InternalPatternLexer extends Lexer {
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;
break;
case 2 :
int LA12_18 = input.LA(1);
int LA12_25 = input.LA(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;
break;
......
......@@ -22,13 +22,15 @@ import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalPatternParser extends AbstractInternalContentAssistParser {
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_SL_COMMENT=8;
public static final int T__19=19;
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__38=38;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
......@@ -1154,13 +1156,13 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
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;
switch ( input.LA(1) ) {
case 15:
......@@ -1232,14 +1234,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
switch (alt6) {
case 1 :
// InternalPattern.g:356:2: ( ( '-{Transpose}->' ) )
// InternalPattern.g:356:2: ( ( 'Transpose' ) )
{
// InternalPattern.g:356:2: ( ( '-{Transpose}->' ) )
// InternalPattern.g:357:3: ( '-{Transpose}->' )
// InternalPattern.g:356:2: ( ( 'Transpose' ) )
// InternalPattern.g:357:3: ( 'Transpose' )
{
before(grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0());
// InternalPattern.g:358:3: ( '-{Transpose}->' )
// InternalPattern.g:358:4: '-{Transpose}->'
// InternalPattern.g:358:3: ( 'Transpose' )
// InternalPattern.g:358:4: 'Transpose'
{
match(input,15,FOLLOW_2);
......@@ -1253,14 +1255,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 2 :
// InternalPattern.g:362:2: ( ( '-{Identity}->' ) )
// InternalPattern.g:362:2: ( ( 'Identity' ) )
{
// InternalPattern.g:362:2: ( ( '-{Identity}->' ) )
// InternalPattern.g:363:3: ( '-{Identity}->' )
// InternalPattern.g:362:2: ( ( 'Identity' ) )
// InternalPattern.g:363:3: ( 'Identity' )
{
before(grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1());
// InternalPattern.g:364:3: ( '-{Identity}->' )
// InternalPattern.g:364:4: '-{Identity}->'
// InternalPattern.g:364:3: ( 'Identity' )
// InternalPattern.g:364:4: 'Identity'
{
match(input,16,FOLLOW_2);
......@@ -1274,14 +1276,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 3 :
// InternalPattern.g:368:2: ( ( '-{First}->' ) )
// InternalPattern.g:368:2: ( ( 'First' ) )
{
// InternalPattern.g:368:2: ( ( '-{First}->' ) )
// InternalPattern.g:369:3: ( '-{First}->' )
// InternalPattern.g:368:2: ( ( 'First' ) )
// InternalPattern.g:369:3: ( 'First' )
{
before(grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2());
// InternalPattern.g:370:3: ( '-{First}->' )
// InternalPattern.g:370:4: '-{First}->'
// InternalPattern.g:370:3: ( 'First' )
// InternalPattern.g:370:4: 'First'
{
match(input,17,FOLLOW_2);
......@@ -1295,14 +1297,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 4 :
// InternalPattern.g:374:2: ( ( '-{Rotate}->' ) )
// InternalPattern.g:374:2: ( ( 'Rotate' ) )
{
// InternalPattern.g:374:2: ( ( '-{Rotate}->' ) )
// InternalPattern.g:375:3: ( '-{Rotate}->' )
// InternalPattern.g:374:2: ( ( 'Rotate' ) )
// InternalPattern.g:375:3: ( 'Rotate' )
{
before(grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3());
// InternalPattern.g:376:3: ( '-{Rotate}->' )
// InternalPattern.g:376:4: '-{Rotate}->'
// InternalPattern.g:376:3: ( 'Rotate' )
// InternalPattern.g:376:4: 'Rotate'
{
match(input,18,FOLLOW_2);
......@@ -1316,14 +1318,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 5 :
// InternalPattern.g:380:2: ( ( '-{ShiftC}->' ) )
// InternalPattern.g:380:2: ( ( 'ShiftC' ) )
{
// InternalPattern.g:380:2: ( ( '-{ShiftC}->' ) )
// InternalPattern.g:381:3: ( '-{ShiftC}->' )
// InternalPattern.g:380:2: ( ( 'ShiftC' ) )
// InternalPattern.g:381:3: ( 'ShiftC' )
{
before(grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4());
// InternalPattern.g:382:3: ( '-{ShiftC}->' )
// InternalPattern.g:382:4: '-{ShiftC}->'
// InternalPattern.g:382:3: ( 'ShiftC' )
// InternalPattern.g:382:4: 'ShiftC'
{
match(input,19,FOLLOW_2);
......@@ -1337,14 +1339,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 6 :
// InternalPattern.g:386:2: ( ( '-{ShiftP}->' ) )
// InternalPattern.g:386:2: ( ( 'ShiftP' ) )
{
// InternalPattern.g:386:2: ( ( '-{ShiftP}->' ) )
// InternalPattern.g:387:3: ( '-{ShiftP}->' )
// InternalPattern.g:386:2: ( ( 'ShiftP' ) )
// InternalPattern.g:387:3: ( 'ShiftP' )
{
before(grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5());
// InternalPattern.g:388:3: ( '-{ShiftP}->' )
// InternalPattern.g:388:4: '-{ShiftP}->'
// InternalPattern.g:388:3: ( 'ShiftP' )
// InternalPattern.g:388:4: 'ShiftP'
{
match(input,20,FOLLOW_2);
......@@ -1358,14 +1360,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 7 :
// InternalPattern.g:392:2: ( ( '-{FlattenC}->' ) )
// InternalPattern.g:392:2: ( ( 'FlattenC' ) )
{
// InternalPattern.g:392:2: ( ( '-{FlattenC}->' ) )
// InternalPattern.g:393:3: ( '-{FlattenC}->' )
// InternalPattern.g:392:2: ( ( 'FlattenC' ) )
// InternalPattern.g:393:3: ( 'FlattenC' )
{
before(grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6());
// InternalPattern.g:394:3: ( '-{FlattenC}->' )
// InternalPattern.g:394:4: '-{FlattenC}->'
// InternalPattern.g:394:3: ( 'FlattenC' )
// InternalPattern.g:394:4: 'FlattenC'
{
match(input,21,FOLLOW_2);
......@@ -1379,14 +1381,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 8 :
// InternalPattern.g:398:2: ( ( '-{ForkC}->' ) )
// InternalPattern.g:398:2: ( ( 'ForkC' ) )
{
// InternalPattern.g:398:2: ( ( '-{ForkC}->' ) )
// InternalPattern.g:399:3: ( '-{ForkC}->' )
// InternalPattern.g:398:2: ( ( 'ForkC' ) )
// InternalPattern.g:399:3: ( 'ForkC' )
{
before(grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7());
// InternalPattern.g:400:3: ( '-{ForkC}->' )
// InternalPattern.g:400:4: '-{ForkC}->'
// InternalPattern.g:400:3: ( 'ForkC' )
// InternalPattern.g:400:4: 'ForkC'
{
match(input,22,FOLLOW_2);
......@@ -1400,14 +1402,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 9 :
// InternalPattern.g:404:2: ( ( '-{ForkP}->' ) )
// InternalPattern.g:404:2: ( ( 'ForkP' ) )
{
// InternalPattern.g:404:2: ( ( '-{ForkP}->' ) )
// InternalPattern.g:405:3: ( '-{ForkP}->' )
// InternalPattern.g:404:2: ( ( 'ForkP' ) )
// InternalPattern.g:405:3: ( 'ForkP' )
{
before(grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8());
// InternalPattern.g:406:3: ( '-{ForkP}->' )
// InternalPattern.g:406:4: '-{ForkP}->'
// InternalPattern.g:406:3: ( 'ForkP' )
// InternalPattern.g:406:4: 'ForkP'
{
match(input,23,FOLLOW_2);
......@@ -1421,14 +1423,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 10 :
// InternalPattern.g:410:2: ( ( '-{JoinC}->' ) )
// InternalPattern.g:410:2: ( ( 'JoinC' ) )
{
// InternalPattern.g:410:2: ( ( '-{JoinC}->' ) )
// InternalPattern.g:411:3: ( '-{JoinC}->' )
// InternalPattern.g:410:2: ( ( 'JoinC' ) )
// InternalPattern.g:411:3: ( 'JoinC' )
{
before(grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9());
// InternalPattern.g:412:3: ( '-{JoinC}->' )
// InternalPattern.g:412:4: '-{JoinC}->'
// InternalPattern.g:412:3: ( 'JoinC' )
// InternalPattern.g:412:4: 'JoinC'
{
match(input,24,FOLLOW_2);
......@@ -1442,14 +1444,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 11 :
// InternalPattern.g:416:2: ( ( '-{JoinP}->' ) )
// InternalPattern.g:416:2: ( ( 'JoinP' ) )
{
// InternalPattern.g:416:2: ( ( '-{JoinP}->' ) )
// InternalPattern.g:417:3: ( '-{JoinP}->' )
// InternalPattern.g:416:2: ( ( 'JoinP' ) )
// InternalPattern.g:417:3: ( 'JoinP' )
{
before(grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10());
// InternalPattern.g:418:3: ( '-{JoinP}->' )
// InternalPattern.g:418:4: '-{JoinP}->'
// InternalPattern.g:418:3: ( 'JoinP' )
// InternalPattern.g:418:4: 'JoinP'
{
match(input,25,FOLLOW_2);
......@@ -1463,14 +1465,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
break;
case 12 :
// InternalPattern.g:422:2: ( ( '-{Last}->' ) )
// InternalPattern.g:422:2: ( ( 'Last' ) )
{
// InternalPattern.g:422:2: ( ( '-{Last}->' ) )
// InternalPattern.g:423:3: ( '-{Last}->' )
// InternalPattern.g:422:2: ( ( 'Last' ) )
// InternalPattern.g:423:3: ( 'Last' )
{
before(grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11());
// InternalPattern.g:424:3: ( '-{Last}->' )
// InternalPattern.g:424:4: '-{Last}->'
// InternalPattern.g:424:3: ( 'Last' )
// InternalPattern.g:424:4: 'Last'
{
match(input,26,FOLLOW_2);
......@@ -4607,31 +4609,106 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1447:1: ( ( ( rule__PatternLink__LinkTypeAssignment_1 ) ) )
// InternalPattern.g:1448:1: ( ( rule__PatternLink__LinkTypeAssignment_1 ) )
// InternalPattern.g:1447:1: ( ( '--{' ) )
// InternalPattern.g:1448:1: ( '--{' )
{
// InternalPattern.g:1448:1: ( ( rule__PatternLink__LinkTypeAssignment_1 ) )
// InternalPattern.g:1449:2: ( rule__PatternLink__LinkTypeAssignment_1 )
// InternalPattern.g:1448:1: ( '--{' )
// InternalPattern.g:1449:2: '--{'
{
before(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1());
// InternalPattern.g:1450:2: ( rule__PatternLink__LinkTypeAssignment_1 )
// InternalPattern.g:1450:3: rule__PatternLink__LinkTypeAssignment_1
before(grammarAccess.getPatternLinkAccess().getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1());
match(input,36,FOLLOW_2);
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__LinkTypeAssignment_1();
rule__PatternLink__Group__3();
state._fsp--;
}
after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_1());
}
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);
rule__PatternLink__LinkTypeAssignment_2();
state._fsp--;
}
after(grammarAccess.getPatternLinkAccess().getLinkTypeAssignment_2());
}
......@@ -4650,21 +4727,26 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__1__Impl"
// $ANTLR end "rule__PatternLink__Group__2__Impl"
// $ANTLR start "rule__PatternLink__Group__2"
// InternalPattern.g:1458:1: rule__PatternLink__Group__2 : rule__PatternLink__Group__2__Impl ;
public final void rule__PatternLink__Group__2() throws RecognitionException {
// $ANTLR start "rule__PatternLink__Group__3"
// InternalPattern.g:1485:1: rule__PatternLink__Group__3 : rule__PatternLink__Group__3__Impl rule__PatternLink__Group__4 ;
public final void rule__PatternLink__Group__3() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1462:1: ( rule__PatternLink__Group__2__Impl )
// InternalPattern.g:1463:2: rule__PatternLink__Group__2__Impl
// InternalPattern.g:1489:1: ( rule__PatternLink__Group__3__Impl rule__PatternLink__Group__4 )
// 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);
rule__PatternLink__Group__2__Impl();
rule__PatternLink__Group__4();
state._fsp--;
......@@ -4683,35 +4765,105 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__2"
// $ANTLR end "rule__PatternLink__Group__3"
// $ANTLR start "rule__PatternLink__Group__2__Impl"
// InternalPattern.g:1469:1: rule__PatternLink__Group__2__Impl : ( ( rule__PatternLink__DstAssignment_2 ) ) ;
public final void rule__PatternLink__Group__2__Impl() throws RecognitionException {
// $ANTLR start "rule__PatternLink__Group__3__Impl"
// InternalPattern.g:1497:1: rule__PatternLink__Group__3__Impl : ( '}->' ) ;
public final void rule__PatternLink__Group__3__Impl() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1473:1: ( ( ( rule__PatternLink__DstAssignment_2 ) ) )
// InternalPattern.g:1474:1: ( ( rule__PatternLink__DstAssignment_2 ) )
// InternalPattern.g:1501:1: ( ( '}->' ) )
// InternalPattern.g:1502:1: ( '}->' )
{
// InternalPattern.g:1474:1: ( ( rule__PatternLink__DstAssignment_2 ) )
// InternalPattern.g:1475:2: ( rule__PatternLink__DstAssignment_2 )
// InternalPattern.g:1502:1: ( '}->' )
// InternalPattern.g:1503:2: '}->'
{
before(grammarAccess.getPatternLinkAccess().getDstAssignment_2());
// InternalPattern.g:1476:2: ( rule__PatternLink__DstAssignment_2 )
// InternalPattern.g:1476:3: rule__PatternLink__DstAssignment_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();
try {
// InternalPattern.g:1516:1: ( rule__PatternLink__Group__4__Impl )
// InternalPattern.g:1517:2: rule__PatternLink__Group__4__Impl
{
pushFollow(FOLLOW_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_4());
// InternalPattern.g:1530:2: ( rule__PatternLink__DstAssignment_4 )
// InternalPattern.g:1530:3: rule__PatternLink__DstAssignment_4
{
pushFollow(FOLLOW_2);
rule__PatternLink__DstAssignment_2();
rule__PatternLink__DstAssignment_4();
state._fsp--;
}
after(grammarAccess.getPatternLinkAccess().getDstAssignment_2());
after(grammarAccess.getPatternLinkAccess().getDstAssignment_4());
}
......@@ -4730,20 +4882,20 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
return ;
}
// $ANTLR end "rule__PatternLink__Group__2__Impl"
// $ANTLR end "rule__PatternLink__Group__4__Impl"
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1489: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:1543:1: ( 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();
state._fsp--;
......@@ -4772,17 +4924,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1501:1: ( ( RULE_ID ) )
// InternalPattern.g:1502:1: ( RULE_ID )
// InternalPattern.g:1555:1: ( ( RULE_ID ) )
// InternalPattern.g:1556:1: ( RULE_ID )
{
// InternalPattern.g:1502:1: ( RULE_ID )
// InternalPattern.g:1503:2: RULE_ID
// InternalPattern.g:1556:1: ( RULE_ID )
// InternalPattern.g:1557:2: RULE_ID
{
before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_0());
match(input,RULE_ID,FOLLOW_2);
......@@ -4809,14 +4961,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1516:1: ( rule__QualifiedID__Group__1__Impl )
// InternalPattern.g:1517:2: rule__QualifiedID__Group__1__Impl
// InternalPattern.g:1570:1: ( rule__QualifiedID__Group__1__Impl )
// InternalPattern.g:1571:2: rule__QualifiedID__Group__1__Impl
{
pushFollow(FOLLOW_2);
rule__QualifiedID__Group__1__Impl();
......@@ -4842,35 +4994,35 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1527:1: ( ( ( rule__QualifiedID__Group_1__0 )* ) )
// InternalPattern.g:1528:1: ( ( rule__QualifiedID__Group_1__0 )* )
// InternalPattern.g:1581: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:1529:2: ( rule__QualifiedID__Group_1__0 )*
// InternalPattern.g:1582:1: ( ( rule__QualifiedID__Group_1__0 )* )
// InternalPattern.g:1583:2: ( rule__QualifiedID__Group_1__0 )*
{
before(grammarAccess.getQualifiedIDAccess().getGroup_1());
// InternalPattern.g:1530:2: ( rule__QualifiedID__Group_1__0 )*
// InternalPattern.g:1584:2: ( rule__QualifiedID__Group_1__0 )*
loop17:
do {
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==36) ) {
if ( (LA17_0==38) ) {
alt17=1;
}
switch (alt17) {
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();
state._fsp--;
......@@ -4907,14 +5059,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1543: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:1597:1: ( 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);
rule__QualifiedID__Group_1__0__Impl();
......@@ -4945,20 +5097,20 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1555:1: ( ( '.' ) )
// InternalPattern.g:1556:1: ( '.' )
// InternalPattern.g:1609:1: ( ( '.' ) )
// InternalPattern.g:1610:1: ( '.' )
{
// InternalPattern.g:1556:1: ( '.' )
// InternalPattern.g:1557:2: '.'
// InternalPattern.g:1610:1: ( '.' )
// InternalPattern.g:1611:2: '.'
{
before(grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0());
match(input,36,FOLLOW_2);
match(input,38,FOLLOW_2);
after(grammarAccess.getQualifiedIDAccess().getFullStopKeyword_1_0());
}
......@@ -4982,14 +5134,14 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1570:1: ( rule__QualifiedID__Group_1__1__Impl )
// InternalPattern.g:1571:2: rule__QualifiedID__Group_1__1__Impl
// InternalPattern.g:1624:1: ( rule__QualifiedID__Group_1__1__Impl )
// InternalPattern.g:1625:2: rule__QualifiedID__Group_1__1__Impl
{
pushFollow(FOLLOW_2);
rule__QualifiedID__Group_1__1__Impl();
......@@ -5015,17 +5167,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1581:1: ( ( RULE_ID ) )
// InternalPattern.g:1582:1: ( RULE_ID )
// InternalPattern.g:1635:1: ( ( RULE_ID ) )
// InternalPattern.g:1636:1: ( RULE_ID )
{
// InternalPattern.g:1582:1: ( RULE_ID )
// InternalPattern.g:1583:2: RULE_ID
// InternalPattern.g:1636:1: ( RULE_ID )
// InternalPattern.g:1637:2: RULE_ID
{
before(grammarAccess.getQualifiedIDAccess().getIDTerminalRuleCall_1_1());
match(input,RULE_ID,FOLLOW_2);
......@@ -5052,17 +5204,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1597:1: ( ( RULE_ID ) )
// InternalPattern.g:1598:2: ( RULE_ID )
// InternalPattern.g:1651:1: ( ( RULE_ID ) )
// InternalPattern.g:1652:2: ( RULE_ID )
{
// InternalPattern.g:1598:2: ( RULE_ID )
// InternalPattern.g:1599:3: RULE_ID
// InternalPattern.g:1652:2: ( RULE_ID )
// InternalPattern.g:1653:3: RULE_ID
{
before(grammarAccess.getPatternAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2);
......@@ -5089,17 +5241,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1612:1: ( ( ruleCardinalityElement ) )
// InternalPattern.g:1613:2: ( ruleCardinalityElement )
// InternalPattern.g:1666:1: ( ( ruleCardinalityElement ) )
// InternalPattern.g:1667:2: ( ruleCardinalityElement )
{
// InternalPattern.g:1613:2: ( ruleCardinalityElement )
// InternalPattern.g:1614:3: ruleCardinalityElement
// InternalPattern.g:1667:2: ( ruleCardinalityElement )
// InternalPattern.g:1668:3: ruleCardinalityElement
{
before(grammarAccess.getPatternAccess().getCardinalityElementsCardinalityElementParserRuleCall_3_0_0());
pushFollow(FOLLOW_2);
......@@ -5130,17 +5282,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1627:1: ( ( ruleCardinalityElement ) )
// InternalPattern.g:1628:2: ( ruleCardinalityElement )
// InternalPattern.g:1681:1: ( ( ruleCardinalityElement ) )
// InternalPattern.g:1682:2: ( ruleCardinalityElement )
{
// InternalPattern.g:1628:2: ( ruleCardinalityElement )
// InternalPattern.g:1629:3: ruleCardinalityElement
// InternalPattern.g:1682:2: ( ruleCardinalityElement )
// InternalPattern.g:1683:3: ruleCardinalityElement
{
before(grammarAccess.getPatternAccess().getCardinalityElementsCardinalityElementParserRuleCall_3_1_1_0());
pushFollow(FOLLOW_2);
......@@ -5171,17 +5323,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1642:1: ( ( rulePatternComponent ) )
// InternalPattern.g:1643:2: ( rulePatternComponent )
// InternalPattern.g:1696:1: ( ( rulePatternComponent ) )
// InternalPattern.g:1697:2: ( rulePatternComponent )
{
// InternalPattern.g:1643:2: ( rulePatternComponent )
// InternalPattern.g:1644:3: rulePatternComponent
// InternalPattern.g:1697:2: ( rulePatternComponent )
// InternalPattern.g:1698:3: rulePatternComponent
{
before(grammarAccess.getPatternAccess().getModelElementsPatternComponentParserRuleCall_5_1_0_0());
pushFollow(FOLLOW_2);
......@@ -5212,17 +5364,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1657:1: ( ( rulePatternLink ) )
// InternalPattern.g:1658:2: ( rulePatternLink )
// InternalPattern.g:1711:1: ( ( rulePatternLink ) )
// InternalPattern.g:1712:2: ( rulePatternLink )
{
// InternalPattern.g:1658:2: ( rulePatternLink )
// InternalPattern.g:1659:3: rulePatternLink
// InternalPattern.g:1712:2: ( rulePatternLink )
// InternalPattern.g:1713:3: rulePatternLink
{
before(grammarAccess.getPatternAccess().getModelElementsPatternLinkParserRuleCall_5_1_1_0());
pushFollow(FOLLOW_2);
......@@ -5253,17 +5405,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1672:1: ( ( RULE_ID ) )
// InternalPattern.g:1673:2: ( RULE_ID )
// InternalPattern.g:1726:1: ( ( RULE_ID ) )
// InternalPattern.g:1727:2: ( RULE_ID )
{
// InternalPattern.g:1673:2: ( RULE_ID )
// InternalPattern.g:1674:3: RULE_ID
// InternalPattern.g:1727:2: ( RULE_ID )
// InternalPattern.g:1728:3: RULE_ID
{
before(grammarAccess.getPatternComponentAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2);
......@@ -5290,17 +5442,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1687:1: ( ( RULE_INT ) )
// InternalPattern.g:1688:2: ( RULE_INT )
// InternalPattern.g:1741:1: ( ( RULE_INT ) )
// InternalPattern.g:1742:2: ( RULE_INT )
{
// InternalPattern.g:1688:2: ( RULE_INT )
// InternalPattern.g:1689:3: RULE_INT
// InternalPattern.g:1742:2: ( RULE_INT )
// InternalPattern.g:1743:3: RULE_INT
{
before(grammarAccess.getPatternComponentAccess().getMultiplicityValueINTTerminalRuleCall_2_1_0_0());
match(input,RULE_INT,FOLLOW_2);
......@@ -5327,21 +5479,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1702:1: ( ( ( RULE_ID ) ) )
// InternalPattern.g:1703:2: ( ( RULE_ID ) )
// InternalPattern.g:1756:1: ( ( ( RULE_ID ) ) )
// InternalPattern.g:1757:2: ( ( RULE_ID ) )
{
// InternalPattern.g:1703:2: ( ( RULE_ID ) )
// InternalPattern.g:1704:3: ( RULE_ID )
// InternalPattern.g:1757:2: ( ( RULE_ID ) )
// InternalPattern.g:1758:3: ( RULE_ID )
{
before(grammarAccess.getPatternComponentAccess().getCardinalityElementCardinalityElementCrossReference_2_1_1_0());
// InternalPattern.g:1705:3: ( RULE_ID )
// InternalPattern.g:1706:4: RULE_ID
// InternalPattern.g:1759:3: ( RULE_ID )
// InternalPattern.g:1760:4: RULE_ID
{
before(grammarAccess.getPatternComponentAccess().getCardinalityElementCardinalityElementIDTerminalRuleCall_2_1_1_0_1());
match(input,RULE_ID,FOLLOW_2);
......@@ -5372,17 +5524,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1721:1: ( ( rulePatternPort ) )
// InternalPattern.g:1722:2: ( rulePatternPort )
// InternalPattern.g:1775:1: ( ( rulePatternPort ) )
// InternalPattern.g:1776:2: ( rulePatternPort )
{
// InternalPattern.g:1722:2: ( rulePatternPort )
// InternalPattern.g:1723:3: rulePatternPort
// InternalPattern.g:1776:2: ( rulePatternPort )
// InternalPattern.g:1777:3: rulePatternPort
{
before(grammarAccess.getPatternComponentAccess().getContentPatternPortParserRuleCall_4_0_0());
pushFollow(FOLLOW_2);
......@@ -5413,17 +5565,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1736:1: ( ( rulePatternPort ) )
// InternalPattern.g:1737:2: ( rulePatternPort )
// InternalPattern.g:1790:1: ( ( rulePatternPort ) )
// InternalPattern.g:1791:2: ( rulePatternPort )
{
// InternalPattern.g:1737:2: ( rulePatternPort )
// InternalPattern.g:1738:3: rulePatternPort
// InternalPattern.g:1791:2: ( rulePatternPort )
// InternalPattern.g:1792:3: rulePatternPort
{
before(grammarAccess.getPatternComponentAccess().getContentPatternPortParserRuleCall_4_1_1_0());
pushFollow(FOLLOW_2);
......@@ -5454,17 +5606,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1751:1: ( ( rulePatternComponent ) )
// InternalPattern.g:1752:2: ( rulePatternComponent )
// InternalPattern.g:1805:1: ( ( rulePatternComponent ) )
// InternalPattern.g:1806:2: ( rulePatternComponent )
{
// InternalPattern.g:1752:2: ( rulePatternComponent )
// InternalPattern.g:1753:3: rulePatternComponent
// InternalPattern.g:1806:2: ( rulePatternComponent )
// InternalPattern.g:1807:3: rulePatternComponent
{
before(grammarAccess.getPatternComponentAccess().getContentPatternComponentParserRuleCall_6_1_0_0());
pushFollow(FOLLOW_2);
......@@ -5495,17 +5647,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1766:1: ( ( rulePatternLink ) )
// InternalPattern.g:1767:2: ( rulePatternLink )
// InternalPattern.g:1820:1: ( ( rulePatternLink ) )
// InternalPattern.g:1821:2: ( rulePatternLink )
{
// InternalPattern.g:1767:2: ( rulePatternLink )
// InternalPattern.g:1768:3: rulePatternLink
// InternalPattern.g:1821:2: ( rulePatternLink )
// InternalPattern.g:1822:3: rulePatternLink
{
before(grammarAccess.getPatternComponentAccess().getContentPatternLinkParserRuleCall_6_1_1_0());
pushFollow(FOLLOW_2);
......@@ -5536,17 +5688,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1781:1: ( ( rulePatternPortDirection ) )
// InternalPattern.g:1782:2: ( rulePatternPortDirection )
// InternalPattern.g:1835:1: ( ( rulePatternPortDirection ) )
// InternalPattern.g:1836:2: ( rulePatternPortDirection )
{
// InternalPattern.g:1782:2: ( rulePatternPortDirection )
// InternalPattern.g:1783:3: rulePatternPortDirection
// InternalPattern.g:1836:2: ( rulePatternPortDirection )
// InternalPattern.g:1837:3: rulePatternPortDirection
{
before(grammarAccess.getPatternPortAccess().getDirPatternPortDirectionEnumRuleCall_0_0());
pushFollow(FOLLOW_2);
......@@ -5577,17 +5729,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1796:1: ( ( RULE_ID ) )
// InternalPattern.g:1797:2: ( RULE_ID )
// InternalPattern.g:1850:1: ( ( RULE_ID ) )
// InternalPattern.g:1851:2: ( RULE_ID )
{
// InternalPattern.g:1797:2: ( RULE_ID )
// InternalPattern.g:1798:3: RULE_ID
// InternalPattern.g:1851:2: ( RULE_ID )
// InternalPattern.g:1852:3: RULE_ID
{
before(grammarAccess.getPatternPortAccess().getNameIDTerminalRuleCall_1_0());
match(input,RULE_ID,FOLLOW_2);
......@@ -5614,17 +5766,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1811:1: ( ( RULE_INT ) )
// InternalPattern.g:1812:2: ( RULE_INT )
// InternalPattern.g:1865:1: ( ( RULE_INT ) )
// InternalPattern.g:1866:2: ( RULE_INT )
{
// InternalPattern.g:1812:2: ( RULE_INT )
// InternalPattern.g:1813:3: RULE_INT
// InternalPattern.g:1866:2: ( RULE_INT )
// InternalPattern.g:1867:3: RULE_INT
{
before(grammarAccess.getPatternPortAccess().getMultiplicityValueINTTerminalRuleCall_2_1_0_0());
match(input,RULE_INT,FOLLOW_2);
......@@ -5651,21 +5803,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1826:1: ( ( ( RULE_ID ) ) )
// InternalPattern.g:1827:2: ( ( RULE_ID ) )
// InternalPattern.g:1880:1: ( ( ( RULE_ID ) ) )
// InternalPattern.g:1881:2: ( ( RULE_ID ) )
{
// InternalPattern.g:1827:2: ( ( RULE_ID ) )
// InternalPattern.g:1828:3: ( RULE_ID )
// InternalPattern.g:1881:2: ( ( RULE_ID ) )
// InternalPattern.g:1882:3: ( RULE_ID )
{
before(grammarAccess.getPatternPortAccess().getCardinalityElementCardinalityElementCrossReference_2_1_1_0());
// InternalPattern.g:1829:3: ( RULE_ID )
// InternalPattern.g:1830:4: RULE_ID
// InternalPattern.g:1883:3: ( RULE_ID )
// InternalPattern.g:1884:4: RULE_ID
{
before(grammarAccess.getPatternPortAccess().getCardinalityElementCardinalityElementIDTerminalRuleCall_2_1_1_0_1());
match(input,RULE_ID,FOLLOW_2);
......@@ -5696,17 +5848,17 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1845:1: ( ( RULE_ID ) )
// InternalPattern.g:1846:2: ( RULE_ID )
// InternalPattern.g:1899:1: ( ( RULE_ID ) )
// InternalPattern.g:1900:2: ( RULE_ID )
{
// InternalPattern.g:1846:2: ( RULE_ID )
// InternalPattern.g:1847:3: RULE_ID
// InternalPattern.g:1900:2: ( RULE_ID )
// InternalPattern.g:1901:3: RULE_ID
{
before(grammarAccess.getCardinalityElementAccess().getNameIDTerminalRuleCall_0());
match(input,RULE_ID,FOLLOW_2);
......@@ -5733,21 +5885,21 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $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 {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1860:1: ( ( ( ruleQualifiedID ) ) )
// InternalPattern.g:1861:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1914:1: ( ( ( ruleQualifiedID ) ) )
// InternalPattern.g:1915:2: ( ( ruleQualifiedID ) )
{
// InternalPattern.g:1861:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1862:3: ( ruleQualifiedID )
// InternalPattern.g:1915:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1916:3: ( ruleQualifiedID )
{
before(grammarAccess.getPatternLinkAccess().getSrcPatternPortCrossReference_0_0());
// InternalPattern.g:1863:3: ( ruleQualifiedID )
// InternalPattern.g:1864:4: ruleQualifiedID
// InternalPattern.g:1917:3: ( ruleQualifiedID )
// InternalPattern.g:1918:4: ruleQualifiedID
{
before(grammarAccess.getPatternLinkAccess().getSrcPatternPortQualifiedIDParserRuleCall_0_0_1());
pushFollow(FOLLOW_2);
......@@ -5781,26 +5933,26 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
// $ANTLR end "rule__PatternLink__SrcAssignment_0"
// $ANTLR start "rule__PatternLink__LinkTypeAssignment_1"
// InternalPattern.g:1875:1: rule__PatternLink__LinkTypeAssignment_1 : ( ruleLinkType ) ;
public final void rule__PatternLink__LinkTypeAssignment_1() throws RecognitionException {
// $ANTLR start "rule__PatternLink__LinkTypeAssignment_2"
// InternalPattern.g:1929:1: rule__PatternLink__LinkTypeAssignment_2 : ( ruleLinkType ) ;
public final void rule__PatternLink__LinkTypeAssignment_2() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1879:1: ( ( ruleLinkType ) )
// InternalPattern.g:1880:2: ( ruleLinkType )
// InternalPattern.g:1933:1: ( ( ruleLinkType ) )
// InternalPattern.g:1934:2: ( ruleLinkType )
{
// InternalPattern.g:1880:2: ( ruleLinkType )
// InternalPattern.g:1881:3: ruleLinkType
// InternalPattern.g:1934:2: ( ruleLinkType )
// InternalPattern.g:1935:3: ruleLinkType
{
before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0());
before(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0());
pushFollow(FOLLOW_2);
ruleLinkType();
state._fsp--;
after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_1_0());
after(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0());
}
......@@ -5819,37 +5971,37 @@ public class InternalPatternParser extends AbstractInternalContentAssistParser {
}
return ;
}
// $ANTLR end "rule__PatternLink__LinkTypeAssignment_1"
// $ANTLR end "rule__PatternLink__LinkTypeAssignment_2"
// $ANTLR start "rule__PatternLink__DstAssignment_2"
// InternalPattern.g:1890:1: rule__PatternLink__DstAssignment_2 : ( ( ruleQualifiedID ) ) ;
public final void rule__PatternLink__DstAssignment_2() throws RecognitionException {
// $ANTLR start "rule__PatternLink__DstAssignment_4"
// InternalPattern.g:1944:1: rule__PatternLink__DstAssignment_4 : ( ( ruleQualifiedID ) ) ;
public final void rule__PatternLink__DstAssignment_4() throws RecognitionException {
int stackSize = keepStackSize();
try {
// InternalPattern.g:1894:1: ( ( ( ruleQualifiedID ) ) )
// InternalPattern.g:1895:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1948:1: ( ( ( ruleQualifiedID ) ) )
// InternalPattern.g:1949:2: ( ( ruleQualifiedID ) )
{
// InternalPattern.g:1895:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1896:3: ( ruleQualifiedID )
// InternalPattern.g:1949:2: ( ( ruleQualifiedID ) )
// InternalPattern.g:1950:3: ( ruleQualifiedID )
{
before(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0());
// InternalPattern.g:1897:3: ( ruleQualifiedID )
// InternalPattern.g:1898:4: ruleQualifiedID
before(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
// InternalPattern.g:1951:3: ( ruleQualifiedID )
// InternalPattern.g:1952:4: ruleQualifiedID
{
before(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_2_0_1());
before(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1());
pushFollow(FOLLOW_2);
ruleQualifiedID();
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 {
}
return ;
}
// $ANTLR end "rule__PatternLink__DstAssignment_2"
// $ANTLR end "rule__PatternLink__DstAssignment_4"
// Delegated rules
......@@ -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_15 = new BitSet(new long[]{0x0000000000007800L});
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_18 = new BitSet(new long[]{0x0000000200000010L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000001000000000L});
public static final BitSet FOLLOW_20 = new BitSet(new long[]{0x0000001000000002L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000001000000000L});
public static final BitSet FOLLOW_18 = new BitSet(new long[]{0x0000000007FF8000L});
public static final BitSet FOLLOW_19 = new BitSet(new long[]{0x0000002000000000L});
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]
}
)
)
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) {
$current = createModelElementForParent(grammarAccess.getPatternLinkRule());
......@@ -577,12 +581,16 @@ rulePatternLink returns [EObject current=null]
set(
$current,
"linkType",
lv_linkType_1_0,
lv_linkType_2_0,
"com.irtsaintexupery.xtext.pseim.Pattern.LinkType");
afterParserOrEnumRuleCall();
}
)
)
otherlv_3='}->'
{
newLeafNode(otherlv_3, grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3());
}
(
(
{
......@@ -591,7 +599,7 @@ rulePatternLink returns [EObject current=null]
}
}
{
newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0());
newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
}
ruleQualifiedID
{
......@@ -695,7 +703,7 @@ ruleLinkType returns [Enumerator current=null]
}:
(
(
enumLiteral_0='-{Transpose}->'
enumLiteral_0='Transpose'
{
$current = grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_0, grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0());
......@@ -703,7 +711,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_1='-{Identity}->'
enumLiteral_1='Identity'
{
$current = grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_1, grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1());
......@@ -711,7 +719,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_2='-{First}->'
enumLiteral_2='First'
{
$current = grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_2, grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2());
......@@ -719,7 +727,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_3='-{Rotate}->'
enumLiteral_3='Rotate'
{
$current = grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_3, grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3());
......@@ -727,7 +735,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_4='-{ShiftC}->'
enumLiteral_4='ShiftC'
{
$current = grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_4, grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4());
......@@ -735,7 +743,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_5='-{ShiftP}->'
enumLiteral_5='ShiftP'
{
$current = grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_5, grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5());
......@@ -743,7 +751,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_6='-{FlattenC}->'
enumLiteral_6='FlattenC'
{
$current = grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_6, grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6());
......@@ -751,7 +759,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_7='-{ForkC}->'
enumLiteral_7='ForkC'
{
$current = grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_7, grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7());
......@@ -759,7 +767,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_8='-{ForkP}->'
enumLiteral_8='ForkP'
{
$current = grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_8, grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8());
......@@ -767,7 +775,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_9='-{JoinC}->'
enumLiteral_9='JoinC'
{
$current = grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_9, grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9());
......@@ -775,7 +783,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_10='-{JoinP}->'
enumLiteral_10='JoinP'
{
$current = grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_10, grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10());
......@@ -783,7 +791,7 @@ ruleLinkType returns [Enumerator current=null]
)
|
(
enumLiteral_11='-{Last}->'
enumLiteral_11='Last'
{
$current = grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11().getEnumLiteral().getInstance();
newLeafNode(enumLiteral_11, grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11());
......
'('=12
')'=14
','=13
'-{First}->'=27
'-{FlattenC}->'=31
'-{ForkC}->'=32
'-{ForkP}->'=33
'-{Identity}->'=26
'-{JoinC}->'=34
'-{JoinP}->'=35
'-{Last}->'=36
'-{Rotate}->'=28
'-{ShiftC}->'=29
'-{ShiftP}->'=30
'-{Transpose}->'=25
'.'=20
'--{'=20
'.'=22
'First'=29
'FlattenC'=33
'ForkC'=34
'ForkP'=35
'Identity'=28
'JoinC'=36
'JoinP'=37
'Last'=38
'Rotate'=30
'ShiftC'=31
'ShiftP'=32
'Transpose'=27
'['=18
']'=19
'component'=17
'in'=22
'inout'=24
'out'=23
'in'=24
'inout'=26
'out'=25
'pattern'=11
'unspec'=21
'unspec'=23
'{'=15
'}'=16
'}->'=21
RULE_ANY_OTHER=10
RULE_ID=4
RULE_INT=5
......@@ -57,3 +59,5 @@ T__33=33
T__34=34
T__35=35
T__36=36
T__37=37
T__38=38
......@@ -16,7 +16,9 @@ public class InternalPatternLexer extends Lexer {
public static final int RULE_SL_COMMENT=8;
public static final int T__19=19;
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__38=38;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
......@@ -247,10 +249,11 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__20;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:20:7: ( '.' )
// InternalPattern.g:20:9: '.'
// InternalPattern.g:20:7: ( '--{' )
// InternalPattern.g:20:9: '--{'
{
match('.');
match("--{");
}
......@@ -267,10 +270,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__21;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:21:7: ( 'unspec' )
// InternalPattern.g:21:9: 'unspec'
// InternalPattern.g:21:7: ( '}->' )
// InternalPattern.g:21:9: '}->'
{
match("unspec");
match("}->");
}
......@@ -288,11 +291,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__22;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:22:7: ( 'in' )
// InternalPattern.g:22:9: 'in'
// InternalPattern.g:22:7: ( '.' )
// InternalPattern.g:22:9: '.'
{
match("in");
match('.');
}
......@@ -309,10 +311,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__23;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:23:7: ( 'out' )
// InternalPattern.g:23:9: 'out'
// InternalPattern.g:23:7: ( 'unspec' )
// InternalPattern.g:23:9: 'unspec'
{
match("out");
match("unspec");
}
......@@ -330,10 +332,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__24;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:24:7: ( 'inout' )
// InternalPattern.g:24:9: 'inout'
// InternalPattern.g:24:7: ( 'in' )
// InternalPattern.g:24:9: 'in'
{
match("inout");
match("in");
}
......@@ -351,10 +353,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__25;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:25:7: ( '-{Transpose}->' )
// InternalPattern.g:25:9: '-{Transpose}->'
// InternalPattern.g:25:7: ( 'out' )
// InternalPattern.g:25:9: 'out'
{
match("-{Transpose}->");
match("out");
}
......@@ -372,10 +374,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__26;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:26:7: ( '-{Identity}->' )
// InternalPattern.g:26:9: '-{Identity}->'
// InternalPattern.g:26:7: ( 'inout' )
// InternalPattern.g:26:9: 'inout'
{
match("-{Identity}->");
match("inout");
}
......@@ -393,10 +395,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__27;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:27:7: ( '-{First}->' )
// InternalPattern.g:27:9: '-{First}->'
// InternalPattern.g:27:7: ( 'Transpose' )
// InternalPattern.g:27:9: 'Transpose'
{
match("-{First}->");
match("Transpose");
}
......@@ -414,10 +416,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__28;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:28:7: ( '-{Rotate}->' )
// InternalPattern.g:28:9: '-{Rotate}->'
// InternalPattern.g:28:7: ( 'Identity' )
// InternalPattern.g:28:9: 'Identity'
{
match("-{Rotate}->");
match("Identity");
}
......@@ -435,10 +437,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__29;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:29:7: ( '-{ShiftC}->' )
// InternalPattern.g:29:9: '-{ShiftC}->'
// InternalPattern.g:29:7: ( 'First' )
// InternalPattern.g:29:9: 'First'
{
match("-{ShiftC}->");
match("First");
}
......@@ -456,10 +458,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__30;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:30:7: ( '-{ShiftP}->' )
// InternalPattern.g:30:9: '-{ShiftP}->'
// InternalPattern.g:30:7: ( 'Rotate' )
// InternalPattern.g:30:9: 'Rotate'
{
match("-{ShiftP}->");
match("Rotate");
}
......@@ -477,10 +479,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__31;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:31:7: ( '-{FlattenC}->' )
// InternalPattern.g:31:9: '-{FlattenC}->'
// InternalPattern.g:31:7: ( 'ShiftC' )
// InternalPattern.g:31:9: 'ShiftC'
{
match("-{FlattenC}->");
match("ShiftC");
}
......@@ -498,10 +500,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__32;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:32:7: ( '-{ForkC}->' )
// InternalPattern.g:32:9: '-{ForkC}->'
// InternalPattern.g:32:7: ( 'ShiftP' )
// InternalPattern.g:32:9: 'ShiftP'
{
match("-{ForkC}->");
match("ShiftP");
}
......@@ -519,10 +521,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__33;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:33:7: ( '-{ForkP}->' )
// InternalPattern.g:33:9: '-{ForkP}->'
// InternalPattern.g:33:7: ( 'FlattenC' )
// InternalPattern.g:33:9: 'FlattenC'
{
match("-{ForkP}->");
match("FlattenC");
}
......@@ -540,10 +542,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__34;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:34:7: ( '-{JoinC}->' )
// InternalPattern.g:34:9: '-{JoinC}->'
// InternalPattern.g:34:7: ( 'ForkC' )
// InternalPattern.g:34:9: 'ForkC'
{
match("-{JoinC}->");
match("ForkC");
}
......@@ -561,10 +563,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__35;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:35:7: ( '-{JoinP}->' )
// InternalPattern.g:35:9: '-{JoinP}->'
// InternalPattern.g:35:7: ( 'ForkP' )
// InternalPattern.g:35:9: 'ForkP'
{
match("-{JoinP}->");
match("ForkP");
}
......@@ -582,10 +584,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = T__36;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:36:7: ( '-{Last}->' )
// InternalPattern.g:36:9: '-{Last}->'
// InternalPattern.g:36:7: ( 'JoinC' )
// InternalPattern.g:36:9: 'JoinC'
{
match("-{Last}->");
match("JoinC");
}
......@@ -598,15 +600,57 @@ public class InternalPatternLexer extends Lexer {
}
// $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"
public final void mRULE_ID() throws RecognitionException {
try {
int _type = RULE_ID;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:795: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:9: ( ( '^' )? ( '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 LA1_0 = input.LA(1);
......@@ -615,7 +659,7 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt1) {
case 1 :
// InternalPattern.g:795:11: '^'
// InternalPattern.g:803:11: '^'
{
match('^');
......@@ -633,7 +677,7 @@ public class InternalPatternLexer extends Lexer {
recover(mse);
throw mse;}
// InternalPattern.g:795:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
// InternalPattern.g:803:40: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | '0' .. '9' )*
loop2:
do {
int alt2=2;
......@@ -682,10 +726,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_INT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:797:10: ( ( '0' .. '9' )+ )
// InternalPattern.g:797:12: ( '0' .. '9' )+
// InternalPattern.g:805:10: ( ( '0' .. '9' )+ )
// InternalPattern.g:805:12: ( '0' .. '9' )+
{
// InternalPattern.g:797:12: ( '0' .. '9' )+
// InternalPattern.g:805:12: ( '0' .. '9' )+
int cnt3=0;
loop3:
do {
......@@ -699,7 +743,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt3) {
case 1 :
// InternalPattern.g:797:13: '0' .. '9'
// InternalPattern.g:805:13: '0' .. '9'
{
matchRange('0','9');
......@@ -731,10 +775,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_STRING;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:799:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
// InternalPattern.g:799:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
// InternalPattern.g:807:13: ( ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' ) )
// InternalPattern.g:807:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
{
// InternalPattern.g:799:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
// InternalPattern.g:807:15: ( '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"' | '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\'' )
int alt6=2;
int LA6_0 = input.LA(1);
......@@ -752,10 +796,10 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt6) {
case 1 :
// InternalPattern.g:799:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
// InternalPattern.g:807:16: '\"' ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )* '\"'
{
match('\"');
// InternalPattern.g:799:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
// InternalPattern.g:807:20: ( '\\\\' . | ~ ( ( '\\\\' | '\"' ) ) )*
loop4:
do {
int alt4=3;
......@@ -771,7 +815,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt4) {
case 1 :
// InternalPattern.g:799:21: '\\\\' .
// InternalPattern.g:807:21: '\\\\' .
{
match('\\');
matchAny();
......@@ -779,7 +823,7 @@ public class InternalPatternLexer extends Lexer {
}
break;
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') ) {
input.consume();
......@@ -804,10 +848,10 @@ public class InternalPatternLexer extends Lexer {
}
break;
case 2 :
// InternalPattern.g:799:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
// InternalPattern.g:807:48: '\\'' ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )* '\\''
{
match('\'');
// InternalPattern.g:799:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
// InternalPattern.g:807:53: ( '\\\\' . | ~ ( ( '\\\\' | '\\'' ) ) )*
loop5:
do {
int alt5=3;
......@@ -823,7 +867,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt5) {
case 1 :
// InternalPattern.g:799:54: '\\\\' .
// InternalPattern.g:807:54: '\\\\' .
{
match('\\');
matchAny();
......@@ -831,7 +875,7 @@ public class InternalPatternLexer extends Lexer {
}
break;
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') ) {
input.consume();
......@@ -874,12 +918,12 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_ML_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:801:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalPattern.g:801:19: '/*' ( options {greedy=false; } : . )* '*/'
// InternalPattern.g:809:17: ( '/*' ( options {greedy=false; } : . )* '*/' )
// InternalPattern.g:809:19: '/*' ( options {greedy=false; } : . )* '*/'
{
match("/*");
// InternalPattern.g:801:24: ( options {greedy=false; } : . )*
// InternalPattern.g:809:24: ( options {greedy=false; } : . )*
loop7:
do {
int alt7=2;
......@@ -904,7 +948,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt7) {
case 1 :
// InternalPattern.g:801:52: .
// InternalPattern.g:809:52: .
{
matchAny();
......@@ -934,12 +978,12 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_SL_COMMENT;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:803:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalPattern.g:803:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
// InternalPattern.g:811:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? )
// InternalPattern.g:811:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )?
{
match("//");
// InternalPattern.g:803:24: (~ ( ( '\\n' | '\\r' ) ) )*
// InternalPattern.g:811:24: (~ ( ( '\\n' | '\\r' ) ) )*
loop8:
do {
int alt8=2;
......@@ -952,7 +996,7 @@ public class InternalPatternLexer extends Lexer {
switch (alt8) {
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') ) {
input.consume();
......@@ -972,7 +1016,7 @@ public class InternalPatternLexer extends Lexer {
}
} while (true);
// InternalPattern.g:803:40: ( ( '\\r' )? '\\n' )?
// InternalPattern.g:811:40: ( ( '\\r' )? '\\n' )?
int alt10=2;
int LA10_0 = input.LA(1);
......@@ -981,9 +1025,9 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt10) {
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 LA9_0 = input.LA(1);
......@@ -992,7 +1036,7 @@ public class InternalPatternLexer extends Lexer {
}
switch (alt9) {
case 1 :
// InternalPattern.g:803:41: '\\r'
// InternalPattern.g:811:41: '\\r'
{
match('\r');
......@@ -1024,10 +1068,10 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_WS;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:805:9: ( ( ' ' | '\\t' | '\\r' | '\\n' )+ )
// InternalPattern.g:805:11: ( ' ' | '\\t' | '\\r' | '\\n' )+
// InternalPattern.g:813:9: ( ( ' ' | '\\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;
loop11:
do {
......@@ -1081,8 +1125,8 @@ public class InternalPatternLexer extends Lexer {
try {
int _type = RULE_ANY_OTHER;
int _channel = DEFAULT_TOKEN_CHANNEL;
// InternalPattern.g:807:16: ( . )
// InternalPattern.g:807:18: .
// InternalPattern.g:815:16: ( . )
// InternalPattern.g:815:18: .
{
matchAny();
......@@ -1097,8 +1141,8 @@ public class InternalPatternLexer extends Lexer {
// $ANTLR end "RULE_ANY_OTHER"
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 )
int alt12=33;
// 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=35;
alt12 = dfa12.predict(input);
switch (alt12) {
case 1 :
......@@ -1284,49 +1328,63 @@ public class InternalPatternLexer extends Lexer {
}
break;
case 27 :
// InternalPattern.g:1:166: RULE_ID
// InternalPattern.g:1:166: T__37
{
mRULE_ID();
mT__37();
}
break;
case 28 :
// InternalPattern.g:1:174: RULE_INT
// InternalPattern.g:1:172: T__38
{
mRULE_INT();
mT__38();
}
break;
case 29 :
// InternalPattern.g:1:183: RULE_STRING
// InternalPattern.g:1:178: RULE_ID
{
mRULE_STRING();
mRULE_ID();
}
break;
case 30 :
// InternalPattern.g:1:195: RULE_ML_COMMENT
// InternalPattern.g:1:186: RULE_INT
{
mRULE_ML_COMMENT();
mRULE_INT();
}
break;
case 31 :
// InternalPattern.g:1:211: RULE_SL_COMMENT
// InternalPattern.g:1:195: RULE_STRING
{
mRULE_SL_COMMENT();
mRULE_STRING();
}
break;
case 32 :
// InternalPattern.g:1:227: RULE_WS
// InternalPattern.g:1:207: RULE_ML_COMMENT
{
mRULE_WS();
mRULE_ML_COMMENT();
}
break;
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();
......@@ -1340,111 +1398,156 @@ public class InternalPatternLexer extends Lexer {
protected DFA12 dfa12 = new DFA12(this);
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 =
"\136\uffff";
"\u008b\uffff";
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 =
"\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 =
"\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 =
"\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 = {
"\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",
"\1\27",
"",
"",
"",
"",
"",
"\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\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\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\54",
"\1\74",
"",
"",
"",
"\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\100",
"\1\76",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\16\37\1\77\13\37",
"\1\101",
"",
"\1\102",
"\1\103",
"\1\104",
"\1\105",
"",
"",
"",
"\1\106",
"\1\107",
"\1\110",
"\1\111",
"\1\112",
"",
"",
"",
"",
"",
"\1\113",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"\1\114",
"\1\115",
"\1\116",
"\1\117",
"",
"\12\37\7\uffff\32\37\4\uffff\1\37\1\uffff\32\37",
"\1\120",
"\1\121",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"",
"\1\123\14\uffff\1\124",
"\1\122",
"\1\123",
"\1\124",
"\1\125",
"\1\126\14\uffff\1\127",
"\12\30\7\uffff\32\30\4\uffff\1\30\1\uffff\32\30",
"\1\126",
"\1\127",
"\1\130",
"\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 {
this.transition = DFA12_transition;
}
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 {
IntStream input = _input;
int _s = s;
switch ( s ) {
case 0 :
int LA12_19 = input.LA(1);
int LA12_26 = input.LA(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;
break;
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);
s = -1;
......@@ -1516,41 +1629,45 @@ public class InternalPatternLexer extends Lexer {
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;
break;
case 2 :
int LA12_18 = input.LA(1);
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;}
s = -1;
if ( ((LA12_18>='\u0000' && LA12_18<='\uFFFF')) ) {s = 39;}
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 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;
break;
......
......@@ -22,13 +22,15 @@ import java.util.ArrayList;
@SuppressWarnings("all")
public class InternalPatternParser extends AbstractInternalAntlrParser {
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_SL_COMMENT=8;
public static final int T__19=19;
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__38=38;
public static final int T__17=17;
public static final int T__18=18;
public static final int T__11=11;
......@@ -665,7 +667,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
int alt8=2;
int LA8_0 = input.LA(1);
if ( ((LA8_0>=21 && LA8_0<=24)) ) {
if ( ((LA8_0>=23 && LA8_0<=26)) ) {
alt8=1;
}
switch (alt8) {
......@@ -1288,22 +1290,24 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $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 {
EObject current = null;
Enumerator lv_linkType_1_0 = null;
Token otherlv_1=null;
Token otherlv_3=null;
Enumerator lv_linkType_2_0 = null;
enterRule();
try {
// InternalPattern.g:549:2: ( ( ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) ) )
// InternalPattern.g:550: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 ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) ) )
{
// InternalPattern.g:550:2: ( ( ( ruleQualifiedID ) ) ( (lv_linkType_1_0= ruleLinkType ) ) ( ( ruleQualifiedID ) ) )
// InternalPattern.g:551:3: ( ( 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 ) ) otherlv_1= '--{' ( (lv_linkType_2_0= ruleLinkType ) ) otherlv_3= '}->' ( ( ruleQualifiedID ) )
{
// InternalPattern.g:551:3: ( ( ruleQualifiedID ) )
// InternalPattern.g:552:4: ( ruleQualifiedID )
......@@ -1333,17 +1337,21 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
// InternalPattern.g:567:3: ( (lv_linkType_1_0= ruleLinkType ) )
// InternalPattern.g:568:4: (lv_linkType_1_0= ruleLinkType )
otherlv_1=(Token)match(input,20,FOLLOW_16);
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:569:5: lv_linkType_1_0= ruleLinkType
// InternalPattern.g:572:4: (lv_linkType_2_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);
lv_linkType_1_0=ruleLinkType();
pushFollow(FOLLOW_17);
lv_linkType_2_0=ruleLinkType();
state._fsp--;
......@@ -1354,7 +1362,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
set(
current,
"linkType",
lv_linkType_1_0,
lv_linkType_2_0,
"com.irtsaintexupery.xtext.pseim.Pattern.LinkType");
afterParserOrEnumRuleCall();
......@@ -1364,11 +1372,15 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
// InternalPattern.g:586:3: ( ( ruleQualifiedID ) )
// InternalPattern.g:587:4: ( ruleQualifiedID )
otherlv_3=(Token)match(input,21,FOLLOW_18);
newLeafNode(otherlv_3, grammarAccess.getPatternLinkAccess().getRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3());
// InternalPattern.g:594:3: ( ( ruleQualifiedID ) )
// InternalPattern.g:595:4: ( ruleQualifiedID )
{
// InternalPattern.g:587:4: ( ruleQualifiedID )
// InternalPattern.g:588:5: ruleQualifiedID
// InternalPattern.g:595:4: ( ruleQualifiedID )
// InternalPattern.g:596:5: ruleQualifiedID
{
if (current==null) {
......@@ -1376,7 +1388,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_2_0());
newCompositeNode(grammarAccess.getPatternLinkAccess().getDstPatternPortCrossReference_4_0());
pushFollow(FOLLOW_2);
ruleQualifiedID();
......@@ -1415,7 +1427,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $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 {
String current = null;
......@@ -1423,8 +1435,8 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
try {
// InternalPattern.g:606:51: (iv_ruleQualifiedID= ruleQualifiedID EOF )
// InternalPattern.g:607:2: iv_ruleQualifiedID= ruleQualifiedID EOF
// InternalPattern.g:614:51: (iv_ruleQualifiedID= ruleQualifiedID EOF )
// InternalPattern.g:615:2: iv_ruleQualifiedID= ruleQualifiedID EOF
{
newCompositeNode(grammarAccess.getQualifiedIDRule());
pushFollow(FOLLOW_1);
......@@ -1451,7 +1463,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $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 {
AntlrDatatypeRuleToken current = new AntlrDatatypeRuleToken();
......@@ -1463,40 +1475,40 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
enterRule();
try {
// InternalPattern.g:619: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:627: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:621:3: 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: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);
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:
do {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==20) ) {
if ( (LA13_0==22) ) {
alt13=1;
}
switch (alt13) {
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);
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);
......@@ -1535,7 +1547,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $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 {
Enumerator current = null;
......@@ -1548,28 +1560,28 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
enterRule();
try {
// InternalPattern.g:652: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:660: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;
switch ( input.LA(1) ) {
case 21:
case 23:
{
alt14=1;
}
break;
case 22:
case 24:
{
alt14=2;
}
break;
case 23:
case 25:
{
alt14=3;
}
break;
case 24:
case 26:
{
alt14=4;
}
......@@ -1583,12 +1595,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
switch (alt14) {
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:655:4: enumLiteral_0= 'unspec'
// InternalPattern.g:662:3: (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();
newLeafNode(enumLiteral_0, grammarAccess.getPatternPortDirectionAccess().getUNSPECIFIEDEnumLiteralDeclaration_0());
......@@ -1600,12 +1612,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:663:4: enumLiteral_1= 'in'
// InternalPattern.g:670:3: (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();
newLeafNode(enumLiteral_1, grammarAccess.getPatternPortDirectionAccess().getINEnumLiteralDeclaration_1());
......@@ -1617,12 +1629,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:671:4: enumLiteral_2= 'out'
// InternalPattern.g:678:3: (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();
newLeafNode(enumLiteral_2, grammarAccess.getPatternPortDirectionAccess().getOUTEnumLiteralDeclaration_2());
......@@ -1634,12 +1646,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:679:4: enumLiteral_3= 'inout'
// InternalPattern.g:686:3: (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();
newLeafNode(enumLiteral_3, grammarAccess.getPatternPortDirectionAccess().getINOUTEnumLiteralDeclaration_3());
......@@ -1673,7 +1685,7 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
// $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 {
Enumerator current = null;
......@@ -1694,68 +1706,68 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
enterRule();
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: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: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: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;
switch ( input.LA(1) ) {
case 25:
case 27:
{
alt15=1;
}
break;
case 26:
case 28:
{
alt15=2;
}
break;
case 27:
case 29:
{
alt15=3;
}
break;
case 28:
case 30:
{
alt15=4;
}
break;
case 29:
case 31:
{
alt15=5;
}
break;
case 30:
case 32:
{
alt15=6;
}
break;
case 31:
case 33:
{
alt15=7;
}
break;
case 32:
case 34:
{
alt15=8;
}
break;
case 33:
case 35:
{
alt15=9;
}
break;
case 34:
case 36:
{
alt15=10;
}
break;
case 35:
case 37:
{
alt15=11;
}
break;
case 36:
case 38:
{
alt15=12;
}
......@@ -1769,12 +1781,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
switch (alt15) {
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:698:4: enumLiteral_0= '-{Transpose}->'
// InternalPattern.g:705:3: (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();
newLeafNode(enumLiteral_0, grammarAccess.getLinkTypeAccess().getTRANSPOSEEnumLiteralDeclaration_0());
......@@ -1786,12 +1798,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:706:4: enumLiteral_1= '-{Identity}->'
// InternalPattern.g:713:3: (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();
newLeafNode(enumLiteral_1, grammarAccess.getLinkTypeAccess().getIDENTITYEnumLiteralDeclaration_1());
......@@ -1803,12 +1815,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:714:4: enumLiteral_2= '-{First}->'
// InternalPattern.g:721:3: (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();
newLeafNode(enumLiteral_2, grammarAccess.getLinkTypeAccess().getFIRSTEnumLiteralDeclaration_2());
......@@ -1820,12 +1832,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:722:4: enumLiteral_3= '-{Rotate}->'
// InternalPattern.g:729:3: (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();
newLeafNode(enumLiteral_3, grammarAccess.getLinkTypeAccess().getROTATEEnumLiteralDeclaration_3());
......@@ -1837,12 +1849,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:730:4: enumLiteral_4= '-{ShiftC}->'
// InternalPattern.g:737:3: (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();
newLeafNode(enumLiteral_4, grammarAccess.getLinkTypeAccess().getSHIFTCEnumLiteralDeclaration_4());
......@@ -1854,12 +1866,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:738:4: enumLiteral_5= '-{ShiftP}->'
// InternalPattern.g:745:3: (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();
newLeafNode(enumLiteral_5, grammarAccess.getLinkTypeAccess().getSHIFTPEnumLiteralDeclaration_5());
......@@ -1871,12 +1883,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:746:4: enumLiteral_6= '-{FlattenC}->'
// InternalPattern.g:753:3: (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();
newLeafNode(enumLiteral_6, grammarAccess.getLinkTypeAccess().getFLATTENCEnumLiteralDeclaration_6());
......@@ -1888,12 +1900,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:754:4: enumLiteral_7= '-{ForkC}->'
// InternalPattern.g:761:3: (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();
newLeafNode(enumLiteral_7, grammarAccess.getLinkTypeAccess().getFORKCEnumLiteralDeclaration_7());
......@@ -1905,12 +1917,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:762:4: enumLiteral_8= '-{ForkP}->'
// InternalPattern.g:769:3: (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();
newLeafNode(enumLiteral_8, grammarAccess.getLinkTypeAccess().getFORKPEnumLiteralDeclaration_8());
......@@ -1922,12 +1934,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:770:4: enumLiteral_9= '-{JoinC}->'
// InternalPattern.g:777:3: (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();
newLeafNode(enumLiteral_9, grammarAccess.getLinkTypeAccess().getJOINCEnumLiteralDeclaration_9());
......@@ -1939,12 +1951,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:778:4: enumLiteral_10= '-{JoinP}->'
// InternalPattern.g:785:3: (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();
newLeafNode(enumLiteral_10, grammarAccess.getLinkTypeAccess().getJOINPEnumLiteralDeclaration_10());
......@@ -1956,12 +1968,12 @@ public class InternalPatternParser extends AbstractInternalAntlrParser {
}
break;
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:786:4: enumLiteral_11= '-{Last}->'
// InternalPattern.g:793:3: (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();
newLeafNode(enumLiteral_11, grammarAccess.getLinkTypeAccess().getLASTEnumLiteralDeclaration_11());
......@@ -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_10 = new BitSet(new long[]{0x0000000000000030L});
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_13 = new BitSet(new long[]{0x0000000001E00000L});
public static final BitSet FOLLOW_12 = new BitSet(new long[]{0x0000000007804000L});
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_15 = new BitSet(new long[]{0x0000001FFE000000L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000000000020010L});
public static final BitSet FOLLOW_17 = new BitSet(new long[]{0x0000000000100002L});
public static final BitSet FOLLOW_15 = new BitSet(new long[]{0x0000000000100000L});
public static final BitSet FOLLOW_16 = new BitSet(new long[]{0x0000007FF8000000L});
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
}
SequenceFeeder feeder = createSequencerFeeder(context, semanticObject);
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().getDstPatternPortQualifiedIDParserRuleCall_2_0_1(), semanticObject.eGet(SeimPackage.Literals.LINK__DST, false));
feeder.accept(grammarAccess.getPatternLinkAccess().getLinkTypeLinkTypeEnumRuleCall_2_0(), semanticObject.getLinkType());
feeder.accept(grammarAccess.getPatternLinkAccess().getDstPatternPortQualifiedIDParserRuleCall_4_0_1(), semanticObject.eGet(SeimPackage.Literals.LINK__DST, false));
feeder.finish();
}
......
......@@ -334,17 +334,19 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
private final Assignment cSrcAssignment_0 = (Assignment)cGroup.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 Assignment cLinkTypeAssignment_1 = (Assignment)cGroup.eContents().get(1);
private final RuleCall cLinkTypeLinkTypeEnumRuleCall_1_0 = (RuleCall)cLinkTypeAssignment_1.eContents().get(0);
private final Assignment cDstAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final CrossReference cDstPatternPortCrossReference_2_0 = (CrossReference)cDstAssignment_2.eContents().get(0);
private final RuleCall cDstPatternPortQualifiedIDParserRuleCall_2_0_1 = (RuleCall)cDstPatternPortCrossReference_2_0.eContents().get(1);
private final Keyword cHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1 = (Keyword)cGroup.eContents().get(1);
private final Assignment cLinkTypeAssignment_2 = (Assignment)cGroup.eContents().get(2);
private final RuleCall cLinkTypeLinkTypeEnumRuleCall_2_0 = (RuleCall)cLinkTypeAssignment_2.eContents().get(0);
private final Keyword cRightCurlyBracketHyphenMinusGreaterThanSignKeyword_3 = (Keyword)cGroup.eContents().get(3);
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:
// src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID];
// src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID];
@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; }
//src=[PatternPort|QualifiedID]
......@@ -356,20 +358,26 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
//QualifiedID
public RuleCall getSrcPatternPortQualifiedIDParserRuleCall_0_0_1() { return cSrcPatternPortQualifiedIDParserRuleCall_0_0_1; }
//'--{'
public Keyword getHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1() { return cHyphenMinusHyphenMinusLeftCurlyBracketKeyword_1; }
//linkType=LinkType
public Assignment getLinkTypeAssignment_1() { return cLinkTypeAssignment_1; }
public Assignment getLinkTypeAssignment_2() { return cLinkTypeAssignment_2; }
//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]
public Assignment getDstAssignment_2() { return cDstAssignment_2; }
public Assignment getDstAssignment_4() { return cDstAssignment_4; }
//[PatternPort|QualifiedID]
public CrossReference getDstPatternPortCrossReference_2_0() { return cDstPatternPortCrossReference_2_0; }
public CrossReference getDstPatternPortCrossReference_4_0() { return cDstPatternPortCrossReference_4_0; }
//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 {
private final ParserRule rule = (ParserRule) GrammarUtil.findRuleForName(getGrammar(), "com.irtsaintexupery.xtext.pseim.Pattern.QualifiedID");
......@@ -471,86 +479,85 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
private final Keyword cLASTLastKeyword_11_0 = (Keyword)cLASTEnumLiteralDeclaration_11.eContents().get(0);
//enum LinkType:
// TRANSPOSE='-{Transpose}->' | IDENTITY='-{Identity}->' | FIRST='-{First}->' | ROTATE='-{Rotate}->'
// | SHIFTC='-{ShiftC}->' | SHIFTP='-{ShiftP}->' | FLATTENC='-{FlattenC}->' | FORKC='-{ForkC}->' | FORKP='-{ForkP}->'
// | JOINC='-{JoinC}->' | JOINP='-{JoinP}->' | LAST='-{Last}->';
// TRANSPOSE='Transpose' | IDENTITY='Identity' | FIRST='First' | ROTATE='Rotate'
// | SHIFTC='ShiftC' | SHIFTP='ShiftP' | FLATTENC='FlattenC' | FORKC='ForkC' | FORKP='ForkP'
// | JOINC='JoinC' | JOINP='JoinP' | LAST='Last';
public EnumRule getRule() { return rule; }
//TRANSPOSE='-{Transpose}->' | IDENTITY='-{Identity}->' | FIRST='-{First}->' | ROTATE='-{Rotate}->' | SHIFTC='-{ShiftC}->'
//| SHIFTP='-{ShiftP}->' | FLATTENC='-{FlattenC}->' | FORKC='-{ForkC}->' | FORKP='-{ForkP}->' | JOINC='-{JoinC}->' |
//JOINP='-{JoinP}->' | LAST='-{Last}->'
//TRANSPOSE='Transpose' | IDENTITY='Identity' | FIRST='First' | ROTATE='Rotate' | SHIFTC='ShiftC' | SHIFTP='ShiftP' |
//FLATTENC='FlattenC' | FORKC='ForkC' | FORKP='ForkP' | JOINC='JoinC' | JOINP='JoinP' | LAST='Last'
public Alternatives getAlternatives() { return cAlternatives; }
//TRANSPOSE='-{Transpose}->'
//TRANSPOSE='Transpose'
public EnumLiteralDeclaration getTRANSPOSEEnumLiteralDeclaration_0() { return cTRANSPOSEEnumLiteralDeclaration_0; }
//'-{Transpose}->'
//'Transpose'
public Keyword getTRANSPOSETransposeKeyword_0_0() { return cTRANSPOSETransposeKeyword_0_0; }
//IDENTITY='-{Identity}->'
//IDENTITY='Identity'
public EnumLiteralDeclaration getIDENTITYEnumLiteralDeclaration_1() { return cIDENTITYEnumLiteralDeclaration_1; }
//'-{Identity}->'
//'Identity'
public Keyword getIDENTITYIdentityKeyword_1_0() { return cIDENTITYIdentityKeyword_1_0; }
//FIRST='-{First}->'
//FIRST='First'
public EnumLiteralDeclaration getFIRSTEnumLiteralDeclaration_2() { return cFIRSTEnumLiteralDeclaration_2; }
//'-{First}->'
//'First'
public Keyword getFIRSTFirstKeyword_2_0() { return cFIRSTFirstKeyword_2_0; }
//ROTATE='-{Rotate}->'
//ROTATE='Rotate'
public EnumLiteralDeclaration getROTATEEnumLiteralDeclaration_3() { return cROTATEEnumLiteralDeclaration_3; }
//'-{Rotate}->'
//'Rotate'
public Keyword getROTATERotateKeyword_3_0() { return cROTATERotateKeyword_3_0; }
//SHIFTC='-{ShiftC}->'
//SHIFTC='ShiftC'
public EnumLiteralDeclaration getSHIFTCEnumLiteralDeclaration_4() { return cSHIFTCEnumLiteralDeclaration_4; }
//'-{ShiftC}->'
//'ShiftC'
public Keyword getSHIFTCShiftCKeyword_4_0() { return cSHIFTCShiftCKeyword_4_0; }
//SHIFTP='-{ShiftP}->'
//SHIFTP='ShiftP'
public EnumLiteralDeclaration getSHIFTPEnumLiteralDeclaration_5() { return cSHIFTPEnumLiteralDeclaration_5; }
//'-{ShiftP}->'
//'ShiftP'
public Keyword getSHIFTPShiftPKeyword_5_0() { return cSHIFTPShiftPKeyword_5_0; }
//FLATTENC='-{FlattenC}->'
//FLATTENC='FlattenC'
public EnumLiteralDeclaration getFLATTENCEnumLiteralDeclaration_6() { return cFLATTENCEnumLiteralDeclaration_6; }
//'-{FlattenC}->'
//'FlattenC'
public Keyword getFLATTENCFlattenCKeyword_6_0() { return cFLATTENCFlattenCKeyword_6_0; }
//FORKC='-{ForkC}->'
//FORKC='ForkC'
public EnumLiteralDeclaration getFORKCEnumLiteralDeclaration_7() { return cFORKCEnumLiteralDeclaration_7; }
//'-{ForkC}->'
//'ForkC'
public Keyword getFORKCForkCKeyword_7_0() { return cFORKCForkCKeyword_7_0; }
//FORKP='-{ForkP}->'
//FORKP='ForkP'
public EnumLiteralDeclaration getFORKPEnumLiteralDeclaration_8() { return cFORKPEnumLiteralDeclaration_8; }
//'-{ForkP}->'
//'ForkP'
public Keyword getFORKPForkPKeyword_8_0() { return cFORKPForkPKeyword_8_0; }
//JOINC='-{JoinC}->'
//JOINC='JoinC'
public EnumLiteralDeclaration getJOINCEnumLiteralDeclaration_9() { return cJOINCEnumLiteralDeclaration_9; }
//'-{JoinC}->'
//'JoinC'
public Keyword getJOINCJoinCKeyword_9_0() { return cJOINCJoinCKeyword_9_0; }
//JOINP='-{JoinP}->'
//JOINP='JoinP'
public EnumLiteralDeclaration getJOINPEnumLiteralDeclaration_10() { return cJOINPEnumLiteralDeclaration_10; }
//'-{JoinP}->'
//'JoinP'
public Keyword getJOINPJoinPKeyword_10_0() { return cJOINPJoinPKeyword_10_0; }
//LAST='-{Last}->'
//LAST='Last'
public EnumLiteralDeclaration getLASTEnumLiteralDeclaration_11() { return cLASTEnumLiteralDeclaration_11; }
//'-{Last}->'
//'Last'
public Keyword getLASTLastKeyword_11_0() { return cLASTLastKeyword_11_0; }
}
public class PortDirectionElements extends AbstractEnumRuleElementFinder {
......@@ -709,7 +716,7 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
}
//PatternLink:
// src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID];
// src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID];
public PatternLinkElements getPatternLinkAccess() {
return pPatternLink;
}
......@@ -719,9 +726,9 @@ public class PatternGrammarAccess extends AbstractGrammarElementFinder {
}
//enum LinkType:
// TRANSPOSE='-{Transpose}->' | IDENTITY='-{Identity}->' | FIRST='-{First}->' | ROTATE='-{Rotate}->'
// | SHIFTC='-{ShiftC}->' | SHIFTP='-{ShiftP}->' | FLATTENC='-{FlattenC}->' | FORKC='-{ForkC}->' | FORKP='-{ForkP}->'
// | JOINC='-{JoinC}->' | JOINP='-{JoinP}->' | LAST='-{Last}->';
// TRANSPOSE='Transpose' | IDENTITY='Identity' | FIRST='First' | ROTATE='Rotate'
// | SHIFTC='ShiftC' | SHIFTP='ShiftP' | FLATTENC='FlattenC' | FORKC='ForkC' | FORKP='ForkP'
// | JOINC='JoinC' | JOINP='JoinP' | LAST='Last';
public LinkTypeElements getLinkTypeAccess() {
return eLinkType;
}
......
......@@ -34,13 +34,13 @@ CardinalityElement returns CardinalityElement:
;
PatternLink returns PatternLink:
src=[PatternPort|QualifiedID] linkType=LinkType dst=[PatternPort|QualifiedID]
src=[PatternPort|QualifiedID] '--{' linkType=LinkType '}->' dst=[PatternPort|QualifiedID]
;
enum LinkType returns LinkType:
TRANSPOSE = '-{Transpose}->' | IDENTITY = '-{Identity}->' | FIRST = '-{First}->' | ROTATE = '-{Rotate}->'
| SHIFTC = '-{ShiftC}->' | SHIFTP = '-{ShiftP}->' | FLATTENC = '-{FlattenC}->' | FORKC = '-{ForkC}->' | FORKP = '-{ForkP}->'
| JOINC = '-{JoinC}->' | JOINP = '-{JoinP}->' | LAST = '-{Last}->'
TRANSPOSE = 'Transpose' | IDENTITY = 'Identity' | FIRST = 'First' | ROTATE = 'Rotate'
| SHIFTC = 'ShiftC' | SHIFTP = 'ShiftP' | FLATTENC = 'FlattenC' | FORKC = 'ForkC' | FORKP = 'ForkP'
| JOINC = 'JoinC' | JOINP = 'JoinP' | LAST = 'Last'
;
enum PortDirection returns seim::PortDirection:
......
......@@ -3,6 +3,8 @@
*/
package com.irtsaintexupery.xtext.pseim.validation
import com.irtsaintexupery.pseim.pseim.Pattern
import org.eclipse.xtext.validation.Check
/**
* This class contains custom validation rules.
......@@ -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