got wildcard as root error detected; tweaked how we call DOT/WILDCARD
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6656]
This commit is contained in:
parent
b004c36bce
commit
f3fb19b921
|
@ -452,7 +452,7 @@ PLUS_ASSIGN : '+=' ;
|
|||
OR : '|' ;
|
||||
ROOT : '^' ;
|
||||
DOLLAR : '$' ;
|
||||
WILDCARD : '.' ;
|
||||
DOT : '.' ; // can be WILDCARD or DOT in qid or imported rule ref
|
||||
RANGE : '..' ;
|
||||
ETC : '...' ;
|
||||
RARROW : '->' ;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ANTLRLexer.g 2010-02-02 18:26:03
|
||||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ANTLRLexer.g 2010-02-03 11:08:45
|
||||
|
||||
/*
|
||||
[The "BSD licence"]
|
||||
|
@ -82,11 +82,11 @@ public class ANTLRLexer extends Lexer {
|
|||
public static final int TREE=26;
|
||||
public static final int ETC=56;
|
||||
public static final int COMMA=38;
|
||||
public static final int WILDCARD=54;
|
||||
public static final int ARG_ACTION=14;
|
||||
public static final int DOC_COMMENT=6;
|
||||
public static final int PLUS=49;
|
||||
public static final int DOUBLE_QUOTE_STRING_LITERAL=10;
|
||||
public static final int DOT=54;
|
||||
public static final int COMMENT=9;
|
||||
public static final int ACTION_CHAR_LITERAL=13;
|
||||
public static final int GRAMMAR=27;
|
||||
|
@ -1688,13 +1688,13 @@ public class ANTLRLexer extends Lexer {
|
|||
}
|
||||
// $ANTLR end "DOLLAR"
|
||||
|
||||
// $ANTLR start "WILDCARD"
|
||||
public final void mWILDCARD() throws RecognitionException {
|
||||
// $ANTLR start "DOT"
|
||||
public final void mDOT() throws RecognitionException {
|
||||
try {
|
||||
int _type = WILDCARD;
|
||||
int _type = DOT;
|
||||
int _channel = DEFAULT_TOKEN_CHANNEL;
|
||||
// ANTLRLexer.g:455:14: ( '.' )
|
||||
// ANTLRLexer.g:455:16: '.'
|
||||
// ANTLRLexer.g:455:11: ( '.' )
|
||||
// ANTLRLexer.g:455:13: '.'
|
||||
{
|
||||
match('.'); if (state.failed) return ;
|
||||
|
||||
|
@ -1706,7 +1706,7 @@ public class ANTLRLexer extends Lexer {
|
|||
finally {
|
||||
}
|
||||
}
|
||||
// $ANTLR end "WILDCARD"
|
||||
// $ANTLR end "DOT"
|
||||
|
||||
// $ANTLR start "RANGE"
|
||||
public final void mRANGE() throws RecognitionException {
|
||||
|
@ -2185,9 +2185,9 @@ public class ANTLRLexer extends Lexer {
|
|||
cnt21++;
|
||||
} while (true);
|
||||
|
||||
int fileStart3565 = getCharIndex();
|
||||
int fileStart3568 = getCharIndex();
|
||||
mACTION_STRING_LITERAL(); if (state.failed) return ;
|
||||
file = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, fileStart3565, getCharIndex()-1);
|
||||
file = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, fileStart3568, getCharIndex()-1);
|
||||
// ANTLRLexer.g:545:49: ( WSCHARS )+
|
||||
int cnt22=0;
|
||||
loop22:
|
||||
|
@ -2219,9 +2219,9 @@ public class ANTLRLexer extends Lexer {
|
|||
cnt22++;
|
||||
} while (true);
|
||||
|
||||
int lineStart3572 = getCharIndex();
|
||||
int lineStart3575 = getCharIndex();
|
||||
mINT(); if (state.failed) return ;
|
||||
line = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, lineStart3572, getCharIndex()-1);
|
||||
line = new CommonToken(input, Token.INVALID_TOKEN_TYPE, Token.DEFAULT_CHANNEL, lineStart3575, getCharIndex()-1);
|
||||
if ( state.backtracking==0 ) {
|
||||
|
||||
// TODO: Add target specific code to change the source file name and current line number
|
||||
|
@ -2772,7 +2772,7 @@ public class ANTLRLexer extends Lexer {
|
|||
// $ANTLR end "ERRCHAR"
|
||||
|
||||
public void mTokens() throws RecognitionException {
|
||||
// ANTLRLexer.g:1:8: ( COMMENT | DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL | ARG_ACTION | ACTION | OPTIONS | TOKENS | SCOPE | IMPORT | FRAGMENT | LEXER | PARSER | TREE | GRAMMAR | PROTECTED | PUBLIC | PRIVATE | RETURNS | THROWS | CATCH | FINALLY | TEMPLATE | COLON | COLONCOLON | COMMA | SEMI | LPAREN | RPAREN | IMPLIES | LT | GT | ASSIGN | QUESTION | BANG | STAR | PLUS | PLUS_ASSIGN | OR | ROOT | DOLLAR | WILDCARD | RANGE | ETC | RARROW | TREE_BEGIN | AT | NOT | RBRACE | TOKEN_REF | RULE_REF | INT | STRING_LITERAL | WS | ERRCHAR )
|
||||
// ANTLRLexer.g:1:8: ( COMMENT | DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL | ARG_ACTION | ACTION | OPTIONS | TOKENS | SCOPE | IMPORT | FRAGMENT | LEXER | PARSER | TREE | GRAMMAR | PROTECTED | PUBLIC | PRIVATE | RETURNS | THROWS | CATCH | FINALLY | TEMPLATE | COLON | COLONCOLON | COMMA | SEMI | LPAREN | RPAREN | IMPLIES | LT | GT | ASSIGN | QUESTION | BANG | STAR | PLUS | PLUS_ASSIGN | OR | ROOT | DOLLAR | DOT | RANGE | ETC | RARROW | TREE_BEGIN | AT | NOT | RBRACE | TOKEN_REF | RULE_REF | INT | STRING_LITERAL | WS | ERRCHAR )
|
||||
int alt31=54;
|
||||
alt31 = dfa31.predict(input);
|
||||
switch (alt31) {
|
||||
|
@ -3057,98 +3057,98 @@ public class ANTLRLexer extends Lexer {
|
|||
}
|
||||
break;
|
||||
case 41 :
|
||||
// ANTLRLexer.g:1:332: WILDCARD
|
||||
// ANTLRLexer.g:1:332: DOT
|
||||
{
|
||||
mWILDCARD(); if (state.failed) return ;
|
||||
mDOT(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 42 :
|
||||
// ANTLRLexer.g:1:341: RANGE
|
||||
// ANTLRLexer.g:1:336: RANGE
|
||||
{
|
||||
mRANGE(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 43 :
|
||||
// ANTLRLexer.g:1:347: ETC
|
||||
// ANTLRLexer.g:1:342: ETC
|
||||
{
|
||||
mETC(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 44 :
|
||||
// ANTLRLexer.g:1:351: RARROW
|
||||
// ANTLRLexer.g:1:346: RARROW
|
||||
{
|
||||
mRARROW(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 45 :
|
||||
// ANTLRLexer.g:1:358: TREE_BEGIN
|
||||
// ANTLRLexer.g:1:353: TREE_BEGIN
|
||||
{
|
||||
mTREE_BEGIN(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 46 :
|
||||
// ANTLRLexer.g:1:369: AT
|
||||
// ANTLRLexer.g:1:364: AT
|
||||
{
|
||||
mAT(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 47 :
|
||||
// ANTLRLexer.g:1:372: NOT
|
||||
// ANTLRLexer.g:1:367: NOT
|
||||
{
|
||||
mNOT(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 48 :
|
||||
// ANTLRLexer.g:1:376: RBRACE
|
||||
// ANTLRLexer.g:1:371: RBRACE
|
||||
{
|
||||
mRBRACE(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 49 :
|
||||
// ANTLRLexer.g:1:383: TOKEN_REF
|
||||
// ANTLRLexer.g:1:378: TOKEN_REF
|
||||
{
|
||||
mTOKEN_REF(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 50 :
|
||||
// ANTLRLexer.g:1:393: RULE_REF
|
||||
// ANTLRLexer.g:1:388: RULE_REF
|
||||
{
|
||||
mRULE_REF(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 51 :
|
||||
// ANTLRLexer.g:1:402: INT
|
||||
// ANTLRLexer.g:1:397: INT
|
||||
{
|
||||
mINT(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 52 :
|
||||
// ANTLRLexer.g:1:406: STRING_LITERAL
|
||||
// ANTLRLexer.g:1:401: STRING_LITERAL
|
||||
{
|
||||
mSTRING_LITERAL(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 53 :
|
||||
// ANTLRLexer.g:1:421: WS
|
||||
// ANTLRLexer.g:1:416: WS
|
||||
{
|
||||
mWS(); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 54 :
|
||||
// ANTLRLexer.g:1:424: ERRCHAR
|
||||
// ANTLRLexer.g:1:419: ERRCHAR
|
||||
{
|
||||
mERRCHAR(); if (state.failed) return ;
|
||||
|
||||
|
@ -6301,7 +6301,7 @@ public class ANTLRLexer extends Lexer {
|
|||
this.transition = DFA31_transition;
|
||||
}
|
||||
public String getDescription() {
|
||||
return "1:1: Tokens : ( COMMENT | DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL | ARG_ACTION | ACTION | OPTIONS | TOKENS | SCOPE | IMPORT | FRAGMENT | LEXER | PARSER | TREE | GRAMMAR | PROTECTED | PUBLIC | PRIVATE | RETURNS | THROWS | CATCH | FINALLY | TEMPLATE | COLON | COLONCOLON | COMMA | SEMI | LPAREN | RPAREN | IMPLIES | LT | GT | ASSIGN | QUESTION | BANG | STAR | PLUS | PLUS_ASSIGN | OR | ROOT | DOLLAR | WILDCARD | RANGE | ETC | RARROW | TREE_BEGIN | AT | NOT | RBRACE | TOKEN_REF | RULE_REF | INT | STRING_LITERAL | WS | ERRCHAR );";
|
||||
return "1:1: Tokens : ( COMMENT | DOUBLE_QUOTE_STRING_LITERAL | DOUBLE_ANGLE_STRING_LITERAL | ARG_ACTION | ACTION | OPTIONS | TOKENS | SCOPE | IMPORT | FRAGMENT | LEXER | PARSER | TREE | GRAMMAR | PROTECTED | PUBLIC | PRIVATE | RETURNS | THROWS | CATCH | FINALLY | TEMPLATE | COLON | COLONCOLON | COMMA | SEMI | LPAREN | RPAREN | IMPLIES | LT | GT | ASSIGN | QUESTION | BANG | STAR | PLUS | PLUS_ASSIGN | OR | ROOT | DOLLAR | DOT | RANGE | ETC | RARROW | TREE_BEGIN | AT | NOT | RBRACE | TOKEN_REF | RULE_REF | INT | STRING_LITERAL | WS | ERRCHAR );";
|
||||
}
|
||||
public int specialStateTransition(int s, IntStream _input) throws NoViableAltException {
|
||||
IntStream input = _input;
|
||||
|
|
|
@ -21,11 +21,11 @@ SCOPE=21
|
|||
TREE=26
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=54
|
||||
ARG_ACTION=14
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
DOUBLE_QUOTE_STRING_LITERAL=10
|
||||
DOT=54
|
||||
COMMENT=9
|
||||
ACTION_CHAR_LITERAL=13
|
||||
GRAMMAR=27
|
||||
|
|
|
@ -88,7 +88,7 @@ tokens {
|
|||
GATED_SEMPRED; // {p}? =>
|
||||
SYN_SEMPRED; // (...) => it's a manually-specified synpred converted to sempred
|
||||
BACKTRACK_SEMPRED; // auto backtracking mode syn pred converted to sempred
|
||||
DOT;
|
||||
WILDCARD;
|
||||
// A generic node indicating a list of something when we don't
|
||||
// really need to distinguish what we have a list of as the AST
|
||||
// will 'kinow' by context.
|
||||
|
@ -639,16 +639,16 @@ atom: range (ROOT^ | BANG^)? // Range x..y - only valid in lexers
|
|||
input.LT(2).getCharPositionInLine() &&
|
||||
input.LT(2).getCharPositionInLine()+1==input.LT(3).getCharPositionInLine()
|
||||
}?
|
||||
id WILDCARD ruleref
|
||||
-> ^(DOT[$WILDCARD] id ruleref)
|
||||
id DOT ruleref
|
||||
-> ^(DOT id ruleref)
|
||||
| // Qualified reference delegate.token.
|
||||
{
|
||||
input.LT(1).getCharPositionInLine()+input.LT(1).getText().length()==
|
||||
input.LT(2).getCharPositionInLine() &&
|
||||
input.LT(2).getCharPositionInLine()+1==input.LT(3).getCharPositionInLine()
|
||||
}?
|
||||
id WILDCARD terminal
|
||||
-> ^(DOT[$WILDCARD] id terminal)
|
||||
id DOT terminal
|
||||
-> ^(DOT id terminal)
|
||||
| terminal
|
||||
| ruleref
|
||||
| notSet (ROOT^|BANG^)?
|
||||
|
@ -926,7 +926,7 @@ id
|
|||
| TEMPLATE ->ID[$TEMPLATE] // keyword
|
||||
;
|
||||
|
||||
qid : id (WILDCARD id)* -> ID[$qid.start, $text] ;
|
||||
qid : id (DOT id)* -> ID[$qid.start, $text] ;
|
||||
|
||||
alternativeEntry : alternative EOF ; // allow gunit to call alternative and see EOF afterwards
|
||||
elementEntry : element EOF ;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -60,11 +60,11 @@ TREE=26
|
|||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=54
|
||||
WILDCARD=96
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=96
|
||||
DOT=54
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ASTVerifier.g 2010-02-02 18:26:06
|
||||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ASTVerifier.g 2010-02-03 11:08:48
|
||||
|
||||
/*
|
||||
[The "BSD license"]
|
||||
|
@ -40,7 +40,7 @@ import java.util.ArrayList;
|
|||
*/
|
||||
public class ASTVerifier extends TreeParser {
|
||||
public static final String[] tokenNames = new String[] {
|
||||
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "SEMPRED", "FORCED_ACTION", "DOC_COMMENT", "SRC", "NLCHARS", "COMMENT", "DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "ACTION_STRING_LITERAL", "ACTION_CHAR_LITERAL", "ARG_ACTION", "NESTED_ACTION", "ACTION", "ACTION_ESC", "WSNLCHARS", "OPTIONS", "TOKENS", "SCOPE", "IMPORT", "FRAGMENT", "LEXER", "PARSER", "TREE", "GRAMMAR", "PROTECTED", "PUBLIC", "PRIVATE", "RETURNS", "THROWS", "CATCH", "FINALLY", "TEMPLATE", "COLON", "COLONCOLON", "COMMA", "SEMI", "LPAREN", "RPAREN", "IMPLIES", "LT", "GT", "ASSIGN", "QUESTION", "BANG", "STAR", "PLUS", "PLUS_ASSIGN", "OR", "ROOT", "DOLLAR", "WILDCARD", "RANGE", "ETC", "RARROW", "TREE_BEGIN", "AT", "NOT", "RBRACE", "TOKEN_REF", "RULE_REF", "INT", "WSCHARS", "ESC_SEQ", "STRING_LITERAL", "HEX_DIGIT", "UNICODE_ESC", "WS", "ERRCHAR", "RULE", "RULES", "RULEMODIFIERS", "RULEACTIONS", "BLOCK", "REWRITE_BLOCK", "OPTIONAL", "CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "CHAR_RANGE", "EPSILON", "ALT", "ALTLIST", "RESULT", "ID", "ARG", "ARGLIST", "RET", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "DOT", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "ALT_REWRITE"
|
||||
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "SEMPRED", "FORCED_ACTION", "DOC_COMMENT", "SRC", "NLCHARS", "COMMENT", "DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "ACTION_STRING_LITERAL", "ACTION_CHAR_LITERAL", "ARG_ACTION", "NESTED_ACTION", "ACTION", "ACTION_ESC", "WSNLCHARS", "OPTIONS", "TOKENS", "SCOPE", "IMPORT", "FRAGMENT", "LEXER", "PARSER", "TREE", "GRAMMAR", "PROTECTED", "PUBLIC", "PRIVATE", "RETURNS", "THROWS", "CATCH", "FINALLY", "TEMPLATE", "COLON", "COLONCOLON", "COMMA", "SEMI", "LPAREN", "RPAREN", "IMPLIES", "LT", "GT", "ASSIGN", "QUESTION", "BANG", "STAR", "PLUS", "PLUS_ASSIGN", "OR", "ROOT", "DOLLAR", "DOT", "RANGE", "ETC", "RARROW", "TREE_BEGIN", "AT", "NOT", "RBRACE", "TOKEN_REF", "RULE_REF", "INT", "WSCHARS", "ESC_SEQ", "STRING_LITERAL", "HEX_DIGIT", "UNICODE_ESC", "WS", "ERRCHAR", "RULE", "RULES", "RULEMODIFIERS", "RULEACTIONS", "BLOCK", "REWRITE_BLOCK", "OPTIONAL", "CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "CHAR_RANGE", "EPSILON", "ALT", "ALTLIST", "RESULT", "ID", "ARG", "ARGLIST", "RET", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "ALT_REWRITE"
|
||||
};
|
||||
public static final int LT=43;
|
||||
public static final int STAR=48;
|
||||
|
@ -105,11 +105,11 @@ public class ASTVerifier extends TreeParser {
|
|||
public static final int SCOPE=21;
|
||||
public static final int ETC=56;
|
||||
public static final int COMMA=38;
|
||||
public static final int WILDCARD=54;
|
||||
public static final int WILDCARD=96;
|
||||
public static final int DOC_COMMENT=6;
|
||||
public static final int PLUS=49;
|
||||
public static final int REWRITE_BLOCK=77;
|
||||
public static final int DOT=96;
|
||||
public static final int DOT=54;
|
||||
public static final int RETURNS=31;
|
||||
public static final int RULES=73;
|
||||
public static final int RARROW=57;
|
||||
|
@ -1682,7 +1682,7 @@ public class ASTVerifier extends TreeParser {
|
|||
if ( (LA24_3==EPSILON) ) {
|
||||
alt24=2;
|
||||
}
|
||||
else if ( (LA24_3==SEMPRED||LA24_3==ACTION||LA24_3==IMPLIES||LA24_3==ASSIGN||LA24_3==BANG||LA24_3==PLUS_ASSIGN||LA24_3==ROOT||(LA24_3>=WILDCARD && LA24_3<=RANGE)||LA24_3==TREE_BEGIN||(LA24_3>=TOKEN_REF && LA24_3<=RULE_REF)||LA24_3==STRING_LITERAL||LA24_3==BLOCK||(LA24_3>=OPTIONAL && LA24_3<=POSITIVE_CLOSURE)||LA24_3==GATED_SEMPRED||LA24_3==DOT) ) {
|
||||
else if ( (LA24_3==SEMPRED||LA24_3==ACTION||LA24_3==IMPLIES||LA24_3==ASSIGN||LA24_3==BANG||LA24_3==PLUS_ASSIGN||LA24_3==ROOT||(LA24_3>=DOT && LA24_3<=RANGE)||LA24_3==TREE_BEGIN||(LA24_3>=TOKEN_REF && LA24_3<=RULE_REF)||LA24_3==STRING_LITERAL||LA24_3==BLOCK||(LA24_3>=OPTIONAL && LA24_3<=POSITIVE_CLOSURE)||LA24_3==GATED_SEMPRED||LA24_3==WILDCARD) ) {
|
||||
alt24=3;
|
||||
}
|
||||
else {
|
||||
|
@ -1781,7 +1781,7 @@ public class ASTVerifier extends TreeParser {
|
|||
int alt25=2;
|
||||
int LA25_0 = input.LA(1);
|
||||
|
||||
if ( (LA25_0==SEMPRED||LA25_0==ACTION||LA25_0==IMPLIES||LA25_0==ASSIGN||LA25_0==BANG||LA25_0==PLUS_ASSIGN||LA25_0==ROOT||(LA25_0>=WILDCARD && LA25_0<=RANGE)||LA25_0==TREE_BEGIN||(LA25_0>=TOKEN_REF && LA25_0<=RULE_REF)||LA25_0==STRING_LITERAL||LA25_0==BLOCK||(LA25_0>=OPTIONAL && LA25_0<=POSITIVE_CLOSURE)||LA25_0==GATED_SEMPRED||LA25_0==DOT) ) {
|
||||
if ( (LA25_0==SEMPRED||LA25_0==ACTION||LA25_0==IMPLIES||LA25_0==ASSIGN||LA25_0==BANG||LA25_0==PLUS_ASSIGN||LA25_0==ROOT||(LA25_0>=DOT && LA25_0<=RANGE)||LA25_0==TREE_BEGIN||(LA25_0>=TOKEN_REF && LA25_0<=RULE_REF)||LA25_0==STRING_LITERAL||LA25_0==BLOCK||(LA25_0>=OPTIONAL && LA25_0<=POSITIVE_CLOSURE)||LA25_0==GATED_SEMPRED||LA25_0==WILDCARD) ) {
|
||||
alt25=1;
|
||||
}
|
||||
|
||||
|
@ -1944,7 +1944,7 @@ public class ASTVerifier extends TreeParser {
|
|||
int alt27=2;
|
||||
int LA27_0 = input.LA(1);
|
||||
|
||||
if ( (LA27_0==BANG||LA27_0==ROOT||(LA27_0>=WILDCARD && LA27_0<=RANGE)||(LA27_0>=TOKEN_REF && LA27_0<=RULE_REF)||LA27_0==STRING_LITERAL||LA27_0==DOT) ) {
|
||||
if ( (LA27_0==BANG||LA27_0==ROOT||(LA27_0>=DOT && LA27_0<=RANGE)||(LA27_0>=TOKEN_REF && LA27_0<=RULE_REF)||LA27_0==STRING_LITERAL||LA27_0==WILDCARD) ) {
|
||||
alt27=1;
|
||||
}
|
||||
else if ( (LA27_0==BLOCK) ) {
|
||||
|
@ -1998,7 +1998,7 @@ public class ASTVerifier extends TreeParser {
|
|||
int alt28=2;
|
||||
int LA28_0 = input.LA(1);
|
||||
|
||||
if ( (LA28_0==BANG||LA28_0==ROOT||(LA28_0>=WILDCARD && LA28_0<=RANGE)||(LA28_0>=TOKEN_REF && LA28_0<=RULE_REF)||LA28_0==STRING_LITERAL||LA28_0==DOT) ) {
|
||||
if ( (LA28_0==BANG||LA28_0==ROOT||(LA28_0>=DOT && LA28_0<=RANGE)||(LA28_0>=TOKEN_REF && LA28_0<=RULE_REF)||LA28_0==STRING_LITERAL||LA28_0==WILDCARD) ) {
|
||||
alt28=1;
|
||||
}
|
||||
else if ( (LA28_0==BLOCK) ) {
|
||||
|
@ -2072,7 +2072,7 @@ public class ASTVerifier extends TreeParser {
|
|||
int alt30=2;
|
||||
int LA30_0 = input.LA(1);
|
||||
|
||||
if ( (LA30_0==SEMPRED||LA30_0==ACTION||LA30_0==IMPLIES||LA30_0==ASSIGN||LA30_0==BANG||LA30_0==PLUS_ASSIGN||LA30_0==ROOT||(LA30_0>=WILDCARD && LA30_0<=RANGE)||LA30_0==TREE_BEGIN||(LA30_0>=TOKEN_REF && LA30_0<=RULE_REF)||LA30_0==STRING_LITERAL||LA30_0==BLOCK||(LA30_0>=OPTIONAL && LA30_0<=POSITIVE_CLOSURE)||LA30_0==GATED_SEMPRED||LA30_0==DOT) ) {
|
||||
if ( (LA30_0==SEMPRED||LA30_0==ACTION||LA30_0==IMPLIES||LA30_0==ASSIGN||LA30_0==BANG||LA30_0==PLUS_ASSIGN||LA30_0==ROOT||(LA30_0>=DOT && LA30_0<=RANGE)||LA30_0==TREE_BEGIN||(LA30_0>=TOKEN_REF && LA30_0<=RULE_REF)||LA30_0==STRING_LITERAL||LA30_0==BLOCK||(LA30_0>=OPTIONAL && LA30_0<=POSITIVE_CLOSURE)||LA30_0==GATED_SEMPRED||LA30_0==WILDCARD) ) {
|
||||
alt30=1;
|
||||
}
|
||||
|
||||
|
@ -4172,7 +4172,7 @@ public class ASTVerifier extends TreeParser {
|
|||
static final String DFA26_minS =
|
||||
"\1\4\1\uffff\2\2\6\uffff\2\57";
|
||||
static final String DFA26_maxS =
|
||||
"\1\140\1\uffff\2\2\6\uffff\2\114";
|
||||
"\1\140\1\uffff\2\2\6\uffff\2\140";
|
||||
static final String DFA26_acceptS =
|
||||
"\1\uffff\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\2\uffff";
|
||||
static final String DFA26_specialS =
|
||||
|
@ -4190,10 +4190,10 @@ public class ASTVerifier extends TreeParser {
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\4\4\uffff\1\4\1\uffff\2\4\4\uffff\1\4\1\uffff\2\4\3\uffff"+
|
||||
"\1\4\10\uffff\1\5",
|
||||
"\1\4\4\uffff\1\4\1\uffff\2\4\4\uffff\1\4\1\uffff\2\4\3\uffff"+
|
||||
"\1\4\10\uffff\1\5"
|
||||
"\1\4\4\uffff\1\4\2\uffff\1\4\4\uffff\1\4\1\uffff\2\4\3\uffff"+
|
||||
"\1\4\10\uffff\1\5\23\uffff\1\4",
|
||||
"\1\4\4\uffff\1\4\2\uffff\1\4\4\uffff\1\4\1\uffff\2\4\3\uffff"+
|
||||
"\1\4\10\uffff\1\5\23\uffff\1\4"
|
||||
};
|
||||
|
||||
static final short[] DFA26_eot = DFA.unpackEncodedString(DFA26_eotS);
|
||||
|
@ -4237,41 +4237,41 @@ public class ASTVerifier extends TreeParser {
|
|||
"\1\57\2\2\1\uffff\1\2\2\uffff\2\57\1\127\4\uffff\1\57\1\uffff\2"+
|
||||
"\2\1\uffff\2\57";
|
||||
static final String DFA33_maxS =
|
||||
"\1\140\2\2\1\uffff\1\2\2\uffff\2\103\1\127\4\uffff\1\103\1\uffff"+
|
||||
"\2\2\1\uffff\2\103";
|
||||
"\1\140\2\2\1\uffff\1\2\2\uffff\2\140\1\127\4\uffff\1\140\1\uffff"+
|
||||
"\2\2\1\uffff\2\140";
|
||||
static final String DFA33_acceptS =
|
||||
"\3\uffff\1\5\1\uffff\1\10\1\11\3\uffff\1\1\1\3\1\2\1\4\1\uffff\1"+
|
||||
"\6\2\uffff\1\7\2\uffff";
|
||||
static final String DFA33_specialS =
|
||||
"\25\uffff}>";
|
||||
static final String[] DFA33_transitionS = {
|
||||
"\1\2\4\uffff\1\1\1\uffff\1\5\1\3\6\uffff\1\5\1\6\3\uffff\1\5"+
|
||||
"\34\uffff\1\4",
|
||||
"\1\2\4\uffff\1\1\1\uffff\1\4\1\3\6\uffff\1\5\1\6\3\uffff\1\5"+
|
||||
"\34\uffff\1\5",
|
||||
"\1\7",
|
||||
"\1\10",
|
||||
"",
|
||||
"\1\11",
|
||||
"",
|
||||
"",
|
||||
"\1\5\4\uffff\1\5\1\uffff\1\5\1\12\4\uffff\1\13\1\uffff\1\5"+
|
||||
"\1\6\3\uffff\1\5",
|
||||
"\1\5\4\uffff\1\5\1\uffff\1\5\1\14\4\uffff\1\15\1\uffff\1\5"+
|
||||
"\1\6\3\uffff\1\5",
|
||||
"\1\5\4\uffff\1\5\2\uffff\1\12\4\uffff\1\13\1\uffff\1\5\1\6"+
|
||||
"\3\uffff\1\5\34\uffff\1\5",
|
||||
"\1\5\4\uffff\1\5\2\uffff\1\14\4\uffff\1\15\1\uffff\1\5\1\6"+
|
||||
"\3\uffff\1\5\34\uffff\1\5",
|
||||
"\1\16",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\21\4\uffff\1\20\1\uffff\1\17\7\uffff\1\17\1\22\3\uffff\1"+
|
||||
"\17",
|
||||
"\1\21\4\uffff\1\20\11\uffff\1\17\1\22\3\uffff\1\17\34\uffff"+
|
||||
"\1\17",
|
||||
"",
|
||||
"\1\23",
|
||||
"\1\24",
|
||||
"",
|
||||
"\1\17\4\uffff\1\17\1\uffff\1\17\7\uffff\1\17\1\22\3\uffff\1"+
|
||||
"\17",
|
||||
"\1\17\4\uffff\1\17\1\uffff\1\17\7\uffff\1\17\1\22\3\uffff\1"+
|
||||
"\17"
|
||||
"\1\17\4\uffff\1\17\11\uffff\1\17\1\22\3\uffff\1\17\34\uffff"+
|
||||
"\1\17",
|
||||
"\1\17\4\uffff\1\17\11\uffff\1\17\1\22\3\uffff\1\17\34\uffff"+
|
||||
"\1\17"
|
||||
};
|
||||
|
||||
static final short[] DFA33_eot = DFA.unpackEncodedString(DFA33_eotS);
|
||||
|
@ -4314,14 +4314,14 @@ public class ASTVerifier extends TreeParser {
|
|||
static final String DFA42_minS =
|
||||
"\1\57\3\2\4\uffff\1\16\3\uffff\1\3\3\uffff";
|
||||
static final String DFA42_maxS =
|
||||
"\1\103\3\140\4\uffff\1\142\3\uffff\1\142\3\uffff";
|
||||
"\4\140\4\uffff\1\142\3\uffff\1\142\3\uffff";
|
||||
static final String DFA42_acceptS =
|
||||
"\4\uffff\1\11\1\12\1\1\1\2\1\uffff\1\6\1\7\1\10\1\uffff\1\5\1\4"+
|
||||
"\1\3";
|
||||
static final String DFA42_specialS =
|
||||
"\20\uffff}>";
|
||||
static final String[] DFA42_transitionS = {
|
||||
"\1\5\4\uffff\1\4\1\uffff\1\3\7\uffff\1\2\4\uffff\1\1",
|
||||
"\1\5\4\uffff\1\4\11\uffff\1\2\4\uffff\1\1\34\uffff\1\3",
|
||||
"\1\6\2\7\13\uffff\1\7\31\uffff\1\7\2\uffff\1\7\1\uffff\1\7"+
|
||||
"\2\uffff\1\7\1\uffff\1\7\1\uffff\2\7\2\uffff\1\7\3\uffff\2\7"+
|
||||
"\3\uffff\1\7\10\uffff\1\7\1\uffff\3\7\14\uffff\1\7\2\uffff\1"+
|
||||
|
@ -4566,7 +4566,7 @@ public class ASTVerifier extends TreeParser {
|
|||
public static final BitSet FOLLOW_notSet_in_atom1047 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_range_in_atom1053 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_DOT_in_atom1059 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_atom1061 = new BitSet(new long[]{0x4050800000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_atom1061 = new BitSet(new long[]{0x4010800000000000L,0x0000000100000008L});
|
||||
public static final BitSet FOLLOW_terminal_in_atom1063 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_DOT_in_atom1070 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_atom1072 = new BitSet(new long[]{0xC0D0800000000000L,0x0000000100000008L});
|
||||
|
|
|
@ -60,11 +60,11 @@ TREE=26
|
|||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=54
|
||||
WILDCARD=96
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=96
|
||||
DOT=54
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
|
|
|
@ -320,6 +320,14 @@ public class BasicSemanticChecks {
|
|||
}
|
||||
}
|
||||
|
||||
protected static void checkWildcardRoot(int gtype, Token wild) {
|
||||
String fileName = wild.getInputStream().getSourceName();
|
||||
ErrorManager.grammarError(ErrorType.WILDCARD_AS_ROOT,
|
||||
fileName,
|
||||
wild);
|
||||
}
|
||||
|
||||
|
||||
protected static void checkFOO(int gtype, Token ID) {
|
||||
}
|
||||
}
|
||||
|
|
|
@ -98,6 +98,7 @@ bottomup // do these "inside to outside" of expressions.
|
|||
| tokenRefWithArgs
|
||||
| elementOption
|
||||
| checkGrammarOptions // do after we see everything
|
||||
| wildcardRoot
|
||||
;
|
||||
|
||||
grammarSpec
|
||||
|
@ -213,4 +214,8 @@ multiElementAltInTreeGrammar
|
|||
astOps
|
||||
: ^(ROOT el=.) {BasicSemanticChecks.checkASTOps(gtype, root.getOptions(), $start, $el);}
|
||||
| ^(BANG el=.) {BasicSemanticChecks.checkASTOps(gtype, root.getOptions(), $start, $el);}
|
||||
;
|
||||
;
|
||||
|
||||
wildcardRoot
|
||||
: ^(TREE_BEGIN WILDCARD .*) {BasicSemanticChecks.checkWildcardRoot(gtype, $WILDCARD.token);}
|
||||
;
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 BasicSemanticTriggers.g 2010-02-02 18:26:07
|
||||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 BasicSemanticTriggers.g 2010-02-03 11:09:38
|
||||
|
||||
/*
|
||||
[The "BSD license"]
|
||||
|
@ -41,7 +41,7 @@ import java.util.HashMap;
|
|||
*/
|
||||
public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter {
|
||||
public static final String[] tokenNames = new String[] {
|
||||
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "SEMPRED", "FORCED_ACTION", "DOC_COMMENT", "SRC", "NLCHARS", "COMMENT", "DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "ACTION_STRING_LITERAL", "ACTION_CHAR_LITERAL", "ARG_ACTION", "NESTED_ACTION", "ACTION", "ACTION_ESC", "WSNLCHARS", "OPTIONS", "TOKENS", "SCOPE", "IMPORT", "FRAGMENT", "LEXER", "PARSER", "TREE", "GRAMMAR", "PROTECTED", "PUBLIC", "PRIVATE", "RETURNS", "THROWS", "CATCH", "FINALLY", "TEMPLATE", "COLON", "COLONCOLON", "COMMA", "SEMI", "LPAREN", "RPAREN", "IMPLIES", "LT", "GT", "ASSIGN", "QUESTION", "BANG", "STAR", "PLUS", "PLUS_ASSIGN", "OR", "ROOT", "DOLLAR", "WILDCARD", "RANGE", "ETC", "RARROW", "TREE_BEGIN", "AT", "NOT", "RBRACE", "TOKEN_REF", "RULE_REF", "INT", "WSCHARS", "ESC_SEQ", "STRING_LITERAL", "HEX_DIGIT", "UNICODE_ESC", "WS", "ERRCHAR", "RULE", "RULES", "RULEMODIFIERS", "RULEACTIONS", "BLOCK", "REWRITE_BLOCK", "OPTIONAL", "CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "CHAR_RANGE", "EPSILON", "ALT", "ALTLIST", "RESULT", "ID", "ARG", "ARGLIST", "RET", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "DOT", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "ALT_REWRITE"
|
||||
"<invalid>", "<EOR>", "<DOWN>", "<UP>", "SEMPRED", "FORCED_ACTION", "DOC_COMMENT", "SRC", "NLCHARS", "COMMENT", "DOUBLE_QUOTE_STRING_LITERAL", "DOUBLE_ANGLE_STRING_LITERAL", "ACTION_STRING_LITERAL", "ACTION_CHAR_LITERAL", "ARG_ACTION", "NESTED_ACTION", "ACTION", "ACTION_ESC", "WSNLCHARS", "OPTIONS", "TOKENS", "SCOPE", "IMPORT", "FRAGMENT", "LEXER", "PARSER", "TREE", "GRAMMAR", "PROTECTED", "PUBLIC", "PRIVATE", "RETURNS", "THROWS", "CATCH", "FINALLY", "TEMPLATE", "COLON", "COLONCOLON", "COMMA", "SEMI", "LPAREN", "RPAREN", "IMPLIES", "LT", "GT", "ASSIGN", "QUESTION", "BANG", "STAR", "PLUS", "PLUS_ASSIGN", "OR", "ROOT", "DOLLAR", "DOT", "RANGE", "ETC", "RARROW", "TREE_BEGIN", "AT", "NOT", "RBRACE", "TOKEN_REF", "RULE_REF", "INT", "WSCHARS", "ESC_SEQ", "STRING_LITERAL", "HEX_DIGIT", "UNICODE_ESC", "WS", "ERRCHAR", "RULE", "RULES", "RULEMODIFIERS", "RULEACTIONS", "BLOCK", "REWRITE_BLOCK", "OPTIONAL", "CLOSURE", "POSITIVE_CLOSURE", "SYNPRED", "CHAR_RANGE", "EPSILON", "ALT", "ALTLIST", "RESULT", "ID", "ARG", "ARGLIST", "RET", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "ALT_REWRITE"
|
||||
};
|
||||
public static final int LT=43;
|
||||
public static final int STAR=48;
|
||||
|
@ -106,11 +106,11 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
public static final int SCOPE=21;
|
||||
public static final int ETC=56;
|
||||
public static final int COMMA=38;
|
||||
public static final int WILDCARD=54;
|
||||
public static final int WILDCARD=96;
|
||||
public static final int DOC_COMMENT=6;
|
||||
public static final int PLUS=49;
|
||||
public static final int REWRITE_BLOCK=77;
|
||||
public static final int DOT=96;
|
||||
public static final int DOT=54;
|
||||
public static final int RETURNS=31;
|
||||
public static final int RULES=73;
|
||||
public static final int RARROW=57;
|
||||
|
@ -252,11 +252,11 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "bottomup"
|
||||
// BasicSemanticTriggers.g:94:1: bottomup : ( multiElementAltInTreeGrammar | astOps | ruleref | tokenRefWithArgs | elementOption | checkGrammarOptions );
|
||||
// BasicSemanticTriggers.g:94:1: bottomup : ( multiElementAltInTreeGrammar | astOps | ruleref | tokenRefWithArgs | elementOption | checkGrammarOptions | wildcardRoot );
|
||||
public final void bottomup() throws RecognitionException {
|
||||
try {
|
||||
// BasicSemanticTriggers.g:95:2: ( multiElementAltInTreeGrammar | astOps | ruleref | tokenRefWithArgs | elementOption | checkGrammarOptions )
|
||||
int alt2=6;
|
||||
// BasicSemanticTriggers.g:95:2: ( multiElementAltInTreeGrammar | astOps | ruleref | tokenRefWithArgs | elementOption | checkGrammarOptions | wildcardRoot )
|
||||
int alt2=7;
|
||||
switch ( input.LA(1) ) {
|
||||
case ALT:
|
||||
{
|
||||
|
@ -289,6 +289,11 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
alt2=6;
|
||||
}
|
||||
break;
|
||||
case TREE_BEGIN:
|
||||
{
|
||||
alt2=7;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (state.backtracking>0) {state.failed=true; return ;}
|
||||
NoViableAltException nvae =
|
||||
|
@ -362,6 +367,17 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
state._fsp--;
|
||||
if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
case 7 :
|
||||
// BasicSemanticTriggers.g:101:4: wildcardRoot
|
||||
{
|
||||
pushFollow(FOLLOW_wildcardRoot_in_bottomup159);
|
||||
wildcardRoot();
|
||||
|
||||
state._fsp--;
|
||||
if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
|
@ -381,7 +397,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
};
|
||||
|
||||
// $ANTLR start "grammarSpec"
|
||||
// BasicSemanticTriggers.g:103:1: grammarSpec : ^( GRAMMAR ID ( DOC_COMMENT )? prequelConstructs ^( RULES ( . )* ) ) ;
|
||||
// BasicSemanticTriggers.g:104:1: grammarSpec : ^( GRAMMAR ID ( DOC_COMMENT )? prequelConstructs ^( RULES ( . )* ) ) ;
|
||||
public final BasicSemanticTriggers.grammarSpec_return grammarSpec() throws RecognitionException {
|
||||
BasicSemanticTriggers.grammarSpec_return retval = new BasicSemanticTriggers.grammarSpec_return();
|
||||
retval.start = input.LT(1);
|
||||
|
@ -389,14 +405,14 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
GrammarAST ID1=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:104:5: ( ^( GRAMMAR ID ( DOC_COMMENT )? prequelConstructs ^( RULES ( . )* ) ) )
|
||||
// BasicSemanticTriggers.g:104:9: ^( GRAMMAR ID ( DOC_COMMENT )? prequelConstructs ^( RULES ( . )* ) )
|
||||
// BasicSemanticTriggers.g:105:5: ( ^( GRAMMAR ID ( DOC_COMMENT )? prequelConstructs ^( RULES ( . )* ) ) )
|
||||
// BasicSemanticTriggers.g:105:9: ^( GRAMMAR ID ( DOC_COMMENT )? prequelConstructs ^( RULES ( . )* ) )
|
||||
{
|
||||
match(input,GRAMMAR,FOLLOW_GRAMMAR_in_grammarSpec171); if (state.failed) return retval;
|
||||
match(input,GRAMMAR,FOLLOW_GRAMMAR_in_grammarSpec176); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
ID1=(GrammarAST)match(input,ID,FOLLOW_ID_in_grammarSpec173); if (state.failed) return retval;
|
||||
// BasicSemanticTriggers.g:104:22: ( DOC_COMMENT )?
|
||||
ID1=(GrammarAST)match(input,ID,FOLLOW_ID_in_grammarSpec178); if (state.failed) return retval;
|
||||
// BasicSemanticTriggers.g:105:22: ( DOC_COMMENT )?
|
||||
int alt3=2;
|
||||
int LA3_0 = input.LA(1);
|
||||
|
||||
|
@ -405,25 +421,25 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
switch (alt3) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:104:22: DOC_COMMENT
|
||||
// BasicSemanticTriggers.g:105:22: DOC_COMMENT
|
||||
{
|
||||
match(input,DOC_COMMENT,FOLLOW_DOC_COMMENT_in_grammarSpec175); if (state.failed) return retval;
|
||||
match(input,DOC_COMMENT,FOLLOW_DOC_COMMENT_in_grammarSpec180); if (state.failed) return retval;
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
pushFollow(FOLLOW_prequelConstructs_in_grammarSpec178);
|
||||
pushFollow(FOLLOW_prequelConstructs_in_grammarSpec183);
|
||||
prequelConstructs();
|
||||
|
||||
state._fsp--;
|
||||
if (state.failed) return retval;
|
||||
match(input,RULES,FOLLOW_RULES_in_grammarSpec181); if (state.failed) return retval;
|
||||
match(input,RULES,FOLLOW_RULES_in_grammarSpec186); if (state.failed) return retval;
|
||||
|
||||
if ( input.LA(1)==Token.DOWN ) {
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
// BasicSemanticTriggers.g:104:61: ( . )*
|
||||
// BasicSemanticTriggers.g:105:61: ( . )*
|
||||
loop4:
|
||||
do {
|
||||
int alt4=2;
|
||||
|
@ -439,7 +455,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt4) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:104:61: .
|
||||
// BasicSemanticTriggers.g:105:61: .
|
||||
{
|
||||
matchAny(input); if (state.failed) return retval;
|
||||
|
||||
|
@ -480,15 +496,15 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "checkGrammarOptions"
|
||||
// BasicSemanticTriggers.g:113:1: checkGrammarOptions : GRAMMAR ;
|
||||
// BasicSemanticTriggers.g:114:1: checkGrammarOptions : GRAMMAR ;
|
||||
public final void checkGrammarOptions() throws RecognitionException {
|
||||
GrammarAST GRAMMAR2=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:114:2: ( GRAMMAR )
|
||||
// BasicSemanticTriggers.g:114:4: GRAMMAR
|
||||
// BasicSemanticTriggers.g:115:2: ( GRAMMAR )
|
||||
// BasicSemanticTriggers.g:115:4: GRAMMAR
|
||||
{
|
||||
GRAMMAR2=(GrammarAST)match(input,GRAMMAR,FOLLOW_GRAMMAR_in_checkGrammarOptions205); if (state.failed) return ;
|
||||
GRAMMAR2=(GrammarAST)match(input,GRAMMAR,FOLLOW_GRAMMAR_in_checkGrammarOptions210); if (state.failed) return ;
|
||||
if ( state.backtracking==1 ) {
|
||||
BasicSemanticChecks.checkTreeFilterOptions(gtype, (GrammarRootAST)GRAMMAR2,
|
||||
root.getOptions());
|
||||
|
@ -509,7 +525,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "prequelConstructs"
|
||||
// BasicSemanticTriggers.g:126:1: prequelConstructs : ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )* ;
|
||||
// BasicSemanticTriggers.g:127:1: prequelConstructs : ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )* ;
|
||||
public final void prequelConstructs() throws RecognitionException {
|
||||
GrammarAST o=null;
|
||||
GrammarAST i=null;
|
||||
|
@ -519,10 +535,10 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
List list_t=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:127:2: ( ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )* )
|
||||
// BasicSemanticTriggers.g:127:4: ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )*
|
||||
// BasicSemanticTriggers.g:128:2: ( ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )* )
|
||||
// BasicSemanticTriggers.g:128:4: ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )*
|
||||
{
|
||||
// BasicSemanticTriggers.g:127:4: ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )*
|
||||
// BasicSemanticTriggers.g:128:4: ( ^(o+= OPTIONS ( . )* ) | ^(i+= IMPORT ( . )* ) | ^(t+= TOKENS ( . )* ) )*
|
||||
loop8:
|
||||
do {
|
||||
int alt8=4;
|
||||
|
@ -547,16 +563,16 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt8) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:127:6: ^(o+= OPTIONS ( . )* )
|
||||
// BasicSemanticTriggers.g:128:6: ^(o+= OPTIONS ( . )* )
|
||||
{
|
||||
o=(GrammarAST)match(input,OPTIONS,FOLLOW_OPTIONS_in_prequelConstructs228); if (state.failed) return ;
|
||||
o=(GrammarAST)match(input,OPTIONS,FOLLOW_OPTIONS_in_prequelConstructs233); if (state.failed) return ;
|
||||
if (list_o==null) list_o=new ArrayList();
|
||||
list_o.add(o);
|
||||
|
||||
|
||||
if ( input.LA(1)==Token.DOWN ) {
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
// BasicSemanticTriggers.g:127:19: ( . )*
|
||||
// BasicSemanticTriggers.g:128:19: ( . )*
|
||||
loop5:
|
||||
do {
|
||||
int alt5=2;
|
||||
|
@ -572,7 +588,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt5) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:127:19: .
|
||||
// BasicSemanticTriggers.g:128:19: .
|
||||
{
|
||||
matchAny(input); if (state.failed) return ;
|
||||
|
||||
|
@ -591,16 +607,16 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// BasicSemanticTriggers.g:128:5: ^(i+= IMPORT ( . )* )
|
||||
// BasicSemanticTriggers.g:129:5: ^(i+= IMPORT ( . )* )
|
||||
{
|
||||
i=(GrammarAST)match(input,IMPORT,FOLLOW_IMPORT_in_prequelConstructs241); if (state.failed) return ;
|
||||
i=(GrammarAST)match(input,IMPORT,FOLLOW_IMPORT_in_prequelConstructs246); if (state.failed) return ;
|
||||
if (list_i==null) list_i=new ArrayList();
|
||||
list_i.add(i);
|
||||
|
||||
|
||||
if ( input.LA(1)==Token.DOWN ) {
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
// BasicSemanticTriggers.g:128:17: ( . )*
|
||||
// BasicSemanticTriggers.g:129:17: ( . )*
|
||||
loop6:
|
||||
do {
|
||||
int alt6=2;
|
||||
|
@ -616,7 +632,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt6) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:128:17: .
|
||||
// BasicSemanticTriggers.g:129:17: .
|
||||
{
|
||||
matchAny(input); if (state.failed) return ;
|
||||
|
||||
|
@ -635,16 +651,16 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
break;
|
||||
case 3 :
|
||||
// BasicSemanticTriggers.g:129:5: ^(t+= TOKENS ( . )* )
|
||||
// BasicSemanticTriggers.g:130:5: ^(t+= TOKENS ( . )* )
|
||||
{
|
||||
t=(GrammarAST)match(input,TOKENS,FOLLOW_TOKENS_in_prequelConstructs254); if (state.failed) return ;
|
||||
t=(GrammarAST)match(input,TOKENS,FOLLOW_TOKENS_in_prequelConstructs259); if (state.failed) return ;
|
||||
if (list_t==null) list_t=new ArrayList();
|
||||
list_t.add(t);
|
||||
|
||||
|
||||
if ( input.LA(1)==Token.DOWN ) {
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
// BasicSemanticTriggers.g:129:17: ( . )*
|
||||
// BasicSemanticTriggers.g:130:17: ( . )*
|
||||
loop7:
|
||||
do {
|
||||
int alt7=2;
|
||||
|
@ -660,7 +676,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt7) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:129:17: .
|
||||
// BasicSemanticTriggers.g:130:17: .
|
||||
{
|
||||
matchAny(input); if (state.failed) return ;
|
||||
|
||||
|
@ -703,15 +719,15 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "rules"
|
||||
// BasicSemanticTriggers.g:134:1: rules : RULES ;
|
||||
// BasicSemanticTriggers.g:135:1: rules : RULES ;
|
||||
public final void rules() throws RecognitionException {
|
||||
GrammarAST RULES3=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:134:7: ( RULES )
|
||||
// BasicSemanticTriggers.g:134:9: RULES
|
||||
// BasicSemanticTriggers.g:135:7: ( RULES )
|
||||
// BasicSemanticTriggers.g:135:9: RULES
|
||||
{
|
||||
RULES3=(GrammarAST)match(input,RULES,FOLLOW_RULES_in_rules277); if (state.failed) return ;
|
||||
RULES3=(GrammarAST)match(input,RULES,FOLLOW_RULES_in_rules282); if (state.failed) return ;
|
||||
if ( state.backtracking==1 ) {
|
||||
BasicSemanticChecks.checkNumRules(gtype, fileName, RULES3);
|
||||
}
|
||||
|
@ -733,7 +749,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
};
|
||||
|
||||
// $ANTLR start "option"
|
||||
// BasicSemanticTriggers.g:136:1: option : {...}? ^( ASSIGN o= ID optionValue ) ;
|
||||
// BasicSemanticTriggers.g:137:1: option : {...}? ^( ASSIGN o= ID optionValue ) ;
|
||||
public final BasicSemanticTriggers.option_return option() throws RecognitionException {
|
||||
BasicSemanticTriggers.option_return retval = new BasicSemanticTriggers.option_return();
|
||||
retval.start = input.LT(1);
|
||||
|
@ -743,18 +759,18 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:137:5: ({...}? ^( ASSIGN o= ID optionValue ) )
|
||||
// BasicSemanticTriggers.g:137:9: {...}? ^( ASSIGN o= ID optionValue )
|
||||
// BasicSemanticTriggers.g:138:5: ({...}? ^( ASSIGN o= ID optionValue ) )
|
||||
// BasicSemanticTriggers.g:138:9: {...}? ^( ASSIGN o= ID optionValue )
|
||||
{
|
||||
if ( !((inContext("OPTIONS"))) ) {
|
||||
if (state.backtracking>0) {state.failed=true; return retval;}
|
||||
throw new FailedPredicateException(input, "option", "inContext(\"OPTIONS\")");
|
||||
}
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_option298); if (state.failed) return retval;
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_option303); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_option302); if (state.failed) return retval;
|
||||
pushFollow(FOLLOW_optionValue_in_option304);
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_option307); if (state.failed) return retval;
|
||||
pushFollow(FOLLOW_optionValue_in_option309);
|
||||
optionValue4=optionValue();
|
||||
|
||||
state._fsp--;
|
||||
|
@ -792,14 +808,14 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
};
|
||||
|
||||
// $ANTLR start "optionValue"
|
||||
// BasicSemanticTriggers.g:150:1: optionValue returns [String v] : ( ID | STRING_LITERAL | INT | STAR );
|
||||
// BasicSemanticTriggers.g:151:1: optionValue returns [String v] : ( ID | STRING_LITERAL | INT | STAR );
|
||||
public final BasicSemanticTriggers.optionValue_return optionValue() throws RecognitionException {
|
||||
BasicSemanticTriggers.optionValue_return retval = new BasicSemanticTriggers.optionValue_return();
|
||||
retval.start = input.LT(1);
|
||||
|
||||
retval.v = ((GrammarAST)retval.start).token.getText();
|
||||
try {
|
||||
// BasicSemanticTriggers.g:152:5: ( ID | STRING_LITERAL | INT | STAR )
|
||||
// BasicSemanticTriggers.g:153:5: ( ID | STRING_LITERAL | INT | STAR )
|
||||
// BasicSemanticTriggers.g:
|
||||
{
|
||||
if ( input.LA(1)==STAR||input.LA(1)==INT||input.LA(1)==STRING_LITERAL||input.LA(1)==ID ) {
|
||||
|
@ -828,19 +844,19 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "rule"
|
||||
// BasicSemanticTriggers.g:158:1: rule : ^( RULE r= ID ( . )* ) ;
|
||||
// BasicSemanticTriggers.g:159:1: rule : ^( RULE r= ID ( . )* ) ;
|
||||
public final void rule() throws RecognitionException {
|
||||
GrammarAST r=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:158:5: ( ^( RULE r= ID ( . )* ) )
|
||||
// BasicSemanticTriggers.g:158:9: ^( RULE r= ID ( . )* )
|
||||
// BasicSemanticTriggers.g:159:5: ( ^( RULE r= ID ( . )* ) )
|
||||
// BasicSemanticTriggers.g:159:9: ^( RULE r= ID ( . )* )
|
||||
{
|
||||
match(input,RULE,FOLLOW_RULE_in_rule386); if (state.failed) return ;
|
||||
match(input,RULE,FOLLOW_RULE_in_rule391); if (state.failed) return ;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
r=(GrammarAST)match(input,ID,FOLLOW_ID_in_rule390); if (state.failed) return ;
|
||||
// BasicSemanticTriggers.g:158:22: ( . )*
|
||||
r=(GrammarAST)match(input,ID,FOLLOW_ID_in_rule395); if (state.failed) return ;
|
||||
// BasicSemanticTriggers.g:159:22: ( . )*
|
||||
loop9:
|
||||
do {
|
||||
int alt9=2;
|
||||
|
@ -856,7 +872,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt9) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:158:22: .
|
||||
// BasicSemanticTriggers.g:159:22: .
|
||||
{
|
||||
matchAny(input); if (state.failed) return ;
|
||||
|
||||
|
@ -889,15 +905,15 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "ruleref"
|
||||
// BasicSemanticTriggers.g:161:1: ruleref : RULE_REF ;
|
||||
// BasicSemanticTriggers.g:162:1: ruleref : RULE_REF ;
|
||||
public final void ruleref() throws RecognitionException {
|
||||
GrammarAST RULE_REF5=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:162:5: ( RULE_REF )
|
||||
// BasicSemanticTriggers.g:162:7: RULE_REF
|
||||
// BasicSemanticTriggers.g:163:5: ( RULE_REF )
|
||||
// BasicSemanticTriggers.g:163:7: RULE_REF
|
||||
{
|
||||
RULE_REF5=(GrammarAST)match(input,RULE_REF,FOLLOW_RULE_REF_in_ruleref413); if (state.failed) return ;
|
||||
RULE_REF5=(GrammarAST)match(input,RULE_REF,FOLLOW_RULE_REF_in_ruleref418); if (state.failed) return ;
|
||||
if ( state.backtracking==1 ) {
|
||||
BasicSemanticChecks.checkInvalidRuleRef(gtype, RULE_REF5.token);
|
||||
}
|
||||
|
@ -917,23 +933,23 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "tokenAlias"
|
||||
// BasicSemanticTriggers.g:165:1: tokenAlias : {...}? ^( ASSIGN ID STRING_LITERAL ) ;
|
||||
// BasicSemanticTriggers.g:166:1: tokenAlias : {...}? ^( ASSIGN ID STRING_LITERAL ) ;
|
||||
public final void tokenAlias() throws RecognitionException {
|
||||
GrammarAST ID6=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:166:2: ({...}? ^( ASSIGN ID STRING_LITERAL ) )
|
||||
// BasicSemanticTriggers.g:166:4: {...}? ^( ASSIGN ID STRING_LITERAL )
|
||||
// BasicSemanticTriggers.g:167:2: ({...}? ^( ASSIGN ID STRING_LITERAL ) )
|
||||
// BasicSemanticTriggers.g:167:4: {...}? ^( ASSIGN ID STRING_LITERAL )
|
||||
{
|
||||
if ( !((inContext("TOKENS"))) ) {
|
||||
if (state.backtracking>0) {state.failed=true; return ;}
|
||||
throw new FailedPredicateException(input, "tokenAlias", "inContext(\"TOKENS\")");
|
||||
}
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_tokenAlias432); if (state.failed) return ;
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_tokenAlias437); if (state.failed) return ;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
ID6=(GrammarAST)match(input,ID,FOLLOW_ID_in_tokenAlias434); if (state.failed) return ;
|
||||
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_tokenAlias436); if (state.failed) return ;
|
||||
ID6=(GrammarAST)match(input,ID,FOLLOW_ID_in_tokenAlias439); if (state.failed) return ;
|
||||
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_tokenAlias441); if (state.failed) return ;
|
||||
|
||||
match(input, Token.UP, null); if (state.failed) return ;
|
||||
if ( state.backtracking==1 ) {
|
||||
|
@ -955,18 +971,18 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
|
||||
// $ANTLR start "tokenRefWithArgs"
|
||||
// BasicSemanticTriggers.g:170:1: tokenRefWithArgs : ^( TOKEN_REF ARG_ACTION ) ;
|
||||
// BasicSemanticTriggers.g:171:1: tokenRefWithArgs : ^( TOKEN_REF ARG_ACTION ) ;
|
||||
public final void tokenRefWithArgs() throws RecognitionException {
|
||||
GrammarAST TOKEN_REF7=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:171:2: ( ^( TOKEN_REF ARG_ACTION ) )
|
||||
// BasicSemanticTriggers.g:171:4: ^( TOKEN_REF ARG_ACTION )
|
||||
// BasicSemanticTriggers.g:172:2: ( ^( TOKEN_REF ARG_ACTION ) )
|
||||
// BasicSemanticTriggers.g:172:4: ^( TOKEN_REF ARG_ACTION )
|
||||
{
|
||||
TOKEN_REF7=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenRefWithArgs453); if (state.failed) return ;
|
||||
TOKEN_REF7=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenRefWithArgs458); if (state.failed) return ;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_tokenRefWithArgs455); if (state.failed) return ;
|
||||
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_tokenRefWithArgs460); if (state.failed) return ;
|
||||
|
||||
match(input, Token.UP, null); if (state.failed) return ;
|
||||
if ( state.backtracking==1 ) {
|
||||
|
@ -990,7 +1006,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
};
|
||||
|
||||
// $ANTLR start "elementOption"
|
||||
// BasicSemanticTriggers.g:175:1: elementOption : ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) ;
|
||||
// BasicSemanticTriggers.g:176:1: elementOption : ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) ;
|
||||
public final BasicSemanticTriggers.elementOption_return elementOption() throws RecognitionException {
|
||||
BasicSemanticTriggers.elementOption_return retval = new BasicSemanticTriggers.elementOption_return();
|
||||
retval.start = input.LT(1);
|
||||
|
@ -999,13 +1015,13 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
GrammarAST value=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:176:5: ( ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) )
|
||||
// BasicSemanticTriggers.g:176:7: ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) )
|
||||
// BasicSemanticTriggers.g:177:5: ( ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) )
|
||||
// BasicSemanticTriggers.g:177:7: ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) )
|
||||
{
|
||||
match(input,ELEMENT_OPTIONS,FOLLOW_ELEMENT_OPTIONS_in_elementOption477); if (state.failed) return retval;
|
||||
match(input,ELEMENT_OPTIONS,FOLLOW_ELEMENT_OPTIONS_in_elementOption482); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
// BasicSemanticTriggers.g:177:7: ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID )
|
||||
// BasicSemanticTriggers.g:178:7: ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID )
|
||||
int alt10=3;
|
||||
int LA10_0 = input.LA(1);
|
||||
|
||||
|
@ -1060,35 +1076,35 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
switch (alt10) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:177:9: ^( ASSIGN o= ID value= ID )
|
||||
// BasicSemanticTriggers.g:178:9: ^( ASSIGN o= ID value= ID )
|
||||
{
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption488); if (state.failed) return retval;
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption493); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption492); if (state.failed) return retval;
|
||||
value=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption496); if (state.failed) return retval;
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption497); if (state.failed) return retval;
|
||||
value=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption501); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.UP, null); if (state.failed) return retval;
|
||||
|
||||
}
|
||||
break;
|
||||
case 2 :
|
||||
// BasicSemanticTriggers.g:178:11: ^( ASSIGN o= ID value= STRING_LITERAL )
|
||||
// BasicSemanticTriggers.g:179:11: ^( ASSIGN o= ID value= STRING_LITERAL )
|
||||
{
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption510); if (state.failed) return retval;
|
||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption515); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption514); if (state.failed) return retval;
|
||||
value=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_elementOption518); if (state.failed) return retval;
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption519); if (state.failed) return retval;
|
||||
value=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_elementOption523); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.UP, null); if (state.failed) return retval;
|
||||
|
||||
}
|
||||
break;
|
||||
case 3 :
|
||||
// BasicSemanticTriggers.g:179:10: o= ID
|
||||
// BasicSemanticTriggers.g:180:10: o= ID
|
||||
{
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption532); if (state.failed) return retval;
|
||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption537); if (state.failed) return retval;
|
||||
|
||||
}
|
||||
break;
|
||||
|
@ -1131,21 +1147,21 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
};
|
||||
|
||||
// $ANTLR start "multiElementAltInTreeGrammar"
|
||||
// BasicSemanticTriggers.g:199:1: multiElementAltInTreeGrammar : {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) ;
|
||||
// BasicSemanticTriggers.g:200:1: multiElementAltInTreeGrammar : {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) ;
|
||||
public final BasicSemanticTriggers.multiElementAltInTreeGrammar_return multiElementAltInTreeGrammar() throws RecognitionException {
|
||||
BasicSemanticTriggers.multiElementAltInTreeGrammar_return retval = new BasicSemanticTriggers.multiElementAltInTreeGrammar_return();
|
||||
retval.start = input.LT(1);
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:200:2: ({...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) )
|
||||
// BasicSemanticTriggers.g:200:4: {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ )
|
||||
// BasicSemanticTriggers.g:201:2: ({...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) )
|
||||
// BasicSemanticTriggers.g:201:4: {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ )
|
||||
{
|
||||
if ( !((inContext("ALT_REWRITE") &&
|
||||
root.getOption("output")!=null && root.getOption("output").equals("template"))) ) {
|
||||
if (state.backtracking>0) {state.failed=true; return retval;}
|
||||
throw new FailedPredicateException(input, "multiElementAltInTreeGrammar", "inContext(\"ALT_REWRITE\") &&\n\t\t root.getOption(\"output\")!=null && root.getOption(\"output\").equals(\"template\")");
|
||||
}
|
||||
match(input,ALT,FOLLOW_ALT_in_multiElementAltInTreeGrammar572); if (state.failed) return retval;
|
||||
match(input,ALT,FOLLOW_ALT_in_multiElementAltInTreeGrammar577); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
if ( (input.LA(1)>=FORCED_ACTION && input.LA(1)<=NESTED_ACTION)||(input.LA(1)>=ACTION_ESC && input.LA(1)<=ALT_REWRITE) ) {
|
||||
|
@ -1158,7 +1174,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
throw mse;
|
||||
}
|
||||
|
||||
// BasicSemanticTriggers.g:202:28: (~ ( SEMPRED | ACTION ) )+
|
||||
// BasicSemanticTriggers.g:203:28: (~ ( SEMPRED | ACTION ) )+
|
||||
int cnt11=0;
|
||||
loop11:
|
||||
do {
|
||||
|
@ -1172,7 +1188,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
|
||||
switch (alt11) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:202:28: ~ ( SEMPRED | ACTION )
|
||||
// BasicSemanticTriggers.g:203:28: ~ ( SEMPRED | ACTION )
|
||||
{
|
||||
if ( (input.LA(1)>=FORCED_ACTION && input.LA(1)<=NESTED_ACTION)||(input.LA(1)>=ACTION_ESC && input.LA(1)<=ALT_REWRITE) ) {
|
||||
input.consume();
|
||||
|
@ -1227,7 +1243,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
};
|
||||
|
||||
// $ANTLR start "astOps"
|
||||
// BasicSemanticTriggers.g:213:1: astOps : ( ^( ROOT el= . ) | ^( BANG el= . ) );
|
||||
// BasicSemanticTriggers.g:214:1: astOps : ( ^( ROOT el= . ) | ^( BANG el= . ) );
|
||||
public final BasicSemanticTriggers.astOps_return astOps() throws RecognitionException {
|
||||
BasicSemanticTriggers.astOps_return retval = new BasicSemanticTriggers.astOps_return();
|
||||
retval.start = input.LT(1);
|
||||
|
@ -1235,7 +1251,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
GrammarAST el=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:214:2: ( ^( ROOT el= . ) | ^( BANG el= . ) )
|
||||
// BasicSemanticTriggers.g:215:2: ( ^( ROOT el= . ) | ^( BANG el= . ) )
|
||||
int alt12=2;
|
||||
int LA12_0 = input.LA(1);
|
||||
|
||||
|
@ -1254,9 +1270,9 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
switch (alt12) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:214:4: ^( ROOT el= . )
|
||||
// BasicSemanticTriggers.g:215:4: ^( ROOT el= . )
|
||||
{
|
||||
match(input,ROOT,FOLLOW_ROOT_in_astOps607); if (state.failed) return retval;
|
||||
match(input,ROOT,FOLLOW_ROOT_in_astOps612); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
el=(GrammarAST)input.LT(1);
|
||||
|
@ -1270,9 +1286,9 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
break;
|
||||
case 2 :
|
||||
// BasicSemanticTriggers.g:215:4: ^( BANG el= . )
|
||||
// BasicSemanticTriggers.g:216:4: ^( BANG el= . )
|
||||
{
|
||||
match(input,BANG,FOLLOW_BANG_in_astOps620); if (state.failed) return retval;
|
||||
match(input,BANG,FOLLOW_BANG_in_astOps625); if (state.failed) return retval;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||
el=(GrammarAST)input.LT(1);
|
||||
|
@ -1298,6 +1314,67 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
}
|
||||
// $ANTLR end "astOps"
|
||||
|
||||
|
||||
// $ANTLR start "wildcardRoot"
|
||||
// BasicSemanticTriggers.g:219:1: wildcardRoot : ^( TREE_BEGIN WILDCARD ( . )* ) ;
|
||||
public final void wildcardRoot() throws RecognitionException {
|
||||
GrammarAST WILDCARD8=null;
|
||||
|
||||
try {
|
||||
// BasicSemanticTriggers.g:220:5: ( ^( TREE_BEGIN WILDCARD ( . )* ) )
|
||||
// BasicSemanticTriggers.g:220:7: ^( TREE_BEGIN WILDCARD ( . )* )
|
||||
{
|
||||
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_wildcardRoot648); if (state.failed) return ;
|
||||
|
||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||
WILDCARD8=(GrammarAST)match(input,WILDCARD,FOLLOW_WILDCARD_in_wildcardRoot650); if (state.failed) return ;
|
||||
// BasicSemanticTriggers.g:220:29: ( . )*
|
||||
loop13:
|
||||
do {
|
||||
int alt13=2;
|
||||
int LA13_0 = input.LA(1);
|
||||
|
||||
if ( ((LA13_0>=SEMPRED && LA13_0<=ALT_REWRITE)) ) {
|
||||
alt13=1;
|
||||
}
|
||||
else if ( (LA13_0==UP) ) {
|
||||
alt13=2;
|
||||
}
|
||||
|
||||
|
||||
switch (alt13) {
|
||||
case 1 :
|
||||
// BasicSemanticTriggers.g:220:29: .
|
||||
{
|
||||
matchAny(input); if (state.failed) return ;
|
||||
|
||||
}
|
||||
break;
|
||||
|
||||
default :
|
||||
break loop13;
|
||||
}
|
||||
} while (true);
|
||||
|
||||
|
||||
match(input, Token.UP, null); if (state.failed) return ;
|
||||
if ( state.backtracking==1 ) {
|
||||
BasicSemanticChecks.checkWildcardRoot(gtype, WILDCARD8.token);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
catch (RecognitionException re) {
|
||||
reportError(re);
|
||||
recover(input,re);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
return ;
|
||||
}
|
||||
// $ANTLR end "wildcardRoot"
|
||||
|
||||
// Delegated rules
|
||||
|
||||
|
||||
|
@ -1400,40 +1477,43 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
public static final BitSet FOLLOW_tokenRefWithArgs_in_bottomup143 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_elementOption_in_bottomup148 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_checkGrammarOptions_in_bottomup153 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_GRAMMAR_in_grammarSpec171 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_grammarSpec173 = new BitSet(new long[]{0x0000000000580040L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_DOC_COMMENT_in_grammarSpec175 = new BitSet(new long[]{0x0000000000580000L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_prequelConstructs_in_grammarSpec178 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_RULES_in_grammarSpec181 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_GRAMMAR_in_checkGrammarOptions205 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_OPTIONS_in_prequelConstructs228 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_IMPORT_in_prequelConstructs241 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_TOKENS_in_prequelConstructs254 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_RULES_in_rules277 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_option298 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_option302 = new BitSet(new long[]{0x0001000000000000L,0x0000000000800009L});
|
||||
public static final BitSet FOLLOW_optionValue_in_option304 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_wildcardRoot_in_bottomup159 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_GRAMMAR_in_grammarSpec176 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_grammarSpec178 = new BitSet(new long[]{0x0000000000580040L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_DOC_COMMENT_in_grammarSpec180 = new BitSet(new long[]{0x0000000000580000L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_prequelConstructs_in_grammarSpec183 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_RULES_in_grammarSpec186 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_GRAMMAR_in_checkGrammarOptions210 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_OPTIONS_in_prequelConstructs233 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_IMPORT_in_prequelConstructs246 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_TOKENS_in_prequelConstructs259 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_RULES_in_rules282 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_option303 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_option307 = new BitSet(new long[]{0x0001000000000000L,0x0000000000800009L});
|
||||
public static final BitSet FOLLOW_optionValue_in_option309 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_set_in_optionValue0 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_RULE_in_rule386 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_rule390 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000001FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_RULE_REF_in_ruleref413 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_tokenAlias432 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_tokenAlias434 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_tokenAlias436 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_tokenRefWithArgs453 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ARG_ACTION_in_tokenRefWithArgs455 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOption477 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption488 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption492 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption496 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption510 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption514 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_elementOption518 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption532 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ALT_in_multiElementAltInTreeGrammar572 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar574 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE0L,0x0000001FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar581 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE8L,0x0000001FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ROOT_in_astOps607 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_BANG_in_astOps620 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_RULE_in_rule391 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_rule395 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000001FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_RULE_REF_in_ruleref418 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_tokenAlias437 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_tokenAlias439 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_tokenAlias441 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_tokenRefWithArgs458 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ARG_ACTION_in_tokenRefWithArgs460 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOption482 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption493 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption497 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption501 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption515 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption519 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_elementOption523 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption537 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ALT_in_multiElementAltInTreeGrammar577 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar579 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE0L,0x0000001FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar586 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE8L,0x0000001FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ROOT_in_astOps612 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_BANG_in_astOps625 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_TREE_BEGIN_in_wildcardRoot648 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_WILDCARD_in_wildcardRoot650 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000001FFFFFFFFFL});
|
||||
|
||||
}
|
|
@ -60,11 +60,11 @@ TREE=26
|
|||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=54
|
||||
WILDCARD=96
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=96
|
||||
DOT=54
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
|
|
Loading…
Reference in New Issue