diff --git a/de.gebit.integrity.docgen/src/de/gebit/integrity/docgen/html/PackageIndexView.java b/de.gebit.integrity.docgen/src/de/gebit/integrity/docgen/html/PackageIndexView.java index 914c03ef7..0765e949e 100644 --- a/de.gebit.integrity.docgen/src/de/gebit/integrity/docgen/html/PackageIndexView.java +++ b/de.gebit.integrity.docgen/src/de/gebit/integrity/docgen/html/PackageIndexView.java @@ -10,6 +10,7 @@ import java.util.Collection; import de.gebit.integrity.docgen.IntegrityPackage; +import htmlflow.HtmlWriter; import htmlflow.elements.HtmlA; import htmlflow.elements.HtmlBody; import htmlflow.elements.HtmlDiv; @@ -58,7 +59,7 @@ public PackageIndexView(Collection somePackages, boolean aRela tempSearchFormButton.addAttr("id", "searchbutton"); tempSearchFormButton.addAttr("type", "button"); tempSearchFormButton.addAttr("value", "Search"); - tempSearchForm.addChild(tempSearchFormInput); + tempSearchForm.addChild((HtmlWriter) tempSearchFormInput); tempSearchForm.addChild(tempSearchFormButton); tempMainContainerDiv.div().idAttr("searchresults"); diff --git a/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSL.g b/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSL.g index e0c1cf804..2731e2b7a 100644 --- a/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSL.g +++ b/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSL.g @@ -18251,7 +18251,7 @@ RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* RULE_ML_COMMENT : '/*' ~('*') ( options {greedy=false;} : . )*'*/'; -RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))*; RULE_SL_VISIBLE_COMMENT : '-- ' ~(('\n'|'\r'))*; diff --git a/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSLLexer.java b/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSLLexer.java index b8a65077c..e155601d9 100644 --- a/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSLLexer.java +++ b/de.gebit.integrity.dsl.ui/src-gen/de/gebit/integrity/ui/contentassist/antlr/internal/InternalDSLLexer.java @@ -1946,8 +1946,8 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalDSL.g:18254:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalDSL.g:18254:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalDSL.g:18254:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ) + // InternalDSL.g:18254:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* { match("//"); @@ -1984,42 +1984,6 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalDSL.g:18254:40: ( ( '\\r' )? '\\n' )? - int alt15=2; - int LA15_0 = input.LA(1); - - if ( (LA15_0=='\n'||LA15_0=='\r') ) { - alt15=1; - } - switch (alt15) { - case 1 : - // InternalDSL.g:18254:41: ( '\\r' )? '\\n' - { - // InternalDSL.g:18254:41: ( '\\r' )? - int alt14=2; - int LA14_0 = input.LA(1); - - if ( (LA14_0=='\r') ) { - alt14=1; - } - switch (alt14) { - case 1 : - // InternalDSL.g:18254:41: '\\r' - { - match('\r'); - - } - break; - - } - - match('\n'); - - } - break; - - } - } @@ -2042,17 +2006,17 @@ public final void mRULE_SL_VISIBLE_COMMENT() throws RecognitionException { match("-- "); // InternalDSL.g:18256:33: (~ ( ( '\\n' | '\\r' ) ) )* - loop16: + loop14: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt14=2; + int LA14_0 = input.LA(1); - if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFF')) ) { - alt16=1; + if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) { + alt14=1; } - switch (alt16) { + switch (alt14) { case 1 : // InternalDSL.g:18256:33: ~ ( ( '\\n' | '\\r' ) ) { @@ -2070,7 +2034,7 @@ public final void mRULE_SL_VISIBLE_COMMENT() throws RecognitionException { break; default : - break loop16; + break loop14; } } while (true); @@ -2096,17 +2060,17 @@ public final void mRULE_SL_VISIBLE_TITLE_COMMENT() throws RecognitionException { match("--- "); // InternalDSL.g:18258:40: (~ ( ( '\\n' | '\\r' ) ) )* - loop17: + loop15: do { - int alt17=2; - int LA17_0 = input.LA(1); + int alt15=2; + int LA15_0 = input.LA(1); - if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) { - alt17=1; + if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFF')) ) { + alt15=1; } - switch (alt17) { + switch (alt15) { case 1 : // InternalDSL.g:18258:40: ~ ( ( '\\n' | '\\r' ) ) { @@ -2124,7 +2088,7 @@ public final void mRULE_SL_VISIBLE_TITLE_COMMENT() throws RecognitionException { break; default : - break loop17; + break loop15; } } while (true); @@ -2150,29 +2114,29 @@ public final void mRULE_ML_VISIBLE_COMMENT() throws RecognitionException { match("/- "); // InternalDSL.g:18260:33: ( options {greedy=false; } : . )* - loop18: + loop16: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt16=2; + int LA16_0 = input.LA(1); - if ( (LA18_0=='-') ) { - int LA18_1 = input.LA(2); + if ( (LA16_0=='-') ) { + int LA16_1 = input.LA(2); - if ( (LA18_1=='/') ) { - alt18=2; + if ( (LA16_1=='/') ) { + alt16=2; } - else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { - alt18=1; + else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) { + alt16=1; } } - else if ( ((LA18_0>='\u0000' && LA18_0<=',')||(LA18_0>='.' && LA18_0<='\uFFFF')) ) { - alt18=1; + else if ( ((LA16_0>='\u0000' && LA16_0<=',')||(LA16_0>='.' && LA16_0<='\uFFFF')) ) { + alt16=1; } - switch (alt18) { + switch (alt16) { case 1 : // InternalDSL.g:18260:61: . { @@ -2182,7 +2146,7 @@ else if ( ((LA18_0>='\u0000' && LA18_0<=',')||(LA18_0>='.' && LA18_0<='\uFFFF')) break; default : - break loop18; + break loop16; } } while (true); @@ -2210,38 +2174,38 @@ public final void mRULE_ML_VISIBLE_TITLE_COMMENT() throws RecognitionException { match("/-- "); // InternalDSL.g:18262:40: ( options {greedy=false; } : . )* - loop19: + loop17: do { - int alt19=2; - int LA19_0 = input.LA(1); + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA19_0=='-') ) { - int LA19_1 = input.LA(2); + if ( (LA17_0=='-') ) { + int LA17_1 = input.LA(2); - if ( (LA19_1=='-') ) { - int LA19_3 = input.LA(3); + if ( (LA17_1=='-') ) { + int LA17_3 = input.LA(3); - if ( (LA19_3=='/') ) { - alt19=2; + if ( (LA17_3=='/') ) { + alt17=2; } - else if ( ((LA19_3>='\u0000' && LA19_3<='.')||(LA19_3>='0' && LA19_3<='\uFFFF')) ) { - alt19=1; + else if ( ((LA17_3>='\u0000' && LA17_3<='.')||(LA17_3>='0' && LA17_3<='\uFFFF')) ) { + alt17=1; } } - else if ( ((LA19_1>='\u0000' && LA19_1<=',')||(LA19_1>='.' && LA19_1<='\uFFFF')) ) { - alt19=1; + else if ( ((LA17_1>='\u0000' && LA17_1<=',')||(LA17_1>='.' && LA17_1<='\uFFFF')) ) { + alt17=1; } } - else if ( ((LA19_0>='\u0000' && LA19_0<=',')||(LA19_0>='.' && LA19_0<='\uFFFF')) ) { - alt19=1; + else if ( ((LA17_0>='\u0000' && LA17_0<=',')||(LA17_0>='.' && LA17_0<='\uFFFF')) ) { + alt17=1; } - switch (alt19) { + switch (alt17) { case 1 : // InternalDSL.g:18262:68: . { @@ -2251,7 +2215,7 @@ else if ( ((LA19_0>='\u0000' && LA19_0<=',')||(LA19_0>='.' && LA19_0<='\uFFFF')) break; default : - break loop19; + break loop17; } } while (true); @@ -2279,29 +2243,29 @@ public final void mRULE_ML_DOC_COMMENT() throws RecognitionException { match("/**"); // InternalDSL.g:18264:29: ( options {greedy=false; } : . )* - loop20: + loop18: do { - int alt20=2; - int LA20_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA20_0=='*') ) { - int LA20_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA20_1=='/') ) { - alt20=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA20_1>='\u0000' && LA20_1<='.')||(LA20_1>='0' && LA20_1<='\uFFFF')) ) { - alt20=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA20_0>='\u0000' && LA20_0<=')')||(LA20_0>='+' && LA20_0<='\uFFFF')) ) { - alt20=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt20) { + switch (alt18) { case 1 : // InternalDSL.g:18264:57: . { @@ -2311,7 +2275,7 @@ else if ( ((LA20_0>='\u0000' && LA20_0<=')')||(LA20_0>='+' && LA20_0<='\uFFFF')) break; default : - break loop20; + break loop18; } } while (true); @@ -2339,17 +2303,17 @@ public final void mRULE_DIVIDER() throws RecognitionException { match("----"); // InternalDSL.g:18266:23: ( '-' )* - loop21: + loop19: do { - int alt21=2; - int LA21_0 = input.LA(1); + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA21_0=='-') ) { - alt21=1; + if ( (LA19_0=='-') ) { + alt19=1; } - switch (alt21) { + switch (alt19) { case 1 : // InternalDSL.g:18266:23: '-' { @@ -2359,7 +2323,7 @@ public final void mRULE_DIVIDER() throws RecognitionException { break; default : - break loop21; + break loop19; } } while (true); @@ -2383,18 +2347,18 @@ public final void mRULE_WS() throws RecognitionException { // InternalDSL.g:18268:11: ( ' ' | '\\t' )+ { // InternalDSL.g:18268:11: ( ' ' | '\\t' )+ - int cnt22=0; - loop22: + int cnt20=0; + loop20: do { - int alt22=2; - int LA22_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA22_0=='\t'||LA22_0==' ') ) { - alt22=1; + if ( (LA20_0=='\t'||LA20_0==' ') ) { + alt20=1; } - switch (alt22) { + switch (alt20) { case 1 : // InternalDSL.g: { @@ -2412,12 +2376,12 @@ public final void mRULE_WS() throws RecognitionException { break; default : - if ( cnt22 >= 1 ) break loop22; + if ( cnt20 >= 1 ) break loop20; EarlyExitException eee = - new EarlyExitException(22, input); + new EarlyExitException(20, input); throw eee; } - cnt22++; + cnt20++; } while (true); @@ -2440,18 +2404,18 @@ public final void mRULE_NEWLINE() throws RecognitionException { // InternalDSL.g:18270:16: ( '\\r' | '\\n' )+ { // InternalDSL.g:18270:16: ( '\\r' | '\\n' )+ - int cnt23=0; - loop23: + int cnt21=0; + loop21: do { - int alt23=2; - int LA23_0 = input.LA(1); + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA23_0=='\n'||LA23_0=='\r') ) { - alt23=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt23) { + switch (alt21) { case 1 : // InternalDSL.g: { @@ -2469,12 +2433,12 @@ public final void mRULE_NEWLINE() throws RecognitionException { break; default : - if ( cnt23 >= 1 ) break loop23; + if ( cnt21 >= 1 ) break loop21; EarlyExitException eee = - new EarlyExitException(23, input); + new EarlyExitException(21, input); throw eee; } - cnt23++; + cnt21++; } while (true); @@ -2526,35 +2490,35 @@ public final void mRULE_ISOTIME() throws RecognitionException { // InternalDSL.g:18274:16: ( 'T' RULE_TWENTYFOURHRSTIME ( RULE_ISOTIMEZONE )? | RULE_TWENTYFOURHRSTIME RULE_ISOTIMEZONE ) { // InternalDSL.g:18274:16: ( 'T' RULE_TWENTYFOURHRSTIME ( RULE_ISOTIMEZONE )? | RULE_TWENTYFOURHRSTIME RULE_ISOTIMEZONE ) - int alt25=2; - int LA25_0 = input.LA(1); + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA25_0=='T') ) { - alt25=1; + if ( (LA23_0=='T') ) { + alt23=1; } - else if ( ((LA25_0>='0' && LA25_0<='2')) ) { - alt25=2; + else if ( ((LA23_0>='0' && LA23_0<='2')) ) { + alt23=2; } else { NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); + new NoViableAltException("", 23, 0, input); throw nvae; } - switch (alt25) { + switch (alt23) { case 1 : // InternalDSL.g:18274:17: 'T' RULE_TWENTYFOURHRSTIME ( RULE_ISOTIMEZONE )? { match('T'); mRULE_TWENTYFOURHRSTIME(); // InternalDSL.g:18274:44: ( RULE_ISOTIMEZONE )? - int alt24=2; - int LA24_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA24_0=='+'||LA24_0=='-'||LA24_0=='Z') ) { - alt24=1; + if ( (LA22_0=='+'||LA22_0=='-'||LA22_0=='Z') ) { + alt22=1; } - switch (alt24) { + switch (alt22) { case 1 : // InternalDSL.g:18274:44: RULE_ISOTIMEZONE { @@ -2597,22 +2561,22 @@ public final void mRULE_ISOTIMEZONE() throws RecognitionException { // InternalDSL.g:18276:29: ( 'Z' | ( '+' | '-' ) '0' .. '2' '0' .. '9' ( ':' )? '0' .. '5' '0' .. '9' ) { // InternalDSL.g:18276:29: ( 'Z' | ( '+' | '-' ) '0' .. '2' '0' .. '9' ( ':' )? '0' .. '5' '0' .. '9' ) - int alt27=2; - int LA27_0 = input.LA(1); + int alt25=2; + int LA25_0 = input.LA(1); - if ( (LA27_0=='Z') ) { - alt27=1; + if ( (LA25_0=='Z') ) { + alt25=1; } - else if ( (LA27_0=='+'||LA27_0=='-') ) { - alt27=2; + else if ( (LA25_0=='+'||LA25_0=='-') ) { + alt25=2; } else { NoViableAltException nvae = - new NoViableAltException("", 27, 0, input); + new NoViableAltException("", 25, 0, input); throw nvae; } - switch (alt27) { + switch (alt25) { case 1 : // InternalDSL.g:18276:30: 'Z' { @@ -2635,13 +2599,13 @@ else if ( (LA27_0=='+'||LA27_0=='-') ) { matchRange('0','2'); matchRange('0','9'); // InternalDSL.g:18276:62: ( ':' )? - int alt26=2; - int LA26_0 = input.LA(1); + int alt24=2; + int LA24_0 = input.LA(1); - if ( (LA26_0==':') ) { - alt26=1; + if ( (LA24_0==':') ) { + alt24=1; } - switch (alt26) { + switch (alt24) { case 1 : // InternalDSL.g:18276:62: ':' { @@ -2741,13 +2705,13 @@ public final void mRULE_TWENTYFOURHRSTIME() throws RecognitionException { matchRange('0','5'); matchRange('0','9'); // InternalDSL.g:18282:66: ( ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? )? - int alt29=2; - int LA29_0 = input.LA(1); + int alt27=2; + int LA27_0 = input.LA(1); - if ( (LA29_0==':') ) { - alt29=1; + if ( (LA27_0==':') ) { + alt27=1; } - switch (alt29) { + switch (alt27) { case 1 : // InternalDSL.g:18282:67: ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? { @@ -2755,13 +2719,13 @@ public final void mRULE_TWENTYFOURHRSTIME() throws RecognitionException { matchRange('0','6'); matchRange('0','9'); // InternalDSL.g:18282:89: ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? - int alt28=2; - int LA28_0 = input.LA(1); + int alt26=2; + int LA26_0 = input.LA(1); - if ( (LA28_0=='.') ) { - alt28=1; + if ( (LA26_0=='.') ) { + alt26=1; } - switch (alt28) { + switch (alt26) { case 1 : // InternalDSL.g:18282:90: '.' '0' .. '9' '0' .. '9' '0' .. '9' { @@ -2806,13 +2770,13 @@ public final void mRULE_TWELVEHRSTIME() throws RecognitionException { matchRange('0','5'); matchRange('0','9'); // InternalDSL.g:18284:62: ( ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? )? - int alt31=2; - int LA31_0 = input.LA(1); + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA31_0==':') ) { - alt31=1; + if ( (LA29_0==':') ) { + alt29=1; } - switch (alt31) { + switch (alt29) { case 1 : // InternalDSL.g:18284:63: ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? { @@ -2820,13 +2784,13 @@ public final void mRULE_TWELVEHRSTIME() throws RecognitionException { matchRange('0','6'); matchRange('0','9'); // InternalDSL.g:18284:85: ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? - int alt30=2; - int LA30_0 = input.LA(1); + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA30_0=='.') ) { - alt30=1; + if ( (LA28_0=='.') ) { + alt28=1; } - switch (alt30) { + switch (alt28) { case 1 : // InternalDSL.g:18284:86: '.' '0' .. '9' '0' .. '9' '0' .. '9' { @@ -2847,22 +2811,22 @@ public final void mRULE_TWELVEHRSTIME() throws RecognitionException { } // InternalDSL.g:18284:121: ( 'am' | 'pm' ) - int alt32=2; - int LA32_0 = input.LA(1); + int alt30=2; + int LA30_0 = input.LA(1); - if ( (LA32_0=='a') ) { - alt32=1; + if ( (LA30_0=='a') ) { + alt30=1; } - else if ( (LA32_0=='p') ) { - alt32=2; + else if ( (LA30_0=='p') ) { + alt30=2; } else { NoViableAltException nvae = - new NoViableAltException("", 32, 0, input); + new NoViableAltException("", 30, 0, input); throw nvae; } - switch (alt32) { + switch (alt30) { case 1 : // InternalDSL.g:18284:122: 'am' { @@ -2915,9 +2879,9 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { public void mTokens() throws RecognitionException { // InternalDSL.g:1:8: ( T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | RULE_BOOLEAN_TRUE | RULE_BOOLEAN_FALSE | RULE_UPPERCASE_ID | RULE_ID | RULE_INTEGER | RULE_DECIMAL | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_SL_VISIBLE_COMMENT | RULE_SL_VISIBLE_TITLE_COMMENT | RULE_ML_VISIBLE_COMMENT | RULE_ML_VISIBLE_TITLE_COMMENT | RULE_ML_DOC_COMMENT | RULE_DIVIDER | RULE_WS | RULE_NEWLINE | RULE_ISODATE | RULE_ISOTIME | RULE_EURODATE | RULE_USDATE | RULE_TWENTYFOURHRSTIME | RULE_TWELVEHRSTIME | RULE_ANY_OTHER ) - int alt33=85; - alt33 = dfa33.predict(input); - switch (alt33) { + int alt31=85; + alt31 = dfa31.predict(input); + switch (alt31) { case 1 : // InternalDSL.g:1:10: T__29 { @@ -3519,23 +3483,23 @@ public void mTokens() throws RecognitionException { } - protected DFA33 dfa33 = new DFA33(this); - static final String DFA33_eotS = - "\2\uffff\1\66\1\uffff\1\74\1\uffff\1\100\6\103\1\uffff\10\103\2\uffff\1\136\10\uffff\1\103\2\uffff\2\103\1\155\1\62\1\uffff\1\160\2\62\3\uffff\3\160\5\uffff\1\160\11\uffff\2\103\1\uffff\2\103\1\u0085\5\103\1\uffff\15\103\1\u0099\1\103\13\uffff\1\103\2\uffff\2\103\1\155\1\uffff\1\160\5\uffff\3\160\6\uffff\10\103\1\uffff\4\103\1\uffff\16\103\1\uffff\4\103\1\155\1\160\6\uffff\4\103\1\u00ce\5\103\1\u00d4\2\103\1\u00d8\2\103\1\u00db\1\u00dd\5\103\1\u00e3\4\103\1\u00e8\1\u00e9\1\103\1\uffff\1\160\1\uffff\1\157\1\uffff\4\103\1\uffff\4\103\1\u00f7\1\uffff\3\103\1\uffff\2\103\1\uffff\1\103\1\uffff\3\103\1\u0104\1\103\1\uffff\4\103\2\uffff\1\103\1\uffff\1\u010c\1\157\1\u010c\4\103\1\u0114\3\103\2\uffff\13\103\1\uffff\4\103\1\u0127\1\u0128\5\uffff\2\103\1\u012e\1\103\1\uffff\1\103\1\u0131\1\u0132\2\103\1\u0135\1\103\1\u0137\1\u0138\5\103\1\uffff\1\u013e\2\103\4\uffff\3\103\1\uffff\2\103\2\uffff\1\103\1\u0149\1\uffff\1\103\2\uffff\1\103\1\u014c\1\103\1\u014e\1\u014f\1\uffff\1\u0150\1\103\2\u010c\4\103\1\u0158\1\103\1\uffff\1\u015a\1\103\1\uffff\1\103\3\uffff\1\103\2\uffff\1\u0160\1\u0161\2\103\1\uffff\1\u0164\1\uffff\1\103\1\u0166\1\103\4\uffff\1\103\1\u016b\1\uffff\1\u016c\1\uffff\1\103\2\uffff\1\103\2\uffff\1\u0171\2\u010c\1\u0172\2\uffff"; - static final String DFA33_eofS = + protected DFA31 dfa31 = new DFA31(this); + static final String DFA31_eotS = + "\2\uffff\1\67\1\uffff\1\74\1\uffff\1\100\6\103\1\uffff\10\103\2\uffff\1\136\10\uffff\1\103\2\uffff\2\103\1\154\1\62\1\uffff\1\157\2\62\3\uffff\3\157\4\uffff\1\157\12\uffff\2\103\1\uffff\2\103\1\u0085\5\103\1\uffff\15\103\1\u0099\1\103\13\uffff\1\103\2\uffff\2\103\1\uffff\1\154\1\157\5\uffff\3\157\6\uffff\10\103\1\uffff\4\103\1\uffff\16\103\1\uffff\4\103\1\154\1\157\6\uffff\4\103\1\u00ce\5\103\1\u00d4\2\103\1\u00d8\2\103\1\u00db\1\u00dd\5\103\1\u00e3\4\103\1\u00e8\1\u00e9\1\103\1\uffff\1\157\1\uffff\1\160\1\uffff\4\103\1\uffff\4\103\1\u00f7\1\uffff\3\103\1\uffff\2\103\1\uffff\1\103\1\uffff\3\103\1\u0104\1\103\1\uffff\4\103\2\uffff\1\103\1\uffff\1\u010c\1\160\1\u010c\4\103\1\u0114\3\103\2\uffff\13\103\1\uffff\4\103\1\u0127\1\u0128\5\uffff\2\103\1\u012e\1\103\1\uffff\1\103\1\u0131\1\u0132\2\103\1\u0135\1\103\1\u0137\1\u0138\5\103\1\uffff\1\u013e\2\103\4\uffff\3\103\1\uffff\2\103\2\uffff\1\103\1\u0149\1\uffff\1\103\2\uffff\1\103\1\u014c\1\103\1\u014e\1\u014f\1\uffff\1\u0150\1\103\2\u010c\4\103\1\u0158\1\103\1\uffff\1\u015a\1\103\1\uffff\1\103\3\uffff\1\103\2\uffff\1\u0160\1\u0161\2\103\1\uffff\1\u0164\1\uffff\1\103\1\u0166\1\103\4\uffff\1\103\1\u016b\1\uffff\1\u016c\1\uffff\1\103\2\uffff\1\103\2\uffff\1\u0171\2\u010c\1\u0172\2\uffff"; + static final String DFA31_eofS = "\u0173\uffff"; - static final String DFA33_minS = - "\1\0\1\uffff\1\55\1\uffff\1\52\1\uffff\1\52\1\141\1\151\1\155\1\141\1\163\1\141\1\uffff\3\141\1\151\2\145\1\156\1\163\2\uffff\1\60\10\uffff\1\165\2\uffff\1\151\1\141\1\60\1\137\1\uffff\1\56\2\0\3\uffff\3\56\3\uffff\1\40\1\uffff\1\56\1\uffff\1\0\1\uffff\1\40\5\uffff\1\143\1\151\1\uffff\1\164\1\160\1\60\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\151\1\156\1\164\1\161\1\145\1\60\1\163\13\uffff\1\154\2\uffff\1\166\1\163\1\60\1\uffff\1\56\5\uffff\3\56\1\uffff\1\40\4\uffff\1\153\1\141\1\166\1\147\1\150\1\157\1\164\1\151\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\2\143\1\164\1\147\1\163\2\165\1\162\1\uffff\1\151\1\154\1\145\1\164\1\72\1\56\2\60\1\uffff\1\60\2\uffff\1\141\1\155\1\141\1\162\1\60\1\162\1\151\1\156\1\144\1\145\1\60\1\144\1\141\1\60\1\145\1\163\2\60\1\154\1\164\1\153\1\145\1\154\1\60\1\162\1\151\1\141\1\147\2\60\1\145\1\uffff\1\55\3\60\1\147\1\145\1\164\1\145\1\uffff\1\164\1\141\2\145\1\60\1\uffff\1\40\1\142\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\60\1\145\1\uffff\1\156\1\162\1\164\1\156\2\uffff\1\162\1\uffff\1\53\1\56\1\53\1\145\1\164\1\145\1\163\1\60\1\154\1\144\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\145\1\156\1\uffff\1\55\1\163\1\145\1\151\3\60\3\uffff\1\60\1\144\1\145\1\60\1\163\1\uffff\1\154\2\60\1\144\1\145\1\60\1\163\2\60\1\145\1\164\1\151\1\146\1\144\1\uffff\1\60\1\163\1\157\2\uffff\2\60\1\145\1\156\1\162\1\uffff\1\151\1\171\2\uffff\1\145\1\60\1\uffff\1\164\2\uffff\1\144\1\60\1\156\2\60\1\uffff\1\60\1\156\2\53\1\146\1\144\1\151\1\156\1\60\1\146\1\uffff\1\60\1\142\1\uffff\1\164\3\uffff\1\144\4\60\1\172\1\147\1\uffff\1\60\1\uffff\1\171\1\60\1\145\2\60\2\uffff\1\145\1\60\1\uffff\1\60\1\uffff\1\146\2\60\1\144\2\uffff\1\60\2\53\1\60\2\uffff"; - static final String DFA33_maxS = - "\1\uffff\1\uffff\1\76\1\uffff\1\57\1\uffff\1\56\1\162\1\151\1\156\1\157\1\163\1\171\1\uffff\1\141\1\162\1\157\1\165\2\145\1\160\1\163\2\uffff\1\172\10\uffff\1\165\2\uffff\1\151\1\141\1\62\1\172\1\uffff\1\71\2\uffff\3\uffff\3\71\3\uffff\1\55\1\uffff\1\71\1\uffff\1\uffff\1\uffff\1\55\5\uffff\1\162\1\157\1\uffff\1\164\1\160\1\172\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\151\1\156\2\164\1\145\1\172\1\163\13\uffff\1\154\2\uffff\1\166\1\163\1\71\1\uffff\1\72\5\uffff\2\71\1\72\1\uffff\1\55\4\uffff\1\153\1\141\1\166\1\147\1\150\1\157\1\164\1\151\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\1\163\1\143\1\164\1\147\1\163\2\165\1\162\1\uffff\1\151\1\154\1\145\1\164\1\72\1\71\1\65\1\71\1\uffff\1\65\2\uffff\1\141\1\155\1\141\1\162\1\172\1\162\1\151\1\156\1\144\1\145\1\172\1\144\1\141\1\172\1\145\1\163\2\172\1\154\1\164\1\153\1\145\1\154\1\172\1\162\1\151\1\141\1\147\2\172\1\145\1\uffff\4\71\1\147\1\145\1\164\1\145\1\uffff\1\164\1\141\2\145\1\172\1\uffff\1\40\1\156\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\172\1\145\1\uffff\1\156\1\162\1\164\1\156\2\uffff\1\162\1\uffff\1\160\1\56\1\132\1\145\1\164\1\145\1\163\1\172\1\154\1\144\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\145\1\156\1\uffff\1\55\1\163\1\145\1\151\2\172\1\66\3\uffff\1\66\2\145\1\172\1\163\1\uffff\1\154\2\172\1\144\1\145\1\172\1\163\2\172\1\145\1\164\1\151\1\146\1\144\1\uffff\1\172\1\163\1\157\2\uffff\2\71\1\145\1\156\1\162\1\uffff\1\151\1\171\2\uffff\1\145\1\172\1\uffff\1\164\2\uffff\1\144\1\172\1\156\2\172\1\uffff\1\172\1\156\1\160\1\132\1\146\1\144\1\151\1\156\1\172\1\146\1\uffff\1\172\1\142\1\uffff\1\164\3\uffff\1\144\2\71\3\172\1\147\1\uffff\1\172\1\uffff\1\171\1\172\1\145\2\71\2\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\146\2\71\1\144\2\uffff\1\172\1\160\1\132\1\172\2\uffff"; - static final String DFA33_acceptS = - "\1\uffff\1\1\1\uffff\1\3\1\uffff\1\5\7\uffff\1\16\10\uffff\1\41\1\43\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\uffff\1\62\1\63\4\uffff\1\101\3\uffff\1\115\1\116\1\100\3\uffff\1\125\1\1\1\36\1\uffff\1\2\1\uffff\1\3\1\uffff\1\106\1\uffff\1\4\1\5\1\6\1\65\1\64\2\uffff\1\101\10\uffff\1\16\17\uffff\1\41\1\43\1\46\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\uffff\1\62\1\63\3\uffff\1\100\1\uffff\1\103\1\102\1\104\1\115\1\116\3\uffff\1\107\1\uffff\1\105\1\113\1\111\1\112\10\uffff\1\37\4\uffff\1\30\16\uffff\1\47\10\uffff\1\122\1\uffff\1\110\1\114\37\uffff\1\120\10\uffff\1\10\5\uffff\1\14\3\uffff\1\40\2\uffff\1\76\1\uffff\1\44\5\uffff\1\24\4\uffff\1\61\1\73\1\uffff\1\117\13\uffff\1\77\1\15\13\uffff\1\51\7\uffff\1\123\1\124\1\121\5\uffff\1\12\16\uffff\1\67\3\uffff\1\35\1\75\5\uffff\1\66\2\uffff\1\70\1\13\2\uffff\1\20\1\uffff\1\45\1\21\5\uffff\1\25\12\uffff\1\32\2\uffff\1\34\1\uffff\1\22\1\23\1\26\7\uffff\1\33\1\uffff\1\42\5\uffff\1\7\1\11\2\uffff\1\17\1\uffff\1\72\4\uffff\1\74\1\27\4\uffff\1\31\1\71"; - static final String DFA33_specialS = - "\1\1\51\uffff\1\3\1\0\15\uffff\1\2\u0139\uffff}>"; - static final String[] DFA33_transitionS = { + static final String DFA31_minS = + "\1\0\1\uffff\1\55\1\uffff\1\52\1\uffff\1\52\1\141\1\151\1\155\1\141\1\163\1\141\1\uffff\3\141\1\151\2\145\1\156\1\163\2\uffff\1\60\10\uffff\1\165\2\uffff\1\151\1\141\1\60\1\137\1\uffff\1\56\2\0\3\uffff\3\56\3\uffff\1\40\1\56\2\uffff\1\0\1\uffff\1\40\5\uffff\1\143\1\151\1\uffff\1\164\1\160\1\60\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\151\1\156\1\164\1\161\1\145\1\60\1\163\13\uffff\1\154\2\uffff\1\166\1\163\1\uffff\1\60\1\56\5\uffff\3\56\1\uffff\1\40\4\uffff\1\153\1\141\1\166\1\147\1\150\1\157\1\164\1\151\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\2\143\1\164\1\147\1\163\2\165\1\162\1\uffff\1\151\1\154\1\145\1\164\1\72\1\56\2\60\1\uffff\1\60\2\uffff\1\141\1\155\1\141\1\162\1\60\1\162\1\151\1\156\1\144\1\145\1\60\1\144\1\141\1\60\1\145\1\163\2\60\1\154\1\164\1\153\1\145\1\154\1\60\1\162\1\151\1\141\1\147\2\60\1\145\1\uffff\1\55\3\60\1\147\1\145\1\164\1\145\1\uffff\1\164\1\141\2\145\1\60\1\uffff\1\40\1\142\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\60\1\145\1\uffff\1\156\1\162\1\164\1\156\2\uffff\1\162\1\uffff\1\53\1\56\1\53\1\145\1\164\1\145\1\163\1\60\1\154\1\144\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\145\1\156\1\uffff\1\55\1\163\1\145\1\151\3\60\3\uffff\1\60\1\144\1\145\1\60\1\163\1\uffff\1\154\2\60\1\144\1\145\1\60\1\163\2\60\1\145\1\164\1\151\1\146\1\144\1\uffff\1\60\1\163\1\157\2\uffff\2\60\1\145\1\156\1\162\1\uffff\1\151\1\171\2\uffff\1\145\1\60\1\uffff\1\164\2\uffff\1\144\1\60\1\156\2\60\1\uffff\1\60\1\156\2\53\1\146\1\144\1\151\1\156\1\60\1\146\1\uffff\1\60\1\142\1\uffff\1\164\3\uffff\1\144\4\60\1\172\1\147\1\uffff\1\60\1\uffff\1\171\1\60\1\145\2\60\2\uffff\1\145\1\60\1\uffff\1\60\1\uffff\1\146\2\60\1\144\2\uffff\1\60\2\53\1\60\2\uffff"; + static final String DFA31_maxS = + "\1\uffff\1\uffff\1\76\1\uffff\1\57\1\uffff\1\56\1\162\1\151\1\156\1\157\1\163\1\171\1\uffff\1\141\1\162\1\157\1\165\2\145\1\160\1\163\2\uffff\1\172\10\uffff\1\165\2\uffff\1\151\1\141\1\62\1\172\1\uffff\1\71\2\uffff\3\uffff\3\71\3\uffff\1\55\1\71\2\uffff\1\uffff\1\uffff\1\55\5\uffff\1\162\1\157\1\uffff\1\164\1\160\1\172\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\151\1\156\2\164\1\145\1\172\1\163\13\uffff\1\154\2\uffff\1\166\1\163\1\uffff\1\71\1\72\5\uffff\2\71\1\72\1\uffff\1\55\4\uffff\1\153\1\141\1\166\1\147\1\150\1\157\1\164\1\151\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\1\163\1\143\1\164\1\147\1\163\2\165\1\162\1\uffff\1\151\1\154\1\145\1\164\1\72\1\71\1\65\1\71\1\uffff\1\65\2\uffff\1\141\1\155\1\141\1\162\1\172\1\162\1\151\1\156\1\144\1\145\1\172\1\144\1\141\1\172\1\145\1\163\2\172\1\154\1\164\1\153\1\145\1\154\1\172\1\162\1\151\1\141\1\147\2\172\1\145\1\uffff\4\71\1\147\1\145\1\164\1\145\1\uffff\1\164\1\141\2\145\1\172\1\uffff\1\40\1\156\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\172\1\145\1\uffff\1\156\1\162\1\164\1\156\2\uffff\1\162\1\uffff\1\160\1\56\1\132\1\145\1\164\1\145\1\163\1\172\1\154\1\144\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\145\1\156\1\uffff\1\55\1\163\1\145\1\151\2\172\1\66\3\uffff\1\66\2\145\1\172\1\163\1\uffff\1\154\2\172\1\144\1\145\1\172\1\163\2\172\1\145\1\164\1\151\1\146\1\144\1\uffff\1\172\1\163\1\157\2\uffff\2\71\1\145\1\156\1\162\1\uffff\1\151\1\171\2\uffff\1\145\1\172\1\uffff\1\164\2\uffff\1\144\1\172\1\156\2\172\1\uffff\1\172\1\156\1\160\1\132\1\146\1\144\1\151\1\156\1\172\1\146\1\uffff\1\172\1\142\1\uffff\1\164\3\uffff\1\144\2\71\3\172\1\147\1\uffff\1\172\1\uffff\1\171\1\172\1\145\2\71\2\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\146\2\71\1\144\2\uffff\1\172\1\160\1\132\1\172\2\uffff"; + static final String DFA31_acceptS = + "\1\uffff\1\1\1\uffff\1\3\1\uffff\1\5\7\uffff\1\16\10\uffff\1\41\1\43\1\uffff\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\uffff\1\62\1\63\4\uffff\1\101\3\uffff\1\115\1\116\1\100\3\uffff\1\125\1\1\1\36\2\uffff\1\2\1\3\1\uffff\1\106\1\uffff\1\4\1\5\1\6\1\65\1\64\2\uffff\1\101\10\uffff\1\16\17\uffff\1\41\1\43\1\46\1\50\1\52\1\53\1\54\1\55\1\56\1\57\1\60\1\uffff\1\62\1\63\2\uffff\1\100\2\uffff\1\102\1\103\1\104\1\115\1\116\3\uffff\1\107\1\uffff\1\105\1\113\1\111\1\112\10\uffff\1\37\4\uffff\1\30\16\uffff\1\47\10\uffff\1\122\1\uffff\1\110\1\114\37\uffff\1\120\10\uffff\1\10\5\uffff\1\14\3\uffff\1\40\2\uffff\1\76\1\uffff\1\44\5\uffff\1\24\4\uffff\1\61\1\73\1\uffff\1\117\13\uffff\1\77\1\15\13\uffff\1\51\7\uffff\1\123\1\124\1\121\5\uffff\1\12\16\uffff\1\67\3\uffff\1\35\1\75\5\uffff\1\66\2\uffff\1\70\1\13\2\uffff\1\20\1\uffff\1\45\1\21\5\uffff\1\25\12\uffff\1\32\2\uffff\1\34\1\uffff\1\22\1\23\1\26\7\uffff\1\33\1\uffff\1\42\5\uffff\1\7\1\11\2\uffff\1\17\1\uffff\1\72\4\uffff\1\74\1\27\4\uffff\1\31\1\71"; + static final String DFA31_specialS = + "\1\3\51\uffff\1\2\1\0\15\uffff\1\1\u0139\uffff}>"; + static final String[] DFA31_transitionS = { "\11\62\1\54\1\55\2\62\1\55\22\62\1\54\1\62\1\52\1\40\1\62\1\5\1\62\1\53\1\32\1\33\1\3\1\1\1\31\1\2\1\6\1\4\2\51\1\61\1\57\6\60\1\15\1\62\1\36\1\26\1\37\2\62\23\56\1\46\6\56\1\34\1\62\1\35\1\47\1\50\1\62\1\25\1\14\1\20\2\50\1\12\1\22\1\50\1\11\2\50\1\44\1\45\1\41\1\24\1\7\1\50\1\23\1\21\1\17\1\13\1\16\1\10\1\30\2\50\1\42\1\27\1\43\uff82\62", "", - "\1\65\2\uffff\12\67\4\uffff\1\64", + "\1\65\2\uffff\12\66\4\uffff\1\64", "", "\1\71\2\uffff\1\73\1\uffff\1\72", "", @@ -3571,24 +3535,24 @@ public void mTokens() throws RecognitionException { "", "\1\152", "\1\153", - "\3\154", + "\3\155", "\1\103\1\uffff\32\103", "", - "\1\157\1\uffff\12\156", + "\1\160\1\uffff\12\156", "\0\161", "\0\161", "", "", "", - "\1\157\1\uffff\12\164", - "\1\157\1\uffff\12\165", - "\1\157\1\uffff\12\166", + "\1\160\1\uffff\12\164", + "\1\160\1\uffff\12\165", + "\1\160\1\uffff\12\166", "", "", "", "\1\167\14\uffff\1\170", + "\1\160\1\uffff\12\66", "", - "\1\157\1\uffff\12\67", "", "\52\171\1\172\uffd5\171", "", @@ -3641,8 +3605,8 @@ public void mTokens() throws RecognitionException { "", "\1\u009c", "\1\u009d", - "\12\u009e", "", + "\12\u009e", "\1\u00a1\1\u00a2\12\u009f\1\u00a0", "", "", @@ -3650,7 +3614,7 @@ public void mTokens() throws RecognitionException { "", "", "\1\u00a1\1\uffff\12\u009f", - "\1\157\1\uffff\12\u009f", + "\1\160\1\uffff\12\u009f", "\1\u00a1\1\uffff\12\u009f\1\u00a3", "", "\1\u00a4\14\uffff\1\u00a5", @@ -3692,9 +3656,9 @@ public void mTokens() throws RecognitionException { "\1\u00c3", "\1\u00c4", "\1\u00c5", - "\1\157\1\uffff\12\u00c6", + "\1\160\1\uffff\12\u00c6", "\6\u00c7", - "\2\u00c8\10\157", + "\2\u00c8\10\160", "", "\6\u00c9", "", @@ -3731,7 +3695,7 @@ public void mTokens() throws RecognitionException { "\12\103\7\uffff\32\103\4\uffff\1\103\1\uffff\32\103", "\1\u00ea", "", - "\1\u00eb\1\157\1\uffff\12\67", + "\1\u00eb\1\160\1\uffff\12\66", "\12\u00ec", "\12\u00ed", "\12\u00ee", @@ -3906,34 +3870,34 @@ public void mTokens() throws RecognitionException { "" }; - static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS); - static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS); - static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS); - static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS); - static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS); - static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS); - static final short[][] DFA33_transition; + static final short[] DFA31_eot = DFA.unpackEncodedString(DFA31_eotS); + static final short[] DFA31_eof = DFA.unpackEncodedString(DFA31_eofS); + static final char[] DFA31_min = DFA.unpackEncodedStringToUnsignedChars(DFA31_minS); + static final char[] DFA31_max = DFA.unpackEncodedStringToUnsignedChars(DFA31_maxS); + static final short[] DFA31_accept = DFA.unpackEncodedString(DFA31_acceptS); + static final short[] DFA31_special = DFA.unpackEncodedString(DFA31_specialS); + static final short[][] DFA31_transition; static { - int numStates = DFA33_transitionS.length; - DFA33_transition = new short[numStates][]; + int numStates = DFA31_transitionS.length; + DFA31_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA33_43<='\uFFFF')) ) {s = 113;} + if ( ((LA31_43>='\u0000' && LA31_43<='\uFFFF')) ) {s = 113;} else s = 50; if ( s>=0 ) return s; break; case 1 : - int LA33_0 = input.LA(1); + int LA31_57 = input.LA(1); s = -1; - if ( (LA33_0=='+') ) {s = 1;} + if ( ((LA31_57>='\u0000' && LA31_57<=')')||(LA31_57>='+' && LA31_57<='\uFFFF')) ) {s = 121;} - else if ( (LA33_0=='-') ) {s = 2;} + else if ( (LA31_57=='*') ) {s = 122;} - else if ( (LA33_0=='*') ) {s = 3;} + if ( s>=0 ) return s; + break; + case 2 : + int LA31_42 = input.LA(1); - else if ( (LA33_0=='/') ) {s = 4;} + s = -1; + if ( ((LA31_42>='\u0000' && LA31_42<='\uFFFF')) ) {s = 113;} - else if ( (LA33_0=='%') ) {s = 5;} + else s = 50; - else if ( (LA33_0=='.') ) {s = 6;} + if ( s>=0 ) return s; + break; + case 3 : + int LA31_0 = input.LA(1); - else if ( (LA33_0=='p') ) {s = 7;} + s = -1; + if ( (LA31_0=='+') ) {s = 1;} - else if ( (LA33_0=='w') ) {s = 8;} + else if ( (LA31_0=='-') ) {s = 2;} - else if ( (LA33_0=='i') ) {s = 9;} + else if ( (LA31_0=='*') ) {s = 3;} - else if ( (LA33_0=='f') ) {s = 10;} + else if ( (LA31_0=='/') ) {s = 4;} - else if ( (LA33_0=='u') ) {s = 11;} + else if ( (LA31_0=='%') ) {s = 5;} - else if ( (LA33_0=='b') ) {s = 12;} + else if ( (LA31_0=='.') ) {s = 6;} - else if ( (LA33_0==':') ) {s = 13;} + else if ( (LA31_0=='p') ) {s = 7;} - else if ( (LA33_0=='v') ) {s = 14;} + else if ( (LA31_0=='w') ) {s = 8;} - else if ( (LA33_0=='t') ) {s = 15;} + else if ( (LA31_0=='i') ) {s = 9;} - else if ( (LA33_0=='c') ) {s = 16;} + else if ( (LA31_0=='f') ) {s = 10;} - else if ( (LA33_0=='s') ) {s = 17;} + else if ( (LA31_0=='u') ) {s = 11;} - else if ( (LA33_0=='g') ) {s = 18;} + else if ( (LA31_0=='b') ) {s = 12;} - else if ( (LA33_0=='r') ) {s = 19;} + else if ( (LA31_0==':') ) {s = 13;} - else if ( (LA33_0=='o') ) {s = 20;} + else if ( (LA31_0=='v') ) {s = 14;} - else if ( (LA33_0=='a') ) {s = 21;} + else if ( (LA31_0=='t') ) {s = 15;} - else if ( (LA33_0=='=') ) {s = 22;} + else if ( (LA31_0=='c') ) {s = 16;} - else if ( (LA33_0=='|') ) {s = 23;} + else if ( (LA31_0=='s') ) {s = 17;} - else if ( (LA33_0=='x') ) {s = 24;} + else if ( (LA31_0=='g') ) {s = 18;} - else if ( (LA33_0==',') ) {s = 25;} + else if ( (LA31_0=='r') ) {s = 19;} - else if ( (LA33_0=='(') ) {s = 26;} + else if ( (LA31_0=='o') ) {s = 20;} - else if ( (LA33_0==')') ) {s = 27;} + else if ( (LA31_0=='a') ) {s = 21;} - else if ( (LA33_0=='[') ) {s = 28;} + else if ( (LA31_0=='=') ) {s = 22;} - else if ( (LA33_0==']') ) {s = 29;} + else if ( (LA31_0=='|') ) {s = 23;} - else if ( (LA33_0=='<') ) {s = 30;} + else if ( (LA31_0=='x') ) {s = 24;} - else if ( (LA33_0=='>') ) {s = 31;} + else if ( (LA31_0==',') ) {s = 25;} - else if ( (LA33_0=='#') ) {s = 32;} + else if ( (LA31_0=='(') ) {s = 26;} - else if ( (LA33_0=='n') ) {s = 33;} + else if ( (LA31_0==')') ) {s = 27;} - else if ( (LA33_0=='{') ) {s = 34;} + else if ( (LA31_0=='[') ) {s = 28;} - else if ( (LA33_0=='}') ) {s = 35;} + else if ( (LA31_0==']') ) {s = 29;} - else if ( (LA33_0=='l') ) {s = 36;} + else if ( (LA31_0=='<') ) {s = 30;} - else if ( (LA33_0=='m') ) {s = 37;} + else if ( (LA31_0=='>') ) {s = 31;} - else if ( (LA33_0=='T') ) {s = 38;} + else if ( (LA31_0=='#') ) {s = 32;} - else if ( (LA33_0=='^') ) {s = 39;} + else if ( (LA31_0=='n') ) {s = 33;} - else if ( (LA33_0=='_'||(LA33_0>='d' && LA33_0<='e')||LA33_0=='h'||(LA33_0>='j' && LA33_0<='k')||LA33_0=='q'||(LA33_0>='y' && LA33_0<='z')) ) {s = 40;} + else if ( (LA31_0=='{') ) {s = 34;} - else if ( ((LA33_0>='0' && LA33_0<='1')) ) {s = 41;} + else if ( (LA31_0=='}') ) {s = 35;} - else if ( (LA33_0=='\"') ) {s = 42;} + else if ( (LA31_0=='l') ) {s = 36;} - else if ( (LA33_0=='\'') ) {s = 43;} + else if ( (LA31_0=='m') ) {s = 37;} - else if ( (LA33_0=='\t'||LA33_0==' ') ) {s = 44;} + else if ( (LA31_0=='T') ) {s = 38;} - else if ( (LA33_0=='\n'||LA33_0=='\r') ) {s = 45;} + else if ( (LA31_0=='^') ) {s = 39;} - else if ( ((LA33_0>='A' && LA33_0<='S')||(LA33_0>='U' && LA33_0<='Z')) ) {s = 46;} + else if ( (LA31_0=='_'||(LA31_0>='d' && LA31_0<='e')||LA31_0=='h'||(LA31_0>='j' && LA31_0<='k')||LA31_0=='q'||(LA31_0>='y' && LA31_0<='z')) ) {s = 40;} - else if ( (LA33_0=='3') ) {s = 47;} + else if ( ((LA31_0>='0' && LA31_0<='1')) ) {s = 41;} - else if ( ((LA33_0>='4' && LA33_0<='9')) ) {s = 48;} + else if ( (LA31_0=='\"') ) {s = 42;} - else if ( (LA33_0=='2') ) {s = 49;} + else if ( (LA31_0=='\'') ) {s = 43;} - else if ( ((LA33_0>='\u0000' && LA33_0<='\b')||(LA33_0>='\u000B' && LA33_0<='\f')||(LA33_0>='\u000E' && LA33_0<='\u001F')||LA33_0=='!'||LA33_0=='$'||LA33_0=='&'||LA33_0==';'||(LA33_0>='?' && LA33_0<='@')||LA33_0=='\\'||LA33_0=='`'||(LA33_0>='~' && LA33_0<='\uFFFF')) ) {s = 50;} + else if ( (LA31_0=='\t'||LA31_0==' ') ) {s = 44;} - if ( s>=0 ) return s; - break; - case 2 : - int LA33_57 = input.LA(1); + else if ( (LA31_0=='\n'||LA31_0=='\r') ) {s = 45;} - s = -1; - if ( ((LA33_57>='\u0000' && LA33_57<=')')||(LA33_57>='+' && LA33_57<='\uFFFF')) ) {s = 121;} + else if ( ((LA31_0>='A' && LA31_0<='S')||(LA31_0>='U' && LA31_0<='Z')) ) {s = 46;} - else if ( (LA33_57=='*') ) {s = 122;} + else if ( (LA31_0=='3') ) {s = 47;} - if ( s>=0 ) return s; - break; - case 3 : - int LA33_42 = input.LA(1); + else if ( ((LA31_0>='4' && LA31_0<='9')) ) {s = 48;} - s = -1; - if ( ((LA33_42>='\u0000' && LA33_42<='\uFFFF')) ) {s = 113;} + else if ( (LA31_0=='2') ) {s = 49;} - else s = 50; + else if ( ((LA31_0>='\u0000' && LA31_0<='\b')||(LA31_0>='\u000B' && LA31_0<='\f')||(LA31_0>='\u000E' && LA31_0<='\u001F')||LA31_0=='!'||LA31_0=='$'||LA31_0=='&'||LA31_0==';'||(LA31_0>='?' && LA31_0<='@')||LA31_0=='\\'||LA31_0=='`'||(LA31_0>='~' && LA31_0<='\uFFFF')) ) {s = 50;} if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 33, _s, input); + new NoViableAltException(getDescription(), 31, _s, input); error(nvae); throw nvae; } diff --git a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/DSL.xtextbin b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/DSL.xtextbin index e69282b8b..4057b6267 100644 Binary files a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/DSL.xtextbin and b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/DSL.xtextbin differ diff --git a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSL.g b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSL.g index 76d882ac7..c0ee03b12 100644 --- a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSL.g +++ b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSL.g @@ -6736,7 +6736,7 @@ RULE_STRING : ('"' ('\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|'\''|'\\')|~(('\\'|'"')))* RULE_ML_COMMENT : '/*' ~('*') ( options {greedy=false;} : . )*'*/'; -RULE_SL_COMMENT : '//' ~(('\n'|'\r'))* ('\r'? '\n')?; +RULE_SL_COMMENT : '//' ~(('\n'|'\r'))*; RULE_SL_VISIBLE_COMMENT : '-- ' ~(('\n'|'\r'))*; diff --git a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSLLexer.java b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSLLexer.java index 6f801ddd8..e0bdc1872 100644 --- a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSLLexer.java +++ b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/parser/antlr/internal/InternalDSLLexer.java @@ -1946,8 +1946,8 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { try { int _type = RULE_SL_COMMENT; int _channel = DEFAULT_TOKEN_CHANNEL; - // InternalDSL.g:6739:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? ) - // InternalDSL.g:6739:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* ( ( '\\r' )? '\\n' )? + // InternalDSL.g:6739:17: ( '//' (~ ( ( '\\n' | '\\r' ) ) )* ) + // InternalDSL.g:6739:19: '//' (~ ( ( '\\n' | '\\r' ) ) )* { match("//"); @@ -1984,42 +1984,6 @@ public final void mRULE_SL_COMMENT() throws RecognitionException { } } while (true); - // InternalDSL.g:6739:40: ( ( '\\r' )? '\\n' )? - int alt15=2; - int LA15_0 = input.LA(1); - - if ( (LA15_0=='\n'||LA15_0=='\r') ) { - alt15=1; - } - switch (alt15) { - case 1 : - // InternalDSL.g:6739:41: ( '\\r' )? '\\n' - { - // InternalDSL.g:6739:41: ( '\\r' )? - int alt14=2; - int LA14_0 = input.LA(1); - - if ( (LA14_0=='\r') ) { - alt14=1; - } - switch (alt14) { - case 1 : - // InternalDSL.g:6739:41: '\\r' - { - match('\r'); - - } - break; - - } - - match('\n'); - - } - break; - - } - } @@ -2042,17 +2006,17 @@ public final void mRULE_SL_VISIBLE_COMMENT() throws RecognitionException { match("-- "); // InternalDSL.g:6741:33: (~ ( ( '\\n' | '\\r' ) ) )* - loop16: + loop14: do { - int alt16=2; - int LA16_0 = input.LA(1); + int alt14=2; + int LA14_0 = input.LA(1); - if ( ((LA16_0>='\u0000' && LA16_0<='\t')||(LA16_0>='\u000B' && LA16_0<='\f')||(LA16_0>='\u000E' && LA16_0<='\uFFFF')) ) { - alt16=1; + if ( ((LA14_0>='\u0000' && LA14_0<='\t')||(LA14_0>='\u000B' && LA14_0<='\f')||(LA14_0>='\u000E' && LA14_0<='\uFFFF')) ) { + alt14=1; } - switch (alt16) { + switch (alt14) { case 1 : // InternalDSL.g:6741:33: ~ ( ( '\\n' | '\\r' ) ) { @@ -2070,7 +2034,7 @@ public final void mRULE_SL_VISIBLE_COMMENT() throws RecognitionException { break; default : - break loop16; + break loop14; } } while (true); @@ -2096,17 +2060,17 @@ public final void mRULE_SL_VISIBLE_TITLE_COMMENT() throws RecognitionException { match("--- "); // InternalDSL.g:6743:40: (~ ( ( '\\n' | '\\r' ) ) )* - loop17: + loop15: do { - int alt17=2; - int LA17_0 = input.LA(1); + int alt15=2; + int LA15_0 = input.LA(1); - if ( ((LA17_0>='\u0000' && LA17_0<='\t')||(LA17_0>='\u000B' && LA17_0<='\f')||(LA17_0>='\u000E' && LA17_0<='\uFFFF')) ) { - alt17=1; + if ( ((LA15_0>='\u0000' && LA15_0<='\t')||(LA15_0>='\u000B' && LA15_0<='\f')||(LA15_0>='\u000E' && LA15_0<='\uFFFF')) ) { + alt15=1; } - switch (alt17) { + switch (alt15) { case 1 : // InternalDSL.g:6743:40: ~ ( ( '\\n' | '\\r' ) ) { @@ -2124,7 +2088,7 @@ public final void mRULE_SL_VISIBLE_TITLE_COMMENT() throws RecognitionException { break; default : - break loop17; + break loop15; } } while (true); @@ -2150,29 +2114,29 @@ public final void mRULE_ML_VISIBLE_COMMENT() throws RecognitionException { match("/- "); // InternalDSL.g:6745:33: ( options {greedy=false; } : . )* - loop18: + loop16: do { - int alt18=2; - int LA18_0 = input.LA(1); + int alt16=2; + int LA16_0 = input.LA(1); - if ( (LA18_0=='-') ) { - int LA18_1 = input.LA(2); + if ( (LA16_0=='-') ) { + int LA16_1 = input.LA(2); - if ( (LA18_1=='/') ) { - alt18=2; + if ( (LA16_1=='/') ) { + alt16=2; } - else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { - alt18=1; + else if ( ((LA16_1>='\u0000' && LA16_1<='.')||(LA16_1>='0' && LA16_1<='\uFFFF')) ) { + alt16=1; } } - else if ( ((LA18_0>='\u0000' && LA18_0<=',')||(LA18_0>='.' && LA18_0<='\uFFFF')) ) { - alt18=1; + else if ( ((LA16_0>='\u0000' && LA16_0<=',')||(LA16_0>='.' && LA16_0<='\uFFFF')) ) { + alt16=1; } - switch (alt18) { + switch (alt16) { case 1 : // InternalDSL.g:6745:61: . { @@ -2182,7 +2146,7 @@ else if ( ((LA18_0>='\u0000' && LA18_0<=',')||(LA18_0>='.' && LA18_0<='\uFFFF')) break; default : - break loop18; + break loop16; } } while (true); @@ -2210,38 +2174,38 @@ public final void mRULE_ML_VISIBLE_TITLE_COMMENT() throws RecognitionException { match("/-- "); // InternalDSL.g:6747:40: ( options {greedy=false; } : . )* - loop19: + loop17: do { - int alt19=2; - int LA19_0 = input.LA(1); + int alt17=2; + int LA17_0 = input.LA(1); - if ( (LA19_0=='-') ) { - int LA19_1 = input.LA(2); + if ( (LA17_0=='-') ) { + int LA17_1 = input.LA(2); - if ( (LA19_1=='-') ) { - int LA19_3 = input.LA(3); + if ( (LA17_1=='-') ) { + int LA17_3 = input.LA(3); - if ( (LA19_3=='/') ) { - alt19=2; + if ( (LA17_3=='/') ) { + alt17=2; } - else if ( ((LA19_3>='\u0000' && LA19_3<='.')||(LA19_3>='0' && LA19_3<='\uFFFF')) ) { - alt19=1; + else if ( ((LA17_3>='\u0000' && LA17_3<='.')||(LA17_3>='0' && LA17_3<='\uFFFF')) ) { + alt17=1; } } - else if ( ((LA19_1>='\u0000' && LA19_1<=',')||(LA19_1>='.' && LA19_1<='\uFFFF')) ) { - alt19=1; + else if ( ((LA17_1>='\u0000' && LA17_1<=',')||(LA17_1>='.' && LA17_1<='\uFFFF')) ) { + alt17=1; } } - else if ( ((LA19_0>='\u0000' && LA19_0<=',')||(LA19_0>='.' && LA19_0<='\uFFFF')) ) { - alt19=1; + else if ( ((LA17_0>='\u0000' && LA17_0<=',')||(LA17_0>='.' && LA17_0<='\uFFFF')) ) { + alt17=1; } - switch (alt19) { + switch (alt17) { case 1 : // InternalDSL.g:6747:68: . { @@ -2251,7 +2215,7 @@ else if ( ((LA19_0>='\u0000' && LA19_0<=',')||(LA19_0>='.' && LA19_0<='\uFFFF')) break; default : - break loop19; + break loop17; } } while (true); @@ -2279,29 +2243,29 @@ public final void mRULE_ML_DOC_COMMENT() throws RecognitionException { match("/**"); // InternalDSL.g:6749:29: ( options {greedy=false; } : . )* - loop20: + loop18: do { - int alt20=2; - int LA20_0 = input.LA(1); + int alt18=2; + int LA18_0 = input.LA(1); - if ( (LA20_0=='*') ) { - int LA20_1 = input.LA(2); + if ( (LA18_0=='*') ) { + int LA18_1 = input.LA(2); - if ( (LA20_1=='/') ) { - alt20=2; + if ( (LA18_1=='/') ) { + alt18=2; } - else if ( ((LA20_1>='\u0000' && LA20_1<='.')||(LA20_1>='0' && LA20_1<='\uFFFF')) ) { - alt20=1; + else if ( ((LA18_1>='\u0000' && LA18_1<='.')||(LA18_1>='0' && LA18_1<='\uFFFF')) ) { + alt18=1; } } - else if ( ((LA20_0>='\u0000' && LA20_0<=')')||(LA20_0>='+' && LA20_0<='\uFFFF')) ) { - alt20=1; + else if ( ((LA18_0>='\u0000' && LA18_0<=')')||(LA18_0>='+' && LA18_0<='\uFFFF')) ) { + alt18=1; } - switch (alt20) { + switch (alt18) { case 1 : // InternalDSL.g:6749:57: . { @@ -2311,7 +2275,7 @@ else if ( ((LA20_0>='\u0000' && LA20_0<=')')||(LA20_0>='+' && LA20_0<='\uFFFF')) break; default : - break loop20; + break loop18; } } while (true); @@ -2339,17 +2303,17 @@ public final void mRULE_DIVIDER() throws RecognitionException { match("----"); // InternalDSL.g:6751:23: ( '-' )* - loop21: + loop19: do { - int alt21=2; - int LA21_0 = input.LA(1); + int alt19=2; + int LA19_0 = input.LA(1); - if ( (LA21_0=='-') ) { - alt21=1; + if ( (LA19_0=='-') ) { + alt19=1; } - switch (alt21) { + switch (alt19) { case 1 : // InternalDSL.g:6751:23: '-' { @@ -2359,7 +2323,7 @@ public final void mRULE_DIVIDER() throws RecognitionException { break; default : - break loop21; + break loop19; } } while (true); @@ -2383,18 +2347,18 @@ public final void mRULE_WS() throws RecognitionException { // InternalDSL.g:6753:11: ( ' ' | '\\t' )+ { // InternalDSL.g:6753:11: ( ' ' | '\\t' )+ - int cnt22=0; - loop22: + int cnt20=0; + loop20: do { - int alt22=2; - int LA22_0 = input.LA(1); + int alt20=2; + int LA20_0 = input.LA(1); - if ( (LA22_0=='\t'||LA22_0==' ') ) { - alt22=1; + if ( (LA20_0=='\t'||LA20_0==' ') ) { + alt20=1; } - switch (alt22) { + switch (alt20) { case 1 : // InternalDSL.g: { @@ -2412,12 +2376,12 @@ public final void mRULE_WS() throws RecognitionException { break; default : - if ( cnt22 >= 1 ) break loop22; + if ( cnt20 >= 1 ) break loop20; EarlyExitException eee = - new EarlyExitException(22, input); + new EarlyExitException(20, input); throw eee; } - cnt22++; + cnt20++; } while (true); @@ -2440,18 +2404,18 @@ public final void mRULE_NEWLINE() throws RecognitionException { // InternalDSL.g:6755:16: ( '\\r' | '\\n' )+ { // InternalDSL.g:6755:16: ( '\\r' | '\\n' )+ - int cnt23=0; - loop23: + int cnt21=0; + loop21: do { - int alt23=2; - int LA23_0 = input.LA(1); + int alt21=2; + int LA21_0 = input.LA(1); - if ( (LA23_0=='\n'||LA23_0=='\r') ) { - alt23=1; + if ( (LA21_0=='\n'||LA21_0=='\r') ) { + alt21=1; } - switch (alt23) { + switch (alt21) { case 1 : // InternalDSL.g: { @@ -2469,12 +2433,12 @@ public final void mRULE_NEWLINE() throws RecognitionException { break; default : - if ( cnt23 >= 1 ) break loop23; + if ( cnt21 >= 1 ) break loop21; EarlyExitException eee = - new EarlyExitException(23, input); + new EarlyExitException(21, input); throw eee; } - cnt23++; + cnt21++; } while (true); @@ -2526,35 +2490,35 @@ public final void mRULE_ISOTIME() throws RecognitionException { // InternalDSL.g:6759:16: ( 'T' RULE_TWENTYFOURHRSTIME ( RULE_ISOTIMEZONE )? | RULE_TWENTYFOURHRSTIME RULE_ISOTIMEZONE ) { // InternalDSL.g:6759:16: ( 'T' RULE_TWENTYFOURHRSTIME ( RULE_ISOTIMEZONE )? | RULE_TWENTYFOURHRSTIME RULE_ISOTIMEZONE ) - int alt25=2; - int LA25_0 = input.LA(1); + int alt23=2; + int LA23_0 = input.LA(1); - if ( (LA25_0=='T') ) { - alt25=1; + if ( (LA23_0=='T') ) { + alt23=1; } - else if ( ((LA25_0>='0' && LA25_0<='2')) ) { - alt25=2; + else if ( ((LA23_0>='0' && LA23_0<='2')) ) { + alt23=2; } else { NoViableAltException nvae = - new NoViableAltException("", 25, 0, input); + new NoViableAltException("", 23, 0, input); throw nvae; } - switch (alt25) { + switch (alt23) { case 1 : // InternalDSL.g:6759:17: 'T' RULE_TWENTYFOURHRSTIME ( RULE_ISOTIMEZONE )? { match('T'); mRULE_TWENTYFOURHRSTIME(); // InternalDSL.g:6759:44: ( RULE_ISOTIMEZONE )? - int alt24=2; - int LA24_0 = input.LA(1); + int alt22=2; + int LA22_0 = input.LA(1); - if ( (LA24_0=='+'||LA24_0=='-'||LA24_0=='Z') ) { - alt24=1; + if ( (LA22_0=='+'||LA22_0=='-'||LA22_0=='Z') ) { + alt22=1; } - switch (alt24) { + switch (alt22) { case 1 : // InternalDSL.g:6759:44: RULE_ISOTIMEZONE { @@ -2597,22 +2561,22 @@ public final void mRULE_ISOTIMEZONE() throws RecognitionException { // InternalDSL.g:6761:29: ( 'Z' | ( '+' | '-' ) '0' .. '2' '0' .. '9' ( ':' )? '0' .. '5' '0' .. '9' ) { // InternalDSL.g:6761:29: ( 'Z' | ( '+' | '-' ) '0' .. '2' '0' .. '9' ( ':' )? '0' .. '5' '0' .. '9' ) - int alt27=2; - int LA27_0 = input.LA(1); + int alt25=2; + int LA25_0 = input.LA(1); - if ( (LA27_0=='Z') ) { - alt27=1; + if ( (LA25_0=='Z') ) { + alt25=1; } - else if ( (LA27_0=='+'||LA27_0=='-') ) { - alt27=2; + else if ( (LA25_0=='+'||LA25_0=='-') ) { + alt25=2; } else { NoViableAltException nvae = - new NoViableAltException("", 27, 0, input); + new NoViableAltException("", 25, 0, input); throw nvae; } - switch (alt27) { + switch (alt25) { case 1 : // InternalDSL.g:6761:30: 'Z' { @@ -2635,13 +2599,13 @@ else if ( (LA27_0=='+'||LA27_0=='-') ) { matchRange('0','2'); matchRange('0','9'); // InternalDSL.g:6761:62: ( ':' )? - int alt26=2; - int LA26_0 = input.LA(1); + int alt24=2; + int LA24_0 = input.LA(1); - if ( (LA26_0==':') ) { - alt26=1; + if ( (LA24_0==':') ) { + alt24=1; } - switch (alt26) { + switch (alt24) { case 1 : // InternalDSL.g:6761:62: ':' { @@ -2741,13 +2705,13 @@ public final void mRULE_TWENTYFOURHRSTIME() throws RecognitionException { matchRange('0','5'); matchRange('0','9'); // InternalDSL.g:6767:66: ( ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? )? - int alt29=2; - int LA29_0 = input.LA(1); + int alt27=2; + int LA27_0 = input.LA(1); - if ( (LA29_0==':') ) { - alt29=1; + if ( (LA27_0==':') ) { + alt27=1; } - switch (alt29) { + switch (alt27) { case 1 : // InternalDSL.g:6767:67: ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? { @@ -2755,13 +2719,13 @@ public final void mRULE_TWENTYFOURHRSTIME() throws RecognitionException { matchRange('0','6'); matchRange('0','9'); // InternalDSL.g:6767:89: ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? - int alt28=2; - int LA28_0 = input.LA(1); + int alt26=2; + int LA26_0 = input.LA(1); - if ( (LA28_0=='.') ) { - alt28=1; + if ( (LA26_0=='.') ) { + alt26=1; } - switch (alt28) { + switch (alt26) { case 1 : // InternalDSL.g:6767:90: '.' '0' .. '9' '0' .. '9' '0' .. '9' { @@ -2806,13 +2770,13 @@ public final void mRULE_TWELVEHRSTIME() throws RecognitionException { matchRange('0','5'); matchRange('0','9'); // InternalDSL.g:6769:62: ( ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? )? - int alt31=2; - int LA31_0 = input.LA(1); + int alt29=2; + int LA29_0 = input.LA(1); - if ( (LA31_0==':') ) { - alt31=1; + if ( (LA29_0==':') ) { + alt29=1; } - switch (alt31) { + switch (alt29) { case 1 : // InternalDSL.g:6769:63: ':' '0' .. '6' '0' .. '9' ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? { @@ -2820,13 +2784,13 @@ public final void mRULE_TWELVEHRSTIME() throws RecognitionException { matchRange('0','6'); matchRange('0','9'); // InternalDSL.g:6769:85: ( '.' '0' .. '9' '0' .. '9' '0' .. '9' )? - int alt30=2; - int LA30_0 = input.LA(1); + int alt28=2; + int LA28_0 = input.LA(1); - if ( (LA30_0=='.') ) { - alt30=1; + if ( (LA28_0=='.') ) { + alt28=1; } - switch (alt30) { + switch (alt28) { case 1 : // InternalDSL.g:6769:86: '.' '0' .. '9' '0' .. '9' '0' .. '9' { @@ -2847,22 +2811,22 @@ public final void mRULE_TWELVEHRSTIME() throws RecognitionException { } // InternalDSL.g:6769:121: ( 'am' | 'pm' ) - int alt32=2; - int LA32_0 = input.LA(1); + int alt30=2; + int LA30_0 = input.LA(1); - if ( (LA32_0=='a') ) { - alt32=1; + if ( (LA30_0=='a') ) { + alt30=1; } - else if ( (LA32_0=='p') ) { - alt32=2; + else if ( (LA30_0=='p') ) { + alt30=2; } else { NoViableAltException nvae = - new NoViableAltException("", 32, 0, input); + new NoViableAltException("", 30, 0, input); throw nvae; } - switch (alt32) { + switch (alt30) { case 1 : // InternalDSL.g:6769:122: 'am' { @@ -2915,9 +2879,9 @@ public final void mRULE_ANY_OTHER() throws RecognitionException { public void mTokens() throws RecognitionException { // InternalDSL.g:1:8: ( T__29 | T__30 | T__31 | T__32 | T__33 | T__34 | T__35 | T__36 | T__37 | T__38 | T__39 | T__40 | T__41 | T__42 | T__43 | T__44 | T__45 | T__46 | T__47 | T__48 | T__49 | T__50 | T__51 | T__52 | T__53 | T__54 | T__55 | T__56 | T__57 | T__58 | T__59 | T__60 | T__61 | T__62 | T__63 | T__64 | T__65 | T__66 | T__67 | T__68 | T__69 | T__70 | T__71 | T__72 | T__73 | T__74 | T__75 | T__76 | T__77 | T__78 | T__79 | T__80 | T__81 | T__82 | T__83 | T__84 | T__85 | T__86 | T__87 | T__88 | T__89 | RULE_BOOLEAN_TRUE | RULE_BOOLEAN_FALSE | RULE_UPPERCASE_ID | RULE_ID | RULE_INTEGER | RULE_DECIMAL | RULE_STRING | RULE_ML_COMMENT | RULE_SL_COMMENT | RULE_SL_VISIBLE_COMMENT | RULE_SL_VISIBLE_TITLE_COMMENT | RULE_ML_VISIBLE_COMMENT | RULE_ML_VISIBLE_TITLE_COMMENT | RULE_ML_DOC_COMMENT | RULE_DIVIDER | RULE_WS | RULE_NEWLINE | RULE_ISODATE | RULE_ISOTIME | RULE_EURODATE | RULE_USDATE | RULE_TWENTYFOURHRSTIME | RULE_TWELVEHRSTIME | RULE_ANY_OTHER ) - int alt33=85; - alt33 = dfa33.predict(input); - switch (alt33) { + int alt31=85; + alt31 = dfa31.predict(input); + switch (alt31) { case 1 : // InternalDSL.g:1:10: T__29 { @@ -3519,20 +3483,20 @@ public void mTokens() throws RecognitionException { } - protected DFA33 dfa33 = new DFA33(this); - static final String DFA33_eotS = - "\1\uffff\6\65\1\uffff\10\65\1\120\2\uffff\1\65\1\125\1\65\4\uffff\1\136\1\uffff\1\142\6\uffff\1\65\2\uffff\1\155\1\62\1\uffff\1\160\2\62\3\uffff\3\160\1\uffff\2\65\1\uffff\2\65\1\177\5\65\1\uffff\15\65\1\u0093\1\65\3\uffff\1\160\2\uffff\1\65\1\uffff\1\65\22\uffff\1\65\2\uffff\1\155\1\uffff\1\160\5\uffff\3\160\10\65\1\uffff\4\65\1\uffff\16\65\1\uffff\1\65\2\uffff\2\65\4\uffff\1\65\1\155\1\160\4\uffff\4\65\1\u00ce\5\65\1\u00d4\2\65\1\u00d8\2\65\1\u00db\1\u00dd\5\65\1\u00e3\4\65\2\uffff\1\u00e8\1\65\1\u00ea\1\uffff\1\160\1\uffff\1\157\1\uffff\4\65\1\uffff\4\65\1\u00f7\1\uffff\3\65\1\uffff\2\65\1\uffff\1\65\1\uffff\4\65\1\u0105\1\uffff\4\65\1\uffff\1\65\2\uffff\1\u010c\1\157\1\u010c\4\65\1\u0114\3\65\2\uffff\14\65\1\uffff\3\65\1\u0127\1\u0128\5\uffff\2\65\1\u012e\1\65\1\uffff\1\u0130\1\65\1\u0132\2\65\1\u0135\1\65\1\u0137\1\u0138\3\65\1\uffff\2\65\1\u013e\2\65\4\uffff\3\65\1\uffff\1\65\1\uffff\1\65\1\uffff\1\65\1\u0149\1\uffff\1\65\2\uffff\1\65\1\u014c\1\65\1\u014e\1\u014f\1\uffff\1\u0150\1\65\2\u010c\4\65\1\u0158\1\65\1\uffff\1\u015a\1\65\1\uffff\1\65\3\uffff\1\65\2\uffff\1\u0160\1\u0161\2\65\1\uffff\1\u0164\1\uffff\1\65\1\u0166\1\65\4\uffff\1\65\1\u016b\1\uffff\1\u016c\1\uffff\1\65\2\uffff\1\65\2\uffff\1\u0171\2\u010c\1\u0172\2\uffff"; - static final String DFA33_eofS = + protected DFA31 dfa31 = new DFA31(this); + static final String DFA31_eotS = + "\1\uffff\6\65\1\uffff\10\65\1\120\2\uffff\1\65\1\125\1\65\4\uffff\1\136\1\uffff\1\142\6\uffff\1\65\2\uffff\1\154\1\62\1\uffff\1\157\2\62\3\uffff\3\157\1\uffff\2\65\1\uffff\2\65\1\177\5\65\1\uffff\15\65\1\u0093\1\65\3\uffff\1\157\2\uffff\1\65\1\uffff\1\65\22\uffff\1\65\3\uffff\1\154\1\157\5\uffff\3\157\10\65\1\uffff\4\65\1\uffff\16\65\1\uffff\1\65\2\uffff\2\65\4\uffff\1\65\1\154\1\157\4\uffff\4\65\1\u00ce\5\65\1\u00d4\2\65\1\u00d8\2\65\1\u00db\1\u00dd\5\65\1\u00e3\4\65\2\uffff\1\u00e8\1\65\1\u00ea\1\uffff\1\157\1\uffff\1\160\1\uffff\4\65\1\uffff\4\65\1\u00f7\1\uffff\3\65\1\uffff\2\65\1\uffff\1\65\1\uffff\4\65\1\u0105\1\uffff\4\65\1\uffff\1\65\2\uffff\1\u010c\1\160\1\u010c\4\65\1\u0114\3\65\2\uffff\14\65\1\uffff\3\65\1\u0127\1\u0128\5\uffff\2\65\1\u012e\1\65\1\uffff\1\u0130\1\65\1\u0132\2\65\1\u0135\1\65\1\u0137\1\u0138\3\65\1\uffff\2\65\1\u013e\2\65\4\uffff\3\65\1\uffff\1\65\1\uffff\1\65\1\uffff\1\65\1\u0149\1\uffff\1\65\2\uffff\1\65\1\u014c\1\65\1\u014e\1\u014f\1\uffff\1\u0150\1\65\2\u010c\4\65\1\u0158\1\65\1\uffff\1\u015a\1\65\1\uffff\1\65\3\uffff\1\65\2\uffff\1\u0160\1\u0161\2\65\1\uffff\1\u0164\1\uffff\1\65\1\u0166\1\65\4\uffff\1\65\1\u016b\1\uffff\1\u016c\1\uffff\1\65\2\uffff\1\65\2\uffff\1\u0171\2\u010c\1\u0172\2\uffff"; + static final String DFA31_eofS = "\u0173\uffff"; - static final String DFA33_minS = - "\1\0\1\141\1\151\1\155\1\141\1\163\1\141\1\uffff\3\141\1\151\2\145\1\156\1\163\1\55\2\uffff\1\151\1\60\1\141\4\uffff\1\52\1\uffff\1\52\6\uffff\1\165\2\uffff\1\60\1\137\1\uffff\1\56\2\0\3\uffff\3\56\1\uffff\1\143\1\151\1\uffff\1\164\1\160\1\60\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\156\1\151\1\164\1\161\1\145\1\60\1\163\1\uffff\1\40\1\uffff\1\56\2\uffff\1\166\1\uffff\1\163\4\uffff\1\0\1\uffff\1\40\13\uffff\1\154\2\uffff\1\60\1\uffff\1\56\5\uffff\3\56\1\153\1\141\1\166\1\147\1\150\1\157\1\151\1\164\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\2\143\1\147\1\164\1\163\2\165\1\162\1\uffff\1\151\1\uffff\1\40\1\145\1\164\4\uffff\1\154\1\72\1\56\2\60\1\uffff\1\60\1\141\1\155\1\141\1\162\1\60\1\162\1\156\1\151\1\144\1\145\1\60\1\144\1\141\1\60\1\145\1\163\2\60\1\154\1\164\1\153\1\154\1\145\1\60\1\162\1\151\1\141\1\147\2\uffff\1\60\1\145\1\60\1\uffff\1\55\3\60\1\147\1\145\1\164\1\145\1\uffff\1\164\1\145\1\141\1\145\1\60\1\uffff\1\40\1\142\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\145\1\60\1\uffff\1\156\1\162\1\164\1\156\1\uffff\1\162\2\uffff\1\53\1\56\1\53\1\145\1\164\1\145\1\163\1\60\1\144\1\154\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\55\1\145\1\156\1\uffff\1\163\1\145\1\151\3\60\3\uffff\1\60\1\144\1\145\1\60\1\163\1\uffff\1\60\1\154\1\60\1\144\1\145\1\60\1\163\2\60\1\145\1\164\1\151\1\uffff\1\146\1\144\1\60\1\163\1\157\2\uffff\2\60\1\145\1\156\1\162\1\uffff\1\151\1\uffff\1\171\1\uffff\1\145\1\60\1\uffff\1\164\2\uffff\1\144\1\60\1\156\2\60\1\uffff\1\60\1\156\2\53\1\146\1\144\1\151\1\156\1\60\1\146\1\uffff\1\60\1\142\1\uffff\1\164\3\uffff\1\144\4\60\1\172\1\147\1\uffff\1\60\1\uffff\1\171\1\60\1\145\2\60\2\uffff\1\145\1\60\1\uffff\1\60\1\uffff\1\146\2\60\1\144\2\uffff\1\60\2\53\1\60\2\uffff"; - static final String DFA33_maxS = - "\1\uffff\1\162\1\151\1\156\1\157\1\163\1\171\1\uffff\1\141\1\162\1\157\1\165\2\145\1\160\1\163\1\76\2\uffff\1\151\1\172\1\141\4\uffff\1\57\1\uffff\1\56\6\uffff\1\165\2\uffff\1\62\1\172\1\uffff\1\71\2\uffff\3\uffff\3\71\1\uffff\1\162\1\157\1\uffff\1\164\1\160\1\172\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\156\1\151\2\164\1\145\1\172\1\163\1\uffff\1\55\1\uffff\1\71\2\uffff\1\166\1\uffff\1\163\4\uffff\1\uffff\1\uffff\1\55\13\uffff\1\154\2\uffff\1\71\1\uffff\1\72\5\uffff\2\71\1\72\1\153\1\141\1\166\1\147\1\150\1\157\1\151\1\164\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\1\163\1\143\1\147\1\164\1\163\2\165\1\162\1\uffff\1\151\1\uffff\1\55\1\145\1\164\4\uffff\1\154\1\72\1\71\1\65\1\71\1\uffff\1\65\1\141\1\155\1\141\1\162\1\172\1\162\1\156\1\151\1\144\1\145\1\172\1\144\1\141\1\172\1\145\1\163\2\172\1\154\1\164\1\153\1\154\1\145\1\172\1\162\1\151\1\141\1\147\2\uffff\1\172\1\145\1\172\1\uffff\4\71\1\147\1\145\1\164\1\145\1\uffff\1\164\1\145\1\141\1\145\1\172\1\uffff\1\40\1\156\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\145\1\172\1\uffff\1\156\1\162\1\164\1\156\1\uffff\1\162\2\uffff\1\160\1\56\1\132\1\145\1\164\1\145\1\163\1\172\1\144\1\154\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\55\1\145\1\156\1\uffff\1\163\1\145\1\151\2\172\1\66\3\uffff\1\66\2\145\1\172\1\163\1\uffff\1\172\1\154\1\172\1\144\1\145\1\172\1\163\2\172\1\145\1\164\1\151\1\uffff\1\146\1\144\1\172\1\163\1\157\2\uffff\2\71\1\145\1\156\1\162\1\uffff\1\151\1\uffff\1\171\1\uffff\1\145\1\172\1\uffff\1\164\2\uffff\1\144\1\172\1\156\2\172\1\uffff\1\172\1\156\1\160\1\132\1\146\1\144\1\151\1\156\1\172\1\146\1\uffff\1\172\1\142\1\uffff\1\164\3\uffff\1\144\2\71\3\172\1\147\1\uffff\1\172\1\uffff\1\171\1\172\1\145\2\71\2\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\146\2\71\1\144\2\uffff\1\172\1\160\1\132\1\172\2\uffff"; - static final String DFA33_acceptS = - "\7\uffff\1\11\11\uffff\1\40\1\42\3\uffff\1\52\1\54\1\55\1\57\1\uffff\1\61\1\uffff\1\63\1\64\1\65\1\66\1\67\1\70\1\uffff\1\72\1\73\2\uffff\1\101\3\uffff\1\115\1\116\1\100\3\uffff\1\125\2\uffff\1\101\10\uffff\1\11\17\uffff\1\34\1\uffff\1\56\1\uffff\1\40\1\42\1\uffff\1\47\1\uffff\1\52\1\54\1\55\1\57\1\uffff\1\106\1\uffff\1\60\1\61\1\62\1\75\1\74\1\63\1\64\1\65\1\66\1\67\1\70\1\uffff\1\72\1\73\1\uffff\1\100\1\uffff\1\103\1\102\1\104\1\115\1\116\13\uffff\1\35\4\uffff\1\25\16\uffff\1\50\1\uffff\1\107\3\uffff\1\105\1\113\1\111\1\112\5\uffff\1\122\35\uffff\1\110\1\114\3\uffff\1\120\10\uffff\1\2\5\uffff\1\7\3\uffff\1\37\2\uffff\1\76\1\uffff\1\43\5\uffff\1\20\4\uffff\1\45\1\uffff\1\71\1\117\13\uffff\1\77\1\10\14\uffff\1\53\6\uffff\1\123\1\124\1\121\5\uffff\1\4\14\uffff\1\15\5\uffff\1\33\1\51\5\uffff\1\5\1\uffff\1\16\1\uffff\1\6\2\uffff\1\13\1\uffff\1\44\1\14\5\uffff\1\21\12\uffff\1\27\2\uffff\1\31\1\uffff\1\17\1\24\1\22\7\uffff\1\30\1\uffff\1\41\5\uffff\1\1\1\3\2\uffff\1\12\1\uffff\1\36\4\uffff\1\46\1\23\4\uffff\1\26\1\32"; - static final String DFA33_specialS = - "\1\3\51\uffff\1\2\1\0\57\uffff\1\1\u0117\uffff}>"; - static final String[] DFA33_transitionS = { + static final String DFA31_minS = + "\1\0\1\141\1\151\1\155\1\141\1\163\1\141\1\uffff\3\141\1\151\2\145\1\156\1\163\1\55\2\uffff\1\151\1\60\1\141\4\uffff\1\52\1\uffff\1\52\6\uffff\1\165\2\uffff\1\60\1\137\1\uffff\1\56\2\0\3\uffff\3\56\1\uffff\1\143\1\151\1\uffff\1\164\1\160\1\60\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\156\1\151\1\164\1\161\1\145\1\60\1\163\1\uffff\1\40\1\uffff\1\56\2\uffff\1\166\1\uffff\1\163\4\uffff\1\0\1\uffff\1\40\13\uffff\1\154\3\uffff\1\60\1\56\5\uffff\3\56\1\153\1\141\1\166\1\147\1\150\1\157\1\151\1\164\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\2\143\1\147\1\164\1\163\2\165\1\162\1\uffff\1\151\1\uffff\1\40\1\145\1\164\4\uffff\1\154\1\72\1\56\2\60\1\uffff\1\60\1\141\1\155\1\141\1\162\1\60\1\162\1\156\1\151\1\144\1\145\1\60\1\144\1\141\1\60\1\145\1\163\2\60\1\154\1\164\1\153\1\154\1\145\1\60\1\162\1\151\1\141\1\147\2\uffff\1\60\1\145\1\60\1\uffff\1\55\3\60\1\147\1\145\1\164\1\145\1\uffff\1\164\1\145\1\141\1\145\1\60\1\uffff\1\40\1\142\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\145\1\60\1\uffff\1\156\1\162\1\164\1\156\1\uffff\1\162\2\uffff\1\53\1\56\1\53\1\145\1\164\1\145\1\163\1\60\1\144\1\154\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\55\1\145\1\156\1\uffff\1\163\1\145\1\151\3\60\3\uffff\1\60\1\144\1\145\1\60\1\163\1\uffff\1\60\1\154\1\60\1\144\1\145\1\60\1\163\2\60\1\145\1\164\1\151\1\uffff\1\146\1\144\1\60\1\163\1\157\2\uffff\2\60\1\145\1\156\1\162\1\uffff\1\151\1\uffff\1\171\1\uffff\1\145\1\60\1\uffff\1\164\2\uffff\1\144\1\60\1\156\2\60\1\uffff\1\60\1\156\2\53\1\146\1\144\1\151\1\156\1\60\1\146\1\uffff\1\60\1\142\1\uffff\1\164\3\uffff\1\144\4\60\1\172\1\147\1\uffff\1\60\1\uffff\1\171\1\60\1\145\2\60\2\uffff\1\145\1\60\1\uffff\1\60\1\uffff\1\146\2\60\1\144\2\uffff\1\60\2\53\1\60\2\uffff"; + static final String DFA31_maxS = + "\1\uffff\1\162\1\151\1\156\1\157\1\163\1\171\1\uffff\1\141\1\162\1\157\1\165\2\145\1\160\1\163\1\76\2\uffff\1\151\1\172\1\141\4\uffff\1\57\1\uffff\1\56\6\uffff\1\165\2\uffff\1\62\1\172\1\uffff\1\71\2\uffff\3\uffff\3\71\1\uffff\1\162\1\157\1\uffff\1\164\1\160\1\172\1\162\1\154\1\145\1\163\1\40\1\uffff\1\162\1\163\1\142\1\155\1\165\1\154\1\156\1\145\1\156\1\151\2\164\1\145\1\172\1\163\1\uffff\1\55\1\uffff\1\71\2\uffff\1\166\1\uffff\1\163\4\uffff\1\uffff\1\uffff\1\55\13\uffff\1\154\3\uffff\1\71\1\72\5\uffff\2\71\1\72\1\153\1\141\1\166\1\147\1\150\1\157\1\151\1\164\1\uffff\1\153\2\163\1\145\1\uffff\1\151\1\164\1\154\2\145\1\154\1\163\1\143\1\147\1\164\1\163\2\165\1\162\1\uffff\1\151\1\uffff\1\55\1\145\1\164\4\uffff\1\154\1\72\1\71\1\65\1\71\1\uffff\1\65\1\141\1\155\1\141\1\162\1\172\1\162\1\156\1\151\1\144\1\145\1\172\1\144\1\141\1\172\1\145\1\163\2\172\1\154\1\164\1\153\1\154\1\145\1\172\1\162\1\151\1\141\1\147\2\uffff\1\172\1\145\1\172\1\uffff\4\71\1\147\1\145\1\164\1\145\1\uffff\1\164\1\145\1\141\1\145\1\172\1\uffff\1\40\1\156\1\145\1\uffff\1\164\1\145\1\uffff\1\145\1\uffff\1\165\1\141\1\160\1\145\1\172\1\uffff\1\156\1\162\1\164\1\156\1\uffff\1\162\2\uffff\1\160\1\56\1\132\1\145\1\164\1\145\1\163\1\172\1\144\1\154\1\146\2\uffff\1\164\1\154\1\146\1\145\1\164\1\146\1\144\1\156\1\157\1\55\1\145\1\156\1\uffff\1\163\1\145\1\151\2\172\1\66\3\uffff\1\66\2\145\1\172\1\163\1\uffff\1\172\1\154\1\172\1\144\1\145\1\172\1\163\2\172\1\145\1\164\1\151\1\uffff\1\146\1\144\1\172\1\163\1\157\2\uffff\2\71\1\145\1\156\1\162\1\uffff\1\151\1\uffff\1\171\1\uffff\1\145\1\172\1\uffff\1\164\2\uffff\1\144\1\172\1\156\2\172\1\uffff\1\172\1\156\1\160\1\132\1\146\1\144\1\151\1\156\1\172\1\146\1\uffff\1\172\1\142\1\uffff\1\164\3\uffff\1\144\2\71\3\172\1\147\1\uffff\1\172\1\uffff\1\171\1\172\1\145\2\71\2\uffff\1\145\1\172\1\uffff\1\172\1\uffff\1\146\2\71\1\144\2\uffff\1\172\1\160\1\132\1\172\2\uffff"; + static final String DFA31_acceptS = + "\7\uffff\1\11\11\uffff\1\40\1\42\3\uffff\1\52\1\54\1\55\1\57\1\uffff\1\61\1\uffff\1\63\1\64\1\65\1\66\1\67\1\70\1\uffff\1\72\1\73\2\uffff\1\101\3\uffff\1\115\1\116\1\100\3\uffff\1\125\2\uffff\1\101\10\uffff\1\11\17\uffff\1\34\1\uffff\1\56\1\uffff\1\40\1\42\1\uffff\1\47\1\uffff\1\52\1\54\1\55\1\57\1\uffff\1\106\1\uffff\1\60\1\61\1\62\1\75\1\74\1\63\1\64\1\65\1\66\1\67\1\70\1\uffff\1\72\1\73\1\100\2\uffff\1\102\1\103\1\104\1\115\1\116\13\uffff\1\35\4\uffff\1\25\16\uffff\1\50\1\uffff\1\107\3\uffff\1\105\1\113\1\111\1\112\5\uffff\1\122\35\uffff\1\110\1\114\3\uffff\1\120\10\uffff\1\2\5\uffff\1\7\3\uffff\1\37\2\uffff\1\76\1\uffff\1\43\5\uffff\1\20\4\uffff\1\45\1\uffff\1\71\1\117\13\uffff\1\77\1\10\14\uffff\1\53\6\uffff\1\123\1\124\1\121\5\uffff\1\4\14\uffff\1\15\5\uffff\1\33\1\51\5\uffff\1\5\1\uffff\1\16\1\uffff\1\6\2\uffff\1\13\1\uffff\1\44\1\14\5\uffff\1\21\12\uffff\1\27\2\uffff\1\31\1\uffff\1\17\1\24\1\22\7\uffff\1\30\1\uffff\1\41\5\uffff\1\1\1\3\2\uffff\1\12\1\uffff\1\36\4\uffff\1\46\1\23\4\uffff\1\26\1\32"; + static final String DFA31_specialS = + "\1\2\51\uffff\1\3\1\0\57\uffff\1\1\u0117\uffff}>"; + static final String[] DFA31_transitionS = { "\11\62\1\54\1\55\2\62\1\55\22\62\1\54\1\62\1\52\1\42\1\62\1\33\1\62\1\53\1\30\1\35\1\31\1\27\1\26\1\20\1\34\1\32\2\51\1\61\1\57\6\60\1\7\1\62\1\40\1\21\1\41\2\62\23\56\1\46\6\56\1\36\1\62\1\37\1\47\1\50\1\62\1\17\1\6\1\12\2\50\1\4\1\14\1\50\1\3\2\50\1\23\1\25\1\43\1\16\1\1\1\50\1\15\1\13\1\11\1\5\1\10\1\2\1\24\2\50\1\44\1\22\1\45\uff82\62", "\1\63\20\uffff\1\64", "\1\66", @@ -3571,18 +3535,18 @@ public void mTokens() throws RecognitionException { "\1\151", "", "", - "\3\154", + "\3\155", "\1\65\1\uffff\32\65", "", - "\1\157\1\uffff\12\156", + "\1\160\1\uffff\12\156", "\0\161", "\0\161", "", "", "", - "\1\157\1\uffff\12\164", - "\1\157\1\uffff\12\165", - "\1\157\1\uffff\12\166", + "\1\160\1\uffff\12\164", + "\1\160\1\uffff\12\165", + "\1\160\1\uffff\12\166", "", "\1\167\16\uffff\1\170", "\1\171\5\uffff\1\172", @@ -3614,7 +3578,7 @@ public void mTokens() throws RecognitionException { "", "\1\u0095\14\uffff\1\u0096", "", - "\1\157\1\uffff\12\121", + "\1\160\1\uffff\12\121", "", "", "\1\u0097", @@ -3641,8 +3605,8 @@ public void mTokens() throws RecognitionException { "\1\u009d", "", "", - "\12\u009e", "", + "\12\u009e", "\1\u00a1\1\u00a2\12\u009f\1\u00a0", "", "", @@ -3650,7 +3614,7 @@ public void mTokens() throws RecognitionException { "", "", "\1\u00a1\1\uffff\12\u009f", - "\1\157\1\uffff\12\u009f", + "\1\160\1\uffff\12\u009f", "\1\u00a1\1\uffff\12\u009f\1\u00a3", "\1\u00a4", "\1\u00a5", @@ -3692,9 +3656,9 @@ public void mTokens() throws RecognitionException { "", "\1\u00c4", "\1\u00c5", - "\1\157\1\uffff\12\u00c6", + "\1\160\1\uffff\12\u00c6", "\6\u00c7", - "\2\u00c8\10\157", + "\2\u00c8\10\160", "", "\6\u00c9", "\1\u00ca", @@ -3731,7 +3695,7 @@ public void mTokens() throws RecognitionException { "\1\u00e9", "\12\65\7\uffff\32\65\4\uffff\1\65\1\uffff\32\65", "", - "\1\u00eb\1\157\1\uffff\12\121", + "\1\u00eb\1\160\1\uffff\12\121", "\12\u00ec", "\12\u00ed", "\12\u00ee", @@ -3906,34 +3870,34 @@ public void mTokens() throws RecognitionException { "" }; - static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS); - static final short[] DFA33_eof = DFA.unpackEncodedString(DFA33_eofS); - static final char[] DFA33_min = DFA.unpackEncodedStringToUnsignedChars(DFA33_minS); - static final char[] DFA33_max = DFA.unpackEncodedStringToUnsignedChars(DFA33_maxS); - static final short[] DFA33_accept = DFA.unpackEncodedString(DFA33_acceptS); - static final short[] DFA33_special = DFA.unpackEncodedString(DFA33_specialS); - static final short[][] DFA33_transition; + static final short[] DFA31_eot = DFA.unpackEncodedString(DFA31_eotS); + static final short[] DFA31_eof = DFA.unpackEncodedString(DFA31_eofS); + static final char[] DFA31_min = DFA.unpackEncodedStringToUnsignedChars(DFA31_minS); + static final char[] DFA31_max = DFA.unpackEncodedStringToUnsignedChars(DFA31_maxS); + static final short[] DFA31_accept = DFA.unpackEncodedString(DFA31_acceptS); + static final short[] DFA31_special = DFA.unpackEncodedString(DFA31_specialS); + static final short[][] DFA31_transition; static { - int numStates = DFA33_transitionS.length; - DFA33_transition = new short[numStates][]; + int numStates = DFA31_transitionS.length; + DFA31_transition = new short[numStates][]; for (int i=0; i='\u0000' && LA33_43<='\uFFFF')) ) {s = 113;} + if ( ((LA31_43>='\u0000' && LA31_43<='\uFFFF')) ) {s = 113;} else s = 50; if ( s>=0 ) return s; break; case 1 : - int LA33_91 = input.LA(1); + int LA31_91 = input.LA(1); s = -1; - if ( ((LA33_91>='\u0000' && LA33_91<=')')||(LA33_91>='+' && LA33_91<='\uFFFF')) ) {s = 153;} + if ( ((LA31_91>='\u0000' && LA31_91<=')')||(LA31_91>='+' && LA31_91<='\uFFFF')) ) {s = 153;} - else if ( (LA33_91=='*') ) {s = 154;} + else if ( (LA31_91=='*') ) {s = 154;} if ( s>=0 ) return s; break; case 2 : - int LA33_42 = input.LA(1); + int LA31_0 = input.LA(1); s = -1; - if ( ((LA33_42>='\u0000' && LA33_42<='\uFFFF')) ) {s = 113;} + if ( (LA31_0=='p') ) {s = 1;} - else s = 50; + else if ( (LA31_0=='w') ) {s = 2;} - if ( s>=0 ) return s; - break; - case 3 : - int LA33_0 = input.LA(1); + else if ( (LA31_0=='i') ) {s = 3;} - s = -1; - if ( (LA33_0=='p') ) {s = 1;} + else if ( (LA31_0=='f') ) {s = 4;} - else if ( (LA33_0=='w') ) {s = 2;} + else if ( (LA31_0=='u') ) {s = 5;} - else if ( (LA33_0=='i') ) {s = 3;} + else if ( (LA31_0=='b') ) {s = 6;} - else if ( (LA33_0=='f') ) {s = 4;} + else if ( (LA31_0==':') ) {s = 7;} - else if ( (LA33_0=='u') ) {s = 5;} + else if ( (LA31_0=='v') ) {s = 8;} - else if ( (LA33_0=='b') ) {s = 6;} + else if ( (LA31_0=='t') ) {s = 9;} - else if ( (LA33_0==':') ) {s = 7;} + else if ( (LA31_0=='c') ) {s = 10;} - else if ( (LA33_0=='v') ) {s = 8;} + else if ( (LA31_0=='s') ) {s = 11;} - else if ( (LA33_0=='t') ) {s = 9;} + else if ( (LA31_0=='g') ) {s = 12;} - else if ( (LA33_0=='c') ) {s = 10;} + else if ( (LA31_0=='r') ) {s = 13;} - else if ( (LA33_0=='s') ) {s = 11;} + else if ( (LA31_0=='o') ) {s = 14;} - else if ( (LA33_0=='g') ) {s = 12;} + else if ( (LA31_0=='a') ) {s = 15;} - else if ( (LA33_0=='r') ) {s = 13;} + else if ( (LA31_0=='-') ) {s = 16;} - else if ( (LA33_0=='o') ) {s = 14;} + else if ( (LA31_0=='=') ) {s = 17;} - else if ( (LA33_0=='a') ) {s = 15;} + else if ( (LA31_0=='|') ) {s = 18;} - else if ( (LA33_0=='-') ) {s = 16;} + else if ( (LA31_0=='l') ) {s = 19;} - else if ( (LA33_0=='=') ) {s = 17;} + else if ( (LA31_0=='x') ) {s = 20;} - else if ( (LA33_0=='|') ) {s = 18;} + else if ( (LA31_0=='m') ) {s = 21;} - else if ( (LA33_0=='l') ) {s = 19;} + else if ( (LA31_0==',') ) {s = 22;} - else if ( (LA33_0=='x') ) {s = 20;} + else if ( (LA31_0=='+') ) {s = 23;} - else if ( (LA33_0=='m') ) {s = 21;} + else if ( (LA31_0=='(') ) {s = 24;} - else if ( (LA33_0==',') ) {s = 22;} + else if ( (LA31_0=='*') ) {s = 25;} - else if ( (LA33_0=='+') ) {s = 23;} + else if ( (LA31_0=='/') ) {s = 26;} - else if ( (LA33_0=='(') ) {s = 24;} + else if ( (LA31_0=='%') ) {s = 27;} - else if ( (LA33_0=='*') ) {s = 25;} + else if ( (LA31_0=='.') ) {s = 28;} - else if ( (LA33_0=='/') ) {s = 26;} + else if ( (LA31_0==')') ) {s = 29;} - else if ( (LA33_0=='%') ) {s = 27;} + else if ( (LA31_0=='[') ) {s = 30;} - else if ( (LA33_0=='.') ) {s = 28;} + else if ( (LA31_0==']') ) {s = 31;} - else if ( (LA33_0==')') ) {s = 29;} + else if ( (LA31_0=='<') ) {s = 32;} - else if ( (LA33_0=='[') ) {s = 30;} + else if ( (LA31_0=='>') ) {s = 33;} - else if ( (LA33_0==']') ) {s = 31;} + else if ( (LA31_0=='#') ) {s = 34;} - else if ( (LA33_0=='<') ) {s = 32;} + else if ( (LA31_0=='n') ) {s = 35;} - else if ( (LA33_0=='>') ) {s = 33;} + else if ( (LA31_0=='{') ) {s = 36;} - else if ( (LA33_0=='#') ) {s = 34;} + else if ( (LA31_0=='}') ) {s = 37;} - else if ( (LA33_0=='n') ) {s = 35;} + else if ( (LA31_0=='T') ) {s = 38;} - else if ( (LA33_0=='{') ) {s = 36;} + else if ( (LA31_0=='^') ) {s = 39;} - else if ( (LA33_0=='}') ) {s = 37;} + else if ( (LA31_0=='_'||(LA31_0>='d' && LA31_0<='e')||LA31_0=='h'||(LA31_0>='j' && LA31_0<='k')||LA31_0=='q'||(LA31_0>='y' && LA31_0<='z')) ) {s = 40;} - else if ( (LA33_0=='T') ) {s = 38;} + else if ( ((LA31_0>='0' && LA31_0<='1')) ) {s = 41;} - else if ( (LA33_0=='^') ) {s = 39;} + else if ( (LA31_0=='\"') ) {s = 42;} - else if ( (LA33_0=='_'||(LA33_0>='d' && LA33_0<='e')||LA33_0=='h'||(LA33_0>='j' && LA33_0<='k')||LA33_0=='q'||(LA33_0>='y' && LA33_0<='z')) ) {s = 40;} + else if ( (LA31_0=='\'') ) {s = 43;} - else if ( ((LA33_0>='0' && LA33_0<='1')) ) {s = 41;} + else if ( (LA31_0=='\t'||LA31_0==' ') ) {s = 44;} - else if ( (LA33_0=='\"') ) {s = 42;} + else if ( (LA31_0=='\n'||LA31_0=='\r') ) {s = 45;} - else if ( (LA33_0=='\'') ) {s = 43;} + else if ( ((LA31_0>='A' && LA31_0<='S')||(LA31_0>='U' && LA31_0<='Z')) ) {s = 46;} - else if ( (LA33_0=='\t'||LA33_0==' ') ) {s = 44;} + else if ( (LA31_0=='3') ) {s = 47;} - else if ( (LA33_0=='\n'||LA33_0=='\r') ) {s = 45;} + else if ( ((LA31_0>='4' && LA31_0<='9')) ) {s = 48;} - else if ( ((LA33_0>='A' && LA33_0<='S')||(LA33_0>='U' && LA33_0<='Z')) ) {s = 46;} + else if ( (LA31_0=='2') ) {s = 49;} - else if ( (LA33_0=='3') ) {s = 47;} + else if ( ((LA31_0>='\u0000' && LA31_0<='\b')||(LA31_0>='\u000B' && LA31_0<='\f')||(LA31_0>='\u000E' && LA31_0<='\u001F')||LA31_0=='!'||LA31_0=='$'||LA31_0=='&'||LA31_0==';'||(LA31_0>='?' && LA31_0<='@')||LA31_0=='\\'||LA31_0=='`'||(LA31_0>='~' && LA31_0<='\uFFFF')) ) {s = 50;} - else if ( ((LA33_0>='4' && LA33_0<='9')) ) {s = 48;} + if ( s>=0 ) return s; + break; + case 3 : + int LA31_42 = input.LA(1); - else if ( (LA33_0=='2') ) {s = 49;} + s = -1; + if ( ((LA31_42>='\u0000' && LA31_42<='\uFFFF')) ) {s = 113;} - else if ( ((LA33_0>='\u0000' && LA33_0<='\b')||(LA33_0>='\u000B' && LA33_0<='\f')||(LA33_0>='\u000E' && LA33_0<='\u001F')||LA33_0=='!'||LA33_0=='$'||LA33_0=='&'||LA33_0==';'||(LA33_0>='?' && LA33_0<='@')||LA33_0=='\\'||LA33_0=='`'||(LA33_0>='~' && LA33_0<='\uFFFF')) ) {s = 50;} + else s = 50; if ( s>=0 ) return s; break; } NoViableAltException nvae = - new NoViableAltException(getDescription(), 33, _s, input); + new NoViableAltException(getDescription(), 31, _s, input); error(nvae); throw nvae; } diff --git a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/services/DSLGrammarAccess.java b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/services/DSLGrammarAccess.java index 44a02dd5e..9e293370f 100644 --- a/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/services/DSLGrammarAccess.java +++ b/de.gebit.integrity.dsl/src-gen/de/gebit/integrity/services/DSLGrammarAccess.java @@ -5105,7 +5105,7 @@ public TerminalRule getML_COMMENTRule() { } //terminal SL_COMMENT: - // '//' !('\n' | '\r')* ('\r'? '\n')?; + // '//' !('\n' | '\r')*; public TerminalRule getSL_COMMENTRule() { return tSL_COMMENT; } diff --git a/de.gebit.integrity.dsl/src/integrity/integrity.xtext b/de.gebit.integrity.dsl/src/integrity/integrity.xtext index 43209d894..4dc4ddbd6 100644 --- a/de.gebit.integrity.dsl/src/integrity/integrity.xtext +++ b/de.gebit.integrity.dsl/src/integrity/integrity.xtext @@ -318,7 +318,7 @@ terminal STRING: '"' ( '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|'"') )* '"' | "'" ( '\\' ('b'|'t'|'n'|'f'|'r'|'u'|'"'|"'"|'\\') | !('\\'|"'") )* "'"; terminal ML_COMMENT: '/*' !('*') -> '*/'; -terminal SL_COMMENT: '//' !('\n'|'\r')* ('\r'? '\n')?; +terminal SL_COMMENT: '//' !('\n'|'\r')*; terminal SL_VISIBLE_COMMENT: '-- ' !('\n'|'\r')*; terminal SL_VISIBLE_TITLE_COMMENT: '--- ' !('\n'|'\r')*; terminal ML_VISIBLE_COMMENT: '/- ' -> '-/'; diff --git a/de.gebit.integrity.dsl/xtend-gen/de/gebit/integrity/generator/.DSLGenerator.xtendbin b/de.gebit.integrity.dsl/xtend-gen/de/gebit/integrity/generator/.DSLGenerator.xtendbin index eb7cc1e07..a0647da58 100644 Binary files a/de.gebit.integrity.dsl/xtend-gen/de/gebit/integrity/generator/.DSLGenerator.xtendbin and b/de.gebit.integrity.dsl/xtend-gen/de/gebit/integrity/generator/.DSLGenerator.xtendbin differ diff --git a/de.gebit.integrity.runner/src/de/gebit/integrity/runner/DefaultTestRunner.java b/de.gebit.integrity.runner/src/de/gebit/integrity/runner/DefaultTestRunner.java index edbb31d70..af2ad9d75 100644 --- a/de.gebit.integrity.runner/src/de/gebit/integrity/runner/DefaultTestRunner.java +++ b/de.gebit.integrity.runner/src/de/gebit/integrity/runner/DefaultTestRunner.java @@ -1738,22 +1738,23 @@ protected void executeVariableAssignment(VariableAssignment anAssignment, SuiteD currentCallback.onCallbackProcessingEnd(); } - // Assignments are very much like variable definitions with default value - we perform them regardless of dry - // run or test run mode. - try { - setVariableValueConverted(anAssignment.getTarget().getName(), anAssignment.getValue(), true); - } catch (UnexecutableException exc) { - // This is expected to happen in some cases during dry run, namely on operations to be executed on - // assignment which use variables that are dynamically assigned from call results. But that is not a - // problem, we can safely ignore this, the variable will then not be assigned. In the real test run - // however it should not happen, so let's print it on stderr in that case. - // This fixes issue #197: Exception thrown before test runs in case of assigns having operations - // with variables filled via call (https://github.com/integrity-tf/integrity/issues/197) - if (shouldExecuteFixtures()) { + if (shouldExecuteFixtures()) { + // Only perform variable assignments if we are not in dry run mode + try { + setVariableValueConverted(anAssignment.getTarget().getName(), anAssignment.getValue(), true); + } catch (UnexecutableException exc) { + // This is expected to happen in some cases during dry run, namely on operations to be executed on + // assignment which use variables that are dynamically assigned from call results. But that is not a + // problem, we can safely ignore this, the variable will then not be assigned. In the real test run + // however it should not happen, so let's print it on stderr in that case. + // This fixes issue #197: Exception thrown before test runs in case of assigns having operations + // with variables filled via call (https://github.com/integrity-tf/integrity/issues/197) + if (shouldExecuteFixtures()) { + exc.printStackTrace(); + } + } catch (InstantiationException | ClassNotFoundException exc) { exc.printStackTrace(); } - } catch (InstantiationException | ClassNotFoundException exc) { - exc.printStackTrace(); } } diff --git a/de.gebit.integrity.runner/src/de/gebit/integrity/runner/console/ConsoleTestExecutor.java b/de.gebit.integrity.runner/src/de/gebit/integrity/runner/console/ConsoleTestExecutor.java index 885be0a97..ef9243f60 100644 --- a/de.gebit.integrity.runner/src/de/gebit/integrity/runner/console/ConsoleTestExecutor.java +++ b/de.gebit.integrity.runner/src/de/gebit/integrity/runner/console/ConsoleTestExecutor.java @@ -126,27 +126,41 @@ public static void main(String[] someArgs) { * map. This is used in conjunction with {@link #checkForZombieThreads()}. */ public void prepareZombieThreadCheck() { - Thread[] tempArray = new Thread[Thread.activeCount()]; - Thread.enumerate(tempArray); - threadsRunningBeforeTestExecution.clear(); - for (Thread tempThread : tempArray) { + for (Thread tempThread : retrieveListOfAllThreads()) { if (tempThread.isAlive() && !tempThread.isDaemon()) { threadsRunningBeforeTestExecution.put(tempThread, true); } } } + /** + * Gets a list of all threads known to the JVM. Due to the Thread API it is non-trivial to get such a list reliably, + * which is why that is encapsulated here. The returned list is guaranteed to not contain null items. + * + * @return a list of threads + */ + protected List retrieveListOfAllThreads() { + List tempList = new ArrayList<>(); + Thread[] tempArray = new Thread[Thread.activeCount() + 10]; + Thread.enumerate(tempArray); + + for (Thread tempThread : tempArray) { + if (tempThread != null) { + tempList.add(tempThread); + } + } + + return tempList; + } + /** * Searches for any threads still running which were not running when {@link #prepareZombieThreadCheck()} was * executed and prints them on the console. This mechanism is designed to find */ public void checkForZombieThreads() { - Thread[] tempArray = new Thread[Thread.activeCount()]; - Thread.enumerate(tempArray); - List tempZombieThreads = new LinkedList(); - for (Thread tempThread : tempArray) { + for (Thread tempThread : retrieveListOfAllThreads()) { if ((tempThread.getName() != null && !tempThread.getName().startsWith("Integrity - ")) && !threadsRunningBeforeTestExecution.containsKey(tempThread) && tempThread.isAlive() && !tempThread.isDaemon()) {