diff options
5 files changed, 6169 insertions, 2675 deletions
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 356d77f9..f1425e49 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 @@ -1,4 +1,7 @@ grammar Xpand3; +@lexer::members { + private boolean xpandMode = false; +} @parser::header { package org.eclipse.xpand3.parser; @@ -9,6 +12,8 @@ package org.eclipse.xpand3.parser; } + + r_file : (r_nsImport)* (r_abstractDeclaration )* @@ -16,16 +21,123 @@ r_file : ; r_nsImport : - 'import' r_type ';' - |'extension' r_type ('reexport')? ';' + LG 'IMPORT' r_type RG | + LG 'EXTENSION' r_type RG | + 'import' r_type ';' | + 'extension' r_type ('reexport')? ';' ; r_abstractDeclaration : r_check | r_around | - r_extension + r_extension | + r_definition | + r_definitionAround +; + +// XPAND start + +r_definition : + LG DEFINE r_identifier ('(' (r_declaredParameterList (','? '*')? | '*')? ')')? 'FOR' r_type + r_sequence + ENDDEFINE RG +; + +r_definitionAround : + LG AROUND r_pointcut ('(' (r_declaredParameterList (','? '*')? | '*')? ')')? 'FOR' r_type + r_sequence + ENDAROUND RG +; + +r_sequence : + r_textSequence + (r_statement + r_textSequence)* +; + +r_statement : + r_simpleStatement +| r_fileStatement +| r_foreachStatement +| r_ifStatement +| r_letStatement +| r_protectStatement +; + +r_textSequence : + r_text (r_text)* +; + +r_text : + '-'? TEXT +; + +r_simpleStatement : + r_errorStatement +| r_expandStatement +| r_expressionStmt ; +r_errorStatement : + 'ERROR' r_expression +; + +r_expandStatement : + 'EXPAND' r_simpleType ('(' r_parameterList ')')? (('FOR' r_expression) + | ('FOREACH'r_expression ('SEPARATOR' r_expression)?))? +; + +r_expressionStmt : + r_expression +; + +r_fileStatement : + 'FILE' r_expression (r_identifier)? + r_sequence + 'ENDFILE' +; + +r_foreachStatement : + 'FOREACH' r_expression 'AS' r_identifier ('ITERATOR' r_identifier)? ('SEPARATOR' r_expression)? + r_sequence + 'ENDFOREACH' +; + +r_ifStatement : + 'IF' r_expression + r_sequence + r_elseIfStatement* + r_elseStatement? + 'ENDIF' +; + +r_elseIfStatement : + 'ELSEIF' r_expression + r_sequence +; + +r_elseStatement : + 'ELSE' + r_sequence +; + +r_letStatement : + 'LET' r_expression 'AS' r_identifier + r_sequence + 'ENDLET' +; + +r_protectStatement : + 'PROTECT' + 'CSTART' r_expression + 'CEND' r_expression + 'ID' r_expression 'DISABLE'? + r_sequence + 'ENDPROTECT' +; + +// Xtend start + r_check : 'context' r_type ('if' r_expression)? ('ERROR'|'WARNING') r_expression ':' r_expression ';' @@ -262,6 +374,14 @@ UnicodeEscape fragment HexDigit : ('0'..'9'|'a'..'f'|'A'..'F') ; + +DEFINE : {xpandMode=true;} 'DEFINE'; +ENDDEFINE + : 'ENDDEFINE' {xpandMode=false;}; + +AROUND : {xpandMode=true;}'AROUND'; +ENDAROUND : 'ENDAROUND'{xpandMode=false;}; + Identifier : ('^')? Letter (Letter|JavaIDDigit)* ; @@ -312,8 +432,17 @@ COMMENT LINE_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} ; + +REM_COMMENT : + 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} +; + + +TEXT : + {xpandMode}? RG ~(LG)* (LG)? +; -XPAND_TAG_OPEN +LG : '\u00AB'; -XPAND_TAG_CLOSE +RG : '\u00BB'; 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 d4c17f55..22d1e4f4 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 @@ -1,77 +1,106 @@ -XPAND_TAG_OPEN=16 -JavaIDDigit=12 -Letter=11 -UnicodeEscape=8 -IntLiteral=5 -Identifier=6 -HexDigit=10 -EscapeSequence=7 -WS=13 -OctalEscape=9 -COMMENT=14 -StringLiteral=4 -LINE_COMMENT=15 -XPAND_TAG_CLOSE=17 -'<'=59 -'exists'=76 -'>'=58 -'context'=22 -'case'=50 -'let'=41 -'else'=46 -'selectFirst'=74 -'-'=61 -'reexport'=21 -'?'=44 -'!='=55 -'List'=39 -'>='=56 -'GLOBALVAR'=64 -'||'=51 -'<='=57 -'typeSelect'=71 -'='=42 -'JAVA'=36 -'forAll'=79 -'ERROR'=24 -'collect'=72 -'::'=32 -'around'=27 -'then'=45 -'new'=67 -':'=26 -'.'=37 -'*'=30 -'sortBy'=78 -'Set'=40 -'notExists'=77 -'}'=49 -'->'=43 -'create'=35 -'extension'=20 -';'=19 -'true'=69 -'default'=48 -']'=66 -'false'=68 -','=29 -'&&'=52 -'['=65 -'/'=62 -'Collection'=38 -'implies'=53 -'reject'=75 -'private'=33 -'|'=80 -')'=31 -'=='=54 -'import'=18 -'if'=23 -'!'=63 -'('=28 -'switch'=47 -'select'=73 -'cached'=34 -'null'=70 -'+'=60 -'WARNING'=25 +IntLiteral=12 +Identifier=13 +HexDigit=17 +WS=20 +ENDDEFINE=7 +REM_COMMENT=23 +RG=5 +COMMENT=21 +StringLiteral=11 +LINE_COMMENT=22 +JavaIDDigit=19 +Letter=18 +DEFINE=6 +UnicodeEscape=15 +EscapeSequence=14 +TEXT=10 +ENDAROUND=9 +OctalEscape=16 +AROUND=8 +LG=4 +'<'=89 +'exists'=105 +'>'=88 +'case'=80 +'context'=57 +'FOREACH'=38 +'let'=71 +'else'=76 +'selectFirst'=103 +'ENDFILE'=41 +'-'=35 +'reexport'=29 +'?'=74 +'!='=85 +'List'=69 +'>='=86 +'GLOBALVAR'=93 +'ELSEIF'=47 +'<='=87 +'||'=81 +'ID'=54 +'typeSelect'=100 +'JAVA'=66 +'='=72 +'forAll'=108 +'ERROR'=36 +'collect'=101 +'::'=62 +'ENDIF'=46 +'ENDFOREACH'=44 +'ENDLET'=50 +'around'=61 +'then'=75 +'SEPARATOR'=39 +'AS'=42 +'new'=96 +':'=60 +'.'=67 +'*'=32 +'sortBy'=107 +'ITERATOR'=43 +'Set'=70 +'notExists'=106 +'}'=79 +'->'=73 +'create'=65 +'PROTECT'=51 +'extension'=28 +'FOR'=34 +'CEND'=53 +';'=27 +'true'=98 +']'=95 +'default'=78 +'false'=97 +','=31 +'&&'=82 +'LET'=49 +'['=94 +'/'=91 +'implies'=83 +'ELSE'=48 +'IMPORT'=24 +'Collection'=68 +'reject'=104 +'private'=63 +'|'=109 +'EXTENSION'=25 +'EXPAND'=37 +')'=33 +'FILE'=40 +'=='=84 +'ENDPROTECT'=56 +'IF'=45 +'import'=26 +'!'=92 +'CSTART'=52 +'if'=58 +'DISABLE'=55 +'switch'=77 +'('=30 +'select'=102 +'cached'=64 +'null'=99 +'+'=90 +'WARNING'=59 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 b0c6eb5e..01008001 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 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-27 13:36:50 +// $ANTLR 3.0 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-27 17:07:41 package org.eclipse.xpand3.parser; @@ -9,212 +9,131 @@ import java.util.List; import java.util.ArrayList; public class Xpand3Lexer extends Lexer { - public static final int T79=79; - public static final int IntLiteral=5; public static final int T29=29; - public static final int HexDigit=10; - public static final int T36=36; - public static final int T58=58; + public static final int HexDigit=17; public static final int T70=70; public static final int T74=74; + public static final int REM_COMMENT=23; + public static final int T85=85; + public static final int T102=102; + public static final int Letter=18; + public static final int T103=103; + public static final int T32=32; + public static final int T81=81; + public static final int T41=41; + public static final int T24=24; + public static final int LG=4; + public static final int T62=62; + public static final int T109=109; + public static final int T68=68; + public static final int T73=73; + public static final int T84=84; + public static final int T33=33; + public static final int Identifier=13; + public static final int T78=78; + public static final int WS=20; + public static final int T42=42; + public static final int RG=5; + public static final int T96=96; + public static final int T71=71; + public static final int LINE_COMMENT=22; + public static final int T72=72; + public static final int T94=94; + public static final int T76=76; + public static final int UnicodeEscape=15; + public static final int T75=75; + public static final int T89=89; + public static final int T67=67; + public static final int TEXT=10; + public static final int ENDAROUND=9; + public static final int T31=31; + public static final int T60=60; + public static final int T82=82; + public static final int T100=100; + public static final int T49=49; + public static final int T30=30; + public static final int T79=79; + public static final int IntLiteral=12; + public static final int T36=36; + public static final int T58=58; + public static final int T93=93; public static final int T35=35; + public static final int T107=107; + public static final int T83=83; public static final int T61=61; public static final int T45=45; - public static final int T20=20; public static final int T34=34; + public static final int T101=101; public static final int T64=64; - public static final int Letter=11; public static final int T25=25; - public static final int T18=18; + public static final int T91=91; + public static final int T105=105; public static final int T37=37; - public static final int EscapeSequence=7; + public static final int T86=86; + public static final int EscapeSequence=14; public static final int T26=26; - public static final int T32=32; public static final int T51=51; public static final int T46=46; public static final int T77=77; public static final int T38=38; - public static final int T41=41; - public static final int T24=24; - public static final int T19=19; + public static final int T106=106; public static final int T69=69; public static final int T39=39; - public static final int T21=21; - public static final int T62=62; public static final int T44=44; public static final int T55=55; - public static final int T73=73; - public static final int T68=68; - public static final int T33=33; - public static final int Identifier=6; - public static final int T22=22; + public static final int T95=95; public static final int T50=50; - public static final int T78=78; - public static final int WS=13; + public static final int T108=108; + public static final int T92=92; public static final int T43=43; - public static final int T23=23; + public static final int ENDDEFINE=7; public static final int T28=28; - public static final int T42=42; - public static final int T66=66; public static final int T40=40; - public static final int COMMENT=14; - public static final int T71=71; - public static final int StringLiteral=4; + public static final int T66=66; + public static final int COMMENT=21; + public static final int T88=88; + public static final int StringLiteral=11; public static final int T63=63; public static final int T57=57; - public static final int LINE_COMMENT=15; - public static final int T72=72; public static final int T65=65; + public static final int T98=98; public static final int T56=56; - public static final int T76=76; + public static final int T87=87; public static final int T80=80; - public static final int XPAND_TAG_OPEN=16; - public static final int JavaIDDigit=12; - public static final int UnicodeEscape=8; - public static final int T75=75; + public static final int JavaIDDigit=19; + public static final int DEFINE=6; public static final int T59=59; + public static final int T97=97; public static final int T48=48; public static final int T54=54; public static final int EOF=-1; - public static final int T67=67; + public static final int T104=104; public static final int T47=47; - public static final int Tokens=81; + public static final int Tokens=110; public static final int T53=53; - public static final int T60=60; - public static final int T31=31; - public static final int OctalEscape=9; - public static final int T49=49; + public static final int OctalEscape=16; + public static final int T99=99; public static final int T27=27; public static final int T52=52; - public static final int XPAND_TAG_CLOSE=17; - public static final int T30=30; + public static final int T90=90; + public static final int AROUND=8; + + private boolean xpandMode = false; + public Xpand3Lexer() {;} public Xpand3Lexer(CharStream input) { super(input); } public String getGrammarFileName() { return "src/org/eclipse/xpand3/parser/Xpand3.g"; } - // $ANTLR start T18 - public void mT18() throws RecognitionException { - try { - int _type = T18; - // src/org/eclipse/xpand3/parser/Xpand3.g:6:7: ( 'import' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:6:7: 'import' - { - match("import"); - - - } - - this.type = _type; - } - finally { - } - } - // $ANTLR end T18 - - // $ANTLR start T19 - public void mT19() throws RecognitionException { - try { - int _type = T19; - // src/org/eclipse/xpand3/parser/Xpand3.g:7:7: ( ';' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:7:7: ';' - { - match(';'); - - } - - this.type = _type; - } - finally { - } - } - // $ANTLR end T19 - - // $ANTLR start T20 - public void mT20() throws RecognitionException { - try { - int _type = T20; - // src/org/eclipse/xpand3/parser/Xpand3.g:8:7: ( 'extension' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:8:7: 'extension' - { - match("extension"); - - - } - - this.type = _type; - } - finally { - } - } - // $ANTLR end T20 - - // $ANTLR start T21 - public void mT21() throws RecognitionException { - try { - int _type = T21; - // src/org/eclipse/xpand3/parser/Xpand3.g:9:7: ( 'reexport' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:9:7: 'reexport' - { - match("reexport"); - - - } - - this.type = _type; - } - finally { - } - } - // $ANTLR end T21 - - // $ANTLR start T22 - public void mT22() throws RecognitionException { - try { - int _type = T22; - // src/org/eclipse/xpand3/parser/Xpand3.g:10:7: ( 'context' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:10:7: 'context' - { - match("context"); - - - } - - this.type = _type; - } - finally { - } - } - // $ANTLR end T22 - - // $ANTLR start T23 - public void mT23() throws RecognitionException { - try { - int _type = T23; - // src/org/eclipse/xpand3/parser/Xpand3.g:11:7: ( 'if' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:11:7: 'if' - { - match("if"); - - - } - - this.type = _type; - } - finally { - } - } - // $ANTLR end T23 - // $ANTLR start T24 public void mT24() throws RecognitionException { try { int _type = T24; - // src/org/eclipse/xpand3/parser/Xpand3.g:12:7: ( 'ERROR' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:12:7: 'ERROR' + // src/org/eclipse/xpand3/parser/Xpand3.g:9:7: ( 'IMPORT' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:9:7: 'IMPORT' { - match("ERROR"); + match("IMPORT"); } @@ -230,10 +149,10 @@ public class Xpand3Lexer extends Lexer { public void mT25() throws RecognitionException { try { int _type = T25; - // src/org/eclipse/xpand3/parser/Xpand3.g:13:7: ( 'WARNING' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:13:7: 'WARNING' + // src/org/eclipse/xpand3/parser/Xpand3.g:10:7: ( 'EXTENSION' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:10:7: 'EXTENSION' { - match("WARNING"); + match("EXTENSION"); } @@ -249,10 +168,11 @@ public class Xpand3Lexer extends Lexer { public void mT26() throws RecognitionException { try { int _type = T26; - // src/org/eclipse/xpand3/parser/Xpand3.g:14:7: ( ':' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:14:7: ':' + // src/org/eclipse/xpand3/parser/Xpand3.g:11:7: ( 'import' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:11:7: 'import' { - match(':'); + match("import"); + } @@ -267,11 +187,10 @@ public class Xpand3Lexer extends Lexer { public void mT27() throws RecognitionException { try { int _type = T27; - // src/org/eclipse/xpand3/parser/Xpand3.g:15:7: ( 'around' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:15:7: 'around' + // src/org/eclipse/xpand3/parser/Xpand3.g:12:7: ( ';' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:12:7: ';' { - match("around"); - + match(';'); } @@ -286,10 +205,11 @@ public class Xpand3Lexer extends Lexer { public void mT28() throws RecognitionException { try { int _type = T28; - // src/org/eclipse/xpand3/parser/Xpand3.g:16:7: ( '(' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:16:7: '(' + // src/org/eclipse/xpand3/parser/Xpand3.g:13:7: ( 'extension' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:13:7: 'extension' { - match('('); + match("extension"); + } @@ -304,10 +224,11 @@ public class Xpand3Lexer extends Lexer { public void mT29() throws RecognitionException { try { int _type = T29; - // src/org/eclipse/xpand3/parser/Xpand3.g:17:7: ( ',' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:17:7: ',' + // src/org/eclipse/xpand3/parser/Xpand3.g:14:7: ( 'reexport' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:14:7: 'reexport' { - match(','); + match("reexport"); + } @@ -322,10 +243,10 @@ public class Xpand3Lexer extends Lexer { public void mT30() throws RecognitionException { try { int _type = T30; - // src/org/eclipse/xpand3/parser/Xpand3.g:18:7: ( '*' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:18:7: '*' + // src/org/eclipse/xpand3/parser/Xpand3.g:15:7: ( '(' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:15:7: '(' { - match('*'); + match('('); } @@ -340,10 +261,10 @@ public class Xpand3Lexer extends Lexer { public void mT31() throws RecognitionException { try { int _type = T31; - // src/org/eclipse/xpand3/parser/Xpand3.g:19:7: ( ')' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:19:7: ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:16:7: ( ',' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:16:7: ',' { - match(')'); + match(','); } @@ -358,11 +279,10 @@ public class Xpand3Lexer extends Lexer { public void mT32() throws RecognitionException { try { int _type = T32; - // src/org/eclipse/xpand3/parser/Xpand3.g:20:7: ( '::' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:20:7: '::' + // src/org/eclipse/xpand3/parser/Xpand3.g:17:7: ( '*' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:17:7: '*' { - match("::"); - + match('*'); } @@ -377,11 +297,10 @@ public class Xpand3Lexer extends Lexer { public void mT33() throws RecognitionException { try { int _type = T33; - // src/org/eclipse/xpand3/parser/Xpand3.g:21:7: ( 'private' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:21:7: 'private' + // src/org/eclipse/xpand3/parser/Xpand3.g:18:7: ( ')' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:18:7: ')' { - match("private"); - + match(')'); } @@ -396,10 +315,10 @@ public class Xpand3Lexer extends Lexer { public void mT34() throws RecognitionException { try { int _type = T34; - // src/org/eclipse/xpand3/parser/Xpand3.g:22:7: ( 'cached' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:22:7: 'cached' + // src/org/eclipse/xpand3/parser/Xpand3.g:19:7: ( 'FOR' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:19:7: 'FOR' { - match("cached"); + match("FOR"); } @@ -415,11 +334,10 @@ public class Xpand3Lexer extends Lexer { public void mT35() throws RecognitionException { try { int _type = T35; - // src/org/eclipse/xpand3/parser/Xpand3.g:23:7: ( 'create' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:23:7: 'create' + // src/org/eclipse/xpand3/parser/Xpand3.g:20:7: ( '-' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:20:7: '-' { - match("create"); - + match('-'); } @@ -434,10 +352,10 @@ public class Xpand3Lexer extends Lexer { public void mT36() throws RecognitionException { try { int _type = T36; - // src/org/eclipse/xpand3/parser/Xpand3.g:24:7: ( 'JAVA' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:24:7: 'JAVA' + // src/org/eclipse/xpand3/parser/Xpand3.g:21:7: ( 'ERROR' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:21:7: 'ERROR' { - match("JAVA"); + match("ERROR"); } @@ -453,10 +371,11 @@ public class Xpand3Lexer extends Lexer { public void mT37() throws RecognitionException { try { int _type = T37; - // src/org/eclipse/xpand3/parser/Xpand3.g:25:7: ( '.' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:25:7: '.' + // src/org/eclipse/xpand3/parser/Xpand3.g:22:7: ( 'EXPAND' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:22:7: 'EXPAND' { - match('.'); + match("EXPAND"); + } @@ -471,10 +390,10 @@ public class Xpand3Lexer extends Lexer { public void mT38() throws RecognitionException { try { int _type = T38; - // src/org/eclipse/xpand3/parser/Xpand3.g:26:7: ( 'Collection' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:26:7: 'Collection' + // src/org/eclipse/xpand3/parser/Xpand3.g:23:7: ( 'FOREACH' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:23:7: 'FOREACH' { - match("Collection"); + match("FOREACH"); } @@ -490,10 +409,10 @@ public class Xpand3Lexer extends Lexer { public void mT39() throws RecognitionException { try { int _type = T39; - // src/org/eclipse/xpand3/parser/Xpand3.g:27:7: ( 'List' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:27:7: 'List' + // src/org/eclipse/xpand3/parser/Xpand3.g:24:7: ( 'SEPARATOR' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:24:7: 'SEPARATOR' { - match("List"); + match("SEPARATOR"); } @@ -509,10 +428,10 @@ public class Xpand3Lexer extends Lexer { public void mT40() throws RecognitionException { try { int _type = T40; - // src/org/eclipse/xpand3/parser/Xpand3.g:28:7: ( 'Set' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:28:7: 'Set' + // src/org/eclipse/xpand3/parser/Xpand3.g:25:7: ( 'FILE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:25:7: 'FILE' { - match("Set"); + match("FILE"); } @@ -528,10 +447,10 @@ public class Xpand3Lexer extends Lexer { public void mT41() throws RecognitionException { try { int _type = T41; - // src/org/eclipse/xpand3/parser/Xpand3.g:29:7: ( 'let' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:29:7: 'let' + // src/org/eclipse/xpand3/parser/Xpand3.g:26:7: ( 'ENDFILE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:26:7: 'ENDFILE' { - match("let"); + match("ENDFILE"); } @@ -547,10 +466,11 @@ public class Xpand3Lexer extends Lexer { public void mT42() throws RecognitionException { try { int _type = T42; - // src/org/eclipse/xpand3/parser/Xpand3.g:30:7: ( '=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:30:7: '=' + // src/org/eclipse/xpand3/parser/Xpand3.g:27:7: ( 'AS' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:27:7: 'AS' { - match('='); + match("AS"); + } @@ -565,10 +485,10 @@ public class Xpand3Lexer extends Lexer { public void mT43() throws RecognitionException { try { int _type = T43; - // src/org/eclipse/xpand3/parser/Xpand3.g:31:7: ( '->' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:31:7: '->' + // src/org/eclipse/xpand3/parser/Xpand3.g:28:7: ( 'ITERATOR' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:28:7: 'ITERATOR' { - match("->"); + match("ITERATOR"); } @@ -584,10 +504,11 @@ public class Xpand3Lexer extends Lexer { public void mT44() throws RecognitionException { try { int _type = T44; - // src/org/eclipse/xpand3/parser/Xpand3.g:32:7: ( '?' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:32:7: '?' + // src/org/eclipse/xpand3/parser/Xpand3.g:29:7: ( 'ENDFOREACH' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:29:7: 'ENDFOREACH' { - match('?'); + match("ENDFOREACH"); + } @@ -602,10 +523,10 @@ public class Xpand3Lexer extends Lexer { public void mT45() throws RecognitionException { try { int _type = T45; - // src/org/eclipse/xpand3/parser/Xpand3.g:33:7: ( 'then' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:33:7: 'then' + // src/org/eclipse/xpand3/parser/Xpand3.g:30:7: ( 'IF' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:30:7: 'IF' { - match("then"); + match("IF"); } @@ -621,10 +542,10 @@ public class Xpand3Lexer extends Lexer { public void mT46() throws RecognitionException { try { int _type = T46; - // src/org/eclipse/xpand3/parser/Xpand3.g:34:7: ( 'else' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:34:7: 'else' + // src/org/eclipse/xpand3/parser/Xpand3.g:31:7: ( 'ENDIF' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:31:7: 'ENDIF' { - match("else"); + match("ENDIF"); } @@ -640,10 +561,10 @@ public class Xpand3Lexer extends Lexer { public void mT47() throws RecognitionException { try { int _type = T47; - // src/org/eclipse/xpand3/parser/Xpand3.g:35:7: ( 'switch' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:35:7: 'switch' + // src/org/eclipse/xpand3/parser/Xpand3.g:32:7: ( 'ELSEIF' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:32:7: 'ELSEIF' { - match("switch"); + match("ELSEIF"); } @@ -659,10 +580,10 @@ public class Xpand3Lexer extends Lexer { public void mT48() throws RecognitionException { try { int _type = T48; - // src/org/eclipse/xpand3/parser/Xpand3.g:36:7: ( 'default' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:36:7: 'default' + // src/org/eclipse/xpand3/parser/Xpand3.g:33:7: ( 'ELSE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:33:7: 'ELSE' { - match("default"); + match("ELSE"); } @@ -678,10 +599,11 @@ public class Xpand3Lexer extends Lexer { public void mT49() throws RecognitionException { try { int _type = T49; - // src/org/eclipse/xpand3/parser/Xpand3.g:37:7: ( '}' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:37:7: '}' + // src/org/eclipse/xpand3/parser/Xpand3.g:34:7: ( 'LET' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:34:7: 'LET' { - match('}'); + match("LET"); + } @@ -696,10 +618,10 @@ public class Xpand3Lexer extends Lexer { public void mT50() throws RecognitionException { try { int _type = T50; - // src/org/eclipse/xpand3/parser/Xpand3.g:38:7: ( 'case' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:38:7: 'case' + // src/org/eclipse/xpand3/parser/Xpand3.g:35:7: ( 'ENDLET' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:35:7: 'ENDLET' { - match("case"); + match("ENDLET"); } @@ -715,10 +637,10 @@ public class Xpand3Lexer extends Lexer { public void mT51() throws RecognitionException { try { int _type = T51; - // src/org/eclipse/xpand3/parser/Xpand3.g:39:7: ( '||' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:39:7: '||' + // src/org/eclipse/xpand3/parser/Xpand3.g:36:7: ( 'PROTECT' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:36:7: 'PROTECT' { - match("||"); + match("PROTECT"); } @@ -734,10 +656,10 @@ public class Xpand3Lexer extends Lexer { public void mT52() throws RecognitionException { try { int _type = T52; - // src/org/eclipse/xpand3/parser/Xpand3.g:40:7: ( '&&' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:40:7: '&&' + // src/org/eclipse/xpand3/parser/Xpand3.g:37:7: ( 'CSTART' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:37:7: 'CSTART' { - match("&&"); + match("CSTART"); } @@ -753,10 +675,10 @@ public class Xpand3Lexer extends Lexer { public void mT53() throws RecognitionException { try { int _type = T53; - // src/org/eclipse/xpand3/parser/Xpand3.g:41:7: ( 'implies' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:41:7: 'implies' + // src/org/eclipse/xpand3/parser/Xpand3.g:38:7: ( 'CEND' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:38:7: 'CEND' { - match("implies"); + match("CEND"); } @@ -772,10 +694,10 @@ public class Xpand3Lexer extends Lexer { public void mT54() throws RecognitionException { try { int _type = T54; - // src/org/eclipse/xpand3/parser/Xpand3.g:42:7: ( '==' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:42:7: '==' + // src/org/eclipse/xpand3/parser/Xpand3.g:39:7: ( 'ID' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:39:7: 'ID' { - match("=="); + match("ID"); } @@ -791,10 +713,10 @@ public class Xpand3Lexer extends Lexer { public void mT55() throws RecognitionException { try { int _type = T55; - // src/org/eclipse/xpand3/parser/Xpand3.g:43:7: ( '!=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:43:7: '!=' + // src/org/eclipse/xpand3/parser/Xpand3.g:40:7: ( 'DISABLE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:40:7: 'DISABLE' { - match("!="); + match("DISABLE"); } @@ -810,10 +732,10 @@ public class Xpand3Lexer extends Lexer { public void mT56() throws RecognitionException { try { int _type = T56; - // src/org/eclipse/xpand3/parser/Xpand3.g:44:7: ( '>=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:44:7: '>=' + // src/org/eclipse/xpand3/parser/Xpand3.g:41:7: ( 'ENDPROTECT' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:41:7: 'ENDPROTECT' { - match(">="); + match("ENDPROTECT"); } @@ -829,10 +751,10 @@ public class Xpand3Lexer extends Lexer { public void mT57() throws RecognitionException { try { int _type = T57; - // src/org/eclipse/xpand3/parser/Xpand3.g:45:7: ( '<=' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:45:7: '<=' + // src/org/eclipse/xpand3/parser/Xpand3.g:42:7: ( 'context' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:42:7: 'context' { - match("<="); + match("context"); } @@ -848,10 +770,11 @@ public class Xpand3Lexer extends Lexer { public void mT58() throws RecognitionException { try { int _type = T58; - // src/org/eclipse/xpand3/parser/Xpand3.g:46:7: ( '>' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:46:7: '>' + // src/org/eclipse/xpand3/parser/Xpand3.g:43:7: ( 'if' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:43:7: 'if' { - match('>'); + match("if"); + } @@ -866,10 +789,11 @@ public class Xpand3Lexer extends Lexer { public void mT59() throws RecognitionException { try { int _type = T59; - // src/org/eclipse/xpand3/parser/Xpand3.g:47:7: ( '<' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:47:7: '<' + // src/org/eclipse/xpand3/parser/Xpand3.g:44:7: ( 'WARNING' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:44:7: 'WARNING' { - match('<'); + match("WARNING"); + } @@ -884,10 +808,10 @@ public class Xpand3Lexer extends Lexer { public void mT60() throws RecognitionException { try { int _type = T60; - // src/org/eclipse/xpand3/parser/Xpand3.g:48:7: ( '+' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:48:7: '+' + // src/org/eclipse/xpand3/parser/Xpand3.g:45:7: ( ':' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:45:7: ':' { - match('+'); + match(':'); } @@ -902,10 +826,11 @@ public class Xpand3Lexer extends Lexer { public void mT61() throws RecognitionException { try { int _type = T61; - // src/org/eclipse/xpand3/parser/Xpand3.g:49:7: ( '-' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:49:7: '-' + // src/org/eclipse/xpand3/parser/Xpand3.g:46:7: ( 'around' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:46:7: 'around' { - match('-'); + match("around"); + } @@ -920,10 +845,11 @@ public class Xpand3Lexer extends Lexer { public void mT62() throws RecognitionException { try { int _type = T62; - // src/org/eclipse/xpand3/parser/Xpand3.g:50:7: ( '/' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:50:7: '/' + // src/org/eclipse/xpand3/parser/Xpand3.g:47:7: ( '::' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:47:7: '::' { - match('/'); + match("::"); + } @@ -938,10 +864,11 @@ public class Xpand3Lexer extends Lexer { public void mT63() throws RecognitionException { try { int _type = T63; - // src/org/eclipse/xpand3/parser/Xpand3.g:51:7: ( '!' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:51:7: '!' + // src/org/eclipse/xpand3/parser/Xpand3.g:48:7: ( 'private' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:48:7: 'private' { - match('!'); + match("private"); + } @@ -956,10 +883,10 @@ public class Xpand3Lexer extends Lexer { public void mT64() throws RecognitionException { try { int _type = T64; - // src/org/eclipse/xpand3/parser/Xpand3.g:52:7: ( 'GLOBALVAR' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:52:7: 'GLOBALVAR' + // src/org/eclipse/xpand3/parser/Xpand3.g:49:7: ( 'cached' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:49:7: 'cached' { - match("GLOBALVAR"); + match("cached"); } @@ -975,10 +902,11 @@ public class Xpand3Lexer extends Lexer { public void mT65() throws RecognitionException { try { int _type = T65; - // src/org/eclipse/xpand3/parser/Xpand3.g:53:7: ( '[' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:53:7: '[' + // src/org/eclipse/xpand3/parser/Xpand3.g:50:7: ( 'create' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:50:7: 'create' { - match('['); + match("create"); + } @@ -993,10 +921,11 @@ public class Xpand3Lexer extends Lexer { public void mT66() throws RecognitionException { try { int _type = T66; - // src/org/eclipse/xpand3/parser/Xpand3.g:54:7: ( ']' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:54:7: ']' + // src/org/eclipse/xpand3/parser/Xpand3.g:51:7: ( 'JAVA' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:51:7: 'JAVA' { - match(']'); + match("JAVA"); + } @@ -1011,11 +940,10 @@ public class Xpand3Lexer extends Lexer { public void mT67() throws RecognitionException { try { int _type = T67; - // src/org/eclipse/xpand3/parser/Xpand3.g:55:7: ( 'new' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:55:7: 'new' + // src/org/eclipse/xpand3/parser/Xpand3.g:52:7: ( '.' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:52:7: '.' { - match("new"); - + match('.'); } @@ -1030,10 +958,10 @@ public class Xpand3Lexer extends Lexer { public void mT68() throws RecognitionException { try { int _type = T68; - // src/org/eclipse/xpand3/parser/Xpand3.g:56:7: ( 'false' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:56:7: 'false' + // src/org/eclipse/xpand3/parser/Xpand3.g:53:7: ( 'Collection' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:53:7: 'Collection' { - match("false"); + match("Collection"); } @@ -1049,10 +977,10 @@ public class Xpand3Lexer extends Lexer { public void mT69() throws RecognitionException { try { int _type = T69; - // src/org/eclipse/xpand3/parser/Xpand3.g:57:7: ( 'true' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:57:7: 'true' + // src/org/eclipse/xpand3/parser/Xpand3.g:54:7: ( 'List' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:54:7: 'List' { - match("true"); + match("List"); } @@ -1068,10 +996,10 @@ public class Xpand3Lexer extends Lexer { public void mT70() throws RecognitionException { try { int _type = T70; - // src/org/eclipse/xpand3/parser/Xpand3.g:58:7: ( 'null' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:58:7: 'null' + // src/org/eclipse/xpand3/parser/Xpand3.g:55:7: ( 'Set' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:55:7: 'Set' { - match("null"); + match("Set"); } @@ -1087,10 +1015,10 @@ public class Xpand3Lexer extends Lexer { public void mT71() throws RecognitionException { try { int _type = T71; - // src/org/eclipse/xpand3/parser/Xpand3.g:59:7: ( 'typeSelect' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:59:7: 'typeSelect' + // src/org/eclipse/xpand3/parser/Xpand3.g:56:7: ( 'let' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:56:7: 'let' { - match("typeSelect"); + match("let"); } @@ -1106,11 +1034,10 @@ public class Xpand3Lexer extends Lexer { public void mT72() throws RecognitionException { try { int _type = T72; - // src/org/eclipse/xpand3/parser/Xpand3.g:60:7: ( 'collect' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:60:7: 'collect' + // src/org/eclipse/xpand3/parser/Xpand3.g:57:7: ( '=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:57:7: '=' { - match("collect"); - + match('='); } @@ -1125,10 +1052,10 @@ public class Xpand3Lexer extends Lexer { public void mT73() throws RecognitionException { try { int _type = T73; - // src/org/eclipse/xpand3/parser/Xpand3.g:61:7: ( 'select' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:61:7: 'select' + // src/org/eclipse/xpand3/parser/Xpand3.g:58:7: ( '->' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:58:7: '->' { - match("select"); + match("->"); } @@ -1144,11 +1071,10 @@ public class Xpand3Lexer extends Lexer { public void mT74() throws RecognitionException { try { int _type = T74; - // src/org/eclipse/xpand3/parser/Xpand3.g:62:7: ( 'selectFirst' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:62:7: 'selectFirst' + // src/org/eclipse/xpand3/parser/Xpand3.g:59:7: ( '?' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:59:7: '?' { - match("selectFirst"); - + match('?'); } @@ -1163,10 +1089,10 @@ public class Xpand3Lexer extends Lexer { public void mT75() throws RecognitionException { try { int _type = T75; - // src/org/eclipse/xpand3/parser/Xpand3.g:63:7: ( 'reject' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:63:7: 'reject' + // src/org/eclipse/xpand3/parser/Xpand3.g:60:7: ( 'then' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:60:7: 'then' { - match("reject"); + match("then"); } @@ -1182,10 +1108,10 @@ public class Xpand3Lexer extends Lexer { public void mT76() throws RecognitionException { try { int _type = T76; - // src/org/eclipse/xpand3/parser/Xpand3.g:64:7: ( 'exists' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:64:7: 'exists' + // src/org/eclipse/xpand3/parser/Xpand3.g:61:7: ( 'else' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:61:7: 'else' { - match("exists"); + match("else"); } @@ -1201,10 +1127,10 @@ public class Xpand3Lexer extends Lexer { public void mT77() throws RecognitionException { try { int _type = T77; - // src/org/eclipse/xpand3/parser/Xpand3.g:65:7: ( 'notExists' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:65:7: 'notExists' + // src/org/eclipse/xpand3/parser/Xpand3.g:62:7: ( 'switch' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:62:7: 'switch' { - match("notExists"); + match("switch"); } @@ -1220,10 +1146,10 @@ public class Xpand3Lexer extends Lexer { public void mT78() throws RecognitionException { try { int _type = T78; - // src/org/eclipse/xpand3/parser/Xpand3.g:66:7: ( 'sortBy' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:66:7: 'sortBy' + // src/org/eclipse/xpand3/parser/Xpand3.g:63:7: ( 'default' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:63:7: 'default' { - match("sortBy"); + match("default"); } @@ -1239,11 +1165,10 @@ public class Xpand3Lexer extends Lexer { public void mT79() throws RecognitionException { try { int _type = T79; - // src/org/eclipse/xpand3/parser/Xpand3.g:67:7: ( 'forAll' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:67:7: 'forAll' + // src/org/eclipse/xpand3/parser/Xpand3.g:64:7: ( '}' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:64:7: '}' { - match("forAll"); - + match('}'); } @@ -1258,10 +1183,11 @@ public class Xpand3Lexer extends Lexer { public void mT80() throws RecognitionException { try { int _type = T80; - // src/org/eclipse/xpand3/parser/Xpand3.g:68:7: ( '|' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:68:7: '|' + // src/org/eclipse/xpand3/parser/Xpand3.g:65:7: ( 'case' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:65:7: 'case' { - match('|'); + match("case"); + } @@ -1272,14 +1198,557 @@ public class Xpand3Lexer extends Lexer { } // $ANTLR end T80 + // $ANTLR start T81 + public void mT81() throws RecognitionException { + try { + int _type = T81; + // src/org/eclipse/xpand3/parser/Xpand3.g:66:7: ( '||' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:66:7: '||' + { + match("||"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T81 + + // $ANTLR start T82 + public void mT82() throws RecognitionException { + try { + int _type = T82; + // src/org/eclipse/xpand3/parser/Xpand3.g:67:7: ( '&&' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:67:7: '&&' + { + match("&&"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T82 + + // $ANTLR start T83 + public void mT83() throws RecognitionException { + try { + int _type = T83; + // src/org/eclipse/xpand3/parser/Xpand3.g:68:7: ( 'implies' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:68:7: 'implies' + { + match("implies"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T83 + + // $ANTLR start T84 + public void mT84() throws RecognitionException { + try { + int _type = T84; + // src/org/eclipse/xpand3/parser/Xpand3.g:69:7: ( '==' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:69:7: '==' + { + match("=="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T84 + + // $ANTLR start T85 + public void mT85() throws RecognitionException { + try { + int _type = T85; + // src/org/eclipse/xpand3/parser/Xpand3.g:70:7: ( '!=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:70:7: '!=' + { + match("!="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T85 + + // $ANTLR start T86 + public void mT86() throws RecognitionException { + try { + int _type = T86; + // src/org/eclipse/xpand3/parser/Xpand3.g:71:7: ( '>=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:71:7: '>=' + { + match(">="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T86 + + // $ANTLR start T87 + public void mT87() throws RecognitionException { + try { + int _type = T87; + // src/org/eclipse/xpand3/parser/Xpand3.g:72:7: ( '<=' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:72:7: '<=' + { + match("<="); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T87 + + // $ANTLR start T88 + public void mT88() throws RecognitionException { + try { + int _type = T88; + // src/org/eclipse/xpand3/parser/Xpand3.g:73:7: ( '>' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:73:7: '>' + { + match('>'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T88 + + // $ANTLR start T89 + public void mT89() throws RecognitionException { + try { + int _type = T89; + // src/org/eclipse/xpand3/parser/Xpand3.g:74:7: ( '<' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:74:7: '<' + { + match('<'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T89 + + // $ANTLR start T90 + public void mT90() throws RecognitionException { + try { + int _type = T90; + // src/org/eclipse/xpand3/parser/Xpand3.g:75:7: ( '+' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:75:7: '+' + { + match('+'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T90 + + // $ANTLR start T91 + public void mT91() throws RecognitionException { + try { + int _type = T91; + // src/org/eclipse/xpand3/parser/Xpand3.g:76:7: ( '/' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:76:7: '/' + { + match('/'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T91 + + // $ANTLR start T92 + public void mT92() throws RecognitionException { + try { + int _type = T92; + // src/org/eclipse/xpand3/parser/Xpand3.g:77:7: ( '!' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:77:7: '!' + { + match('!'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T92 + + // $ANTLR start T93 + public void mT93() throws RecognitionException { + try { + int _type = T93; + // src/org/eclipse/xpand3/parser/Xpand3.g:78:7: ( 'GLOBALVAR' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:78:7: 'GLOBALVAR' + { + match("GLOBALVAR"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T93 + + // $ANTLR start T94 + public void mT94() throws RecognitionException { + try { + int _type = T94; + // src/org/eclipse/xpand3/parser/Xpand3.g:79:7: ( '[' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:79:7: '[' + { + match('['); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T94 + + // $ANTLR start T95 + public void mT95() throws RecognitionException { + try { + int _type = T95; + // src/org/eclipse/xpand3/parser/Xpand3.g:80:7: ( ']' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:80:7: ']' + { + match(']'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T95 + + // $ANTLR start T96 + public void mT96() throws RecognitionException { + try { + int _type = T96; + // src/org/eclipse/xpand3/parser/Xpand3.g:81:7: ( 'new' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:81:7: 'new' + { + match("new"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T96 + + // $ANTLR start T97 + public void mT97() throws RecognitionException { + try { + int _type = T97; + // src/org/eclipse/xpand3/parser/Xpand3.g:82:7: ( 'false' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:82:7: 'false' + { + match("false"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T97 + + // $ANTLR start T98 + public void mT98() throws RecognitionException { + try { + int _type = T98; + // src/org/eclipse/xpand3/parser/Xpand3.g:83:7: ( 'true' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:83:7: 'true' + { + match("true"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T98 + + // $ANTLR start T99 + public void mT99() throws RecognitionException { + try { + int _type = T99; + // src/org/eclipse/xpand3/parser/Xpand3.g:84:7: ( 'null' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:84:7: 'null' + { + match("null"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T99 + + // $ANTLR start T100 + public void mT100() throws RecognitionException { + try { + int _type = T100; + // src/org/eclipse/xpand3/parser/Xpand3.g:85:8: ( 'typeSelect' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:85:8: 'typeSelect' + { + match("typeSelect"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T100 + + // $ANTLR start T101 + public void mT101() throws RecognitionException { + try { + int _type = T101; + // src/org/eclipse/xpand3/parser/Xpand3.g:86:8: ( 'collect' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:86:8: 'collect' + { + match("collect"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T101 + + // $ANTLR start T102 + public void mT102() throws RecognitionException { + try { + int _type = T102; + // src/org/eclipse/xpand3/parser/Xpand3.g:87:8: ( 'select' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:87:8: 'select' + { + match("select"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T102 + + // $ANTLR start T103 + public void mT103() throws RecognitionException { + try { + int _type = T103; + // src/org/eclipse/xpand3/parser/Xpand3.g:88:8: ( 'selectFirst' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:88:8: 'selectFirst' + { + match("selectFirst"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T103 + + // $ANTLR start T104 + public void mT104() throws RecognitionException { + try { + int _type = T104; + // src/org/eclipse/xpand3/parser/Xpand3.g:89:8: ( 'reject' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:89:8: 'reject' + { + match("reject"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T104 + + // $ANTLR start T105 + public void mT105() throws RecognitionException { + try { + int _type = T105; + // src/org/eclipse/xpand3/parser/Xpand3.g:90:8: ( 'exists' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:90:8: 'exists' + { + match("exists"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T105 + + // $ANTLR start T106 + public void mT106() throws RecognitionException { + try { + int _type = T106; + // src/org/eclipse/xpand3/parser/Xpand3.g:91:8: ( 'notExists' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:91:8: 'notExists' + { + match("notExists"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T106 + + // $ANTLR start T107 + public void mT107() throws RecognitionException { + try { + int _type = T107; + // src/org/eclipse/xpand3/parser/Xpand3.g:92:8: ( 'sortBy' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:92:8: 'sortBy' + { + match("sortBy"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T107 + + // $ANTLR start T108 + public void mT108() throws RecognitionException { + try { + int _type = T108; + // src/org/eclipse/xpand3/parser/Xpand3.g:93:8: ( 'forAll' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:93:8: 'forAll' + { + match("forAll"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T108 + + // $ANTLR start T109 + public void mT109() throws RecognitionException { + try { + int _type = T109; + // src/org/eclipse/xpand3/parser/Xpand3.g:94:8: ( '|' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:94:8: '|' + { + match('|'); + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end T109 + // $ANTLR start IntLiteral public void mIntLiteral() throws RecognitionException { try { int _type = IntLiteral; - // src/org/eclipse/xpand3/parser/Xpand3.g:237:14: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:237:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:349:14: ( ( '0' | '1' .. '9' ( '0' .. '9' )* ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:349:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) { - // src/org/eclipse/xpand3/parser/Xpand3.g:237:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:349:14: ( '0' | '1' .. '9' ( '0' .. '9' )* ) int alt2=2; int LA2_0 = input.LA(1); @@ -1291,23 +1760,23 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("237:14: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 2, 0, input); + new NoViableAltException("349:14: ( '0' | '1' .. '9' ( '0' .. '9' )* )", 2, 0, input); throw nvae; } switch (alt2) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:237:15: '0' + // src/org/eclipse/xpand3/parser/Xpand3.g:349:15: '0' { match('0'); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:237:21: '1' .. '9' ( '0' .. '9' )* + // src/org/eclipse/xpand3/parser/Xpand3.g:349:21: '1' .. '9' ( '0' .. '9' )* { matchRange('1','9'); - // src/org/eclipse/xpand3/parser/Xpand3.g:237:30: ( '0' .. '9' )* + // src/org/eclipse/xpand3/parser/Xpand3.g:349:30: ( '0' .. '9' )* loop1: do { int alt1=2; @@ -1320,7 +1789,7 @@ public class Xpand3Lexer extends Lexer { switch (alt1) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:237:30: '0' .. '9' + // src/org/eclipse/xpand3/parser/Xpand3.g:349:30: '0' .. '9' { matchRange('0','9'); @@ -1352,7 +1821,7 @@ public class Xpand3Lexer extends Lexer { public void mStringLiteral() throws RecognitionException { try { int _type = StringLiteral; - // src/org/eclipse/xpand3/parser/Xpand3.g:240:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:352:8: ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' ) int alt5=2; int LA5_0 = input.LA(1); @@ -1364,16 +1833,16 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("239:1: StringLiteral : ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' );", 5, 0, input); + new NoViableAltException("351:1: StringLiteral : ( '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' | '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' );", 5, 0, input); throw nvae; } switch (alt5) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:240:8: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' + // src/org/eclipse/xpand3/parser/Xpand3.g:352:8: '\"' ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* '\"' { match('\"'); - // src/org/eclipse/xpand3/parser/Xpand3.g:240:12: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:352:12: ( EscapeSequence | ~ ( '\\\\' | '\"' ) )* loop3: do { int alt3=3; @@ -1389,14 +1858,14 @@ public class Xpand3Lexer extends Lexer { switch (alt3) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:240:14: EscapeSequence + // src/org/eclipse/xpand3/parser/Xpand3.g:352:14: EscapeSequence { mEscapeSequence(); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:240:31: ~ ( '\\\\' | '\"' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:352:31: ~ ( '\\\\' | '\"' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='!')||(input.LA(1)>='#' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -1422,10 +1891,10 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:241:8: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' + // src/org/eclipse/xpand3/parser/Xpand3.g:353:8: '\\'' ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* '\\'' { match('\''); - // src/org/eclipse/xpand3/parser/Xpand3.g:241:13: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:353:13: ( EscapeSequence | ~ ( '\\'' | '\\\\' ) )* loop4: do { int alt4=3; @@ -1441,14 +1910,14 @@ public class Xpand3Lexer extends Lexer { switch (alt4) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:241:15: EscapeSequence + // src/org/eclipse/xpand3/parser/Xpand3.g:353:15: EscapeSequence { mEscapeSequence(); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:241:32: ~ ( '\\'' | '\\\\' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:353:32: ~ ( '\\'' | '\\\\' ) { if ( (input.LA(1)>='\u0000' && input.LA(1)<='&')||(input.LA(1)>='(' && input.LA(1)<='[')||(input.LA(1)>=']' && input.LA(1)<='\uFFFE') ) { input.consume(); @@ -1485,17 +1954,12 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start EscapeSequence public void mEscapeSequence() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:246:9: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape ) + // src/org/eclipse/xpand3/parser/Xpand3.g:358:9: ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape ) int alt6=3; int LA6_0 = input.LA(1); if ( (LA6_0=='\\') ) { switch ( input.LA(2) ) { - case 'u': - { - alt6=2; - } - break; case '\"': case '\'': case '\\': @@ -1508,6 +1972,11 @@ public class Xpand3Lexer extends Lexer { alt6=1; } break; + case 'u': + { + alt6=2; + } + break; case '0': case '1': case '2': @@ -1522,7 +1991,7 @@ public class Xpand3Lexer extends Lexer { break; default: NoViableAltException nvae = - new NoViableAltException("244:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 1, input); + new NoViableAltException("356:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 1, input); throw nvae; } @@ -1530,13 +1999,13 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("244:1: fragment EscapeSequence : ( '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) | UnicodeEscape | OctalEscape );", 6, 0, input); + new NoViableAltException("356: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:246:9: '\\\\' ( 'b' | 't' | 'n' | 'f' | 'r' | '\\\"' | '\\'' | '\\\\' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:358: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' ) { @@ -1553,14 +2022,14 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:247:9: UnicodeEscape + // src/org/eclipse/xpand3/parser/Xpand3.g:359:9: UnicodeEscape { mUnicodeEscape(); } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:248:9: OctalEscape + // src/org/eclipse/xpand3/parser/Xpand3.g:360:9: OctalEscape { mOctalEscape(); @@ -1577,7 +2046,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start OctalEscape public void mOctalEscape() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:253:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:365:9: ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ) int alt7=3; int LA7_0 = input.LA(1); @@ -1610,38 +2079,38 @@ public class Xpand3Lexer extends Lexer { } else { NoViableAltException nvae = - new NoViableAltException("251:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 1, input); + new NoViableAltException("363: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("251:1: fragment OctalEscape : ( '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) | '\\\\' ( '0' .. '7' ) );", 7, 0, input); + new NoViableAltException("363: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:253:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:365:9: '\\\\' ( '0' .. '3' ) ( '0' .. '7' ) ( '0' .. '7' ) { match('\\'); - // src/org/eclipse/xpand3/parser/Xpand3.g:253:14: ( '0' .. '3' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:253:15: '0' .. '3' + // src/org/eclipse/xpand3/parser/Xpand3.g:365:14: ( '0' .. '3' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:365:15: '0' .. '3' { matchRange('0','3'); } - // src/org/eclipse/xpand3/parser/Xpand3.g:253:25: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:253:26: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:365:25: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:365:26: '0' .. '7' { matchRange('0','7'); } - // src/org/eclipse/xpand3/parser/Xpand3.g:253:36: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:253:37: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:365:36: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:365:37: '0' .. '7' { matchRange('0','7'); @@ -1651,18 +2120,18 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:254:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:366:9: '\\\\' ( '0' .. '7' ) ( '0' .. '7' ) { match('\\'); - // src/org/eclipse/xpand3/parser/Xpand3.g:254:14: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:254:15: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:366:14: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:366:15: '0' .. '7' { matchRange('0','7'); } - // src/org/eclipse/xpand3/parser/Xpand3.g:254:25: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:254:26: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:366:25: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:366:26: '0' .. '7' { matchRange('0','7'); @@ -1672,11 +2141,11 @@ public class Xpand3Lexer extends Lexer { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:255:9: '\\\\' ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:367:9: '\\\\' ( '0' .. '7' ) { match('\\'); - // src/org/eclipse/xpand3/parser/Xpand3.g:255:14: ( '0' .. '7' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:255:15: '0' .. '7' + // src/org/eclipse/xpand3/parser/Xpand3.g:367:14: ( '0' .. '7' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:367:15: '0' .. '7' { matchRange('0','7'); @@ -1696,8 +2165,8 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start UnicodeEscape public void mUnicodeEscape() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:260:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) - // src/org/eclipse/xpand3/parser/Xpand3.g:260:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit + // src/org/eclipse/xpand3/parser/Xpand3.g:372:9: ( '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit ) + // src/org/eclipse/xpand3/parser/Xpand3.g:372:9: '\\\\' 'u' HexDigit HexDigit HexDigit HexDigit { match('\\'); match('u'); @@ -1717,8 +2186,8 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start HexDigit public void mHexDigit() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:263:12: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:263:12: ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:375:12: ( ( '0' .. '9' | 'a' .. 'f' | 'A' .. 'F' ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:375: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(); @@ -1739,14 +2208,94 @@ public class Xpand3Lexer extends Lexer { } // $ANTLR end HexDigit + // $ANTLR start DEFINE + public void mDEFINE() throws RecognitionException { + try { + int _type = DEFINE; + // src/org/eclipse/xpand3/parser/Xpand3.g:378:11: ( 'DEFINE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:378:11: 'DEFINE' + { + xpandMode=true; + match("DEFINE"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end DEFINE + + // $ANTLR start ENDDEFINE + public void mENDDEFINE() throws RecognitionException { + try { + int _type = ENDDEFINE; + // src/org/eclipse/xpand3/parser/Xpand3.g:380:4: ( 'ENDDEFINE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:380:4: 'ENDDEFINE' + { + match("ENDDEFINE"); + + xpandMode=false; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end ENDDEFINE + + // $ANTLR start AROUND + public void mAROUND() throws RecognitionException { + try { + int _type = AROUND; + // src/org/eclipse/xpand3/parser/Xpand3.g:382:11: ( 'AROUND' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:382:11: 'AROUND' + { + xpandMode=true; + match("AROUND"); + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end AROUND + + // $ANTLR start ENDAROUND + public void mENDAROUND() throws RecognitionException { + try { + int _type = ENDAROUND; + // src/org/eclipse/xpand3/parser/Xpand3.g:383:13: ( 'ENDAROUND' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:383:13: 'ENDAROUND' + { + match("ENDAROUND"); + + xpandMode=false; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end ENDAROUND + // $ANTLR start Identifier public void mIdentifier() throws RecognitionException { try { int _type = Identifier; - // src/org/eclipse/xpand3/parser/Xpand3.g:266:9: ( ( '^' )? Letter ( Letter | JavaIDDigit )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:266:9: ( '^' )? Letter ( Letter | JavaIDDigit )* + // src/org/eclipse/xpand3/parser/Xpand3.g:386:9: ( ( '^' )? Letter ( Letter | JavaIDDigit )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:386:9: ( '^' )? Letter ( Letter | JavaIDDigit )* { - // src/org/eclipse/xpand3/parser/Xpand3.g:266:9: ( '^' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:386:9: ( '^' )? int alt8=2; int LA8_0 = input.LA(1); @@ -1755,7 +2304,7 @@ public class Xpand3Lexer extends Lexer { } switch (alt8) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:266:10: '^' + // src/org/eclipse/xpand3/parser/Xpand3.g:386:10: '^' { match('^'); @@ -1765,7 +2314,7 @@ public class Xpand3Lexer extends Lexer { } mLetter(); - // src/org/eclipse/xpand3/parser/Xpand3.g:266:23: ( Letter | JavaIDDigit )* + // src/org/eclipse/xpand3/parser/Xpand3.g:386:23: ( Letter | JavaIDDigit )* loop9: do { int alt9=2; @@ -1812,7 +2361,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start Letter public void mLetter() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:271:8: ( '\\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:391:8: ( '\\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') ) { @@ -1837,7 +2386,7 @@ public class Xpand3Lexer extends Lexer { // $ANTLR start JavaIDDigit public void mJavaIDDigit() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:288:8: ( '\\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:408:8: ( '\\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') ) { @@ -1863,8 +2412,8 @@ public class Xpand3Lexer extends Lexer { public void mWS() throws RecognitionException { try { int _type = WS; - // src/org/eclipse/xpand3/parser/Xpand3.g:305:8: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:305:8: ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:425:8: ( ( ' ' | '\\r' | '\\t' | '\\u000C' | '\\n' ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:425: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(); @@ -1891,12 +2440,12 @@ public class Xpand3Lexer extends Lexer { public void mCOMMENT() throws RecognitionException { try { int _type = COMMENT; - // src/org/eclipse/xpand3/parser/Xpand3.g:309:9: ( '/*' ( options {greedy=false; } : . )* '*/' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:309:9: '/*' ( options {greedy=false; } : . )* '*/' + // src/org/eclipse/xpand3/parser/Xpand3.g:429:9: ( '/*' ( options {greedy=false; } : . )* '*/' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:429:9: '/*' ( options {greedy=false; } : . )* '*/' { match("/*"); - // src/org/eclipse/xpand3/parser/Xpand3.g:309:14: ( options {greedy=false; } : . )* + // src/org/eclipse/xpand3/parser/Xpand3.g:429:14: ( options {greedy=false; } : . )* loop10: do { int alt10=2; @@ -1921,7 +2470,7 @@ public class Xpand3Lexer extends Lexer { switch (alt10) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:309:42: . + // src/org/eclipse/xpand3/parser/Xpand3.g:429:42: . { matchAny(); @@ -1950,12 +2499,12 @@ public class Xpand3Lexer extends Lexer { public void mLINE_COMMENT() throws RecognitionException { try { int _type = LINE_COMMENT; - // src/org/eclipse/xpand3/parser/Xpand3.g:313:7: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) ) - // src/org/eclipse/xpand3/parser/Xpand3.g:313:7: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) + // src/org/eclipse/xpand3/parser/Xpand3.g:433:7: ( '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) ) + // src/org/eclipse/xpand3/parser/Xpand3.g:433:7: '//' (~ ( '\\n' | '\\r' ) )* ( ( '\\r' )? '\\n' | EOF ) { match("//"); - // src/org/eclipse/xpand3/parser/Xpand3.g:313:12: (~ ( '\\n' | '\\r' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:433:12: (~ ( '\\n' | '\\r' ) )* loop11: do { int alt11=2; @@ -1968,7 +2517,7 @@ public class Xpand3Lexer extends Lexer { switch (alt11) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:313:12: ~ ( '\\n' | '\\r' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:433: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(); @@ -1989,7 +2538,7 @@ public class Xpand3Lexer extends Lexer { } } while (true); - // src/org/eclipse/xpand3/parser/Xpand3.g:313:26: ( ( '\\r' )? '\\n' | EOF ) + // src/org/eclipse/xpand3/parser/Xpand3.g:433:26: ( ( '\\r' )? '\\n' | EOF ) int alt13=2; int LA13_0 = input.LA(1); @@ -2000,9 +2549,9 @@ public class Xpand3Lexer extends Lexer { alt13=2;} switch (alt13) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:313:27: ( '\\r' )? '\\n' + // src/org/eclipse/xpand3/parser/Xpand3.g:433:27: ( '\\r' )? '\\n' { - // src/org/eclipse/xpand3/parser/Xpand3.g:313:27: ( '\\r' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:433:27: ( '\\r' )? int alt12=2; int LA12_0 = input.LA(1); @@ -2011,7 +2560,7 @@ public class Xpand3Lexer extends Lexer { } switch (alt12) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:313:27: '\\r' + // src/org/eclipse/xpand3/parser/Xpand3.g:433:27: '\\r' { match('\r'); @@ -2025,7 +2574,7 @@ public class Xpand3Lexer extends Lexer { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:313:38: EOF + // src/org/eclipse/xpand3/parser/Xpand3.g:433:38: EOF { match(EOF); @@ -2045,12 +2594,190 @@ public class Xpand3Lexer extends Lexer { } // $ANTLR end LINE_COMMENT - // $ANTLR start XPAND_TAG_OPEN - public void mXPAND_TAG_OPEN() throws RecognitionException { + // $ANTLR start REM_COMMENT + public void mREM_COMMENT() throws RecognitionException { + try { + int _type = REM_COMMENT; + // src/org/eclipse/xpand3/parser/Xpand3.g:437:2: ( 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:437:2: 'REM' RG ( options {greedy=false; } : . )* '\\u00ABENDREM' + { + match("REM"); + + mRG(); + // src/org/eclipse/xpand3/parser/Xpand3.g:437:11: ( options {greedy=false; } : . )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( (LA14_0=='\u00AB') ) { + int LA14_1 = input.LA(2); + + if ( (LA14_1=='E') ) { + int LA14_3 = input.LA(3); + + if ( (LA14_3=='N') ) { + int LA14_4 = input.LA(4); + + if ( (LA14_4=='D') ) { + int LA14_5 = input.LA(5); + + if ( (LA14_5=='R') ) { + int LA14_6 = input.LA(6); + + if ( (LA14_6=='E') ) { + int LA14_7 = input.LA(7); + + if ( (LA14_7=='M') ) { + alt14=2; + } + else if ( ((LA14_7>='\u0000' && LA14_7<='L')||(LA14_7>='N' && LA14_7<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_6>='\u0000' && LA14_6<='D')||(LA14_6>='F' && LA14_6<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_5>='\u0000' && LA14_5<='Q')||(LA14_5>='S' && LA14_5<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_4>='\u0000' && LA14_4<='C')||(LA14_4>='E' && LA14_4<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_3>='\u0000' && LA14_3<='M')||(LA14_3>='O' && LA14_3<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_1>='\u0000' && LA14_1<='D')||(LA14_1>='F' && LA14_1<='\uFFFE')) ) { + alt14=1; + } + + + } + else if ( ((LA14_0>='\u0000' && LA14_0<='\u00AA')||(LA14_0>='\u00AC' && LA14_0<='\uFFFE')) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:437:39: . + { + matchAny(); + + } + break; + + default : + break loop14; + } + } while (true); + + match("\u00ABENDREM"); + + channel=HIDDEN; + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end REM_COMMENT + + // $ANTLR start TEXT + public void mTEXT() throws RecognitionException { try { - int _type = XPAND_TAG_OPEN; - // src/org/eclipse/xpand3/parser/Xpand3.g:317:4: ( '\\u00AB' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:317:4: '\\u00AB' + int _type = TEXT; + // src/org/eclipse/xpand3/parser/Xpand3.g:442:3: ({...}? RG (~ ( LG ) )* ( LG )? ) + // src/org/eclipse/xpand3/parser/Xpand3.g:442:3: {...}? RG (~ ( LG ) )* ( LG )? + { + if ( !(xpandMode) ) { + throw new FailedPredicateException(input, "TEXT", "xpandMode"); + } + mRG(); + // src/org/eclipse/xpand3/parser/Xpand3.g:442:19: (~ ( LG ) )* + loop15: + do { + int alt15=2; + int LA15_0 = input.LA(1); + + if ( ((LA15_0>='\u0000' && LA15_0<='\u00AA')||(LA15_0>='\u00AC' && LA15_0<='\uFFFE')) ) { + alt15=1; + } + + + switch (alt15) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:442:19: ~ ( LG ) + { + if ( (input.LA(1)>='\u0000' && input.LA(1)<='\u00AA')||(input.LA(1)>='\u00AC' && input.LA(1)<='\uFFFE') ) { + input.consume(); + + } + else { + MismatchedSetException mse = + new MismatchedSetException(null,input); + recover(mse); throw mse; + } + + + } + break; + + default : + break loop15; + } + } while (true); + + // src/org/eclipse/xpand3/parser/Xpand3.g:442:26: ( LG )? + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0=='\u00AB') ) { + alt16=1; + } + switch (alt16) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:442:27: LG + { + mLG(); + + } + break; + + } + + + } + + this.type = _type; + } + finally { + } + } + // $ANTLR end TEXT + + // $ANTLR start LG + public void mLG() throws RecognitionException { + try { + int _type = LG; + // src/org/eclipse/xpand3/parser/Xpand3.g:446:4: ( '\\u00AB' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:446:4: '\\u00AB' { match('\u00AB'); @@ -2061,14 +2788,14 @@ public class Xpand3Lexer extends Lexer { finally { } } - // $ANTLR end XPAND_TAG_OPEN + // $ANTLR end LG - // $ANTLR start XPAND_TAG_CLOSE - public void mXPAND_TAG_CLOSE() throws RecognitionException { + // $ANTLR start RG + public void mRG() throws RecognitionException { try { - int _type = XPAND_TAG_CLOSE; - // src/org/eclipse/xpand3/parser/Xpand3.g:319:4: ( '\\u00BB' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:319:4: '\\u00BB' + int _type = RG; + // src/org/eclipse/xpand3/parser/Xpand3.g:448:4: ( '\\u00BB' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:448:4: '\\u00BB' { match('\u00BB'); @@ -2079,122 +2806,644 @@ public class Xpand3Lexer extends Lexer { finally { } } - // $ANTLR end XPAND_TAG_CLOSE + // $ANTLR end RG public void mTokens() throws RecognitionException { - // src/org/eclipse/xpand3/parser/Xpand3.g:1:10: ( T18 | T19 | T20 | T21 | T22 | T23 | T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | IntLiteral | StringLiteral | Identifier | WS | COMMENT | LINE_COMMENT | XPAND_TAG_OPEN | XPAND_TAG_CLOSE ) - int alt14=71; - int LA14_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:1:10: ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | IntLiteral | StringLiteral | DEFINE | ENDDEFINE | AROUND | ENDAROUND | Identifier | WS | COMMENT | LINE_COMMENT | REM_COMMENT | TEXT | LG | RG ) + int alt17=100; + int LA17_0 = input.LA(1); + + if ( (LA17_0=='I') ) { + switch ( input.LA(2) ) { + case 'F': + { + int LA17_52 = input.LA(3); + + if ( (LA17_52=='$'||(LA17_52>='0' && LA17_52<='9')||(LA17_52>='A' && LA17_52<='Z')||LA17_52=='_'||(LA17_52>='a' && LA17_52<='z')||(LA17_52>='\u00C0' && LA17_52<='\u00D6')||(LA17_52>='\u00D8' && LA17_52<='\u00F6')||(LA17_52>='\u00F8' && LA17_52<='\u1FFF')||(LA17_52>='\u3040' && LA17_52<='\u318F')||(LA17_52>='\u3300' && LA17_52<='\u337F')||(LA17_52>='\u3400' && LA17_52<='\u3D2D')||(LA17_52>='\u4E00' && LA17_52<='\u9FFF')||(LA17_52>='\uF900' && LA17_52<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=22;} + } + break; + case 'T': + { + int LA17_53 = input.LA(3); + + if ( (LA17_53=='E') ) { + int LA17_121 = input.LA(4); + + if ( (LA17_121=='R') ) { + int LA17_175 = input.LA(5); + + if ( (LA17_175=='A') ) { + int LA17_232 = input.LA(6); + + if ( (LA17_232=='T') ) { + int LA17_285 = input.LA(7); + + if ( (LA17_285=='O') ) { + int LA17_328 = input.LA(8); + + if ( (LA17_328=='R') ) { + int LA17_369 = input.LA(9); + + if ( (LA17_369=='$'||(LA17_369>='0' && LA17_369<='9')||(LA17_369>='A' && LA17_369<='Z')||LA17_369=='_'||(LA17_369>='a' && LA17_369<='z')||(LA17_369>='\u00C0' && LA17_369<='\u00D6')||(LA17_369>='\u00D8' && LA17_369<='\u00F6')||(LA17_369>='\u00F8' && LA17_369<='\u1FFF')||(LA17_369>='\u3040' && LA17_369<='\u318F')||(LA17_369>='\u3300' && LA17_369<='\u337F')||(LA17_369>='\u3400' && LA17_369<='\u3D2D')||(LA17_369>='\u4E00' && LA17_369<='\u9FFF')||(LA17_369>='\uF900' && LA17_369<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=20;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'D': + { + int LA17_54 = input.LA(3); + + if ( (LA17_54=='$'||(LA17_54>='0' && LA17_54<='9')||(LA17_54>='A' && LA17_54<='Z')||LA17_54=='_'||(LA17_54>='a' && LA17_54<='z')||(LA17_54>='\u00C0' && LA17_54<='\u00D6')||(LA17_54>='\u00D8' && LA17_54<='\u00F6')||(LA17_54>='\u00F8' && LA17_54<='\u1FFF')||(LA17_54>='\u3040' && LA17_54<='\u318F')||(LA17_54>='\u3300' && LA17_54<='\u337F')||(LA17_54>='\u3400' && LA17_54<='\u3D2D')||(LA17_54>='\u4E00' && LA17_54<='\u9FFF')||(LA17_54>='\uF900' && LA17_54<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=31;} + } + break; + case 'M': + { + int LA17_55 = input.LA(3); + + if ( (LA17_55=='P') ) { + int LA17_123 = input.LA(4); + + if ( (LA17_123=='O') ) { + int LA17_176 = input.LA(5); + + if ( (LA17_176=='R') ) { + int LA17_233 = input.LA(6); + + if ( (LA17_233=='T') ) { + int LA17_286 = input.LA(7); + + if ( (LA17_286=='$'||(LA17_286>='0' && LA17_286<='9')||(LA17_286>='A' && LA17_286<='Z')||LA17_286=='_'||(LA17_286>='a' && LA17_286<='z')||(LA17_286>='\u00C0' && LA17_286<='\u00D6')||(LA17_286>='\u00D8' && LA17_286<='\u00F6')||(LA17_286>='\u00F8' && LA17_286<='\u1FFF')||(LA17_286>='\u3040' && LA17_286<='\u318F')||(LA17_286>='\u3300' && LA17_286<='\u337F')||(LA17_286>='\u3400' && LA17_286<='\u3D2D')||(LA17_286>='\u4E00' && LA17_286<='\u9FFF')||(LA17_286>='\uF900' && LA17_286<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=1;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + default: + alt17=93;} + + } + else if ( (LA17_0=='E') ) { + switch ( input.LA(2) ) { + case 'N': + { + int LA17_56 = input.LA(3); + + if ( (LA17_56=='D') ) { + switch ( input.LA(4) ) { + case 'F': + { + switch ( input.LA(5) ) { + case 'O': + { + int LA17_234 = input.LA(6); + + if ( (LA17_234=='R') ) { + int LA17_287 = input.LA(7); + + if ( (LA17_287=='E') ) { + int LA17_330 = input.LA(8); + + if ( (LA17_330=='A') ) { + int LA17_370 = input.LA(9); + + if ( (LA17_370=='C') ) { + int LA17_394 = input.LA(10); + + if ( (LA17_394=='H') ) { + int LA17_407 = input.LA(11); + + if ( (LA17_407=='$'||(LA17_407>='0' && LA17_407<='9')||(LA17_407>='A' && LA17_407<='Z')||LA17_407=='_'||(LA17_407>='a' && LA17_407<='z')||(LA17_407>='\u00C0' && LA17_407<='\u00D6')||(LA17_407>='\u00D8' && LA17_407<='\u00F6')||(LA17_407>='\u00F8' && LA17_407<='\u1FFF')||(LA17_407>='\u3040' && LA17_407<='\u318F')||(LA17_407>='\u3300' && LA17_407<='\u337F')||(LA17_407>='\u3400' && LA17_407<='\u3D2D')||(LA17_407>='\u4E00' && LA17_407<='\u9FFF')||(LA17_407>='\uF900' && LA17_407<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=21;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'I': + { + int LA17_235 = input.LA(6); + + if ( (LA17_235=='L') ) { + int LA17_288 = input.LA(7); + + if ( (LA17_288=='E') ) { + int LA17_331 = input.LA(8); + + if ( (LA17_331=='$'||(LA17_331>='0' && LA17_331<='9')||(LA17_331>='A' && LA17_331<='Z')||LA17_331=='_'||(LA17_331>='a' && LA17_331<='z')||(LA17_331>='\u00C0' && LA17_331<='\u00D6')||(LA17_331>='\u00D8' && LA17_331<='\u00F6')||(LA17_331>='\u00F8' && LA17_331<='\u1FFF')||(LA17_331>='\u3040' && LA17_331<='\u318F')||(LA17_331>='\u3300' && LA17_331<='\u337F')||(LA17_331>='\u3400' && LA17_331<='\u3D2D')||(LA17_331>='\u4E00' && LA17_331<='\u9FFF')||(LA17_331>='\uF900' && LA17_331<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=18;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + default: + alt17=93;} + + } + break; + case 'L': + { + int LA17_178 = input.LA(5); + + if ( (LA17_178=='E') ) { + int LA17_236 = input.LA(6); + + if ( (LA17_236=='T') ) { + int LA17_289 = input.LA(7); + + if ( (LA17_289=='$'||(LA17_289>='0' && LA17_289<='9')||(LA17_289>='A' && LA17_289<='Z')||LA17_289=='_'||(LA17_289>='a' && LA17_289<='z')||(LA17_289>='\u00C0' && LA17_289<='\u00D6')||(LA17_289>='\u00D8' && LA17_289<='\u00F6')||(LA17_289>='\u00F8' && LA17_289<='\u1FFF')||(LA17_289>='\u3040' && LA17_289<='\u318F')||(LA17_289>='\u3300' && LA17_289<='\u337F')||(LA17_289>='\u3400' && LA17_289<='\u3D2D')||(LA17_289>='\u4E00' && LA17_289<='\u9FFF')||(LA17_289>='\uF900' && LA17_289<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=27;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'A': + { + int LA17_179 = input.LA(5); + + if ( (LA17_179=='R') ) { + int LA17_237 = input.LA(6); + + if ( (LA17_237=='O') ) { + int LA17_290 = input.LA(7); + + if ( (LA17_290=='U') ) { + int LA17_333 = input.LA(8); + + if ( (LA17_333=='N') ) { + int LA17_372 = input.LA(9); + + if ( (LA17_372=='D') ) { + int LA17_395 = input.LA(10); + + if ( (LA17_395=='$'||(LA17_395>='0' && LA17_395<='9')||(LA17_395>='A' && LA17_395<='Z')||LA17_395=='_'||(LA17_395>='a' && LA17_395<='z')||(LA17_395>='\u00C0' && LA17_395<='\u00D6')||(LA17_395>='\u00D8' && LA17_395<='\u00F6')||(LA17_395>='\u00F8' && LA17_395<='\u1FFF')||(LA17_395>='\u3040' && LA17_395<='\u318F')||(LA17_395>='\u3300' && LA17_395<='\u337F')||(LA17_395>='\u3400' && LA17_395<='\u3D2D')||(LA17_395>='\u4E00' && LA17_395<='\u9FFF')||(LA17_395>='\uF900' && LA17_395<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=92;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'I': + { + int LA17_180 = input.LA(5); + + if ( (LA17_180=='F') ) { + int LA17_238 = input.LA(6); + + if ( (LA17_238=='$'||(LA17_238>='0' && LA17_238<='9')||(LA17_238>='A' && LA17_238<='Z')||LA17_238=='_'||(LA17_238>='a' && LA17_238<='z')||(LA17_238>='\u00C0' && LA17_238<='\u00D6')||(LA17_238>='\u00D8' && LA17_238<='\u00F6')||(LA17_238>='\u00F8' && LA17_238<='\u1FFF')||(LA17_238>='\u3040' && LA17_238<='\u318F')||(LA17_238>='\u3300' && LA17_238<='\u337F')||(LA17_238>='\u3400' && LA17_238<='\u3D2D')||(LA17_238>='\u4E00' && LA17_238<='\u9FFF')||(LA17_238>='\uF900' && LA17_238<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=23;} + } + else { + alt17=93;} + } + break; + case 'P': + { + int LA17_181 = input.LA(5); + + if ( (LA17_181=='R') ) { + int LA17_239 = input.LA(6); + + if ( (LA17_239=='O') ) { + int LA17_292 = input.LA(7); + + if ( (LA17_292=='T') ) { + int LA17_334 = input.LA(8); + + if ( (LA17_334=='E') ) { + int LA17_373 = input.LA(9); + + if ( (LA17_373=='C') ) { + int LA17_396 = input.LA(10); + + if ( (LA17_396=='T') ) { + int LA17_409 = input.LA(11); + + if ( (LA17_409=='$'||(LA17_409>='0' && LA17_409<='9')||(LA17_409>='A' && LA17_409<='Z')||LA17_409=='_'||(LA17_409>='a' && LA17_409<='z')||(LA17_409>='\u00C0' && LA17_409<='\u00D6')||(LA17_409>='\u00D8' && LA17_409<='\u00F6')||(LA17_409>='\u00F8' && LA17_409<='\u1FFF')||(LA17_409>='\u3040' && LA17_409<='\u318F')||(LA17_409>='\u3300' && LA17_409<='\u337F')||(LA17_409>='\u3400' && LA17_409<='\u3D2D')||(LA17_409>='\u4E00' && LA17_409<='\u9FFF')||(LA17_409>='\uF900' && LA17_409<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=33;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'D': + { + int LA17_182 = input.LA(5); + + if ( (LA17_182=='E') ) { + int LA17_240 = input.LA(6); + + if ( (LA17_240=='F') ) { + int LA17_293 = input.LA(7); + + if ( (LA17_293=='I') ) { + int LA17_335 = input.LA(8); + + if ( (LA17_335=='N') ) { + int LA17_374 = input.LA(9); + + if ( (LA17_374=='E') ) { + int LA17_397 = input.LA(10); + + if ( (LA17_397=='$'||(LA17_397>='0' && LA17_397<='9')||(LA17_397>='A' && LA17_397<='Z')||LA17_397=='_'||(LA17_397>='a' && LA17_397<='z')||(LA17_397>='\u00C0' && LA17_397<='\u00D6')||(LA17_397>='\u00D8' && LA17_397<='\u00F6')||(LA17_397>='\u00F8' && LA17_397<='\u1FFF')||(LA17_397>='\u3040' && LA17_397<='\u318F')||(LA17_397>='\u3300' && LA17_397<='\u337F')||(LA17_397>='\u3400' && LA17_397<='\u3D2D')||(LA17_397>='\u4E00' && LA17_397<='\u9FFF')||(LA17_397>='\uF900' && LA17_397<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=90;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + default: + alt17=93;} + + } + else { + alt17=93;} + } + break; + case 'L': + { + int LA17_57 = input.LA(3); + + if ( (LA17_57=='S') ) { + int LA17_125 = input.LA(4); + + if ( (LA17_125=='E') ) { + int LA17_183 = input.LA(5); + + if ( (LA17_183=='I') ) { + int LA17_241 = input.LA(6); - if ( (LA14_0=='i') ) { + if ( (LA17_241=='F') ) { + int LA17_294 = input.LA(7); + + if ( (LA17_294=='$'||(LA17_294>='0' && LA17_294<='9')||(LA17_294>='A' && LA17_294<='Z')||LA17_294=='_'||(LA17_294>='a' && LA17_294<='z')||(LA17_294>='\u00C0' && LA17_294<='\u00D6')||(LA17_294>='\u00D8' && LA17_294<='\u00F6')||(LA17_294>='\u00F8' && LA17_294<='\u1FFF')||(LA17_294>='\u3040' && LA17_294<='\u318F')||(LA17_294>='\u3300' && LA17_294<='\u337F')||(LA17_294>='\u3400' && LA17_294<='\u3D2D')||(LA17_294>='\u4E00' && LA17_294<='\u9FFF')||(LA17_294>='\uF900' && LA17_294<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=24;} + } + else { + alt17=93;} + } + else if ( (LA17_183=='$'||(LA17_183>='0' && LA17_183<='9')||(LA17_183>='A' && LA17_183<='H')||(LA17_183>='J' && LA17_183<='Z')||LA17_183=='_'||(LA17_183>='a' && LA17_183<='z')||(LA17_183>='\u00C0' && LA17_183<='\u00D6')||(LA17_183>='\u00D8' && LA17_183<='\u00F6')||(LA17_183>='\u00F8' && LA17_183<='\u1FFF')||(LA17_183>='\u3040' && LA17_183<='\u318F')||(LA17_183>='\u3300' && LA17_183<='\u337F')||(LA17_183>='\u3400' && LA17_183<='\u3D2D')||(LA17_183>='\u4E00' && LA17_183<='\u9FFF')||(LA17_183>='\uF900' && LA17_183<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=25;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'X': + { + switch ( input.LA(3) ) { + case 'P': + { + int LA17_126 = input.LA(4); + + if ( (LA17_126=='A') ) { + int LA17_184 = input.LA(5); + + if ( (LA17_184=='N') ) { + int LA17_243 = input.LA(6); + + if ( (LA17_243=='D') ) { + int LA17_295 = input.LA(7); + + if ( (LA17_295=='$'||(LA17_295>='0' && LA17_295<='9')||(LA17_295>='A' && LA17_295<='Z')||LA17_295=='_'||(LA17_295>='a' && LA17_295<='z')||(LA17_295>='\u00C0' && LA17_295<='\u00D6')||(LA17_295>='\u00D8' && LA17_295<='\u00F6')||(LA17_295>='\u00F8' && LA17_295<='\u1FFF')||(LA17_295>='\u3040' && LA17_295<='\u318F')||(LA17_295>='\u3300' && LA17_295<='\u337F')||(LA17_295>='\u3400' && LA17_295<='\u3D2D')||(LA17_295>='\u4E00' && LA17_295<='\u9FFF')||(LA17_295>='\uF900' && LA17_295<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=14;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'T': + { + int LA17_127 = input.LA(4); + + if ( (LA17_127=='E') ) { + int LA17_185 = input.LA(5); + + if ( (LA17_185=='N') ) { + int LA17_244 = input.LA(6); + + if ( (LA17_244=='S') ) { + int LA17_296 = input.LA(7); + + if ( (LA17_296=='I') ) { + int LA17_338 = input.LA(8); + + if ( (LA17_338=='O') ) { + int LA17_375 = input.LA(9); + + if ( (LA17_375=='N') ) { + int LA17_398 = input.LA(10); + + if ( (LA17_398=='$'||(LA17_398>='0' && LA17_398<='9')||(LA17_398>='A' && LA17_398<='Z')||LA17_398=='_'||(LA17_398>='a' && LA17_398<='z')||(LA17_398>='\u00C0' && LA17_398<='\u00D6')||(LA17_398>='\u00D8' && LA17_398<='\u00F6')||(LA17_398>='\u00F8' && LA17_398<='\u1FFF')||(LA17_398>='\u3040' && LA17_398<='\u318F')||(LA17_398>='\u3300' && LA17_398<='\u337F')||(LA17_398>='\u3400' && LA17_398<='\u3D2D')||(LA17_398>='\u4E00' && LA17_398<='\u9FFF')||(LA17_398>='\uF900' && LA17_398<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=2;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + default: + alt17=93;} + + } + break; + case 'R': + { + int LA17_59 = input.LA(3); + + if ( (LA17_59=='R') ) { + int LA17_128 = input.LA(4); + + if ( (LA17_128=='O') ) { + int LA17_186 = input.LA(5); + + if ( (LA17_186=='R') ) { + int LA17_245 = input.LA(6); + + if ( (LA17_245=='$'||(LA17_245>='0' && LA17_245<='9')||(LA17_245>='A' && LA17_245<='Z')||LA17_245=='_'||(LA17_245>='a' && LA17_245<='z')||(LA17_245>='\u00C0' && LA17_245<='\u00D6')||(LA17_245>='\u00D8' && LA17_245<='\u00F6')||(LA17_245>='\u00F8' && LA17_245<='\u1FFF')||(LA17_245>='\u3040' && LA17_245<='\u318F')||(LA17_245>='\u3300' && LA17_245<='\u337F')||(LA17_245>='\u3400' && LA17_245<='\u3D2D')||(LA17_245>='\u4E00' && LA17_245<='\u9FFF')||(LA17_245>='\uF900' && LA17_245<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=13;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + default: + alt17=93;} + + } + else if ( (LA17_0=='i') ) { switch ( input.LA(2) ) { case 'm': { - int LA14_46 = input.LA(3); + int LA17_60 = input.LA(3); - if ( (LA14_46=='p') ) { + if ( (LA17_60=='p') ) { switch ( input.LA(4) ) { case 'o': { - int LA14_127 = input.LA(5); + int LA17_187 = input.LA(5); - if ( (LA14_127=='r') ) { - int LA14_161 = input.LA(6); + if ( (LA17_187=='r') ) { + int LA17_246 = input.LA(6); - if ( (LA14_161=='t') ) { - int LA14_192 = input.LA(7); + if ( (LA17_246=='t') ) { + int LA17_298 = input.LA(7); - if ( (LA14_192=='$'||(LA14_192>='0' && LA14_192<='9')||(LA14_192>='A' && LA14_192<='Z')||LA14_192=='_'||(LA14_192>='a' && LA14_192<='z')||(LA14_192>='\u00C0' && LA14_192<='\u00D6')||(LA14_192>='\u00D8' && LA14_192<='\u00F6')||(LA14_192>='\u00F8' && LA14_192<='\u1FFF')||(LA14_192>='\u3040' && LA14_192<='\u318F')||(LA14_192>='\u3300' && LA14_192<='\u337F')||(LA14_192>='\u3400' && LA14_192<='\u3D2D')||(LA14_192>='\u4E00' && LA14_192<='\u9FFF')||(LA14_192>='\uF900' && LA14_192<='\uFAFF')) ) { - alt14=66; + if ( (LA17_298=='$'||(LA17_298>='0' && LA17_298<='9')||(LA17_298>='A' && LA17_298<='Z')||LA17_298=='_'||(LA17_298>='a' && LA17_298<='z')||(LA17_298>='\u00C0' && LA17_298<='\u00D6')||(LA17_298>='\u00D8' && LA17_298<='\u00F6')||(LA17_298>='\u00F8' && LA17_298<='\u1FFF')||(LA17_298>='\u3040' && LA17_298<='\u318F')||(LA17_298>='\u3300' && LA17_298<='\u337F')||(LA17_298>='\u3400' && LA17_298<='\u3D2D')||(LA17_298>='\u4E00' && LA17_298<='\u9FFF')||(LA17_298>='\uF900' && LA17_298<='\uFAFF')) ) { + alt17=93; } else { - alt14=1;} + alt17=3;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; case 'l': { - int LA14_128 = input.LA(5); + int LA17_188 = input.LA(5); - if ( (LA14_128=='i') ) { - int LA14_162 = input.LA(6); + if ( (LA17_188=='i') ) { + int LA17_247 = input.LA(6); - if ( (LA14_162=='e') ) { - int LA14_193 = input.LA(7); + if ( (LA17_247=='e') ) { + int LA17_299 = input.LA(7); - if ( (LA14_193=='s') ) { - int LA14_217 = input.LA(8); + if ( (LA17_299=='s') ) { + int LA17_340 = input.LA(8); - if ( (LA14_217=='$'||(LA14_217>='0' && LA14_217<='9')||(LA14_217>='A' && LA14_217<='Z')||LA14_217=='_'||(LA14_217>='a' && LA14_217<='z')||(LA14_217>='\u00C0' && LA14_217<='\u00D6')||(LA14_217>='\u00D8' && LA14_217<='\u00F6')||(LA14_217>='\u00F8' && LA14_217<='\u1FFF')||(LA14_217>='\u3040' && LA14_217<='\u318F')||(LA14_217>='\u3300' && LA14_217<='\u337F')||(LA14_217>='\u3400' && LA14_217<='\u3D2D')||(LA14_217>='\u4E00' && LA14_217<='\u9FFF')||(LA14_217>='\uF900' && LA14_217<='\uFAFF')) ) { - alt14=66; + if ( (LA17_340=='$'||(LA17_340>='0' && LA17_340<='9')||(LA17_340>='A' && LA17_340<='Z')||LA17_340=='_'||(LA17_340>='a' && LA17_340<='z')||(LA17_340>='\u00C0' && LA17_340<='\u00D6')||(LA17_340>='\u00D8' && LA17_340<='\u00F6')||(LA17_340>='\u00F8' && LA17_340<='\u1FFF')||(LA17_340>='\u3040' && LA17_340<='\u318F')||(LA17_340>='\u3300' && LA17_340<='\u337F')||(LA17_340>='\u3400' && LA17_340<='\u3D2D')||(LA17_340>='\u4E00' && LA17_340<='\u9FFF')||(LA17_340>='\uF900' && LA17_340<='\uFAFF')) ) { + alt17=93; } else { - alt14=36;} + alt17=60;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; case 'f': { - int LA14_47 = input.LA(3); + int LA17_61 = input.LA(3); - if ( (LA14_47=='$'||(LA14_47>='0' && LA14_47<='9')||(LA14_47>='A' && LA14_47<='Z')||LA14_47=='_'||(LA14_47>='a' && LA14_47<='z')||(LA14_47>='\u00C0' && LA14_47<='\u00D6')||(LA14_47>='\u00D8' && LA14_47<='\u00F6')||(LA14_47>='\u00F8' && LA14_47<='\u1FFF')||(LA14_47>='\u3040' && LA14_47<='\u318F')||(LA14_47>='\u3300' && LA14_47<='\u337F')||(LA14_47>='\u3400' && LA14_47<='\u3D2D')||(LA14_47>='\u4E00' && LA14_47<='\u9FFF')||(LA14_47>='\uF900' && LA14_47<='\uFAFF')) ) { - alt14=66; + if ( (LA17_61=='$'||(LA17_61>='0' && LA17_61<='9')||(LA17_61>='A' && LA17_61<='Z')||LA17_61=='_'||(LA17_61>='a' && LA17_61<='z')||(LA17_61>='\u00C0' && LA17_61<='\u00D6')||(LA17_61>='\u00D8' && LA17_61<='\u00F6')||(LA17_61>='\u00F8' && LA17_61<='\u1FFF')||(LA17_61>='\u3040' && LA17_61<='\u318F')||(LA17_61>='\u3300' && LA17_61<='\u337F')||(LA17_61>='\u3400' && LA17_61<='\u3D2D')||(LA17_61>='\u4E00' && LA17_61<='\u9FFF')||(LA17_61>='\uF900' && LA17_61<='\uFAFF')) ) { + alt17=93; } else { - alt14=6;} + alt17=35;} } break; default: - alt14=66;} + alt17=93;} } - else if ( (LA14_0==';') ) { - alt14=2; + else if ( (LA17_0==';') ) { + alt17=4; } - else if ( (LA14_0=='e') ) { + else if ( (LA17_0=='e') ) { switch ( input.LA(2) ) { case 'l': { - int LA14_48 = input.LA(3); + int LA17_62 = input.LA(3); - if ( (LA14_48=='s') ) { - int LA14_95 = input.LA(4); + if ( (LA17_62=='s') ) { + int LA17_131 = input.LA(4); - if ( (LA14_95=='e') ) { - int LA14_129 = input.LA(5); + if ( (LA17_131=='e') ) { + int LA17_189 = input.LA(5); - if ( (LA14_129=='$'||(LA14_129>='0' && LA14_129<='9')||(LA14_129>='A' && LA14_129<='Z')||LA14_129=='_'||(LA14_129>='a' && LA14_129<='z')||(LA14_129>='\u00C0' && LA14_129<='\u00D6')||(LA14_129>='\u00D8' && LA14_129<='\u00F6')||(LA14_129>='\u00F8' && LA14_129<='\u1FFF')||(LA14_129>='\u3040' && LA14_129<='\u318F')||(LA14_129>='\u3300' && LA14_129<='\u337F')||(LA14_129>='\u3400' && LA14_129<='\u3D2D')||(LA14_129>='\u4E00' && LA14_129<='\u9FFF')||(LA14_129>='\uF900' && LA14_129<='\uFAFF')) ) { - alt14=66; + if ( (LA17_189=='$'||(LA17_189>='0' && LA17_189<='9')||(LA17_189>='A' && LA17_189<='Z')||LA17_189=='_'||(LA17_189>='a' && LA17_189<='z')||(LA17_189>='\u00C0' && LA17_189<='\u00D6')||(LA17_189>='\u00D8' && LA17_189<='\u00F6')||(LA17_189>='\u00F8' && LA17_189<='\u1FFF')||(LA17_189>='\u3040' && LA17_189<='\u318F')||(LA17_189>='\u3300' && LA17_189<='\u337F')||(LA17_189>='\u3400' && LA17_189<='\u3D2D')||(LA17_189>='\u4E00' && LA17_189<='\u9FFF')||(LA17_189>='\uF900' && LA17_189<='\uFAFF')) ) { + alt17=93; } else { - alt14=29;} + alt17=53;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; case 'x': @@ -2202,1822 +3451,2415 @@ public class Xpand3Lexer extends Lexer { switch ( input.LA(3) ) { case 't': { - int LA14_96 = input.LA(4); + int LA17_132 = input.LA(4); - if ( (LA14_96=='e') ) { - int LA14_130 = input.LA(5); + if ( (LA17_132=='e') ) { + int LA17_190 = input.LA(5); - if ( (LA14_130=='n') ) { - int LA14_164 = input.LA(6); + if ( (LA17_190=='n') ) { + int LA17_249 = input.LA(6); - if ( (LA14_164=='s') ) { - int LA14_194 = input.LA(7); + if ( (LA17_249=='s') ) { + int LA17_300 = input.LA(7); - if ( (LA14_194=='i') ) { - int LA14_218 = input.LA(8); + if ( (LA17_300=='i') ) { + int LA17_341 = input.LA(8); - if ( (LA14_218=='o') ) { - int LA14_240 = input.LA(9); + if ( (LA17_341=='o') ) { + int LA17_377 = input.LA(9); - if ( (LA14_240=='n') ) { - int LA14_252 = input.LA(10); + if ( (LA17_377=='n') ) { + int LA17_399 = input.LA(10); - if ( (LA14_252=='$'||(LA14_252>='0' && LA14_252<='9')||(LA14_252>='A' && LA14_252<='Z')||LA14_252=='_'||(LA14_252>='a' && LA14_252<='z')||(LA14_252>='\u00C0' && LA14_252<='\u00D6')||(LA14_252>='\u00D8' && LA14_252<='\u00F6')||(LA14_252>='\u00F8' && LA14_252<='\u1FFF')||(LA14_252>='\u3040' && LA14_252<='\u318F')||(LA14_252>='\u3300' && LA14_252<='\u337F')||(LA14_252>='\u3400' && LA14_252<='\u3D2D')||(LA14_252>='\u4E00' && LA14_252<='\u9FFF')||(LA14_252>='\uF900' && LA14_252<='\uFAFF')) ) { - alt14=66; + if ( (LA17_399=='$'||(LA17_399>='0' && LA17_399<='9')||(LA17_399>='A' && LA17_399<='Z')||LA17_399=='_'||(LA17_399>='a' && LA17_399<='z')||(LA17_399>='\u00C0' && LA17_399<='\u00D6')||(LA17_399>='\u00D8' && LA17_399<='\u00F6')||(LA17_399>='\u00F8' && LA17_399<='\u1FFF')||(LA17_399>='\u3040' && LA17_399<='\u318F')||(LA17_399>='\u3300' && LA17_399<='\u337F')||(LA17_399>='\u3400' && LA17_399<='\u3D2D')||(LA17_399>='\u4E00' && LA17_399<='\u9FFF')||(LA17_399>='\uF900' && LA17_399<='\uFAFF')) ) { + alt17=93; } else { - alt14=3;} + alt17=5;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; case 'i': { - int LA14_97 = input.LA(4); + int LA17_133 = input.LA(4); - if ( (LA14_97=='s') ) { - int LA14_131 = input.LA(5); + if ( (LA17_133=='s') ) { + int LA17_191 = input.LA(5); - if ( (LA14_131=='t') ) { - int LA14_165 = input.LA(6); + if ( (LA17_191=='t') ) { + int LA17_250 = input.LA(6); - if ( (LA14_165=='s') ) { - int LA14_195 = input.LA(7); + if ( (LA17_250=='s') ) { + int LA17_301 = input.LA(7); - if ( (LA14_195=='$'||(LA14_195>='0' && LA14_195<='9')||(LA14_195>='A' && LA14_195<='Z')||LA14_195=='_'||(LA14_195>='a' && LA14_195<='z')||(LA14_195>='\u00C0' && LA14_195<='\u00D6')||(LA14_195>='\u00D8' && LA14_195<='\u00F6')||(LA14_195>='\u00F8' && LA14_195<='\u1FFF')||(LA14_195>='\u3040' && LA14_195<='\u318F')||(LA14_195>='\u3300' && LA14_195<='\u337F')||(LA14_195>='\u3400' && LA14_195<='\u3D2D')||(LA14_195>='\u4E00' && LA14_195<='\u9FFF')||(LA14_195>='\uF900' && LA14_195<='\uFAFF')) ) { - alt14=66; + if ( (LA17_301=='$'||(LA17_301>='0' && LA17_301<='9')||(LA17_301>='A' && LA17_301<='Z')||LA17_301=='_'||(LA17_301>='a' && LA17_301<='z')||(LA17_301>='\u00C0' && LA17_301<='\u00D6')||(LA17_301>='\u00D8' && LA17_301<='\u00F6')||(LA17_301>='\u00F8' && LA17_301<='\u1FFF')||(LA17_301>='\u3040' && LA17_301<='\u318F')||(LA17_301>='\u3300' && LA17_301<='\u337F')||(LA17_301>='\u3400' && LA17_301<='\u3D2D')||(LA17_301>='\u4E00' && LA17_301<='\u9FFF')||(LA17_301>='\uF900' && LA17_301<='\uFAFF')) ) { + alt17=93; } else { - alt14=59;} + alt17=82;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='r') ) { - int LA14_4 = input.LA(2); + else if ( (LA17_0=='r') ) { + int LA17_6 = input.LA(2); - if ( (LA14_4=='e') ) { + if ( (LA17_6=='e') ) { switch ( input.LA(3) ) { + case 'j': + { + int LA17_134 = input.LA(4); + + if ( (LA17_134=='e') ) { + int LA17_192 = input.LA(5); + + if ( (LA17_192=='c') ) { + int LA17_251 = input.LA(6); + + if ( (LA17_251=='t') ) { + int LA17_302 = input.LA(7); + + if ( (LA17_302=='$'||(LA17_302>='0' && LA17_302<='9')||(LA17_302>='A' && LA17_302<='Z')||LA17_302=='_'||(LA17_302>='a' && LA17_302<='z')||(LA17_302>='\u00C0' && LA17_302<='\u00D6')||(LA17_302>='\u00D8' && LA17_302<='\u00F6')||(LA17_302>='\u00F8' && LA17_302<='\u1FFF')||(LA17_302>='\u3040' && LA17_302<='\u318F')||(LA17_302>='\u3300' && LA17_302<='\u337F')||(LA17_302>='\u3400' && LA17_302<='\u3D2D')||(LA17_302>='\u4E00' && LA17_302<='\u9FFF')||(LA17_302>='\uF900' && LA17_302<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=81;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; case 'e': { - int LA14_98 = input.LA(4); + int LA17_135 = input.LA(4); - if ( (LA14_98=='x') ) { - int LA14_132 = input.LA(5); + if ( (LA17_135=='x') ) { + int LA17_193 = input.LA(5); - if ( (LA14_132=='p') ) { - int LA14_166 = input.LA(6); + if ( (LA17_193=='p') ) { + int LA17_252 = input.LA(6); - if ( (LA14_166=='o') ) { - int LA14_196 = input.LA(7); + if ( (LA17_252=='o') ) { + int LA17_303 = input.LA(7); - if ( (LA14_196=='r') ) { - int LA14_220 = input.LA(8); + if ( (LA17_303=='r') ) { + int LA17_344 = input.LA(8); - if ( (LA14_220=='t') ) { - int LA14_241 = input.LA(9); + if ( (LA17_344=='t') ) { + int LA17_378 = input.LA(9); - if ( (LA14_241=='$'||(LA14_241>='0' && LA14_241<='9')||(LA14_241>='A' && LA14_241<='Z')||LA14_241=='_'||(LA14_241>='a' && LA14_241<='z')||(LA14_241>='\u00C0' && LA14_241<='\u00D6')||(LA14_241>='\u00D8' && LA14_241<='\u00F6')||(LA14_241>='\u00F8' && LA14_241<='\u1FFF')||(LA14_241>='\u3040' && LA14_241<='\u318F')||(LA14_241>='\u3300' && LA14_241<='\u337F')||(LA14_241>='\u3400' && LA14_241<='\u3D2D')||(LA14_241>='\u4E00' && LA14_241<='\u9FFF')||(LA14_241>='\uF900' && LA14_241<='\uFAFF')) ) { - alt14=66; + if ( (LA17_378=='$'||(LA17_378>='0' && LA17_378<='9')||(LA17_378>='A' && LA17_378<='Z')||LA17_378=='_'||(LA17_378>='a' && LA17_378<='z')||(LA17_378>='\u00C0' && LA17_378<='\u00D6')||(LA17_378>='\u00D8' && LA17_378<='\u00F6')||(LA17_378>='\u00F8' && LA17_378<='\u1FFF')||(LA17_378>='\u3040' && LA17_378<='\u318F')||(LA17_378>='\u3300' && LA17_378<='\u337F')||(LA17_378>='\u3400' && LA17_378<='\u3D2D')||(LA17_378>='\u4E00' && LA17_378<='\u9FFF')||(LA17_378>='\uF900' && LA17_378<='\uFAFF')) ) { + alt17=93; } else { - alt14=4;} + alt17=6;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; - case 'j': - { - int LA14_99 = input.LA(4); + default: + alt17=93;} + + } + else { + alt17=93;} + } + else if ( (LA17_0=='(') ) { + alt17=7; + } + else if ( (LA17_0==',') ) { + alt17=8; + } + else if ( (LA17_0=='*') ) { + alt17=9; + } + else if ( (LA17_0==')') ) { + alt17=10; + } + else if ( (LA17_0=='F') ) { + switch ( input.LA(2) ) { + case 'O': + { + int LA17_65 = input.LA(3); + + if ( (LA17_65=='R') ) { + int LA17_136 = input.LA(4); - if ( (LA14_99=='e') ) { - int LA14_133 = input.LA(5); + if ( (LA17_136=='E') ) { + int LA17_194 = input.LA(5); - if ( (LA14_133=='c') ) { - int LA14_167 = input.LA(6); + if ( (LA17_194=='A') ) { + int LA17_253 = input.LA(6); - if ( (LA14_167=='t') ) { - int LA14_197 = input.LA(7); + if ( (LA17_253=='C') ) { + int LA17_304 = input.LA(7); - if ( (LA14_197=='$'||(LA14_197>='0' && LA14_197<='9')||(LA14_197>='A' && LA14_197<='Z')||LA14_197=='_'||(LA14_197>='a' && LA14_197<='z')||(LA14_197>='\u00C0' && LA14_197<='\u00D6')||(LA14_197>='\u00D8' && LA14_197<='\u00F6')||(LA14_197>='\u00F8' && LA14_197<='\u1FFF')||(LA14_197>='\u3040' && LA14_197<='\u318F')||(LA14_197>='\u3300' && LA14_197<='\u337F')||(LA14_197>='\u3400' && LA14_197<='\u3D2D')||(LA14_197>='\u4E00' && LA14_197<='\u9FFF')||(LA14_197>='\uF900' && LA14_197<='\uFAFF')) ) { - alt14=66; + if ( (LA17_304=='H') ) { + int LA17_345 = input.LA(8); + + if ( (LA17_345=='$'||(LA17_345>='0' && LA17_345<='9')||(LA17_345>='A' && LA17_345<='Z')||LA17_345=='_'||(LA17_345>='a' && LA17_345<='z')||(LA17_345>='\u00C0' && LA17_345<='\u00D6')||(LA17_345>='\u00D8' && LA17_345<='\u00F6')||(LA17_345>='\u00F8' && LA17_345<='\u1FFF')||(LA17_345>='\u3040' && LA17_345<='\u318F')||(LA17_345>='\u3300' && LA17_345<='\u337F')||(LA17_345>='\u3400' && LA17_345<='\u3D2D')||(LA17_345>='\u4E00' && LA17_345<='\u9FFF')||(LA17_345>='\uF900' && LA17_345<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=15;} } else { - alt14=58;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} + } + else if ( (LA17_136=='$'||(LA17_136>='0' && LA17_136<='9')||(LA17_136>='A' && LA17_136<='D')||(LA17_136>='F' && LA17_136<='Z')||LA17_136=='_'||(LA17_136>='a' && LA17_136<='z')||(LA17_136>='\u00C0' && LA17_136<='\u00D6')||(LA17_136>='\u00D8' && LA17_136<='\u00F6')||(LA17_136>='\u00F8' && LA17_136<='\u1FFF')||(LA17_136>='\u3040' && LA17_136<='\u318F')||(LA17_136>='\u3300' && LA17_136<='\u337F')||(LA17_136>='\u3400' && LA17_136<='\u3D2D')||(LA17_136>='\u4E00' && LA17_136<='\u9FFF')||(LA17_136>='\uF900' && LA17_136<='\uFAFF')) ) { + alt17=93; } else { - alt14=66;} + alt17=11;} + } + else { + alt17=93;} + } + break; + case 'I': + { + int LA17_66 = input.LA(3); + + if ( (LA17_66=='L') ) { + int LA17_137 = input.LA(4); + + if ( (LA17_137=='E') ) { + int LA17_196 = input.LA(5); + + if ( (LA17_196=='$'||(LA17_196>='0' && LA17_196<='9')||(LA17_196>='A' && LA17_196<='Z')||LA17_196=='_'||(LA17_196>='a' && LA17_196<='z')||(LA17_196>='\u00C0' && LA17_196<='\u00D6')||(LA17_196>='\u00D8' && LA17_196<='\u00F6')||(LA17_196>='\u00F8' && LA17_196<='\u1FFF')||(LA17_196>='\u3040' && LA17_196<='\u318F')||(LA17_196>='\u3300' && LA17_196<='\u337F')||(LA17_196>='\u3400' && LA17_196<='\u3D2D')||(LA17_196>='\u4E00' && LA17_196<='\u9FFF')||(LA17_196>='\uF900' && LA17_196<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=17;} } - break; - default: - alt14=66;} + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + default: + alt17=93;} + + } + else if ( (LA17_0=='-') ) { + int LA17_12 = input.LA(2); + if ( (LA17_12=='>') ) { + alt17=50; } else { - alt14=66;} + alt17=12;} } - else if ( (LA14_0=='c') ) { + else if ( (LA17_0=='S') ) { switch ( input.LA(2) ) { - case 'r': + case 'e': + { + int LA17_69 = input.LA(3); + + if ( (LA17_69=='t') ) { + int LA17_138 = input.LA(4); + + if ( (LA17_138=='$'||(LA17_138>='0' && LA17_138<='9')||(LA17_138>='A' && LA17_138<='Z')||LA17_138=='_'||(LA17_138>='a' && LA17_138<='z')||(LA17_138>='\u00C0' && LA17_138<='\u00D6')||(LA17_138>='\u00D8' && LA17_138<='\u00F6')||(LA17_138>='\u00F8' && LA17_138<='\u1FFF')||(LA17_138>='\u3040' && LA17_138<='\u318F')||(LA17_138>='\u3300' && LA17_138<='\u337F')||(LA17_138>='\u3400' && LA17_138<='\u3D2D')||(LA17_138>='\u4E00' && LA17_138<='\u9FFF')||(LA17_138>='\uF900' && LA17_138<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=47;} + } + else { + alt17=93;} + } + break; + case 'E': { - int LA14_51 = input.LA(3); + int LA17_70 = input.LA(3); + + if ( (LA17_70=='P') ) { + int LA17_139 = input.LA(4); + + if ( (LA17_139=='A') ) { + int LA17_198 = input.LA(5); + + if ( (LA17_198=='R') ) { + int LA17_255 = input.LA(6); - if ( (LA14_51=='e') ) { - int LA14_100 = input.LA(4); + if ( (LA17_255=='A') ) { + int LA17_305 = input.LA(7); - if ( (LA14_100=='a') ) { - int LA14_134 = input.LA(5); + if ( (LA17_305=='T') ) { + int LA17_346 = input.LA(8); - if ( (LA14_134=='t') ) { - int LA14_168 = input.LA(6); + if ( (LA17_346=='O') ) { + int LA17_380 = input.LA(9); - if ( (LA14_168=='e') ) { - int LA14_198 = input.LA(7); + if ( (LA17_380=='R') ) { + int LA17_401 = input.LA(10); - if ( (LA14_198=='$'||(LA14_198>='0' && LA14_198<='9')||(LA14_198>='A' && LA14_198<='Z')||LA14_198=='_'||(LA14_198>='a' && LA14_198<='z')||(LA14_198>='\u00C0' && LA14_198<='\u00D6')||(LA14_198>='\u00D8' && LA14_198<='\u00F6')||(LA14_198>='\u00F8' && LA14_198<='\u1FFF')||(LA14_198>='\u3040' && LA14_198<='\u318F')||(LA14_198>='\u3300' && LA14_198<='\u337F')||(LA14_198>='\u3400' && LA14_198<='\u3D2D')||(LA14_198>='\u4E00' && LA14_198<='\u9FFF')||(LA14_198>='\uF900' && LA14_198<='\uFAFF')) ) { - alt14=66; + if ( (LA17_401=='$'||(LA17_401>='0' && LA17_401<='9')||(LA17_401>='A' && LA17_401<='Z')||LA17_401=='_'||(LA17_401>='a' && LA17_401<='z')||(LA17_401>='\u00C0' && LA17_401<='\u00D6')||(LA17_401>='\u00D8' && LA17_401<='\u00F6')||(LA17_401>='\u00F8' && LA17_401<='\u1FFF')||(LA17_401>='\u3040' && LA17_401<='\u318F')||(LA17_401>='\u3300' && LA17_401<='\u337F')||(LA17_401>='\u3400' && LA17_401<='\u3D2D')||(LA17_401>='\u4E00' && LA17_401<='\u9FFF')||(LA17_401>='\uF900' && LA17_401<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=16;} + } + else { + alt17=93;} + } + else { + alt17=93;} } else { - alt14=18;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; - case 'a': + default: + alt17=93;} + + } + else if ( (LA17_0=='A') ) { + switch ( input.LA(2) ) { + case 'R': { - switch ( input.LA(3) ) { - case 'c': - { - int LA14_101 = input.LA(4); + int LA17_71 = input.LA(3); + + if ( (LA17_71=='O') ) { + int LA17_140 = input.LA(4); - if ( (LA14_101=='h') ) { - int LA14_135 = input.LA(5); + if ( (LA17_140=='U') ) { + int LA17_199 = input.LA(5); - if ( (LA14_135=='e') ) { - int LA14_169 = input.LA(6); + if ( (LA17_199=='N') ) { + int LA17_256 = input.LA(6); - if ( (LA14_169=='d') ) { - int LA14_199 = input.LA(7); + if ( (LA17_256=='D') ) { + int LA17_306 = input.LA(7); - if ( (LA14_199=='$'||(LA14_199>='0' && LA14_199<='9')||(LA14_199>='A' && LA14_199<='Z')||LA14_199=='_'||(LA14_199>='a' && LA14_199<='z')||(LA14_199>='\u00C0' && LA14_199<='\u00D6')||(LA14_199>='\u00D8' && LA14_199<='\u00F6')||(LA14_199>='\u00F8' && LA14_199<='\u1FFF')||(LA14_199>='\u3040' && LA14_199<='\u318F')||(LA14_199>='\u3300' && LA14_199<='\u337F')||(LA14_199>='\u3400' && LA14_199<='\u3D2D')||(LA14_199>='\u4E00' && LA14_199<='\u9FFF')||(LA14_199>='\uF900' && LA14_199<='\uFAFF')) ) { - alt14=66; + if ( (LA17_306=='$'||(LA17_306>='0' && LA17_306<='9')||(LA17_306>='A' && LA17_306<='Z')||LA17_306=='_'||(LA17_306>='a' && LA17_306<='z')||(LA17_306>='\u00C0' && LA17_306<='\u00D6')||(LA17_306>='\u00D8' && LA17_306<='\u00F6')||(LA17_306>='\u00F8' && LA17_306<='\u1FFF')||(LA17_306>='\u3040' && LA17_306<='\u318F')||(LA17_306>='\u3300' && LA17_306<='\u337F')||(LA17_306>='\u3400' && LA17_306<='\u3D2D')||(LA17_306>='\u4E00' && LA17_306<='\u9FFF')||(LA17_306>='\uF900' && LA17_306<='\uFAFF')) ) { + alt17=93; } else { - alt14=17;} + alt17=91;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'S': + { + int LA17_72 = input.LA(3); + + if ( (LA17_72=='$'||(LA17_72>='0' && LA17_72<='9')||(LA17_72>='A' && LA17_72<='Z')||LA17_72=='_'||(LA17_72>='a' && LA17_72<='z')||(LA17_72>='\u00C0' && LA17_72<='\u00D6')||(LA17_72>='\u00D8' && LA17_72<='\u00F6')||(LA17_72>='\u00F8' && LA17_72<='\u1FFF')||(LA17_72>='\u3040' && LA17_72<='\u318F')||(LA17_72>='\u3300' && LA17_72<='\u337F')||(LA17_72>='\u3400' && LA17_72<='\u3D2D')||(LA17_72>='\u4E00' && LA17_72<='\u9FFF')||(LA17_72>='\uF900' && LA17_72<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=19;} + } + break; + default: + alt17=93;} + + } + else if ( (LA17_0=='L') ) { + switch ( input.LA(2) ) { + case 'E': + { + int LA17_73 = input.LA(3); + + if ( (LA17_73=='T') ) { + int LA17_142 = input.LA(4); + + if ( (LA17_142=='$'||(LA17_142>='0' && LA17_142<='9')||(LA17_142>='A' && LA17_142<='Z')||LA17_142=='_'||(LA17_142>='a' && LA17_142<='z')||(LA17_142>='\u00C0' && LA17_142<='\u00D6')||(LA17_142>='\u00D8' && LA17_142<='\u00F6')||(LA17_142>='\u00F8' && LA17_142<='\u1FFF')||(LA17_142>='\u3040' && LA17_142<='\u318F')||(LA17_142>='\u3300' && LA17_142<='\u337F')||(LA17_142>='\u3400' && LA17_142<='\u3D2D')||(LA17_142>='\u4E00' && LA17_142<='\u9FFF')||(LA17_142>='\uF900' && LA17_142<='\uFAFF')) ) { + alt17=93; } - break; - case 's': - { - int LA14_102 = input.LA(4); + else { + alt17=26;} + } + else { + alt17=93;} + } + break; + case 'i': + { + int LA17_74 = input.LA(3); + + if ( (LA17_74=='s') ) { + int LA17_143 = input.LA(4); - if ( (LA14_102=='e') ) { - int LA14_136 = input.LA(5); + if ( (LA17_143=='t') ) { + int LA17_201 = input.LA(5); - if ( (LA14_136=='$'||(LA14_136>='0' && LA14_136<='9')||(LA14_136>='A' && LA14_136<='Z')||LA14_136=='_'||(LA14_136>='a' && LA14_136<='z')||(LA14_136>='\u00C0' && LA14_136<='\u00D6')||(LA14_136>='\u00D8' && LA14_136<='\u00F6')||(LA14_136>='\u00F8' && LA14_136<='\u1FFF')||(LA14_136>='\u3040' && LA14_136<='\u318F')||(LA14_136>='\u3300' && LA14_136<='\u337F')||(LA14_136>='\u3400' && LA14_136<='\u3D2D')||(LA14_136>='\u4E00' && LA14_136<='\u9FFF')||(LA14_136>='\uF900' && LA14_136<='\uFAFF')) ) { - alt14=66; + if ( (LA17_201=='$'||(LA17_201>='0' && LA17_201<='9')||(LA17_201>='A' && LA17_201<='Z')||LA17_201=='_'||(LA17_201>='a' && LA17_201<='z')||(LA17_201>='\u00C0' && LA17_201<='\u00D6')||(LA17_201>='\u00D8' && LA17_201<='\u00F6')||(LA17_201>='\u00F8' && LA17_201<='\u1FFF')||(LA17_201>='\u3040' && LA17_201<='\u318F')||(LA17_201>='\u3300' && LA17_201<='\u337F')||(LA17_201>='\u3400' && LA17_201<='\u3D2D')||(LA17_201>='\u4E00' && LA17_201<='\u9FFF')||(LA17_201>='\uF900' && LA17_201<='\uFAFF')) ) { + alt17=93; } else { - alt14=33;} + alt17=46;} } else { - alt14=66;} - } - break; - default: - alt14=66;} - + alt17=93;} + } + else { + alt17=93;} } break; - case 'o': - { - switch ( input.LA(3) ) { - case 'n': - { - int LA14_103 = input.LA(4); + default: + alt17=93;} + + } + else if ( (LA17_0=='P') ) { + int LA17_16 = input.LA(2); + + if ( (LA17_16=='R') ) { + int LA17_75 = input.LA(3); - if ( (LA14_103=='t') ) { - int LA14_137 = input.LA(5); + if ( (LA17_75=='O') ) { + int LA17_144 = input.LA(4); - if ( (LA14_137=='e') ) { - int LA14_171 = input.LA(6); + if ( (LA17_144=='T') ) { + int LA17_202 = input.LA(5); - if ( (LA14_171=='x') ) { - int LA14_200 = input.LA(7); + if ( (LA17_202=='E') ) { + int LA17_258 = input.LA(6); - if ( (LA14_200=='t') ) { - int LA14_224 = input.LA(8); + if ( (LA17_258=='C') ) { + int LA17_307 = input.LA(7); - if ( (LA14_224=='$'||(LA14_224>='0' && LA14_224<='9')||(LA14_224>='A' && LA14_224<='Z')||LA14_224=='_'||(LA14_224>='a' && LA14_224<='z')||(LA14_224>='\u00C0' && LA14_224<='\u00D6')||(LA14_224>='\u00D8' && LA14_224<='\u00F6')||(LA14_224>='\u00F8' && LA14_224<='\u1FFF')||(LA14_224>='\u3040' && LA14_224<='\u318F')||(LA14_224>='\u3300' && LA14_224<='\u337F')||(LA14_224>='\u3400' && LA14_224<='\u3D2D')||(LA14_224>='\u4E00' && LA14_224<='\u9FFF')||(LA14_224>='\uF900' && LA14_224<='\uFAFF')) ) { - alt14=66; + if ( (LA17_307=='T') ) { + int LA17_348 = input.LA(8); + + if ( (LA17_348=='$'||(LA17_348>='0' && LA17_348<='9')||(LA17_348>='A' && LA17_348<='Z')||LA17_348=='_'||(LA17_348>='a' && LA17_348<='z')||(LA17_348>='\u00C0' && LA17_348<='\u00D6')||(LA17_348>='\u00D8' && LA17_348<='\u00F6')||(LA17_348>='\u00F8' && LA17_348<='\u1FFF')||(LA17_348>='\u3040' && LA17_348<='\u318F')||(LA17_348>='\u3300' && LA17_348<='\u337F')||(LA17_348>='\u3400' && LA17_348<='\u3D2D')||(LA17_348>='\u4E00' && LA17_348<='\u9FFF')||(LA17_348>='\uF900' && LA17_348<='\uFAFF')) ) { + alt17=93; } else { - alt14=5;} + alt17=28;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else if ( (LA17_0=='C') ) { + switch ( input.LA(2) ) { + case 'E': + { + int LA17_76 = input.LA(3); + + if ( (LA17_76=='N') ) { + int LA17_145 = input.LA(4); + + if ( (LA17_145=='D') ) { + int LA17_203 = input.LA(5); + + if ( (LA17_203=='$'||(LA17_203>='0' && LA17_203<='9')||(LA17_203>='A' && LA17_203<='Z')||LA17_203=='_'||(LA17_203>='a' && LA17_203<='z')||(LA17_203>='\u00C0' && LA17_203<='\u00D6')||(LA17_203>='\u00D8' && LA17_203<='\u00F6')||(LA17_203>='\u00F8' && LA17_203<='\u1FFF')||(LA17_203>='\u3040' && LA17_203<='\u318F')||(LA17_203>='\u3300' && LA17_203<='\u337F')||(LA17_203>='\u3400' && LA17_203<='\u3D2D')||(LA17_203>='\u4E00' && LA17_203<='\u9FFF')||(LA17_203>='\uF900' && LA17_203<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=30;} } - break; - case 'l': - { - int LA14_104 = input.LA(4); + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'o': + { + int LA17_77 = input.LA(3); + + if ( (LA17_77=='l') ) { + int LA17_146 = input.LA(4); + + if ( (LA17_146=='l') ) { + int LA17_204 = input.LA(5); + + if ( (LA17_204=='e') ) { + int LA17_260 = input.LA(6); + + if ( (LA17_260=='c') ) { + int LA17_308 = input.LA(7); - if ( (LA14_104=='l') ) { - int LA14_138 = input.LA(5); + if ( (LA17_308=='t') ) { + int LA17_349 = input.LA(8); - if ( (LA14_138=='e') ) { - int LA14_172 = input.LA(6); + if ( (LA17_349=='i') ) { + int LA17_382 = input.LA(9); - if ( (LA14_172=='c') ) { - int LA14_201 = input.LA(7); + if ( (LA17_382=='o') ) { + int LA17_402 = input.LA(10); - if ( (LA14_201=='t') ) { - int LA14_225 = input.LA(8); + if ( (LA17_402=='n') ) { + int LA17_414 = input.LA(11); - if ( (LA14_225=='$'||(LA14_225>='0' && LA14_225<='9')||(LA14_225>='A' && LA14_225<='Z')||LA14_225=='_'||(LA14_225>='a' && LA14_225<='z')||(LA14_225>='\u00C0' && LA14_225<='\u00D6')||(LA14_225>='\u00D8' && LA14_225<='\u00F6')||(LA14_225>='\u00F8' && LA14_225<='\u1FFF')||(LA14_225>='\u3040' && LA14_225<='\u318F')||(LA14_225>='\u3300' && LA14_225<='\u337F')||(LA14_225>='\u3400' && LA14_225<='\u3D2D')||(LA14_225>='\u4E00' && LA14_225<='\u9FFF')||(LA14_225>='\uF900' && LA14_225<='\uFAFF')) ) { - alt14=66; + if ( (LA17_414=='$'||(LA17_414>='0' && LA17_414<='9')||(LA17_414>='A' && LA17_414<='Z')||LA17_414=='_'||(LA17_414>='a' && LA17_414<='z')||(LA17_414>='\u00C0' && LA17_414<='\u00D6')||(LA17_414>='\u00D8' && LA17_414<='\u00F6')||(LA17_414>='\u00F8' && LA17_414<='\u1FFF')||(LA17_414>='\u3040' && LA17_414<='\u318F')||(LA17_414>='\u3300' && LA17_414<='\u337F')||(LA17_414>='\u3400' && LA17_414<='\u3D2D')||(LA17_414>='\u4E00' && LA17_414<='\u9FFF')||(LA17_414>='\uF900' && LA17_414<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=45;} + } + else { + alt17=93;} + } + else { + alt17=93;} } else { - alt14=55;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} - } - break; - default: - alt14=66;} + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'S': + { + int LA17_78 = input.LA(3); + + if ( (LA17_78=='T') ) { + int LA17_147 = input.LA(4); + + if ( (LA17_147=='A') ) { + int LA17_205 = input.LA(5); + + if ( (LA17_205=='R') ) { + int LA17_261 = input.LA(6); + if ( (LA17_261=='T') ) { + int LA17_309 = input.LA(7); + + if ( (LA17_309=='$'||(LA17_309>='0' && LA17_309<='9')||(LA17_309>='A' && LA17_309<='Z')||LA17_309=='_'||(LA17_309>='a' && LA17_309<='z')||(LA17_309>='\u00C0' && LA17_309<='\u00D6')||(LA17_309>='\u00D8' && LA17_309<='\u00F6')||(LA17_309>='\u00F8' && LA17_309<='\u1FFF')||(LA17_309>='\u3040' && LA17_309<='\u318F')||(LA17_309>='\u3300' && LA17_309<='\u337F')||(LA17_309>='\u3400' && LA17_309<='\u3D2D')||(LA17_309>='\u4E00' && LA17_309<='\u9FFF')||(LA17_309>='\uF900' && LA17_309<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=29;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='E') ) { - int LA14_6 = input.LA(2); + else if ( (LA17_0=='D') ) { + switch ( input.LA(2) ) { + case 'E': + { + int LA17_79 = input.LA(3); - if ( (LA14_6=='R') ) { - int LA14_54 = input.LA(3); + if ( (LA17_79=='F') ) { + int LA17_148 = input.LA(4); - if ( (LA14_54=='R') ) { - int LA14_105 = input.LA(4); + if ( (LA17_148=='I') ) { + int LA17_206 = input.LA(5); - if ( (LA14_105=='O') ) { - int LA14_139 = input.LA(5); + if ( (LA17_206=='N') ) { + int LA17_262 = input.LA(6); - if ( (LA14_139=='R') ) { - int LA14_173 = input.LA(6); + if ( (LA17_262=='E') ) { + int LA17_310 = input.LA(7); - if ( (LA14_173=='$'||(LA14_173>='0' && LA14_173<='9')||(LA14_173>='A' && LA14_173<='Z')||LA14_173=='_'||(LA14_173>='a' && LA14_173<='z')||(LA14_173>='\u00C0' && LA14_173<='\u00D6')||(LA14_173>='\u00D8' && LA14_173<='\u00F6')||(LA14_173>='\u00F8' && LA14_173<='\u1FFF')||(LA14_173>='\u3040' && LA14_173<='\u318F')||(LA14_173>='\u3300' && LA14_173<='\u337F')||(LA14_173>='\u3400' && LA14_173<='\u3D2D')||(LA14_173>='\u4E00' && LA14_173<='\u9FFF')||(LA14_173>='\uF900' && LA14_173<='\uFAFF')) ) { - alt14=66; + if ( (LA17_310=='$'||(LA17_310>='0' && LA17_310<='9')||(LA17_310>='A' && LA17_310<='Z')||LA17_310=='_'||(LA17_310>='a' && LA17_310<='z')||(LA17_310>='\u00C0' && LA17_310<='\u00D6')||(LA17_310>='\u00D8' && LA17_310<='\u00F6')||(LA17_310>='\u00F8' && LA17_310<='\u1FFF')||(LA17_310>='\u3040' && LA17_310<='\u318F')||(LA17_310>='\u3300' && LA17_310<='\u337F')||(LA17_310>='\u3400' && LA17_310<='\u3D2D')||(LA17_310>='\u4E00' && LA17_310<='\u9FFF')||(LA17_310>='\uF900' && LA17_310<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=89;} } else { - alt14=7;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} - } - else { - alt14=66;} - } - else if ( (LA14_0=='W') ) { - int LA14_7 = input.LA(2); - - if ( (LA14_7=='A') ) { - int LA14_55 = input.LA(3); + alt17=93;} + } + break; + case 'I': + { + int LA17_80 = input.LA(3); - if ( (LA14_55=='R') ) { - int LA14_106 = input.LA(4); + if ( (LA17_80=='S') ) { + int LA17_149 = input.LA(4); - if ( (LA14_106=='N') ) { - int LA14_140 = input.LA(5); + if ( (LA17_149=='A') ) { + int LA17_207 = input.LA(5); - if ( (LA14_140=='I') ) { - int LA14_174 = input.LA(6); + if ( (LA17_207=='B') ) { + int LA17_263 = input.LA(6); - if ( (LA14_174=='N') ) { - int LA14_203 = input.LA(7); + if ( (LA17_263=='L') ) { + int LA17_311 = input.LA(7); - if ( (LA14_203=='G') ) { - int LA14_226 = input.LA(8); + if ( (LA17_311=='E') ) { + int LA17_352 = input.LA(8); - if ( (LA14_226=='$'||(LA14_226>='0' && LA14_226<='9')||(LA14_226>='A' && LA14_226<='Z')||LA14_226=='_'||(LA14_226>='a' && LA14_226<='z')||(LA14_226>='\u00C0' && LA14_226<='\u00D6')||(LA14_226>='\u00D8' && LA14_226<='\u00F6')||(LA14_226>='\u00F8' && LA14_226<='\u1FFF')||(LA14_226>='\u3040' && LA14_226<='\u318F')||(LA14_226>='\u3300' && LA14_226<='\u337F')||(LA14_226>='\u3400' && LA14_226<='\u3D2D')||(LA14_226>='\u4E00' && LA14_226<='\u9FFF')||(LA14_226>='\uF900' && LA14_226<='\uFAFF')) ) { - alt14=66; + if ( (LA17_352=='$'||(LA17_352>='0' && LA17_352<='9')||(LA17_352>='A' && LA17_352<='Z')||LA17_352=='_'||(LA17_352>='a' && LA17_352<='z')||(LA17_352>='\u00C0' && LA17_352<='\u00D6')||(LA17_352>='\u00D8' && LA17_352<='\u00F6')||(LA17_352>='\u00F8' && LA17_352<='\u1FFF')||(LA17_352>='\u3040' && LA17_352<='\u318F')||(LA17_352>='\u3300' && LA17_352<='\u337F')||(LA17_352>='\u3400' && LA17_352<='\u3D2D')||(LA17_352>='\u4E00' && LA17_352<='\u9FFF')||(LA17_352>='\uF900' && LA17_352<='\uFAFF')) ) { + alt17=93; } else { - alt14=8;} + alt17=32;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} - } - else { - alt14=66;} - } - else if ( (LA14_0==':') ) { - int LA14_8 = input.LA(2); + alt17=93;} + } + break; + default: + alt17=93;} - if ( (LA14_8==':') ) { - alt14=15; - } - else { - alt14=9;} } - else if ( (LA14_0=='a') ) { - int LA14_9 = input.LA(2); - - if ( (LA14_9=='r') ) { - int LA14_58 = input.LA(3); + else if ( (LA17_0=='c') ) { + switch ( input.LA(2) ) { + case 'r': + { + int LA17_81 = input.LA(3); - if ( (LA14_58=='o') ) { - int LA14_107 = input.LA(4); + if ( (LA17_81=='e') ) { + int LA17_150 = input.LA(4); - if ( (LA14_107=='u') ) { - int LA14_141 = input.LA(5); + if ( (LA17_150=='a') ) { + int LA17_208 = input.LA(5); - if ( (LA14_141=='n') ) { - int LA14_175 = input.LA(6); + if ( (LA17_208=='t') ) { + int LA17_264 = input.LA(6); - if ( (LA14_175=='d') ) { - int LA14_204 = input.LA(7); + if ( (LA17_264=='e') ) { + int LA17_312 = input.LA(7); - if ( (LA14_204=='$'||(LA14_204>='0' && LA14_204<='9')||(LA14_204>='A' && LA14_204<='Z')||LA14_204=='_'||(LA14_204>='a' && LA14_204<='z')||(LA14_204>='\u00C0' && LA14_204<='\u00D6')||(LA14_204>='\u00D8' && LA14_204<='\u00F6')||(LA14_204>='\u00F8' && LA14_204<='\u1FFF')||(LA14_204>='\u3040' && LA14_204<='\u318F')||(LA14_204>='\u3300' && LA14_204<='\u337F')||(LA14_204>='\u3400' && LA14_204<='\u3D2D')||(LA14_204>='\u4E00' && LA14_204<='\u9FFF')||(LA14_204>='\uF900' && LA14_204<='\uFAFF')) ) { - alt14=66; + if ( (LA17_312=='$'||(LA17_312>='0' && LA17_312<='9')||(LA17_312>='A' && LA17_312<='Z')||LA17_312=='_'||(LA17_312>='a' && LA17_312<='z')||(LA17_312>='\u00C0' && LA17_312<='\u00D6')||(LA17_312>='\u00D8' && LA17_312<='\u00F6')||(LA17_312>='\u00F8' && LA17_312<='\u1FFF')||(LA17_312>='\u3040' && LA17_312<='\u318F')||(LA17_312>='\u3300' && LA17_312<='\u337F')||(LA17_312>='\u3400' && LA17_312<='\u3D2D')||(LA17_312>='\u4E00' && LA17_312<='\u9FFF')||(LA17_312>='\uF900' && LA17_312<='\uFAFF')) ) { + alt17=93; } else { - alt14=10;} + alt17=42;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} - } - else { - alt14=66;} - } - else if ( (LA14_0=='(') ) { - alt14=11; - } - else if ( (LA14_0==',') ) { - alt14=12; - } - else if ( (LA14_0=='*') ) { - alt14=13; - } - else if ( (LA14_0==')') ) { - alt14=14; - } - else if ( (LA14_0=='p') ) { - int LA14_14 = input.LA(2); + alt17=93;} + } + break; + case 'o': + { + switch ( input.LA(3) ) { + case 'l': + { + int LA17_151 = input.LA(4); - if ( (LA14_14=='r') ) { - int LA14_59 = input.LA(3); + if ( (LA17_151=='l') ) { + int LA17_209 = input.LA(5); - if ( (LA14_59=='i') ) { - int LA14_108 = input.LA(4); + if ( (LA17_209=='e') ) { + int LA17_265 = input.LA(6); - if ( (LA14_108=='v') ) { - int LA14_142 = input.LA(5); + if ( (LA17_265=='c') ) { + int LA17_313 = input.LA(7); - if ( (LA14_142=='a') ) { - int LA14_176 = input.LA(6); + if ( (LA17_313=='t') ) { + int LA17_354 = input.LA(8); - if ( (LA14_176=='t') ) { - int LA14_205 = input.LA(7); + if ( (LA17_354=='$'||(LA17_354>='0' && LA17_354<='9')||(LA17_354>='A' && LA17_354<='Z')||LA17_354=='_'||(LA17_354>='a' && LA17_354<='z')||(LA17_354>='\u00C0' && LA17_354<='\u00D6')||(LA17_354>='\u00D8' && LA17_354<='\u00F6')||(LA17_354>='\u00F8' && LA17_354<='\u1FFF')||(LA17_354>='\u3040' && LA17_354<='\u318F')||(LA17_354>='\u3300' && LA17_354<='\u337F')||(LA17_354>='\u3400' && LA17_354<='\u3D2D')||(LA17_354>='\u4E00' && LA17_354<='\u9FFF')||(LA17_354>='\uF900' && LA17_354<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=78;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'n': + { + int LA17_152 = input.LA(4); + + if ( (LA17_152=='t') ) { + int LA17_210 = input.LA(5); - if ( (LA14_205=='e') ) { - int LA14_228 = input.LA(8); + if ( (LA17_210=='e') ) { + int LA17_266 = input.LA(6); - if ( (LA14_228=='$'||(LA14_228>='0' && LA14_228<='9')||(LA14_228>='A' && LA14_228<='Z')||LA14_228=='_'||(LA14_228>='a' && LA14_228<='z')||(LA14_228>='\u00C0' && LA14_228<='\u00D6')||(LA14_228>='\u00D8' && LA14_228<='\u00F6')||(LA14_228>='\u00F8' && LA14_228<='\u1FFF')||(LA14_228>='\u3040' && LA14_228<='\u318F')||(LA14_228>='\u3300' && LA14_228<='\u337F')||(LA14_228>='\u3400' && LA14_228<='\u3D2D')||(LA14_228>='\u4E00' && LA14_228<='\u9FFF')||(LA14_228>='\uF900' && LA14_228<='\uFAFF')) ) { - alt14=66; + if ( (LA17_266=='x') ) { + int LA17_314 = input.LA(7); + + if ( (LA17_314=='t') ) { + int LA17_355 = input.LA(8); + + if ( (LA17_355=='$'||(LA17_355>='0' && LA17_355<='9')||(LA17_355>='A' && LA17_355<='Z')||LA17_355=='_'||(LA17_355>='a' && LA17_355<='z')||(LA17_355>='\u00C0' && LA17_355<='\u00D6')||(LA17_355>='\u00D8' && LA17_355<='\u00F6')||(LA17_355>='\u00F8' && LA17_355<='\u1FFF')||(LA17_355>='\u3040' && LA17_355<='\u318F')||(LA17_355>='\u3300' && LA17_355<='\u337F')||(LA17_355>='\u3400' && LA17_355<='\u3D2D')||(LA17_355>='\u4E00' && LA17_355<='\u9FFF')||(LA17_355>='\uF900' && LA17_355<='\uFAFF')) ) { + alt17=93; } else { - alt14=16;} + alt17=34;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} + } + break; + default: + alt17=93;} + } - else { - alt14=66;} - } - else { - alt14=66;} - } - else if ( (LA14_0=='J') ) { - int LA14_15 = input.LA(2); + break; + case 'a': + { + switch ( input.LA(3) ) { + case 's': + { + int LA17_153 = input.LA(4); + + if ( (LA17_153=='e') ) { + int LA17_211 = input.LA(5); + + if ( (LA17_211=='$'||(LA17_211>='0' && LA17_211<='9')||(LA17_211>='A' && LA17_211<='Z')||LA17_211=='_'||(LA17_211>='a' && LA17_211<='z')||(LA17_211>='\u00C0' && LA17_211<='\u00D6')||(LA17_211>='\u00D8' && LA17_211<='\u00F6')||(LA17_211>='\u00F8' && LA17_211<='\u1FFF')||(LA17_211>='\u3040' && LA17_211<='\u318F')||(LA17_211>='\u3300' && LA17_211<='\u337F')||(LA17_211>='\u3400' && LA17_211<='\u3D2D')||(LA17_211>='\u4E00' && LA17_211<='\u9FFF')||(LA17_211>='\uF900' && LA17_211<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=57;} + } + else { + alt17=93;} + } + break; + case 'c': + { + int LA17_154 = input.LA(4); - if ( (LA14_15=='A') ) { - int LA14_60 = input.LA(3); + if ( (LA17_154=='h') ) { + int LA17_212 = input.LA(5); - if ( (LA14_60=='V') ) { - int LA14_109 = input.LA(4); + if ( (LA17_212=='e') ) { + int LA17_268 = input.LA(6); - if ( (LA14_109=='A') ) { - int LA14_143 = input.LA(5); + if ( (LA17_268=='d') ) { + int LA17_315 = input.LA(7); - if ( (LA14_143=='$'||(LA14_143>='0' && LA14_143<='9')||(LA14_143>='A' && LA14_143<='Z')||LA14_143=='_'||(LA14_143>='a' && LA14_143<='z')||(LA14_143>='\u00C0' && LA14_143<='\u00D6')||(LA14_143>='\u00D8' && LA14_143<='\u00F6')||(LA14_143>='\u00F8' && LA14_143<='\u1FFF')||(LA14_143>='\u3040' && LA14_143<='\u318F')||(LA14_143>='\u3300' && LA14_143<='\u337F')||(LA14_143>='\u3400' && LA14_143<='\u3D2D')||(LA14_143>='\u4E00' && LA14_143<='\u9FFF')||(LA14_143>='\uF900' && LA14_143<='\uFAFF')) ) { - alt14=66; + if ( (LA17_315=='$'||(LA17_315>='0' && LA17_315<='9')||(LA17_315>='A' && LA17_315<='Z')||LA17_315=='_'||(LA17_315>='a' && LA17_315<='z')||(LA17_315>='\u00C0' && LA17_315<='\u00D6')||(LA17_315>='\u00D8' && LA17_315<='\u00F6')||(LA17_315>='\u00F8' && LA17_315<='\u1FFF')||(LA17_315>='\u3040' && LA17_315<='\u318F')||(LA17_315>='\u3300' && LA17_315<='\u337F')||(LA17_315>='\u3400' && LA17_315<='\u3D2D')||(LA17_315>='\u4E00' && LA17_315<='\u9FFF')||(LA17_315>='\uF900' && LA17_315<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=41;} + } + else { + alt17=93;} } else { - alt14=19;} + alt17=93;} } else { - alt14=66;} - } - else { - alt14=66;} - } - else { - alt14=66;} - } - else if ( (LA14_0=='.') ) { - alt14=20; - } - else if ( (LA14_0=='C') ) { - int LA14_17 = input.LA(2); - - if ( (LA14_17=='o') ) { - int LA14_61 = input.LA(3); + alt17=93;} + } + break; + default: + alt17=93;} - if ( (LA14_61=='l') ) { - int LA14_110 = input.LA(4); + } + break; + default: + alt17=93;} - if ( (LA14_110=='l') ) { - int LA14_144 = input.LA(5); + } + else if ( (LA17_0=='W') ) { + int LA17_20 = input.LA(2); - if ( (LA14_144=='e') ) { - int LA14_178 = input.LA(6); + if ( (LA17_20=='A') ) { + int LA17_84 = input.LA(3); - if ( (LA14_178=='c') ) { - int LA14_206 = input.LA(7); + if ( (LA17_84=='R') ) { + int LA17_155 = input.LA(4); - if ( (LA14_206=='t') ) { - int LA14_229 = input.LA(8); + if ( (LA17_155=='N') ) { + int LA17_213 = input.LA(5); - if ( (LA14_229=='i') ) { - int LA14_246 = input.LA(9); + if ( (LA17_213=='I') ) { + int LA17_269 = input.LA(6); - if ( (LA14_246=='o') ) { - int LA14_254 = input.LA(10); + if ( (LA17_269=='N') ) { + int LA17_316 = input.LA(7); - if ( (LA14_254=='n') ) { - int LA14_260 = input.LA(11); + if ( (LA17_316=='G') ) { + int LA17_357 = input.LA(8); - if ( (LA14_260=='$'||(LA14_260>='0' && LA14_260<='9')||(LA14_260>='A' && LA14_260<='Z')||LA14_260=='_'||(LA14_260>='a' && LA14_260<='z')||(LA14_260>='\u00C0' && LA14_260<='\u00D6')||(LA14_260>='\u00D8' && LA14_260<='\u00F6')||(LA14_260>='\u00F8' && LA14_260<='\u1FFF')||(LA14_260>='\u3040' && LA14_260<='\u318F')||(LA14_260>='\u3300' && LA14_260<='\u337F')||(LA14_260>='\u3400' && LA14_260<='\u3D2D')||(LA14_260>='\u4E00' && LA14_260<='\u9FFF')||(LA14_260>='\uF900' && LA14_260<='\uFAFF')) ) { - alt14=66; - } - else { - alt14=21;} - } - else { - alt14=66;} - } - else { - alt14=66;} + if ( (LA17_357=='$'||(LA17_357>='0' && LA17_357<='9')||(LA17_357>='A' && LA17_357<='Z')||LA17_357=='_'||(LA17_357>='a' && LA17_357<='z')||(LA17_357>='\u00C0' && LA17_357<='\u00D6')||(LA17_357>='\u00D8' && LA17_357<='\u00F6')||(LA17_357>='\u00F8' && LA17_357<='\u1FFF')||(LA17_357>='\u3040' && LA17_357<='\u318F')||(LA17_357>='\u3300' && LA17_357<='\u337F')||(LA17_357>='\u3400' && LA17_357<='\u3D2D')||(LA17_357>='\u4E00' && LA17_357<='\u9FFF')||(LA17_357>='\uF900' && LA17_357<='\uFAFF')) ) { + alt17=93; } else { - alt14=66;} + alt17=36;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} + } + else { + alt17=93;} + } + else if ( (LA17_0==':') ) { + int LA17_21 = input.LA(2); + + if ( (LA17_21==':') ) { + alt17=39; } else { - alt14=66;} + alt17=37;} } - else if ( (LA14_0=='L') ) { - int LA14_18 = input.LA(2); + else if ( (LA17_0=='a') ) { + int LA17_22 = input.LA(2); - if ( (LA14_18=='i') ) { - int LA14_62 = input.LA(3); + if ( (LA17_22=='r') ) { + int LA17_87 = input.LA(3); - if ( (LA14_62=='s') ) { - int LA14_111 = input.LA(4); + if ( (LA17_87=='o') ) { + int LA17_156 = input.LA(4); - if ( (LA14_111=='t') ) { - int LA14_145 = input.LA(5); + if ( (LA17_156=='u') ) { + int LA17_214 = input.LA(5); - if ( (LA14_145=='$'||(LA14_145>='0' && LA14_145<='9')||(LA14_145>='A' && LA14_145<='Z')||LA14_145=='_'||(LA14_145>='a' && LA14_145<='z')||(LA14_145>='\u00C0' && LA14_145<='\u00D6')||(LA14_145>='\u00D8' && LA14_145<='\u00F6')||(LA14_145>='\u00F8' && LA14_145<='\u1FFF')||(LA14_145>='\u3040' && LA14_145<='\u318F')||(LA14_145>='\u3300' && LA14_145<='\u337F')||(LA14_145>='\u3400' && LA14_145<='\u3D2D')||(LA14_145>='\u4E00' && LA14_145<='\u9FFF')||(LA14_145>='\uF900' && LA14_145<='\uFAFF')) ) { - alt14=66; + if ( (LA17_214=='n') ) { + int LA17_270 = input.LA(6); + + if ( (LA17_270=='d') ) { + int LA17_317 = input.LA(7); + + if ( (LA17_317=='$'||(LA17_317>='0' && LA17_317<='9')||(LA17_317>='A' && LA17_317<='Z')||LA17_317=='_'||(LA17_317>='a' && LA17_317<='z')||(LA17_317>='\u00C0' && LA17_317<='\u00D6')||(LA17_317>='\u00D8' && LA17_317<='\u00F6')||(LA17_317>='\u00F8' && LA17_317<='\u1FFF')||(LA17_317>='\u3040' && LA17_317<='\u318F')||(LA17_317>='\u3300' && LA17_317<='\u337F')||(LA17_317>='\u3400' && LA17_317<='\u3D2D')||(LA17_317>='\u4E00' && LA17_317<='\u9FFF')||(LA17_317>='\uF900' && LA17_317<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=38;} + } + else { + alt17=93;} } else { - alt14=22;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='S') ) { - int LA14_19 = input.LA(2); + else if ( (LA17_0=='p') ) { + int LA17_23 = input.LA(2); - if ( (LA14_19=='e') ) { - int LA14_63 = input.LA(3); + if ( (LA17_23=='r') ) { + int LA17_88 = input.LA(3); - if ( (LA14_63=='t') ) { - int LA14_112 = input.LA(4); + if ( (LA17_88=='i') ) { + int LA17_157 = input.LA(4); - if ( (LA14_112=='$'||(LA14_112>='0' && LA14_112<='9')||(LA14_112>='A' && LA14_112<='Z')||LA14_112=='_'||(LA14_112>='a' && LA14_112<='z')||(LA14_112>='\u00C0' && LA14_112<='\u00D6')||(LA14_112>='\u00D8' && LA14_112<='\u00F6')||(LA14_112>='\u00F8' && LA14_112<='\u1FFF')||(LA14_112>='\u3040' && LA14_112<='\u318F')||(LA14_112>='\u3300' && LA14_112<='\u337F')||(LA14_112>='\u3400' && LA14_112<='\u3D2D')||(LA14_112>='\u4E00' && LA14_112<='\u9FFF')||(LA14_112>='\uF900' && LA14_112<='\uFAFF')) ) { - alt14=66; - } - else { - alt14=23;} - } - else { - alt14=66;} - } - else { - alt14=66;} - } - else if ( (LA14_0=='l') ) { - int LA14_20 = input.LA(2); + if ( (LA17_157=='v') ) { + int LA17_215 = input.LA(5); - if ( (LA14_20=='e') ) { - int LA14_64 = input.LA(3); + if ( (LA17_215=='a') ) { + int LA17_271 = input.LA(6); - if ( (LA14_64=='t') ) { - int LA14_113 = input.LA(4); + if ( (LA17_271=='t') ) { + int LA17_318 = input.LA(7); - if ( (LA14_113=='$'||(LA14_113>='0' && LA14_113<='9')||(LA14_113>='A' && LA14_113<='Z')||LA14_113=='_'||(LA14_113>='a' && LA14_113<='z')||(LA14_113>='\u00C0' && LA14_113<='\u00D6')||(LA14_113>='\u00D8' && LA14_113<='\u00F6')||(LA14_113>='\u00F8' && LA14_113<='\u1FFF')||(LA14_113>='\u3040' && LA14_113<='\u318F')||(LA14_113>='\u3300' && LA14_113<='\u337F')||(LA14_113>='\u3400' && LA14_113<='\u3D2D')||(LA14_113>='\u4E00' && LA14_113<='\u9FFF')||(LA14_113>='\uF900' && LA14_113<='\uFAFF')) ) { - alt14=66; + if ( (LA17_318=='e') ) { + int LA17_359 = input.LA(8); + + if ( (LA17_359=='$'||(LA17_359>='0' && LA17_359<='9')||(LA17_359>='A' && LA17_359<='Z')||LA17_359=='_'||(LA17_359>='a' && LA17_359<='z')||(LA17_359>='\u00C0' && LA17_359<='\u00D6')||(LA17_359>='\u00D8' && LA17_359<='\u00F6')||(LA17_359>='\u00F8' && LA17_359<='\u1FFF')||(LA17_359>='\u3040' && LA17_359<='\u318F')||(LA17_359>='\u3300' && LA17_359<='\u337F')||(LA17_359>='\u3400' && LA17_359<='\u3D2D')||(LA17_359>='\u4E00' && LA17_359<='\u9FFF')||(LA17_359>='\uF900' && LA17_359<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=40;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} } else { - alt14=24;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='=') ) { - int LA14_21 = input.LA(2); + else if ( (LA17_0=='J') ) { + int LA17_24 = input.LA(2); - if ( (LA14_21=='=') ) { - alt14=37; - } - else { - alt14=25;} - } - else if ( (LA14_0=='-') ) { - int LA14_22 = input.LA(2); + if ( (LA17_24=='A') ) { + int LA17_89 = input.LA(3); - if ( (LA14_22=='>') ) { - alt14=26; - } - else { - alt14=44;} - } - else if ( (LA14_0=='?') ) { - alt14=27; - } - else if ( (LA14_0=='t') ) { - switch ( input.LA(2) ) { - case 'r': - { - int LA14_69 = input.LA(3); - - if ( (LA14_69=='u') ) { - int LA14_114 = input.LA(4); + if ( (LA17_89=='V') ) { + int LA17_158 = input.LA(4); - if ( (LA14_114=='e') ) { - int LA14_148 = input.LA(5); + if ( (LA17_158=='A') ) { + int LA17_216 = input.LA(5); - if ( (LA14_148=='$'||(LA14_148>='0' && LA14_148<='9')||(LA14_148>='A' && LA14_148<='Z')||LA14_148=='_'||(LA14_148>='a' && LA14_148<='z')||(LA14_148>='\u00C0' && LA14_148<='\u00D6')||(LA14_148>='\u00D8' && LA14_148<='\u00F6')||(LA14_148>='\u00F8' && LA14_148<='\u1FFF')||(LA14_148>='\u3040' && LA14_148<='\u318F')||(LA14_148>='\u3300' && LA14_148<='\u337F')||(LA14_148>='\u3400' && LA14_148<='\u3D2D')||(LA14_148>='\u4E00' && LA14_148<='\u9FFF')||(LA14_148>='\uF900' && LA14_148<='\uFAFF')) ) { - alt14=66; + if ( (LA17_216=='$'||(LA17_216>='0' && LA17_216<='9')||(LA17_216>='A' && LA17_216<='Z')||LA17_216=='_'||(LA17_216>='a' && LA17_216<='z')||(LA17_216>='\u00C0' && LA17_216<='\u00D6')||(LA17_216>='\u00D8' && LA17_216<='\u00F6')||(LA17_216>='\u00F8' && LA17_216<='\u1FFF')||(LA17_216>='\u3040' && LA17_216<='\u318F')||(LA17_216>='\u3300' && LA17_216<='\u337F')||(LA17_216>='\u3400' && LA17_216<='\u3D2D')||(LA17_216>='\u4E00' && LA17_216<='\u9FFF')||(LA17_216>='\uF900' && LA17_216<='\uFAFF')) ) { + alt17=93; } else { - alt14=52;} + alt17=43;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} - } - break; - case 'h': - { - int LA14_70 = input.LA(3); + alt17=93;} + } + else { + alt17=93;} + } + else if ( (LA17_0=='.') ) { + alt17=44; + } + else if ( (LA17_0=='l') ) { + int LA17_26 = input.LA(2); - if ( (LA14_70=='e') ) { - int LA14_115 = input.LA(4); + if ( (LA17_26=='e') ) { + int LA17_90 = input.LA(3); - if ( (LA14_115=='n') ) { - int LA14_149 = input.LA(5); + if ( (LA17_90=='t') ) { + int LA17_159 = input.LA(4); - if ( (LA14_149=='$'||(LA14_149>='0' && LA14_149<='9')||(LA14_149>='A' && LA14_149<='Z')||LA14_149=='_'||(LA14_149>='a' && LA14_149<='z')||(LA14_149>='\u00C0' && LA14_149<='\u00D6')||(LA14_149>='\u00D8' && LA14_149<='\u00F6')||(LA14_149>='\u00F8' && LA14_149<='\u1FFF')||(LA14_149>='\u3040' && LA14_149<='\u318F')||(LA14_149>='\u3300' && LA14_149<='\u337F')||(LA14_149>='\u3400' && LA14_149<='\u3D2D')||(LA14_149>='\u4E00' && LA14_149<='\u9FFF')||(LA14_149>='\uF900' && LA14_149<='\uFAFF')) ) { - alt14=66; - } - else { - alt14=28;} + if ( (LA17_159=='$'||(LA17_159>='0' && LA17_159<='9')||(LA17_159>='A' && LA17_159<='Z')||LA17_159=='_'||(LA17_159>='a' && LA17_159<='z')||(LA17_159>='\u00C0' && LA17_159<='\u00D6')||(LA17_159>='\u00D8' && LA17_159<='\u00F6')||(LA17_159>='\u00F8' && LA17_159<='\u1FFF')||(LA17_159>='\u3040' && LA17_159<='\u318F')||(LA17_159>='\u3300' && LA17_159<='\u337F')||(LA17_159>='\u3400' && LA17_159<='\u3D2D')||(LA17_159>='\u4E00' && LA17_159<='\u9FFF')||(LA17_159>='\uF900' && LA17_159<='\uFAFF')) ) { + alt17=93; } else { - alt14=66;} + alt17=48;} } else { - alt14=66;} - } - break; + alt17=93;} + } + else { + alt17=93;} + } + else if ( (LA17_0=='=') ) { + int LA17_27 = input.LA(2); + + if ( (LA17_27=='=') ) { + alt17=61; + } + else { + alt17=49;} + } + else if ( (LA17_0=='?') ) { + alt17=51; + } + else if ( (LA17_0=='t') ) { + switch ( input.LA(2) ) { case 'y': { - int LA14_71 = input.LA(3); + int LA17_93 = input.LA(3); - if ( (LA14_71=='p') ) { - int LA14_116 = input.LA(4); + if ( (LA17_93=='p') ) { + int LA17_160 = input.LA(4); - if ( (LA14_116=='e') ) { - int LA14_150 = input.LA(5); + if ( (LA17_160=='e') ) { + int LA17_218 = input.LA(5); - if ( (LA14_150=='S') ) { - int LA14_182 = input.LA(6); + if ( (LA17_218=='S') ) { + int LA17_273 = input.LA(6); - if ( (LA14_182=='e') ) { - int LA14_207 = input.LA(7); + if ( (LA17_273=='e') ) { + int LA17_319 = input.LA(7); - if ( (LA14_207=='l') ) { - int LA14_230 = input.LA(8); + if ( (LA17_319=='l') ) { + int LA17_360 = input.LA(8); - if ( (LA14_230=='e') ) { - int LA14_247 = input.LA(9); + if ( (LA17_360=='e') ) { + int LA17_388 = input.LA(9); - if ( (LA14_247=='c') ) { - int LA14_255 = input.LA(10); + if ( (LA17_388=='c') ) { + int LA17_403 = input.LA(10); - if ( (LA14_255=='t') ) { - int LA14_261 = input.LA(11); + if ( (LA17_403=='t') ) { + int LA17_415 = input.LA(11); - if ( (LA14_261=='$'||(LA14_261>='0' && LA14_261<='9')||(LA14_261>='A' && LA14_261<='Z')||LA14_261=='_'||(LA14_261>='a' && LA14_261<='z')||(LA14_261>='\u00C0' && LA14_261<='\u00D6')||(LA14_261>='\u00D8' && LA14_261<='\u00F6')||(LA14_261>='\u00F8' && LA14_261<='\u1FFF')||(LA14_261>='\u3040' && LA14_261<='\u318F')||(LA14_261>='\u3300' && LA14_261<='\u337F')||(LA14_261>='\u3400' && LA14_261<='\u3D2D')||(LA14_261>='\u4E00' && LA14_261<='\u9FFF')||(LA14_261>='\uF900' && LA14_261<='\uFAFF')) ) { - alt14=66; + if ( (LA17_415=='$'||(LA17_415>='0' && LA17_415<='9')||(LA17_415>='A' && LA17_415<='Z')||LA17_415=='_'||(LA17_415>='a' && LA17_415<='z')||(LA17_415>='\u00C0' && LA17_415<='\u00D6')||(LA17_415>='\u00D8' && LA17_415<='\u00F6')||(LA17_415>='\u00F8' && LA17_415<='\u1FFF')||(LA17_415>='\u3040' && LA17_415<='\u318F')||(LA17_415>='\u3300' && LA17_415<='\u337F')||(LA17_415>='\u3400' && LA17_415<='\u3D2D')||(LA17_415>='\u4E00' && LA17_415<='\u9FFF')||(LA17_415>='\uF900' && LA17_415<='\uFAFF')) ) { + alt17=93; } else { - alt14=54;} + alt17=77;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; - default: - alt14=66;} - - } - else if ( (LA14_0=='s') ) { - switch ( input.LA(2) ) { - case 'w': + case 'r': { - int LA14_72 = input.LA(3); + int LA17_94 = input.LA(3); - if ( (LA14_72=='i') ) { - int LA14_117 = input.LA(4); + if ( (LA17_94=='u') ) { + int LA17_161 = input.LA(4); - if ( (LA14_117=='t') ) { - int LA14_151 = input.LA(5); + if ( (LA17_161=='e') ) { + int LA17_219 = input.LA(5); - if ( (LA14_151=='c') ) { - int LA14_183 = input.LA(6); + if ( (LA17_219=='$'||(LA17_219>='0' && LA17_219<='9')||(LA17_219>='A' && LA17_219<='Z')||LA17_219=='_'||(LA17_219>='a' && LA17_219<='z')||(LA17_219>='\u00C0' && LA17_219<='\u00D6')||(LA17_219>='\u00D8' && LA17_219<='\u00F6')||(LA17_219>='\u00F8' && LA17_219<='\u1FFF')||(LA17_219>='\u3040' && LA17_219<='\u318F')||(LA17_219>='\u3300' && LA17_219<='\u337F')||(LA17_219>='\u3400' && LA17_219<='\u3D2D')||(LA17_219>='\u4E00' && LA17_219<='\u9FFF')||(LA17_219>='\uF900' && LA17_219<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=75;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'h': + { + int LA17_95 = input.LA(3); - if ( (LA14_183=='h') ) { - int LA14_208 = input.LA(7); + if ( (LA17_95=='e') ) { + int LA17_162 = input.LA(4); - if ( (LA14_208=='$'||(LA14_208>='0' && LA14_208<='9')||(LA14_208>='A' && LA14_208<='Z')||LA14_208=='_'||(LA14_208>='a' && LA14_208<='z')||(LA14_208>='\u00C0' && LA14_208<='\u00D6')||(LA14_208>='\u00D8' && LA14_208<='\u00F6')||(LA14_208>='\u00F8' && LA14_208<='\u1FFF')||(LA14_208>='\u3040' && LA14_208<='\u318F')||(LA14_208>='\u3300' && LA14_208<='\u337F')||(LA14_208>='\u3400' && LA14_208<='\u3D2D')||(LA14_208>='\u4E00' && LA14_208<='\u9FFF')||(LA14_208>='\uF900' && LA14_208<='\uFAFF')) ) { - alt14=66; - } - else { - alt14=30;} - } - else { - alt14=66;} + if ( (LA17_162=='n') ) { + int LA17_220 = input.LA(5); + + if ( (LA17_220=='$'||(LA17_220>='0' && LA17_220<='9')||(LA17_220>='A' && LA17_220<='Z')||LA17_220=='_'||(LA17_220>='a' && LA17_220<='z')||(LA17_220>='\u00C0' && LA17_220<='\u00D6')||(LA17_220>='\u00D8' && LA17_220<='\u00F6')||(LA17_220>='\u00F8' && LA17_220<='\u1FFF')||(LA17_220>='\u3040' && LA17_220<='\u318F')||(LA17_220>='\u3300' && LA17_220<='\u337F')||(LA17_220>='\u3400' && LA17_220<='\u3D2D')||(LA17_220>='\u4E00' && LA17_220<='\u9FFF')||(LA17_220>='\uF900' && LA17_220<='\uFAFF')) ) { + alt17=93; } else { - alt14=66;} + alt17=52;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; + default: + alt17=93;} + + } + else if ( (LA17_0=='s') ) { + switch ( input.LA(2) ) { case 'e': { - int LA14_73 = input.LA(3); + int LA17_96 = input.LA(3); - if ( (LA14_73=='l') ) { - int LA14_118 = input.LA(4); + if ( (LA17_96=='l') ) { + int LA17_163 = input.LA(4); - if ( (LA14_118=='e') ) { - int LA14_152 = input.LA(5); + if ( (LA17_163=='e') ) { + int LA17_221 = input.LA(5); - if ( (LA14_152=='c') ) { - int LA14_184 = input.LA(6); + if ( (LA17_221=='c') ) { + int LA17_276 = input.LA(6); - if ( (LA14_184=='t') ) { - int LA14_209 = input.LA(7); + if ( (LA17_276=='t') ) { + int LA17_320 = input.LA(7); - if ( (LA14_209=='F') ) { - int LA14_232 = input.LA(8); + if ( (LA17_320=='F') ) { + int LA17_361 = input.LA(8); - if ( (LA14_232=='i') ) { - int LA14_248 = input.LA(9); + if ( (LA17_361=='i') ) { + int LA17_389 = input.LA(9); - if ( (LA14_248=='r') ) { - int LA14_256 = input.LA(10); + if ( (LA17_389=='r') ) { + int LA17_404 = input.LA(10); - if ( (LA14_256=='s') ) { - int LA14_262 = input.LA(11); + if ( (LA17_404=='s') ) { + int LA17_416 = input.LA(11); - if ( (LA14_262=='t') ) { - int LA14_267 = input.LA(12); + if ( (LA17_416=='t') ) { + int LA17_423 = input.LA(12); - if ( (LA14_267=='$'||(LA14_267>='0' && LA14_267<='9')||(LA14_267>='A' && LA14_267<='Z')||LA14_267=='_'||(LA14_267>='a' && LA14_267<='z')||(LA14_267>='\u00C0' && LA14_267<='\u00D6')||(LA14_267>='\u00D8' && LA14_267<='\u00F6')||(LA14_267>='\u00F8' && LA14_267<='\u1FFF')||(LA14_267>='\u3040' && LA14_267<='\u318F')||(LA14_267>='\u3300' && LA14_267<='\u337F')||(LA14_267>='\u3400' && LA14_267<='\u3D2D')||(LA14_267>='\u4E00' && LA14_267<='\u9FFF')||(LA14_267>='\uF900' && LA14_267<='\uFAFF')) ) { - alt14=66; + if ( (LA17_423=='$'||(LA17_423>='0' && LA17_423<='9')||(LA17_423>='A' && LA17_423<='Z')||LA17_423=='_'||(LA17_423>='a' && LA17_423<='z')||(LA17_423>='\u00C0' && LA17_423<='\u00D6')||(LA17_423>='\u00D8' && LA17_423<='\u00F6')||(LA17_423>='\u00F8' && LA17_423<='\u1FFF')||(LA17_423>='\u3040' && LA17_423<='\u318F')||(LA17_423>='\u3300' && LA17_423<='\u337F')||(LA17_423>='\u3400' && LA17_423<='\u3D2D')||(LA17_423>='\u4E00' && LA17_423<='\u9FFF')||(LA17_423>='\uF900' && LA17_423<='\uFAFF')) ) { + alt17=93; } else { - alt14=57;} + alt17=80;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } - else if ( (LA14_209=='$'||(LA14_209>='0' && LA14_209<='9')||(LA14_209>='A' && LA14_209<='E')||(LA14_209>='G' && LA14_209<='Z')||LA14_209=='_'||(LA14_209>='a' && LA14_209<='z')||(LA14_209>='\u00C0' && LA14_209<='\u00D6')||(LA14_209>='\u00D8' && LA14_209<='\u00F6')||(LA14_209>='\u00F8' && LA14_209<='\u1FFF')||(LA14_209>='\u3040' && LA14_209<='\u318F')||(LA14_209>='\u3300' && LA14_209<='\u337F')||(LA14_209>='\u3400' && LA14_209<='\u3D2D')||(LA14_209>='\u4E00' && LA14_209<='\u9FFF')||(LA14_209>='\uF900' && LA14_209<='\uFAFF')) ) { - alt14=66; + else if ( (LA17_320=='$'||(LA17_320>='0' && LA17_320<='9')||(LA17_320>='A' && LA17_320<='E')||(LA17_320>='G' && LA17_320<='Z')||LA17_320=='_'||(LA17_320>='a' && LA17_320<='z')||(LA17_320>='\u00C0' && LA17_320<='\u00D6')||(LA17_320>='\u00D8' && LA17_320<='\u00F6')||(LA17_320>='\u00F8' && LA17_320<='\u1FFF')||(LA17_320>='\u3040' && LA17_320<='\u318F')||(LA17_320>='\u3300' && LA17_320<='\u337F')||(LA17_320>='\u3400' && LA17_320<='\u3D2D')||(LA17_320>='\u4E00' && LA17_320<='\u9FFF')||(LA17_320>='\uF900' && LA17_320<='\uFAFF')) ) { + alt17=93; } else { - alt14=56;} + alt17=79;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; case 'o': { - int LA14_74 = input.LA(3); + int LA17_97 = input.LA(3); + + if ( (LA17_97=='r') ) { + int LA17_164 = input.LA(4); + + if ( (LA17_164=='t') ) { + int LA17_222 = input.LA(5); + + if ( (LA17_222=='B') ) { + int LA17_277 = input.LA(6); + + if ( (LA17_277=='y') ) { + int LA17_321 = input.LA(7); + + if ( (LA17_321=='$'||(LA17_321>='0' && LA17_321<='9')||(LA17_321>='A' && LA17_321<='Z')||LA17_321=='_'||(LA17_321>='a' && LA17_321<='z')||(LA17_321>='\u00C0' && LA17_321<='\u00D6')||(LA17_321>='\u00D8' && LA17_321<='\u00F6')||(LA17_321>='\u00F8' && LA17_321<='\u1FFF')||(LA17_321>='\u3040' && LA17_321<='\u318F')||(LA17_321>='\u3300' && LA17_321<='\u337F')||(LA17_321>='\u3400' && LA17_321<='\u3D2D')||(LA17_321>='\u4E00' && LA17_321<='\u9FFF')||(LA17_321>='\uF900' && LA17_321<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=84;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} + } + break; + case 'w': + { + int LA17_98 = input.LA(3); - if ( (LA14_74=='r') ) { - int LA14_119 = input.LA(4); + if ( (LA17_98=='i') ) { + int LA17_165 = input.LA(4); - if ( (LA14_119=='t') ) { - int LA14_153 = input.LA(5); + if ( (LA17_165=='t') ) { + int LA17_223 = input.LA(5); - if ( (LA14_153=='B') ) { - int LA14_185 = input.LA(6); + if ( (LA17_223=='c') ) { + int LA17_278 = input.LA(6); - if ( (LA14_185=='y') ) { - int LA14_210 = input.LA(7); + if ( (LA17_278=='h') ) { + int LA17_322 = input.LA(7); - if ( (LA14_210=='$'||(LA14_210>='0' && LA14_210<='9')||(LA14_210>='A' && LA14_210<='Z')||LA14_210=='_'||(LA14_210>='a' && LA14_210<='z')||(LA14_210>='\u00C0' && LA14_210<='\u00D6')||(LA14_210>='\u00D8' && LA14_210<='\u00F6')||(LA14_210>='\u00F8' && LA14_210<='\u1FFF')||(LA14_210>='\u3040' && LA14_210<='\u318F')||(LA14_210>='\u3300' && LA14_210<='\u337F')||(LA14_210>='\u3400' && LA14_210<='\u3D2D')||(LA14_210>='\u4E00' && LA14_210<='\u9FFF')||(LA14_210>='\uF900' && LA14_210<='\uFAFF')) ) { - alt14=66; + if ( (LA17_322=='$'||(LA17_322>='0' && LA17_322<='9')||(LA17_322>='A' && LA17_322<='Z')||LA17_322=='_'||(LA17_322>='a' && LA17_322<='z')||(LA17_322>='\u00C0' && LA17_322<='\u00D6')||(LA17_322>='\u00D8' && LA17_322<='\u00F6')||(LA17_322>='\u00F8' && LA17_322<='\u1FFF')||(LA17_322>='\u3040' && LA17_322<='\u318F')||(LA17_322>='\u3300' && LA17_322<='\u337F')||(LA17_322>='\u3400' && LA17_322<='\u3D2D')||(LA17_322>='\u4E00' && LA17_322<='\u9FFF')||(LA17_322>='\uF900' && LA17_322<='\uFAFF')) ) { + alt17=93; } else { - alt14=61;} + alt17=54;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='d') ) { - int LA14_26 = input.LA(2); + else if ( (LA17_0=='d') ) { + int LA17_31 = input.LA(2); - if ( (LA14_26=='e') ) { - int LA14_75 = input.LA(3); + if ( (LA17_31=='e') ) { + int LA17_99 = input.LA(3); - if ( (LA14_75=='f') ) { - int LA14_120 = input.LA(4); + if ( (LA17_99=='f') ) { + int LA17_166 = input.LA(4); - if ( (LA14_120=='a') ) { - int LA14_154 = input.LA(5); + if ( (LA17_166=='a') ) { + int LA17_224 = input.LA(5); - if ( (LA14_154=='u') ) { - int LA14_186 = input.LA(6); + if ( (LA17_224=='u') ) { + int LA17_279 = input.LA(6); - if ( (LA14_186=='l') ) { - int LA14_211 = input.LA(7); + if ( (LA17_279=='l') ) { + int LA17_323 = input.LA(7); - if ( (LA14_211=='t') ) { - int LA14_235 = input.LA(8); + if ( (LA17_323=='t') ) { + int LA17_365 = input.LA(8); - if ( (LA14_235=='$'||(LA14_235>='0' && LA14_235<='9')||(LA14_235>='A' && LA14_235<='Z')||LA14_235=='_'||(LA14_235>='a' && LA14_235<='z')||(LA14_235>='\u00C0' && LA14_235<='\u00D6')||(LA14_235>='\u00D8' && LA14_235<='\u00F6')||(LA14_235>='\u00F8' && LA14_235<='\u1FFF')||(LA14_235>='\u3040' && LA14_235<='\u318F')||(LA14_235>='\u3300' && LA14_235<='\u337F')||(LA14_235>='\u3400' && LA14_235<='\u3D2D')||(LA14_235>='\u4E00' && LA14_235<='\u9FFF')||(LA14_235>='\uF900' && LA14_235<='\uFAFF')) ) { - alt14=66; + if ( (LA17_365=='$'||(LA17_365>='0' && LA17_365<='9')||(LA17_365>='A' && LA17_365<='Z')||LA17_365=='_'||(LA17_365>='a' && LA17_365<='z')||(LA17_365>='\u00C0' && LA17_365<='\u00D6')||(LA17_365>='\u00D8' && LA17_365<='\u00F6')||(LA17_365>='\u00F8' && LA17_365<='\u1FFF')||(LA17_365>='\u3040' && LA17_365<='\u318F')||(LA17_365>='\u3300' && LA17_365<='\u337F')||(LA17_365>='\u3400' && LA17_365<='\u3D2D')||(LA17_365>='\u4E00' && LA17_365<='\u9FFF')||(LA17_365>='\uF900' && LA17_365<='\uFAFF')) ) { + alt17=93; } else { - alt14=31;} + alt17=55;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='}') ) { - alt14=32; + else if ( (LA17_0=='}') ) { + alt17=56; } - else if ( (LA14_0=='|') ) { - int LA14_28 = input.LA(2); + else if ( (LA17_0=='|') ) { + int LA17_33 = input.LA(2); - if ( (LA14_28=='|') ) { - alt14=34; + if ( (LA17_33=='|') ) { + alt17=58; } else { - alt14=63;} + alt17=86;} } - else if ( (LA14_0=='&') ) { - alt14=35; + else if ( (LA17_0=='&') ) { + alt17=59; } - else if ( (LA14_0=='!') ) { - int LA14_30 = input.LA(2); + else if ( (LA17_0=='!') ) { + int LA17_35 = input.LA(2); - if ( (LA14_30=='=') ) { - alt14=38; + if ( (LA17_35=='=') ) { + alt17=62; } else { - alt14=46;} + alt17=69;} } - else if ( (LA14_0=='>') ) { - int LA14_31 = input.LA(2); + else if ( (LA17_0=='>') ) { + int LA17_36 = input.LA(2); - if ( (LA14_31=='=') ) { - alt14=39; + if ( (LA17_36=='=') ) { + alt17=63; } else { - alt14=41;} + alt17=65;} } - else if ( (LA14_0=='<') ) { - int LA14_32 = input.LA(2); + else if ( (LA17_0=='<') ) { + int LA17_37 = input.LA(2); - if ( (LA14_32=='=') ) { - alt14=40; + if ( (LA17_37=='=') ) { + alt17=64; } else { - alt14=42;} + alt17=66;} } - else if ( (LA14_0=='+') ) { - alt14=43; + else if ( (LA17_0=='+') ) { + alt17=67; } - else if ( (LA14_0=='/') ) { + else if ( (LA17_0=='/') ) { switch ( input.LA(2) ) { case '/': { - alt14=69; + alt17=96; } break; case '*': { - alt14=68; + alt17=95; } break; default: - alt14=45;} + alt17=68;} } - else if ( (LA14_0=='G') ) { - int LA14_35 = input.LA(2); + else if ( (LA17_0=='G') ) { + int LA17_40 = input.LA(2); - if ( (LA14_35=='L') ) { - int LA14_87 = input.LA(3); + if ( (LA17_40=='L') ) { + int LA17_111 = input.LA(3); - if ( (LA14_87=='O') ) { - int LA14_121 = input.LA(4); + if ( (LA17_111=='O') ) { + int LA17_167 = input.LA(4); - if ( (LA14_121=='B') ) { - int LA14_155 = input.LA(5); + if ( (LA17_167=='B') ) { + int LA17_225 = input.LA(5); - if ( (LA14_155=='A') ) { - int LA14_187 = input.LA(6); + if ( (LA17_225=='A') ) { + int LA17_280 = input.LA(6); - if ( (LA14_187=='L') ) { - int LA14_212 = input.LA(7); + if ( (LA17_280=='L') ) { + int LA17_324 = input.LA(7); - if ( (LA14_212=='V') ) { - int LA14_236 = input.LA(8); + if ( (LA17_324=='V') ) { + int LA17_366 = input.LA(8); - if ( (LA14_236=='A') ) { - int LA14_250 = input.LA(9); + if ( (LA17_366=='A') ) { + int LA17_391 = input.LA(9); - if ( (LA14_250=='R') ) { - int LA14_257 = input.LA(10); + if ( (LA17_391=='R') ) { + int LA17_405 = input.LA(10); - if ( (LA14_257=='$'||(LA14_257>='0' && LA14_257<='9')||(LA14_257>='A' && LA14_257<='Z')||LA14_257=='_'||(LA14_257>='a' && LA14_257<='z')||(LA14_257>='\u00C0' && LA14_257<='\u00D6')||(LA14_257>='\u00D8' && LA14_257<='\u00F6')||(LA14_257>='\u00F8' && LA14_257<='\u1FFF')||(LA14_257>='\u3040' && LA14_257<='\u318F')||(LA14_257>='\u3300' && LA14_257<='\u337F')||(LA14_257>='\u3400' && LA14_257<='\u3D2D')||(LA14_257>='\u4E00' && LA14_257<='\u9FFF')||(LA14_257>='\uF900' && LA14_257<='\uFAFF')) ) { - alt14=66; + if ( (LA17_405=='$'||(LA17_405>='0' && LA17_405<='9')||(LA17_405>='A' && LA17_405<='Z')||LA17_405=='_'||(LA17_405>='a' && LA17_405<='z')||(LA17_405>='\u00C0' && LA17_405<='\u00D6')||(LA17_405>='\u00D8' && LA17_405<='\u00F6')||(LA17_405>='\u00F8' && LA17_405<='\u1FFF')||(LA17_405>='\u3040' && LA17_405<='\u318F')||(LA17_405>='\u3300' && LA17_405<='\u337F')||(LA17_405>='\u3400' && LA17_405<='\u3D2D')||(LA17_405>='\u4E00' && LA17_405<='\u9FFF')||(LA17_405>='\uF900' && LA17_405<='\uFAFF')) ) { + alt17=93; } else { - alt14=47;} + alt17=70;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='[') ) { - alt14=48; + else if ( (LA17_0=='[') ) { + alt17=71; } - else if ( (LA14_0==']') ) { - alt14=49; + else if ( (LA17_0==']') ) { + alt17=72; } - else if ( (LA14_0=='n') ) { + else if ( (LA17_0=='n') ) { switch ( input.LA(2) ) { + case 'e': + { + int LA17_112 = input.LA(3); + + if ( (LA17_112=='w') ) { + int LA17_168 = input.LA(4); + + if ( (LA17_168=='$'||(LA17_168>='0' && LA17_168<='9')||(LA17_168>='A' && LA17_168<='Z')||LA17_168=='_'||(LA17_168>='a' && LA17_168<='z')||(LA17_168>='\u00C0' && LA17_168<='\u00D6')||(LA17_168>='\u00D8' && LA17_168<='\u00F6')||(LA17_168>='\u00F8' && LA17_168<='\u1FFF')||(LA17_168>='\u3040' && LA17_168<='\u318F')||(LA17_168>='\u3300' && LA17_168<='\u337F')||(LA17_168>='\u3400' && LA17_168<='\u3D2D')||(LA17_168>='\u4E00' && LA17_168<='\u9FFF')||(LA17_168>='\uF900' && LA17_168<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=73;} + } + else { + alt17=93;} + } + break; case 'u': { - int LA14_88 = input.LA(3); + int LA17_113 = input.LA(3); - if ( (LA14_88=='l') ) { - int LA14_122 = input.LA(4); + if ( (LA17_113=='l') ) { + int LA17_169 = input.LA(4); - if ( (LA14_122=='l') ) { - int LA14_156 = input.LA(5); + if ( (LA17_169=='l') ) { + int LA17_227 = input.LA(5); - if ( (LA14_156=='$'||(LA14_156>='0' && LA14_156<='9')||(LA14_156>='A' && LA14_156<='Z')||LA14_156=='_'||(LA14_156>='a' && LA14_156<='z')||(LA14_156>='\u00C0' && LA14_156<='\u00D6')||(LA14_156>='\u00D8' && LA14_156<='\u00F6')||(LA14_156>='\u00F8' && LA14_156<='\u1FFF')||(LA14_156>='\u3040' && LA14_156<='\u318F')||(LA14_156>='\u3300' && LA14_156<='\u337F')||(LA14_156>='\u3400' && LA14_156<='\u3D2D')||(LA14_156>='\u4E00' && LA14_156<='\u9FFF')||(LA14_156>='\uF900' && LA14_156<='\uFAFF')) ) { - alt14=66; + if ( (LA17_227=='$'||(LA17_227>='0' && LA17_227<='9')||(LA17_227>='A' && LA17_227<='Z')||LA17_227=='_'||(LA17_227>='a' && LA17_227<='z')||(LA17_227>='\u00C0' && LA17_227<='\u00D6')||(LA17_227>='\u00D8' && LA17_227<='\u00F6')||(LA17_227>='\u00F8' && LA17_227<='\u1FFF')||(LA17_227>='\u3040' && LA17_227<='\u318F')||(LA17_227>='\u3300' && LA17_227<='\u337F')||(LA17_227>='\u3400' && LA17_227<='\u3D2D')||(LA17_227>='\u4E00' && LA17_227<='\u9FFF')||(LA17_227>='\uF900' && LA17_227<='\uFAFF')) ) { + alt17=93; } else { - alt14=53;} + alt17=76;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; case 'o': { - int LA14_89 = input.LA(3); + int LA17_114 = input.LA(3); - if ( (LA14_89=='t') ) { - int LA14_123 = input.LA(4); + if ( (LA17_114=='t') ) { + int LA17_170 = input.LA(4); - if ( (LA14_123=='E') ) { - int LA14_157 = input.LA(5); + if ( (LA17_170=='E') ) { + int LA17_228 = input.LA(5); - if ( (LA14_157=='x') ) { - int LA14_189 = input.LA(6); + if ( (LA17_228=='x') ) { + int LA17_282 = input.LA(6); - if ( (LA14_189=='i') ) { - int LA14_213 = input.LA(7); + if ( (LA17_282=='i') ) { + int LA17_325 = input.LA(7); - if ( (LA14_213=='s') ) { - int LA14_237 = input.LA(8); + if ( (LA17_325=='s') ) { + int LA17_367 = input.LA(8); - if ( (LA14_237=='t') ) { - int LA14_251 = input.LA(9); + if ( (LA17_367=='t') ) { + int LA17_392 = input.LA(9); - if ( (LA14_251=='s') ) { - int LA14_258 = input.LA(10); + if ( (LA17_392=='s') ) { + int LA17_406 = input.LA(10); - if ( (LA14_258=='$'||(LA14_258>='0' && LA14_258<='9')||(LA14_258>='A' && LA14_258<='Z')||LA14_258=='_'||(LA14_258>='a' && LA14_258<='z')||(LA14_258>='\u00C0' && LA14_258<='\u00D6')||(LA14_258>='\u00D8' && LA14_258<='\u00F6')||(LA14_258>='\u00F8' && LA14_258<='\u1FFF')||(LA14_258>='\u3040' && LA14_258<='\u318F')||(LA14_258>='\u3300' && LA14_258<='\u337F')||(LA14_258>='\u3400' && LA14_258<='\u3D2D')||(LA14_258>='\u4E00' && LA14_258<='\u9FFF')||(LA14_258>='\uF900' && LA14_258<='\uFAFF')) ) { - alt14=66; + if ( (LA17_406=='$'||(LA17_406>='0' && LA17_406<='9')||(LA17_406>='A' && LA17_406<='Z')||LA17_406=='_'||(LA17_406>='a' && LA17_406<='z')||(LA17_406>='\u00C0' && LA17_406<='\u00D6')||(LA17_406>='\u00D8' && LA17_406<='\u00F6')||(LA17_406>='\u00F8' && LA17_406<='\u1FFF')||(LA17_406>='\u3040' && LA17_406<='\u318F')||(LA17_406>='\u3300' && LA17_406<='\u337F')||(LA17_406>='\u3400' && LA17_406<='\u3D2D')||(LA17_406>='\u4E00' && LA17_406<='\u9FFF')||(LA17_406>='\uF900' && LA17_406<='\uFAFF')) ) { + alt17=93; } else { - alt14=60;} + alt17=83;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} - } - break; - case 'e': - { - int LA14_90 = input.LA(3); - - if ( (LA14_90=='w') ) { - int LA14_124 = input.LA(4); - - if ( (LA14_124=='$'||(LA14_124>='0' && LA14_124<='9')||(LA14_124>='A' && LA14_124<='Z')||LA14_124=='_'||(LA14_124>='a' && LA14_124<='z')||(LA14_124>='\u00C0' && LA14_124<='\u00D6')||(LA14_124>='\u00D8' && LA14_124<='\u00F6')||(LA14_124>='\u00F8' && LA14_124<='\u1FFF')||(LA14_124>='\u3040' && LA14_124<='\u318F')||(LA14_124>='\u3300' && LA14_124<='\u337F')||(LA14_124>='\u3400' && LA14_124<='\u3D2D')||(LA14_124>='\u4E00' && LA14_124<='\u9FFF')||(LA14_124>='\uF900' && LA14_124<='\uFAFF')) ) { - alt14=66; - } - else { - alt14=50;} - } - else { - alt14=66;} + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } - else if ( (LA14_0=='f') ) { + else if ( (LA17_0=='f') ) { switch ( input.LA(2) ) { - case 'a': + case 'o': { - int LA14_91 = input.LA(3); + int LA17_115 = input.LA(3); + + if ( (LA17_115=='r') ) { + int LA17_171 = input.LA(4); - if ( (LA14_91=='l') ) { - int LA14_125 = input.LA(4); + if ( (LA17_171=='A') ) { + int LA17_229 = input.LA(5); - if ( (LA14_125=='s') ) { - int LA14_159 = input.LA(5); + if ( (LA17_229=='l') ) { + int LA17_283 = input.LA(6); - if ( (LA14_159=='e') ) { - int LA14_190 = input.LA(6); + if ( (LA17_283=='l') ) { + int LA17_326 = input.LA(7); - if ( (LA14_190=='$'||(LA14_190>='0' && LA14_190<='9')||(LA14_190>='A' && LA14_190<='Z')||LA14_190=='_'||(LA14_190>='a' && LA14_190<='z')||(LA14_190>='\u00C0' && LA14_190<='\u00D6')||(LA14_190>='\u00D8' && LA14_190<='\u00F6')||(LA14_190>='\u00F8' && LA14_190<='\u1FFF')||(LA14_190>='\u3040' && LA14_190<='\u318F')||(LA14_190>='\u3300' && LA14_190<='\u337F')||(LA14_190>='\u3400' && LA14_190<='\u3D2D')||(LA14_190>='\u4E00' && LA14_190<='\u9FFF')||(LA14_190>='\uF900' && LA14_190<='\uFAFF')) ) { - alt14=66; + if ( (LA17_326=='$'||(LA17_326>='0' && LA17_326<='9')||(LA17_326>='A' && LA17_326<='Z')||LA17_326=='_'||(LA17_326>='a' && LA17_326<='z')||(LA17_326>='\u00C0' && LA17_326<='\u00D6')||(LA17_326>='\u00D8' && LA17_326<='\u00F6')||(LA17_326>='\u00F8' && LA17_326<='\u1FFF')||(LA17_326>='\u3040' && LA17_326<='\u318F')||(LA17_326>='\u3300' && LA17_326<='\u337F')||(LA17_326>='\u3400' && LA17_326<='\u3D2D')||(LA17_326>='\u4E00' && LA17_326<='\u9FFF')||(LA17_326>='\uF900' && LA17_326<='\uFAFF')) ) { + alt17=93; + } + else { + alt17=85;} } else { - alt14=51;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; - case 'o': + case 'a': { - int LA14_92 = input.LA(3); + int LA17_116 = input.LA(3); - if ( (LA14_92=='r') ) { - int LA14_126 = input.LA(4); + if ( (LA17_116=='l') ) { + int LA17_172 = input.LA(4); - if ( (LA14_126=='A') ) { - int LA14_160 = input.LA(5); + if ( (LA17_172=='s') ) { + int LA17_230 = input.LA(5); - if ( (LA14_160=='l') ) { - int LA14_191 = input.LA(6); + if ( (LA17_230=='e') ) { + int LA17_284 = input.LA(6); - if ( (LA14_191=='l') ) { - int LA14_215 = input.LA(7); - - if ( (LA14_215=='$'||(LA14_215>='0' && LA14_215<='9')||(LA14_215>='A' && LA14_215<='Z')||LA14_215=='_'||(LA14_215>='a' && LA14_215<='z')||(LA14_215>='\u00C0' && LA14_215<='\u00D6')||(LA14_215>='\u00D8' && LA14_215<='\u00F6')||(LA14_215>='\u00F8' && LA14_215<='\u1FFF')||(LA14_215>='\u3040' && LA14_215<='\u318F')||(LA14_215>='\u3300' && LA14_215<='\u337F')||(LA14_215>='\u3400' && LA14_215<='\u3D2D')||(LA14_215>='\u4E00' && LA14_215<='\u9FFF')||(LA14_215>='\uF900' && LA14_215<='\uFAFF')) ) { - alt14=66; - } - else { - alt14=62;} + if ( (LA17_284=='$'||(LA17_284>='0' && LA17_284<='9')||(LA17_284>='A' && LA17_284<='Z')||LA17_284=='_'||(LA17_284>='a' && LA17_284<='z')||(LA17_284>='\u00C0' && LA17_284<='\u00D6')||(LA17_284>='\u00D8' && LA17_284<='\u00F6')||(LA17_284>='\u00F8' && LA17_284<='\u1FFF')||(LA17_284>='\u3040' && LA17_284<='\u318F')||(LA17_284>='\u3300' && LA17_284<='\u337F')||(LA17_284>='\u3400' && LA17_284<='\u3D2D')||(LA17_284>='\u4E00' && LA17_284<='\u9FFF')||(LA17_284>='\uF900' && LA17_284<='\uFAFF')) ) { + alt17=93; } else { - alt14=66;} + alt17=74;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } else { - alt14=66;} + alt17=93;} } break; default: - alt14=66;} + alt17=93;} } - else if ( ((LA14_0>='0' && LA14_0<='9')) ) { - alt14=64; + else if ( ((LA17_0>='0' && LA17_0<='9')) ) { + alt17=87; } - else if ( (LA14_0=='\"'||LA14_0=='\'') ) { - alt14=65; + else if ( (LA17_0=='\"'||LA17_0=='\'') ) { + alt17=88; } - else if ( (LA14_0=='$'||(LA14_0>='A' && LA14_0<='B')||LA14_0=='D'||LA14_0=='F'||(LA14_0>='H' && LA14_0<='I')||LA14_0=='K'||(LA14_0>='M' && LA14_0<='R')||(LA14_0>='T' && LA14_0<='V')||(LA14_0>='X' && LA14_0<='Z')||(LA14_0>='^' && LA14_0<='_')||LA14_0=='b'||(LA14_0>='g' && LA14_0<='h')||(LA14_0>='j' && LA14_0<='k')||LA14_0=='m'||LA14_0=='o'||LA14_0=='q'||(LA14_0>='u' && LA14_0<='z')||(LA14_0>='\u00C0' && LA14_0<='\u00D6')||(LA14_0>='\u00D8' && LA14_0<='\u00F6')||(LA14_0>='\u00F8' && LA14_0<='\u1FFF')||(LA14_0>='\u3040' && LA14_0<='\u318F')||(LA14_0>='\u3300' && LA14_0<='\u337F')||(LA14_0>='\u3400' && LA14_0<='\u3D2D')||(LA14_0>='\u4E00' && LA14_0<='\u9FFF')||(LA14_0>='\uF900' && LA14_0<='\uFAFF')) ) { - alt14=66; + else if ( (LA17_0=='$'||LA17_0=='B'||LA17_0=='H'||LA17_0=='K'||(LA17_0>='M' && LA17_0<='O')||LA17_0=='Q'||(LA17_0>='T' && LA17_0<='V')||(LA17_0>='X' && LA17_0<='Z')||(LA17_0>='^' && LA17_0<='_')||LA17_0=='b'||(LA17_0>='g' && LA17_0<='h')||(LA17_0>='j' && LA17_0<='k')||LA17_0=='m'||LA17_0=='o'||LA17_0=='q'||(LA17_0>='u' && LA17_0<='z')||(LA17_0>='\u00C0' && LA17_0<='\u00D6')||(LA17_0>='\u00D8' && LA17_0<='\u00F6')||(LA17_0>='\u00F8' && LA17_0<='\u1FFF')||(LA17_0>='\u3040' && LA17_0<='\u318F')||(LA17_0>='\u3300' && LA17_0<='\u337F')||(LA17_0>='\u3400' && LA17_0<='\u3D2D')||(LA17_0>='\u4E00' && LA17_0<='\u9FFF')||(LA17_0>='\uF900' && LA17_0<='\uFAFF')) ) { + alt17=93; } - else if ( ((LA14_0>='\t' && LA14_0<='\n')||(LA14_0>='\f' && LA14_0<='\r')||LA14_0==' ') ) { - alt14=67; + else if ( (LA17_0=='R') ) { + int LA17_48 = input.LA(2); + + if ( (LA17_48=='E') ) { + int LA17_117 = input.LA(3); + + if ( (LA17_117=='M') ) { + int LA17_173 = input.LA(4); + + if ( (LA17_173=='\u00BB') ) { + alt17=97; + } + else { + alt17=93;} + } + else { + alt17=93;} + } + else { + alt17=93;} } - else if ( (LA14_0=='\u00AB') ) { - alt14=70; + else if ( ((LA17_0>='\t' && LA17_0<='\n')||(LA17_0>='\f' && LA17_0<='\r')||LA17_0==' ') ) { + alt17=94; } - else if ( (LA14_0=='\u00BB') ) { - alt14=71; + else if ( (LA17_0=='\u00BB') ) { + int LA17_50 = input.LA(2); + + if ( ((LA17_50>='\u0000' && LA17_50<='\uFFFE')) ) { + alt17=98; + } + else if ( (xpandMode) ) { + alt17=98; + } + else if ( (true) ) { + alt17=100; + } + else { + NoViableAltException nvae = + new NoViableAltException("1:1: Tokens : ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | IntLiteral | StringLiteral | DEFINE | ENDDEFINE | AROUND | ENDAROUND | Identifier | WS | COMMENT | LINE_COMMENT | REM_COMMENT | TEXT | LG | RG );", 17, 50, input); + + throw nvae; + } + } + else if ( (LA17_0=='\u00AB') ) { + alt17=99; } else { NoViableAltException nvae = - new NoViableAltException("1:1: Tokens : ( T18 | T19 | T20 | T21 | T22 | T23 | T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | IntLiteral | StringLiteral | Identifier | WS | COMMENT | LINE_COMMENT | XPAND_TAG_OPEN | XPAND_TAG_CLOSE );", 14, 0, input); + new NoViableAltException("1:1: Tokens : ( T24 | T25 | T26 | T27 | T28 | T29 | T30 | T31 | T32 | T33 | T34 | T35 | T36 | T37 | T38 | T39 | T40 | T41 | T42 | T43 | T44 | T45 | T46 | T47 | T48 | T49 | T50 | T51 | T52 | T53 | T54 | T55 | T56 | T57 | T58 | T59 | T60 | T61 | T62 | T63 | T64 | T65 | T66 | T67 | T68 | T69 | T70 | T71 | T72 | T73 | T74 | T75 | T76 | T77 | T78 | T79 | T80 | T81 | T82 | T83 | T84 | T85 | T86 | T87 | T88 | T89 | T90 | T91 | T92 | T93 | T94 | T95 | T96 | T97 | T98 | T99 | T100 | T101 | T102 | T103 | T104 | T105 | T106 | T107 | T108 | T109 | IntLiteral | StringLiteral | DEFINE | ENDDEFINE | AROUND | ENDAROUND | Identifier | WS | COMMENT | LINE_COMMENT | REM_COMMENT | TEXT | LG | RG );", 17, 0, input); throw nvae; } - switch (alt14) { + switch (alt17) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:10: T18 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:10: T24 { - mT18(); + mT24(); } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:14: T19 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:14: T25 { - mT19(); + mT25(); } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:18: T20 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:18: T26 { - mT20(); + mT26(); } break; case 4 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:22: T21 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:22: T27 { - mT21(); + mT27(); } break; case 5 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:26: T22 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:26: T28 { - mT22(); + mT28(); } break; case 6 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:30: T23 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:30: T29 { - mT23(); + mT29(); } break; case 7 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:34: T24 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:34: T30 { - mT24(); + mT30(); } break; case 8 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:38: T25 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:38: T31 { - mT25(); + mT31(); } break; case 9 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:42: T26 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:42: T32 { - mT26(); + mT32(); } break; case 10 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:46: T27 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:46: T33 { - mT27(); + mT33(); } break; case 11 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:50: T28 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:50: T34 { - mT28(); + mT34(); } break; case 12 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:54: T29 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:54: T35 { - mT29(); + mT35(); } break; case 13 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:58: T30 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:58: T36 { - mT30(); + mT36(); } break; case 14 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:62: T31 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:62: T37 { - mT31(); + mT37(); } break; case 15 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:66: T32 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:66: T38 { - mT32(); + mT38(); } break; case 16 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:70: T33 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:70: T39 { - mT33(); + mT39(); } break; case 17 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:74: T34 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:74: T40 { - mT34(); + mT40(); } break; case 18 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:78: T35 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:78: T41 { - mT35(); + mT41(); } break; case 19 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:82: T36 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:82: T42 { - mT36(); + mT42(); } break; case 20 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:86: T37 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:86: T43 { - mT37(); + mT43(); } break; case 21 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:90: T38 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:90: T44 { - mT38(); + mT44(); } break; case 22 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:94: T39 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:94: T45 { - mT39(); + mT45(); } break; case 23 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:98: T40 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:98: T46 { - mT40(); + mT46(); } break; case 24 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:102: T41 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:102: T47 { - mT41(); + mT47(); } break; case 25 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:106: T42 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:106: T48 { - mT42(); + mT48(); } break; case 26 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:110: T43 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:110: T49 { - mT43(); + mT49(); } break; case 27 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:114: T44 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:114: T50 { - mT44(); + mT50(); } break; case 28 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:118: T45 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:118: T51 { - mT45(); + mT51(); } break; case 29 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:122: T46 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:122: T52 { - mT46(); + mT52(); } break; case 30 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:126: T47 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:126: T53 { - mT47(); + mT53(); } break; case 31 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:130: T48 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:130: T54 { - mT48(); + mT54(); } break; case 32 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:134: T49 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:134: T55 { - mT49(); + mT55(); } break; case 33 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:138: T50 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:138: T56 { - mT50(); + mT56(); } break; case 34 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:142: T51 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:142: T57 { - mT51(); + mT57(); } break; case 35 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:146: T52 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:146: T58 { - mT52(); + mT58(); } break; case 36 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:150: T53 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:150: T59 { - mT53(); + mT59(); } break; case 37 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:154: T54 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:154: T60 { - mT54(); + mT60(); } break; case 38 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:158: T55 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:158: T61 { - mT55(); + mT61(); } break; case 39 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:162: T56 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:162: T62 { - mT56(); + mT62(); } break; case 40 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:166: T57 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:166: T63 { - mT57(); + mT63(); } break; case 41 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:170: T58 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:170: T64 { - mT58(); + mT64(); } break; case 42 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:174: T59 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:174: T65 { - mT59(); + mT65(); } break; case 43 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:178: T60 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:178: T66 { - mT60(); + mT66(); } break; case 44 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:182: T61 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:182: T67 { - mT61(); + mT67(); } break; case 45 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:186: T62 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:186: T68 { - mT62(); + mT68(); } break; case 46 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:190: T63 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:190: T69 { - mT63(); + mT69(); } break; case 47 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:194: T64 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:194: T70 { - mT64(); + mT70(); } break; case 48 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:198: T65 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:198: T71 { - mT65(); + mT71(); } break; case 49 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:202: T66 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:202: T72 { - mT66(); + mT72(); } break; case 50 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:206: T67 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:206: T73 { - mT67(); + mT73(); } break; case 51 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:210: T68 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:210: T74 { - mT68(); + mT74(); } break; case 52 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:214: T69 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:214: T75 { - mT69(); + mT75(); } break; case 53 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:218: T70 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:218: T76 { - mT70(); + mT76(); } break; case 54 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:222: T71 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:222: T77 { - mT71(); + mT77(); } break; case 55 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:226: T72 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:226: T78 { - mT72(); + mT78(); } break; case 56 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:230: T73 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:230: T79 { - mT73(); + mT79(); } break; case 57 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:234: T74 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:234: T80 { - mT74(); + mT80(); } break; case 58 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:238: T75 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:238: T81 { - mT75(); + mT81(); } break; case 59 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:242: T76 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:242: T82 { - mT76(); + mT82(); } break; case 60 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:246: T77 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:246: T83 { - mT77(); + mT83(); } break; case 61 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:250: T78 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:250: T84 { - mT78(); + mT84(); } break; case 62 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:254: T79 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:254: T85 { - mT79(); + mT85(); } break; case 63 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:258: T80 + // src/org/eclipse/xpand3/parser/Xpand3.g:1:258: T86 { - mT80(); + mT86(); } break; case 64 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:262: IntLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:1:262: T87 { - mIntLiteral(); + mT87(); } break; case 65 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:273: StringLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:1:266: T88 { - mStringLiteral(); + mT88(); } break; case 66 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:287: Identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:1:270: T89 { - mIdentifier(); + mT89(); } break; case 67 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:298: WS + // src/org/eclipse/xpand3/parser/Xpand3.g:1:274: T90 { - mWS(); + mT90(); } break; case 68 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:301: COMMENT + // src/org/eclipse/xpand3/parser/Xpand3.g:1:278: T91 { - mCOMMENT(); + mT91(); } break; case 69 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:309: LINE_COMMENT + // src/org/eclipse/xpand3/parser/Xpand3.g:1:282: T92 { - mLINE_COMMENT(); + mT92(); } break; case 70 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:322: XPAND_TAG_OPEN + // src/org/eclipse/xpand3/parser/Xpand3.g:1:286: T93 { - mXPAND_TAG_OPEN(); + mT93(); } break; case 71 : - // src/org/eclipse/xpand3/parser/Xpand3.g:1:337: XPAND_TAG_CLOSE + // src/org/eclipse/xpand3/parser/Xpand3.g:1:290: T94 + { + mT94(); + + } + break; + case 72 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:294: T95 + { + mT95(); + + } + break; + case 73 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:298: T96 + { + mT96(); + + } + break; + case 74 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:302: T97 + { + mT97(); + + } + break; + case 75 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:306: T98 + { + mT98(); + + } + break; + case 76 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:310: T99 + { + mT99(); + + } + break; + case 77 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:314: T100 + { + mT100(); + + } + break; + case 78 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:319: T101 + { + mT101(); + + } + break; + case 79 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:324: T102 + { + mT102(); + + } + break; + case 80 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:329: T103 + { + mT103(); + + } + break; + case 81 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:334: T104 + { + mT104(); + + } + break; + case 82 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:339: T105 + { + mT105(); + + } + break; + case 83 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:344: T106 + { + mT106(); + + } + break; + case 84 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:349: T107 + { + mT107(); + + } + break; + case 85 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:354: T108 + { + mT108(); + + } + break; + case 86 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:359: T109 + { + mT109(); + + } + break; + case 87 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:364: IntLiteral + { + mIntLiteral(); + + } + break; + case 88 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:375: StringLiteral + { + mStringLiteral(); + + } + break; + case 89 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:389: DEFINE + { + mDEFINE(); + + } + break; + case 90 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:396: ENDDEFINE + { + mENDDEFINE(); + + } + break; + case 91 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:406: AROUND + { + mAROUND(); + + } + break; + case 92 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:413: ENDAROUND + { + mENDAROUND(); + + } + break; + case 93 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:423: Identifier + { + mIdentifier(); + + } + break; + case 94 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:434: WS + { + mWS(); + + } + break; + case 95 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:437: COMMENT + { + mCOMMENT(); + + } + break; + case 96 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:445: LINE_COMMENT + { + mLINE_COMMENT(); + + } + break; + case 97 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:458: REM_COMMENT + { + mREM_COMMENT(); + + } + break; + case 98 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:470: TEXT + { + mTEXT(); + + } + break; + case 99 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:475: LG + { + mLG(); + + } + break; + case 100 : + // src/org/eclipse/xpand3/parser/Xpand3.g:1:478: RG { - mXPAND_TAG_CLOSE(); + mRG(); } break; 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 70665e28..97213816 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 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-27 13:36:49 +// $ANTLR 3.0 src/org/eclipse/xpand3/parser/Xpand3.g 2008-02-27 17:07:41 package org.eclipse.xpand3.parser; @@ -11,27 +11,33 @@ import java.util.Map; import java.util.HashMap; public class Xpand3Parser extends Parser { public static final String[] tokenNames = new String[] { - "<invalid>", "<EOR>", "<DOWN>", "<UP>", "StringLiteral", "IntLiteral", "Identifier", "EscapeSequence", "UnicodeEscape", "OctalEscape", "HexDigit", "Letter", "JavaIDDigit", "WS", "COMMENT", "LINE_COMMENT", "XPAND_TAG_OPEN", "XPAND_TAG_CLOSE", "'import'", "';'", "'extension'", "'reexport'", "'context'", "'if'", "'ERROR'", "'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", "'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 XPAND_TAG_OPEN=16; - public static final int JavaIDDigit=12; - public static final int Letter=11; - public static final int UnicodeEscape=8; - public static final int IntLiteral=5; - public static final int Identifier=6; - public static final int HexDigit=10; - public static final int EscapeSequence=7; - public static final int WS=13; + public static final int IntLiteral=12; + public static final int Identifier=13; + public static final int HexDigit=17; + public static final int WS=20; + public static final int ENDDEFINE=7; + public static final int REM_COMMENT=23; + public static final int RG=5; + public static final int COMMENT=21; + public static final int StringLiteral=11; + public static final int LINE_COMMENT=22; + public static final int JavaIDDigit=19; + public static final int Letter=18; + public static final int DEFINE=6; + public static final int UnicodeEscape=15; + public static final int EscapeSequence=14; public static final int EOF=-1; - public static final int OctalEscape=9; - public static final int COMMENT=14; - public static final int StringLiteral=4; - public static final int LINE_COMMENT=15; - public static final int XPAND_TAG_CLOSE=17; + public static final int TEXT=10; + public static final int ENDAROUND=9; + public static final int OctalEscape=16; + public static final int AROUND=8; + public static final int LG=4; public Xpand3Parser(TokenStream input) { super(input); - ruleMemo = new HashMap[41+1]; + ruleMemo = new HashMap[58+1]; } @@ -41,28 +47,37 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_file - // src/org/eclipse/xpand3/parser/Xpand3.g:12:1: r_file : ( r_nsImport )* ( r_abstractDeclaration )* EOF ; + // src/org/eclipse/xpand3/parser/Xpand3.g:17:1: r_file : ( r_nsImport )* ( r_abstractDeclaration )* EOF ; public void r_file() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:13:2: ( ( r_nsImport )* ( r_abstractDeclaration )* EOF ) - // src/org/eclipse/xpand3/parser/Xpand3.g:13:2: ( r_nsImport )* ( r_abstractDeclaration )* EOF + // src/org/eclipse/xpand3/parser/Xpand3.g:18:2: ( ( r_nsImport )* ( r_abstractDeclaration )* EOF ) + // src/org/eclipse/xpand3/parser/Xpand3.g:18:2: ( r_nsImport )* ( r_abstractDeclaration )* EOF { - // src/org/eclipse/xpand3/parser/Xpand3.g:13:2: ( r_nsImport )* + // src/org/eclipse/xpand3/parser/Xpand3.g:18:2: ( r_nsImport )* loop1: do { int alt1=2; int LA1_0 = input.LA(1); - if ( (LA1_0==18||LA1_0==20) ) { + if ( (LA1_0==LG) ) { + int LA1_2 = input.LA(2); + + if ( ((LA1_2>=24 && LA1_2<=25)) ) { + alt1=1; + } + + + } + else if ( (LA1_0==26||LA1_0==28) ) { alt1=1; } switch (alt1) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:13:3: r_nsImport + // src/org/eclipse/xpand3/parser/Xpand3.g:18:3: r_nsImport { - pushFollow(FOLLOW_r_nsImport_in_r_file32); + pushFollow(FOLLOW_r_nsImport_in_r_file42); r_nsImport(); _fsp--; if (failed) return ; @@ -75,22 +90,22 @@ public class Xpand3Parser extends Parser { } } while (true); - // src/org/eclipse/xpand3/parser/Xpand3.g:14:2: ( r_abstractDeclaration )* + // src/org/eclipse/xpand3/parser/Xpand3.g:19:2: ( r_abstractDeclaration )* loop2: do { int alt2=2; int LA2_0 = input.LA(1); - if ( (LA2_0==Identifier||LA2_0==22||LA2_0==27||(LA2_0>=33 && LA2_0<=35)||(LA2_0>=38 && LA2_0<=40)) ) { + if ( (LA2_0==LG||LA2_0==Identifier||LA2_0==57||LA2_0==61||(LA2_0>=63 && LA2_0<=65)||(LA2_0>=68 && LA2_0<=70)) ) { alt2=1; } switch (alt2) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:14:3: r_abstractDeclaration + // src/org/eclipse/xpand3/parser/Xpand3.g:19:3: r_abstractDeclaration { - pushFollow(FOLLOW_r_abstractDeclaration_in_r_file38); + pushFollow(FOLLOW_r_abstractDeclaration_in_r_file48); r_abstractDeclaration(); _fsp--; if (failed) return ; @@ -103,7 +118,7 @@ public class Xpand3Parser extends Parser { } } while (true); - match(input,EOF,FOLLOW_EOF_in_r_file45); if (failed) return ; + match(input,EOF,FOLLOW_EOF_in_r_file55); if (failed) return ; } @@ -120,66 +135,115 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_nsImport - // src/org/eclipse/xpand3/parser/Xpand3.g:18:1: r_nsImport : ( 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' ); + // src/org/eclipse/xpand3/parser/Xpand3.g:23:1: r_nsImport : ( LG 'IMPORT' r_type RG | LG 'EXTENSION' r_type RG | 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' ); public void r_nsImport() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:19:2: ( 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' ) - int alt4=2; - int LA4_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:24:2: ( LG 'IMPORT' r_type RG | LG 'EXTENSION' r_type RG | 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' ) + int alt4=4; + switch ( input.LA(1) ) { + case LG: + { + int LA4_1 = input.LA(2); - if ( (LA4_0==18) ) { - alt4=1; - } - else if ( (LA4_0==20) ) { - alt4=2; - } - else { + if ( (LA4_1==25) ) { + alt4=2; + } + else if ( (LA4_1==24) ) { + alt4=1; + } + else { + if (backtracking>0) {failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("23:1: r_nsImport : ( LG 'IMPORT' r_type RG | LG 'EXTENSION' r_type RG | 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' );", 4, 1, input); + + throw nvae; + } + } + break; + case 26: + { + alt4=3; + } + break; + case 28: + { + alt4=4; + } + break; + default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("18:1: r_nsImport : ( 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' );", 4, 0, input); + new NoViableAltException("23:1: r_nsImport : ( LG 'IMPORT' r_type RG | LG 'EXTENSION' r_type RG | 'import' r_type ';' | 'extension' r_type ( 'reexport' )? ';' );", 4, 0, input); throw nvae; } + switch (alt4) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:19:2: 'import' r_type ';' + // src/org/eclipse/xpand3/parser/Xpand3.g:24:2: LG 'IMPORT' r_type RG { - match(input,18,FOLLOW_18_in_r_nsImport55); if (failed) return ; - pushFollow(FOLLOW_r_type_in_r_nsImport57); + match(input,LG,FOLLOW_LG_in_r_nsImport65); if (failed) return ; + match(input,24,FOLLOW_24_in_r_nsImport67); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_nsImport69); r_type(); _fsp--; if (failed) return ; - match(input,19,FOLLOW_19_in_r_nsImport60); if (failed) return ; + match(input,RG,FOLLOW_RG_in_r_nsImport71); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:20:3: 'extension' r_type ( 'reexport' )? ';' + // src/org/eclipse/xpand3/parser/Xpand3.g:25:2: LG 'EXTENSION' r_type RG + { + match(input,LG,FOLLOW_LG_in_r_nsImport76); if (failed) return ; + match(input,25,FOLLOW_25_in_r_nsImport78); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_nsImport80); + r_type(); + _fsp--; + if (failed) return ; + match(input,RG,FOLLOW_RG_in_r_nsImport82); if (failed) return ; + + } + break; + case 3 : + // src/org/eclipse/xpand3/parser/Xpand3.g:26:2: 'import' r_type ';' + { + match(input,26,FOLLOW_26_in_r_nsImport87); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_nsImport89); + r_type(); + _fsp--; + if (failed) return ; + match(input,27,FOLLOW_27_in_r_nsImport92); if (failed) return ; + + } + break; + case 4 : + // src/org/eclipse/xpand3/parser/Xpand3.g:27:2: 'extension' r_type ( 'reexport' )? ';' { - match(input,20,FOLLOW_20_in_r_nsImport65); if (failed) return ; - pushFollow(FOLLOW_r_type_in_r_nsImport67); + match(input,28,FOLLOW_28_in_r_nsImport98); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_nsImport100); r_type(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:20:22: ( 'reexport' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:27:21: ( 'reexport' )? int alt3=2; int LA3_0 = input.LA(1); - if ( (LA3_0==21) ) { + if ( (LA3_0==29) ) { alt3=1; } switch (alt3) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:20:23: 'reexport' + // src/org/eclipse/xpand3/parser/Xpand3.g:27:22: 'reexport' { - match(input,21,FOLLOW_21_in_r_nsImport70); if (failed) return ; + match(input,29,FOLLOW_29_in_r_nsImport103); if (failed) return ; } break; } - match(input,19,FOLLOW_19_in_r_nsImport74); if (failed) return ; + match(input,27,FOLLOW_27_in_r_nsImport107); if (failed) return ; } break; @@ -198,46 +262,65 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_abstractDeclaration - // src/org/eclipse/xpand3/parser/Xpand3.g:23:1: r_abstractDeclaration : ( r_check | r_around | r_extension ); + // src/org/eclipse/xpand3/parser/Xpand3.g:30:1: r_abstractDeclaration : ( r_check | r_around | r_extension | r_definition | r_definitionAround ); public void r_abstractDeclaration() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:24:2: ( r_check | r_around | r_extension ) - int alt5=3; + // src/org/eclipse/xpand3/parser/Xpand3.g:31:2: ( r_check | r_around | r_extension | r_definition | r_definitionAround ) + int alt5=5; switch ( input.LA(1) ) { - case 22: + case 57: { alt5=1; } break; - case 27: + case 61: { alt5=2; } break; case Identifier: - case 33: - case 34: - case 35: - case 38: - case 39: - case 40: + case 63: + case 64: + case 65: + case 68: + case 69: + case 70: { alt5=3; } break; + case LG: + { + int LA5_4 = input.LA(2); + + if ( (LA5_4==AROUND) ) { + alt5=5; + } + else if ( (LA5_4==DEFINE) ) { + alt5=4; + } + else { + if (backtracking>0) {failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("30:1: r_abstractDeclaration : ( r_check | r_around | r_extension | r_definition | r_definitionAround );", 5, 4, input); + + throw nvae; + } + } + break; default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("23:1: r_abstractDeclaration : ( r_check | r_around | r_extension );", 5, 0, input); + new NoViableAltException("30:1: r_abstractDeclaration : ( r_check | r_around | r_extension | r_definition | r_definitionAround );", 5, 0, input); throw nvae; } switch (alt5) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:24:2: r_check + // src/org/eclipse/xpand3/parser/Xpand3.g:31:2: r_check { - pushFollow(FOLLOW_r_check_in_r_abstractDeclaration85); + pushFollow(FOLLOW_r_check_in_r_abstractDeclaration118); r_check(); _fsp--; if (failed) return ; @@ -245,9 +328,9 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:25:2: r_around + // src/org/eclipse/xpand3/parser/Xpand3.g:32:2: r_around { - pushFollow(FOLLOW_r_around_in_r_abstractDeclaration90); + pushFollow(FOLLOW_r_around_in_r_abstractDeclaration123); r_around(); _fsp--; if (failed) return ; @@ -255,15 +338,35 @@ public class Xpand3Parser extends Parser { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:26:2: r_extension + // src/org/eclipse/xpand3/parser/Xpand3.g:33:2: r_extension { - pushFollow(FOLLOW_r_extension_in_r_abstractDeclaration95); + pushFollow(FOLLOW_r_extension_in_r_abstractDeclaration128); r_extension(); _fsp--; if (failed) return ; } break; + case 4 : + // src/org/eclipse/xpand3/parser/Xpand3.g:34:2: r_definition + { + pushFollow(FOLLOW_r_definition_in_r_abstractDeclaration133); + r_definition(); + _fsp--; + if (failed) return ; + + } + break; + case 5 : + // src/org/eclipse/xpand3/parser/Xpand3.g:35:2: r_definitionAround + { + pushFollow(FOLLOW_r_definitionAround_in_r_abstractDeclaration138); + r_definitionAround(); + _fsp--; + if (failed) return ; + + } + break; } } @@ -278,31 +381,1236 @@ public class Xpand3Parser extends Parser { // $ANTLR end r_abstractDeclaration + // $ANTLR start r_definition + // src/org/eclipse/xpand3/parser/Xpand3.g:40:1: r_definition : LG DEFINE r_identifier ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDDEFINE RG ; + public void r_definition() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:41:2: ( LG DEFINE r_identifier ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDDEFINE RG ) + // src/org/eclipse/xpand3/parser/Xpand3.g:41:2: LG DEFINE r_identifier ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDDEFINE RG + { + match(input,LG,FOLLOW_LG_in_r_definition150); if (failed) return ; + match(input,DEFINE,FOLLOW_DEFINE_in_r_definition152); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_definition154); + r_identifier(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:41:25: ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? + int alt9=2; + int LA9_0 = input.LA(1); + + if ( (LA9_0==30) ) { + alt9=1; + } + switch (alt9) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:41:26: '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' + { + match(input,30,FOLLOW_30_in_r_definition157); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:41:30: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? + int alt8=3; + int LA8_0 = input.LA(1); + + if ( (LA8_0==Identifier||(LA8_0>=68 && LA8_0<=70)) ) { + alt8=1; + } + else if ( (LA8_0==32) ) { + alt8=2; + } + switch (alt8) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:41:31: r_declaredParameterList ( ( ',' )? '*' )? + { + pushFollow(FOLLOW_r_declaredParameterList_in_r_definition160); + r_declaredParameterList(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:41:55: ( ( ',' )? '*' )? + int alt7=2; + int LA7_0 = input.LA(1); + + if ( ((LA7_0>=31 && LA7_0<=32)) ) { + alt7=1; + } + switch (alt7) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:41:56: ( ',' )? '*' + { + // src/org/eclipse/xpand3/parser/Xpand3.g:41:56: ( ',' )? + int alt6=2; + int LA6_0 = input.LA(1); + + if ( (LA6_0==31) ) { + alt6=1; + } + switch (alt6) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:41:56: ',' + { + match(input,31,FOLLOW_31_in_r_definition163); if (failed) return ; + + } + break; + + } + + match(input,32,FOLLOW_32_in_r_definition166); if (failed) return ; + + } + break; + + } + + + } + break; + case 2 : + // src/org/eclipse/xpand3/parser/Xpand3.g:41:69: '*' + { + match(input,32,FOLLOW_32_in_r_definition172); if (failed) return ; + + } + break; + + } + + match(input,33,FOLLOW_33_in_r_definition176); if (failed) return ; + + } + break; + + } + + match(input,34,FOLLOW_34_in_r_definition180); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_definition182); + r_type(); + _fsp--; + if (failed) return ; + pushFollow(FOLLOW_r_sequence_in_r_definition185); + r_sequence(); + _fsp--; + if (failed) return ; + match(input,ENDDEFINE,FOLLOW_ENDDEFINE_in_r_definition188); if (failed) return ; + match(input,RG,FOLLOW_RG_in_r_definition190); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_definition + + + // $ANTLR start r_definitionAround + // src/org/eclipse/xpand3/parser/Xpand3.g:46:1: r_definitionAround : LG AROUND r_pointcut ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDAROUND RG ; + public void r_definitionAround() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:47:2: ( LG AROUND r_pointcut ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDAROUND RG ) + // src/org/eclipse/xpand3/parser/Xpand3.g:47:2: LG AROUND r_pointcut ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? 'FOR' r_type r_sequence ENDAROUND RG + { + match(input,LG,FOLLOW_LG_in_r_definitionAround202); if (failed) return ; + match(input,AROUND,FOLLOW_AROUND_in_r_definitionAround204); if (failed) return ; + pushFollow(FOLLOW_r_pointcut_in_r_definitionAround206); + r_pointcut(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:47:23: ( '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' )? + int alt13=2; + int LA13_0 = input.LA(1); + + if ( (LA13_0==30) ) { + alt13=1; + } + switch (alt13) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:47:24: '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' + { + match(input,30,FOLLOW_30_in_r_definitionAround209); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:47:28: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? + int alt12=3; + int LA12_0 = input.LA(1); + + if ( (LA12_0==Identifier||(LA12_0>=68 && LA12_0<=70)) ) { + alt12=1; + } + else if ( (LA12_0==32) ) { + alt12=2; + } + switch (alt12) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:47:29: r_declaredParameterList ( ( ',' )? '*' )? + { + pushFollow(FOLLOW_r_declaredParameterList_in_r_definitionAround212); + r_declaredParameterList(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:47:53: ( ( ',' )? '*' )? + int alt11=2; + int LA11_0 = input.LA(1); + + if ( ((LA11_0>=31 && LA11_0<=32)) ) { + alt11=1; + } + switch (alt11) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:47:54: ( ',' )? '*' + { + // src/org/eclipse/xpand3/parser/Xpand3.g:47:54: ( ',' )? + int alt10=2; + int LA10_0 = input.LA(1); + + if ( (LA10_0==31) ) { + alt10=1; + } + switch (alt10) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:47:54: ',' + { + match(input,31,FOLLOW_31_in_r_definitionAround215); if (failed) return ; + + } + break; + + } + + match(input,32,FOLLOW_32_in_r_definitionAround218); if (failed) return ; + + } + break; + + } + + + } + break; + case 2 : + // src/org/eclipse/xpand3/parser/Xpand3.g:47:67: '*' + { + match(input,32,FOLLOW_32_in_r_definitionAround224); if (failed) return ; + + } + break; + + } + + match(input,33,FOLLOW_33_in_r_definitionAround228); if (failed) return ; + + } + break; + + } + + match(input,34,FOLLOW_34_in_r_definitionAround232); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_definitionAround234); + r_type(); + _fsp--; + if (failed) return ; + pushFollow(FOLLOW_r_sequence_in_r_definitionAround237); + r_sequence(); + _fsp--; + if (failed) return ; + match(input,ENDAROUND,FOLLOW_ENDAROUND_in_r_definitionAround240); if (failed) return ; + match(input,RG,FOLLOW_RG_in_r_definitionAround242); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_definitionAround + + + // $ANTLR start r_sequence + // src/org/eclipse/xpand3/parser/Xpand3.g:52:1: r_sequence : r_textSequence ( r_statement r_textSequence )* ; + public void r_sequence() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:53:3: ( r_textSequence ( r_statement r_textSequence )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:53:3: r_textSequence ( r_statement r_textSequence )* + { + pushFollow(FOLLOW_r_textSequence_in_r_sequence254); + r_textSequence(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:54:3: ( r_statement r_textSequence )* + loop14: + do { + int alt14=2; + int LA14_0 = input.LA(1); + + if ( ((LA14_0>=StringLiteral && LA14_0<=Identifier)||LA14_0==30||(LA14_0>=35 && LA14_0<=38)||LA14_0==40||LA14_0==45||LA14_0==49||LA14_0==51||LA14_0==58||(LA14_0>=68 && LA14_0<=71)||LA14_0==77||(LA14_0>=92 && LA14_0<=94)||(LA14_0>=96 && LA14_0<=108)) ) { + alt14=1; + } + + + switch (alt14) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:54:4: r_statement r_textSequence + { + pushFollow(FOLLOW_r_statement_in_r_sequence260); + r_statement(); + _fsp--; + if (failed) return ; + pushFollow(FOLLOW_r_textSequence_in_r_sequence266); + r_textSequence(); + _fsp--; + if (failed) return ; + + } + break; + + default : + break loop14; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_sequence + + + // $ANTLR start r_statement + // src/org/eclipse/xpand3/parser/Xpand3.g:58:1: r_statement : ( r_simpleStatement | r_fileStatement | r_foreachStatement | r_ifStatement | r_letStatement | r_protectStatement ); + public void r_statement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:59:3: ( r_simpleStatement | r_fileStatement | r_foreachStatement | r_ifStatement | r_letStatement | r_protectStatement ) + int alt15=6; + switch ( input.LA(1) ) { + case StringLiteral: + case IntLiteral: + case Identifier: + case 30: + case 35: + case 36: + case 37: + case 58: + case 68: + case 69: + case 70: + case 71: + case 77: + case 92: + case 93: + case 94: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt15=1; + } + break; + case 40: + { + alt15=2; + } + break; + case 38: + { + alt15=3; + } + break; + case 45: + { + alt15=4; + } + break; + case 49: + { + alt15=5; + } + break; + case 51: + { + alt15=6; + } + break; + default: + if (backtracking>0) {failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("58:1: r_statement : ( r_simpleStatement | r_fileStatement | r_foreachStatement | r_ifStatement | r_letStatement | r_protectStatement );", 15, 0, input); + + throw nvae; + } + + switch (alt15) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:59:3: r_simpleStatement + { + pushFollow(FOLLOW_r_simpleStatement_in_r_statement281); + r_simpleStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 2 : + // src/org/eclipse/xpand3/parser/Xpand3.g:60:3: r_fileStatement + { + pushFollow(FOLLOW_r_fileStatement_in_r_statement286); + r_fileStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 3 : + // src/org/eclipse/xpand3/parser/Xpand3.g:61:3: r_foreachStatement + { + pushFollow(FOLLOW_r_foreachStatement_in_r_statement291); + r_foreachStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 4 : + // src/org/eclipse/xpand3/parser/Xpand3.g:62:3: r_ifStatement + { + pushFollow(FOLLOW_r_ifStatement_in_r_statement296); + r_ifStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 5 : + // src/org/eclipse/xpand3/parser/Xpand3.g:63:3: r_letStatement + { + pushFollow(FOLLOW_r_letStatement_in_r_statement301); + r_letStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 6 : + // src/org/eclipse/xpand3/parser/Xpand3.g:64:3: r_protectStatement + { + pushFollow(FOLLOW_r_protectStatement_in_r_statement306); + r_protectStatement(); + _fsp--; + if (failed) return ; + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_statement + + + // $ANTLR start r_textSequence + // src/org/eclipse/xpand3/parser/Xpand3.g:67:1: r_textSequence : r_text ( r_text )* ; + public void r_textSequence() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:68:2: ( r_text ( r_text )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:68:2: r_text ( r_text )* + { + pushFollow(FOLLOW_r_text_in_r_textSequence317); + r_text(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:68:9: ( r_text )* + loop16: + do { + int alt16=2; + int LA16_0 = input.LA(1); + + if ( (LA16_0==35) ) { + int LA16_2 = input.LA(2); + + if ( (LA16_2==TEXT) ) { + alt16=1; + } + + + } + else if ( (LA16_0==TEXT) ) { + alt16=1; + } + + + switch (alt16) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:68:10: r_text + { + pushFollow(FOLLOW_r_text_in_r_textSequence320); + r_text(); + _fsp--; + if (failed) return ; + + } + break; + + default : + break loop16; + } + } while (true); + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_textSequence + + + // $ANTLR start r_text + // src/org/eclipse/xpand3/parser/Xpand3.g:71:1: r_text : ( '-' )? TEXT ; + public void r_text() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:72:2: ( ( '-' )? TEXT ) + // src/org/eclipse/xpand3/parser/Xpand3.g:72:2: ( '-' )? TEXT + { + // src/org/eclipse/xpand3/parser/Xpand3.g:72:2: ( '-' )? + int alt17=2; + int LA17_0 = input.LA(1); + + if ( (LA17_0==35) ) { + alt17=1; + } + switch (alt17) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:72:2: '-' + { + match(input,35,FOLLOW_35_in_r_text332); if (failed) return ; + + } + break; + + } + + match(input,TEXT,FOLLOW_TEXT_in_r_text335); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_text + + + // $ANTLR start r_simpleStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:75:1: r_simpleStatement : ( r_errorStatement | r_expandStatement | r_expressionStmt ); + public void r_simpleStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:76:3: ( r_errorStatement | r_expandStatement | r_expressionStmt ) + int alt18=3; + switch ( input.LA(1) ) { + case 36: + { + alt18=1; + } + break; + case 37: + { + alt18=2; + } + break; + case StringLiteral: + case IntLiteral: + case Identifier: + case 30: + case 35: + case 58: + case 68: + case 69: + case 70: + case 71: + case 77: + case 92: + case 93: + case 94: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: + { + alt18=3; + } + break; + default: + if (backtracking>0) {failed=true; return ;} + NoViableAltException nvae = + new NoViableAltException("75:1: r_simpleStatement : ( r_errorStatement | r_expandStatement | r_expressionStmt );", 18, 0, input); + + throw nvae; + } + + switch (alt18) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:76:3: r_errorStatement + { + pushFollow(FOLLOW_r_errorStatement_in_r_simpleStatement346); + r_errorStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 2 : + // src/org/eclipse/xpand3/parser/Xpand3.g:77:3: r_expandStatement + { + pushFollow(FOLLOW_r_expandStatement_in_r_simpleStatement350); + r_expandStatement(); + _fsp--; + if (failed) return ; + + } + break; + case 3 : + // src/org/eclipse/xpand3/parser/Xpand3.g:78:3: r_expressionStmt + { + pushFollow(FOLLOW_r_expressionStmt_in_r_simpleStatement354); + r_expressionStmt(); + _fsp--; + if (failed) return ; + + } + break; + + } + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_simpleStatement + + + // $ANTLR start r_errorStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:81:1: r_errorStatement : 'ERROR' r_expression ; + public void r_errorStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:82:3: ( 'ERROR' r_expression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:82:3: 'ERROR' r_expression + { + match(input,36,FOLLOW_36_in_r_errorStatement365); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_errorStatement367); + r_expression(); + _fsp--; + if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_errorStatement + + + // $ANTLR start r_expandStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:85:1: r_expandStatement : 'EXPAND' r_simpleType ( '(' r_parameterList ')' )? ( ( 'FOR' r_expression ) | ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) )? ; + public void r_expandStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:86:3: ( 'EXPAND' r_simpleType ( '(' r_parameterList ')' )? ( ( 'FOR' r_expression ) | ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) )? ) + // src/org/eclipse/xpand3/parser/Xpand3.g:86:3: 'EXPAND' r_simpleType ( '(' r_parameterList ')' )? ( ( 'FOR' r_expression ) | ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) )? + { + match(input,37,FOLLOW_37_in_r_expandStatement378); if (failed) return ; + pushFollow(FOLLOW_r_simpleType_in_r_expandStatement380); + r_simpleType(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:86:25: ( '(' r_parameterList ')' )? + int alt19=2; + int LA19_0 = input.LA(1); + + if ( (LA19_0==30) ) { + alt19=1; + } + switch (alt19) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:86:26: '(' r_parameterList ')' + { + match(input,30,FOLLOW_30_in_r_expandStatement383); if (failed) return ; + pushFollow(FOLLOW_r_parameterList_in_r_expandStatement385); + r_parameterList(); + _fsp--; + if (failed) return ; + match(input,33,FOLLOW_33_in_r_expandStatement387); if (failed) return ; + + } + break; + + } + + // src/org/eclipse/xpand3/parser/Xpand3.g:86:52: ( ( 'FOR' r_expression ) | ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) )? + int alt21=3; + int LA21_0 = input.LA(1); + + if ( (LA21_0==34) ) { + alt21=1; + } + else if ( (LA21_0==38) ) { + alt21=2; + } + switch (alt21) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:86:53: ( 'FOR' r_expression ) + { + // src/org/eclipse/xpand3/parser/Xpand3.g:86:53: ( 'FOR' r_expression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:86:54: 'FOR' r_expression + { + match(input,34,FOLLOW_34_in_r_expandStatement393); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_expandStatement395); + r_expression(); + _fsp--; + if (failed) return ; + + } + + + } + break; + case 2 : + // src/org/eclipse/xpand3/parser/Xpand3.g:87:5: ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) + { + // src/org/eclipse/xpand3/parser/Xpand3.g:87:5: ( 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? ) + // src/org/eclipse/xpand3/parser/Xpand3.g:87:6: 'FOREACH' r_expression ( 'SEPARATOR' r_expression )? + { + match(input,38,FOLLOW_38_in_r_expandStatement403); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_expandStatement404); + r_expression(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:87:28: ( 'SEPARATOR' r_expression )? + int alt20=2; + int LA20_0 = input.LA(1); + + if ( (LA20_0==39) ) { + alt20=1; + } + switch (alt20) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:87:29: 'SEPARATOR' r_expression + { + match(input,39,FOLLOW_39_in_r_expandStatement407); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_expandStatement409); + r_expression(); + _fsp--; + if (failed) return ; + + } + break; + + } + + + } + + + } + break; + + } + + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_expandStatement + + + // $ANTLR start r_expressionStmt + // src/org/eclipse/xpand3/parser/Xpand3.g:90:1: r_expressionStmt : r_expression ; + public void r_expressionStmt() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:91:2: ( r_expression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:91:2: r_expression + { + pushFollow(FOLLOW_r_expression_in_r_expressionStmt425); + r_expression(); + _fsp--; + if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_expressionStmt + + + // $ANTLR start r_fileStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:94:1: r_fileStatement : 'FILE' r_expression ( r_identifier )? r_sequence 'ENDFILE' ; + public void r_fileStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:95:2: ( 'FILE' r_expression ( r_identifier )? r_sequence 'ENDFILE' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:95:2: 'FILE' r_expression ( r_identifier )? r_sequence 'ENDFILE' + { + match(input,40,FOLLOW_40_in_r_fileStatement435); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_fileStatement437); + r_expression(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:95:22: ( r_identifier )? + int alt22=2; + int LA22_0 = input.LA(1); + + if ( (LA22_0==Identifier) ) { + alt22=1; + } + switch (alt22) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:95:23: r_identifier + { + pushFollow(FOLLOW_r_identifier_in_r_fileStatement440); + r_identifier(); + _fsp--; + if (failed) return ; + + } + break; + + } + + pushFollow(FOLLOW_r_sequence_in_r_fileStatement446); + r_sequence(); + _fsp--; + if (failed) return ; + match(input,41,FOLLOW_41_in_r_fileStatement450); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_fileStatement + + + // $ANTLR start r_foreachStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:100:1: r_foreachStatement : 'FOREACH' r_expression 'AS' r_identifier ( 'ITERATOR' r_identifier )? ( 'SEPARATOR' r_expression )? r_sequence 'ENDFOREACH' ; + public void r_foreachStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:101:3: ( 'FOREACH' r_expression 'AS' r_identifier ( 'ITERATOR' r_identifier )? ( 'SEPARATOR' r_expression )? r_sequence 'ENDFOREACH' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:101:3: 'FOREACH' r_expression 'AS' r_identifier ( 'ITERATOR' r_identifier )? ( 'SEPARATOR' r_expression )? r_sequence 'ENDFOREACH' + { + match(input,38,FOLLOW_38_in_r_foreachStatement462); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_foreachStatement464); + r_expression(); + _fsp--; + if (failed) return ; + match(input,42,FOLLOW_42_in_r_foreachStatement466); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_foreachStatement468); + r_identifier(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:101:44: ( 'ITERATOR' r_identifier )? + int alt23=2; + int LA23_0 = input.LA(1); + + if ( (LA23_0==43) ) { + alt23=1; + } + switch (alt23) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:101:45: 'ITERATOR' r_identifier + { + match(input,43,FOLLOW_43_in_r_foreachStatement471); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_foreachStatement473); + r_identifier(); + _fsp--; + if (failed) return ; + + } + break; + + } + + // src/org/eclipse/xpand3/parser/Xpand3.g:101:71: ( 'SEPARATOR' r_expression )? + int alt24=2; + int LA24_0 = input.LA(1); + + if ( (LA24_0==39) ) { + alt24=1; + } + switch (alt24) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:101:72: 'SEPARATOR' r_expression + { + match(input,39,FOLLOW_39_in_r_foreachStatement478); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_foreachStatement480); + r_expression(); + _fsp--; + if (failed) return ; + + } + break; + + } + + pushFollow(FOLLOW_r_sequence_in_r_foreachStatement488); + r_sequence(); + _fsp--; + if (failed) return ; + match(input,44,FOLLOW_44_in_r_foreachStatement493); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_foreachStatement + + + // $ANTLR start r_ifStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:106:1: r_ifStatement : 'IF' r_expression r_sequence ( r_elseIfStatement )* ( r_elseStatement )? 'ENDIF' ; + public void r_ifStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:107:6: ( 'IF' r_expression r_sequence ( r_elseIfStatement )* ( r_elseStatement )? 'ENDIF' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:107:6: 'IF' r_expression r_sequence ( r_elseIfStatement )* ( r_elseStatement )? 'ENDIF' + { + match(input,45,FOLLOW_45_in_r_ifStatement508); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_ifStatement510); + r_expression(); + _fsp--; + if (failed) return ; + pushFollow(FOLLOW_r_sequence_in_r_ifStatement514); + r_sequence(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:109:3: ( r_elseIfStatement )* + loop25: + do { + int alt25=2; + int LA25_0 = input.LA(1); + + if ( (LA25_0==47) ) { + alt25=1; + } + + + switch (alt25) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:109:3: r_elseIfStatement + { + pushFollow(FOLLOW_r_elseIfStatement_in_r_ifStatement519); + r_elseIfStatement(); + _fsp--; + if (failed) return ; + + } + break; + + default : + break loop25; + } + } while (true); + + // src/org/eclipse/xpand3/parser/Xpand3.g:110:3: ( r_elseStatement )? + int alt26=2; + int LA26_0 = input.LA(1); + + if ( (LA26_0==48) ) { + alt26=1; + } + switch (alt26) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:110:3: r_elseStatement + { + pushFollow(FOLLOW_r_elseStatement_in_r_ifStatement524); + r_elseStatement(); + _fsp--; + if (failed) return ; + + } + break; + + } + + match(input,46,FOLLOW_46_in_r_ifStatement529); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_ifStatement + + + // $ANTLR start r_elseIfStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:114:1: r_elseIfStatement : 'ELSEIF' r_expression r_sequence ; + public void r_elseIfStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:115:2: ( 'ELSEIF' r_expression r_sequence ) + // src/org/eclipse/xpand3/parser/Xpand3.g:115:2: 'ELSEIF' r_expression r_sequence + { + match(input,47,FOLLOW_47_in_r_elseIfStatement539); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_elseIfStatement541); + r_expression(); + _fsp--; + if (failed) return ; + pushFollow(FOLLOW_r_sequence_in_r_elseIfStatement545); + r_sequence(); + _fsp--; + if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_elseIfStatement + + + // $ANTLR start r_elseStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:119:1: r_elseStatement : 'ELSE' r_sequence ; + public void r_elseStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:120:2: ( 'ELSE' r_sequence ) + // src/org/eclipse/xpand3/parser/Xpand3.g:120:2: 'ELSE' r_sequence + { + match(input,48,FOLLOW_48_in_r_elseStatement557); if (failed) return ; + pushFollow(FOLLOW_r_sequence_in_r_elseStatement561); + r_sequence(); + _fsp--; + if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_elseStatement + + + // $ANTLR start r_letStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:124:1: r_letStatement : 'LET' r_expression 'AS' r_identifier r_sequence 'ENDLET' ; + public void r_letStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:125:3: ( 'LET' r_expression 'AS' r_identifier r_sequence 'ENDLET' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:125:3: 'LET' r_expression 'AS' r_identifier r_sequence 'ENDLET' + { + match(input,49,FOLLOW_49_in_r_letStatement573); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_letStatement575); + r_expression(); + _fsp--; + if (failed) return ; + match(input,42,FOLLOW_42_in_r_letStatement577); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_letStatement579); + r_identifier(); + _fsp--; + if (failed) return ; + pushFollow(FOLLOW_r_sequence_in_r_letStatement585); + r_sequence(); + _fsp--; + if (failed) return ; + match(input,50,FOLLOW_50_in_r_letStatement590); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_letStatement + + + // $ANTLR start r_protectStatement + // src/org/eclipse/xpand3/parser/Xpand3.g:130:1: r_protectStatement : 'PROTECT' 'CSTART' r_expression 'CEND' r_expression 'ID' r_expression ( 'DISABLE' )? r_sequence 'ENDPROTECT' ; + public void r_protectStatement() throws RecognitionException { + try { + // src/org/eclipse/xpand3/parser/Xpand3.g:131:2: ( 'PROTECT' 'CSTART' r_expression 'CEND' r_expression 'ID' r_expression ( 'DISABLE' )? r_sequence 'ENDPROTECT' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:131:2: 'PROTECT' 'CSTART' r_expression 'CEND' r_expression 'ID' r_expression ( 'DISABLE' )? r_sequence 'ENDPROTECT' + { + match(input,51,FOLLOW_51_in_r_protectStatement601); if (failed) return ; + match(input,52,FOLLOW_52_in_r_protectStatement606); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_protectStatement608); + r_expression(); + _fsp--; + if (failed) return ; + match(input,53,FOLLOW_53_in_r_protectStatement613); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_protectStatement615); + r_expression(); + _fsp--; + if (failed) return ; + match(input,54,FOLLOW_54_in_r_protectStatement628); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_protectStatement630); + r_expression(); + _fsp--; + if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:134:29: ( 'DISABLE' )? + int alt27=2; + int LA27_0 = input.LA(1); + + if ( (LA27_0==55) ) { + alt27=1; + } + switch (alt27) { + case 1 : + // src/org/eclipse/xpand3/parser/Xpand3.g:134:29: 'DISABLE' + { + match(input,55,FOLLOW_55_in_r_protectStatement632); if (failed) return ; + + } + break; + + } + + pushFollow(FOLLOW_r_sequence_in_r_protectStatement638); + r_sequence(); + _fsp--; + if (failed) return ; + match(input,56,FOLLOW_56_in_r_protectStatement642); if (failed) return ; + + } + + } + catch (RecognitionException re) { + reportError(re); + recover(input,re); + } + finally { + } + return ; + } + // $ANTLR end r_protectStatement + + // $ANTLR start r_check - // src/org/eclipse/xpand3/parser/Xpand3.g:29:1: r_check : 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:141:1: r_check : 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' ; public void r_check() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:30:2: ( 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:30:2: 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' + // src/org/eclipse/xpand3/parser/Xpand3.g:142:2: ( 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:142:2: 'context' r_type ( 'if' r_expression )? ( 'ERROR' | 'WARNING' ) r_expression ':' r_expression ';' { - match(input,22,FOLLOW_22_in_r_check106); if (failed) return ; - pushFollow(FOLLOW_r_type_in_r_check108); + match(input,57,FOLLOW_57_in_r_check654); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_check656); r_type(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:30:19: ( 'if' r_expression )? - int alt6=2; - int LA6_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:142:19: ( 'if' r_expression )? + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA6_0==23) ) { - alt6=1; + if ( (LA28_0==58) ) { + alt28=1; } - switch (alt6) { + switch (alt28) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:30:20: 'if' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:142:20: 'if' r_expression { - match(input,23,FOLLOW_23_in_r_check111); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_check113); + match(input,58,FOLLOW_58_in_r_check659); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_check661); r_expression(); _fsp--; if (failed) return ; @@ -312,7 +1620,7 @@ public class Xpand3Parser extends Parser { } - if ( (input.LA(1)>=24 && input.LA(1)<=25) ) { + if ( input.LA(1)==36||input.LA(1)==59 ) { input.consume(); errorRecovery=false;failed=false; } @@ -320,19 +1628,19 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_check117); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_check665); throw mse; } - pushFollow(FOLLOW_r_expression_in_r_check123); + pushFollow(FOLLOW_r_expression_in_r_check671); r_expression(); _fsp--; if (failed) return ; - match(input,26,FOLLOW_26_in_r_check125); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_check129); + match(input,60,FOLLOW_60_in_r_check673); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_check677); r_expression(); _fsp--; if (failed) return ; - match(input,19,FOLLOW_19_in_r_check131); if (failed) return ; + match(input,27,FOLLOW_27_in_r_check679); if (failed) return ; } @@ -349,66 +1657,66 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_around - // src/org/eclipse/xpand3/parser/Xpand3.g:34:1: r_around : 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:146:1: r_around : 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' ; public void r_around() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:35:5: ( 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:35:5: 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' + // src/org/eclipse/xpand3/parser/Xpand3.g:147:5: ( 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:147:5: 'around' r_pointcut '(' ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? ')' ':' r_expression ';' { - match(input,27,FOLLOW_27_in_r_around146); if (failed) return ; - pushFollow(FOLLOW_r_pointcut_in_r_around148); + match(input,61,FOLLOW_61_in_r_around694); if (failed) return ; + pushFollow(FOLLOW_r_pointcut_in_r_around696); r_pointcut(); _fsp--; if (failed) return ; - match(input,28,FOLLOW_28_in_r_around150); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:35:29: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? - int alt9=3; - int LA9_0 = input.LA(1); + match(input,30,FOLLOW_30_in_r_around698); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:147:29: ( r_declaredParameterList ( ( ',' )? '*' )? | '*' )? + int alt31=3; + int LA31_0 = input.LA(1); - if ( (LA9_0==Identifier||(LA9_0>=38 && LA9_0<=40)) ) { - alt9=1; + if ( (LA31_0==Identifier||(LA31_0>=68 && LA31_0<=70)) ) { + alt31=1; } - else if ( (LA9_0==30) ) { - alt9=2; + else if ( (LA31_0==32) ) { + alt31=2; } - switch (alt9) { + switch (alt31) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:35:30: r_declaredParameterList ( ( ',' )? '*' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:147:30: r_declaredParameterList ( ( ',' )? '*' )? { - pushFollow(FOLLOW_r_declaredParameterList_in_r_around153); + pushFollow(FOLLOW_r_declaredParameterList_in_r_around701); r_declaredParameterList(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:35:54: ( ( ',' )? '*' )? - int alt8=2; - int LA8_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:147:54: ( ( ',' )? '*' )? + int alt30=2; + int LA30_0 = input.LA(1); - if ( ((LA8_0>=29 && LA8_0<=30)) ) { - alt8=1; + if ( ((LA30_0>=31 && LA30_0<=32)) ) { + alt30=1; } - switch (alt8) { + switch (alt30) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:35:55: ( ',' )? '*' + // src/org/eclipse/xpand3/parser/Xpand3.g:147:55: ( ',' )? '*' { - // src/org/eclipse/xpand3/parser/Xpand3.g:35:55: ( ',' )? - int alt7=2; - int LA7_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:147:55: ( ',' )? + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA7_0==29) ) { - alt7=1; + if ( (LA29_0==31) ) { + alt29=1; } - switch (alt7) { + switch (alt29) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:35:55: ',' + // src/org/eclipse/xpand3/parser/Xpand3.g:147:55: ',' { - match(input,29,FOLLOW_29_in_r_around156); if (failed) return ; + match(input,31,FOLLOW_31_in_r_around704); if (failed) return ; } break; } - match(input,30,FOLLOW_30_in_r_around159); if (failed) return ; + match(input,32,FOLLOW_32_in_r_around707); if (failed) return ; } break; @@ -419,22 +1727,22 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:35:68: '*' + // src/org/eclipse/xpand3/parser/Xpand3.g:147:68: '*' { - match(input,30,FOLLOW_30_in_r_around165); if (failed) return ; + match(input,32,FOLLOW_32_in_r_around713); if (failed) return ; } break; } - match(input,31,FOLLOW_31_in_r_around169); if (failed) return ; - match(input,26,FOLLOW_26_in_r_around171); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_around178); + match(input,33,FOLLOW_33_in_r_around717); if (failed) return ; + match(input,60,FOLLOW_60_in_r_around719); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_around726); r_expression(); _fsp--; if (failed) return ; - match(input,19,FOLLOW_19_in_r_around180); if (failed) return ; + match(input,27,FOLLOW_27_in_r_around728); if (failed) return ; } @@ -451,41 +1759,41 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_pointcut - // src/org/eclipse/xpand3/parser/Xpand3.g:39:1: r_pointcut : ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:151:1: r_pointcut : ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* ; public void r_pointcut() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:40:2: ( ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:40:2: ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* + // src/org/eclipse/xpand3/parser/Xpand3.g:152:2: ( ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:152:2: ( '*' | r_identifier ) ( '*' | r_identifier | '::' )* { - // src/org/eclipse/xpand3/parser/Xpand3.g:40:2: ( '*' | r_identifier ) - int alt10=2; - int LA10_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:152:2: ( '*' | r_identifier ) + int alt32=2; + int LA32_0 = input.LA(1); - if ( (LA10_0==30) ) { - alt10=1; + if ( (LA32_0==32) ) { + alt32=1; } - else if ( (LA10_0==Identifier) ) { - alt10=2; + else if ( (LA32_0==Identifier) ) { + alt32=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("40:2: ( '*' | r_identifier )", 10, 0, input); + new NoViableAltException("152:2: ( '*' | r_identifier )", 32, 0, input); throw nvae; } - switch (alt10) { + switch (alt32) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:40:4: '*' + // src/org/eclipse/xpand3/parser/Xpand3.g:152:4: '*' { - match(input,30,FOLLOW_30_in_r_pointcut197); if (failed) return ; + match(input,32,FOLLOW_32_in_r_pointcut745); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:41:4: r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:153:4: r_identifier { - pushFollow(FOLLOW_r_identifier_in_r_pointcut203); + pushFollow(FOLLOW_r_identifier_in_r_pointcut751); r_identifier(); _fsp--; if (failed) return ; @@ -495,41 +1803,41 @@ public class Xpand3Parser extends Parser { } - // src/org/eclipse/xpand3/parser/Xpand3.g:42:4: ( '*' | r_identifier | '::' )* - loop11: + // src/org/eclipse/xpand3/parser/Xpand3.g:154:4: ( '*' | r_identifier | '::' )* + loop33: do { - int alt11=4; + int alt33=4; switch ( input.LA(1) ) { - case 30: + case 32: { - alt11=1; + alt33=1; } break; case Identifier: { - alt11=2; + alt33=2; } break; - case 32: + case 62: { - alt11=3; + alt33=3; } break; } - switch (alt11) { + switch (alt33) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:42:6: '*' + // src/org/eclipse/xpand3/parser/Xpand3.g:154:6: '*' { - match(input,30,FOLLOW_30_in_r_pointcut211); if (failed) return ; + match(input,32,FOLLOW_32_in_r_pointcut759); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:43:6: r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:155:6: r_identifier { - pushFollow(FOLLOW_r_identifier_in_r_pointcut219); + pushFollow(FOLLOW_r_identifier_in_r_pointcut767); r_identifier(); _fsp--; if (failed) return ; @@ -537,15 +1845,15 @@ public class Xpand3Parser extends Parser { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:44:6: '::' + // src/org/eclipse/xpand3/parser/Xpand3.g:156:6: '::' { - match(input,32,FOLLOW_32_in_r_pointcut227); if (failed) return ; + match(input,62,FOLLOW_62_in_r_pointcut775); if (failed) return ; } break; default : - break loop11; + break loop33; } } while (true); @@ -565,28 +1873,28 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_extension - // src/org/eclipse/xpand3/parser/Xpand3.g:47:1: r_extension : ( '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:159:1: r_extension : ( 'private' | 'cached' | 'create' )* ( r_type )? r_identifier ( r_identifier )? '(' ( r_declaredParameterList )? ')' ':' ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression ) ';' ; public void r_extension() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:48:2: ( ( '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:48:2: ( '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:160:2: ( ( '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:160:2: ( '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:48:2: ( 'private' | 'cached' | 'create' )* - loop12: + // src/org/eclipse/xpand3/parser/Xpand3.g:160:2: ( 'private' | 'cached' | 'create' )* + loop34: do { - int alt12=2; - int LA12_0 = input.LA(1); + int alt34=2; + int LA34_0 = input.LA(1); - if ( ((LA12_0>=33 && LA12_0<=35)) ) { - alt12=1; + if ( ((LA34_0>=63 && LA34_0<=65)) ) { + alt34=1; } - switch (alt12) { + switch (alt34) { case 1 : // src/org/eclipse/xpand3/parser/Xpand3.g: { - if ( (input.LA(1)>=33 && input.LA(1)<=35) ) { + if ( (input.LA(1)>=63 && input.LA(1)<=65) ) { input.consume(); errorRecovery=false;failed=false; } @@ -594,7 +1902,7 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_extension241); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_extension789); throw mse; } @@ -602,32 +1910,32 @@ public class Xpand3Parser extends Parser { break; default : - break loop12; + break loop34; } } while (true); - // src/org/eclipse/xpand3/parser/Xpand3.g:48:33: ( r_type )? - int alt13=2; - int LA13_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:160:33: ( r_type )? + int alt35=2; + int LA35_0 = input.LA(1); - if ( ((LA13_0>=38 && LA13_0<=40)) ) { - alt13=1; + if ( ((LA35_0>=68 && LA35_0<=70)) ) { + alt35=1; } - else if ( (LA13_0==Identifier) ) { - int LA13_2 = input.LA(2); + else if ( (LA35_0==Identifier) ) { + int LA35_2 = input.LA(2); - if ( (LA13_2==32) ) { - alt13=1; + if ( (LA35_2==62) ) { + alt35=1; } - else if ( (LA13_2==Identifier) ) { - alt13=1; + else if ( (LA35_2==Identifier) ) { + alt35=1; } } - switch (alt13) { + switch (alt35) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:48:33: r_type + // src/org/eclipse/xpand3/parser/Xpand3.g:160:33: r_type { - pushFollow(FOLLOW_r_type_in_r_extension250); + pushFollow(FOLLOW_r_type_in_r_extension798); r_type(); _fsp--; if (failed) return ; @@ -637,22 +1945,22 @@ public class Xpand3Parser extends Parser { } - pushFollow(FOLLOW_r_identifier_in_r_extension253); + pushFollow(FOLLOW_r_identifier_in_r_extension801); r_identifier(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:48:54: ( r_identifier )? - int alt14=2; - int LA14_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:160:54: ( r_identifier )? + int alt36=2; + int LA36_0 = input.LA(1); - if ( (LA14_0==Identifier) ) { - alt14=1; + if ( (LA36_0==Identifier) ) { + alt36=1; } - switch (alt14) { + switch (alt36) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:48:54: r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:160:54: r_identifier { - pushFollow(FOLLOW_r_identifier_in_r_extension255); + pushFollow(FOLLOW_r_identifier_in_r_extension803); r_identifier(); _fsp--; if (failed) return ; @@ -662,19 +1970,19 @@ public class Xpand3Parser extends Parser { } - match(input,28,FOLLOW_28_in_r_extension258); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:48:72: ( r_declaredParameterList )? - int alt15=2; - int LA15_0 = input.LA(1); + match(input,30,FOLLOW_30_in_r_extension806); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:160:72: ( r_declaredParameterList )? + int alt37=2; + int LA37_0 = input.LA(1); - if ( (LA15_0==Identifier||(LA15_0>=38 && LA15_0<=40)) ) { - alt15=1; + if ( (LA37_0==Identifier||(LA37_0>=68 && LA37_0<=70)) ) { + alt37=1; } - switch (alt15) { + switch (alt37) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:48:72: r_declaredParameterList + // src/org/eclipse/xpand3/parser/Xpand3.g:160:72: r_declaredParameterList { - pushFollow(FOLLOW_r_declaredParameterList_in_r_extension260); + pushFollow(FOLLOW_r_declaredParameterList_in_r_extension808); r_declaredParameterList(); _fsp--; if (failed) return ; @@ -684,72 +1992,72 @@ public class Xpand3Parser extends Parser { } - match(input,31,FOLLOW_31_in_r_extension263); if (failed) return ; - match(input,26,FOLLOW_26_in_r_extension265); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:49:3: ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression ) - int alt18=2; - int LA18_0 = input.LA(1); + match(input,33,FOLLOW_33_in_r_extension811); if (failed) return ; + match(input,60,FOLLOW_60_in_r_extension813); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:161:3: ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression ) + int alt40=2; + int LA40_0 = input.LA(1); - if ( (LA18_0==36) ) { - alt18=1; + if ( (LA40_0==66) ) { + alt40=1; } - else if ( ((LA18_0>=StringLiteral && LA18_0<=Identifier)||LA18_0==23||LA18_0==28||(LA18_0>=38 && LA18_0<=41)||LA18_0==47||LA18_0==61||(LA18_0>=63 && LA18_0<=65)||(LA18_0>=67 && LA18_0<=79)) ) { - alt18=2; + else if ( ((LA40_0>=StringLiteral && LA40_0<=Identifier)||LA40_0==30||LA40_0==35||LA40_0==58||(LA40_0>=68 && LA40_0<=71)||LA40_0==77||(LA40_0>=92 && LA40_0<=94)||(LA40_0>=96 && LA40_0<=108)) ) { + alt40=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("49:3: ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression )", 18, 0, input); + new NoViableAltException("161:3: ( 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' | r_expression )", 40, 0, input); throw nvae; } - switch (alt18) { + switch (alt40) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:49:4: 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:161:4: 'JAVA' r_javaType '.' r_identifier '(' ( r_javaType ( ',' r_javaType )* )? ')' { - match(input,36,FOLLOW_36_in_r_extension270); if (failed) return ; - pushFollow(FOLLOW_r_javaType_in_r_extension272); + match(input,66,FOLLOW_66_in_r_extension818); if (failed) return ; + pushFollow(FOLLOW_r_javaType_in_r_extension820); r_javaType(); _fsp--; if (failed) return ; - match(input,37,FOLLOW_37_in_r_extension274); if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_extension276); + match(input,67,FOLLOW_67_in_r_extension822); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_extension824); r_identifier(); _fsp--; if (failed) return ; - match(input,28,FOLLOW_28_in_r_extension278); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:49:42: ( r_javaType ( ',' r_javaType )* )? - int alt17=2; - int LA17_0 = input.LA(1); + match(input,30,FOLLOW_30_in_r_extension826); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:161:42: ( r_javaType ( ',' r_javaType )* )? + int alt39=2; + int LA39_0 = input.LA(1); - if ( (LA17_0==Identifier) ) { - alt17=1; + if ( (LA39_0==Identifier) ) { + alt39=1; } - switch (alt17) { + switch (alt39) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:49:43: r_javaType ( ',' r_javaType )* + // src/org/eclipse/xpand3/parser/Xpand3.g:161:43: r_javaType ( ',' r_javaType )* { - pushFollow(FOLLOW_r_javaType_in_r_extension280); + pushFollow(FOLLOW_r_javaType_in_r_extension828); r_javaType(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:49:54: ( ',' r_javaType )* - loop16: + // src/org/eclipse/xpand3/parser/Xpand3.g:161:54: ( ',' r_javaType )* + loop38: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt38=2; + int LA38_0 = input.LA(1); - if ( (LA16_0==29) ) { - alt16=1; + if ( (LA38_0==31) ) { + alt38=1; } - switch (alt16) { + switch (alt38) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:49:55: ',' r_javaType + // src/org/eclipse/xpand3/parser/Xpand3.g:161:55: ',' r_javaType { - match(input,29,FOLLOW_29_in_r_extension283); if (failed) return ; - pushFollow(FOLLOW_r_javaType_in_r_extension285); + match(input,31,FOLLOW_31_in_r_extension831); if (failed) return ; + pushFollow(FOLLOW_r_javaType_in_r_extension833); r_javaType(); _fsp--; if (failed) return ; @@ -758,7 +2066,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop16; + break loop38; } } while (true); @@ -768,14 +2076,14 @@ public class Xpand3Parser extends Parser { } - match(input,31,FOLLOW_31_in_r_extension292); if (failed) return ; + match(input,33,FOLLOW_33_in_r_extension840); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:50:4: r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:162:4: r_expression { - pushFollow(FOLLOW_r_expression_in_r_extension299); + pushFollow(FOLLOW_r_expression_in_r_extension847); r_expression(); _fsp--; if (failed) return ; @@ -785,7 +2093,7 @@ public class Xpand3Parser extends Parser { } - match(input,19,FOLLOW_19_in_r_extension302); if (failed) return ; + match(input,27,FOLLOW_27_in_r_extension850); if (failed) return ; } @@ -802,83 +2110,83 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_javaType - // src/org/eclipse/xpand3/parser/Xpand3.g:53:1: r_javaType : r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:165:1: r_javaType : r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* ; public void r_javaType() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:54:2: ( r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:54:2: r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* + // src/org/eclipse/xpand3/parser/Xpand3.g:166:2: ( r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:166:2: r_identifier ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* { - pushFollow(FOLLOW_r_identifier_in_r_javaType313); + pushFollow(FOLLOW_r_identifier_in_r_javaType861); r_identifier(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:55:2: ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* - loop20: + // src/org/eclipse/xpand3/parser/Xpand3.g:167:2: ( '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) )* + loop42: do { - int alt20=2; - int LA20_0 = input.LA(1); + int alt42=2; + int LA42_0 = input.LA(1); - if ( (LA20_0==37) ) { - int LA20_1 = input.LA(2); + if ( (LA42_0==67) ) { + int LA42_1 = input.LA(2); - if ( (LA20_1==Identifier) ) { - int LA20_3 = input.LA(3); + if ( (LA42_1==Identifier) ) { + int LA42_3 = input.LA(3); - if ( (LA20_3==29||LA20_3==31||LA20_3==37) ) { - alt20=1; + if ( (LA42_3==31||LA42_3==33||LA42_3==67) ) { + alt42=1; } } - else if ( ((LA20_1>=38 && LA20_1<=40)) ) { - alt20=1; + else if ( ((LA42_1>=68 && LA42_1<=70)) ) { + alt42=1; } } - switch (alt20) { + switch (alt42) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:55:3: '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:167:3: '.' ( r_identifier | 'Collection' | 'List' | 'Set' ) { - match(input,37,FOLLOW_37_in_r_javaType319); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:55:7: ( r_identifier | 'Collection' | 'List' | 'Set' ) - int alt19=4; + match(input,67,FOLLOW_67_in_r_javaType867); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:167:7: ( r_identifier | 'Collection' | 'List' | 'Set' ) + int alt41=4; switch ( input.LA(1) ) { case Identifier: { - alt19=1; + alt41=1; } break; - case 38: + case 68: { - alt19=2; + alt41=2; } break; - case 39: + case 69: { - alt19=3; + alt41=3; } break; - case 40: + case 70: { - alt19=4; + alt41=4; } break; default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("55:7: ( r_identifier | 'Collection' | 'List' | 'Set' )", 19, 0, input); + new NoViableAltException("167:7: ( r_identifier | 'Collection' | 'List' | 'Set' )", 41, 0, input); throw nvae; } - switch (alt19) { + switch (alt41) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:55:8: r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:167:8: r_identifier { - pushFollow(FOLLOW_r_identifier_in_r_javaType322); + pushFollow(FOLLOW_r_identifier_in_r_javaType870); r_identifier(); _fsp--; if (failed) return ; @@ -886,23 +2194,23 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:55:22: 'Collection' + // src/org/eclipse/xpand3/parser/Xpand3.g:167:22: 'Collection' { - match(input,38,FOLLOW_38_in_r_javaType325); if (failed) return ; + match(input,68,FOLLOW_68_in_r_javaType873); if (failed) return ; } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:56:2: 'List' + // src/org/eclipse/xpand3/parser/Xpand3.g:168:2: 'List' { - match(input,39,FOLLOW_39_in_r_javaType331); if (failed) return ; + match(input,69,FOLLOW_69_in_r_javaType879); if (failed) return ; } break; case 4 : - // src/org/eclipse/xpand3/parser/Xpand3.g:56:10: 'Set' + // src/org/eclipse/xpand3/parser/Xpand3.g:168:10: 'Set' { - match(input,40,FOLLOW_40_in_r_javaType334); if (failed) return ; + match(input,70,FOLLOW_70_in_r_javaType882); if (failed) return ; } break; @@ -914,7 +2222,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop20; + break loop42; } } while (true); @@ -934,13 +2242,13 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_expression - // src/org/eclipse/xpand3/parser/Xpand3.g:62:1: r_expression : r_letExpression ; + // src/org/eclipse/xpand3/parser/Xpand3.g:174:1: r_expression : r_letExpression ; public void r_expression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:63:2: ( r_letExpression ) - // src/org/eclipse/xpand3/parser/Xpand3.g:63:2: r_letExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:175:2: ( r_letExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:175:2: r_letExpression { - pushFollow(FOLLOW_r_letExpression_in_r_expression350); + pushFollow(FOLLOW_r_letExpression_in_r_expression898); r_letExpression(); _fsp--; if (failed) return ; @@ -960,42 +2268,42 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_letExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:66:1: r_letExpression : ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:178:1: r_letExpression : ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression ); public void r_letExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:67:4: ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression ) - int alt21=2; - int LA21_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:179:4: ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression ) + int alt43=2; + int LA43_0 = input.LA(1); - if ( (LA21_0==41) ) { - alt21=1; + if ( (LA43_0==71) ) { + alt43=1; } - else if ( ((LA21_0>=StringLiteral && LA21_0<=Identifier)||LA21_0==23||LA21_0==28||(LA21_0>=38 && LA21_0<=40)||LA21_0==47||LA21_0==61||(LA21_0>=63 && LA21_0<=65)||(LA21_0>=67 && LA21_0<=79)) ) { - alt21=2; + else if ( ((LA43_0>=StringLiteral && LA43_0<=Identifier)||LA43_0==30||LA43_0==35||LA43_0==58||(LA43_0>=68 && LA43_0<=70)||LA43_0==77||(LA43_0>=92 && LA43_0<=94)||(LA43_0>=96 && LA43_0<=108)) ) { + alt43=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("66:1: r_letExpression : ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression );", 21, 0, input); + new NoViableAltException("178:1: r_letExpression : ( 'let' r_identifier '=' r_castedExpression ':' r_expression | r_castedExpression );", 43, 0, input); throw nvae; } - switch (alt21) { + switch (alt43) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:67:4: 'let' r_identifier '=' r_castedExpression ':' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:179:4: 'let' r_identifier '=' r_castedExpression ':' r_expression { - match(input,41,FOLLOW_41_in_r_letExpression364); if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_letExpression366); + match(input,71,FOLLOW_71_in_r_letExpression912); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_letExpression914); r_identifier(); _fsp--; if (failed) return ; - match(input,42,FOLLOW_42_in_r_letExpression368); if (failed) return ; - pushFollow(FOLLOW_r_castedExpression_in_r_letExpression370); + match(input,72,FOLLOW_72_in_r_letExpression916); if (failed) return ; + pushFollow(FOLLOW_r_castedExpression_in_r_letExpression918); r_castedExpression(); _fsp--; if (failed) return ; - match(input,26,FOLLOW_26_in_r_letExpression372); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_letExpression374); + match(input,60,FOLLOW_60_in_r_letExpression920); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_letExpression922); r_expression(); _fsp--; if (failed) return ; @@ -1003,9 +2311,9 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:68:4: r_castedExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:180:4: r_castedExpression { - pushFollow(FOLLOW_r_castedExpression_in_r_letExpression380); + pushFollow(FOLLOW_r_castedExpression_in_r_letExpression928); r_castedExpression(); _fsp--; if (failed) return ; @@ -1027,23 +2335,23 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_castedExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:71:1: r_castedExpression : ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:183:1: r_castedExpression : ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ); public void r_castedExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:72:5: ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ) - int alt22=2; - alt22 = dfa22.predict(input); - switch (alt22) { + // src/org/eclipse/xpand3/parser/Xpand3.g:184:5: ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression ) + int alt44=2; + alt44 = dfa44.predict(input); + switch (alt44) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:72:5: ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:184:5: ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression { - match(input,28,FOLLOW_28_in_r_castedExpression406); if (failed) return ; - pushFollow(FOLLOW_r_type_in_r_castedExpression408); + match(input,30,FOLLOW_30_in_r_castedExpression954); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_castedExpression956); r_type(); _fsp--; if (failed) return ; - match(input,31,FOLLOW_31_in_r_castedExpression410); if (failed) return ; - pushFollow(FOLLOW_r_chainExpression_in_r_castedExpression412); + match(input,33,FOLLOW_33_in_r_castedExpression958); if (failed) return ; + pushFollow(FOLLOW_r_chainExpression_in_r_castedExpression960); r_chainExpression(); _fsp--; if (failed) return ; @@ -1051,9 +2359,9 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:74:4: r_chainExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:186:4: r_chainExpression { - pushFollow(FOLLOW_r_chainExpression_in_r_castedExpression418); + pushFollow(FOLLOW_r_chainExpression_in_r_castedExpression966); r_chainExpression(); _fsp--; if (failed) return ; @@ -1075,33 +2383,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_chainExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:77:1: r_chainExpression : r_ifExpression ( '->' r_ifExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:189:1: r_chainExpression : r_ifExpression ( '->' r_ifExpression )* ; public void r_chainExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:78:2: ( r_ifExpression ( '->' r_ifExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:78:2: r_ifExpression ( '->' r_ifExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:190:2: ( r_ifExpression ( '->' r_ifExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:190:2: r_ifExpression ( '->' r_ifExpression )* { - pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression430); + pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression978); r_ifExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:78:18: ( '->' r_ifExpression )* - loop23: + // src/org/eclipse/xpand3/parser/Xpand3.g:190:18: ( '->' r_ifExpression )* + loop45: do { - int alt23=2; - int LA23_0 = input.LA(1); + int alt45=2; + int LA45_0 = input.LA(1); - if ( (LA23_0==43) ) { - alt23=1; + if ( (LA45_0==73) ) { + alt45=1; } - switch (alt23) { + switch (alt45) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:78:20: '->' r_ifExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:190:20: '->' r_ifExpression { - match(input,43,FOLLOW_43_in_r_chainExpression435); if (failed) return ; - pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression437); + match(input,73,FOLLOW_73_in_r_chainExpression983); if (failed) return ; + pushFollow(FOLLOW_r_ifExpression_in_r_chainExpression985); r_ifExpression(); _fsp--; if (failed) return ; @@ -1110,7 +2418,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop23; + break loop45; } } while (true); @@ -1130,52 +2438,52 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_ifExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:81:1: r_ifExpression : ( r_switchExpression ( '?' r_expression ':' r_switchExpression )? | 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? ); + // src/org/eclipse/xpand3/parser/Xpand3.g:193:1: r_ifExpression : ( r_switchExpression ( '?' r_expression ':' r_switchExpression )? | 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? ); public void r_ifExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:82:2: ( r_switchExpression ( '?' r_expression ':' r_switchExpression )? | 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? ) - int alt26=2; - int LA26_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:194:2: ( 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 ( ((LA26_0>=StringLiteral && LA26_0<=Identifier)||LA26_0==28||(LA26_0>=38 && LA26_0<=40)||LA26_0==47||LA26_0==61||(LA26_0>=63 && LA26_0<=65)||(LA26_0>=67 && LA26_0<=79)) ) { - alt26=1; + if ( ((LA48_0>=StringLiteral && LA48_0<=Identifier)||LA48_0==30||LA48_0==35||(LA48_0>=68 && LA48_0<=70)||LA48_0==77||(LA48_0>=92 && LA48_0<=94)||(LA48_0>=96 && LA48_0<=108)) ) { + alt48=1; } - else if ( (LA26_0==23) ) { - alt26=2; + else if ( (LA48_0==58) ) { + alt48=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("81:1: r_ifExpression : ( r_switchExpression ( '?' r_expression ':' r_switchExpression )? | 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? );", 26, 0, input); + new NoViableAltException("193:1: r_ifExpression : ( r_switchExpression ( '?' r_expression ':' r_switchExpression )? | 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? );", 48, 0, input); throw nvae; } - switch (alt26) { + switch (alt48) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:82:2: r_switchExpression ( '?' r_expression ':' r_switchExpression )? + // src/org/eclipse/xpand3/parser/Xpand3.g:194:2: r_switchExpression ( '?' r_expression ':' r_switchExpression )? { - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression451); + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression999); r_switchExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:82:21: ( '?' r_expression ':' r_switchExpression )? - int alt24=2; - int LA24_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:194:21: ( '?' r_expression ':' r_switchExpression )? + int alt46=2; + int LA46_0 = input.LA(1); - if ( (LA24_0==44) ) { - alt24=1; + if ( (LA46_0==74) ) { + alt46=1; } - switch (alt24) { + switch (alt46) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:82:22: '?' r_expression ':' r_switchExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:194:22: '?' r_expression ':' r_switchExpression { - match(input,44,FOLLOW_44_in_r_ifExpression454); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_ifExpression456); + match(input,74,FOLLOW_74_in_r_ifExpression1002); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_ifExpression1004); r_expression(); _fsp--; if (failed) return ; - match(input,26,FOLLOW_26_in_r_ifExpression458); if (failed) return ; - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression460); + match(input,60,FOLLOW_60_in_r_ifExpression1006); if (failed) return ; + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1008); r_switchExpression(); _fsp--; if (failed) return ; @@ -1189,31 +2497,31 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:83:3: 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? + // src/org/eclipse/xpand3/parser/Xpand3.g:195:3: 'if' r_expression 'then' r_switchExpression ( 'else' r_switchExpression )? { - match(input,23,FOLLOW_23_in_r_ifExpression467); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_ifExpression469); + match(input,58,FOLLOW_58_in_r_ifExpression1015); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_ifExpression1017); r_expression(); _fsp--; if (failed) return ; - match(input,45,FOLLOW_45_in_r_ifExpression471); if (failed) return ; - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression473); + match(input,75,FOLLOW_75_in_r_ifExpression1019); if (failed) return ; + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1021); r_switchExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:83:47: ( 'else' r_switchExpression )? - int alt25=2; - int LA25_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:195:47: ( 'else' r_switchExpression )? + int alt47=2; + int LA47_0 = input.LA(1); - if ( (LA25_0==46) ) { - alt25=1; + if ( (LA47_0==76) ) { + alt47=1; } - switch (alt25) { + switch (alt47) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:83:48: 'else' r_switchExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:195:48: 'else' r_switchExpression { - match(input,46,FOLLOW_46_in_r_ifExpression476); if (failed) return ; - pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression478); + match(input,76,FOLLOW_76_in_r_ifExpression1024); if (failed) return ; + pushFollow(FOLLOW_r_switchExpression_in_r_ifExpression1026); r_switchExpression(); _fsp--; if (failed) return ; @@ -1241,70 +2549,70 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_switchExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:86:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:198:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ); public void r_switchExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:87:4: ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ) - int alt29=2; - int LA29_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:199:4: ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression ) + int alt51=2; + int LA51_0 = input.LA(1); - if ( (LA29_0==47) ) { - alt29=1; + if ( (LA51_0==77) ) { + alt51=1; } - else if ( ((LA29_0>=StringLiteral && LA29_0<=Identifier)||LA29_0==28||(LA29_0>=38 && LA29_0<=40)||LA29_0==61||(LA29_0>=63 && LA29_0<=65)||(LA29_0>=67 && LA29_0<=79)) ) { - alt29=2; + else if ( ((LA51_0>=StringLiteral && LA51_0<=Identifier)||LA51_0==30||LA51_0==35||(LA51_0>=68 && LA51_0<=70)||(LA51_0>=92 && LA51_0<=94)||(LA51_0>=96 && LA51_0<=108)) ) { + alt51=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("86:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression );", 29, 0, input); + new NoViableAltException("198:1: r_switchExpression : ( 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' | r_orExpression );", 51, 0, input); throw nvae; } - switch (alt29) { + switch (alt51) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:87:4: 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' + // src/org/eclipse/xpand3/parser/Xpand3.g:199:4: 'switch' ( '(' r_orExpression ')' )? ( r_casePart )* 'default' ':' r_orExpression '}' { - match(input,47,FOLLOW_47_in_r_switchExpression494); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:87:13: ( '(' r_orExpression ')' )? - int alt27=2; - int LA27_0 = input.LA(1); + match(input,77,FOLLOW_77_in_r_switchExpression1042); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:199:13: ( '(' r_orExpression ')' )? + int alt49=2; + int LA49_0 = input.LA(1); - if ( (LA27_0==28) ) { - alt27=1; + if ( (LA49_0==30) ) { + alt49=1; } - switch (alt27) { + switch (alt49) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:87:14: '(' r_orExpression ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:199:14: '(' r_orExpression ')' { - match(input,28,FOLLOW_28_in_r_switchExpression497); if (failed) return ; - pushFollow(FOLLOW_r_orExpression_in_r_switchExpression499); + match(input,30,FOLLOW_30_in_r_switchExpression1045); if (failed) return ; + pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1047); r_orExpression(); _fsp--; if (failed) return ; - match(input,31,FOLLOW_31_in_r_switchExpression501); if (failed) return ; + match(input,33,FOLLOW_33_in_r_switchExpression1049); if (failed) return ; } break; } - // src/org/eclipse/xpand3/parser/Xpand3.g:88:2: ( r_casePart )* - loop28: + // src/org/eclipse/xpand3/parser/Xpand3.g:200:2: ( r_casePart )* + loop50: do { - int alt28=2; - int LA28_0 = input.LA(1); + int alt50=2; + int LA50_0 = input.LA(1); - if ( (LA28_0==50) ) { - alt28=1; + if ( (LA50_0==80) ) { + alt50=1; } - switch (alt28) { + switch (alt50) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:88:2: r_casePart + // src/org/eclipse/xpand3/parser/Xpand3.g:200:2: r_casePart { - pushFollow(FOLLOW_r_casePart_in_r_switchExpression506); + pushFollow(FOLLOW_r_casePart_in_r_switchExpression1054); r_casePart(); _fsp--; if (failed) return ; @@ -1313,24 +2621,24 @@ public class Xpand3Parser extends Parser { break; default : - break loop28; + break loop50; } } while (true); - match(input,48,FOLLOW_48_in_r_switchExpression512); if (failed) return ; - match(input,26,FOLLOW_26_in_r_switchExpression514); if (failed) return ; - pushFollow(FOLLOW_r_orExpression_in_r_switchExpression516); + match(input,78,FOLLOW_78_in_r_switchExpression1060); if (failed) return ; + match(input,60,FOLLOW_60_in_r_switchExpression1062); if (failed) return ; + pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1064); r_orExpression(); _fsp--; if (failed) return ; - match(input,49,FOLLOW_49_in_r_switchExpression521); if (failed) return ; + match(input,79,FOLLOW_79_in_r_switchExpression1069); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:91:4: r_orExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:203:4: r_orExpression { - pushFollow(FOLLOW_r_orExpression_in_r_switchExpression526); + pushFollow(FOLLOW_r_orExpression_in_r_switchExpression1074); r_orExpression(); _fsp--; if (failed) return ; @@ -1352,19 +2660,19 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_casePart - // src/org/eclipse/xpand3/parser/Xpand3.g:94:1: r_casePart : 'case' r_expression ':' r_expression ; + // src/org/eclipse/xpand3/parser/Xpand3.g:206:1: r_casePart : 'case' r_expression ':' r_expression ; public void r_casePart() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:95:2: ( 'case' r_expression ':' r_expression ) - // src/org/eclipse/xpand3/parser/Xpand3.g:95:2: 'case' r_expression ':' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:207:2: ( 'case' r_expression ':' r_expression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:207:2: 'case' r_expression ':' r_expression { - match(input,50,FOLLOW_50_in_r_casePart537); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_casePart539); + match(input,80,FOLLOW_80_in_r_casePart1085); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_casePart1087); r_expression(); _fsp--; if (failed) return ; - match(input,26,FOLLOW_26_in_r_casePart541); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_casePart543); + match(input,60,FOLLOW_60_in_r_casePart1089); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_casePart1091); r_expression(); _fsp--; if (failed) return ; @@ -1384,33 +2692,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_orExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:97:1: r_orExpression : r_andExpression ( '||' r_andExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:209:1: r_orExpression : r_andExpression ( '||' r_andExpression )* ; public void r_orExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:98:4: ( r_andExpression ( '||' r_andExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:98:4: r_andExpression ( '||' r_andExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:210:4: ( r_andExpression ( '||' r_andExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:210:4: r_andExpression ( '||' r_andExpression )* { - pushFollow(FOLLOW_r_andExpression_in_r_orExpression555); + pushFollow(FOLLOW_r_andExpression_in_r_orExpression1103); r_andExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:98:21: ( '||' r_andExpression )* - loop30: + // src/org/eclipse/xpand3/parser/Xpand3.g:210:21: ( '||' r_andExpression )* + loop52: do { - int alt30=2; - int LA30_0 = input.LA(1); + int alt52=2; + int LA52_0 = input.LA(1); - if ( (LA30_0==51) ) { - alt30=1; + if ( (LA52_0==81) ) { + alt52=1; } - switch (alt30) { + switch (alt52) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:98:22: '||' r_andExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:210:22: '||' r_andExpression { - match(input,51,FOLLOW_51_in_r_orExpression559); if (failed) return ; - pushFollow(FOLLOW_r_andExpression_in_r_orExpression561); + match(input,81,FOLLOW_81_in_r_orExpression1107); if (failed) return ; + pushFollow(FOLLOW_r_andExpression_in_r_orExpression1109); r_andExpression(); _fsp--; if (failed) return ; @@ -1419,7 +2727,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop30; + break loop52; } } while (true); @@ -1439,33 +2747,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_andExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:101:1: r_andExpression : r_impliesExpression ( '&&' r_impliesExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:213:1: r_andExpression : r_impliesExpression ( '&&' r_impliesExpression )* ; public void r_andExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:102:2: ( r_impliesExpression ( '&&' r_impliesExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:102:2: r_impliesExpression ( '&&' r_impliesExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:214:2: ( r_impliesExpression ( '&&' r_impliesExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:214:2: r_impliesExpression ( '&&' r_impliesExpression )* { - pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression576); + pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression1124); r_impliesExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:102:23: ( '&&' r_impliesExpression )* - loop31: + // src/org/eclipse/xpand3/parser/Xpand3.g:214:23: ( '&&' r_impliesExpression )* + loop53: do { - int alt31=2; - int LA31_0 = input.LA(1); + int alt53=2; + int LA53_0 = input.LA(1); - if ( (LA31_0==52) ) { - alt31=1; + if ( (LA53_0==82) ) { + alt53=1; } - switch (alt31) { + switch (alt53) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:102:24: '&&' r_impliesExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:214:24: '&&' r_impliesExpression { - match(input,52,FOLLOW_52_in_r_andExpression580); if (failed) return ; - pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression582); + match(input,82,FOLLOW_82_in_r_andExpression1128); if (failed) return ; + pushFollow(FOLLOW_r_impliesExpression_in_r_andExpression1130); r_impliesExpression(); _fsp--; if (failed) return ; @@ -1474,7 +2782,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop31; + break loop53; } } while (true); @@ -1494,33 +2802,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_impliesExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:105:1: r_impliesExpression : r_relationalExpression ( 'implies' r_relationalExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:217:1: r_impliesExpression : r_relationalExpression ( 'implies' r_relationalExpression )* ; public void r_impliesExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:106:2: ( r_relationalExpression ( 'implies' r_relationalExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:106:2: r_relationalExpression ( 'implies' r_relationalExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:218:2: ( r_relationalExpression ( 'implies' r_relationalExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:218:2: r_relationalExpression ( 'implies' r_relationalExpression )* { - pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression597); + pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression1145); r_relationalExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:106:26: ( 'implies' r_relationalExpression )* - loop32: + // src/org/eclipse/xpand3/parser/Xpand3.g:218:26: ( 'implies' r_relationalExpression )* + loop54: do { - int alt32=2; - int LA32_0 = input.LA(1); + int alt54=2; + int LA54_0 = input.LA(1); - if ( (LA32_0==53) ) { - alt32=1; + if ( (LA54_0==83) ) { + alt54=1; } - switch (alt32) { + switch (alt54) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:106:27: 'implies' r_relationalExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:218:27: 'implies' r_relationalExpression { - match(input,53,FOLLOW_53_in_r_impliesExpression601); if (failed) return ; - pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression603); + match(input,83,FOLLOW_83_in_r_impliesExpression1149); if (failed) return ; + pushFollow(FOLLOW_r_relationalExpression_in_r_impliesExpression1151); r_relationalExpression(); _fsp--; if (failed) return ; @@ -1529,7 +2837,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop32; + break loop54; } } while (true); @@ -1549,32 +2857,32 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_relationalExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:109:1: r_relationalExpression : r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:221:1: r_relationalExpression : r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* ; public void r_relationalExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:110:2: ( r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:110:2: r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:222:2: ( r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:222:2: r_additiveExpression ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* { - pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression619); + pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression1167); r_additiveExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:111:2: ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* - loop33: + // src/org/eclipse/xpand3/parser/Xpand3.g:223:2: ( ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression )* + loop55: do { - int alt33=2; - int LA33_0 = input.LA(1); + int alt55=2; + int LA55_0 = input.LA(1); - if ( ((LA33_0>=54 && LA33_0<=59)) ) { - alt33=1; + if ( ((LA55_0>=84 && LA55_0<=89)) ) { + alt55=1; } - switch (alt33) { + switch (alt55) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:111:3: ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:223:3: ( '==' | '!=' | '>=' | '<=' | '>' | '<' ) r_additiveExpression { - if ( (input.LA(1)>=54 && input.LA(1)<=59) ) { + if ( (input.LA(1)>=84 && input.LA(1)<=89) ) { input.consume(); errorRecovery=false;failed=false; } @@ -1582,10 +2890,10 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_relationalExpression624); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_relationalExpression1172); throw mse; } - pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression648); + pushFollow(FOLLOW_r_additiveExpression_in_r_relationalExpression1196); r_additiveExpression(); _fsp--; if (failed) return ; @@ -1594,7 +2902,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop33; + break loop55; } } while (true); @@ -1614,32 +2922,41 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_additiveExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:114:1: r_additiveExpression : r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:226:1: r_additiveExpression : r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* ; public void r_additiveExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:115:2: ( r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:115:2: r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:227:2: ( r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:227:2: r_multiplicativeExpression ( ( '+' | '-' ) r_multiplicativeExpression )* { - pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression661); + pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1209); r_multiplicativeExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:116:4: ( ( '+' | '-' ) r_multiplicativeExpression )* - loop34: + // src/org/eclipse/xpand3/parser/Xpand3.g:228:4: ( ( '+' | '-' ) r_multiplicativeExpression )* + loop56: do { - int alt34=2; - int LA34_0 = input.LA(1); + int alt56=2; + int LA56_0 = input.LA(1); + + if ( (LA56_0==35) ) { + int LA56_2 = input.LA(2); + + if ( ((LA56_2>=StringLiteral && LA56_2<=Identifier)||LA56_2==30||LA56_2==35||(LA56_2>=68 && LA56_2<=70)||(LA56_2>=92 && LA56_2<=94)||(LA56_2>=96 && LA56_2<=108)) ) { + alt56=1; + } + - if ( ((LA34_0>=60 && LA34_0<=61)) ) { - alt34=1; + } + else if ( (LA56_0==90) ) { + alt56=1; } - switch (alt34) { + switch (alt56) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:116:5: ( '+' | '-' ) r_multiplicativeExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:228:5: ( '+' | '-' ) r_multiplicativeExpression { - if ( (input.LA(1)>=60 && input.LA(1)<=61) ) { + if ( input.LA(1)==35||input.LA(1)==90 ) { input.consume(); errorRecovery=false;failed=false; } @@ -1647,10 +2964,10 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_additiveExpression668); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_additiveExpression1216); throw mse; } - pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression675); + pushFollow(FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1223); r_multiplicativeExpression(); _fsp--; if (failed) return ; @@ -1659,7 +2976,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop34; + break loop56; } } while (true); @@ -1679,32 +2996,32 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_multiplicativeExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:119:1: r_multiplicativeExpression : r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:231:1: r_multiplicativeExpression : r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* ; public void r_multiplicativeExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:120:2: ( r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:120:2: r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:232:2: ( r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:232:2: r_unaryExpression ( ( '*' | '/' ) r_unaryExpression )* { - pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression688); + pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1236); r_unaryExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:121:2: ( ( '*' | '/' ) r_unaryExpression )* - loop35: + // src/org/eclipse/xpand3/parser/Xpand3.g:233:2: ( ( '*' | '/' ) r_unaryExpression )* + loop57: do { - int alt35=2; - int LA35_0 = input.LA(1); + int alt57=2; + int LA57_0 = input.LA(1); - if ( (LA35_0==30||LA35_0==62) ) { - alt35=1; + if ( (LA57_0==32||LA57_0==91) ) { + alt57=1; } - switch (alt35) { + switch (alt57) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:121:3: ( '*' | '/' ) r_unaryExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:233:3: ( '*' | '/' ) r_unaryExpression { - if ( input.LA(1)==30||input.LA(1)==62 ) { + if ( input.LA(1)==32||input.LA(1)==91 ) { input.consume(); errorRecovery=false;failed=false; } @@ -1712,10 +3029,10 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_multiplicativeExpression693); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_multiplicativeExpression1241); throw mse; } - pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression701); + pushFollow(FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1249); r_unaryExpression(); _fsp--; if (failed) return ; @@ -1724,7 +3041,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop35; + break loop57; } } while (true); @@ -1744,61 +3061,61 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_unaryExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:125:1: r_unaryExpression : ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:237:1: r_unaryExpression : ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression ); public void r_unaryExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:126:2: ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression ) - int alt36=3; + // src/org/eclipse/xpand3/parser/Xpand3.g:238:2: ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression ) + int alt58=3; switch ( input.LA(1) ) { case StringLiteral: case IntLiteral: case Identifier: - case 28: - case 38: - case 39: - case 40: - case 64: - case 65: - case 67: + case 30: case 68: case 69: case 70: - case 71: - case 72: - case 73: - case 74: - case 75: - case 76: - case 77: - case 78: - case 79: + case 93: + case 94: + case 96: + case 97: + case 98: + case 99: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: { - alt36=1; + alt58=1; } break; - case 63: + case 92: { - alt36=2; + alt58=2; } break; - case 61: + case 35: { - alt36=3; + alt58=3; } break; default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("125:1: r_unaryExpression : ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression );", 36, 0, input); + new NoViableAltException("237:1: r_unaryExpression : ( r_infixExpression | '!' r_infixExpression | '-' r_infixExpression );", 58, 0, input); throw nvae; } - switch (alt36) { + switch (alt58) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:126:2: r_infixExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:238:2: r_infixExpression { - pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression715); + pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1263); r_infixExpression(); _fsp--; if (failed) return ; @@ -1806,10 +3123,10 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:127:3: '!' r_infixExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:239:3: '!' r_infixExpression { - match(input,63,FOLLOW_63_in_r_unaryExpression720); if (failed) return ; - pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression722); + match(input,92,FOLLOW_92_in_r_unaryExpression1268); if (failed) return ; + pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1270); r_infixExpression(); _fsp--; if (failed) return ; @@ -1817,10 +3134,10 @@ public class Xpand3Parser extends Parser { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:128:3: '-' r_infixExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:240:3: '-' r_infixExpression { - match(input,61,FOLLOW_61_in_r_unaryExpression727); if (failed) return ; - pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression729); + match(input,35,FOLLOW_35_in_r_unaryExpression1275); if (failed) return ; + pushFollow(FOLLOW_r_infixExpression_in_r_unaryExpression1277); r_infixExpression(); _fsp--; if (failed) return ; @@ -1842,33 +3159,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_infixExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:131:1: r_infixExpression : r_primaryExpression ( '.' r_featureCall )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:243:1: r_infixExpression : r_primaryExpression ( '.' r_featureCall )* ; public void r_infixExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:132:2: ( r_primaryExpression ( '.' r_featureCall )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:132:2: r_primaryExpression ( '.' r_featureCall )* + // src/org/eclipse/xpand3/parser/Xpand3.g:244:2: ( r_primaryExpression ( '.' r_featureCall )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:244:2: r_primaryExpression ( '.' r_featureCall )* { - pushFollow(FOLLOW_r_primaryExpression_in_r_infixExpression740); + pushFollow(FOLLOW_r_primaryExpression_in_r_infixExpression1288); r_primaryExpression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:132:23: ( '.' r_featureCall )* - loop37: + // src/org/eclipse/xpand3/parser/Xpand3.g:244:23: ( '.' r_featureCall )* + loop59: do { - int alt37=2; - int LA37_0 = input.LA(1); + int alt59=2; + int LA59_0 = input.LA(1); - if ( (LA37_0==37) ) { - alt37=1; + if ( (LA59_0==67) ) { + alt59=1; } - switch (alt37) { + switch (alt59) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:132:25: '.' r_featureCall + // src/org/eclipse/xpand3/parser/Xpand3.g:244:25: '.' r_featureCall { - match(input,37,FOLLOW_37_in_r_infixExpression745); if (failed) return ; - pushFollow(FOLLOW_r_featureCall_in_r_infixExpression747); + match(input,67,FOLLOW_67_in_r_infixExpression1293); if (failed) return ; + pushFollow(FOLLOW_r_featureCall_in_r_infixExpression1295); r_featureCall(); _fsp--; if (failed) return ; @@ -1877,7 +3194,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop37; + break loop59; } } while (true); @@ -1897,90 +3214,90 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_primaryExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:135: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:247:1: r_primaryExpression : ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression ); public void r_primaryExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:136:4: ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression ) - int alt38=9; + // src/org/eclipse/xpand3/parser/Xpand3.g:248:4: ( 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: { - alt38=1; + alt60=1; } break; case Identifier: - case 38: - case 39: - case 40: - case 71: - case 72: - case 73: - case 74: - case 75: - case 76: - case 77: - case 78: - case 79: + case 68: + case 69: + case 70: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: { - alt38=2; + alt60=2; } break; - case 68: - case 69: + case 97: + case 98: { - alt38=3; + alt60=3; } break; case IntLiteral: { - alt38=4; + alt60=4; } break; - case 70: + case 99: { - alt38=5; + alt60=5; } break; - case 65: + case 94: { - alt38=6; + alt60=6; } break; - case 67: + case 96: { - alt38=7; + alt60=7; } break; - case 64: + case 93: { - alt38=8; + alt60=8; } break; - case 28: + case 30: { - alt38=9; + alt60=9; } break; default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("135:1: r_primaryExpression : ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression );", 38, 0, input); + new NoViableAltException("247:1: r_primaryExpression : ( StringLiteral | r_featureCall | r_booleanLiteral | r_numberLiteral | r_nullLiteral | r_listLiteral | r_constructorCall | r_globalVarExpression | r_paranthesizedExpression );", 60, 0, input); throw nvae; } - switch (alt38) { + switch (alt60) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:136:4: StringLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:248:4: StringLiteral { - match(input,StringLiteral,FOLLOW_StringLiteral_in_r_primaryExpression765); if (failed) return ; + match(input,StringLiteral,FOLLOW_StringLiteral_in_r_primaryExpression1313); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:137:5: r_featureCall + // src/org/eclipse/xpand3/parser/Xpand3.g:249:5: r_featureCall { - pushFollow(FOLLOW_r_featureCall_in_r_primaryExpression773); + pushFollow(FOLLOW_r_featureCall_in_r_primaryExpression1321); r_featureCall(); _fsp--; if (failed) return ; @@ -1988,9 +3305,9 @@ public class Xpand3Parser extends Parser { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:138:5: r_booleanLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:250:5: r_booleanLiteral { - pushFollow(FOLLOW_r_booleanLiteral_in_r_primaryExpression780); + pushFollow(FOLLOW_r_booleanLiteral_in_r_primaryExpression1328); r_booleanLiteral(); _fsp--; if (failed) return ; @@ -1998,9 +3315,9 @@ public class Xpand3Parser extends Parser { } break; case 4 : - // src/org/eclipse/xpand3/parser/Xpand3.g:139:5: r_numberLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:251:5: r_numberLiteral { - pushFollow(FOLLOW_r_numberLiteral_in_r_primaryExpression787); + pushFollow(FOLLOW_r_numberLiteral_in_r_primaryExpression1335); r_numberLiteral(); _fsp--; if (failed) return ; @@ -2008,9 +3325,9 @@ public class Xpand3Parser extends Parser { } break; case 5 : - // src/org/eclipse/xpand3/parser/Xpand3.g:140:5: r_nullLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:252:5: r_nullLiteral { - pushFollow(FOLLOW_r_nullLiteral_in_r_primaryExpression794); + pushFollow(FOLLOW_r_nullLiteral_in_r_primaryExpression1342); r_nullLiteral(); _fsp--; if (failed) return ; @@ -2018,9 +3335,9 @@ public class Xpand3Parser extends Parser { } break; case 6 : - // src/org/eclipse/xpand3/parser/Xpand3.g:141:5: r_listLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:253:5: r_listLiteral { - pushFollow(FOLLOW_r_listLiteral_in_r_primaryExpression801); + pushFollow(FOLLOW_r_listLiteral_in_r_primaryExpression1349); r_listLiteral(); _fsp--; if (failed) return ; @@ -2028,9 +3345,9 @@ public class Xpand3Parser extends Parser { } break; case 7 : - // src/org/eclipse/xpand3/parser/Xpand3.g:142:5: r_constructorCall + // src/org/eclipse/xpand3/parser/Xpand3.g:254:5: r_constructorCall { - pushFollow(FOLLOW_r_constructorCall_in_r_primaryExpression808); + pushFollow(FOLLOW_r_constructorCall_in_r_primaryExpression1356); r_constructorCall(); _fsp--; if (failed) return ; @@ -2038,9 +3355,9 @@ public class Xpand3Parser extends Parser { } break; case 8 : - // src/org/eclipse/xpand3/parser/Xpand3.g:143:5: r_globalVarExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:255:5: r_globalVarExpression { - pushFollow(FOLLOW_r_globalVarExpression_in_r_primaryExpression815); + pushFollow(FOLLOW_r_globalVarExpression_in_r_primaryExpression1363); r_globalVarExpression(); _fsp--; if (failed) return ; @@ -2048,9 +3365,9 @@ public class Xpand3Parser extends Parser { } break; case 9 : - // src/org/eclipse/xpand3/parser/Xpand3.g:144:5: r_paranthesizedExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:256:5: r_paranthesizedExpression { - pushFollow(FOLLOW_r_paranthesizedExpression_in_r_primaryExpression822); + pushFollow(FOLLOW_r_paranthesizedExpression_in_r_primaryExpression1370); r_paranthesizedExpression(); _fsp--; if (failed) return ; @@ -2072,18 +3389,18 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_paranthesizedExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:147:1: r_paranthesizedExpression : '(' r_expression ')' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:259:1: r_paranthesizedExpression : '(' r_expression ')' ; public void r_paranthesizedExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:148:5: ( '(' r_expression ')' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:148:5: '(' r_expression ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:260:5: ( '(' r_expression ')' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:260:5: '(' r_expression ')' { - match(input,28,FOLLOW_28_in_r_paranthesizedExpression836); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_paranthesizedExpression838); + match(input,30,FOLLOW_30_in_r_paranthesizedExpression1384); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_paranthesizedExpression1386); r_expression(); _fsp--; if (failed) return ; - match(input,31,FOLLOW_31_in_r_paranthesizedExpression840); if (failed) return ; + match(input,33,FOLLOW_33_in_r_paranthesizedExpression1388); if (failed) return ; } @@ -2100,14 +3417,14 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_globalVarExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:151:1: r_globalVarExpression : 'GLOBALVAR' r_identifier ; + // src/org/eclipse/xpand3/parser/Xpand3.g:263:1: r_globalVarExpression : 'GLOBALVAR' r_identifier ; public void r_globalVarExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:152:5: ( 'GLOBALVAR' r_identifier ) - // src/org/eclipse/xpand3/parser/Xpand3.g:152:5: 'GLOBALVAR' r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:264:5: ( 'GLOBALVAR' r_identifier ) + // src/org/eclipse/xpand3/parser/Xpand3.g:264:5: 'GLOBALVAR' r_identifier { - match(input,64,FOLLOW_64_in_r_globalVarExpression855); if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_globalVarExpression857); + match(input,93,FOLLOW_93_in_r_globalVarExpression1403); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_globalVarExpression1405); r_identifier(); _fsp--; if (failed) return ; @@ -2127,80 +3444,80 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_featureCall - // src/org/eclipse/xpand3/parser/Xpand3.g:154:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ); + // src/org/eclipse/xpand3/parser/Xpand3.g:266:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ); public void r_featureCall() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:155:5: ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ) - int alt40=3; + // src/org/eclipse/xpand3/parser/Xpand3.g:267:5: ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression ) + int alt62=3; switch ( input.LA(1) ) { case Identifier: { - int LA40_1 = input.LA(2); + int LA62_1 = input.LA(2); - if ( (LA40_1==EOF||LA40_1==19||(LA40_1>=24 && LA40_1<=26)||(LA40_1>=29 && LA40_1<=32)||LA40_1==37||(LA40_1>=43 && LA40_1<=46)||(LA40_1>=48 && LA40_1<=62)||LA40_1==66) ) { - alt40=2; + if ( (LA62_1==EOF||LA62_1==TEXT||LA62_1==Identifier||LA62_1==27||(LA62_1>=31 && LA62_1<=33)||(LA62_1>=35 && LA62_1<=36)||LA62_1==39||LA62_1==42||(LA62_1>=53 && LA62_1<=55)||(LA62_1>=59 && LA62_1<=60)||LA62_1==62||LA62_1==67||(LA62_1>=73 && LA62_1<=76)||(LA62_1>=78 && LA62_1<=91)||LA62_1==95) ) { + alt62=2; } - else if ( (LA40_1==28) ) { - alt40=1; + else if ( (LA62_1==30) ) { + alt62=1; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("154:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 40, 1, input); + new NoViableAltException("266:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 62, 1, input); throw nvae; } } break; - case 38: - case 39: - case 40: + case 68: + case 69: + case 70: { - alt40=2; + alt62=2; } break; - case 71: - case 72: - case 73: - case 74: - case 75: - case 76: - case 77: - case 78: - case 79: + case 100: + case 101: + case 102: + case 103: + case 104: + case 105: + case 106: + case 107: + case 108: { - alt40=3; + alt62=3; } break; default: if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("154:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 40, 0, input); + new NoViableAltException("266:1: r_featureCall : ( r_identifier '(' ( r_parameterList )? ')' | r_type | r_collectionExpression );", 62, 0, input); throw nvae; } - switch (alt40) { + switch (alt62) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:155:5: r_identifier '(' ( r_parameterList )? ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:267:5: r_identifier '(' ( r_parameterList )? ')' { - pushFollow(FOLLOW_r_identifier_in_r_featureCall871); + pushFollow(FOLLOW_r_identifier_in_r_featureCall1419); r_identifier(); _fsp--; if (failed) return ; - match(input,28,FOLLOW_28_in_r_featureCall873); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:155:22: ( r_parameterList )? - int alt39=2; - int LA39_0 = input.LA(1); + match(input,30,FOLLOW_30_in_r_featureCall1421); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:267:22: ( r_parameterList )? + int alt61=2; + int LA61_0 = input.LA(1); - if ( ((LA39_0>=StringLiteral && LA39_0<=Identifier)||LA39_0==23||LA39_0==28||(LA39_0>=38 && LA39_0<=41)||LA39_0==47||LA39_0==61||(LA39_0>=63 && LA39_0<=65)||(LA39_0>=67 && LA39_0<=79)) ) { - alt39=1; + if ( ((LA61_0>=StringLiteral && LA61_0<=Identifier)||LA61_0==30||LA61_0==35||LA61_0==58||(LA61_0>=68 && LA61_0<=71)||LA61_0==77||(LA61_0>=92 && LA61_0<=94)||(LA61_0>=96 && LA61_0<=108)) ) { + alt61=1; } - switch (alt39) { + switch (alt61) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:155:23: r_parameterList + // src/org/eclipse/xpand3/parser/Xpand3.g:267:23: r_parameterList { - pushFollow(FOLLOW_r_parameterList_in_r_featureCall876); + pushFollow(FOLLOW_r_parameterList_in_r_featureCall1424); r_parameterList(); _fsp--; if (failed) return ; @@ -2210,14 +3527,14 @@ public class Xpand3Parser extends Parser { } - match(input,31,FOLLOW_31_in_r_featureCall880); if (failed) return ; + match(input,33,FOLLOW_33_in_r_featureCall1428); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:156:5: r_type + // src/org/eclipse/xpand3/parser/Xpand3.g:268:5: r_type { - pushFollow(FOLLOW_r_type_in_r_featureCall887); + pushFollow(FOLLOW_r_type_in_r_featureCall1435); r_type(); _fsp--; if (failed) return ; @@ -2225,9 +3542,9 @@ public class Xpand3Parser extends Parser { } break; case 3 : - // src/org/eclipse/xpand3/parser/Xpand3.g:157:5: r_collectionExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:269:5: r_collectionExpression { - pushFollow(FOLLOW_r_collectionExpression_in_r_featureCall895); + pushFollow(FOLLOW_r_collectionExpression_in_r_featureCall1443); r_collectionExpression(); _fsp--; if (failed) return ; @@ -2249,45 +3566,45 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_listLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:160:1: r_listLiteral : '[' ( r_expression ( ',' r_expression )* )? ']' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:272:1: r_listLiteral : '[' ( r_expression ( ',' r_expression )* )? ']' ; public void r_listLiteral() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:161:2: ( '[' ( r_expression ( ',' r_expression )* )? ']' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:161:2: '[' ( r_expression ( ',' r_expression )* )? ']' + // src/org/eclipse/xpand3/parser/Xpand3.g:273:2: ( '[' ( r_expression ( ',' r_expression )* )? ']' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:273:2: '[' ( r_expression ( ',' r_expression )* )? ']' { - match(input,65,FOLLOW_65_in_r_listLiteral907); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:161:5: ( r_expression ( ',' r_expression )* )? - int alt42=2; - int LA42_0 = input.LA(1); + match(input,94,FOLLOW_94_in_r_listLiteral1455); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:273:5: ( r_expression ( ',' r_expression )* )? + int alt64=2; + int LA64_0 = input.LA(1); - if ( ((LA42_0>=StringLiteral && LA42_0<=Identifier)||LA42_0==23||LA42_0==28||(LA42_0>=38 && LA42_0<=41)||LA42_0==47||LA42_0==61||(LA42_0>=63 && LA42_0<=65)||(LA42_0>=67 && LA42_0<=79)) ) { - alt42=1; + if ( ((LA64_0>=StringLiteral && LA64_0<=Identifier)||LA64_0==30||LA64_0==35||LA64_0==58||(LA64_0>=68 && LA64_0<=71)||LA64_0==77||(LA64_0>=92 && LA64_0<=94)||(LA64_0>=96 && LA64_0<=108)) ) { + alt64=1; } - switch (alt42) { + switch (alt64) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:161:6: r_expression ( ',' r_expression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:273:6: r_expression ( ',' r_expression )* { - pushFollow(FOLLOW_r_expression_in_r_listLiteral909); + pushFollow(FOLLOW_r_expression_in_r_listLiteral1457); r_expression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:161:19: ( ',' r_expression )* - loop41: + // src/org/eclipse/xpand3/parser/Xpand3.g:273:19: ( ',' r_expression )* + loop63: do { - int alt41=2; - int LA41_0 = input.LA(1); + int alt63=2; + int LA63_0 = input.LA(1); - if ( (LA41_0==29) ) { - alt41=1; + if ( (LA63_0==31) ) { + alt63=1; } - switch (alt41) { + switch (alt63) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:161:20: ',' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:273:20: ',' r_expression { - match(input,29,FOLLOW_29_in_r_listLiteral912); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_listLiteral914); + match(input,31,FOLLOW_31_in_r_listLiteral1460); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_listLiteral1462); r_expression(); _fsp--; if (failed) return ; @@ -2296,7 +3613,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop41; + break loop63; } } while (true); @@ -2306,7 +3623,7 @@ public class Xpand3Parser extends Parser { } - match(input,66,FOLLOW_66_in_r_listLiteral919); if (failed) return ; + match(input,95,FOLLOW_95_in_r_listLiteral1467); if (failed) return ; } @@ -2323,14 +3640,14 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_constructorCall - // src/org/eclipse/xpand3/parser/Xpand3.g:164:1: r_constructorCall : 'new' r_simpleType ; + // src/org/eclipse/xpand3/parser/Xpand3.g:276:1: r_constructorCall : 'new' r_simpleType ; public void r_constructorCall() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:165:2: ( 'new' r_simpleType ) - // src/org/eclipse/xpand3/parser/Xpand3.g:165:2: 'new' r_simpleType + // src/org/eclipse/xpand3/parser/Xpand3.g:277:2: ( 'new' r_simpleType ) + // src/org/eclipse/xpand3/parser/Xpand3.g:277:2: 'new' r_simpleType { - match(input,67,FOLLOW_67_in_r_constructorCall930); if (failed) return ; - pushFollow(FOLLOW_r_simpleType_in_r_constructorCall932); + match(input,96,FOLLOW_96_in_r_constructorCall1478); if (failed) return ; + pushFollow(FOLLOW_r_simpleType_in_r_constructorCall1480); r_simpleType(); _fsp--; if (failed) return ; @@ -2350,13 +3667,13 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_booleanLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:169:1: r_booleanLiteral : ( 'false' | 'true' ); + // src/org/eclipse/xpand3/parser/Xpand3.g:281:1: r_booleanLiteral : ( 'false' | 'true' ); public void r_booleanLiteral() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:170:2: ( 'false' | 'true' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:282:2: ( 'false' | 'true' ) // src/org/eclipse/xpand3/parser/Xpand3.g: { - if ( (input.LA(1)>=68 && input.LA(1)<=69) ) { + if ( (input.LA(1)>=97 && input.LA(1)<=98) ) { input.consume(); errorRecovery=false;failed=false; } @@ -2383,13 +3700,13 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_nullLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:173:1: r_nullLiteral : 'null' ; + // src/org/eclipse/xpand3/parser/Xpand3.g:285:1: r_nullLiteral : 'null' ; public void r_nullLiteral() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:174:2: ( 'null' ) - // src/org/eclipse/xpand3/parser/Xpand3.g:174:2: 'null' + // src/org/eclipse/xpand3/parser/Xpand3.g:286:2: ( 'null' ) + // src/org/eclipse/xpand3/parser/Xpand3.g:286:2: 'null' { - match(input,70,FOLLOW_70_in_r_nullLiteral958); if (failed) return ; + match(input,99,FOLLOW_99_in_r_nullLiteral1506); if (failed) return ; } @@ -2406,40 +3723,40 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_numberLiteral - // src/org/eclipse/xpand3/parser/Xpand3.g:177:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral ); + // src/org/eclipse/xpand3/parser/Xpand3.g:289:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral ); public void r_numberLiteral() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:178:4: ( IntLiteral | IntLiteral '.' IntLiteral ) - int alt43=2; - int LA43_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:290:4: ( IntLiteral | IntLiteral '.' IntLiteral ) + int alt65=2; + int LA65_0 = input.LA(1); - if ( (LA43_0==IntLiteral) ) { - int LA43_1 = input.LA(2); + if ( (LA65_0==IntLiteral) ) { + int LA65_1 = input.LA(2); - if ( (LA43_1==37) ) { - int LA43_2 = input.LA(3); + if ( (LA65_1==67) ) { + int LA65_2 = input.LA(3); - if ( (LA43_2==IntLiteral) ) { - alt43=2; + if ( (LA65_2==IntLiteral) ) { + alt65=2; } - else if ( (LA43_2==Identifier||(LA43_2>=38 && LA43_2<=40)||(LA43_2>=71 && LA43_2<=79)) ) { - alt43=1; + else if ( (LA65_2==Identifier||(LA65_2>=68 && LA65_2<=70)||(LA65_2>=100 && LA65_2<=108)) ) { + alt65=1; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("177:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 43, 2, input); + new NoViableAltException("289:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 2, input); throw nvae; } } - else if ( (LA43_1==EOF||LA43_1==19||(LA43_1>=24 && LA43_1<=26)||(LA43_1>=29 && LA43_1<=31)||(LA43_1>=43 && LA43_1<=46)||(LA43_1>=48 && LA43_1<=62)||LA43_1==66) ) { - alt43=1; + else if ( (LA65_1==EOF||LA65_1==TEXT||LA65_1==Identifier||LA65_1==27||(LA65_1>=31 && LA65_1<=33)||(LA65_1>=35 && LA65_1<=36)||LA65_1==39||LA65_1==42||(LA65_1>=53 && LA65_1<=55)||(LA65_1>=59 && LA65_1<=60)||(LA65_1>=73 && LA65_1<=76)||(LA65_1>=78 && LA65_1<=91)||LA65_1==95) ) { + alt65=1; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("177:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 43, 1, input); + new NoViableAltException("289:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 1, input); throw nvae; } @@ -2447,24 +3764,24 @@ public class Xpand3Parser extends Parser { else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("177:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 43, 0, input); + new NoViableAltException("289:1: r_numberLiteral : ( IntLiteral | IntLiteral '.' IntLiteral );", 65, 0, input); throw nvae; } - switch (alt43) { + switch (alt65) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:178:4: IntLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:290:4: IntLiteral { - match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral971); if (failed) return ; + match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1519); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:179:4: IntLiteral '.' IntLiteral + // src/org/eclipse/xpand3/parser/Xpand3.g:291:4: IntLiteral '.' IntLiteral { - match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral977); if (failed) return ; - match(input,37,FOLLOW_37_in_r_numberLiteral979); if (failed) return ; - match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral981); if (failed) return ; + match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1525); if (failed) return ; + match(input,67,FOLLOW_67_in_r_numberLiteral1527); if (failed) return ; + match(input,IntLiteral,FOLLOW_IntLiteral_in_r_numberLiteral1529); if (failed) return ; } break; @@ -2483,44 +3800,44 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_collectionExpression - // src/org/eclipse/xpand3/parser/Xpand3.g:182: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:294:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ); public void r_collectionExpression() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:183:3: ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ) - int alt45=2; - int LA45_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:295:3: ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' ) + int alt67=2; + int LA67_0 = input.LA(1); - if ( (LA45_0==71) ) { - alt45=1; + if ( (LA67_0==100) ) { + alt67=1; } - else if ( ((LA45_0>=72 && LA45_0<=79)) ) { - alt45=2; + else if ( ((LA67_0>=101 && LA67_0<=108)) ) { + alt67=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("182:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' );", 45, 0, input); + new NoViableAltException("294:1: r_collectionExpression : ( 'typeSelect' '(' r_type ')' | ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' );", 67, 0, input); throw nvae; } - switch (alt45) { + switch (alt67) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:183:3: 'typeSelect' '(' r_type ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:295:3: 'typeSelect' '(' r_type ')' { - match(input,71,FOLLOW_71_in_r_collectionExpression994); if (failed) return ; - match(input,28,FOLLOW_28_in_r_collectionExpression998); if (failed) return ; - pushFollow(FOLLOW_r_type_in_r_collectionExpression1000); + match(input,100,FOLLOW_100_in_r_collectionExpression1542); if (failed) return ; + match(input,30,FOLLOW_30_in_r_collectionExpression1546); if (failed) return ; + pushFollow(FOLLOW_r_type_in_r_collectionExpression1548); r_type(); _fsp--; if (failed) return ; - match(input,31,FOLLOW_31_in_r_collectionExpression1002); if (failed) return ; + match(input,33,FOLLOW_33_in_r_collectionExpression1550); if (failed) return ; } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:186:4: ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' + // src/org/eclipse/xpand3/parser/Xpand3.g:298:4: ( 'collect' | 'select' | 'selectFirst' | 'reject' | 'exists' | 'notExists' | 'sortBy' | 'forAll' ) '(' ( r_identifier '|' )? r_expression ')' { - if ( (input.LA(1)>=72 && input.LA(1)<=79) ) { + if ( (input.LA(1)>=101 && input.LA(1)<=108) ) { input.consume(); errorRecovery=false;failed=false; } @@ -2528,41 +3845,41 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionExpression1011); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionExpression1559); throw mse; } - match(input,28,FOLLOW_28_in_r_collectionExpression1061); if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:193:19: ( r_identifier '|' )? - int alt44=2; - int LA44_0 = input.LA(1); + match(input,30,FOLLOW_30_in_r_collectionExpression1609); if (failed) return ; + // src/org/eclipse/xpand3/parser/Xpand3.g:305:19: ( r_identifier '|' )? + int alt66=2; + int LA66_0 = input.LA(1); - if ( (LA44_0==Identifier) ) { - int LA44_1 = input.LA(2); + if ( (LA66_0==Identifier) ) { + int LA66_1 = input.LA(2); - if ( (LA44_1==80) ) { - alt44=1; + if ( (LA66_1==109) ) { + alt66=1; } } - switch (alt44) { + switch (alt66) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:193:20: r_identifier '|' + // src/org/eclipse/xpand3/parser/Xpand3.g:305:20: r_identifier '|' { - pushFollow(FOLLOW_r_identifier_in_r_collectionExpression1064); + pushFollow(FOLLOW_r_identifier_in_r_collectionExpression1612); r_identifier(); _fsp--; if (failed) return ; - match(input,80,FOLLOW_80_in_r_collectionExpression1066); if (failed) return ; + match(input,109,FOLLOW_109_in_r_collectionExpression1614); if (failed) return ; } break; } - pushFollow(FOLLOW_r_expression_in_r_collectionExpression1070); + pushFollow(FOLLOW_r_expression_in_r_collectionExpression1618); r_expression(); _fsp--; if (failed) return ; - match(input,31,FOLLOW_31_in_r_collectionExpression1072); if (failed) return ; + match(input,33,FOLLOW_33_in_r_collectionExpression1620); if (failed) return ; } break; @@ -2581,39 +3898,39 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_declaredParameterList - // src/org/eclipse/xpand3/parser/Xpand3.g:199:1: r_declaredParameterList : r_declaredParameter ( ',' r_declaredParameter )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:311:1: r_declaredParameterList : r_declaredParameter ( ',' r_declaredParameter )* ; public void r_declaredParameterList() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:200:2: ( r_declaredParameter ( ',' r_declaredParameter )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:200:2: r_declaredParameter ( ',' r_declaredParameter )* + // src/org/eclipse/xpand3/parser/Xpand3.g:312:2: ( r_declaredParameter ( ',' r_declaredParameter )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:312:2: r_declaredParameter ( ',' r_declaredParameter )* { - pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1089); + pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1637); r_declaredParameter(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:200:22: ( ',' r_declaredParameter )* - loop46: + // src/org/eclipse/xpand3/parser/Xpand3.g:312:22: ( ',' r_declaredParameter )* + loop68: do { - int alt46=2; - int LA46_0 = input.LA(1); + int alt68=2; + int LA68_0 = input.LA(1); - if ( (LA46_0==29) ) { - int LA46_1 = input.LA(2); + if ( (LA68_0==31) ) { + int LA68_1 = input.LA(2); - if ( (LA46_1==Identifier||(LA46_1>=38 && LA46_1<=40)) ) { - alt46=1; + if ( (LA68_1==Identifier||(LA68_1>=68 && LA68_1<=70)) ) { + alt68=1; } } - switch (alt46) { + switch (alt68) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:200:23: ',' r_declaredParameter + // src/org/eclipse/xpand3/parser/Xpand3.g:312:23: ',' r_declaredParameter { - match(input,29,FOLLOW_29_in_r_declaredParameterList1092); if (failed) return ; - pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1094); + match(input,31,FOLLOW_31_in_r_declaredParameterList1640); if (failed) return ; + pushFollow(FOLLOW_r_declaredParameter_in_r_declaredParameterList1642); r_declaredParameter(); _fsp--; if (failed) return ; @@ -2622,7 +3939,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop46; + break loop68; } } while (true); @@ -2642,17 +3959,17 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_declaredParameter - // src/org/eclipse/xpand3/parser/Xpand3.g:203:1: r_declaredParameter : r_type r_identifier ; + // src/org/eclipse/xpand3/parser/Xpand3.g:315:1: r_declaredParameter : r_type r_identifier ; public void r_declaredParameter() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:204:2: ( r_type r_identifier ) - // src/org/eclipse/xpand3/parser/Xpand3.g:204:2: r_type r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:316:2: ( r_type r_identifier ) + // src/org/eclipse/xpand3/parser/Xpand3.g:316:2: r_type r_identifier { - pushFollow(FOLLOW_r_type_in_r_declaredParameter1107); + pushFollow(FOLLOW_r_type_in_r_declaredParameter1655); r_type(); _fsp--; if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_declaredParameter1109); + pushFollow(FOLLOW_r_identifier_in_r_declaredParameter1657); r_identifier(); _fsp--; if (failed) return ; @@ -2672,33 +3989,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_parameterList - // src/org/eclipse/xpand3/parser/Xpand3.g:207:1: r_parameterList : r_expression ( ',' r_expression )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:319:1: r_parameterList : r_expression ( ',' r_expression )* ; public void r_parameterList() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:208:5: ( r_expression ( ',' r_expression )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:208:5: r_expression ( ',' r_expression )* + // src/org/eclipse/xpand3/parser/Xpand3.g:320:5: ( r_expression ( ',' r_expression )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:320:5: r_expression ( ',' r_expression )* { - pushFollow(FOLLOW_r_expression_in_r_parameterList1124); + pushFollow(FOLLOW_r_expression_in_r_parameterList1672); r_expression(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:208:19: ( ',' r_expression )* - loop47: + // src/org/eclipse/xpand3/parser/Xpand3.g:320:19: ( ',' r_expression )* + loop69: do { - int alt47=2; - int LA47_0 = input.LA(1); + int alt69=2; + int LA69_0 = input.LA(1); - if ( (LA47_0==29) ) { - alt47=1; + if ( (LA69_0==31) ) { + alt69=1; } - switch (alt47) { + switch (alt69) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:208:20: ',' r_expression + // src/org/eclipse/xpand3/parser/Xpand3.g:320:20: ',' r_expression { - match(input,29,FOLLOW_29_in_r_parameterList1128); if (failed) return ; - pushFollow(FOLLOW_r_expression_in_r_parameterList1130); + match(input,31,FOLLOW_31_in_r_parameterList1676); if (failed) return ; + pushFollow(FOLLOW_r_expression_in_r_parameterList1678); r_expression(); _fsp--; if (failed) return ; @@ -2707,7 +4024,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop47; + break loop69; } } while (true); @@ -2727,31 +4044,31 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_type - // src/org/eclipse/xpand3/parser/Xpand3.g:213:1: r_type : ( r_collectionType | r_simpleType ); + // src/org/eclipse/xpand3/parser/Xpand3.g:325:1: r_type : ( r_collectionType | r_simpleType ); public void r_type() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:214:2: ( r_collectionType | r_simpleType ) - int alt48=2; - int LA48_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:326:2: ( r_collectionType | r_simpleType ) + int alt70=2; + int LA70_0 = input.LA(1); - if ( ((LA48_0>=38 && LA48_0<=40)) ) { - alt48=1; + if ( ((LA70_0>=68 && LA70_0<=70)) ) { + alt70=1; } - else if ( (LA48_0==Identifier) ) { - alt48=2; + else if ( (LA70_0==Identifier) ) { + alt70=2; } else { if (backtracking>0) {failed=true; return ;} NoViableAltException nvae = - new NoViableAltException("213:1: r_type : ( r_collectionType | r_simpleType );", 48, 0, input); + new NoViableAltException("325:1: r_type : ( r_collectionType | r_simpleType );", 70, 0, input); throw nvae; } - switch (alt48) { + switch (alt70) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:214:2: r_collectionType + // src/org/eclipse/xpand3/parser/Xpand3.g:326:2: r_collectionType { - pushFollow(FOLLOW_r_collectionType_in_r_type1147); + pushFollow(FOLLOW_r_collectionType_in_r_type1695); r_collectionType(); _fsp--; if (failed) return ; @@ -2759,9 +4076,9 @@ public class Xpand3Parser extends Parser { } break; case 2 : - // src/org/eclipse/xpand3/parser/Xpand3.g:215:2: r_simpleType + // src/org/eclipse/xpand3/parser/Xpand3.g:327:2: r_simpleType { - pushFollow(FOLLOW_r_simpleType_in_r_type1152); + pushFollow(FOLLOW_r_simpleType_in_r_type1700); r_simpleType(); _fsp--; if (failed) return ; @@ -2783,13 +4100,13 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_collectionType - // src/org/eclipse/xpand3/parser/Xpand3.g:218:1: r_collectionType : ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ; + // src/org/eclipse/xpand3/parser/Xpand3.g:330:1: r_collectionType : ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ; public void r_collectionType() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:219:3: ( ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ) - // src/org/eclipse/xpand3/parser/Xpand3.g:219:3: ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? + // src/org/eclipse/xpand3/parser/Xpand3.g:331:3: ( ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? ) + // src/org/eclipse/xpand3/parser/Xpand3.g:331:3: ( 'Collection' | 'List' | 'Set' ) ( '[' r_simpleType ']' )? { - if ( (input.LA(1)>=38 && input.LA(1)<=40) ) { + if ( (input.LA(1)>=68 && input.LA(1)<=70) ) { input.consume(); errorRecovery=false;failed=false; } @@ -2797,26 +4114,26 @@ public class Xpand3Parser extends Parser { if (backtracking>0) {failed=true; return ;} MismatchedSetException mse = new MismatchedSetException(null,input); - recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionType1167); throw mse; + recoverFromMismatchedSet(input,mse,FOLLOW_set_in_r_collectionType1715); throw mse; } - // src/org/eclipse/xpand3/parser/Xpand3.g:220:3: ( '[' r_simpleType ']' )? - int alt49=2; - int LA49_0 = input.LA(1); + // src/org/eclipse/xpand3/parser/Xpand3.g:332:3: ( '[' r_simpleType ']' )? + int alt71=2; + int LA71_0 = input.LA(1); - if ( (LA49_0==65) ) { - alt49=1; + if ( (LA71_0==94) ) { + alt71=1; } - switch (alt49) { + switch (alt71) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:220:4: '[' r_simpleType ']' + // src/org/eclipse/xpand3/parser/Xpand3.g:332:4: '[' r_simpleType ']' { - match(input,65,FOLLOW_65_in_r_collectionType1185); if (failed) return ; - pushFollow(FOLLOW_r_simpleType_in_r_collectionType1187); + match(input,94,FOLLOW_94_in_r_collectionType1733); if (failed) return ; + pushFollow(FOLLOW_r_simpleType_in_r_collectionType1735); r_simpleType(); _fsp--; if (failed) return ; - match(input,66,FOLLOW_66_in_r_collectionType1189); if (failed) return ; + match(input,95,FOLLOW_95_in_r_collectionType1737); if (failed) return ; } break; @@ -2839,33 +4156,33 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_simpleType - // src/org/eclipse/xpand3/parser/Xpand3.g:223:1: r_simpleType : r_identifier ( '::' r_identifier )* ; + // src/org/eclipse/xpand3/parser/Xpand3.g:335:1: r_simpleType : r_identifier ( '::' r_identifier )* ; public void r_simpleType() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:224:2: ( r_identifier ( '::' r_identifier )* ) - // src/org/eclipse/xpand3/parser/Xpand3.g:224:2: r_identifier ( '::' r_identifier )* + // src/org/eclipse/xpand3/parser/Xpand3.g:336:2: ( r_identifier ( '::' r_identifier )* ) + // src/org/eclipse/xpand3/parser/Xpand3.g:336:2: r_identifier ( '::' r_identifier )* { - pushFollow(FOLLOW_r_identifier_in_r_simpleType1202); + pushFollow(FOLLOW_r_identifier_in_r_simpleType1750); r_identifier(); _fsp--; if (failed) return ; - // src/org/eclipse/xpand3/parser/Xpand3.g:225:2: ( '::' r_identifier )* - loop50: + // src/org/eclipse/xpand3/parser/Xpand3.g:337:2: ( '::' r_identifier )* + loop72: do { - int alt50=2; - int LA50_0 = input.LA(1); + int alt72=2; + int LA72_0 = input.LA(1); - if ( (LA50_0==32) ) { - alt50=1; + if ( (LA72_0==62) ) { + alt72=1; } - switch (alt50) { + switch (alt72) { case 1 : - // src/org/eclipse/xpand3/parser/Xpand3.g:225:3: '::' r_identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:337:3: '::' r_identifier { - match(input,32,FOLLOW_32_in_r_simpleType1207); if (failed) return ; - pushFollow(FOLLOW_r_identifier_in_r_simpleType1209); + match(input,62,FOLLOW_62_in_r_simpleType1755); if (failed) return ; + pushFollow(FOLLOW_r_identifier_in_r_simpleType1757); r_identifier(); _fsp--; if (failed) return ; @@ -2874,7 +4191,7 @@ public class Xpand3Parser extends Parser { break; default : - break loop50; + break loop72; } } while (true); @@ -2894,13 +4211,13 @@ public class Xpand3Parser extends Parser { // $ANTLR start r_identifier - // src/org/eclipse/xpand3/parser/Xpand3.g:228:1: r_identifier : Identifier ; + // src/org/eclipse/xpand3/parser/Xpand3.g:340:1: r_identifier : Identifier ; public void r_identifier() throws RecognitionException { try { - // src/org/eclipse/xpand3/parser/Xpand3.g:229:4: ( Identifier ) - // src/org/eclipse/xpand3/parser/Xpand3.g:229:4: Identifier + // src/org/eclipse/xpand3/parser/Xpand3.g:341:4: ( Identifier ) + // src/org/eclipse/xpand3/parser/Xpand3.g:341:4: Identifier { - match(input,Identifier,FOLLOW_Identifier_in_r_identifier1225); if (failed) return ; + match(input,Identifier,FOLLOW_Identifier_in_r_identifier1773); if (failed) return ; } @@ -2917,16 +4234,16 @@ public class Xpand3Parser extends Parser { // $ANTLR start synpred1 public void synpred1_fragment() throws RecognitionException { - // src/org/eclipse/xpand3/parser/Xpand3.g:72:5: ( '(' r_type ')' r_castedExpression ) - // src/org/eclipse/xpand3/parser/Xpand3.g:72:6: '(' r_type ')' r_castedExpression + // src/org/eclipse/xpand3/parser/Xpand3.g:184:5: ( '(' r_type ')' r_castedExpression ) + // src/org/eclipse/xpand3/parser/Xpand3.g:184:6: '(' r_type ')' r_castedExpression { - match(input,28,FOLLOW_28_in_synpred1395); if (failed) return ; - pushFollow(FOLLOW_r_type_in_synpred1397); + match(input,30,FOLLOW_30_in_synpred1943); if (failed) return ; + pushFollow(FOLLOW_r_type_in_synpred1945); r_type(); _fsp--; if (failed) return ; - match(input,31,FOLLOW_31_in_synpred1399); if (failed) return ; - pushFollow(FOLLOW_r_castedExpression_in_synpred1401); + match(input,33,FOLLOW_33_in_synpred1947); if (failed) return ; + pushFollow(FOLLOW_r_castedExpression_in_synpred1949); r_castedExpression(); _fsp--; if (failed) return ; @@ -2951,44 +4268,44 @@ public class Xpand3Parser extends Parser { } - protected DFA22 dfa22 = new DFA22(this); - static final String DFA22_eotS = + protected DFA44 dfa44 = new DFA44(this); + static final String DFA44_eotS = "\67\uffff"; - static final String DFA22_eofS = + static final String DFA44_eofS = "\6\uffff\1\2\60\uffff"; - static final String DFA22_minS = - "\2\4\1\uffff\1\34\1\36\1\6\1\4\1\6\1\36\1\4\17\uffff\1\40\3\0\2"+ - "\34\4\0\2\6\1\0\1\6\1\36\1\6\3\0\1\40\2\37\1\6\1\0\1\6\1\40\1\37"+ - "\1\6\1\37\1\40"; - static final String DFA22_maxS = - "\2\117\1\uffff\1\76\1\101\1\6\1\117\1\6\1\76\1\117\17\uffff\1\102"+ - "\3\0\2\34\4\0\2\6\1\0\1\6\1\76\1\50\3\0\1\102\1\101\1\40\1\6\1\0"+ - "\1\6\1\102\1\40\1\6\1\37\1\102"; - static final String DFA22_acceptS = - "\2\uffff\1\2\7\uffff\17\1\36\uffff"; - static final String DFA22_specialS = - "\6\uffff\1\10\23\uffff\1\7\1\14\1\0\2\uffff\1\3\1\1\1\11\1\13\2"+ - "\uffff\1\4\3\uffff\1\5\1\2\1\6\4\uffff\1\12\6\uffff}>"; - static final String[] DFA22_transitionS = { - "\3\2\20\uffff\1\2\4\uffff\1\1\11\uffff\3\2\6\uffff\1\2\15\uffff"+ - "\1\2\1\uffff\3\2\1\uffff\15\2", - "\2\2\1\3\20\uffff\1\2\4\uffff\1\2\11\uffff\3\4\1\2\5\uffff\1"+ - "\2\15\uffff\1\2\1\uffff\3\2\1\uffff\15\2", + static final String DFA44_minS = + "\2\13\1\uffff\1\40\1\36\1\15\1\12\1\15\1\76\2\uffff\1\0\13\uffff"+ + "\1\12\1\uffff\1\40\1\15\1\40\3\0\2\36\4\0\2\15\1\0\1\76\1\15\3\0"+ + "\2\41\1\15\1\0\1\15\1\76\1\41\1\15\1\41\1\76"; + static final String DFA44_maxS = + "\2\154\1\uffff\1\136\1\133\1\15\1\154\1\15\1\137\2\uffff\1\0\13"+ + "\uffff\1\154\1\uffff\1\133\1\15\1\133\3\0\2\36\4\0\2\15\1\0\1\137"+ + "\1\106\3\0\1\136\1\76\1\15\1\0\1\15\1\137\1\76\1\15\1\41\1\137"; + static final String DFA44_acceptS = + "\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\10\4\uffff\1\13\20\uffff\1\4\1\3\1\15\2\uffff\1\7\1\14"+ + "\1\5\1\0\2\uffff\1\6\2\uffff\1\2\1\1\1\11\3\uffff\1\12\6\uffff}>"; + static final String[] DFA44_transitionS = { + "\3\2\20\uffff\1\1\4\uffff\1\2\26\uffff\1\2\11\uffff\3\2\6\uffff"+ + "\1\2\16\uffff\3\2\1\uffff\15\2", + "\2\2\1\4\20\uffff\1\2\4\uffff\1\2\26\uffff\1\2\11\uffff\3\3"+ + "\1\2\5\uffff\1\2\16\uffff\3\2\1\uffff\15\2", "", - "\1\2\1\uffff\1\2\1\6\1\5\4\uffff\1\2\5\uffff\2\2\6\uffff\14"+ - "\2", - "\1\2\1\6\5\uffff\1\2\5\uffff\2\2\6\uffff\14\2\2\uffff\1\7", + "\1\2\1\6\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\6\uffff\13\2\2"+ + "\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\6\uffff\13\2", "\1\10", - "\1\13\1\21\1\14\14\uffff\1\2\3\uffff\1\30\3\2\1\uffff\1\26\3"+ - "\2\5\uffff\1\2\3\15\2\uffff\3\2\1\uffff\1\12\1\2\1\uffff\13"+ - "\2\1\11\1\2\1\27\1\25\1\23\1\2\1\24\2\20\1\22\1\16\10\17", + "\1\2\1\12\1\20\1\13\15\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\2\1\uffff\14"+ + "\2\1\26\1\24\1\22\1\2\1\23\2\17\1\21\1\15\10\16", "\1\31", - "\1\2\1\6\1\5\4\uffff\1\2\5\uffff\2\2\6\uffff\14\2", - "\1\32\1\40\1\33\25\uffff\1\45\11\uffff\3\34\24\uffff\1\2\1\uffff"+ - "\1\2\1\44\1\42\1\uffff\1\43\2\37\1\41\1\35\10\36", - "", + "\1\32\40\uffff\1\33", "", "", + "\1\uffff", "", "", "", @@ -3000,79 +4317,82 @@ public class Xpand3Parser extends Parser { "", "", "", + "\1\2\1\34\1\42\1\35\20\uffff\1\47\4\uffff\1\2\40\uffff\3\36"+ + "\25\uffff\1\2\1\46\1\44\1\uffff\1\45\2\41\1\43\1\37\10\40", "", - "\1\46\41\uffff\1\47", + "\1\2\1\6\1\uffff\1\2\32\uffff\1\7\4\uffff\1\2\5\uffff\2\2\6"+ + "\uffff\13\2", + "\1\50", + "\1\2\1\6\1\uffff\1\2\37\uffff\1\2\5\uffff\2\2\6\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\5\uffff\1\2\5\uffff\2\2\6\uffff\14\2", - "\1\56\37\uffff\3\55", + "\1\uffff", + "\1\32\40\uffff\1\33", + "\1\56\66\uffff\3\55", "\1\uffff", "\1\uffff", "\1\uffff", - "\1\46\41\uffff\1\47", - "\1\60\41\uffff\1\57", - "\1\60\1\61", + "\1\60\74\uffff\1\57", + "\1\60\34\uffff\1\61", "\1\62", "\1\uffff", "\1\63", - "\1\64\41\uffff\1\65", - "\1\60\1\61", + "\1\64\40\uffff\1\65", + "\1\60\34\uffff\1\61", "\1\66", "\1\60", - "\1\64\41\uffff\1\65" + "\1\64\40\uffff\1\65" }; - static final short[] DFA22_eot = DFA.unpackEncodedString(DFA22_eotS); - static final short[] DFA22_eof = DFA.unpackEncodedString(DFA22_eofS); - static final char[] DFA22_min = DFA.unpackEncodedStringToUnsignedChars(DFA22_minS); - static final char[] DFA22_max = DFA.unpackEncodedStringToUnsignedChars(DFA22_maxS); - static final short[] DFA22_accept = DFA.unpackEncodedString(DFA22_acceptS); - static final short[] DFA22_special = DFA.unpackEncodedString(DFA22_specialS); - static final short[][] DFA22_transition; + static final short[] DFA44_eot = DFA.unpackEncodedString(DFA44_eotS); + static final short[] DFA44_eof = DFA.unpackEncodedString(DFA44_eofS); + static final char[] DFA44_min = DFA.unpackEncodedStringToUnsignedChars(DFA44_minS); + static final char[] DFA44_max = DFA.unpackEncodedStringToUnsignedChars(DFA44_maxS); + static final short[] DFA44_accept = DFA.unpackEncodedString(DFA44_acceptS); + static final short[] DFA44_special = DFA.unpackEncodedString(DFA44_specialS); + static final short[][] DFA44_transition; static { - int numStates = DFA22_transitionS.length; - DFA22_transition = new short[numStates][]; + int numStates = DFA44_transitionS.length; + DFA44_transition = new short[numStates][]; for (int i=0; i<numStates; i++) { - DFA22_transition[i] = DFA.unpackEncodedString(DFA22_transitionS[i]); + DFA44_transition[i] = DFA.unpackEncodedString(DFA44_transitionS[i]); } } - class DFA22 extends DFA { + class DFA44 extends DFA { - public DFA22(BaseRecognizer recognizer) { + public DFA44(BaseRecognizer recognizer) { this.recognizer = recognizer; - this.decisionNumber = 22; - this.eot = DFA22_eot; - this.eof = DFA22_eof; - this.min = DFA22_min; - this.max = DFA22_max; - this.accept = DFA22_accept; - this.special = DFA22_special; - this.transition = DFA22_transition; + this.decisionNumber = 44; + this.eot = DFA44_eot; + this.eof = DFA44_eof; + this.min = DFA44_min; + this.max = DFA44_max; + this.accept = DFA44_accept; + this.special = DFA44_special; + this.transition = DFA44_transition; } public String getDescription() { - return "71:1: r_castedExpression : ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression );"; + return "183:1: r_castedExpression : ( ( '(' r_type ')' r_castedExpression )=> '(' r_type ')' r_chainExpression | r_chainExpression );"; } public int specialStateTransition(int s, IntStream input) throws NoViableAltException { int _s = s; switch ( s ) { case 0 : - int LA22_28 = input.LA(1); + int LA44_36 = input.LA(1); - int index22_28 = input.index(); + int index44_36 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3080,14 +4400,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_28); + input.seek(index44_36); if ( s>=0 ) return s; break; case 1 : - int LA22_32 = input.LA(1); + int LA44_43 = input.LA(1); - int index22_32 = input.index(); + int index44_43 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3095,14 +4415,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_32); + input.seek(index44_43); if ( s>=0 ) return s; break; case 2 : - int LA22_42 = input.LA(1); + int LA44_42 = input.LA(1); - int index22_42 = input.index(); + int index44_42 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3110,14 +4430,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_42); + input.seek(index44_42); if ( s>=0 ) return s; break; case 3 : - int LA22_31 = input.LA(1); + int LA44_29 = input.LA(1); - int index22_31 = input.index(); + int index44_29 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3125,14 +4445,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_31); + input.seek(index44_29); if ( s>=0 ) return s; break; case 4 : - int LA22_37 = input.LA(1); + int LA44_28 = input.LA(1); - int index22_37 = input.index(); + int index44_28 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3140,14 +4460,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_37); + input.seek(index44_28); if ( s>=0 ) return s; break; case 5 : - int LA22_41 = input.LA(1); + int LA44_35 = input.LA(1); - int index22_41 = input.index(); + int index44_35 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3155,14 +4475,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_41); + input.seek(index44_35); if ( s>=0 ) return s; break; case 6 : - int LA22_43 = input.LA(1); + int LA44_39 = input.LA(1); - int index22_43 = input.index(); + int index44_39 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3170,14 +4490,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_43); + input.seek(index44_39); if ( s>=0 ) return s; break; case 7 : - int LA22_26 = input.LA(1); + int LA44_33 = input.LA(1); - int index22_26 = input.index(); + int index44_33 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3185,59 +4505,59 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_26); + input.seek(index44_33); if ( s>=0 ) return s; break; case 8 : - int LA22_6 = input.LA(1); + int LA44_6 = input.LA(1); - int index22_6 = input.index(); + int index44_6 = input.index(); input.rewind(); s = -1; - if ( (LA22_6==EOF||LA22_6==19||(LA22_6>=24 && LA22_6<=26)||(LA22_6>=29 && LA22_6<=31)||LA22_6==37||(LA22_6>=43 && LA22_6<=45)||LA22_6==48||(LA22_6>=50 && LA22_6<=60)||LA22_6==62||LA22_6==66) ) {s = 2;} + if ( (LA44_6==77) && (synpred1())) {s = 9;} - else if ( (LA22_6==61) ) {s = 9;} + else if ( (LA44_6==StringLiteral) && (synpred1())) {s = 10;} - else if ( (LA22_6==47) && (synpred1())) {s = 10;} + else if ( (LA44_6==Identifier) ) {s = 11;} - else if ( (LA22_6==StringLiteral) && (synpred1())) {s = 11;} + else if ( ((LA44_6>=68 && LA44_6<=70)) && (synpred1())) {s = 12;} - else if ( (LA22_6==Identifier) && (synpred1())) {s = 12;} + else if ( (LA44_6==100) && (synpred1())) {s = 13;} - else if ( ((LA22_6>=38 && LA22_6<=40)) && (synpred1())) {s = 13;} + else if ( ((LA44_6>=101 && LA44_6<=108)) && (synpred1())) {s = 14;} - else if ( (LA22_6==71) && (synpred1())) {s = 14;} + else if ( ((LA44_6>=97 && LA44_6<=98)) && (synpred1())) {s = 15;} - else if ( ((LA22_6>=72 && LA22_6<=79)) && (synpred1())) {s = 15;} + else if ( (LA44_6==IntLiteral) && (synpred1())) {s = 16;} - else if ( ((LA22_6>=68 && LA22_6<=69)) && (synpred1())) {s = 16;} + else if ( (LA44_6==99) && (synpred1())) {s = 17;} - else if ( (LA22_6==IntLiteral) && (synpred1())) {s = 17;} + else if ( (LA44_6==94) && (synpred1())) {s = 18;} - else if ( (LA22_6==70) && (synpred1())) {s = 18;} + else if ( (LA44_6==96) && (synpred1())) {s = 19;} - else if ( (LA22_6==65) && (synpred1())) {s = 19;} + else if ( (LA44_6==93) && (synpred1())) {s = 20;} - else if ( (LA22_6==67) && (synpred1())) {s = 20;} + else if ( (LA44_6==30) && (synpred1())) {s = 21;} - else if ( (LA22_6==64) && (synpred1())) {s = 21;} + else if ( (LA44_6==92) && (synpred1())) {s = 22;} - else if ( (LA22_6==28) && (synpred1())) {s = 22;} + else if ( (LA44_6==35) ) {s = 23;} - else if ( (LA22_6==63) && (synpred1())) {s = 23;} + else if ( (LA44_6==58) && (synpred1())) {s = 24;} - else if ( (LA22_6==23) && (synpred1())) {s = 24;} + else if ( (LA44_6==EOF||LA44_6==TEXT||LA44_6==27||(LA44_6>=31 && LA44_6<=33)||LA44_6==36||LA44_6==39||LA44_6==42||(LA44_6>=53 && LA44_6<=55)||(LA44_6>=59 && LA44_6<=60)||LA44_6==67||(LA44_6>=73 && LA44_6<=75)||LA44_6==78||(LA44_6>=80 && LA44_6<=91)||LA44_6==95) ) {s = 2;} - input.seek(index22_6); + input.seek(index44_6); if ( s>=0 ) return s; break; case 9 : - int LA22_33 = input.LA(1); + int LA44_44 = input.LA(1); - int index22_33 = input.index(); + int index44_44 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3245,14 +4565,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_33); + input.seek(index44_44); if ( s>=0 ) return s; break; case 10 : - int LA22_48 = input.LA(1); + int LA44_48 = input.LA(1); - int index22_48 = input.index(); + int index44_48 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3260,14 +4580,14 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_48); + input.seek(index44_48); if ( s>=0 ) return s; break; case 11 : - int LA22_34 = input.LA(1); + int LA44_11 = input.LA(1); - int index22_34 = input.index(); + int index44_11 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3275,14 +4595,29 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_34); + input.seek(index44_11); if ( s>=0 ) return s; break; case 12 : - int LA22_27 = input.LA(1); + int LA44_34 = input.LA(1); + + + int index44_34 = input.index(); + input.rewind(); + s = -1; + if ( (synpred1()) ) {s = 24;} + + else if ( (true) ) {s = 2;} + + + input.seek(index44_34); + if ( s>=0 ) return s; + break; + case 13 : + int LA44_30 = input.LA(1); - int index22_27 = input.index(); + int index44_30 = input.index(); input.rewind(); s = -1; if ( (synpred1()) ) {s = 24;} @@ -3290,213 +4625,323 @@ public class Xpand3Parser extends Parser { else if ( (true) ) {s = 2;} - input.seek(index22_27); + input.seek(index44_30); if ( s>=0 ) return s; break; } if (backtracking>0) {failed=true; return -1;} NoViableAltException nvae = - new NoViableAltException(getDescription(), 22, _s, input); + new NoViableAltException(getDescription(), 44, _s, input); error(nvae); throw nvae; } } - public static final BitSet FOLLOW_r_nsImport_in_r_file32 = new BitSet(new long[]{0x000001CE08540040L}); - public static final BitSet FOLLOW_r_abstractDeclaration_in_r_file38 = new BitSet(new long[]{0x000001CE08400040L}); - public static final BitSet FOLLOW_EOF_in_r_file45 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_18_in_r_nsImport55 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_type_in_r_nsImport57 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_r_nsImport60 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_20_in_r_nsImport65 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_type_in_r_nsImport67 = new BitSet(new long[]{0x0000000000280000L}); - public static final BitSet FOLLOW_21_in_r_nsImport70 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_r_nsImport74 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_check_in_r_abstractDeclaration85 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_around_in_r_abstractDeclaration90 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_extension_in_r_abstractDeclaration95 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_22_in_r_check106 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_type_in_r_check108 = new BitSet(new long[]{0x0000000003800000L}); - public static final BitSet FOLLOW_23_in_r_check111 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_check113 = new BitSet(new long[]{0x0000000003000000L}); - public static final BitSet FOLLOW_set_in_r_check117 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_check123 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_check125 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_check129 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_r_check131 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_27_in_r_around146 = new BitSet(new long[]{0x0000000040000040L}); - public static final BitSet FOLLOW_r_pointcut_in_r_around148 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_28_in_r_around150 = new BitSet(new long[]{0x000001C0C0000040L}); - public static final BitSet FOLLOW_r_declaredParameterList_in_r_around153 = new BitSet(new long[]{0x00000000E0000000L}); - public static final BitSet FOLLOW_29_in_r_around156 = new BitSet(new long[]{0x0000000040000000L}); - public static final BitSet FOLLOW_30_in_r_around159 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_30_in_r_around165 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_around169 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_around171 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_around178 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_r_around180 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_30_in_r_pointcut197 = new BitSet(new long[]{0x0000000140000042L}); - public static final BitSet FOLLOW_r_identifier_in_r_pointcut203 = new BitSet(new long[]{0x0000000140000042L}); - public static final BitSet FOLLOW_30_in_r_pointcut211 = new BitSet(new long[]{0x0000000140000042L}); - public static final BitSet FOLLOW_r_identifier_in_r_pointcut219 = new BitSet(new long[]{0x0000000140000042L}); - public static final BitSet FOLLOW_32_in_r_pointcut227 = new BitSet(new long[]{0x0000000140000042L}); - public static final BitSet FOLLOW_set_in_r_extension241 = new BitSet(new long[]{0x000001CE00000040L}); - public static final BitSet FOLLOW_r_type_in_r_extension250 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_extension253 = new BitSet(new long[]{0x0000000010000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_extension255 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_28_in_r_extension258 = new BitSet(new long[]{0x000001C080000040L}); - public static final BitSet FOLLOW_r_declaredParameterList_in_r_extension260 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_extension263 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_extension265 = new BitSet(new long[]{0xA00083D010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_36_in_r_extension270 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_javaType_in_r_extension272 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_37_in_r_extension274 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_extension276 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_28_in_r_extension278 = new BitSet(new long[]{0x0000000080000040L}); - public static final BitSet FOLLOW_r_javaType_in_r_extension280 = new BitSet(new long[]{0x00000000A0000000L}); - public static final BitSet FOLLOW_29_in_r_extension283 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_javaType_in_r_extension285 = new BitSet(new long[]{0x00000000A0000000L}); - public static final BitSet FOLLOW_31_in_r_extension292 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_r_expression_in_r_extension299 = new BitSet(new long[]{0x0000000000080000L}); - public static final BitSet FOLLOW_19_in_r_extension302 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_identifier_in_r_javaType313 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_37_in_r_javaType319 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_javaType322 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_38_in_r_javaType325 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_39_in_r_javaType331 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_40_in_r_javaType334 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_r_letExpression_in_r_expression350 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_41_in_r_letExpression364 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_letExpression366 = new BitSet(new long[]{0x0000040000000000L}); - public static final BitSet FOLLOW_42_in_r_letExpression368 = new BitSet(new long[]{0xA00081C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_castedExpression_in_r_letExpression370 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_letExpression372 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_letExpression374 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_castedExpression_in_r_letExpression380 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_28_in_r_castedExpression406 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_type_in_r_castedExpression408 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_castedExpression410 = new BitSet(new long[]{0xA00081C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_chainExpression_in_r_castedExpression412 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_chainExpression_in_r_castedExpression418 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression430 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_43_in_r_chainExpression435 = new BitSet(new long[]{0xA00081C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression437 = new BitSet(new long[]{0x0000080000000002L}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression451 = new BitSet(new long[]{0x0000100000000002L}); - public static final BitSet FOLLOW_44_in_r_ifExpression454 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_ifExpression456 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_ifExpression458 = new BitSet(new long[]{0xA00081C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression460 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_23_in_r_ifExpression467 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_ifExpression469 = new BitSet(new long[]{0x0000200000000000L}); - public static final BitSet FOLLOW_45_in_r_ifExpression471 = new BitSet(new long[]{0xA00081C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression473 = new BitSet(new long[]{0x0000400000000002L}); - public static final BitSet FOLLOW_46_in_r_ifExpression476 = new BitSet(new long[]{0xA00081C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression478 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_47_in_r_switchExpression494 = new BitSet(new long[]{0x0005000010000000L}); - public static final BitSet FOLLOW_28_in_r_switchExpression497 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression499 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_switchExpression501 = new BitSet(new long[]{0x0005000000000000L}); - public static final BitSet FOLLOW_r_casePart_in_r_switchExpression506 = new BitSet(new long[]{0x0005000000000000L}); - public static final BitSet FOLLOW_48_in_r_switchExpression512 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_switchExpression514 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression516 = new BitSet(new long[]{0x0002000000000000L}); - public static final BitSet FOLLOW_49_in_r_switchExpression521 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression526 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_50_in_r_casePart537 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_casePart539 = new BitSet(new long[]{0x0000000004000000L}); - public static final BitSet FOLLOW_26_in_r_casePart541 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_casePart543 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_andExpression_in_r_orExpression555 = new BitSet(new long[]{0x0008000000000002L}); - public static final BitSet FOLLOW_51_in_r_orExpression559 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_andExpression_in_r_orExpression561 = new BitSet(new long[]{0x0008000000000002L}); - public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression576 = new BitSet(new long[]{0x0010000000000002L}); - public static final BitSet FOLLOW_52_in_r_andExpression580 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression582 = new BitSet(new long[]{0x0010000000000002L}); - public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression597 = new BitSet(new long[]{0x0020000000000002L}); - public static final BitSet FOLLOW_53_in_r_impliesExpression601 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression603 = new BitSet(new long[]{0x0020000000000002L}); - public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression619 = new BitSet(new long[]{0x0FC0000000000002L}); - public static final BitSet FOLLOW_set_in_r_relationalExpression624 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression648 = new BitSet(new long[]{0x0FC0000000000002L}); - public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression661 = new BitSet(new long[]{0x3000000000000002L}); - public static final BitSet FOLLOW_set_in_r_additiveExpression668 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression675 = new BitSet(new long[]{0x3000000000000002L}); - public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression688 = new BitSet(new long[]{0x4000000040000002L}); - public static final BitSet FOLLOW_set_in_r_multiplicativeExpression693 = new BitSet(new long[]{0xA00001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression701 = new BitSet(new long[]{0x4000000040000002L}); - public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression715 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_63_in_r_unaryExpression720 = new BitSet(new long[]{0x000001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression722 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_61_in_r_unaryExpression727 = new BitSet(new long[]{0x000001C010000070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression729 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_primaryExpression_in_r_infixExpression740 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_37_in_r_infixExpression745 = new BitSet(new long[]{0x000001C000000040L,0x000000000000FF80L}); - public static final BitSet FOLLOW_r_featureCall_in_r_infixExpression747 = new BitSet(new long[]{0x0000002000000002L}); - public static final BitSet FOLLOW_StringLiteral_in_r_primaryExpression765 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_featureCall_in_r_primaryExpression773 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_booleanLiteral_in_r_primaryExpression780 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_numberLiteral_in_r_primaryExpression787 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_nullLiteral_in_r_primaryExpression794 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_listLiteral_in_r_primaryExpression801 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_constructorCall_in_r_primaryExpression808 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_globalVarExpression_in_r_primaryExpression815 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_paranthesizedExpression_in_r_primaryExpression822 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_28_in_r_paranthesizedExpression836 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_paranthesizedExpression838 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_paranthesizedExpression840 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_64_in_r_globalVarExpression855 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_globalVarExpression857 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_identifier_in_r_featureCall871 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_28_in_r_featureCall873 = new BitSet(new long[]{0xA00083C090800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_parameterList_in_r_featureCall876 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_featureCall880 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_type_in_r_featureCall887 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_collectionExpression_in_r_featureCall895 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_65_in_r_listLiteral907 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFFL}); - public static final BitSet FOLLOW_r_expression_in_r_listLiteral909 = new BitSet(new long[]{0x0000000020000000L,0x0000000000000004L}); - public static final BitSet FOLLOW_29_in_r_listLiteral912 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_listLiteral914 = new BitSet(new long[]{0x0000000020000000L,0x0000000000000004L}); - public static final BitSet FOLLOW_66_in_r_listLiteral919 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_67_in_r_constructorCall930 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_simpleType_in_r_constructorCall932 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_nsImport_in_r_file42 = new BitSet(new long[]{0xA200000014002010L,0x0000000000000073L}); + public static final BitSet FOLLOW_r_abstractDeclaration_in_r_file48 = new BitSet(new long[]{0xA200000000002010L,0x0000000000000073L}); + public static final BitSet FOLLOW_EOF_in_r_file55 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_r_nsImport65 = new BitSet(new long[]{0x0000000001000000L}); + public static final BitSet FOLLOW_24_in_r_nsImport67 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_nsImport69 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_r_nsImport71 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_r_nsImport76 = new BitSet(new long[]{0x0000000002000000L}); + public static final BitSet FOLLOW_25_in_r_nsImport78 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_nsImport80 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_r_nsImport82 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_26_in_r_nsImport87 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_nsImport89 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_27_in_r_nsImport92 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_28_in_r_nsImport98 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_nsImport100 = new BitSet(new long[]{0x0000000028000000L}); + public static final BitSet FOLLOW_29_in_r_nsImport103 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_27_in_r_nsImport107 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_check_in_r_abstractDeclaration118 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_around_in_r_abstractDeclaration123 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_extension_in_r_abstractDeclaration128 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_definition_in_r_abstractDeclaration133 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_definitionAround_in_r_abstractDeclaration138 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_r_definition150 = new BitSet(new long[]{0x0000000000000040L}); + public static final BitSet FOLLOW_DEFINE_in_r_definition152 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_definition154 = new BitSet(new long[]{0x0000000440000000L}); + public static final BitSet FOLLOW_30_in_r_definition157 = new BitSet(new long[]{0x0000000300002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_declaredParameterList_in_r_definition160 = new BitSet(new long[]{0x0000000380000000L}); + public static final BitSet FOLLOW_31_in_r_definition163 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_32_in_r_definition166 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_32_in_r_definition172 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_definition176 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_definition180 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_definition182 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_definition185 = new BitSet(new long[]{0x0000000000000080L}); + public static final BitSet FOLLOW_ENDDEFINE_in_r_definition188 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_r_definition190 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_LG_in_r_definitionAround202 = new BitSet(new long[]{0x0000000000000100L}); + public static final BitSet FOLLOW_AROUND_in_r_definitionAround204 = new BitSet(new long[]{0x0000000100002000L}); + public static final BitSet FOLLOW_r_pointcut_in_r_definitionAround206 = new BitSet(new long[]{0x0000000440000000L}); + public static final BitSet FOLLOW_30_in_r_definitionAround209 = new BitSet(new long[]{0x0000000300002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_declaredParameterList_in_r_definitionAround212 = new BitSet(new long[]{0x0000000380000000L}); + public static final BitSet FOLLOW_31_in_r_definitionAround215 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_32_in_r_definitionAround218 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_32_in_r_definitionAround224 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_definitionAround228 = new BitSet(new long[]{0x0000000400000000L}); + public static final BitSet FOLLOW_34_in_r_definitionAround232 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_definitionAround234 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_definitionAround237 = new BitSet(new long[]{0x0000000000000200L}); + public static final BitSet FOLLOW_ENDAROUND_in_r_definitionAround240 = new BitSet(new long[]{0x0000000000000020L}); + public static final BitSet FOLLOW_RG_in_r_definitionAround242 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_textSequence_in_r_sequence254 = new BitSet(new long[]{0x040A217840003802L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_statement_in_r_sequence260 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_textSequence_in_r_sequence266 = new BitSet(new long[]{0x040A217840003802L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_simpleStatement_in_r_statement281 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_fileStatement_in_r_statement286 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_foreachStatement_in_r_statement291 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_ifStatement_in_r_statement296 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_letStatement_in_r_statement301 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_protectStatement_in_r_statement306 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_text_in_r_textSequence317 = new BitSet(new long[]{0x0000000800000402L}); + public static final BitSet FOLLOW_r_text_in_r_textSequence320 = new BitSet(new long[]{0x0000000800000402L}); + public static final BitSet FOLLOW_35_in_r_text332 = new BitSet(new long[]{0x0000000000000400L}); + public static final BitSet FOLLOW_TEXT_in_r_text335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_errorStatement_in_r_simpleStatement346 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_expandStatement_in_r_simpleStatement350 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_expressionStmt_in_r_simpleStatement354 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_36_in_r_errorStatement365 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_errorStatement367 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_37_in_r_expandStatement378 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_simpleType_in_r_expandStatement380 = new BitSet(new long[]{0x0000004440000002L}); + public static final BitSet FOLLOW_30_in_r_expandStatement383 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_parameterList_in_r_expandStatement385 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_expandStatement387 = new BitSet(new long[]{0x0000004400000002L}); + public static final BitSet FOLLOW_34_in_r_expandStatement393 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_expandStatement395 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_38_in_r_expandStatement403 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_expandStatement404 = new BitSet(new long[]{0x0000008000000002L}); + public static final BitSet FOLLOW_39_in_r_expandStatement407 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_expandStatement409 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_expression_in_r_expressionStmt425 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_40_in_r_fileStatement435 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_fileStatement437 = new BitSet(new long[]{0x0000000800002400L}); + public static final BitSet FOLLOW_r_identifier_in_r_fileStatement440 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_fileStatement446 = new BitSet(new long[]{0x0000020000000000L}); + public static final BitSet FOLLOW_41_in_r_fileStatement450 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_38_in_r_foreachStatement462 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_foreachStatement464 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_42_in_r_foreachStatement466 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_foreachStatement468 = new BitSet(new long[]{0x0000088800000400L}); + public static final BitSet FOLLOW_43_in_r_foreachStatement471 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_foreachStatement473 = new BitSet(new long[]{0x0000008800000400L}); + public static final BitSet FOLLOW_39_in_r_foreachStatement478 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_foreachStatement480 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_foreachStatement488 = new BitSet(new long[]{0x0000100000000000L}); + public static final BitSet FOLLOW_44_in_r_foreachStatement493 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_45_in_r_ifStatement508 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_ifStatement510 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_ifStatement514 = new BitSet(new long[]{0x0001C00000000000L}); + public static final BitSet FOLLOW_r_elseIfStatement_in_r_ifStatement519 = new BitSet(new long[]{0x0001C00000000000L}); + public static final BitSet FOLLOW_r_elseStatement_in_r_ifStatement524 = new BitSet(new long[]{0x0000400000000000L}); + public static final BitSet FOLLOW_46_in_r_ifStatement529 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_47_in_r_elseIfStatement539 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_elseIfStatement541 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_elseIfStatement545 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_48_in_r_elseStatement557 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_elseStatement561 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_49_in_r_letStatement573 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_letStatement575 = new BitSet(new long[]{0x0000040000000000L}); + public static final BitSet FOLLOW_42_in_r_letStatement577 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_letStatement579 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_letStatement585 = new BitSet(new long[]{0x0004000000000000L}); + public static final BitSet FOLLOW_50_in_r_letStatement590 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_51_in_r_protectStatement601 = new BitSet(new long[]{0x0010000000000000L}); + public static final BitSet FOLLOW_52_in_r_protectStatement606 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_protectStatement608 = new BitSet(new long[]{0x0020000000000000L}); + public static final BitSet FOLLOW_53_in_r_protectStatement613 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_protectStatement615 = new BitSet(new long[]{0x0040000000000000L}); + public static final BitSet FOLLOW_54_in_r_protectStatement628 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_protectStatement630 = new BitSet(new long[]{0x0080000800000400L}); + public static final BitSet FOLLOW_55_in_r_protectStatement632 = new BitSet(new long[]{0x0000000800000400L}); + public static final BitSet FOLLOW_r_sequence_in_r_protectStatement638 = new BitSet(new long[]{0x0100000000000000L}); + public static final BitSet FOLLOW_56_in_r_protectStatement642 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_57_in_r_check654 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_check656 = new BitSet(new long[]{0x0C00001000000000L}); + public static final BitSet FOLLOW_58_in_r_check659 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_check661 = new BitSet(new long[]{0x0800001000000000L}); + public static final BitSet FOLLOW_set_in_r_check665 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_check671 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_check673 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_check677 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_27_in_r_check679 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_61_in_r_around694 = new BitSet(new long[]{0x0000000100002000L}); + public static final BitSet FOLLOW_r_pointcut_in_r_around696 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_30_in_r_around698 = new BitSet(new long[]{0x0000000300002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_declaredParameterList_in_r_around701 = new BitSet(new long[]{0x0000000380000000L}); + public static final BitSet FOLLOW_31_in_r_around704 = new BitSet(new long[]{0x0000000100000000L}); + public static final BitSet FOLLOW_32_in_r_around707 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_32_in_r_around713 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_around717 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_around719 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_around726 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_27_in_r_around728 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_32_in_r_pointcut745 = new BitSet(new long[]{0x4000000100002002L}); + public static final BitSet FOLLOW_r_identifier_in_r_pointcut751 = new BitSet(new long[]{0x4000000100002002L}); + public static final BitSet FOLLOW_32_in_r_pointcut759 = new BitSet(new long[]{0x4000000100002002L}); + public static final BitSet FOLLOW_r_identifier_in_r_pointcut767 = new BitSet(new long[]{0x4000000100002002L}); + public static final BitSet FOLLOW_62_in_r_pointcut775 = new BitSet(new long[]{0x4000000100002002L}); + public static final BitSet FOLLOW_set_in_r_extension789 = new BitSet(new long[]{0x8000000000002000L,0x0000000000000073L}); + public static final BitSet FOLLOW_r_type_in_r_extension798 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_extension801 = new BitSet(new long[]{0x0000000040002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_extension803 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_30_in_r_extension806 = new BitSet(new long[]{0x0000000200002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_declaredParameterList_in_r_extension808 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_extension811 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_extension813 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F4L}); + public static final BitSet FOLLOW_66_in_r_extension818 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_javaType_in_r_extension820 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_r_extension822 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_extension824 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_30_in_r_extension826 = new BitSet(new long[]{0x0000000200002000L}); + public static final BitSet FOLLOW_r_javaType_in_r_extension828 = new BitSet(new long[]{0x0000000280000000L}); + public static final BitSet FOLLOW_31_in_r_extension831 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_javaType_in_r_extension833 = new BitSet(new long[]{0x0000000280000000L}); + public static final BitSet FOLLOW_33_in_r_extension840 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_r_expression_in_r_extension847 = new BitSet(new long[]{0x0000000008000000L}); + public static final BitSet FOLLOW_27_in_r_extension850 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_identifier_in_r_javaType861 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_r_javaType867 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_identifier_in_r_javaType870 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_68_in_r_javaType873 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_69_in_r_javaType879 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_70_in_r_javaType882 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_r_letExpression_in_r_expression898 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_71_in_r_letExpression912 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_letExpression914 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L}); + public static final BitSet FOLLOW_72_in_r_letExpression916 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_castedExpression_in_r_letExpression918 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_letExpression920 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_letExpression922 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_castedExpression_in_r_letExpression928 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_30_in_r_castedExpression954 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_castedExpression956 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_castedExpression958 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_chainExpression_in_r_castedExpression960 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_chainExpression_in_r_castedExpression966 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression978 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); + public static final BitSet FOLLOW_73_in_r_chainExpression983 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_ifExpression_in_r_chainExpression985 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000200L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression999 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000400L}); + public static final BitSet FOLLOW_74_in_r_ifExpression1002 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_ifExpression1004 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_ifExpression1006 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1008 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_58_in_r_ifExpression1015 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_ifExpression1017 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000800L}); + public static final BitSet FOLLOW_75_in_r_ifExpression1019 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1021 = new BitSet(new long[]{0x0000000000000002L,0x0000000000001000L}); + public static final BitSet FOLLOW_76_in_r_ifExpression1024 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_switchExpression_in_r_ifExpression1026 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_77_in_r_switchExpression1042 = new BitSet(new long[]{0x0000000040000000L,0x0000000000014000L}); + public static final BitSet FOLLOW_30_in_r_switchExpression1045 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1047 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_switchExpression1049 = new BitSet(new long[]{0x0000000000000000L,0x0000000000014000L}); + public static final BitSet FOLLOW_r_casePart_in_r_switchExpression1054 = new BitSet(new long[]{0x0000000000000000L,0x0000000000014000L}); + public static final BitSet FOLLOW_78_in_r_switchExpression1060 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_switchExpression1062 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1064 = new BitSet(new long[]{0x0000000000000000L,0x0000000000008000L}); + public static final BitSet FOLLOW_79_in_r_switchExpression1069 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_orExpression_in_r_switchExpression1074 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_80_in_r_casePart1085 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_casePart1087 = new BitSet(new long[]{0x1000000000000000L}); + public static final BitSet FOLLOW_60_in_r_casePart1089 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_casePart1091 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_andExpression_in_r_orExpression1103 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L}); + public static final BitSet FOLLOW_81_in_r_orExpression1107 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_andExpression_in_r_orExpression1109 = new BitSet(new long[]{0x0000000000000002L,0x0000000000020000L}); + public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression1124 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); + public static final BitSet FOLLOW_82_in_r_andExpression1128 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_impliesExpression_in_r_andExpression1130 = new BitSet(new long[]{0x0000000000000002L,0x0000000000040000L}); + public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression1145 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_83_in_r_impliesExpression1149 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_relationalExpression_in_r_impliesExpression1151 = new BitSet(new long[]{0x0000000000000002L,0x0000000000080000L}); + public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression1167 = new BitSet(new long[]{0x0000000000000002L,0x0000000003F00000L}); + public static final BitSet FOLLOW_set_in_r_relationalExpression1172 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_additiveExpression_in_r_relationalExpression1196 = new BitSet(new long[]{0x0000000000000002L,0x0000000003F00000L}); + public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1209 = new BitSet(new long[]{0x0000000800000002L,0x0000000004000000L}); + public static final BitSet FOLLOW_set_in_r_additiveExpression1216 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_multiplicativeExpression_in_r_additiveExpression1223 = new BitSet(new long[]{0x0000000800000002L,0x0000000004000000L}); + public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1236 = new BitSet(new long[]{0x0000000100000002L,0x0000000008000000L}); + public static final BitSet FOLLOW_set_in_r_multiplicativeExpression1241 = new BitSet(new long[]{0x0000000840003800L,0x00001FFF70000070L}); + public static final BitSet FOLLOW_r_unaryExpression_in_r_multiplicativeExpression1249 = new BitSet(new long[]{0x0000000100000002L,0x0000000008000000L}); + public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1263 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_92_in_r_unaryExpression1268 = new BitSet(new long[]{0x0000000040003800L,0x00001FFF60000070L}); + public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1270 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_35_in_r_unaryExpression1275 = new BitSet(new long[]{0x0000000040003800L,0x00001FFF60000070L}); + public static final BitSet FOLLOW_r_infixExpression_in_r_unaryExpression1277 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_primaryExpression_in_r_infixExpression1288 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_r_infixExpression1293 = new BitSet(new long[]{0x0000000000002000L,0x00001FF000000070L}); + public static final BitSet FOLLOW_r_featureCall_in_r_infixExpression1295 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000008L}); + public static final BitSet FOLLOW_StringLiteral_in_r_primaryExpression1313 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_featureCall_in_r_primaryExpression1321 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_booleanLiteral_in_r_primaryExpression1328 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_numberLiteral_in_r_primaryExpression1335 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_nullLiteral_in_r_primaryExpression1342 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_listLiteral_in_r_primaryExpression1349 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_constructorCall_in_r_primaryExpression1356 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_globalVarExpression_in_r_primaryExpression1363 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_paranthesizedExpression_in_r_primaryExpression1370 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_30_in_r_paranthesizedExpression1384 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_paranthesizedExpression1386 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_paranthesizedExpression1388 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_93_in_r_globalVarExpression1403 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_globalVarExpression1405 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_identifier_in_r_featureCall1419 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_30_in_r_featureCall1421 = new BitSet(new long[]{0x0400000A40003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_parameterList_in_r_featureCall1424 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_featureCall1428 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_type_in_r_featureCall1435 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_collectionExpression_in_r_featureCall1443 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_94_in_r_listLiteral1455 = new BitSet(new long[]{0x0400000840003800L,0x00001FFFF00020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_listLiteral1457 = new BitSet(new long[]{0x0000000080000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_31_in_r_listLiteral1460 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_listLiteral1462 = new BitSet(new long[]{0x0000000080000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_95_in_r_listLiteral1467 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_96_in_r_constructorCall1478 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_simpleType_in_r_constructorCall1480 = new BitSet(new long[]{0x0000000000000002L}); public static final BitSet FOLLOW_set_in_r_booleanLiteral0 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_70_in_r_nullLiteral958 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral971 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral977 = new BitSet(new long[]{0x0000002000000000L}); - public static final BitSet FOLLOW_37_in_r_numberLiteral979 = new BitSet(new long[]{0x0000000000000020L}); - public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral981 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_71_in_r_collectionExpression994 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_28_in_r_collectionExpression998 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_type_in_r_collectionExpression1000 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_collectionExpression1002 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_r_collectionExpression1011 = new BitSet(new long[]{0x0000000010000000L}); - public static final BitSet FOLLOW_28_in_r_collectionExpression1061 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_identifier_in_r_collectionExpression1064 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L}); - public static final BitSet FOLLOW_80_in_r_collectionExpression1066 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_collectionExpression1070 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_r_collectionExpression1072 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1089 = new BitSet(new long[]{0x0000000020000002L}); - public static final BitSet FOLLOW_29_in_r_declaredParameterList1092 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1094 = new BitSet(new long[]{0x0000000020000002L}); - public static final BitSet FOLLOW_r_type_in_r_declaredParameter1107 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_declaredParameter1109 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_expression_in_r_parameterList1124 = new BitSet(new long[]{0x0000000020000002L}); - public static final BitSet FOLLOW_29_in_r_parameterList1128 = new BitSet(new long[]{0xA00083C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_expression_in_r_parameterList1130 = new BitSet(new long[]{0x0000000020000002L}); - public static final BitSet FOLLOW_r_collectionType_in_r_type1147 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_simpleType_in_r_type1152 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_set_in_r_collectionType1167 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000002L}); - public static final BitSet FOLLOW_65_in_r_collectionType1185 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_simpleType_in_r_collectionType1187 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000004L}); - public static final BitSet FOLLOW_66_in_r_collectionType1189 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_r_identifier_in_r_simpleType1202 = new BitSet(new long[]{0x0000000100000002L}); - public static final BitSet FOLLOW_32_in_r_simpleType1207 = new BitSet(new long[]{0x0000000000000040L}); - public static final BitSet FOLLOW_r_identifier_in_r_simpleType1209 = new BitSet(new long[]{0x0000000100000002L}); - public static final BitSet FOLLOW_Identifier_in_r_identifier1225 = new BitSet(new long[]{0x0000000000000002L}); - public static final BitSet FOLLOW_28_in_synpred1395 = new BitSet(new long[]{0x000001C000000040L}); - public static final BitSet FOLLOW_r_type_in_synpred1397 = new BitSet(new long[]{0x0000000080000000L}); - public static final BitSet FOLLOW_31_in_synpred1399 = new BitSet(new long[]{0xA00081C010800070L,0x000000000000FFFBL}); - public static final BitSet FOLLOW_r_castedExpression_in_synpred1401 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_99_in_r_nullLiteral1506 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1519 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1525 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L}); + public static final BitSet FOLLOW_67_in_r_numberLiteral1527 = new BitSet(new long[]{0x0000000000001000L}); + public static final BitSet FOLLOW_IntLiteral_in_r_numberLiteral1529 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_100_in_r_collectionExpression1542 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_30_in_r_collectionExpression1546 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_r_collectionExpression1548 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_collectionExpression1550 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_r_collectionExpression1559 = new BitSet(new long[]{0x0000000040000000L}); + public static final BitSet FOLLOW_30_in_r_collectionExpression1609 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_identifier_in_r_collectionExpression1612 = new BitSet(new long[]{0x0000000000000000L,0x0000200000000000L}); + public static final BitSet FOLLOW_109_in_r_collectionExpression1614 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_collectionExpression1618 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_r_collectionExpression1620 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1637 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_31_in_r_declaredParameterList1640 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_declaredParameter_in_r_declaredParameterList1642 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_r_type_in_r_declaredParameter1655 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_declaredParameter1657 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_expression_in_r_parameterList1672 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_31_in_r_parameterList1676 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF700020F0L}); + public static final BitSet FOLLOW_r_expression_in_r_parameterList1678 = new BitSet(new long[]{0x0000000080000002L}); + public static final BitSet FOLLOW_r_collectionType_in_r_type1695 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_simpleType_in_r_type1700 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_set_in_r_collectionType1715 = new BitSet(new long[]{0x0000000000000002L,0x0000000040000000L}); + public static final BitSet FOLLOW_94_in_r_collectionType1733 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_simpleType_in_r_collectionType1735 = new BitSet(new long[]{0x0000000000000000L,0x0000000080000000L}); + public static final BitSet FOLLOW_95_in_r_collectionType1737 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_r_identifier_in_r_simpleType1750 = new BitSet(new long[]{0x4000000000000002L}); + public static final BitSet FOLLOW_62_in_r_simpleType1755 = new BitSet(new long[]{0x0000000000002000L}); + public static final BitSet FOLLOW_r_identifier_in_r_simpleType1757 = new BitSet(new long[]{0x4000000000000002L}); + public static final BitSet FOLLOW_Identifier_in_r_identifier1773 = new BitSet(new long[]{0x0000000000000002L}); + public static final BitSet FOLLOW_30_in_synpred1943 = new BitSet(new long[]{0x0000000000002000L,0x0000000000000070L}); + public static final BitSet FOLLOW_r_type_in_synpred1945 = new BitSet(new long[]{0x0000000200000000L}); + public static final BitSet FOLLOW_33_in_synpred1947 = new BitSet(new long[]{0x0400000840003800L,0x00001FFF70002070L}); + public static final BitSet FOLLOW_r_castedExpression_in_synpred1949 = 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 c457ebde..91e41728 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 @@ -1,82 +1,108 @@ lexer grammar Xpand3; +@members { + private boolean xpandMode = false; +} @header { package org.eclipse.xpand3.parser; } -T18 : 'import' ; -T19 : ';' ; -T20 : 'extension' ; -T21 : 'reexport' ; -T22 : 'context' ; -T23 : 'if' ; -T24 : 'ERROR' ; -T25 : 'WARNING' ; -T26 : ':' ; -T27 : 'around' ; -T28 : '(' ; -T29 : ',' ; -T30 : '*' ; -T31 : ')' ; -T32 : '::' ; -T33 : 'private' ; -T34 : 'cached' ; -T35 : 'create' ; -T36 : 'JAVA' ; -T37 : '.' ; -T38 : 'Collection' ; -T39 : 'List' ; -T40 : 'Set' ; -T41 : 'let' ; -T42 : '=' ; -T43 : '->' ; -T44 : '?' ; -T45 : 'then' ; -T46 : 'else' ; -T47 : 'switch' ; -T48 : 'default' ; -T49 : '}' ; -T50 : 'case' ; -T51 : '||' ; -T52 : '&&' ; -T53 : 'implies' ; -T54 : '==' ; -T55 : '!=' ; -T56 : '>=' ; -T57 : '<=' ; -T58 : '>' ; -T59 : '<' ; -T60 : '+' ; -T61 : '-' ; -T62 : '/' ; -T63 : '!' ; -T64 : 'GLOBALVAR' ; -T65 : '[' ; -T66 : ']' ; -T67 : 'new' ; -T68 : 'false' ; -T69 : 'true' ; -T70 : 'null' ; -T71 : 'typeSelect' ; -T72 : 'collect' ; -T73 : 'select' ; -T74 : 'selectFirst' ; -T75 : 'reject' ; -T76 : 'exists' ; -T77 : 'notExists' ; -T78 : 'sortBy' ; -T79 : 'forAll' ; -T80 : '|' ; - -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 237 +T24 : 'IMPORT' ; +T25 : 'EXTENSION' ; +T26 : 'import' ; +T27 : ';' ; +T28 : 'extension' ; +T29 : 'reexport' ; +T30 : '(' ; +T31 : ',' ; +T32 : '*' ; +T33 : ')' ; +T34 : 'FOR' ; +T35 : '-' ; +T36 : 'ERROR' ; +T37 : 'EXPAND' ; +T38 : 'FOREACH' ; +T39 : 'SEPARATOR' ; +T40 : 'FILE' ; +T41 : 'ENDFILE' ; +T42 : 'AS' ; +T43 : 'ITERATOR' ; +T44 : 'ENDFOREACH' ; +T45 : 'IF' ; +T46 : 'ENDIF' ; +T47 : 'ELSEIF' ; +T48 : 'ELSE' ; +T49 : 'LET' ; +T50 : 'ENDLET' ; +T51 : 'PROTECT' ; +T52 : 'CSTART' ; +T53 : 'CEND' ; +T54 : 'ID' ; +T55 : 'DISABLE' ; +T56 : 'ENDPROTECT' ; +T57 : 'context' ; +T58 : 'if' ; +T59 : 'WARNING' ; +T60 : ':' ; +T61 : 'around' ; +T62 : '::' ; +T63 : 'private' ; +T64 : 'cached' ; +T65 : 'create' ; +T66 : 'JAVA' ; +T67 : '.' ; +T68 : 'Collection' ; +T69 : 'List' ; +T70 : 'Set' ; +T71 : 'let' ; +T72 : '=' ; +T73 : '->' ; +T74 : '?' ; +T75 : 'then' ; +T76 : 'else' ; +T77 : 'switch' ; +T78 : 'default' ; +T79 : '}' ; +T80 : 'case' ; +T81 : '||' ; +T82 : '&&' ; +T83 : 'implies' ; +T84 : '==' ; +T85 : '!=' ; +T86 : '>=' ; +T87 : '<=' ; +T88 : '>' ; +T89 : '<' ; +T90 : '+' ; +T91 : '/' ; +T92 : '!' ; +T93 : 'GLOBALVAR' ; +T94 : '[' ; +T95 : ']' ; +T96 : 'new' ; +T97 : 'false' ; +T98 : 'true' ; +T99 : 'null' ; +T100 : 'typeSelect' ; +T101 : 'collect' ; +T102 : 'select' ; +T103 : 'selectFirst' ; +T104 : 'reject' ; +T105 : 'exists' ; +T106 : 'notExists' ; +T107 : 'sortBy' ; +T108 : 'forAll' ; +T109 : '|' ; + +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 349 IntLiteral : ('0' | '1'..'9' '0'..'9'*) ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 239 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 351 StringLiteral : '"' ( EscapeSequence | ~('\\'|'"') )* '"' | '\'' ( EscapeSequence | ~('\''|'\\') )* '\'' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 244 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 356 fragment EscapeSequence : '\\' ('b'|'t'|'n'|'f'|'r'|'\"'|'\''|'\\') @@ -84,7 +110,7 @@ EscapeSequence | OctalEscape ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 251 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 363 fragment OctalEscape : '\\' ('0'..'3') ('0'..'7') ('0'..'7') @@ -92,21 +118,33 @@ OctalEscape | '\\' ('0'..'7') ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 258 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 370 fragment UnicodeEscape : '\\' 'u' HexDigit HexDigit HexDigit HexDigit ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 262 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 374 fragment HexDigit : ('0'..'9'|'a'..'f'|'A'..'F') ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 265 + +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 378 +DEFINE : {xpandMode=true;} 'DEFINE'; +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 379 +ENDDEFINE + : 'ENDDEFINE' {xpandMode=false;}; + +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 382 +AROUND : {xpandMode=true;}'AROUND'; +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 383 +ENDAROUND : 'ENDAROUND'{xpandMode=false;}; + +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 385 Identifier : ('^')? Letter (Letter|JavaIDDigit)* ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 269 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 389 fragment Letter : '\u0024' | @@ -124,7 +162,7 @@ Letter '\uf900'..'\ufaff' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 286 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 406 fragment JavaIDDigit : '\u0030'..'\u0039' | @@ -144,23 +182,34 @@ JavaIDDigit '\u1040'..'\u1049' ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 305 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 425 WS : (' '|'\r'|'\t'|'\u000C'|'\n') {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 308 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 428 COMMENT : '/*' ( options {greedy=false;} : . )* '*/' {$channel=HIDDEN;} ; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 312 +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 432 LINE_COMMENT : '//' ~('\n'|'\r')* ('\r'? '\n'|EOF) {$channel=HIDDEN;} ; + +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 436 +REM_COMMENT : + 'REM' RG ( options {greedy=false;} : . )* '\u00ABENDREM' {$channel=HIDDEN;} +; + + +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 441 +TEXT : + {xpandMode}? RG ~(LG)* (LG)? +; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 316 -XPAND_TAG_OPEN +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 445 +LG : '\u00AB'; -// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 318 -XPAND_TAG_CLOSE +// $ANTLR src "src/org/eclipse/xpand3/parser/Xpand3.g" 447 +RG : '\u00BB'; |