diff options
author | sefftinge | 2008-02-28 14:55:18 +0000 |
---|---|---|
committer | sefftinge | 2008-02-28 14:55:18 +0000 |
commit | 9968bddab8132f26b002bbe1f6e11582e347c88e (patch) | |
tree | 9176e4855e81703c6236d9696221d630d972f7da | |
parent | 8c5bcb255b746627e8546f0b5ec122ef1b54d324 (diff) | |
download | org.eclipse.xpand-9968bddab8132f26b002bbe1f6e11582e347c88e.tar.gz org.eclipse.xpand-9968bddab8132f26b002bbe1f6e11582e347c88e.tar.xz org.eclipse.xpand-9968bddab8132f26b002bbe1f6e11582e347c88e.zip |
fixed switch
added tests
11 files changed, 1828 insertions, 998 deletions
diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParser.java b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParser.java index 1a1daa79..e7786635 100644 --- a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParser.java +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/AbstractXpand3NodeParser.java @@ -77,4 +77,9 @@ public abstract class AbstractXpand3NodeParser extends Xpand3Parser { return rootNode; } + @Override + protected void assignNextNodeTo(String alias) { + // TODO Auto-generated method stub + } + }
\ No newline at end of file diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.g b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.g index f839b065..aaf84472 100644 --- a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.g +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.g @@ -183,12 +183,12 @@ r_letExpression : ; r_castedExpression : - ('(' r_type ')' r_castedExpression)=> + ('(' r_type ')' r_chainExpression)=> '(' r_type ')' r_chainExpression | r_chainExpression ; -r_chainExpression : +r_chainExpression : {/*HUHU*/} r_ifExpression ( '->' r_ifExpression )* ; @@ -198,7 +198,7 @@ r_ifExpression : ; r_switchExpression : - 'switch' ('(' r_orExpression ')')? + 'switch' ('(' r_orExpression ')')? '{' r_casePart* 'default' ':' r_orExpression '}' @@ -247,7 +247,7 @@ r_infixExpression : ; r_primaryExpression : - StringLiteral + r_stringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral @@ -258,6 +258,10 @@ r_primaryExpression : | r_paranthesizedExpression ; +r_stringLiteral : + StringLiteral +; + r_paranthesizedExpression : '(' r_expression ')' ; diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.tokens b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.tokens index 298768a2..f6ef9e5f 100644 --- a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.tokens +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3.tokens @@ -19,10 +19,10 @@ OctalEscape=16 REM_COMMENT_OUT=23 AROUND=8 LG=4 -'<'=90 +'<'=91 'exists'=105 -'>'=89 -'case'=81 +'>'=90 +'case'=82 'context'=58 'FOREACH'=39 'let'=72 @@ -32,13 +32,13 @@ LG=4 '-'=36 'reexport'=30 '?'=75 -'!='=86 +'!='=87 'List'=70 -'>='=87 -'GLOBALVAR'=94 +'>='=88 +'GLOBALVAR'=95 'ELSEIF'=48 -'<='=88 -'||'=82 +'<='=89 +'||'=83 'ID'=55 'typeSelect'=100 'JAVA'=67 @@ -51,7 +51,7 @@ LG=4 'ENDFOREACH'=45 'ENDLET'=51 'around'=62 -'{'=95 +'{'=79 'then'=76 'SEPARATOR'=40 'AS'=43 @@ -63,7 +63,7 @@ LG=4 'ITERATOR'=44 'Set'=71 'notExists'=106 -'}'=80 +'}'=81 '->'=74 'create'=66 'PROTECT'=52 @@ -73,14 +73,14 @@ LG=4 ';'=28 ']'=111 'true'=98 -'default'=79 +'default'=80 'false'=97 ','=32 -'&&'=83 +'&&'=84 'LET'=50 '['=110 -'/'=92 -'implies'=84 +'/'=93 +'implies'=85 'ELSE'=49 'IMPORT'=25 'Collection'=69 @@ -91,11 +91,11 @@ LG=4 'EXPAND'=38 ')'=34 'FILE'=41 -'=='=85 +'=='=86 'ENDPROTECT'=57 'IF'=46 'import'=27 -'!'=93 +'!'=94 'CSTART'=53 'if'=59 'DISABLE'=56 @@ -104,5 +104,5 @@ LG=4 'select'=102 'cached'=65 'null'=99 -'+'=91 +'+'=92 'WARNING'=60 diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Lexer.java b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Lexer.java index da5f7b2f..0c94c4d2 100644 --- a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Lexer.java +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Lexer.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-28 13:17:14 +// $ANTLR 3.0.1 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-28 15:53:24 package org.eclipse.xpand3.parser; @@ -1148,11 +1148,10 @@ public class Xpand3Lexer extends Lexer { public final void mT79() throws RecognitionException { try { int _type = T79; - // src/org/eclipse/xpand3/parser/Xpand3.g:63:5: ( 'default' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:63:7: 'default' + // src/org/eclipse/xpand3/parser/Xpand3.g:63:5: ( '{' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:63:7: '{' { - match("default"); - + match('{'); } @@ -1167,10 +1166,11 @@ public class Xpand3Lexer extends Lexer { public final void mT80() throws RecognitionException { try { int _type = T80; - // src/org/eclipse/xpand3/parser/Xpand3.g:64:5: ( '}' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:64:7: '}' + // src/org/eclipse/xpand3/parser/Xpand3.g:64:5: ( 'default' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:64:7: 'default' { - match('}'); + match("default"); + } @@ -1185,11 +1185,10 @@ public class Xpand3Lexer extends Lexer { public final void mT81() throws RecognitionException { try { int _type = T81; - // src/org/eclipse/xpand3/parser/Xpand3.g:65:5: ( 'case' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:65:7: 'case' + // src/org/eclipse/xpand3/parser/Xpand3.g:65:5: ( '}' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:65:7: '}' { - match("case"); - + match('}'); } @@ -1204,10 +1203,10 @@ public class Xpand3Lexer extends Lexer { public final void mT82() throws RecognitionException { try { int _type = T82; - // src/org/eclipse/xpand3/parser/Xpand3.g:66:5: ( '||' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:66:7: '||' + // src/org/eclipse/xpand3/parser/Xpand3.g:66:5: ( 'case' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:66:7: 'case' { - match("||"); + match("case"); } @@ -1223,10 +1222,10 @@ public class Xpand3Lexer extends Lexer { public final void mT83() throws RecognitionException { try { int _type = T83; - // src/org/eclipse/xpand3/parser/Xpand3.g:67:5: ( '&&' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:67:7: '&&' + // src/org/eclipse/xpand3/parser/Xpand3.g:67:5: ( '||' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:67:7: '||' { - match("&&"); + match("||"); } @@ -1242,10 +1241,10 @@ public class Xpand3Lexer extends Lexer { public final void mT84() throws RecognitionException { try { int _type = T84; - // src/org/eclipse/xpand3/parser/Xpand3.g:68:5: ( 'implies' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:68:7: 'implies' + // src/org/eclipse/xpand3/parser/Xpand3.g:68:5: ( '&&' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:68:7: '&&' { - match("implies"); + match("&&"); } @@ -1261,10 +1260,10 @@ public class Xpand3Lexer extends Lexer { public final void mT85() throws RecognitionException { try { int _type = T85; - // src/org/eclipse/xpand3/parser/Xpand3.g:69:5: ( '==' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:69:7: '==' + // src/org/eclipse/xpand3/parser/Xpand3.g:69:5: ( 'implies' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:69:7: 'implies' { - match("=="); + match("implies"); } @@ -1280,10 +1279,10 @@ public class Xpand3Lexer extends Lexer { public final void mT86() throws RecognitionException { try { int _type = T86; - // src/org/eclipse/xpand3/parser/Xpand3.g:70:5: ( '!=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:70:7: '!=' + // src/org/eclipse/xpand3/parser/Xpand3.g:70:5: ( '==' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:70:7: '==' { - match("!="); + match("=="); } @@ -1299,10 +1298,10 @@ public class Xpand3Lexer extends Lexer { public final void mT87() throws RecognitionException { try { int _type = T87; - // src/org/eclipse/xpand3/parser/Xpand3.g:71:5: ( '>=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:71:7: '>=' + // src/org/eclipse/xpand3/parser/Xpand3.g:71:5: ( '!=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:71:7: '!=' { - match(">="); + match("!="); } @@ -1318,10 +1317,10 @@ public class Xpand3Lexer extends Lexer { public final void mT88() throws RecognitionException { try { int _type = T88; - // src/org/eclipse/xpand3/parser/Xpand3.g:72:5: ( '<=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:72:7: '<=' + // src/org/eclipse/xpand3/parser/Xpand3.g:72:5: ( '>=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:72:7: '>=' { - match("<="); + match(">="); } @@ -1337,10 +1336,11 @@ public class Xpand3Lexer extends Lexer { public final void mT89() throws RecognitionException { try { int _type = T89; - // src/org/eclipse/xpand3/parser/Xpand3.g:73:5: ( '>' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:73:7: '>' + // src/org/eclipse/xpand3/parser/Xpand3.g:73:5: ( '<=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:73:7: '<=' { - match('>'); + match("<="); + } @@ -1355,10 +1355,10 @@ public class Xpand3Lexer extends Lexer { public final void mT90() throws RecognitionException { try { int _type = T90; - // src/org/eclipse/xpand3/parser/Xpand3.g:74:5: ( '<' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:74:7: '<' + // src/org/eclipse/xpand3/parser/Xpand3.g:74:5: ( '>' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:74:7: '>' { - match('<'); + match('>'); } @@ -1373,10 +1373,10 @@ public class Xpand3Lexer extends Lexer { public final void mT91() throws RecognitionException { try { int _type = T91; - // src/org/eclipse/xpand3/parser/Xpand3.g:75:5: ( '+' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:75:7: '+' + // src/org/eclipse/xpand3/parser/Xpand3.g:75:5: ( '<' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:75:7: '<' { - match('+'); + match('<'); } @@ -1391,10 +1391,10 @@ public class Xpand3Lexer extends Lexer { public final void mT92() throws RecognitionException { try { int _type = T92; - // src/org/eclipse/xpand3/parser/Xpand3.g:76:5: ( '/' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:76:7: '/' + // src/org/eclipse/xpand3/parser/Xpand3.g:76:5: ( '+' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:76:7: '+' { - match('/'); + match('+'); } @@ -1409,10 +1409,10 @@ public class Xpand3Lexer extends Lexer { public final void mT93() throws RecognitionException { try { int _type = T93; - // src/org/eclipse/xpand3/parser/Xpand3.g:77:5: ( '!' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:77:7: '!' + // src/org/eclipse/xpand3/parser/Xpand3.g:77:5: ( '/' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:77:7: '/' { - match('!'); + match('/'); } @@ -1427,11 +1427,10 @@ public class Xpand3Lexer extends Lexer { public final void mT94() throws RecognitionException { try { int _type = T94; - // src/org/eclipse/xpand3/parser/Xpand3.g:78:5: ( 'GLOBALVAR' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:78:7: 'GLOBALVAR' + // src/org/eclipse/xpand3/parser/Xpand3.g:78:5: ( '!' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:78:7: '!' { - match("GLOBALVAR"); - + match('!'); } @@ -1446,10 +1445,11 @@ public class Xpand3Lexer extends Lexer { public final void mT95() throws RecognitionException { try { int _type = T95; - // src/org/eclipse/xpand3/parser/Xpand3.g:79:5: ( '{' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:79:7: '{' + // src/org/eclipse/xpand3/parser/Xpand3.g:79:5: ( 'GLOBALVAR' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:79:7: 'GLOBALVAR' { - match('{'); + match("GLOBALVAR"); + } @@ -1765,10 +1765,10 @@ public class Xpand3Lexer extends Lexer { public final void mIntLiteral() throws RecognitionException { try { int _type = IntLiteral; - // src/org/eclipse/xpand3/parser/Xpand3.g:351:12: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:351:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:355:12: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:355:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) { - // src/org/eclipse/xpand3/parser/Xpand3.g:351:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:355:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) int alt2=2; int LA2_0 = input.LA(1); @@ -1780,23 +1780,23 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("351:14: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 2, 0, input); + new NoViableAltException("355:14: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 2, 0, input); throw nvae; } switch (alt2) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:351:15: '0' + // src/org/eclipse/xpand3/parser/Xpand3.g:355:15: '0' { match('0'); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:351:21: '1' .. '9' ( '0' .. '9' )* + // src/org/eclipse/xpand3/parser/Xpand3.g:355:21: '1' .. '9' ( '0' .. '9' )* { matchRange('1','9'); - // src/org/eclipse/xpand3/parser/Xpand3.g:351:30: ( '0' .. '9' )* + // src/org/eclipse/xpand3/parser/Xpand3.g:355:30: ( '0' .. '9' )* loop1: do { int alt1=2; @@ -1809,7 +1809,7 @@ public class Xpand3Lexer extends Lexer { switch (alt1) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:351:30: '0' .. '9' + // src/org/eclipse/xpand3/parser/Xpand3.g:355:30: '0' .. '9' { matchRange('0','9'); @@ -1841,7 +1841,7 @@ public class Xpand3Lexer extends Lexer { public final void mStringLiteral() throws RecognitionException { try { int _type = StringLiteral; - // src/org/eclipse/xpand3/parser/Xpand3.g:354:5: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:358:5: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' ) int alt5=2; int LA5_0 = input.LA(1); @@ -1853,16 +1853,16 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("353:1: StringLiteral : ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' );", 5, 0, input); + new NoViableAltException("357:1: StringLiteral : ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' );", 5, 0, input); throw nvae; } switch (alt5) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:354:8: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' + // src/org/eclipse/xpand3/parser/Xpand3.g:358:8: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // src/org/eclipse/xpand3/parser/Xpand3.g:354:12: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:358:12: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* loop3: do { int alt3=3; @@ -1878,14 +1878,14 @@ public class Xpand3Lexer extends Lexer { switch (alt3) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:354:14: EscapeSequence + // src/org/eclipse/xpand3/parser/Xpand3.g:358:14: EscapeSequence { mEscapeSequence(); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:354:31: ~ ( '\\\\' | '\"' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:358:31: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -1911,10 +1911,10 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:355:8: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' + // src/org/eclipse/xpand3/parser/Xpand3.g:359:8: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' { match('\''); - // src/org/eclipse/xpand3/parser/Xpand3.g:355:13: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:359:13: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* loop4: do { int alt4=3; @@ -1930,14 +1930,14 @@ public class Xpand3Lexer extends Lexer { switch (alt4) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:355:15: EscapeSequence + // src/org/eclipse/xpand3/parser/Xpand3.g:359:15: EscapeSequence { mEscapeSequence(); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:355:32: ~ ( '\\'' | '\\\\' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:359:32: ~ ( '\\'' | '\\\\' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -1974,7 +1974,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start EscapeSequence public final void mEscapeSequence() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:360:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape ) + // src/org/eclipse/xpand3/parser/Xpand3.g:364:5: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape ) int alt6=3; int LA6_0 = input.LA(1); @@ -2011,7 +2011,7 @@ public class Xpand3Lexer extends Lexer { break; default: NoViableAltException nvae = - new NoViableAltException("358:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 1, input); + new NoViableAltException("362:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 1, input); throw nvae; } @@ -2019,13 +2019,13 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("358:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 0, input); + new NoViableAltException("362:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 0, input); throw nvae; } switch (alt6) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:360:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:364:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) { match('\\'); if ( input.LA(1)=='\"'||input.LA(1)=='\''||input.LA(1)=='\\'||input.LA(1)=='b'||input.LA(1)=='f'||input.LA(1)=='n'||input.LA(1)=='r'||input.LA(1)=='t' ) { @@ -2042,14 +2042,14 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:361:9: UnicodeEscape + // src/org/eclipse/xpand3/parser/Xpand3.g:365:9: UnicodeEscape { mUnicodeEscape(); } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:362:9: OctalEscape + // src/org/eclipse/xpand3/parser/Xpand3.g:366:9: OctalEscape { mOctalEscape(); @@ -2066,7 +2066,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start OctalEscape public final void mOctalEscape() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:367:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:371:5: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) int alt7=3; int LA7_0 = input.LA(1); @@ -2099,38 +2099,38 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("365:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 1, input); + new NoViableAltException("369:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 1, input); throw nvae; } } else { NoViableAltException nvae = - new NoViableAltException("365:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 0, input); + new NoViableAltException("369:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 0, input); throw nvae; } switch (alt7) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:367:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:371:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) { match('\\'); - // src/org/eclipse/xpand3/parser/Xpand3.g:367:14: ( '0' .. '3' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:367:15: '0' .. '3' + // src/org/eclipse/xpand3/parser/Xpand3.g:371:14: ( '0' .. '3' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:371:15: '0' .. '3' { matchRange('0','3'); } - // src/org/eclipse/xpand3/parser/Xpand3.g:367:25: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:367:26: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:371:25: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:371:26: '0' .. '7' { matchRange('0','7'); } - // src/org/eclipse/xpand3/parser/Xpand3.g:367:36: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:367:37: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:371:36: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:371:37: '0' .. '7' { matchRange('0','7'); @@ -2140,18 +2140,18 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:368:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:372:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) { match('\\'); - // src/org/eclipse/xpand3/parser/Xpand3.g:368:14: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:368:15: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:372:14: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:372:15: '0' .. '7' { matchRange('0','7'); } - // src/org/eclipse/xpand3/parser/Xpand3.g:368:25: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:368:26: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:372:25: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:372:26: '0' .. '7' { matchRange('0','7'); @@ -2161,11 +2161,11 @@ public class Xpand3Lexer extends Lexer { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:369:9: '\\\\' ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:373:9: '\\\\' ( '0' .. '7' ) { match('\\'); - // src/org/eclipse/xpand3/parser/Xpand3.g:369:14: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:369:15: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:373:14: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:373:15: '0' .. '7' { matchRange('0','7'); @@ -2185,8 +2185,8 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start UnicodeEscape public final void mUnicodeEscape() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:374:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) - // src/org/eclipse/xpand3/parser/Xpand3.g:374:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit + // src/org/eclipse/xpand3/parser/Xpand3.g:378:5: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) + // src/org/eclipse/xpand3/parser/Xpand3.g:378:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit { match('\\'); match('u'); @@ -2206,8 +2206,8 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start HexDigit public final void mHexDigit() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:377:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:377:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:381:10: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:381:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='F')||(input.LA(1)>='a' && input.LA(1)<='f') ) { input.consume(); @@ -2232,8 +2232,8 @@ public class Xpand3Lexer extends Lexer { public final void mDEFINE() throws RecognitionException { try { int _type = DEFINE; - // src/org/eclipse/xpand3/parser/Xpand3.g:380:9: ( 'DEFINE' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:380:11: 'DEFINE' + // src/org/eclipse/xpand3/parser/Xpand3.g:384:9: ( 'DEFINE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:384:11: 'DEFINE' { xpandMode=true; match("DEFINE"); @@ -2252,8 +2252,8 @@ public class Xpand3Lexer extends Lexer { public final void mENDDEFINE() throws RecognitionException { try { int _type = ENDDEFINE; - // src/org/eclipse/xpand3/parser/Xpand3.g:382:2: ( 'ENDDEFINE' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:382:4: 'ENDDEFINE' + // src/org/eclipse/xpand3/parser/Xpand3.g:386:2: ( 'ENDDEFINE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:386:4: 'ENDDEFINE' { match("ENDDEFINE"); @@ -2272,8 +2272,8 @@ public class Xpand3Lexer extends Lexer { public final void mAROUND() throws RecognitionException { try { int _type = AROUND; - // src/org/eclipse/xpand3/parser/Xpand3.g:384:9: ( 'AROUND' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:384:11: 'AROUND' + // src/org/eclipse/xpand3/parser/Xpand3.g:388:9: ( 'AROUND' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:388:11: 'AROUND' { xpandMode=true; match("AROUND"); @@ -2292,8 +2292,8 @@ public class Xpand3Lexer extends Lexer { public final void mENDAROUND() throws RecognitionException { try { int _type = ENDAROUND; - // src/org/eclipse/xpand3/parser/Xpand3.g:385:11: ( 'ENDAROUND' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:385:13: 'ENDAROUND' + // src/org/eclipse/xpand3/parser/Xpand3.g:389:11: ( 'ENDAROUND' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:389:13: 'ENDAROUND' { match("ENDAROUND"); @@ -2312,10 +2312,10 @@ public class Xpand3Lexer extends Lexer { public final void mIdentifier() throws RecognitionException { try { int _type = Identifier; - // src/org/eclipse/xpand3/parser/Xpand3.g:388:5: ( ( '^' )? Letter ( Letter | JavaIDDigit )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:388:9: ( '^' )? Letter ( Letter | JavaIDDigit )* + // src/org/eclipse/xpand3/parser/Xpand3.g:392:5: ( ( '^' )? Letter ( Letter | JavaIDDigit )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:392:9: ( '^' )? Letter ( Letter | JavaIDDigit )* { - // src/org/eclipse/xpand3/parser/Xpand3.g:388:9: ( '^' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:392:9: ( '^' )? int alt8=2; int LA8_0 = input.LA(1); @@ -2324,7 +2324,7 @@ public class Xpand3Lexer extends Lexer { } switch (alt8) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:388:10: '^' + // src/org/eclipse/xpand3/parser/Xpand3.g:392:10: '^' { match('^'); @@ -2334,7 +2334,7 @@ public class Xpand3Lexer extends Lexer { } mLetter(); - // src/org/eclipse/xpand3/parser/Xpand3.g:388:23: ( Letter | JavaIDDigit )* + // src/org/eclipse/xpand3/parser/Xpand3.g:392:23: ( Letter | JavaIDDigit )* loop9: do { int alt9=2; @@ -2381,7 +2381,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start Letter public final void mLetter() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:393:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:397:5: ( '\\u0024' | '\\u0041' .. '\\u005a' | '\\u005f' | '\\u0061' .. '\\u007a' | '\\u00c0' .. '\\u00d6' | '\\u00d8' .. '\\u00f6' | '\\u00f8' .. '\\u00ff' | '\\u0100' .. '\\u1fff' | '\\u3040' .. '\\u318f' | '\\u3300' .. '\\u337f' | '\\u3400' .. '\\u3d2d' | '\\u4e00' .. '\\u9fff' | '\\uf900' .. '\\ufaff' ) // src/org/eclipse/xpand3/parser/Xpand3.g: { if ( input.LA(1)=='$'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z')||(input.LA(1)>='\u00C0' && input.LA(1)<='\u00D6')||(input.LA(1)>='\u00D8' && input.LA(1)<='\u00F6')||(input.LA(1)>='\u00F8' && input.LA(1)<='\u1FFF')||(input.LA(1)>='\u3040' && input.LA(1)<='\u318F')||(input.LA(1)>='\u3300' && input.LA(1)<='\u337F')||(input.LA(1)>='\u3400' && input.LA(1)<='\u3D2D')||(input.LA(1)>='\u4E00' && input.LA(1)<='\u9FFF')||(input.LA(1)>='\uF900' && input.LA(1)<='\uFAFF') ) { @@ -2406,7 +2406,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start JavaIDDigit public final void mJavaIDDigit() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:410:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:414:5: ( '\\u0030' .. '\\u0039' | '\\u0660' .. '\\u0669' | '\\u06f0' .. '\\u06f9' | '\\u0966' .. '\\u096f' | '\\u09e6' .. '\\u09ef' | '\\u0a66' .. '\\u0a6f' | '\\u0ae6' .. '\\u0aef' | '\\u0b66' .. '\\u0b6f' | '\\u0be7' .. '\\u0bef' | '\\u0c66' .. '\\u0c6f' | '\\u0ce6' .. '\\u0cef' | '\\u0d66' .. '\\u0d6f' | '\\u0e50' .. '\\u0e59' | '\\u0ed0' .. '\\u0ed9' | '\\u1040' .. '\\u1049' ) // src/org/eclipse/xpand3/parser/Xpand3.g: { if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='\u0660' && input.LA(1)<='\u0669')||(input.LA(1)>='\u06F0' && input.LA(1)<='\u06F9')||(input.LA(1)>='\u0966' && input.LA(1)<='\u096F')||(input.LA(1)>='\u09E6' && input.LA(1)<='\u09EF')||(input.LA(1)>='\u0A66' && input.LA(1)<='\u0A6F')||(input.LA(1)>='\u0AE6' && input.LA(1)<='\u0AEF')||(input.LA(1)>='\u0B66' && input.LA(1)<='\u0B6F')||(input.LA(1)>='\u0BE7' && input.LA(1)<='\u0BEF')||(input.LA(1)>='\u0C66' && input.LA(1)<='\u0C6F')||(input.LA(1)>='\u0CE6' && input.LA(1)<='\u0CEF')||(input.LA(1)>='\u0D66' && input.LA(1)<='\u0D6F')||(input.LA(1)>='\u0E50' && input.LA(1)<='\u0E59')||(input.LA(1)>='\u0ED0' && input.LA(1)<='\u0ED9')||(input.LA(1)>='\u1040' && input.LA(1)<='\u1049') ) { @@ -2432,8 +2432,8 @@ public class Xpand3Lexer extends Lexer { public final void mWS() throws RecognitionException { try { int _type = WS; - // src/org/eclipse/xpand3/parser/Xpand3.g:427:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:427:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:431:5: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:431:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) { if ( (input.LA(1)>='\t' && input.LA(1)<='\n')||(input.LA(1)>='\f' && input.LA(1)<='\r')||input.LA(1)==' ' ) { input.consume(); @@ -2460,12 +2460,12 @@ public class Xpand3Lexer extends Lexer { public final void mCOMMENT() throws RecognitionException { try { int _type = COMMENT; - // src/org/eclipse/xpand3/parser/Xpand3.g:431:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:431:9: '/*' ( options {greedy=false; } : . )* '*/' + // src/org/eclipse/xpand3/parser/Xpand3.g:435:5: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:435:9: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // src/org/eclipse/xpand3/parser/Xpand3.g:431:14: ( options {greedy=false; } : . )* + // src/org/eclipse/xpand3/parser/Xpand3.g:435:14: ( options {greedy=false; } : . )* loop10: do { int alt10=2; @@ -2490,7 +2490,7 @@ public class Xpand3Lexer extends Lexer { switch (alt10) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:431:42: . + // src/org/eclipse/xpand3/parser/Xpand3.g:435:42: . { matchAny(); @@ -2519,12 +2519,12 @@ public class Xpand3Lexer extends Lexer { public final void mLINE_COMMENT() throws RecognitionException { try { int _type = LINE_COMMENT; - // src/org/eclipse/xpand3/parser/Xpand3.g:435:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:435:7: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) + // src/org/eclipse/xpand3/parser/Xpand3.g:439:5: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:439:7: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) { match("//"); - // src/org/eclipse/xpand3/parser/Xpand3.g:435:12: (~ ( '\\n' | '\\r' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:439:12: (~ ( '\\n' | '\\r' ) )* loop11: do { int alt11=2; @@ -2537,7 +2537,7 @@ public class Xpand3Lexer extends Lexer { switch (alt11) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:435:12: ~ ( '\\n' | '\\r' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:439:12: ~ ( '\\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)<='\uFFFE') ) { input.consume(); @@ -2558,7 +2558,7 @@ public class Xpand3Lexer extends Lexer { } } while (true); - // src/org/eclipse/xpand3/parser/Xpand3.g:435:26: ( ( '\\r' )? '\\n' | EOF ) + // src/org/eclipse/xpand3/parser/Xpand3.g:439:26: ( ( '\\r' )? '\\n' | EOF ) int alt13=2; int LA13_0 = input.LA(1); @@ -2569,9 +2569,9 @@ public class Xpand3Lexer extends Lexer { alt13=2;} switch (alt13) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:435:27: ( '\\r' )? '\\n' + // src/org/eclipse/xpand3/parser/Xpand3.g:439:27: ( '\\r' )? '\\n' { - // src/org/eclipse/xpand3/parser/Xpand3.g:435:27: ( '\\r' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:439:27: ( '\\r' )? int alt12=2; int LA12_0 = input.LA(1); @@ -2580,7 +2580,7 @@ public class Xpand3Lexer extends Lexer { } switch (alt12) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:435:27: '\\r' + // src/org/eclipse/xpand3/parser/Xpand3.g:439:27: '\\r' { match('\r'); @@ -2594,7 +2594,7 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:435:38: EOF + // src/org/eclipse/xpand3/parser/Xpand3.g:439:38: EOF { match(EOF); @@ -2618,8 +2618,8 @@ public class Xpand3Lexer extends Lexer { public final void mREM_COMMENT_OUT() throws RecognitionException { try { int _type = REM_COMMENT_OUT; - // src/org/eclipse/xpand3/parser/Xpand3.g:440:2: ({...}? => LG 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' RG ) - // src/org/eclipse/xpand3/parser/Xpand3.g:440:4: {...}? => LG 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' RG + // src/org/eclipse/xpand3/parser/Xpand3.g:444:2: ({...}? => LG 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' RG ) + // src/org/eclipse/xpand3/parser/Xpand3.g:444:4: {...}? => LG 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' RG { if ( !(!xpandMode) ) { throw new FailedPredicateException(input, "REM_COMMENT_OUT", "!xpandMode"); @@ -2628,7 +2628,7 @@ public class Xpand3Lexer extends Lexer { match("REM"); mRG(); - // src/org/eclipse/xpand3/parser/Xpand3.g:440:32: ( options {greedy=false; } : . )* + // src/org/eclipse/xpand3/parser/Xpand3.g:444:32: ( options {greedy=false; } : . )* loop14: do { int alt14=2; @@ -2707,7 +2707,7 @@ public class Xpand3Lexer extends Lexer { switch (alt14) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:440:60: . + // src/org/eclipse/xpand3/parser/Xpand3.g:444:60: . { matchAny(); @@ -2737,8 +2737,8 @@ public class Xpand3Lexer extends Lexer { public final void mREM_COMMENT() throws RecognitionException { try { int _type = REM_COMMENT; - // src/org/eclipse/xpand3/parser/Xpand3.g:443:13: ({...}? => 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:444:2: {...}? => 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' + // src/org/eclipse/xpand3/parser/Xpand3.g:447:13: ({...}? => 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:448:2: {...}? => 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' { if ( !(xpandMode) ) { throw new FailedPredicateException(input, "REM_COMMENT", "xpandMode"); @@ -2746,7 +2746,7 @@ public class Xpand3Lexer extends Lexer { match("REM"); mRG(); - // src/org/eclipse/xpand3/parser/Xpand3.g:444:26: ( options {greedy=false; } : . )* + // src/org/eclipse/xpand3/parser/Xpand3.g:448:26: ( options {greedy=false; } : . )* loop15: do { int alt15=2; @@ -2816,7 +2816,7 @@ public class Xpand3Lexer extends Lexer { switch (alt15) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:444:54: . + // src/org/eclipse/xpand3/parser/Xpand3.g:448:54: . { matchAny(); @@ -2845,14 +2845,14 @@ public class Xpand3Lexer extends Lexer { public final void mTEXT() throws RecognitionException { try { int _type = TEXT; - // src/org/eclipse/xpand3/parser/Xpand3.g:448:6: ({...}? => RG (~ ( LG ) )* ( LG )? ) - // src/org/eclipse/xpand3/parser/Xpand3.g:449:3: {...}? => RG (~ ( LG ) )* ( LG )? + // src/org/eclipse/xpand3/parser/Xpand3.g:452:6: ({...}? => RG (~ ( LG ) )* ( LG )? ) + // src/org/eclipse/xpand3/parser/Xpand3.g:453:3: {...}? => RG (~ ( LG ) )* ( LG )? { if ( !(xpandMode) ) { throw new FailedPredicateException(input, "TEXT", "xpandMode"); } mRG(); - // src/org/eclipse/xpand3/parser/Xpand3.g:449:21: (~ ( LG ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:453:21: (~ ( LG ) )* loop16: do { int alt16=2; @@ -2865,7 +2865,7 @@ public class Xpand3Lexer extends Lexer { switch (alt16) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:449:21: ~ ( LG ) + // src/org/eclipse/xpand3/parser/Xpand3.g:453:21: ~ ( LG ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -2886,7 +2886,7 @@ public class Xpand3Lexer extends Lexer { } } while (true); - // src/org/eclipse/xpand3/parser/Xpand3.g:449:28: ( LG )? + // src/org/eclipse/xpand3/parser/Xpand3.g:453:28: ( LG )? int alt17=2; int LA17_0 = input.LA(1); @@ -2895,7 +2895,7 @@ public class Xpand3Lexer extends Lexer { } switch (alt17) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:449:29: LG + // src/org/eclipse/xpand3/parser/Xpand3.g:453:29: LG { mLG(); @@ -2918,8 +2918,8 @@ public class Xpand3Lexer extends Lexer { public final void mLG() throws RecognitionException { try { int _type = LG; - // src/org/eclipse/xpand3/parser/Xpand3.g:453:2: ( '\\u00AB' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:453:4: '\\u00AB' + // src/org/eclipse/xpand3/parser/Xpand3.g:457:2: ( '\\u00AB' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:457:4: '\\u00AB' { match('\u00AB'); @@ -2936,8 +2936,8 @@ public class Xpand3Lexer extends Lexer { public final void mRG() throws RecognitionException { try { int _type = RG; - // src/org/eclipse/xpand3/parser/Xpand3.g:455:2: ( '\\u00BB' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:455:4: '\\u00BB' + // src/org/eclipse/xpand3/parser/Xpand3.g:459:2: ( '\\u00BB' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:459:4: '\\u00BB' { match('\u00BB'); @@ -3525,7 +3525,7 @@ public class Xpand3Lexer extends Lexer { alt18=94; } else { - alt18=60;} + alt18=61;} } else { alt18=94;} @@ -4321,7 +4321,7 @@ public class Xpand3Lexer extends Lexer { alt18=94; } else { - alt18=57;} + alt18=58;} } else { alt18=94;} @@ -4642,7 +4642,7 @@ public class Xpand3Lexer extends Lexer { int LA18_27 = input.LA(2); if ( (LA18_27=='=') ) { - alt18=61; + alt18=62; } else { alt18=49;} @@ -4905,10 +4905,13 @@ public class Xpand3Lexer extends Lexer { alt18=94;} } + else if ( (LA18_0=='{') ) { + alt18=55; + } else if ( (LA18_0=='d') ) { - int LA18_31 = input.LA(2); + int LA18_32 = input.LA(2); - if ( (LA18_31=='e') ) { + if ( (LA18_32=='e') ) { int LA18_100 = input.LA(3); if ( (LA18_100=='f') ) { @@ -4930,7 +4933,7 @@ public class Xpand3Lexer extends Lexer { alt18=94; } else { - alt18=55;} + alt18=56;} } else { alt18=94;} @@ -4951,39 +4954,30 @@ public class Xpand3Lexer extends Lexer { alt18=94;} } else if ( (LA18_0=='}') ) { - alt18=56; + alt18=57; } else if ( (LA18_0=='|') ) { - int LA18_33 = input.LA(2); + int LA18_34 = input.LA(2); - if ( (LA18_33=='|') ) { - alt18=58; + if ( (LA18_34=='|') ) { + alt18=59; } else { alt18=85;} } else if ( (LA18_0=='&') ) { - alt18=59; + alt18=60; } else if ( (LA18_0=='!') ) { - int LA18_35 = input.LA(2); - - if ( (LA18_35=='=') ) { - alt18=62; - } - else { - alt18=69;} - } - else if ( (LA18_0=='>') ) { int LA18_36 = input.LA(2); if ( (LA18_36=='=') ) { alt18=63; } else { - alt18=65;} + alt18=70;} } - else if ( (LA18_0=='<') ) { + else if ( (LA18_0=='>') ) { int LA18_37 = input.LA(2); if ( (LA18_37=='=') ) { @@ -4992,8 +4986,17 @@ public class Xpand3Lexer extends Lexer { else { alt18=66;} } + else if ( (LA18_0=='<') ) { + int LA18_38 = input.LA(2); + + if ( (LA18_38=='=') ) { + alt18=65; + } + else { + alt18=67;} + } else if ( (LA18_0=='+') ) { - alt18=67; + alt18=68; } else if ( (LA18_0=='/') ) { switch ( input.LA(2) ) { @@ -5008,13 +5011,13 @@ public class Xpand3Lexer extends Lexer { } break; default: - alt18=68;} + alt18=69;} } else if ( (LA18_0=='G') ) { - int LA18_40 = input.LA(2); + int LA18_41 = input.LA(2); - if ( (LA18_40=='L') ) { + if ( (LA18_41=='L') ) { int LA18_112 = input.LA(3); if ( (LA18_112=='O') ) { @@ -5042,7 +5045,7 @@ public class Xpand3Lexer extends Lexer { alt18=94; } else { - alt18=70;} + alt18=71;} } else { alt18=94;} @@ -5068,9 +5071,6 @@ public class Xpand3Lexer extends Lexer { else { alt18=94;} } - else if ( (LA18_0=='{') ) { - alt18=71; - } else if ( (LA18_0=='n') ) { switch ( input.LA(2) ) { case 'u': diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Parser.java b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Parser.java index 02d7d88c..2bb1eddc 100644 --- a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Parser.java +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3Parser.java @@ -1,4 +1,4 @@ -// $ANTLR 3.0.1 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-28 13:17:13 +// $ANTLR 3.0.1 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-28 15:53:24 package org.eclipse.xpand3.parser; @@ -12,7 +12,7 @@ import java.util.HashMap; /** START EDITED 'abstract' added */ public abstract class Xpand3Parser extends Parser { public static final String[] tokenNames = new String[] { - "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LG", "RG", "DEFINE", "ENDDEFINE", "AROUND", "ENDAROUND", "TEXT", "StringLiteral", "IntLiteral", "Identifier", "EscapeSequence", "UnicodeEscape", "OctalEscape", "HexDigit", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "REM_COMMENT_OUT", "REM_COMMENT", "'IMPORT'", "'EXTENSION'", "'import'", "';'", "'extension'", "'reexport'", "'('", "','", "'*'", "')'", "'FOR'", "'-'", "'ERROR'", "'EXPAND'", "'FOREACH'", "'SEPARATOR'", "'FILE'", "'ENDFILE'", "'AS'", "'ITERATOR'", "'ENDFOREACH'", "'IF'", "'ENDIF'", "'ELSEIF'", "'ELSE'", "'LET'", "'ENDLET'", "'PROTECT'", "'CSTART'", "'CEND'", "'ID'", "'DISABLE'", "'ENDPROTECT'", "'context'", "'if'", "'WARNING'", "':'", "'around'", "'::'", "'private'", "'cached'", "'create'", "'JAVA'", "'.'", "'Collection'", "'List'", "'Set'", "'let'", "'='", "'->'", "'?'", "'then'", "'else'", "'switch'", "'default'", "'}'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'/'", "'!'", "'GLOBALVAR'", "'{'", "'new'", "'false'", "'true'", "'null'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'['", "']'" + "<invalid>", "<EOR>", "<DOWN>", "<UP>", "LG", "RG", "DEFINE", "ENDDEFINE", "AROUND", "ENDAROUND", "TEXT", "StringLiteral", "IntLiteral", "Identifier", "EscapeSequence", "UnicodeEscape", "OctalEscape", "HexDigit", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "REM_COMMENT_OUT", "REM_COMMENT", "'IMPORT'", "'EXTENSION'", "'import'", "';'", "'extension'", "'reexport'", "'('", "','", "'*'", "')'", "'FOR'", "'-'", "'ERROR'", "'EXPAND'", "'FOREACH'", "'SEPARATOR'", "'FILE'", "'ENDFILE'", "'AS'", "'ITERATOR'", "'ENDFOREACH'", "'IF'", "'ENDIF'", "'ELSEIF'", "'ELSE'", "'LET'", "'ENDLET'", "'PROTECT'", "'CSTART'", "'CEND'", "'ID'", "'DISABLE'", "'ENDPROTECT'", "'context'", "'if'", "'WARNING'", "':'", "'around'", "'::'", "'private'", "'cached'", "'create'", "'JAVA'", "'.'", "'Collection'", "'List'", "'Set'", "'let'", "'='", "'->'", "'?'", "'then'", "'else'", "'switch'", "'{'", "'default'", "'}'", "'case'", "'||'", "'&&'", "'implies'", "'=='", "'!='", "'>='", "'<='", "'>'", "'<'", "'+'", "'/'", "'!'", "'GLOBALVAR'", "'new'", "'false'", "'true'", "'null'", "'typeSelect'", "'collect'", "'select'", "'selectFirst'", "'reject'", "'exists'", "'notExists'", "'sortBy'", "'forAll'", "'|'", "'['", "']'" }; public static final int IntLiteral=12; public static final int Identifier=13; @@ -39,13 +39,14 @@ public abstract class Xpand3Parser extends Parser { public Xpand3Parser(TokenStream input) { super(input); - ruleMemo = new HashMap[59+1]; + ruleMemo = new HashMap[60+1]; } /* START EDITED */ protected abstract void ruleEntered(String ruleName); protected abstract void ruleLeft(String ruleName); + protected abstract void assignNextNodeTo(String alias); protected abstract void tokenConsumed(String name, CommonToken ct); /* END EDITED */ @@ -59,7 +60,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_file() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_file"); + if(backtracking ==0) { + ruleEntered("r_file"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:15:9: ( ( r_nsImport )* ( r_abstractDeclaration )* EOF ) // src/org/eclipse/xpand3/parser/Xpand3.g:16:2: ( r_nsImport )* ( r_abstractDeclaration )* EOF @@ -130,7 +133,9 @@ public abstract class Xpand3Parser extends Parser { } while (true); /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,EOF,FOLLOW_EOF_in_r_file53); if (failed) return ; @@ -143,7 +148,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_file"); + if(backtracking==0) { + ruleLeft("r_file"); + } /** END EDITED */ } return ; @@ -156,7 +163,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_nsImport() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_nsImport"); + if(backtracking ==0) { + ruleEntered("r_nsImport"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:21:12: ( LG 'IMPORT' r_type RG | LG 'EXTENSION' r_type RG | 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' ) int alt4=4; @@ -203,11 +212,15 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:22:2: LG 'IMPORT' r_type RG { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,LG,FOLLOW_LG_in_r_nsImport63); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,25,FOLLOW_25_in_r_nsImport65); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_nsImport67); @@ -215,7 +228,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,RG,FOLLOW_RG_in_r_nsImport69); if (failed) return ; @@ -225,11 +240,15 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:23:2: LG 'EXTENSION' r_type RG { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,LG,FOLLOW_LG_in_r_nsImport74); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,26,FOLLOW_26_in_r_nsImport76); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_nsImport78); @@ -237,7 +256,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,RG,FOLLOW_RG_in_r_nsImport80); if (failed) return ; @@ -247,7 +268,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:24:2: 'import' r_type ';' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,27,FOLLOW_27_in_r_nsImport85); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_nsImport87); @@ -255,7 +278,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,28,FOLLOW_28_in_r_nsImport90); if (failed) return ; @@ -265,7 +290,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:25:2: 'extension' r_type ( 'reexport' )? ';' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,29,FOLLOW_29_in_r_nsImport96); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_nsImport98); @@ -284,7 +311,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:25:22: 'reexport' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,30,FOLLOW_30_in_r_nsImport101); if (failed) return ; @@ -294,7 +323,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,28,FOLLOW_28_in_r_nsImport105); if (failed) return ; @@ -309,7 +340,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_nsImport"); + if(backtracking==0) { + ruleLeft("r_nsImport"); + } /** END EDITED */ } return ; @@ -322,7 +355,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_abstractDeclaration() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_abstractDeclaration"); + if(backtracking ==0) { + ruleEntered("r_abstractDeclaration"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:28:23: ( r_check | r_around | r_extension | r_definition | r_definitionAround ) int alt5=5; @@ -352,12 +387,12 @@ public abstract class Xpand3Parser extends Parser { { int LA5_4 = input.LA(2); - if ( (LA5_4==DEFINE) ) { - alt5=4; - } - else if ( (LA5_4==AROUND) ) { + if ( (LA5_4==AROUND) ) { alt5=5; } + else if ( (LA5_4==DEFINE) ) { + alt5=4; + } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = @@ -435,7 +470,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_abstractDeclaration"); + if(backtracking==0) { + ruleLeft("r_abstractDeclaration"); + } /** END EDITED */ } return ; @@ -448,17 +485,23 @@ public abstract class Xpand3Parser extends Parser { public final void r_definition() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_definition"); + if(backtracking ==0) { + ruleEntered("r_definition"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:38:14: ( LG DEFINE r_identifier ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDDEFINE RG ) // src/org/eclipse/xpand3/parser/Xpand3.g:39:2: LG DEFINE r_identifier ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDDEFINE RG { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,LG,FOLLOW_LG_in_r_definition148); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,DEFINE,FOLLOW_DEFINE_in_r_definition150); if (failed) return ; pushFollow(FOLLOW_r_identifier_in_r_definition152); @@ -477,7 +520,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:39:26: '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_definition155); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:39:30: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? @@ -521,7 +566,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:39:56: ',' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,32,FOLLOW_32_in_r_definition161); if (failed) return ; @@ -531,7 +578,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_definition164); if (failed) return ; @@ -547,7 +596,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:39:69: '*' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_definition170); if (failed) return ; @@ -557,7 +608,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_definition174); if (failed) return ; @@ -567,7 +620,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,35,FOLLOW_35_in_r_definition178); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_definition180); @@ -579,11 +634,15 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,ENDDEFINE,FOLLOW_ENDDEFINE_in_r_definition186); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,RG,FOLLOW_RG_in_r_definition188); if (failed) return ; @@ -596,7 +655,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_definition"); + if(backtracking==0) { + ruleLeft("r_definition"); + } /** END EDITED */ } return ; @@ -609,17 +670,23 @@ public abstract class Xpand3Parser extends Parser { public final void r_definitionAround() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_definitionAround"); + if(backtracking ==0) { + ruleEntered("r_definitionAround"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:44:20: ( LG AROUND r_pointcut ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDAROUND RG ) // src/org/eclipse/xpand3/parser/Xpand3.g:45:2: LG AROUND r_pointcut ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDAROUND RG { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,LG,FOLLOW_LG_in_r_definitionAround200); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,AROUND,FOLLOW_AROUND_in_r_definitionAround202); if (failed) return ; pushFollow(FOLLOW_r_pointcut_in_r_definitionAround204); @@ -638,7 +705,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:45:24: '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_definitionAround207); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:45:28: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? @@ -682,7 +751,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:45:54: ',' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,32,FOLLOW_32_in_r_definitionAround213); if (failed) return ; @@ -692,7 +763,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_definitionAround216); if (failed) return ; @@ -708,7 +781,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:45:67: '*' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_definitionAround222); if (failed) return ; @@ -718,7 +793,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_definitionAround226); if (failed) return ; @@ -728,7 +805,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,35,FOLLOW_35_in_r_definitionAround230); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_definitionAround232); @@ -740,11 +819,15 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,ENDAROUND,FOLLOW_ENDAROUND_in_r_definitionAround238); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,RG,FOLLOW_RG_in_r_definitionAround240); if (failed) return ; @@ -757,7 +840,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_definitionAround"); + if(backtracking==0) { + ruleLeft("r_definitionAround"); + } /** END EDITED */ } return ; @@ -770,7 +855,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_sequence() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_sequence"); + if(backtracking ==0) { + ruleEntered("r_sequence"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:50:12: ( r_textSequence ( r_statement r_textSequence )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:51:3: r_textSequence ( r_statement r_textSequence )* @@ -785,7 +872,7 @@ public abstract class Xpand3Parser extends Parser { int alt14=2; int LA14_0 = input.LA(1); - if ( ((LA14_0>=StringLiteral && LA14_0<=Identifier)||LA14_0==31||(LA14_0>=36 && LA14_0<=39)||LA14_0==41||LA14_0==46||LA14_0==50||LA14_0==52||LA14_0==59||(LA14_0>=69 && LA14_0<=72)||LA14_0==78||(LA14_0>=93 && LA14_0<=108)) ) { + if ( ((LA14_0>=StringLiteral && LA14_0<=Identifier)||LA14_0==31||(LA14_0>=36 && LA14_0<=39)||LA14_0==41||LA14_0==46||LA14_0==50||LA14_0==52||LA14_0==59||(LA14_0>=69 && LA14_0<=72)||(LA14_0>=78 && LA14_0<=79)||(LA14_0>=94 && LA14_0<=108)) ) { alt14=1; } @@ -821,7 +908,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_sequence"); + if(backtracking==0) { + ruleLeft("r_sequence"); + } /** END EDITED */ } return ; @@ -834,7 +923,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_statement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_statement"); + if(backtracking ==0) { + ruleEntered("r_statement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:56:13: ( r_simpleStatement | r_fileStatement | r_foreachStatement | r_ifStatement | r_letStatement | r_protectStatement ) int alt15=6; @@ -852,7 +943,7 @@ public abstract class Xpand3Parser extends Parser { case 71: case 72: case 78: - case 93: + case 79: case 94: case 95: case 96: @@ -975,7 +1066,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_statement"); + if(backtracking==0) { + ruleLeft("r_statement"); + } /** END EDITED */ } return ; @@ -988,7 +1081,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_textSequence() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_textSequence"); + if(backtracking ==0) { + ruleEntered("r_textSequence"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:65:16: ( r_text ( r_text )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:66:2: r_text ( r_text )* @@ -1044,7 +1139,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_textSequence"); + if(backtracking==0) { + ruleLeft("r_textSequence"); + } /** END EDITED */ } return ; @@ -1057,7 +1154,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_text() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_text"); + if(backtracking ==0) { + ruleEntered("r_text"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:69:8: ( ( '-' )? TEXT ) // src/org/eclipse/xpand3/parser/Xpand3.g:70:2: ( '-' )? TEXT @@ -1074,7 +1173,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:70:2: '-' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,36,FOLLOW_36_in_r_text330); if (failed) return ; @@ -1084,7 +1185,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,TEXT,FOLLOW_TEXT_in_r_text333); if (failed) return ; @@ -1097,7 +1200,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_text"); + if(backtracking==0) { + ruleLeft("r_text"); + } /** END EDITED */ } return ; @@ -1110,7 +1215,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_simpleStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_simpleStatement"); + if(backtracking ==0) { + ruleEntered("r_simpleStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:73:19: ( r_errorStatement | r_expandStatement | r_expressionStmt ) int alt18=3; @@ -1136,7 +1243,7 @@ public abstract class Xpand3Parser extends Parser { case 71: case 72: case 78: - case 93: + case 79: case 94: case 95: case 96: @@ -1204,7 +1311,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_simpleStatement"); + if(backtracking==0) { + ruleLeft("r_simpleStatement"); + } /** END EDITED */ } return ; @@ -1217,13 +1326,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_errorStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_errorStatement"); + if(backtracking ==0) { + ruleEntered("r_errorStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:79:18: ( 'ERROR' r_expression ) // src/org/eclipse/xpand3/parser/Xpand3.g:80:3: 'ERROR' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,37,FOLLOW_37_in_r_errorStatement363); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_errorStatement365); @@ -1240,7 +1353,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_errorStatement"); + if(backtracking==0) { + ruleLeft("r_errorStatement"); + } /** END EDITED */ } return ; @@ -1253,13 +1368,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_expandStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_expandStatement"); + if(backtracking ==0) { + ruleEntered("r_expandStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:83:19: ( 'EXPAND' r_simpleType ( '(' r_parameterList ')' )? ( ( 'FOR' r_expression ) | ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) )? ) // src/org/eclipse/xpand3/parser/Xpand3.g:84:3: 'EXPAND' r_simpleType ( '(' r_parameterList ')' )? ( ( 'FOR' r_expression ) | ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) )? { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,38,FOLLOW_38_in_r_expandStatement376); if (failed) return ; pushFollow(FOLLOW_r_simpleType_in_r_expandStatement378); @@ -1278,7 +1397,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:84:26: '(' r_parameterList ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_expandStatement381); if (failed) return ; pushFollow(FOLLOW_r_parameterList_in_r_expandStatement383); @@ -1286,7 +1407,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_expandStatement385); if (failed) return ; @@ -1313,7 +1436,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:84:54: 'FOR' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,35,FOLLOW_35_in_r_expandStatement391); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_expandStatement393); @@ -1333,7 +1458,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:85:6: 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,39,FOLLOW_39_in_r_expandStatement401); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_expandStatement402); @@ -1352,7 +1479,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:85:29: 'SEPARATOR' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,40,FOLLOW_40_in_r_expandStatement405); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_expandStatement407); @@ -1384,7 +1513,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_expandStatement"); + if(backtracking==0) { + ruleLeft("r_expandStatement"); + } /** END EDITED */ } return ; @@ -1397,7 +1528,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_expressionStmt() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_expressionStmt"); + if(backtracking ==0) { + ruleEntered("r_expressionStmt"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:88:19: ( r_expression ) // src/org/eclipse/xpand3/parser/Xpand3.g:89:2: r_expression @@ -1416,7 +1549,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_expressionStmt"); + if(backtracking==0) { + ruleLeft("r_expressionStmt"); + } /** END EDITED */ } return ; @@ -1429,13 +1564,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_fileStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_fileStatement"); + if(backtracking ==0) { + ruleEntered("r_fileStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:92:17: ( 'FILE' r_expression ( r_identifier )? r_sequence 'ENDFILE' ) // src/org/eclipse/xpand3/parser/Xpand3.g:93:2: 'FILE' r_expression ( r_identifier )? r_sequence 'ENDFILE' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,41,FOLLOW_41_in_r_fileStatement433); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_fileStatement435); @@ -1468,7 +1607,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,42,FOLLOW_42_in_r_fileStatement448); if (failed) return ; @@ -1481,7 +1622,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_fileStatement"); + if(backtracking==0) { + ruleLeft("r_fileStatement"); + } /** END EDITED */ } return ; @@ -1494,13 +1637,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_foreachStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_foreachStatement"); + if(backtracking ==0) { + ruleEntered("r_foreachStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:98:20: ( 'FOREACH' r_expression 'AS' r_identifier ( 'ITERATOR' r_identifier )? ( 'SEPARATOR' r_expression )? r_sequence 'ENDFOREACH' ) // src/org/eclipse/xpand3/parser/Xpand3.g:99:3: 'FOREACH' r_expression 'AS' r_identifier ( 'ITERATOR' r_identifier )? ( 'SEPARATOR' r_expression )? r_sequence 'ENDFOREACH' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,39,FOLLOW_39_in_r_foreachStatement460); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_foreachStatement462); @@ -1508,7 +1655,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,43,FOLLOW_43_in_r_foreachStatement464); if (failed) return ; pushFollow(FOLLOW_r_identifier_in_r_foreachStatement466); @@ -1527,7 +1676,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:99:45: 'ITERATOR' r_identifier { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,44,FOLLOW_44_in_r_foreachStatement469); if (failed) return ; pushFollow(FOLLOW_r_identifier_in_r_foreachStatement471); @@ -1552,7 +1703,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:99:72: 'SEPARATOR' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,40,FOLLOW_40_in_r_foreachStatement476); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_foreachStatement478); @@ -1570,7 +1723,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,45,FOLLOW_45_in_r_foreachStatement491); if (failed) return ; @@ -1583,7 +1738,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_foreachStatement"); + if(backtracking==0) { + ruleLeft("r_foreachStatement"); + } /** END EDITED */ } return ; @@ -1596,13 +1753,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_ifStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_ifStatement"); + if(backtracking ==0) { + ruleEntered("r_ifStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:104:15: ( 'IF' r_expression r_sequence ( r_elseIfStatement )* ( r_elseStatement )? 'ENDIF' ) // src/org/eclipse/xpand3/parser/Xpand3.g:105:6: 'IF' r_expression r_sequence ( r_elseIfStatement )* ( r_elseStatement )? 'ENDIF' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,46,FOLLOW_46_in_r_ifStatement506); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_ifStatement508); @@ -1663,7 +1824,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,47,FOLLOW_47_in_r_ifStatement527); if (failed) return ; @@ -1676,7 +1839,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_ifStatement"); + if(backtracking==0) { + ruleLeft("r_ifStatement"); + } /** END EDITED */ } return ; @@ -1689,13 +1854,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_elseIfStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_elseIfStatement"); + if(backtracking ==0) { + ruleEntered("r_elseIfStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:112:19: ( 'ELSEIF' r_expression r_sequence ) // src/org/eclipse/xpand3/parser/Xpand3.g:113:2: 'ELSEIF' r_expression r_sequence { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,48,FOLLOW_48_in_r_elseIfStatement537); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_elseIfStatement539); @@ -1716,7 +1885,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_elseIfStatement"); + if(backtracking==0) { + ruleLeft("r_elseIfStatement"); + } /** END EDITED */ } return ; @@ -1729,13 +1900,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_elseStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_elseStatement"); + if(backtracking ==0) { + ruleEntered("r_elseStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:117:17: ( 'ELSE' r_sequence ) // src/org/eclipse/xpand3/parser/Xpand3.g:118:2: 'ELSE' r_sequence { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,49,FOLLOW_49_in_r_elseStatement555); if (failed) return ; pushFollow(FOLLOW_r_sequence_in_r_elseStatement559); @@ -1752,7 +1927,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_elseStatement"); + if(backtracking==0) { + ruleLeft("r_elseStatement"); + } /** END EDITED */ } return ; @@ -1765,13 +1942,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_letStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_letStatement"); + if(backtracking ==0) { + ruleEntered("r_letStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:122:16: ( 'LET' r_expression 'AS' r_identifier r_sequence 'ENDLET' ) // src/org/eclipse/xpand3/parser/Xpand3.g:123:3: 'LET' r_expression 'AS' r_identifier r_sequence 'ENDLET' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,50,FOLLOW_50_in_r_letStatement571); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_letStatement573); @@ -1779,7 +1960,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,43,FOLLOW_43_in_r_letStatement575); if (failed) return ; pushFollow(FOLLOW_r_identifier_in_r_letStatement577); @@ -1791,7 +1974,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,51,FOLLOW_51_in_r_letStatement588); if (failed) return ; @@ -1804,7 +1989,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_letStatement"); + if(backtracking==0) { + ruleLeft("r_letStatement"); + } /** END EDITED */ } return ; @@ -1817,17 +2004,23 @@ public abstract class Xpand3Parser extends Parser { public final void r_protectStatement() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_protectStatement"); + if(backtracking ==0) { + ruleEntered("r_protectStatement"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:128:20: ( 'PROTECT' 'CSTART' r_expression 'CEND' r_expression 'ID' r_expression ( 'DISABLE' )? r_sequence 'ENDPROTECT' ) // src/org/eclipse/xpand3/parser/Xpand3.g:129:2: 'PROTECT' 'CSTART' r_expression 'CEND' r_expression 'ID' r_expression ( 'DISABLE' )? r_sequence 'ENDPROTECT' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,52,FOLLOW_52_in_r_protectStatement599); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,53,FOLLOW_53_in_r_protectStatement604); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_protectStatement606); @@ -1835,7 +2028,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,54,FOLLOW_54_in_r_protectStatement611); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_protectStatement613); @@ -1843,7 +2038,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,55,FOLLOW_55_in_r_protectStatement626); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_protectStatement628); @@ -1862,7 +2059,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:132:29: 'DISABLE' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,56,FOLLOW_56_in_r_protectStatement630); if (failed) return ; @@ -1876,7 +2075,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,57,FOLLOW_57_in_r_protectStatement640); if (failed) return ; @@ -1889,7 +2090,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_protectStatement"); + if(backtracking==0) { + ruleLeft("r_protectStatement"); + } /** END EDITED */ } return ; @@ -1902,13 +2105,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_check() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_check"); + if(backtracking ==0) { + ruleEntered("r_check"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:139:9: ( 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' ) // src/org/eclipse/xpand3/parser/Xpand3.g:140:2: 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,58,FOLLOW_58_in_r_check652); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_check654); @@ -1927,7 +2134,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:140:20: 'if' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,59,FOLLOW_59_in_r_check657); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_check659); @@ -1942,7 +2151,9 @@ public abstract class Xpand3Parser extends Parser { if ( input.LA(1)==37||input.LA(1)==60 ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -1958,7 +2169,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,61,FOLLOW_61_in_r_check671); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_check675); @@ -1966,7 +2179,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,28,FOLLOW_28_in_r_check677); if (failed) return ; @@ -1979,7 +2194,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_check"); + if(backtracking==0) { + ruleLeft("r_check"); + } /** END EDITED */ } return ; @@ -1992,13 +2209,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_around() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_around"); + if(backtracking ==0) { + ruleEntered("r_around"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:144:11: ( 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' ) // src/org/eclipse/xpand3/parser/Xpand3.g:145:5: 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,62,FOLLOW_62_in_r_around692); if (failed) return ; pushFollow(FOLLOW_r_pointcut_in_r_around694); @@ -2006,7 +2227,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_around696); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:145:29: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? @@ -2050,7 +2273,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:145:55: ',' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,32,FOLLOW_32_in_r_around702); if (failed) return ; @@ -2060,7 +2285,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_around705); if (failed) return ; @@ -2076,7 +2303,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:145:68: '*' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_around711); if (failed) return ; @@ -2086,11 +2315,15 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_around715); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,61,FOLLOW_61_in_r_around717); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_around724); @@ -2098,7 +2331,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,28,FOLLOW_28_in_r_around726); if (failed) return ; @@ -2111,7 +2346,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_around"); + if(backtracking==0) { + ruleLeft("r_around"); + } /** END EDITED */ } return ; @@ -2124,7 +2361,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_pointcut() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_pointcut"); + if(backtracking ==0) { + ruleEntered("r_pointcut"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:149:13: ( ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:150:2: ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* @@ -2151,7 +2390,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:150:4: '*' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_pointcut743); if (failed) return ; @@ -2198,7 +2439,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:152:6: '*' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,33,FOLLOW_33_in_r_pointcut757); if (failed) return ; @@ -2218,7 +2461,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:154:6: '::' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,63,FOLLOW_63_in_r_pointcut773); if (failed) return ; @@ -2240,7 +2485,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_pointcut"); + if(backtracking==0) { + ruleLeft("r_pointcut"); + } /** END EDITED */ } return ; @@ -2253,7 +2500,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_extension() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_extension"); + if(backtracking ==0) { + ruleEntered("r_extension"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:157:14: ( ( 'private' | 'cached' | 'create' )* ( r_type )? r_identifier ( r_identifier )? '(' ( r_declaredParameterList )? ')' ':' ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression ) ';' ) // src/org/eclipse/xpand3/parser/Xpand3.g:158:2: ( 'private' | 'cached' | 'create' )* ( r_type )? r_identifier ( r_identifier )? '(' ( r_declaredParameterList )? ')' ':' ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression ) ';' @@ -2275,7 +2524,9 @@ public abstract class Xpand3Parser extends Parser { { if ( (input.LA(1)>=64 && input.LA(1)<=66) ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -2305,10 +2556,7 @@ public abstract class Xpand3Parser extends Parser { else if ( (LA35_0==Identifier) ) { int LA35_2 = input.LA(2); - if ( (LA35_2==63) ) { - alt35=1; - } - else if ( (LA35_2==Identifier) ) { + if ( (LA35_2==Identifier||LA35_2==63) ) { alt35=1; } } @@ -2352,7 +2600,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_extension804); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:158:72: ( r_declaredParameterList )? @@ -2377,11 +2627,15 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_extension809); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,61,FOLLOW_61_in_r_extension811); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:159:3: ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression ) @@ -2391,7 +2645,7 @@ public abstract class Xpand3Parser extends Parser { if ( (LA40_0==67) ) { alt40=1; } - else if ( ((LA40_0>=StringLiteral && LA40_0<=Identifier)||LA40_0==31||LA40_0==36||LA40_0==59||(LA40_0>=69 && LA40_0<=72)||LA40_0==78||(LA40_0>=93 && LA40_0<=108)) ) { + else if ( ((LA40_0>=StringLiteral && LA40_0<=Identifier)||LA40_0==31||LA40_0==36||LA40_0==59||(LA40_0>=69 && LA40_0<=72)||(LA40_0>=78 && LA40_0<=79)||(LA40_0>=94 && LA40_0<=108)) ) { alt40=2; } else { @@ -2406,7 +2660,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:159:4: 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,67,FOLLOW_67_in_r_extension816); if (failed) return ; pushFollow(FOLLOW_r_javaType_in_r_extension818); @@ -2414,7 +2670,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,68,FOLLOW_68_in_r_extension820); if (failed) return ; pushFollow(FOLLOW_r_identifier_in_r_extension822); @@ -2422,7 +2680,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_extension824); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:159:42: ( r_javaType ( ',' r_javaType )* )? @@ -2456,7 +2716,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:159:55: ',' r_javaType { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,32,FOLLOW_32_in_r_extension829); if (failed) return ; pushFollow(FOLLOW_r_javaType_in_r_extension831); @@ -2479,7 +2741,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_extension838); if (failed) return ; @@ -2499,7 +2763,9 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,28,FOLLOW_28_in_r_extension848); if (failed) return ; @@ -2512,7 +2778,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_extension"); + if(backtracking==0) { + ruleLeft("r_extension"); + } /** END EDITED */ } return ; @@ -2525,7 +2793,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_javaType() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_javaType"); + if(backtracking ==0) { + ruleEntered("r_javaType"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:163:13: ( r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:164:2: r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* @@ -2565,7 +2835,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:165:3: '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,68,FOLLOW_68_in_r_javaType865); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:165:7: ( r_identifier | 'Collection' | 'List' | 'Set' ) @@ -2614,7 +2886,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:165:22: 'Collection' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,69,FOLLOW_69_in_r_javaType871); if (failed) return ; @@ -2624,7 +2898,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:166:2: 'List' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,70,FOLLOW_70_in_r_javaType877); if (failed) return ; @@ -2634,7 +2910,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:166:10: 'Set' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,71,FOLLOW_71_in_r_javaType880); if (failed) return ; @@ -2662,7 +2940,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_javaType"); + if(backtracking==0) { + ruleLeft("r_javaType"); + } /** END EDITED */ } return ; @@ -2675,7 +2955,9 @@ public abstract class Xpand3Parser extends Parser { public final void test_expression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("test_expression"); + if(backtracking ==0) { + ruleEntered("test_expression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:173:16: ( r_expression EOF ) // src/org/eclipse/xpand3/parser/Xpand3.g:174:3: r_expression EOF @@ -2685,7 +2967,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,EOF,FOLLOW_EOF_in_test_expression900); if (failed) return ; @@ -2698,7 +2982,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("test_expression"); + if(backtracking==0) { + ruleLeft("test_expression"); + } /** END EDITED */ } return ; @@ -2711,7 +2997,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_expression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_expression"); + if(backtracking ==0) { + ruleEntered("r_expression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:176:14: ( r_letExpression ) // src/org/eclipse/xpand3/parser/Xpand3.g:177:2: r_letExpression @@ -2730,7 +3018,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_expression"); + if(backtracking==0) { + ruleLeft("r_expression"); + } /** END EDITED */ } return ; @@ -2743,7 +3033,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_letExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_letExpression"); + if(backtracking ==0) { + ruleEntered("r_letExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:180:18: ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression ) int alt43=2; @@ -2752,7 +3044,7 @@ public abstract class Xpand3Parser extends Parser { if ( (LA43_0==72) ) { alt43=1; } - else if ( ((LA43_0>=StringLiteral && LA43_0<=Identifier)||LA43_0==31||LA43_0==36||LA43_0==59||(LA43_0>=69 && LA43_0<=71)||LA43_0==78||(LA43_0>=93 && LA43_0<=108)) ) { + else if ( ((LA43_0>=StringLiteral && LA43_0<=Identifier)||LA43_0==31||LA43_0==36||LA43_0==59||(LA43_0>=69 && LA43_0<=71)||(LA43_0>=78 && LA43_0<=79)||(LA43_0>=94 && LA43_0<=108)) ) { alt43=2; } else { @@ -2767,7 +3059,9 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:181:4: 'let' r_identifier '=' r_castedExpression ':' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,72,FOLLOW_72_in_r_letExpression922); if (failed) return ; pushFollow(FOLLOW_r_identifier_in_r_letExpression924); @@ -2775,7 +3069,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,73,FOLLOW_73_in_r_letExpression926); if (failed) return ; pushFollow(FOLLOW_r_castedExpression_in_r_letExpression928); @@ -2783,7 +3079,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,61,FOLLOW_61_in_r_letExpression930); if (failed) return ; pushFollow(FOLLOW_r_expression_in_r_letExpression932); @@ -2812,7 +3110,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_letExpression"); + if(backtracking==0) { + ruleLeft("r_letExpression"); + } /** END EDITED */ } return ; @@ -2821,21 +3121,25 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_castedExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:185:1: r_castedExpression : ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:185:1: r_castedExpression : ( ( '(' r_type ')' r_chainExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ); public final void r_castedExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_castedExpression"); + if(backtracking ==0) { + ruleEntered("r_castedExpression"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:185:20: ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:185:20: ( ( '(' r_type ')' r_chainExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ) int alt44=2; alt44 = dfa44.predict(input); switch (alt44) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:186:5: ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:186:5: ( '(' r_type ')' r_chainExpression )=> '(' r_type ')' r_chainExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_r_castedExpression964); if (failed) return ; pushFollow(FOLLOW_r_type_in_r_castedExpression966); @@ -2843,7 +3147,9 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_r_castedExpression968); if (failed) return ; pushFollow(FOLLOW_r_chainExpression_in_r_castedExpression970); @@ -2872,7 +3178,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_castedExpression"); + if(backtracking==0) { + ruleLeft("r_castedExpression"); + } /** END EDITED */ } return ; @@ -2885,12 +3193,17 @@ public abstract class Xpand3Parser extends Parser { public final void r_chainExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_chainExpression"); + if(backtracking ==0) { + ruleEntered("r_chainExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:191:20: ( r_ifExpression ( '->' r_ifExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:192:2: r_ifExpression ( '->' r_ifExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:191:22: r_ifExpression ( '->' r_ifExpression )* { - pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression988); + if ( backtracking==0 ) { + /*HUHU*/ + } + pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression990); r_ifExpression(); _fsp--; if (failed) return ; @@ -2910,10 +3223,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:192:20: '->' r_ifExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,74,FOLLOW_74_in_r_chainExpression993); if (failed) return ; - pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression995); + match(input,74,FOLLOW_74_in_r_chainExpression995); if (failed) return ; + pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression997); r_ifExpression(); _fsp--; if (failed) return ; @@ -2936,7 +3251,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_chainExpression"); + if(backtracking==0) { + ruleLeft("r_chainExpression"); + } /** END EDITED */ } return ; @@ -2949,13 +3266,15 @@ public abstract class Xpand3Parser extends Parser { public final void r_ifExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_ifExpression"); + if(backtracking ==0) { + ruleEntered("r_ifExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:195:17: ( r_switchExpression ( '?' r_expression ':' r_switchExpression )? | 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? ) int alt48=2; int LA48_0 = input.LA(1); - if ( ((LA48_0>=StringLiteral && LA48_0<=Identifier)||LA48_0==31||LA48_0==36||(LA48_0>=69 && LA48_0<=71)||LA48_0==78||(LA48_0>=93 && LA48_0<=108)) ) { + if ( ((LA48_0>=StringLiteral && LA48_0<=Identifier)||LA48_0==31||LA48_0==36||(LA48_0>=69 && LA48_0<=71)||(LA48_0>=78 && LA48_0<=79)||(LA48_0>=94 && LA48_0<=108)) ) { alt48=1; } else if ( (LA48_0==59) ) { @@ -2972,7 +3291,7 @@ public abstract class Xpand3Parser extends Parser { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g:196:2: r_switchExpression ( '?' r_expression ':' r_switchExpression )? { - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1009); + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1011); r_switchExpression(); _fsp--; if (failed) return ; @@ -2988,18 +3307,22 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:196:22: '?' r_expression ':' r_switchExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,75,FOLLOW_75_in_r_ifExpression1012); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_ifExpression1014); + match(input,75,FOLLOW_75_in_r_ifExpression1014); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_ifExpression1016); r_expression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,61,FOLLOW_61_in_r_ifExpression1016); if (failed) return ; - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1018); + match(input,61,FOLLOW_61_in_r_ifExpression1018); if (failed) return ; + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1020); r_switchExpression(); _fsp--; if (failed) return ; @@ -3016,18 +3339,22 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:197:3: 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,59,FOLLOW_59_in_r_ifExpression1025); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_ifExpression1027); + match(input,59,FOLLOW_59_in_r_ifExpression1027); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_ifExpression1029); r_expression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,76,FOLLOW_76_in_r_ifExpression1029); if (failed) return ; - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1031); + match(input,76,FOLLOW_76_in_r_ifExpression1031); if (failed) return ; + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1033); r_switchExpression(); _fsp--; if (failed) return ; @@ -3043,10 +3370,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:197:48: 'else' r_switchExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,77,FOLLOW_77_in_r_ifExpression1034); if (failed) return ; - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1036); + match(input,77,FOLLOW_77_in_r_ifExpression1036); if (failed) return ; + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1038); r_switchExpression(); _fsp--; if (failed) return ; @@ -3068,7 +3397,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_ifExpression"); + if(backtracking==0) { + ruleLeft("r_ifExpression"); + } /** END EDITED */ } return ; @@ -3077,37 +3408,41 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_switchExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:200:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:200:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? '{' ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ); public final void r_switchExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_switchExpression"); + if(backtracking ==0) { + ruleEntered("r_switchExpression"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:200:21: ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:200:21: ( 'switch' ( '(' r_orExpression ')' )? '{' ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ) int alt51=2; int LA51_0 = input.LA(1); if ( (LA51_0==78) ) { alt51=1; } - else if ( ((LA51_0>=StringLiteral && LA51_0<=Identifier)||LA51_0==31||LA51_0==36||(LA51_0>=69 && LA51_0<=71)||(LA51_0>=93 && LA51_0<=108)) ) { + else if ( ((LA51_0>=StringLiteral && LA51_0<=Identifier)||LA51_0==31||LA51_0==36||(LA51_0>=69 && LA51_0<=71)||LA51_0==79||(LA51_0>=94 && LA51_0<=108)) ) { alt51=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("200:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression );", 51, 0, input); + new NoViableAltException("200:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? '{' ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression );", 51, 0, input); throw nvae; } switch (alt51) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:201:4: 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' + // src/org/eclipse/xpand3/parser/Xpand3.g:201:4: 'switch' ( '(' r_orExpression ')' )? '{' ( r_casePart )* 'default' ':' r_orExpression '}' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,78,FOLLOW_78_in_r_switchExpression1052); if (failed) return ; + match(input,78,FOLLOW_78_in_r_switchExpression1054); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:201:13: ( '(' r_orExpression ')' )? int alt49=2; int LA49_0 = input.LA(1); @@ -3120,30 +3455,40 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:201:14: '(' r_orExpression ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,31,FOLLOW_31_in_r_switchExpression1055); if (failed) return ; - pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1057); + match(input,31,FOLLOW_31_in_r_switchExpression1057); if (failed) return ; + pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1059); r_orExpression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,34,FOLLOW_34_in_r_switchExpression1059); if (failed) return ; + match(input,34,FOLLOW_34_in_r_switchExpression1061); if (failed) return ; } break; } + /** START EDITED */ + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } + /** END EDITED */ + match(input,79,FOLLOW_79_in_r_switchExpression1065); if (failed) return ; // src/org/eclipse/xpand3/parser/Xpand3.g:202:2: ( r_casePart )* loop50: do { int alt50=2; int LA50_0 = input.LA(1); - if ( (LA50_0==81) ) { + if ( (LA50_0==82) ) { alt50=1; } @@ -3152,7 +3497,7 @@ public abstract class Xpand3Parser extends Parser { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g:202:2: r_casePart { - pushFollow(FOLLOW_r_casePart_in_r_switchExpression1064); + pushFollow(FOLLOW_r_casePart_in_r_switchExpression1068); r_casePart(); _fsp--; if (failed) return ; @@ -3166,28 +3511,34 @@ public abstract class Xpand3Parser extends Parser { } while (true); /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,79,FOLLOW_79_in_r_switchExpression1070); if (failed) return ; + match(input,80,FOLLOW_80_in_r_switchExpression1074); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,61,FOLLOW_61_in_r_switchExpression1072); if (failed) return ; - pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1074); + match(input,61,FOLLOW_61_in_r_switchExpression1076); if (failed) return ; + pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1078); r_orExpression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,80,FOLLOW_80_in_r_switchExpression1079); if (failed) return ; + match(input,81,FOLLOW_81_in_r_switchExpression1083); if (failed) return ; } break; case 2 : // src/org/eclipse/xpand3/parser/Xpand3.g:205:4: r_orExpression { - pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1084); + pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1088); r_orExpression(); _fsp--; if (failed) return ; @@ -3203,7 +3554,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_switchExpression"); + if(backtracking==0) { + ruleLeft("r_switchExpression"); + } /** END EDITED */ } return ; @@ -3216,24 +3569,30 @@ public abstract class Xpand3Parser extends Parser { public final void r_casePart() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_casePart"); + if(backtracking ==0) { + ruleEntered("r_casePart"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:208:12: ( 'case' r_expression ':' r_expression ) // src/org/eclipse/xpand3/parser/Xpand3.g:209:2: 'case' r_expression ':' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,81,FOLLOW_81_in_r_casePart1095); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_casePart1097); + match(input,82,FOLLOW_82_in_r_casePart1099); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_casePart1101); r_expression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,61,FOLLOW_61_in_r_casePart1099); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_casePart1101); + match(input,61,FOLLOW_61_in_r_casePart1103); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_casePart1105); r_expression(); _fsp--; if (failed) return ; @@ -3247,7 +3606,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_casePart"); + if(backtracking==0) { + ruleLeft("r_casePart"); + } /** END EDITED */ } return ; @@ -3260,12 +3621,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_orExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_orExpression"); + if(backtracking ==0) { + ruleEntered("r_orExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:211:16: ( r_andExpression ( '||' r_andExpression )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:212:4: r_andExpression ( '||' r_andExpression )* { - pushFollow(FOLLOW_r_andExpression_in_r_orExpression1113); + pushFollow(FOLLOW_r_andExpression_in_r_orExpression1117); r_andExpression(); _fsp--; if (failed) return ; @@ -3275,7 +3638,7 @@ public abstract class Xpand3Parser extends Parser { int alt52=2; int LA52_0 = input.LA(1); - if ( (LA52_0==82) ) { + if ( (LA52_0==83) ) { alt52=1; } @@ -3285,10 +3648,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:212:22: '||' r_andExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,82,FOLLOW_82_in_r_orExpression1117); if (failed) return ; - pushFollow(FOLLOW_r_andExpression_in_r_orExpression1119); + match(input,83,FOLLOW_83_in_r_orExpression1121); if (failed) return ; + pushFollow(FOLLOW_r_andExpression_in_r_orExpression1123); r_andExpression(); _fsp--; if (failed) return ; @@ -3311,7 +3676,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_orExpression"); + if(backtracking==0) { + ruleLeft("r_orExpression"); + } /** END EDITED */ } return ; @@ -3324,12 +3691,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_andExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_andExpression"); + if(backtracking ==0) { + ruleEntered("r_andExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:215:18: ( r_impliesExpression ( '&&' r_impliesExpression )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:216:2: r_impliesExpression ( '&&' r_impliesExpression )* { - pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression1134); + pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression1138); r_impliesExpression(); _fsp--; if (failed) return ; @@ -3339,7 +3708,7 @@ public abstract class Xpand3Parser extends Parser { int alt53=2; int LA53_0 = input.LA(1); - if ( (LA53_0==83) ) { + if ( (LA53_0==84) ) { alt53=1; } @@ -3349,10 +3718,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:216:24: '&&' r_impliesExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,83,FOLLOW_83_in_r_andExpression1138); if (failed) return ; - pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression1140); + match(input,84,FOLLOW_84_in_r_andExpression1142); if (failed) return ; + pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression1144); r_impliesExpression(); _fsp--; if (failed) return ; @@ -3375,7 +3746,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_andExpression"); + if(backtracking==0) { + ruleLeft("r_andExpression"); + } /** END EDITED */ } return ; @@ -3388,12 +3761,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_impliesExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_impliesExpression"); + if(backtracking ==0) { + ruleEntered("r_impliesExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:219:21: ( r_relationalExpression ( 'implies' r_relationalExpression )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:220:2: r_relationalExpression ( 'implies' r_relationalExpression )* { - pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression1155); + pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression1159); r_relationalExpression(); _fsp--; if (failed) return ; @@ -3403,7 +3778,7 @@ public abstract class Xpand3Parser extends Parser { int alt54=2; int LA54_0 = input.LA(1); - if ( (LA54_0==84) ) { + if ( (LA54_0==85) ) { alt54=1; } @@ -3413,10 +3788,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:220:27: 'implies' r_relationalExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,84,FOLLOW_84_in_r_impliesExpression1159); if (failed) return ; - pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression1161); + match(input,85,FOLLOW_85_in_r_impliesExpression1163); if (failed) return ; + pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression1165); r_relationalExpression(); _fsp--; if (failed) return ; @@ -3439,7 +3816,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_impliesExpression"); + if(backtracking==0) { + ruleLeft("r_impliesExpression"); + } /** END EDITED */ } return ; @@ -3452,12 +3831,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_relationalExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_relationalExpression"); + if(backtracking ==0) { + ruleEntered("r_relationalExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:223:24: ( r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:224:2: r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* { - pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression1177); + pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression1181); r_additiveExpression(); _fsp--; if (failed) return ; @@ -3467,7 +3848,7 @@ public abstract class Xpand3Parser extends Parser { int alt55=2; int LA55_0 = input.LA(1); - if ( ((LA55_0>=85 && LA55_0<=90)) ) { + if ( ((LA55_0>=86 && LA55_0<=91)) ) { alt55=1; } @@ -3476,9 +3857,11 @@ public abstract class Xpand3Parser extends Parser { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g:225:3: ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression { - if ( (input.LA(1)>=85 && input.LA(1)<=90) ) { + if ( (input.LA(1)>=86 && input.LA(1)<=91) ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -3486,10 +3869,10 @@ public abstract class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_relationalExpression1182); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_relationalExpression1186); throw mse; } - pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression1206); + pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression1210); r_additiveExpression(); _fsp--; if (failed) return ; @@ -3512,7 +3895,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_relationalExpression"); + if(backtracking==0) { + ruleLeft("r_relationalExpression"); + } /** END EDITED */ } return ; @@ -3525,12 +3910,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_additiveExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_additiveExpression"); + if(backtracking ==0) { + ruleEntered("r_additiveExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:228:22: ( r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:229:2: r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* { - pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1219); + pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1223); r_multiplicativeExpression(); _fsp--; if (failed) return ; @@ -3543,13 +3930,13 @@ public abstract class Xpand3Parser extends Parser { if ( (LA56_0==36) ) { int LA56_2 = input.LA(2); - if ( ((LA56_2>=StringLiteral && LA56_2<=Identifier)||LA56_2==31||LA56_2==36||(LA56_2>=69 && LA56_2<=71)||(LA56_2>=93 && LA56_2<=108)) ) { + if ( ((LA56_2>=StringLiteral && LA56_2<=Identifier)||LA56_2==31||LA56_2==36||(LA56_2>=69 && LA56_2<=71)||LA56_2==79||(LA56_2>=94 && LA56_2<=108)) ) { alt56=1; } } - else if ( (LA56_0==91) ) { + else if ( (LA56_0==92) ) { alt56=1; } @@ -3558,9 +3945,11 @@ public abstract class Xpand3Parser extends Parser { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g:230:5: ( '+' | '-' ) r_multiplicativeExpression { - if ( input.LA(1)==36||input.LA(1)==91 ) { + if ( input.LA(1)==36||input.LA(1)==92 ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -3568,10 +3957,10 @@ public abstract class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_additiveExpression1226); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_additiveExpression1230); throw mse; } - pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1233); + pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1237); r_multiplicativeExpression(); _fsp--; if (failed) return ; @@ -3594,7 +3983,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_additiveExpression"); + if(backtracking==0) { + ruleLeft("r_additiveExpression"); + } /** END EDITED */ } return ; @@ -3607,12 +3998,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_multiplicativeExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_multiplicativeExpression"); + if(backtracking ==0) { + ruleEntered("r_multiplicativeExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:233:28: ( r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:234:2: r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* { - pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1246); + pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1250); r_unaryExpression(); _fsp--; if (failed) return ; @@ -3622,7 +4015,7 @@ public abstract class Xpand3Parser extends Parser { int alt57=2; int LA57_0 = input.LA(1); - if ( (LA57_0==33||LA57_0==92) ) { + if ( (LA57_0==33||LA57_0==93) ) { alt57=1; } @@ -3631,9 +4024,11 @@ public abstract class Xpand3Parser extends Parser { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g:235:3: ( '*' | '/' ) r_unaryExpression { - if ( input.LA(1)==33||input.LA(1)==92 ) { + if ( input.LA(1)==33||input.LA(1)==93 ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -3641,10 +4036,10 @@ public abstract class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_multiplicativeExpression1251); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_multiplicativeExpression1255); throw mse; } - pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1259); + pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1263); r_unaryExpression(); _fsp--; if (failed) return ; @@ -3667,7 +4062,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_multiplicativeExpression"); + if(backtracking==0) { + ruleLeft("r_multiplicativeExpression"); + } /** END EDITED */ } return ; @@ -3680,7 +4077,9 @@ public abstract class Xpand3Parser extends Parser { public final void r_unaryExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_unaryExpression"); + if(backtracking ==0) { + ruleEntered("r_unaryExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:239:19: ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression ) int alt58=3; @@ -3692,7 +4091,7 @@ public abstract class Xpand3Parser extends Parser { case 69: case 70: case 71: - case 94: + case 79: case 95: case 96: case 97: @@ -3711,7 +4110,7 @@ public abstract class Xpand3Parser extends Parser { alt58=1; } break; - case 93: + case 94: { alt58=2; } @@ -3733,7 +4132,7 @@ public abstract class Xpand3Parser extends Parser { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g:240:2: r_infixExpression { - pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1273); + pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1277); r_infixExpression(); _fsp--; if (failed) return ; @@ -3744,10 +4143,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:241:3: '!' r_infixExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,93,FOLLOW_93_in_r_unaryExpression1278); if (failed) return ; - pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1280); + match(input,94,FOLLOW_94_in_r_unaryExpression1282); if (failed) return ; + pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1284); r_infixExpression(); _fsp--; if (failed) return ; @@ -3758,10 +4159,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:242:3: '-' r_infixExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,36,FOLLOW_36_in_r_unaryExpression1285); if (failed) return ; - pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1287); + match(input,36,FOLLOW_36_in_r_unaryExpression1289); if (failed) return ; + pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1291); r_infixExpression(); _fsp--; if (failed) return ; @@ -3777,7 +4180,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_unaryExpression"); + if(backtracking==0) { + ruleLeft("r_unaryExpression"); + } /** END EDITED */ } return ; @@ -3790,12 +4195,14 @@ public abstract class Xpand3Parser extends Parser { public final void r_infixExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_infixExpression"); + if(backtracking ==0) { + ruleEntered("r_infixExpression"); + } /** END EDITED */ // src/org/eclipse/xpand3/parser/Xpand3.g:245:19: ( r_primaryExpression ( '.' r_featureCall )* ) // src/org/eclipse/xpand3/parser/Xpand3.g:246:2: r_primaryExpression ( '.' r_featureCall )* { - pushFollow(FOLLOW_r_primaryExpression_in_r_infixExpression1298); + pushFollow(FOLLOW_r_primaryExpression_in_r_infixExpression1302); r_primaryExpression(); _fsp--; if (failed) return ; @@ -3815,10 +4222,12 @@ public abstract class Xpand3Parser extends Parser { // src/org/eclipse/xpand3/parser/Xpand3.g:246:25: '.' r_featureCall { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,68,FOLLOW_68_in_r_infixExpression1303); if (failed) return ; - pushFollow(FOLLOW_r_featureCall_in_r_infixExpression1305); + match(input,68,FOLLOW_68_in_r_infixExpression1307); if (failed) return ; + pushFollow(FOLLOW_r_featureCall_in_r_infixExpression1309); r_featureCall(); _fsp--; if (failed) return ; @@ -3841,7 +4250,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_infixExpression"); + if(backtracking==0) { + ruleLeft("r_infixExpression"); + } /** END EDITED */ } return ; @@ -3850,13 +4261,15 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_primaryExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:249:1: r_primaryExpression : ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:249:1: r_primaryExpression : ( r_stringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression ); public final void r_primaryExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_primaryExpression"); + if(backtracking ==0) { + ruleEntered("r_primaryExpression"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:249:23: ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:249:23: ( r_stringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression ) int alt60=9; switch ( input.LA(1) ) { case StringLiteral: @@ -3897,7 +4310,7 @@ public abstract class Xpand3Parser extends Parser { alt60=5; } break; - case 95: + case 79: { alt60=6; } @@ -3907,7 +4320,7 @@ public abstract class Xpand3Parser extends Parser { alt60=7; } break; - case 94: + case 95: { alt60=8; } @@ -3920,26 +4333,26 @@ public abstract class Xpand3Parser extends Parser { default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("249:1: r_primaryExpression : ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression );", 60, 0, input); + new NoViableAltException("249:1: r_primaryExpression : ( r_stringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression );", 60, 0, input); throw nvae; } switch (alt60) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:250:4: StringLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:250:5: r_stringLiteral { - /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); - /** END EDITED */ - match(input,StringLiteral,FOLLOW_StringLiteral_in_r_primaryExpression1323); if (failed) return ; + pushFollow(FOLLOW_r_stringLiteral_in_r_primaryExpression1328); + r_stringLiteral(); + _fsp--; + if (failed) return ; } break; case 2 : // src/org/eclipse/xpand3/parser/Xpand3.g:251:5: r_featureCall { - pushFollow(FOLLOW_r_featureCall_in_r_primaryExpression1331); + pushFollow(FOLLOW_r_featureCall_in_r_primaryExpression1336); r_featureCall(); _fsp--; if (failed) return ; @@ -3949,7 +4362,7 @@ public abstract class Xpand3Parser extends Parser { case 3 : // src/org/eclipse/xpand3/parser/Xpand3.g:252:5: r_booleanLiteral { - pushFollow(FOLLOW_r_booleanLiteral_in_r_primaryExpression1338); + pushFollow(FOLLOW_r_booleanLiteral_in_r_primaryExpression1343); r_booleanLiteral(); _fsp--; if (failed) return ; @@ -3959,7 +4372,7 @@ public abstract class Xpand3Parser extends Parser { case 4 : // src/org/eclipse/xpand3/parser/Xpand3.g:253:5: r_numberLiteral { - pushFollow(FOLLOW_r_numberLiteral_in_r_primaryExpression1345); + pushFollow(FOLLOW_r_numberLiteral_in_r_primaryExpression1350); r_numberLiteral(); _fsp--; if (failed) return ; @@ -3969,7 +4382,7 @@ public abstract class Xpand3Parser extends Parser { case 5 : // src/org/eclipse/xpand3/parser/Xpand3.g:254:5: r_nullLiteral { - pushFollow(FOLLOW_r_nullLiteral_in_r_primaryExpression1352); + pushFollow(FOLLOW_r_nullLiteral_in_r_primaryExpression1357); r_nullLiteral(); _fsp--; if (failed) return ; @@ -3979,7 +4392,7 @@ public abstract class Xpand3Parser extends Parser { case 6 : // src/org/eclipse/xpand3/parser/Xpand3.g:255:5: r_listLiteral { - pushFollow(FOLLOW_r_listLiteral_in_r_primaryExpression1359); + pushFollow(FOLLOW_r_listLiteral_in_r_primaryExpression1364); r_listLiteral(); _fsp--; if (failed) return ; @@ -3989,7 +4402,7 @@ public abstract class Xpand3Parser extends Parser { case 7 : // src/org/eclipse/xpand3/parser/Xpand3.g:256:5: r_constructorCall { - pushFollow(FOLLOW_r_constructorCall_in_r_primaryExpression1366); + pushFollow(FOLLOW_r_constructorCall_in_r_primaryExpression1371); r_constructorCall(); _fsp--; if (failed) return ; @@ -3999,7 +4412,7 @@ public abstract class Xpand3Parser extends Parser { case 8 : // src/org/eclipse/xpand3/parser/Xpand3.g:257:5: r_globalVarExpression { - pushFollow(FOLLOW_r_globalVarExpression_in_r_primaryExpression1373); + pushFollow(FOLLOW_r_globalVarExpression_in_r_primaryExpression1378); r_globalVarExpression(); _fsp--; if (failed) return ; @@ -4009,7 +4422,7 @@ public abstract class Xpand3Parser extends Parser { case 9 : // src/org/eclipse/xpand3/parser/Xpand3.g:258:5: r_paranthesizedExpression { - pushFollow(FOLLOW_r_paranthesizedExpression_in_r_primaryExpression1380); + pushFollow(FOLLOW_r_paranthesizedExpression_in_r_primaryExpression1385); r_paranthesizedExpression(); _fsp--; if (failed) return ; @@ -4025,7 +4438,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_primaryExpression"); + if(backtracking==0) { + ruleLeft("r_primaryExpression"); + } /** END EDITED */ } return ; @@ -4033,28 +4448,72 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR end r_primaryExpression + // $ANTLR start r_stringLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:261:1: r_stringLiteral : StringLiteral ; + public final void r_stringLiteral() throws RecognitionException { + try { + /** START EDITED */ + if(backtracking ==0) { + ruleEntered("r_stringLiteral"); + } + /** END EDITED */ + // src/org/eclipse/xpand3/parser/Xpand3.g:261:17: ( StringLiteral ) + // src/org/eclipse/xpand3/parser/Xpand3.g:262:4: StringLiteral + { + /** START EDITED */ + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } + /** END EDITED */ + match(input,StringLiteral,FOLLOW_StringLiteral_in_r_stringLiteral1398); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + /** START EDITED */ + if(backtracking==0) { + ruleLeft("r_stringLiteral"); + } + /** END EDITED */ + } + return ; + } + // $ANTLR end r_stringLiteral + + // $ANTLR start r_paranthesizedExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:261:1: r_paranthesizedExpression : '(' r_expression ')' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:265:1: r_paranthesizedExpression : '(' r_expression ')' ; public final void r_paranthesizedExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_paranthesizedExpression"); + if(backtracking ==0) { + ruleEntered("r_paranthesizedExpression"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:261:27: ( '(' r_expression ')' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:262:5: '(' r_expression ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:265:27: ( '(' r_expression ')' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:266:5: '(' r_expression ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,31,FOLLOW_31_in_r_paranthesizedExpression1394); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_paranthesizedExpression1396); + match(input,31,FOLLOW_31_in_r_paranthesizedExpression1411); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_paranthesizedExpression1413); r_expression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,34,FOLLOW_34_in_r_paranthesizedExpression1398); if (failed) return ; + match(input,34,FOLLOW_34_in_r_paranthesizedExpression1415); if (failed) return ; } @@ -4065,7 +4524,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_paranthesizedExpression"); + if(backtracking==0) { + ruleLeft("r_paranthesizedExpression"); + } /** END EDITED */ } return ; @@ -4074,20 +4535,24 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_globalVarExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:265:1: r_globalVarExpression : 'GLOBALVAR' r_identifier ; + // src/org/eclipse/xpand3/parser/Xpand3.g:269:1: r_globalVarExpression : 'GLOBALVAR' r_identifier ; public final void r_globalVarExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_globalVarExpression"); + if(backtracking ==0) { + ruleEntered("r_globalVarExpression"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:265:24: ( 'GLOBALVAR' r_identifier ) - // src/org/eclipse/xpand3/parser/Xpand3.g:266:5: 'GLOBALVAR' r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:269:24: ( 'GLOBALVAR' r_identifier ) + // src/org/eclipse/xpand3/parser/Xpand3.g:270:5: 'GLOBALVAR' r_identifier { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,94,FOLLOW_94_in_r_globalVarExpression1413); if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_globalVarExpression1415); + match(input,95,FOLLOW_95_in_r_globalVarExpression1430); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_globalVarExpression1432); r_identifier(); _fsp--; if (failed) return ; @@ -4101,7 +4566,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_globalVarExpression"); + if(backtracking==0) { + ruleLeft("r_globalVarExpression"); + } /** END EDITED */ } return ; @@ -4110,29 +4577,31 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_featureCall - // src/org/eclipse/xpand3/parser/Xpand3.g:268:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:272:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ); public final void r_featureCall() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_featureCall"); + if(backtracking ==0) { + ruleEntered("r_featureCall"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:268:16: ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:272:16: ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ) int alt62=3; switch ( input.LA(1) ) { case Identifier: { int LA62_1 = input.LA(2); - if ( (LA62_1==31) ) { - alt62=1; - } - else if ( (LA62_1==EOF||LA62_1==TEXT||LA62_1==Identifier||LA62_1==28||(LA62_1>=32 && LA62_1<=34)||(LA62_1>=36 && LA62_1<=37)||LA62_1==40||LA62_1==43||(LA62_1>=54 && LA62_1<=56)||(LA62_1>=60 && LA62_1<=61)||LA62_1==63||LA62_1==68||(LA62_1>=74 && LA62_1<=77)||(LA62_1>=79 && LA62_1<=92)) ) { + if ( (LA62_1==EOF||LA62_1==TEXT||LA62_1==Identifier||LA62_1==28||(LA62_1>=32 && LA62_1<=34)||(LA62_1>=36 && LA62_1<=37)||LA62_1==40||LA62_1==43||(LA62_1>=54 && LA62_1<=56)||(LA62_1>=60 && LA62_1<=61)||LA62_1==63||LA62_1==68||(LA62_1>=74 && LA62_1<=77)||(LA62_1>=80 && LA62_1<=93)) ) { alt62=2; } + else if ( (LA62_1==31) ) { + alt62=1; + } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("268:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 62, 1, input); + new NoViableAltException("272:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 62, 1, input); throw nvae; } @@ -4161,35 +4630,37 @@ public abstract class Xpand3Parser extends Parser { default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("268:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 62, 0, input); + new NoViableAltException("272:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 62, 0, input); throw nvae; } switch (alt62) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:269:5: r_identifier '(' ( r_parameterList )? ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:273:5: r_identifier '(' ( r_parameterList )? ')' { - pushFollow(FOLLOW_r_identifier_in_r_featureCall1429); + pushFollow(FOLLOW_r_identifier_in_r_featureCall1446); r_identifier(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,31,FOLLOW_31_in_r_featureCall1431); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:269:22: ( r_parameterList )? + match(input,31,FOLLOW_31_in_r_featureCall1448); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:273:22: ( r_parameterList )? int alt61=2; int LA61_0 = input.LA(1); - if ( ((LA61_0>=StringLiteral && LA61_0<=Identifier)||LA61_0==31||LA61_0==36||LA61_0==59||(LA61_0>=69 && LA61_0<=72)||LA61_0==78||(LA61_0>=93 && LA61_0<=108)) ) { + if ( ((LA61_0>=StringLiteral && LA61_0<=Identifier)||LA61_0==31||LA61_0==36||LA61_0==59||(LA61_0>=69 && LA61_0<=72)||(LA61_0>=78 && LA61_0<=79)||(LA61_0>=94 && LA61_0<=108)) ) { alt61=1; } switch (alt61) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:269:23: r_parameterList + // src/org/eclipse/xpand3/parser/Xpand3.g:273:23: r_parameterList { - pushFollow(FOLLOW_r_parameterList_in_r_featureCall1434); + pushFollow(FOLLOW_r_parameterList_in_r_featureCall1451); r_parameterList(); _fsp--; if (failed) return ; @@ -4200,16 +4671,18 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,34,FOLLOW_34_in_r_featureCall1438); if (failed) return ; + match(input,34,FOLLOW_34_in_r_featureCall1455); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:270:5: r_type + // src/org/eclipse/xpand3/parser/Xpand3.g:274:5: r_type { - pushFollow(FOLLOW_r_type_in_r_featureCall1445); + pushFollow(FOLLOW_r_type_in_r_featureCall1462); r_type(); _fsp--; if (failed) return ; @@ -4217,9 +4690,9 @@ public abstract class Xpand3Parser extends Parser { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:271:5: r_collectionExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:275:5: r_collectionExpression { - pushFollow(FOLLOW_r_collectionExpression_in_r_featureCall1453); + pushFollow(FOLLOW_r_collectionExpression_in_r_featureCall1470); r_collectionExpression(); _fsp--; if (failed) return ; @@ -4235,7 +4708,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_featureCall"); + if(backtracking==0) { + ruleLeft("r_featureCall"); + } /** END EDITED */ } return ; @@ -4244,35 +4719,39 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_listLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:274:1: r_listLiteral : '{' ( r_expression ( ',' r_expression )* )? '}' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:278:1: r_listLiteral : '{' ( r_expression ( ',' r_expression )* )? '}' ; public final void r_listLiteral() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_listLiteral"); + if(backtracking ==0) { + ruleEntered("r_listLiteral"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:274:16: ( '{' ( r_expression ( ',' r_expression )* )? '}' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:275:2: '{' ( r_expression ( ',' r_expression )* )? '}' + // src/org/eclipse/xpand3/parser/Xpand3.g:278:16: ( '{' ( r_expression ( ',' r_expression )* )? '}' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:279:2: '{' ( r_expression ( ',' r_expression )* )? '}' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,95,FOLLOW_95_in_r_listLiteral1465); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:275:5: ( r_expression ( ',' r_expression )* )? + match(input,79,FOLLOW_79_in_r_listLiteral1482); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:279:5: ( r_expression ( ',' r_expression )* )? int alt64=2; int LA64_0 = input.LA(1); - if ( ((LA64_0>=StringLiteral && LA64_0<=Identifier)||LA64_0==31||LA64_0==36||LA64_0==59||(LA64_0>=69 && LA64_0<=72)||LA64_0==78||(LA64_0>=93 && LA64_0<=108)) ) { + if ( ((LA64_0>=StringLiteral && LA64_0<=Identifier)||LA64_0==31||LA64_0==36||LA64_0==59||(LA64_0>=69 && LA64_0<=72)||(LA64_0>=78 && LA64_0<=79)||(LA64_0>=94 && LA64_0<=108)) ) { alt64=1; } switch (alt64) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:275:6: r_expression ( ',' r_expression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:279:6: r_expression ( ',' r_expression )* { - pushFollow(FOLLOW_r_expression_in_r_listLiteral1467); + pushFollow(FOLLOW_r_expression_in_r_listLiteral1484); r_expression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:275:19: ( ',' r_expression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:279:19: ( ',' r_expression )* loop63: do { int alt63=2; @@ -4285,13 +4764,15 @@ public abstract class Xpand3Parser extends Parser { switch (alt63) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:275:20: ',' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:279:20: ',' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,32,FOLLOW_32_in_r_listLiteral1470); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_listLiteral1472); + match(input,32,FOLLOW_32_in_r_listLiteral1487); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_listLiteral1489); r_expression(); _fsp--; if (failed) return ; @@ -4311,9 +4792,11 @@ public abstract class Xpand3Parser extends Parser { } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,80,FOLLOW_80_in_r_listLiteral1477); if (failed) return ; + match(input,81,FOLLOW_81_in_r_listLiteral1494); if (failed) return ; } @@ -4324,7 +4807,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_listLiteral"); + if(backtracking==0) { + ruleLeft("r_listLiteral"); + } /** END EDITED */ } return ; @@ -4333,20 +4818,24 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_constructorCall - // src/org/eclipse/xpand3/parser/Xpand3.g:278:1: r_constructorCall : 'new' r_simpleType ; + // src/org/eclipse/xpand3/parser/Xpand3.g:282:1: r_constructorCall : 'new' r_simpleType ; public final void r_constructorCall() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_constructorCall"); + if(backtracking ==0) { + ruleEntered("r_constructorCall"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:278:20: ( 'new' r_simpleType ) - // src/org/eclipse/xpand3/parser/Xpand3.g:279:2: 'new' r_simpleType + // src/org/eclipse/xpand3/parser/Xpand3.g:282:20: ( 'new' r_simpleType ) + // src/org/eclipse/xpand3/parser/Xpand3.g:283:2: 'new' r_simpleType { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,96,FOLLOW_96_in_r_constructorCall1488); if (failed) return ; - pushFollow(FOLLOW_r_simpleType_in_r_constructorCall1490); + match(input,96,FOLLOW_96_in_r_constructorCall1505); if (failed) return ; + pushFollow(FOLLOW_r_simpleType_in_r_constructorCall1507); r_simpleType(); _fsp--; if (failed) return ; @@ -4360,7 +4849,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_constructorCall"); + if(backtracking==0) { + ruleLeft("r_constructorCall"); + } /** END EDITED */ } return ; @@ -4369,18 +4860,22 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_booleanLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:283:1: r_booleanLiteral : ( 'false' | 'true' ); + // src/org/eclipse/xpand3/parser/Xpand3.g:287:1: r_booleanLiteral : ( 'false' | 'true' ); public final void r_booleanLiteral() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_booleanLiteral"); + if(backtracking ==0) { + ruleEntered("r_booleanLiteral"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:283:19: ( 'false' | 'true' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:287:19: ( 'false' | 'true' ) // src/org/eclipse/xpand3/parser/Xpand3.g: { if ( (input.LA(1)>=97 && input.LA(1)<=98) ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -4401,7 +4896,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_booleanLiteral"); + if(backtracking==0) { + ruleLeft("r_booleanLiteral"); + } /** END EDITED */ } return ; @@ -4410,19 +4907,23 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_nullLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:287:1: r_nullLiteral : 'null' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:291:1: r_nullLiteral : 'null' ; public final void r_nullLiteral() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_nullLiteral"); + if(backtracking ==0) { + ruleEntered("r_nullLiteral"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:287:16: ( 'null' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:288:2: 'null' + // src/org/eclipse/xpand3/parser/Xpand3.g:291:16: ( 'null' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:292:2: 'null' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,99,FOLLOW_99_in_r_nullLiteral1516); if (failed) return ; + match(input,99,FOLLOW_99_in_r_nullLiteral1533); if (failed) return ; } @@ -4433,7 +4934,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_nullLiteral"); + if(backtracking==0) { + ruleLeft("r_nullLiteral"); + } /** END EDITED */ } return ; @@ -4442,13 +4945,15 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_numberLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:291:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral ); + // src/org/eclipse/xpand3/parser/Xpand3.g:295:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral ); public final void r_numberLiteral() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_numberLiteral"); + if(backtracking ==0) { + ruleEntered("r_numberLiteral"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:291:18: ( IntLiteral | IntLiteral '.' IntLiteral ) + // src/org/eclipse/xpand3/parser/Xpand3.g:295:18: ( IntLiteral | IntLiteral '.' IntLiteral ) int alt65=2; int LA65_0 = input.LA(1); @@ -4467,18 +4972,18 @@ public abstract class Xpand3Parser extends Parser { else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("291:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 2, input); + new NoViableAltException("295:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 2, input); throw nvae; } } - else if ( (LA65_1==EOF||LA65_1==TEXT||LA65_1==Identifier||LA65_1==28||(LA65_1>=32 && LA65_1<=34)||(LA65_1>=36 && LA65_1<=37)||LA65_1==40||LA65_1==43||(LA65_1>=54 && LA65_1<=56)||(LA65_1>=60 && LA65_1<=61)||(LA65_1>=74 && LA65_1<=77)||(LA65_1>=79 && LA65_1<=92)) ) { + else if ( (LA65_1==EOF||LA65_1==TEXT||LA65_1==Identifier||LA65_1==28||(LA65_1>=32 && LA65_1<=34)||(LA65_1>=36 && LA65_1<=37)||LA65_1==40||LA65_1==43||(LA65_1>=54 && LA65_1<=56)||(LA65_1>=60 && LA65_1<=61)||(LA65_1>=74 && LA65_1<=77)||(LA65_1>=80 && LA65_1<=93)) ) { alt65=1; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("291:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 1, input); + new NoViableAltException("295:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 1, input); throw nvae; } @@ -4486,36 +4991,44 @@ public abstract class Xpand3Parser extends Parser { else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("291:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 0, input); + new NoViableAltException("295:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 0, input); throw nvae; } switch (alt65) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:292:4: IntLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:296:4: IntLiteral { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1529); if (failed) return ; + match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1546); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:293:4: IntLiteral '.' IntLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:297:4: IntLiteral '.' IntLiteral { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1535); if (failed) return ; + match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1552); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,68,FOLLOW_68_in_r_numberLiteral1537); if (failed) return ; + match(input,68,FOLLOW_68_in_r_numberLiteral1554); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1539); if (failed) return ; + match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1556); if (failed) return ; } break; @@ -4528,7 +5041,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_numberLiteral"); + if(backtracking==0) { + ruleLeft("r_numberLiteral"); + } /** END EDITED */ } return ; @@ -4537,13 +5052,15 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_collectionExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:296:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ); + // src/org/eclipse/xpand3/parser/Xpand3.g:300:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ); public final void r_collectionExpression() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_collectionExpression"); + if(backtracking ==0) { + ruleEntered("r_collectionExpression"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:296:25: ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:300:25: ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ) int alt67=2; int LA67_0 = input.LA(1); @@ -4556,39 +5073,47 @@ public abstract class Xpand3Parser extends Parser { else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("296:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' );", 67, 0, input); + new NoViableAltException("300:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' );", 67, 0, input); throw nvae; } switch (alt67) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:297:3: 'typeSelect' '(' r_type ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:301:3: 'typeSelect' '(' r_type ')' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,100,FOLLOW_100_in_r_collectionExpression1552); if (failed) return ; + match(input,100,FOLLOW_100_in_r_collectionExpression1569); if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,31,FOLLOW_31_in_r_collectionExpression1556); if (failed) return ; - pushFollow(FOLLOW_r_type_in_r_collectionExpression1558); + match(input,31,FOLLOW_31_in_r_collectionExpression1573); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_collectionExpression1575); r_type(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,34,FOLLOW_34_in_r_collectionExpression1560); if (failed) return ; + match(input,34,FOLLOW_34_in_r_collectionExpression1577); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:300:4: ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:304:4: ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' { if ( (input.LA(1)>=101 && input.LA(1)<=108) ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -4596,14 +5121,16 @@ public abstract class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionExpression1569); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionExpression1586); throw mse; } /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,31,FOLLOW_31_in_r_collectionExpression1619); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:307:19: ( r_identifier '|' )? + match(input,31,FOLLOW_31_in_r_collectionExpression1636); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:311:19: ( r_identifier '|' )? int alt66=2; int LA66_0 = input.LA(1); @@ -4616,30 +5143,34 @@ public abstract class Xpand3Parser extends Parser { } switch (alt66) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:307:20: r_identifier '|' + // src/org/eclipse/xpand3/parser/Xpand3.g:311:20: r_identifier '|' { - pushFollow(FOLLOW_r_identifier_in_r_collectionExpression1622); + pushFollow(FOLLOW_r_identifier_in_r_collectionExpression1639); r_identifier(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,109,FOLLOW_109_in_r_collectionExpression1624); if (failed) return ; + match(input,109,FOLLOW_109_in_r_collectionExpression1641); if (failed) return ; } break; } - pushFollow(FOLLOW_r_expression_in_r_collectionExpression1628); + pushFollow(FOLLOW_r_expression_in_r_collectionExpression1645); r_expression(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,34,FOLLOW_34_in_r_collectionExpression1630); if (failed) return ; + match(input,34,FOLLOW_34_in_r_collectionExpression1647); if (failed) return ; } break; @@ -4652,7 +5183,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_collectionExpression"); + if(backtracking==0) { + ruleLeft("r_collectionExpression"); + } /** END EDITED */ } return ; @@ -4661,20 +5194,22 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_declaredParameterList - // src/org/eclipse/xpand3/parser/Xpand3.g:313:1: r_declaredParameterList : r_declaredParameter ( ',' r_declaredParameter )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:317:1: r_declaredParameterList : r_declaredParameter ( ',' r_declaredParameter )* ; public final void r_declaredParameterList() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_declaredParameterList"); + if(backtracking ==0) { + ruleEntered("r_declaredParameterList"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:313:26: ( r_declaredParameter ( ',' r_declaredParameter )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:314:2: r_declaredParameter ( ',' r_declaredParameter )* + // src/org/eclipse/xpand3/parser/Xpand3.g:317:26: ( r_declaredParameter ( ',' r_declaredParameter )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:318:2: r_declaredParameter ( ',' r_declaredParameter )* { - pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1647); + pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1664); r_declaredParameter(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:314:22: ( ',' r_declaredParameter )* + // src/org/eclipse/xpand3/parser/Xpand3.g:318:22: ( ',' r_declaredParameter )* loop68: do { int alt68=2; @@ -4693,13 +5228,15 @@ public abstract class Xpand3Parser extends Parser { switch (alt68) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:314:23: ',' r_declaredParameter + // src/org/eclipse/xpand3/parser/Xpand3.g:318:23: ',' r_declaredParameter { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,32,FOLLOW_32_in_r_declaredParameterList1650); if (failed) return ; - pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1652); + match(input,32,FOLLOW_32_in_r_declaredParameterList1667); if (failed) return ; + pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1669); r_declaredParameter(); _fsp--; if (failed) return ; @@ -4722,7 +5259,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_declaredParameterList"); + if(backtracking==0) { + ruleLeft("r_declaredParameterList"); + } /** END EDITED */ } return ; @@ -4731,20 +5270,22 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_declaredParameter - // src/org/eclipse/xpand3/parser/Xpand3.g:317:1: r_declaredParameter : r_type r_identifier ; + // src/org/eclipse/xpand3/parser/Xpand3.g:321:1: r_declaredParameter : r_type r_identifier ; public final void r_declaredParameter() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_declaredParameter"); + if(backtracking ==0) { + ruleEntered("r_declaredParameter"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:317:21: ( r_type r_identifier ) - // src/org/eclipse/xpand3/parser/Xpand3.g:318:2: r_type r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:321:21: ( r_type r_identifier ) + // src/org/eclipse/xpand3/parser/Xpand3.g:322:2: r_type r_identifier { - pushFollow(FOLLOW_r_type_in_r_declaredParameter1665); + pushFollow(FOLLOW_r_type_in_r_declaredParameter1682); r_type(); _fsp--; if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_declaredParameter1667); + pushFollow(FOLLOW_r_identifier_in_r_declaredParameter1684); r_identifier(); _fsp--; if (failed) return ; @@ -4758,7 +5299,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_declaredParameter"); + if(backtracking==0) { + ruleLeft("r_declaredParameter"); + } /** END EDITED */ } return ; @@ -4767,20 +5310,22 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_parameterList - // src/org/eclipse/xpand3/parser/Xpand3.g:321:1: r_parameterList : r_expression ( ',' r_expression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:325:1: r_parameterList : r_expression ( ',' r_expression )* ; public final void r_parameterList() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_parameterList"); + if(backtracking ==0) { + ruleEntered("r_parameterList"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:321:18: ( r_expression ( ',' r_expression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:322:5: r_expression ( ',' r_expression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:325:18: ( r_expression ( ',' r_expression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:326:5: r_expression ( ',' r_expression )* { - pushFollow(FOLLOW_r_expression_in_r_parameterList1682); + pushFollow(FOLLOW_r_expression_in_r_parameterList1699); r_expression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:322:19: ( ',' r_expression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:326:19: ( ',' r_expression )* loop69: do { int alt69=2; @@ -4793,13 +5338,15 @@ public abstract class Xpand3Parser extends Parser { switch (alt69) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:322:20: ',' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:326:20: ',' r_expression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,32,FOLLOW_32_in_r_parameterList1686); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_parameterList1688); + match(input,32,FOLLOW_32_in_r_parameterList1703); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_parameterList1705); r_expression(); _fsp--; if (failed) return ; @@ -4822,7 +5369,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_parameterList"); + if(backtracking==0) { + ruleLeft("r_parameterList"); + } /** END EDITED */ } return ; @@ -4831,13 +5380,15 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_type - // src/org/eclipse/xpand3/parser/Xpand3.g:327:1: r_type : ( r_collectionType | r_simpleType ); + // src/org/eclipse/xpand3/parser/Xpand3.g:331:1: r_type : ( r_collectionType | r_simpleType ); public final void r_type() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_type"); + if(backtracking ==0) { + ruleEntered("r_type"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:327:8: ( r_collectionType | r_simpleType ) + // src/org/eclipse/xpand3/parser/Xpand3.g:331:8: ( r_collectionType | r_simpleType ) int alt70=2; int LA70_0 = input.LA(1); @@ -4850,15 +5401,15 @@ public abstract class Xpand3Parser extends Parser { else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("327:1: r_type : ( r_collectionType | r_simpleType );", 70, 0, input); + new NoViableAltException("331:1: r_type : ( r_collectionType | r_simpleType );", 70, 0, input); throw nvae; } switch (alt70) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:328:2: r_collectionType + // src/org/eclipse/xpand3/parser/Xpand3.g:332:2: r_collectionType { - pushFollow(FOLLOW_r_collectionType_in_r_type1705); + pushFollow(FOLLOW_r_collectionType_in_r_type1722); r_collectionType(); _fsp--; if (failed) return ; @@ -4866,9 +5417,9 @@ public abstract class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:329:2: r_simpleType + // src/org/eclipse/xpand3/parser/Xpand3.g:333:2: r_simpleType { - pushFollow(FOLLOW_r_simpleType_in_r_type1710); + pushFollow(FOLLOW_r_simpleType_in_r_type1727); r_simpleType(); _fsp--; if (failed) return ; @@ -4884,7 +5435,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_type"); + if(backtracking==0) { + ruleLeft("r_type"); + } /** END EDITED */ } return ; @@ -4893,18 +5446,22 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_collectionType - // src/org/eclipse/xpand3/parser/Xpand3.g:332:1: r_collectionType : ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ; + // src/org/eclipse/xpand3/parser/Xpand3.g:336:1: r_collectionType : ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ; public final void r_collectionType() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_collectionType"); + if(backtracking ==0) { + ruleEntered("r_collectionType"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:332:19: ( ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ) - // src/org/eclipse/xpand3/parser/Xpand3.g:333:3: ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:336:19: ( ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ) + // src/org/eclipse/xpand3/parser/Xpand3.g:337:3: ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? { if ( (input.LA(1)>=69 && input.LA(1)<=71) ) { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ input.consume(); errorRecovery=false;failed=false; } @@ -4912,10 +5469,10 @@ public abstract class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionType1725); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionType1742); throw mse; } - // src/org/eclipse/xpand3/parser/Xpand3.g:334:3: ( '[' r_simpleType ']' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:338:3: ( '[' r_simpleType ']' )? int alt71=2; int LA71_0 = input.LA(1); @@ -4924,20 +5481,24 @@ public abstract class Xpand3Parser extends Parser { } switch (alt71) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:334:4: '[' r_simpleType ']' + // src/org/eclipse/xpand3/parser/Xpand3.g:338:4: '[' r_simpleType ']' { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,110,FOLLOW_110_in_r_collectionType1743); if (failed) return ; - pushFollow(FOLLOW_r_simpleType_in_r_collectionType1745); + match(input,110,FOLLOW_110_in_r_collectionType1760); if (failed) return ; + pushFollow(FOLLOW_r_simpleType_in_r_collectionType1762); r_simpleType(); _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,111,FOLLOW_111_in_r_collectionType1747); if (failed) return ; + match(input,111,FOLLOW_111_in_r_collectionType1764); if (failed) return ; } break; @@ -4954,7 +5515,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_collectionType"); + if(backtracking==0) { + ruleLeft("r_collectionType"); + } /** END EDITED */ } return ; @@ -4963,20 +5526,22 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_simpleType - // src/org/eclipse/xpand3/parser/Xpand3.g:337:1: r_simpleType : r_identifier ( '::' r_identifier )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:341:1: r_simpleType : r_identifier ( '::' r_identifier )* ; public final void r_simpleType() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_simpleType"); + if(backtracking ==0) { + ruleEntered("r_simpleType"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:337:14: ( r_identifier ( '::' r_identifier )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:338:2: r_identifier ( '::' r_identifier )* + // src/org/eclipse/xpand3/parser/Xpand3.g:341:14: ( r_identifier ( '::' r_identifier )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:342:2: r_identifier ( '::' r_identifier )* { - pushFollow(FOLLOW_r_identifier_in_r_simpleType1760); + pushFollow(FOLLOW_r_identifier_in_r_simpleType1777); r_identifier(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:339:2: ( '::' r_identifier )* + // src/org/eclipse/xpand3/parser/Xpand3.g:343:2: ( '::' r_identifier )* loop72: do { int alt72=2; @@ -4989,13 +5554,15 @@ public abstract class Xpand3Parser extends Parser { switch (alt72) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:339:3: '::' r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:343:3: '::' r_identifier { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,63,FOLLOW_63_in_r_simpleType1765); if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_simpleType1767); + match(input,63,FOLLOW_63_in_r_simpleType1782); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_simpleType1784); r_identifier(); _fsp--; if (failed) return ; @@ -5018,7 +5585,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_simpleType"); + if(backtracking==0) { + ruleLeft("r_simpleType"); + } /** END EDITED */ } return ; @@ -5027,19 +5596,23 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start r_identifier - // src/org/eclipse/xpand3/parser/Xpand3.g:342:1: r_identifier : Identifier ; + // src/org/eclipse/xpand3/parser/Xpand3.g:346:1: r_identifier : Identifier ; public final void r_identifier() throws RecognitionException { try { /** START EDITED */ - ruleEntered("r_identifier"); + if(backtracking ==0) { + ruleEntered("r_identifier"); + } /** END EDITED */ - // src/org/eclipse/xpand3/parser/Xpand3.g:342:14: ( Identifier ) - // src/org/eclipse/xpand3/parser/Xpand3.g:343:4: Identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:346:14: ( Identifier ) + // src/org/eclipse/xpand3/parser/Xpand3.g:347:4: Identifier { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ - match(input,Identifier,FOLLOW_Identifier_in_r_identifier1783); if (failed) return ; + match(input,Identifier,FOLLOW_Identifier_in_r_identifier1800); if (failed) return ; } @@ -5050,7 +5623,9 @@ public abstract class Xpand3Parser extends Parser { } finally { /** START EDITED */ - ruleLeft("r_identifier"); + if(backtracking==0) { + ruleLeft("r_identifier"); + } /** END EDITED */ } return ; @@ -5059,11 +5634,13 @@ public abstract class Xpand3Parser extends Parser { // $ANTLR start synpred1 public final void synpred1_fragment() throws RecognitionException { - // src/org/eclipse/xpand3/parser/Xpand3.g:186:5: ( '(' r_type ')' r_castedExpression ) - // src/org/eclipse/xpand3/parser/Xpand3.g:186:6: '(' r_type ')' r_castedExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:186:5: ( '(' r_type ')' r_chainExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:186:6: '(' r_type ')' r_chainExpression { /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,31,FOLLOW_31_in_synpred1953); if (failed) return ; pushFollow(FOLLOW_r_type_in_synpred1955); @@ -5071,11 +5648,13 @@ public abstract class Xpand3Parser extends Parser { _fsp--; if (failed) return ; /** START EDITED */ - tokenConsumed(null, (CommonToken) input.LT(1)); + if(backtracking==0) { + tokenConsumed(null, (CommonToken) input.LT(1)); + } /** END EDITED */ match(input,34,FOLLOW_34_in_synpred1957); if (failed) return ; - pushFollow(FOLLOW_r_castedExpression_in_synpred1959); - r_castedExpression(); + pushFollow(FOLLOW_r_chainExpression_in_synpred1959); + r_chainExpression(); _fsp--; if (failed) return ; @@ -5105,41 +5684,38 @@ public abstract class Xpand3Parser extends Parser { static final String DFA44_eofS = "\6\uffff\1\2\60\uffff"; static final String DFA44_minS = - "\2\13\1\uffff\1\37\1\41\1\15\1\12\1\15\1\41\1\12\1\0\16\uffff\1"+ - "\77\3\0\2\37\4\0\2\15\1\0\1\15\1\41\1\15\3\0\1\77\2\42\1\15\1\0"+ - "\1\15\1\77\1\42\1\15\1\42\1\77"; + "\2\13\1\uffff\1\41\1\37\1\15\1\12\1\15\1\77\2\uffff\1\0\13\uffff"+ + "\1\12\1\uffff\1\41\1\15\1\41\3\0\2\37\4\0\2\15\1\0\1\77\1\15\3\0"+ + "\2\42\1\15\1\0\1\15\1\77\1\42\1\15\1\42\1\77"; static final String DFA44_maxS = - "\2\154\1\uffff\1\134\1\156\1\15\1\154\1\15\1\134\1\154\1\0\16\uffff"+ - "\1\157\3\0\2\37\4\0\2\15\1\0\1\15\1\134\1\107\3\0\1\157\1\156\1"+ - "\77\1\15\1\0\1\15\1\157\1\77\1\15\1\42\1\157"; + "\2\154\1\uffff\1\156\1\135\1\15\1\154\1\15\1\157\2\uffff\1\0\13"+ + "\uffff\1\154\1\uffff\1\135\1\15\1\135\3\0\2\37\4\0\2\15\1\0\1\157"+ + "\1\107\3\0\1\156\1\77\1\15\1\0\1\15\1\157\1\77\1\15\1\42\1\157"; static final String DFA44_acceptS = - "\2\uffff\1\2\10\uffff\16\1\36\uffff"; + "\2\uffff\1\2\6\uffff\2\1\1\uffff\13\1\1\uffff\1\1\36\uffff"; static final String DFA44_specialS = - "\6\uffff\1\7\3\uffff\1\12\17\uffff\1\10\1\11\1\14\2\uffff\1\0\1"+ - "\1\1\13\1\5\2\uffff\1\6\3\uffff\1\4\1\2\1\15\4\uffff\1\3\6\uffff}>"; + "\6\uffff\1\13\4\uffff\1\3\20\uffff\1\14\1\1\1\15\2\uffff\1\4\1\2"+ + "\1\12\1\5\2\uffff\1\6\2\uffff\1\11\1\10\1\7\3\uffff\1\0\6\uffff}>"; static final String[] DFA44_transitionS = { "\3\2\21\uffff\1\1\4\uffff\1\2\26\uffff\1\2\11\uffff\3\2\6\uffff"+ - "\1\2\16\uffff\20\2", - "\2\2\1\3\21\uffff\1\2\4\uffff\1\2\26\uffff\1\2\11\uffff\3\4"+ - "\1\2\5\uffff\1\2\16\uffff\20\2", + "\2\2\16\uffff\17\2", + "\2\2\1\4\21\uffff\1\2\4\uffff\1\2\26\uffff\1\2\11\uffff\3\3"+ + "\1\2\5\uffff\2\2\16\uffff\17\2", "", - "\1\2\1\uffff\1\2\1\6\1\uffff\1\2\32\uffff\1\5\4\uffff\1\2\5"+ - "\uffff\2\2\6\uffff\13\2", - "\1\2\1\6\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\6\uffff\13\2\21"+ - "\uffff\1\7", + "\1\2\1\6\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\7\uffff\13\2\20"+ + "\uffff\1\5", + "\1\2\1\uffff\1\2\1\6\1\uffff\1\2\32\uffff\1\7\4\uffff\1\2\5"+ + "\uffff\2\2\7\uffff\13\2", "\1\10", - "\1\2\1\14\1\21\1\12\16\uffff\1\2\2\uffff\1\26\3\2\1\uffff\1"+ - "\11\1\2\2\uffff\1\2\2\uffff\1\2\12\uffff\3\2\2\uffff\1\30\2"+ - "\2\6\uffff\1\2\3\15\2\uffff\3\2\1\uffff\1\13\16\2\1\27\1\25"+ - "\1\23\1\24\2\20\1\22\1\16\10\17", + "\1\2\1\12\1\20\1\13\16\uffff\1\2\2\uffff\1\25\3\2\1\uffff\1"+ + "\27\1\2\2\uffff\1\2\2\uffff\1\2\12\uffff\3\2\2\uffff\1\30\2"+ + "\2\6\uffff\1\2\3\14\2\uffff\3\2\1\uffff\1\11\1\22\16\2\1\26"+ + "\1\24\1\23\2\17\1\21\1\15\10\16", "\1\31", - "\1\2\1\6\1\uffff\1\2\32\uffff\1\5\4\uffff\1\2\5\uffff\2\2\6"+ - "\uffff\13\2", - "\1\2\1\32\1\40\1\33\21\uffff\1\45\4\uffff\1\2\40\uffff\3\34"+ - "\25\uffff\1\2\1\44\1\42\1\43\2\37\1\41\1\35\10\36", - "\1\uffff", + "\1\32\57\uffff\1\33", "", "", + "\1\uffff", "", "", "", @@ -5151,27 +5727,30 @@ public abstract class Xpand3Parser extends Parser { "", "", "", + "\1\2\1\34\1\42\1\35\21\uffff\1\47\4\uffff\1\2\40\uffff\3\36"+ + "\7\uffff\1\44\16\uffff\1\2\1\46\1\45\2\41\1\43\1\37\10\40", "", - "\1\46\57\uffff\1\47", + "\1\2\1\6\1\uffff\1\2\32\uffff\1\7\4\uffff\1\2\5\uffff\2\2\7"+ + "\uffff\13\2", + "\1\50", + "\1\2\1\6\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\7\uffff\13\2", "\1\uffff", "\1\uffff", "\1\uffff", - "\1\50", "\1\51", + "\1\52", "\1\uffff", "\1\uffff", "\1\uffff", "\1\uffff", - "\1\52", "\1\53", - "\1\uffff", "\1\54", - "\1\2\1\6\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\6\uffff\13\2", + "\1\uffff", + "\1\32\57\uffff\1\33", "\1\56\67\uffff\3\55", "\1\uffff", "\1\uffff", "\1\uffff", - "\1\46\57\uffff\1\47", "\1\60\113\uffff\1\57", "\1\60\34\uffff\1\61", "\1\62", @@ -5214,16 +5793,16 @@ public abstract class Xpand3Parser extends Parser { this.transition = DFA44_transition; } public String getDescription() { - return "185:1: r_castedExpression : ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression );"; + return "185:1: r_castedExpression : ( ( '(' r_type ')' r_chainExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression );"; } public int specialStateTransition(int s, IntStream input) throws NoViableAltException { int _s = s; switch ( s ) { case 0 : - int LA44_31 = input.LA(1); + int LA44_48 = input.LA(1); - int index44_31 = input.index(); + int index44_48 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5231,14 +5810,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_31); + input.seek(index44_48); if ( s>=0 ) return s; break; case 1 : - int LA44_32 = input.LA(1); + int LA44_29 = input.LA(1); - int index44_32 = input.index(); + int index44_29 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5246,14 +5825,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_32); + input.seek(index44_29); if ( s>=0 ) return s; break; case 2 : - int LA44_42 = input.LA(1); + int LA44_34 = input.LA(1); - int index44_42 = input.index(); + int index44_34 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5261,14 +5840,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_42); + input.seek(index44_34); if ( s>=0 ) return s; break; case 3 : - int LA44_48 = input.LA(1); + int LA44_11 = input.LA(1); - int index44_48 = input.index(); + int index44_11 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5276,14 +5855,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_48); + input.seek(index44_11); if ( s>=0 ) return s; break; case 4 : - int LA44_41 = input.LA(1); + int LA44_33 = input.LA(1); - int index44_41 = input.index(); + int index44_33 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5291,14 +5870,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_41); + input.seek(index44_33); if ( s>=0 ) return s; break; case 5 : - int LA44_34 = input.LA(1); + int LA44_36 = input.LA(1); - int index44_34 = input.index(); + int index44_36 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5306,14 +5885,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_34); + input.seek(index44_36); if ( s>=0 ) return s; break; case 6 : - int LA44_37 = input.LA(1); + int LA44_39 = input.LA(1); - int index44_37 = input.index(); + int index44_39 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5321,59 +5900,29 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_37); + input.seek(index44_39); if ( s>=0 ) return s; break; case 7 : - int LA44_6 = input.LA(1); + int LA44_44 = input.LA(1); - int index44_6 = input.index(); + int index44_44 = input.index(); input.rewind(); s = -1; - if ( (LA44_6==EOF||LA44_6==TEXT||LA44_6==28||(LA44_6>=32 && LA44_6<=34)||LA44_6==37||LA44_6==40||LA44_6==43||(LA44_6>=54 && LA44_6<=56)||(LA44_6>=60 && LA44_6<=61)||LA44_6==68||(LA44_6>=74 && LA44_6<=76)||(LA44_6>=79 && LA44_6<=92)) ) {s = 2;} - - else if ( (LA44_6==36) ) {s = 9;} - - else if ( (LA44_6==Identifier) ) {s = 10;} - - else if ( (LA44_6==78) && (synpred1())) {s = 11;} - - else if ( (LA44_6==StringLiteral) && (synpred1())) {s = 12;} - - else if ( ((LA44_6>=69 && LA44_6<=71)) && (synpred1())) {s = 13;} - - else if ( (LA44_6==100) && (synpred1())) {s = 14;} - - else if ( ((LA44_6>=101 && LA44_6<=108)) && (synpred1())) {s = 15;} - - else if ( ((LA44_6>=97 && LA44_6<=98)) && (synpred1())) {s = 16;} - - else if ( (LA44_6==IntLiteral) && (synpred1())) {s = 17;} - - else if ( (LA44_6==99) && (synpred1())) {s = 18;} - - else if ( (LA44_6==95) && (synpred1())) {s = 19;} - - else if ( (LA44_6==96) && (synpred1())) {s = 20;} - - else if ( (LA44_6==94) && (synpred1())) {s = 21;} - - else if ( (LA44_6==31) && (synpred1())) {s = 22;} - - else if ( (LA44_6==93) && (synpred1())) {s = 23;} + if ( (synpred1()) ) {s = 24;} - else if ( (LA44_6==59) && (synpred1())) {s = 24;} + else if ( (true) ) {s = 2;} - input.seek(index44_6); + input.seek(index44_44); if ( s>=0 ) return s; break; case 8 : - int LA44_26 = input.LA(1); + int LA44_43 = input.LA(1); - int index44_26 = input.index(); + int index44_43 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5381,14 +5930,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_26); + input.seek(index44_43); if ( s>=0 ) return s; break; case 9 : - int LA44_27 = input.LA(1); + int LA44_42 = input.LA(1); - int index44_27 = input.index(); + int index44_42 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5396,14 +5945,14 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_27); + input.seek(index44_42); if ( s>=0 ) return s; break; case 10 : - int LA44_10 = input.LA(1); + int LA44_35 = input.LA(1); - int index44_10 = input.index(); + int index44_35 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5411,22 +5960,52 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_10); + input.seek(index44_35); if ( s>=0 ) return s; break; case 11 : - int LA44_33 = input.LA(1); + int LA44_6 = input.LA(1); - int index44_33 = input.index(); + int index44_6 = input.index(); input.rewind(); s = -1; - if ( (synpred1()) ) {s = 24;} + if ( (LA44_6==78) && (synpred1())) {s = 9;} - else if ( (true) ) {s = 2;} + else if ( (LA44_6==StringLiteral) && (synpred1())) {s = 10;} + + else if ( (LA44_6==Identifier) ) {s = 11;} + + else if ( ((LA44_6>=69 && LA44_6<=71)) && (synpred1())) {s = 12;} + + else if ( (LA44_6==100) && (synpred1())) {s = 13;} + + else if ( ((LA44_6>=101 && LA44_6<=108)) && (synpred1())) {s = 14;} + + else if ( ((LA44_6>=97 && LA44_6<=98)) && (synpred1())) {s = 15;} + + else if ( (LA44_6==IntLiteral) && (synpred1())) {s = 16;} + + else if ( (LA44_6==99) && (synpred1())) {s = 17;} + + else if ( (LA44_6==79) && (synpred1())) {s = 18;} + + else if ( (LA44_6==96) && (synpred1())) {s = 19;} + + else if ( (LA44_6==95) && (synpred1())) {s = 20;} + + else if ( (LA44_6==31) && (synpred1())) {s = 21;} + + else if ( (LA44_6==94) && (synpred1())) {s = 22;} + + else if ( (LA44_6==36) ) {s = 23;} + + else if ( (LA44_6==59) && (synpred1())) {s = 24;} + + else if ( (LA44_6==EOF||LA44_6==TEXT||LA44_6==28||(LA44_6>=32 && LA44_6<=34)||LA44_6==37||LA44_6==40||LA44_6==43||(LA44_6>=54 && LA44_6<=56)||(LA44_6>=60 && LA44_6<=61)||LA44_6==68||(LA44_6>=74 && LA44_6<=76)||(LA44_6>=80 && LA44_6<=93)) ) {s = 2;} - input.seek(index44_33); + input.seek(index44_6); if ( s>=0 ) return s; break; case 12 : @@ -5445,10 +6024,10 @@ public abstract class Xpand3Parser extends Parser { if ( s>=0 ) return s; break; case 13 : - int LA44_43 = input.LA(1); + int LA44_30 = input.LA(1); - int index44_43 = input.index(); + int index44_30 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -5456,7 +6035,7 @@ public abstract class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index44_43); + input.seek(index44_30); if ( s>=0 ) return s; break; } @@ -5520,9 +6099,9 @@ public abstract class Xpand3Parser extends Parser { public static final BitSet FOLLOW_r_sequence_in_r_definitionAround235 = new BitSet(new long[]{0x0000000000000200L}); public static final BitSet FOLLOW_ENDAROUND_in_r_definitionAround238 = new BitSet(new long[]{0x0000000000000020L}); public static final BitSet FOLLOW_RG_in_r_definitionAround240 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_textSequence_in_r_sequence252 = new BitSet(new long[]{0x081442F080003802L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_r_textSequence_in_r_sequence252 = new BitSet(new long[]{0x081442F080003802L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_statement_in_r_sequence258 = new BitSet(new long[]{0x0000001000000400L}); - public static final BitSet FOLLOW_r_textSequence_in_r_sequence264 = new BitSet(new long[]{0x081442F080003802L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_r_textSequence_in_r_sequence264 = new BitSet(new long[]{0x081442F080003802L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_simpleStatement_in_r_statement279 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_fileStatement_in_r_statement284 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_foreachStatement_in_r_statement289 = new BitSet(new long[]{0x0000000000000002L}); @@ -5536,69 +6115,69 @@ public abstract class Xpand3Parser extends Parser { public static final BitSet FOLLOW_r_errorStatement_in_r_simpleStatement344 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_expandStatement_in_r_simpleStatement348 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_expressionStmt_in_r_simpleStatement352 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_37_in_r_errorStatement363 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_37_in_r_errorStatement363 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_errorStatement365 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_38_in_r_expandStatement376 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_r_simpleType_in_r_expandStatement378 = new BitSet(new long[]{0x0000008880000002L}); - public static final BitSet FOLLOW_31_in_r_expandStatement381 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_31_in_r_expandStatement381 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_parameterList_in_r_expandStatement383 = new BitSet(new long[]{0x0000000400000000L}); public static final BitSet FOLLOW_34_in_r_expandStatement385 = new BitSet(new long[]{0x0000008800000002L}); - public static final BitSet FOLLOW_35_in_r_expandStatement391 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_35_in_r_expandStatement391 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_expandStatement393 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_39_in_r_expandStatement401 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_39_in_r_expandStatement401 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_expandStatement402 = new BitSet(new long[]{0x0000010000000002L}); - public static final BitSet FOLLOW_40_in_r_expandStatement405 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_40_in_r_expandStatement405 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_expandStatement407 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_expression_in_r_expressionStmt423 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_41_in_r_fileStatement433 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_41_in_r_fileStatement433 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_fileStatement435 = new BitSet(new long[]{0x0000001000002400L}); public static final BitSet FOLLOW_r_identifier_in_r_fileStatement438 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_fileStatement444 = new BitSet(new long[]{0x0000040000000000L}); public static final BitSet FOLLOW_42_in_r_fileStatement448 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_39_in_r_foreachStatement460 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_39_in_r_foreachStatement460 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_foreachStatement462 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_r_foreachStatement464 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_r_identifier_in_r_foreachStatement466 = new BitSet(new long[]{0x0000111000000400L}); public static final BitSet FOLLOW_44_in_r_foreachStatement469 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_r_identifier_in_r_foreachStatement471 = new BitSet(new long[]{0x0000011000000400L}); - public static final BitSet FOLLOW_40_in_r_foreachStatement476 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_40_in_r_foreachStatement476 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_foreachStatement478 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_foreachStatement486 = new BitSet(new long[]{0x0000200000000000L}); public static final BitSet FOLLOW_45_in_r_foreachStatement491 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_46_in_r_ifStatement506 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_46_in_r_ifStatement506 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_ifStatement508 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_ifStatement512 = new BitSet(new long[]{0x0003800000000000L}); public static final BitSet FOLLOW_r_elseIfStatement_in_r_ifStatement517 = new BitSet(new long[]{0x0003800000000000L}); public static final BitSet FOLLOW_r_elseStatement_in_r_ifStatement522 = new BitSet(new long[]{0x0000800000000000L}); public static final BitSet FOLLOW_47_in_r_ifStatement527 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_48_in_r_elseIfStatement537 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_48_in_r_elseIfStatement537 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_elseIfStatement539 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_elseIfStatement543 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_49_in_r_elseStatement555 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_elseStatement559 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_50_in_r_letStatement571 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_50_in_r_letStatement571 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_letStatement573 = new BitSet(new long[]{0x0000080000000000L}); public static final BitSet FOLLOW_43_in_r_letStatement575 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_r_identifier_in_r_letStatement577 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_letStatement583 = new BitSet(new long[]{0x0008000000000000L}); public static final BitSet FOLLOW_51_in_r_letStatement588 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_52_in_r_protectStatement599 = new BitSet(new long[]{0x0020000000000000L}); - public static final BitSet FOLLOW_53_in_r_protectStatement604 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_53_in_r_protectStatement604 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_protectStatement606 = new BitSet(new long[]{0x0040000000000000L}); - public static final BitSet FOLLOW_54_in_r_protectStatement611 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_54_in_r_protectStatement611 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_protectStatement613 = new BitSet(new long[]{0x0080000000000000L}); - public static final BitSet FOLLOW_55_in_r_protectStatement626 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_55_in_r_protectStatement626 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_protectStatement628 = new BitSet(new long[]{0x0100001000000400L}); public static final BitSet FOLLOW_56_in_r_protectStatement630 = new BitSet(new long[]{0x0000001000000400L}); public static final BitSet FOLLOW_r_sequence_in_r_protectStatement636 = new BitSet(new long[]{0x0200000000000000L}); public static final BitSet FOLLOW_57_in_r_protectStatement640 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_58_in_r_check652 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); public static final BitSet FOLLOW_r_type_in_r_check654 = new BitSet(new long[]{0x1800002000000000L}); - public static final BitSet FOLLOW_59_in_r_check657 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_59_in_r_check657 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_check659 = new BitSet(new long[]{0x1000002000000000L}); - public static final BitSet FOLLOW_set_in_r_check663 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_set_in_r_check663 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_check669 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_check671 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_61_in_r_check671 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_check675 = new BitSet(new long[]{0x0000000010000000L}); public static final BitSet FOLLOW_28_in_r_check677 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_62_in_r_around692 = new BitSet(new long[]{0x0000000200002000L}); @@ -5609,7 +6188,7 @@ public abstract class Xpand3Parser extends Parser { public static final BitSet FOLLOW_33_in_r_around705 = new BitSet(new long[]{0x0000000400000000L}); public static final BitSet FOLLOW_33_in_r_around711 = new BitSet(new long[]{0x0000000400000000L}); public static final BitSet FOLLOW_34_in_r_around715 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_around717 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_61_in_r_around717 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_around724 = new BitSet(new long[]{0x0000000010000000L}); public static final BitSet FOLLOW_28_in_r_around726 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_33_in_r_pointcut743 = new BitSet(new long[]{0x8000000200002002L}); @@ -5624,7 +6203,7 @@ public abstract class Xpand3Parser extends Parser { public static final BitSet FOLLOW_31_in_r_extension804 = new BitSet(new long[]{0x0000000400002000L,0x00000000000000E0L}); public static final BitSet FOLLOW_r_declaredParameterList_in_r_extension806 = new BitSet(new long[]{0x0000000400000000L}); public static final BitSet FOLLOW_34_in_r_extension809 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_extension811 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E8L}); + public static final BitSet FOLLOW_61_in_r_extension811 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E8L}); public static final BitSet FOLLOW_67_in_r_extension816 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_r_javaType_in_r_extension818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); public static final BitSet FOLLOW_68_in_r_extension820 = new BitSet(new long[]{0x0000000000002000L}); @@ -5647,134 +6226,136 @@ public abstract class Xpand3Parser extends Parser { public static final BitSet FOLLOW_r_letExpression_in_r_expression909 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_72_in_r_letExpression922 = new BitSet(new long[]{0x0000000000002000L}); public static final BitSet FOLLOW_r_identifier_in_r_letExpression924 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L}); - public static final BitSet FOLLOW_73_in_r_letExpression926 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00040E0L}); + public static final BitSet FOLLOW_73_in_r_letExpression926 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); public static final BitSet FOLLOW_r_castedExpression_in_r_letExpression928 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_letExpression930 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); + public static final BitSet FOLLOW_61_in_r_letExpression930 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); public static final BitSet FOLLOW_r_expression_in_r_letExpression932 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_castedExpression_in_r_letExpression938 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_31_in_r_castedExpression964 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); public static final BitSet FOLLOW_r_type_in_r_castedExpression966 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_r_castedExpression968 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00040E0L}); + public static final BitSet FOLLOW_34_in_r_castedExpression968 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); public static final BitSet FOLLOW_r_chainExpression_in_r_castedExpression970 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_r_chainExpression_in_r_castedExpression976 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression988 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); - public static final BitSet FOLLOW_74_in_r_chainExpression993 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00040E0L}); - public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression995 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1009 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L}); - public static final BitSet FOLLOW_75_in_r_ifExpression1012 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_ifExpression1014 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_ifExpression1016 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00040E0L}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1018 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_59_in_r_ifExpression1025 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_ifExpression1027 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); - public static final BitSet FOLLOW_76_in_r_ifExpression1029 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00040E0L}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1031 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); - public static final BitSet FOLLOW_77_in_r_ifExpression1034 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00040E0L}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1036 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_78_in_r_switchExpression1052 = new BitSet(new long[]{0x0000000080000000L,0x0000000000028000L}); - public static final BitSet FOLLOW_31_in_r_switchExpression1055 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1057 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_r_switchExpression1059 = new BitSet(new long[]{0x0000000000000000L,0x0000000000028000L}); - public static final BitSet FOLLOW_r_casePart_in_r_switchExpression1064 = new BitSet(new long[]{0x0000000000000000L,0x0000000000028000L}); - public static final BitSet FOLLOW_79_in_r_switchExpression1070 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_switchExpression1072 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1074 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_80_in_r_switchExpression1079 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1084 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_81_in_r_casePart1095 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_casePart1097 = new BitSet(new long[]{0x2000000000000000L}); - public static final BitSet FOLLOW_61_in_r_casePart1099 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_casePart1101 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_andExpression_in_r_orExpression1113 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); - public static final BitSet FOLLOW_82_in_r_orExpression1117 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_andExpression_in_r_orExpression1119 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); - public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression1134 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_83_in_r_andExpression1138 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression1140 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); - public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression1155 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); - public static final BitSet FOLLOW_84_in_r_impliesExpression1159 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression1161 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); - public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression1177 = new BitSet(new long[]{0x0000000000000002L,0x0000000007E00000L}); - public static final BitSet FOLLOW_set_in_r_relationalExpression1182 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression1206 = new BitSet(new long[]{0x0000000000000002L,0x0000000007E00000L}); - public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1219 = new BitSet(new long[]{0x0000001000000002L,0x0000000008000000L}); - public static final BitSet FOLLOW_set_in_r_additiveExpression1226 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1233 = new BitSet(new long[]{0x0000001000000002L,0x0000000008000000L}); - public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1246 = new BitSet(new long[]{0x0000000200000002L,0x0000000010000000L}); - public static final BitSet FOLLOW_set_in_r_multiplicativeExpression1251 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFE00000E0L}); - public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1259 = new BitSet(new long[]{0x0000000200000002L,0x0000000010000000L}); - public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1273 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_93_in_r_unaryExpression1278 = new BitSet(new long[]{0x0000000080003800L,0x00001FFFC00000E0L}); - public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1280 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_36_in_r_unaryExpression1285 = new BitSet(new long[]{0x0000000080003800L,0x00001FFFC00000E0L}); - public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1287 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_primaryExpression_in_r_infixExpression1298 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); - public static final BitSet FOLLOW_68_in_r_infixExpression1303 = new BitSet(new long[]{0x0000000000002000L,0x00001FF0000000E0L}); - public static final BitSet FOLLOW_r_featureCall_in_r_infixExpression1305 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); - public static final BitSet FOLLOW_StringLiteral_in_r_primaryExpression1323 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_featureCall_in_r_primaryExpression1331 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_booleanLiteral_in_r_primaryExpression1338 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_numberLiteral_in_r_primaryExpression1345 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_nullLiteral_in_r_primaryExpression1352 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_listLiteral_in_r_primaryExpression1359 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_constructorCall_in_r_primaryExpression1366 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_globalVarExpression_in_r_primaryExpression1373 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_paranthesizedExpression_in_r_primaryExpression1380 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_31_in_r_paranthesizedExpression1394 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_paranthesizedExpression1396 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_r_paranthesizedExpression1398 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_94_in_r_globalVarExpression1413 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_r_identifier_in_r_globalVarExpression1415 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_identifier_in_r_featureCall1429 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_featureCall1431 = new BitSet(new long[]{0x0800001480003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_parameterList_in_r_featureCall1434 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_r_featureCall1438 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_type_in_r_featureCall1445 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_collectionExpression_in_r_featureCall1453 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_95_in_r_listLiteral1465 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00141E0L}); - public static final BitSet FOLLOW_r_expression_in_r_listLiteral1467 = new BitSet(new long[]{0x0000000100000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_32_in_r_listLiteral1470 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_listLiteral1472 = new BitSet(new long[]{0x0000000100000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_80_in_r_listLiteral1477 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_96_in_r_constructorCall1488 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_r_simpleType_in_r_constructorCall1490 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression990 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_74_in_r_chainExpression995 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression997 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1011 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L}); + public static final BitSet FOLLOW_75_in_r_ifExpression1014 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_ifExpression1016 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_r_ifExpression1018 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1020 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_59_in_r_ifExpression1027 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_ifExpression1029 = new BitSet(new long[]{0x0000000000000000L,0x0000000000001000L}); + public static final BitSet FOLLOW_76_in_r_ifExpression1031 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1033 = new BitSet(new long[]{0x0000000000000002L,0x0000000000002000L}); + public static final BitSet FOLLOW_77_in_r_ifExpression1036 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1038 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_78_in_r_switchExpression1054 = new BitSet(new long[]{0x0000000080000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_31_in_r_switchExpression1057 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1059 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_switchExpression1061 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_79_in_r_switchExpression1065 = new BitSet(new long[]{0x0000000000000000L,0x0000000000050000L}); + public static final BitSet FOLLOW_r_casePart_in_r_switchExpression1068 = new BitSet(new long[]{0x0000000000000000L,0x0000000000050000L}); + public static final BitSet FOLLOW_80_in_r_switchExpression1074 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_r_switchExpression1076 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1078 = new BitSet(new long[]{0x0000000000000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_81_in_r_switchExpression1083 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1088 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_82_in_r_casePart1099 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_casePart1101 = new BitSet(new long[]{0x2000000000000000L}); + public static final BitSet FOLLOW_61_in_r_casePart1103 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_casePart1105 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_andExpression_in_r_orExpression1117 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_83_in_r_orExpression1121 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_andExpression_in_r_orExpression1123 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression1138 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); + public static final BitSet FOLLOW_84_in_r_andExpression1142 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression1144 = new BitSet(new long[]{0x0000000000000002L,0x0000000000100000L}); + public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression1159 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); + public static final BitSet FOLLOW_85_in_r_impliesExpression1163 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression1165 = new BitSet(new long[]{0x0000000000000002L,0x0000000000200000L}); + public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression1181 = new BitSet(new long[]{0x0000000000000002L,0x000000000FC00000L}); + public static final BitSet FOLLOW_set_in_r_relationalExpression1186 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression1210 = new BitSet(new long[]{0x0000000000000002L,0x000000000FC00000L}); + public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1223 = new BitSet(new long[]{0x0000001000000002L,0x0000000010000000L}); + public static final BitSet FOLLOW_set_in_r_additiveExpression1230 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1237 = new BitSet(new long[]{0x0000001000000002L,0x0000000010000000L}); + public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1250 = new BitSet(new long[]{0x0000000200000002L,0x0000000020000000L}); + public static final BitSet FOLLOW_set_in_r_multiplicativeExpression1255 = new BitSet(new long[]{0x0000001080003800L,0x00001FFFC00080E0L}); + public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1263 = new BitSet(new long[]{0x0000000200000002L,0x0000000020000000L}); + public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1277 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_94_in_r_unaryExpression1282 = new BitSet(new long[]{0x0000000080003800L,0x00001FFF800080E0L}); + public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1284 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_36_in_r_unaryExpression1289 = new BitSet(new long[]{0x0000000080003800L,0x00001FFF800080E0L}); + public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1291 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_primaryExpression_in_r_infixExpression1302 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_68_in_r_infixExpression1307 = new BitSet(new long[]{0x0000000000002000L,0x00001FF0000000E0L}); + public static final BitSet FOLLOW_r_featureCall_in_r_infixExpression1309 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000010L}); + public static final BitSet FOLLOW_r_stringLiteral_in_r_primaryExpression1328 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_featureCall_in_r_primaryExpression1336 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_booleanLiteral_in_r_primaryExpression1343 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_numberLiteral_in_r_primaryExpression1350 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_nullLiteral_in_r_primaryExpression1357 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_listLiteral_in_r_primaryExpression1364 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_constructorCall_in_r_primaryExpression1371 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_globalVarExpression_in_r_primaryExpression1378 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_paranthesizedExpression_in_r_primaryExpression1385 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_StringLiteral_in_r_stringLiteral1398 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_31_in_r_paranthesizedExpression1411 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_paranthesizedExpression1413 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_paranthesizedExpression1415 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_95_in_r_globalVarExpression1430 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_globalVarExpression1432 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_identifier_in_r_featureCall1446 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_r_featureCall1448 = new BitSet(new long[]{0x0800001480003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_parameterList_in_r_featureCall1451 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_featureCall1455 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_type_in_r_featureCall1462 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_collectionExpression_in_r_featureCall1470 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_79_in_r_listLiteral1482 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC002C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_listLiteral1484 = new BitSet(new long[]{0x0000000100000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_32_in_r_listLiteral1487 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_listLiteral1489 = new BitSet(new long[]{0x0000000100000000L,0x0000000000020000L}); + public static final BitSet FOLLOW_81_in_r_listLiteral1494 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_96_in_r_constructorCall1505 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_simpleType_in_r_constructorCall1507 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_r_booleanLiteral0 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_99_in_r_nullLiteral1516 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1529 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1535 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); - public static final BitSet FOLLOW_68_in_r_numberLiteral1537 = new BitSet(new long[]{0x0000000000001000L}); - public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1539 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_100_in_r_collectionExpression1552 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_collectionExpression1556 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); - public static final BitSet FOLLOW_r_type_in_r_collectionExpression1558 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_r_collectionExpression1560 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_r_collectionExpression1569 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_collectionExpression1619 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_identifier_in_r_collectionExpression1622 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); - public static final BitSet FOLLOW_109_in_r_collectionExpression1624 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_collectionExpression1628 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_r_collectionExpression1630 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1647 = new BitSet(new long[]{0x0000000100000002L}); - public static final BitSet FOLLOW_32_in_r_declaredParameterList1650 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); - public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1652 = new BitSet(new long[]{0x0000000100000002L}); - public static final BitSet FOLLOW_r_type_in_r_declaredParameter1665 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_r_identifier_in_r_declaredParameter1667 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_expression_in_r_parameterList1682 = new BitSet(new long[]{0x0000000100000002L}); - public static final BitSet FOLLOW_32_in_r_parameterList1686 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00041E0L}); - public static final BitSet FOLLOW_r_expression_in_r_parameterList1688 = new BitSet(new long[]{0x0000000100000002L}); - public static final BitSet FOLLOW_r_collectionType_in_r_type1705 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_simpleType_in_r_type1710 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_r_collectionType1725 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L}); - public static final BitSet FOLLOW_110_in_r_collectionType1743 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_r_simpleType_in_r_collectionType1745 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); - public static final BitSet FOLLOW_111_in_r_collectionType1747 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_identifier_in_r_simpleType1760 = new BitSet(new long[]{0x8000000000000002L}); - public static final BitSet FOLLOW_63_in_r_simpleType1765 = new BitSet(new long[]{0x0000000000002000L}); - public static final BitSet FOLLOW_r_identifier_in_r_simpleType1767 = new BitSet(new long[]{0x8000000000000002L}); - public static final BitSet FOLLOW_Identifier_in_r_identifier1783 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_99_in_r_nullLiteral1533 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1546 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1552 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L}); + public static final BitSet FOLLOW_68_in_r_numberLiteral1554 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1556 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_100_in_r_collectionExpression1569 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_r_collectionExpression1573 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_r_type_in_r_collectionExpression1575 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_collectionExpression1577 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_r_collectionExpression1586 = new BitSet(new long[]{0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_r_collectionExpression1636 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_identifier_in_r_collectionExpression1639 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_109_in_r_collectionExpression1641 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_collectionExpression1645 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_collectionExpression1647 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1664 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_32_in_r_declaredParameterList1667 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); + public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1669 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_r_type_in_r_declaredParameter1682 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_declaredParameter1684 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_expression_in_r_parameterList1699 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_32_in_r_parameterList1703 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C1E0L}); + public static final BitSet FOLLOW_r_expression_in_r_parameterList1705 = new BitSet(new long[]{0x0000000100000002L}); + public static final BitSet FOLLOW_r_collectionType_in_r_type1722 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_simpleType_in_r_type1727 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_r_collectionType1742 = new BitSet(new long[]{0x0000000000000002L,0x0000400000000000L}); + public static final BitSet FOLLOW_110_in_r_collectionType1760 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_simpleType_in_r_collectionType1762 = new BitSet(new long[]{0x0000000000000000L,0x0000800000000000L}); + public static final BitSet FOLLOW_111_in_r_collectionType1764 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_identifier_in_r_simpleType1777 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_63_in_r_simpleType1782 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_simpleType1784 = new BitSet(new long[]{0x8000000000000002L}); + public static final BitSet FOLLOW_Identifier_in_r_identifier1800 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_31_in_synpred1953 = new BitSet(new long[]{0x0000000000002000L,0x00000000000000E0L}); public static final BitSet FOLLOW_r_type_in_synpred1955 = new BitSet(new long[]{0x0000000400000000L}); - public static final BitSet FOLLOW_34_in_synpred1957 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFE00040E0L}); - public static final BitSet FOLLOW_r_castedExpression_in_synpred1959 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_34_in_synpred1957 = new BitSet(new long[]{0x0800001080003800L,0x00001FFFC000C0E0L}); + public static final BitSet FOLLOW_r_chainExpression_in_synpred1959 = new BitSet(new long[]{0x0000000000000002L}); }
\ No newline at end of file diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3__.g b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3__.g index 39e4a9c6..a3883968 100644 --- a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3__.g +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/Xpand3__.g @@ -60,23 +60,23 @@ T75 : '?' ; T76 : 'then' ; T77 : 'else' ; T78 : 'switch' ; -T79 : 'default' ; -T80 : '}' ; -T81 : 'case' ; -T82 : '||' ; -T83 : '&&' ; -T84 : 'implies' ; -T85 : '==' ; -T86 : '!=' ; -T87 : '>=' ; -T88 : '<=' ; -T89 : '>' ; -T90 : '<' ; -T91 : '+' ; -T92 : '/' ; -T93 : '!' ; -T94 : 'GLOBALVAR' ; -T95 : '{' ; +T79 : '{' ; +T80 : 'default' ; +T81 : '}' ; +T82 : 'case' ; +T83 : '||' ; +T84 : '&&' ; +T85 : 'implies' ; +T86 : '==' ; +T87 : '!=' ; +T88 : '>=' ; +T89 : '<=' ; +T90 : '>' ; +T91 : '<' ; +T92 : '+' ; +T93 : '/' ; +T94 : '!' ; +T95 : 'GLOBALVAR' ; T96 : 'new' ; T97 : 'false' ; T98 : 'true' ; @@ -94,16 +94,16 @@ T109 : '|' ; T110 : '[' ; T111 : ']' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 351 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 355 IntLiteral : ('0' | '1'..'9' '0'..'9'*) ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 353 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 357 StringLiteral : '"' ( EscapeSequence | ~('\\'|'"') )* '"' | '\'' ( EscapeSequence | ~('\''|'\\') )* '\'' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 358 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 362 fragment EscapeSequence : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') @@ -111,7 +111,7 @@ EscapeSequence | OctalEscape ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 365 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 369 fragment OctalEscape : '\\' ('0'..'3') ('0'..'7') ('0'..'7') @@ -119,33 +119,33 @@ OctalEscape | '\\' ('0'..'7') ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 372 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 376 fragment UnicodeEscape : '\\' 'u' HexDigit HexDigit HexDigit HexDigit ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 376 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 380 fragment HexDigit : ('0'..'9'|'a'..'f'|'A'..'F') ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 380 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 384 DEFINE : {xpandMode=true;} 'DEFINE'; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 381 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 385 ENDDEFINE : 'ENDDEFINE' {xpandMode=false;}; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 384 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 388 AROUND : {xpandMode=true;}'AROUND'; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 385 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 389 ENDAROUND : 'ENDAROUND'{xpandMode=false;}; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 387 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 391 Identifier : ('^')? Letter (Letter|JavaIDDigit)* ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 391 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 395 fragment Letter : '\u0024' | @@ -163,7 +163,7 @@ Letter '\uf900'..'\ufaff' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 408 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 412 fragment JavaIDDigit : '\u0030'..'\u0039' | @@ -183,40 +183,40 @@ JavaIDDigit '\u1040'..'\u1049' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 427 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 431 WS : (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 430 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 434 COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 434 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 438 LINE_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 439 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 443 REM_COMMENT_OUT : {!xpandMode}?=> LG 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' RG {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 443 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 447 REM_COMMENT : {xpandMode}?=> 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 448 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 452 TEXT : {xpandMode}?=> RG ~(LG)* (LG)? ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 452 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 456 LG : '\u00AB'; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 454 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 458 RG : '\u00BB'; diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/__Test__.class b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/__Test__.class Binary files differnew file mode 100644 index 00000000..3432a835 --- /dev/null +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/__Test__.class diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Lexer.class b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Lexer.class Binary files differnew file mode 100644 index 00000000..580ae41a --- /dev/null +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Lexer.class diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Parser$DFA44.class b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Parser$DFA44.class Binary files differnew file mode 100644 index 00000000..022f0391 --- /dev/null +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Parser$DFA44.class diff --git a/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Parser.class b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Parser.class Binary files differnew file mode 100644 index 00000000..242e9c12 --- /dev/null +++ b/plugins/org.eclipse.xpand3/src/org/eclipse/xpand3/parser/classes/org/eclipse/xpand3/parser/Xpand3Parser.class diff --git a/tests/org.eclipse.xpand3.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java b/tests/org.eclipse.xpand3.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java new file mode 100644 index 00000000..8611c568 --- /dev/null +++ b/tests/org.eclipse.xpand3.tests/src/org/eclipse/xpand3/parser/Xpand3MigratedNodeParserTest.java @@ -0,0 +1,240 @@ +package org.eclipse.xpand3.parser; + +import java.util.List; + +import junit.framework.TestCase; + +import org.antlr.runtime.ANTLRStringStream; +import org.antlr.runtime.CommonTokenStream; +import org.eclipse.xpand3.node.CompositeNode; +import org.eclipse.xpand3.node.LeafNode; +import org.eclipse.xpand3.node.LexedToken; +import org.eclipse.xpand3.node.Node; +import org.eclipse.xpand3.node.NodeUtil; + +public class Xpand3MigratedNodeParserTest extends TestCase { + + private CompositeNode parse(String s) throws Exception { + ANTLRStringStream stream = new ANTLRStringStream(s); + Xpand3Lexer lexer = new Xpand3Lexer(stream); + CommonTokenStream tokenStream = new CommonTokenStream(lexer); + AbstractXpand3NodeParser xpand3NodeParser = new Xpand3NodeParser( + tokenStream); + xpand3NodeParser.test_expression(); + Node rootNode = xpand3NodeParser.getRootNode(); + System.out.println(NodeUtil.toString(rootNode)); + // System.out.println(NodeUtil.serialize(rootNode)); + return (CompositeNode) rootNode; + } + + private CompositeNode checkIsRule(Node node, String ruleName, + int numChildren) { + assertTrue(node instanceof CompositeNode); + assertEquals(ruleName, ((CompositeNode) node).getRule()); + assertEquals(numChildren, ((CompositeNode) node).getChildren().size()); + return (CompositeNode) node; + } + + private CompositeNode checkChildIsRule(Node parent, int index, + String ruleName, int numChildren) { + return checkIsRule(getChild(parent, index), ruleName, numChildren); + } + + private CompositeNode checkChildIsIdentifier(Node parent, int index, + String identifierName) { + CompositeNode st = checkChildIsRule(parent, index, "r_simpleType", 1); + CompositeNode i = checkChildIsRule(st, 0, "r_identifier", 1); + checkChildIsToken(i, 0, identifierName); + return st; + } + + private LeafNode checkIsToken(Node node, String tokenText) { + assertTrue(node instanceof LeafNode); + LexedToken token = ((LeafNode) node).getToken(); + assertNotNull(token); + assertEquals(tokenText, token.getText()); + return (LeafNode) node; + } + + private LeafNode checkChildIsToken(Node parent, int index, String tokenText) { + return checkIsToken(getChild(parent, index), tokenText); + } + + private Node getChild(Node parent, int index) { + assertNotNull(parent); + assertTrue(parent instanceof CompositeNode); + List<Node> children = ((CompositeNode) parent).getChildren(); + assertTrue(children.size() > index); + Node child = children.get(index); + return child; + } + + public final void testSimple() throws Exception { + CompositeNode parse = parse("true == null"); + CompositeNode cn = checkIsRule(parse, "r_relationalExpression", 3); + CompositeNode bl = checkChildIsRule(cn, 0, "r_booleanLiteral", 1); + checkChildIsToken(bl, 0, "true"); + checkChildIsToken(cn, 1, "=="); + CompositeNode nl = checkChildIsRule(cn, 2, "r_nullLiteral", 1); + checkChildIsToken(nl, 0, "null"); + } + + public final void testSimple2() throws Exception { + CompositeNode ie = checkIsRule( + parse("String.feature.test(true,{\"test\",\"hallo\"})"), + "r_infixExpression", 5); + checkChildIsIdentifier(ie, 0, "String"); + checkChildIsToken(ie, 1, "."); + checkChildIsIdentifier(ie, 2, "feature"); + checkChildIsToken(ie, 3, "."); + CompositeNode fc = checkChildIsRule(ie, 4, "r_featureCall", 4); + CompositeNode i3 = checkChildIsRule(fc, 0, "r_identifier", 1); + checkChildIsToken(i3, 0, "test"); + checkChildIsToken(fc, 1, "("); + CompositeNode pl = checkChildIsRule(fc, 2, "r_parameterList", 3); + CompositeNode bl = checkChildIsRule(pl, 0, "r_booleanLiteral", 1); + checkChildIsToken(bl, 0, "true"); + checkChildIsToken(pl, 1, ","); + CompositeNode ll = checkChildIsRule(pl, 2, "r_listLiteral", 5); + checkChildIsToken(ll, 0, "{"); + CompositeNode pe1 = checkChildIsRule(ll, 1, "r_stringLiteral", 1); + checkChildIsToken(pe1, 0, "\"test\""); + checkChildIsToken(ll, 2, ","); + CompositeNode pe2 = checkChildIsRule(ll, 3, "r_stringLiteral", 1); + checkChildIsToken(pe2, 0, "\"hallo\""); + checkChildIsToken(ll, 4, "}"); + checkChildIsToken(fc, 3, ")"); + } + + public final void testIfExpression() throws Exception { + CompositeNode expr = parse("(client.sIdent1 != null) ? client.sIdent1 : \"XXXXXXXX\""); + CompositeNode ie = checkIsRule(expr, "r_ifExpression", 5); + CompositeNode pe = checkChildIsRule(ie, 0, "r_paranthesizedExpression", + 3); + checkChildIsToken(pe, 0, "("); + CompositeNode re = checkChildIsRule(pe, 1, "r_relationalExpression", 3); + CompositeNode ie0 = checkChildIsRule(re, 0, "r_infixExpression", 3); + checkChildIsIdentifier(ie0, 0, "client"); + checkChildIsToken(ie0, 1, "."); + checkChildIsIdentifier(ie0, 2, "sIdent1"); + checkChildIsToken(re, 1, "!="); + CompositeNode nl = checkChildIsRule(re, 2, "r_nullLiteral", 1); + checkChildIsToken(nl, 0, "null"); + checkChildIsToken(pe, 2, ")"); + checkChildIsToken(ie, 1, "?"); + CompositeNode ie1 = checkChildIsRule(ie, 2, "r_infixExpression", 3); + checkChildIsIdentifier(ie1, 0, "client"); + checkChildIsToken(ie1, 1, "."); + checkChildIsIdentifier(ie1, 2, "sIdent1"); + checkChildIsToken(ie, 3, ":"); + CompositeNode pe1 = checkChildIsRule(ie, 4, "r_stringLiteral", 1); + checkChildIsToken(pe1, 0, "\"XXXXXXXX\""); + } + + public void testIfExpression2() throws Exception { + Node expr = parse("if true then true else false"); + checkIsRule(expr, "r_ifExpression", 6); + checkChildIsToken(expr, 0, "if"); + CompositeNode bl0 = checkChildIsRule(expr, 1, "r_booleanLiteral", 1); + checkChildIsToken(bl0, 0, "true"); + checkChildIsToken(expr, 2, "then"); + CompositeNode bl1 = checkChildIsRule(expr, 3, "r_booleanLiteral", 1); + checkChildIsToken(bl1, 0, "true"); + checkChildIsToken(expr, 4, "else"); + CompositeNode bl2 = checkChildIsRule(expr, 5, "r_booleanLiteral", 1); + checkChildIsToken(bl2, 0, "false"); + } + + public final void testEscaped() throws Exception { + Node expr = parse("\"\\\"\""); + checkIsRule(expr, "r_stringLiteral", 1); + checkChildIsToken(expr, 0, "\"\\\"\""); + } + + public final void testNot() throws Exception { + Node expr = parse("! ts.checked"); + checkIsRule(expr, "r_unaryExpression", 2); + checkChildIsToken(expr, 0, "!"); + } + + public final void testCast() throws Exception { + Node expr = parse("(List[InnerType]) anExpr"); + checkIsRule(expr, "r_castedExpression", 4); + checkChildIsToken(expr, 0, "("); + CompositeNode ct = checkChildIsRule(expr, 1, "r_collectionType", 4); + checkChildIsToken(ct, 0, "List"); + checkChildIsToken(ct, 1, "["); + checkChildIsIdentifier(ct, 2, "InnerType"); + checkChildIsToken(ct, 3, "]"); + checkChildIsToken(expr, 2, ")"); + checkChildIsIdentifier(expr, 3, "anExpr"); + } + + public final void testSwitch() throws Exception { + Node expr = parse("switch { default : true }"); + + } + // assertNull(expr.getSwitchExpr()); + // assertTrue(expr.getCases().isEmpty()); + // assertEquals("true", ((BooleanLiteral) + // expr.getDefaultExpr()).getLiteralValue().getValue()); + // + // expr = (SwitchExpression) parse("switch (\"test\") { case \"horst\": + // false default : true }"); + // assertEquals("\"test\"", ((StringLiteral) + // expr.getSwitchExpr()).getLiteralValue().getValue()); + // final Case c = expr.getCases().get(0); + // assertEquals("\"horst\"", ((StringLiteral) + // c.getCondition()).getLiteralValue().getValue()); + // assertEquals("false", ((BooleanLiteral) + // c.getThenPart()).getLiteralValue().getValue()); + // + // assertEquals("true", ((BooleanLiteral) + // expr.getDefaultExpr()).getLiteralValue().getValue()); + // } + // + // public final void testChainExpression() { + // final ChainExpression expr = (ChainExpression) parse("1 -> 2 -> 3 -> 4"); + // assertEquals("4", expr.getNext().toString()); + // assertEquals("1->2->3", expr.getFirst().toString()); + // } + // + // public final void testPositionInfo() { + // final Expression exp = parse("\n\n\n1"); + // assertEquals(4, exp.getLine()); + // assertEquals(3, exp.getStart()); + // assertEquals(4, exp.getEnd()); + // + // } + // + // public final void testPositionInfo2() { + // final Expression exp = parse("/*\n\n\n*/1"); + // assertEquals(4, exp.getLine()); + // assertEquals(7, exp.getStart()); + // assertEquals(8, exp.getEnd()); + // } + // + // public final void testPositionInfo3() { + // final OperationCall exp = (OperationCall) parse("'/*\n\n\n*/'+1"); + // assertEquals(1, exp.getLine()); + // assertEquals(0, exp.getStart()); + // assertEquals(11, exp.getEnd()); + // final StringLiteral target = (StringLiteral) exp.getTarget(); + // assertEquals(1, target.getLine()); + // assertEquals(0, target.getStart()); + // assertEquals(9, target.getEnd()); + // final IntegerLiteral param = (IntegerLiteral) exp.getParams()[0]; + // assertEquals(4, param.getLine()); + // assertEquals(10, param.getStart()); + // assertEquals(11, param.getEnd()); + // } + // + // public final void testTypeLiterals() { + // final Expression e = parse("{" + " Object,\n" + " String,\n" + + // "Collection,\n" + " Set,\n" + " List,\n" + // + " oaw::Type,\n" + " oaw::Feature,\n" + " oaw::Property\n}"); + // + // assertNotNull(e); + // } + // +} |