added "mode ID;" to the grammar.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6816]
This commit is contained in:
parent
529933b0ba
commit
849060e55a
|
@ -139,6 +139,7 @@ public class LexerNFAToDFAConverter {
|
|||
Transition t = s.transition(i);
|
||||
// found a transition with label; does it collide with label?
|
||||
if ( !t.isEpsilon() && !t.label().and(label).isNil() ) {
|
||||
//System.out.println("found edge with "+label.toString(g)+" from NFA state "+s);
|
||||
// add NFA target to (potentially) new DFA state
|
||||
labelTarget.addNFAConfig(
|
||||
new NFAConfig(c, t.target, SemanticContext.EMPTY_SEMANTIC_CONTEXT));
|
||||
|
|
|
@ -351,12 +351,15 @@ public class ParserNFAFactory implements NFAFactory {
|
|||
}
|
||||
|
||||
/** Build an atom with all possible values in its label */
|
||||
public Handle wildcard(GrammarAST associatedAST) { return null; }
|
||||
public Handle wildcard(GrammarAST associatedAST) {
|
||||
return set(IntervalSet.of(Label.MIN_CHAR_VALUE, Label.MAX_CHAR_VALUE),
|
||||
associatedAST);
|
||||
}
|
||||
|
||||
/** Build a subrule matching ^(. .*) (any tree or node). Let's use
|
||||
* (^(. .+) | .) to be safe.
|
||||
*/
|
||||
public Handle wildcardTree(GrammarAST associatedAST) { return null; }
|
||||
public Handle wildcardTree(GrammarAST associatedAST) { throw new UnsupportedOperationException(); }
|
||||
|
||||
void epsilon(NFAState a, NFAState b) {
|
||||
if ( a!=null ) a.addTransition(new EpsilonTransition(b));
|
||||
|
|
|
@ -428,6 +428,7 @@ THROWS : 'throws' ;
|
|||
CATCH : 'catch' ;
|
||||
FINALLY : 'finally' ;
|
||||
TEMPLATE : 'template' ;
|
||||
MODE : 'mode' ;
|
||||
|
||||
// -----------
|
||||
// Punctuation
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,67 +1,68 @@
|
|||
DOLLAR=53
|
||||
DOLLAR=54
|
||||
PROTECTED=28
|
||||
LT=43
|
||||
STAR=48
|
||||
LT=44
|
||||
STAR=49
|
||||
NESTED_ACTION=15
|
||||
DOUBLE_ANGLE_STRING_LITERAL=11
|
||||
FORCED_ACTION=5
|
||||
FRAGMENT=23
|
||||
NOT=60
|
||||
TREE_BEGIN=58
|
||||
NOT=61
|
||||
TREE_BEGIN=59
|
||||
SEMPRED=4
|
||||
ACTION=16
|
||||
TOKEN_REF=62
|
||||
LPAREN=40
|
||||
AT=59
|
||||
RPAREN=41
|
||||
TOKEN_REF=63
|
||||
LPAREN=41
|
||||
AT=60
|
||||
RPAREN=42
|
||||
IMPORT=22
|
||||
STRING_LITERAL=67
|
||||
ESC_SEQ=66
|
||||
STRING_LITERAL=68
|
||||
ESC_SEQ=67
|
||||
SCOPE=21
|
||||
TREE=26
|
||||
ETC=56
|
||||
COMMA=38
|
||||
ETC=57
|
||||
COMMA=39
|
||||
ARG_ACTION=14
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
PLUS=50
|
||||
DOUBLE_QUOTE_STRING_LITERAL=10
|
||||
DOT=54
|
||||
DOT=55
|
||||
COMMENT=9
|
||||
MODE=36
|
||||
ACTION_CHAR_LITERAL=13
|
||||
GRAMMAR=27
|
||||
WSCHARS=65
|
||||
WSCHARS=66
|
||||
RETURNS=31
|
||||
IMPLIES=42
|
||||
RBRACE=61
|
||||
IMPLIES=43
|
||||
RBRACE=62
|
||||
ACTION_ESC=17
|
||||
PRIVATE=30
|
||||
UNICODE_ESC=69
|
||||
RARROW=57
|
||||
UNICODE_ESC=70
|
||||
RARROW=58
|
||||
SRC=7
|
||||
HEX_DIGIT=68
|
||||
RANGE=55
|
||||
HEX_DIGIT=69
|
||||
RANGE=56
|
||||
TOKENS=20
|
||||
THROWS=32
|
||||
INT=64
|
||||
BANG=47
|
||||
INT=65
|
||||
BANG=48
|
||||
ACTION_STRING_LITERAL=12
|
||||
ROOT=52
|
||||
SEMI=39
|
||||
RULE_REF=63
|
||||
ROOT=53
|
||||
SEMI=40
|
||||
RULE_REF=64
|
||||
NLCHARS=8
|
||||
COLON=36
|
||||
COLONCOLON=37
|
||||
COLON=37
|
||||
COLONCOLON=38
|
||||
WSNLCHARS=18
|
||||
WS=70
|
||||
QUESTION=46
|
||||
WS=71
|
||||
QUESTION=47
|
||||
FINALLY=34
|
||||
TEMPLATE=35
|
||||
LEXER=24
|
||||
ERRCHAR=71
|
||||
OR=51
|
||||
PLUS_ASSIGN=50
|
||||
ASSIGN=45
|
||||
GT=44
|
||||
ERRCHAR=72
|
||||
OR=52
|
||||
PLUS_ASSIGN=51
|
||||
ASSIGN=46
|
||||
GT=45
|
||||
CATCH=33
|
||||
PARSER=25
|
||||
PUBLIC=29
|
||||
|
|
|
@ -168,6 +168,8 @@ grammarSpec
|
|||
// semantic verification phase tell the user about it.
|
||||
//
|
||||
rules
|
||||
|
||||
mode*
|
||||
|
||||
// And we force ANTLR to process everything it finds in the input
|
||||
// stream by specifying hte need to match End Of File before the
|
||||
|
@ -185,37 +187,10 @@ grammarSpec
|
|||
DOC_COMMENT? // We may or may not have a global documentation comment for the file
|
||||
prequelConstruct* // The set of declarations we accumulated
|
||||
rules // And of course, we need the set of rules we discovered
|
||||
mode*
|
||||
)
|
||||
;
|
||||
|
||||
|
||||
// ------------
|
||||
// Grammar Type
|
||||
//
|
||||
// ANTLR will process a combined lexer/grammar, a stand alone parser,
|
||||
// a stand alone lexer, and tree grammars. This rule determines which of
|
||||
// these the gramamr author is asking us to deal with. This choice will
|
||||
// later allow us to throw out valid syntactical constructs that are
|
||||
// not valid for certain grammar types, such as rule parameters and
|
||||
// returns specified for lexer rules.
|
||||
//
|
||||
/*
|
||||
grammarType
|
||||
: ( // A standalone lexer specification
|
||||
LEXER GRAMMAR -> LEXER_GRAMMAR<GrammarRootAST>[$LEXER, "LEXER_GRAMMAR"]
|
||||
|
||||
| // A standalone parser specification
|
||||
PARSER GRAMMAR -> PARSER_GRAMMAR<GrammarRootAST>[$PARSER, "PARSER_GRAMMAR"]
|
||||
|
||||
| // A standalone tree parser specification
|
||||
TREE GRAMMAR -> TREE_GRAMMAR<GrammarRootAST>[$TREE, "TREE_GRAMMAR"]
|
||||
|
||||
// A combined lexer and parser specification
|
||||
| g=GRAMMAR -> COMBINED_GRAMMAR<GrammarRootAST>[$g, "COMBINED_GRAMMAR"]
|
||||
|
||||
)
|
||||
;
|
||||
*/
|
||||
grammarType
|
||||
@after {
|
||||
if ( $t!=null ) ((GrammarRootAST)$tree).grammarType = $t.type;
|
||||
|
@ -353,8 +328,10 @@ actionScopeName
|
|||
| PARSER -> ID[$PARSER]
|
||||
;
|
||||
|
||||
mode: MODE id SEMI sync (rule sync)+ -> ^(MODE id rule+) ;
|
||||
|
||||
rules
|
||||
: sync (rule sync)*
|
||||
: sync (rule sync)*
|
||||
// Rewrite with an enclosing node as this is good for counting
|
||||
// the number of rules and an easy marker for the walker to detect
|
||||
// that there are no rules.
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,98 +1,99 @@
|
|||
LT=43
|
||||
COMBINED=90
|
||||
STAR=48
|
||||
BACKTRACK_SEMPRED=95
|
||||
LT=44
|
||||
COMBINED=91
|
||||
STAR=49
|
||||
BACKTRACK_SEMPRED=96
|
||||
DOUBLE_ANGLE_STRING_LITERAL=11
|
||||
FORCED_ACTION=5
|
||||
ARGLIST=88
|
||||
ALTLIST=85
|
||||
NOT=60
|
||||
ARGLIST=89
|
||||
ALTLIST=86
|
||||
NOT=61
|
||||
SEMPRED=4
|
||||
ACTION=16
|
||||
TOKEN_REF=62
|
||||
RULEMODIFIERS=74
|
||||
ST_RESULT=99
|
||||
RPAREN=41
|
||||
RET=89
|
||||
TOKEN_REF=63
|
||||
RULEMODIFIERS=75
|
||||
ST_RESULT=100
|
||||
RPAREN=42
|
||||
RET=90
|
||||
IMPORT=22
|
||||
STRING_LITERAL=67
|
||||
ARG=87
|
||||
STRING_LITERAL=68
|
||||
ARG=88
|
||||
ARG_ACTION=14
|
||||
DOUBLE_QUOTE_STRING_LITERAL=10
|
||||
COMMENT=9
|
||||
GRAMMAR=27
|
||||
ACTION_CHAR_LITERAL=13
|
||||
WSCHARS=65
|
||||
RULEACTIONS=75
|
||||
INITACTION=91
|
||||
ALT_REWRITE=101
|
||||
IMPLIES=42
|
||||
RBRACE=61
|
||||
RULE=72
|
||||
WSCHARS=66
|
||||
RULEACTIONS=76
|
||||
INITACTION=92
|
||||
ALT_REWRITE=102
|
||||
IMPLIES=43
|
||||
RBRACE=62
|
||||
RULE=73
|
||||
ACTION_ESC=17
|
||||
PRIVATE=30
|
||||
SRC=7
|
||||
THROWS=32
|
||||
INT=64
|
||||
CHAR_RANGE=82
|
||||
EPSILON=83
|
||||
LIST=97
|
||||
COLONCOLON=37
|
||||
INT=65
|
||||
CHAR_RANGE=83
|
||||
EPSILON=84
|
||||
LIST=98
|
||||
COLONCOLON=38
|
||||
WSNLCHARS=18
|
||||
WS=70
|
||||
WS=71
|
||||
LEXER=24
|
||||
OR=51
|
||||
GT=44
|
||||
OR=52
|
||||
GT=45
|
||||
CATCH=33
|
||||
CLOSURE=79
|
||||
CLOSURE=80
|
||||
PARSER=25
|
||||
DOLLAR=53
|
||||
DOLLAR=54
|
||||
PROTECTED=28
|
||||
ELEMENT_OPTIONS=98
|
||||
ELEMENT_OPTIONS=99
|
||||
NESTED_ACTION=15
|
||||
FRAGMENT=23
|
||||
ID=86
|
||||
TREE_BEGIN=58
|
||||
LPAREN=40
|
||||
AT=59
|
||||
ESC_SEQ=66
|
||||
ALT=84
|
||||
ID=87
|
||||
TREE_BEGIN=59
|
||||
LPAREN=41
|
||||
AT=60
|
||||
ESC_SEQ=67
|
||||
ALT=85
|
||||
TREE=26
|
||||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=96
|
||||
ETC=57
|
||||
COMMA=39
|
||||
WILDCARD=97
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=54
|
||||
PLUS=50
|
||||
REWRITE_BLOCK=78
|
||||
DOT=55
|
||||
MODE=36
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
UNICODE_ESC=69
|
||||
HEX_DIGIT=68
|
||||
RANGE=55
|
||||
RULES=74
|
||||
RARROW=58
|
||||
UNICODE_ESC=70
|
||||
HEX_DIGIT=69
|
||||
RANGE=56
|
||||
TOKENS=20
|
||||
RESULT=100
|
||||
GATED_SEMPRED=93
|
||||
BANG=47
|
||||
RESULT=101
|
||||
GATED_SEMPRED=94
|
||||
BANG=48
|
||||
ACTION_STRING_LITERAL=12
|
||||
ROOT=52
|
||||
SEMI=39
|
||||
RULE_REF=63
|
||||
ROOT=53
|
||||
SEMI=40
|
||||
RULE_REF=64
|
||||
NLCHARS=8
|
||||
OPTIONAL=78
|
||||
SYNPRED=81
|
||||
COLON=36
|
||||
QUESTION=46
|
||||
OPTIONAL=79
|
||||
SYNPRED=82
|
||||
COLON=37
|
||||
QUESTION=47
|
||||
FINALLY=34
|
||||
LABEL=92
|
||||
LABEL=93
|
||||
TEMPLATE=35
|
||||
SYN_SEMPRED=94
|
||||
ERRCHAR=71
|
||||
BLOCK=76
|
||||
PLUS_ASSIGN=50
|
||||
ASSIGN=45
|
||||
SYN_SEMPRED=95
|
||||
ERRCHAR=72
|
||||
BLOCK=77
|
||||
PLUS_ASSIGN=51
|
||||
ASSIGN=46
|
||||
PUBLIC=29
|
||||
POSITIVE_CLOSURE=80
|
||||
POSITIVE_CLOSURE=81
|
||||
OPTIONS=19
|
||||
|
|
|
@ -125,15 +125,9 @@ throw e;
|
|||
}
|
||||
|
||||
grammarSpec
|
||||
: ^(GRAMMAR ID DOC_COMMENT? prequelConstruct* rules)
|
||||
: ^(GRAMMAR ID DOC_COMMENT? prequelConstruct* rules mode*)
|
||||
;
|
||||
|
||||
/*
|
||||
grammarType
|
||||
: LEXER_GRAMMAR | PARSER_GRAMMAR | TREE_GRAMMAR | COMBINED_GRAMMAR
|
||||
;
|
||||
*/
|
||||
|
||||
prequelConstruct
|
||||
: optionsSpec
|
||||
| delegateGrammars
|
||||
|
@ -188,13 +182,15 @@ rules
|
|||
: ^(RULES rule*)
|
||||
;
|
||||
|
||||
mode: ^( MODE ID rule+ ) ;
|
||||
|
||||
rule: ^( RULE ID DOC_COMMENT? ruleModifiers? ARG_ACTION?
|
||||
ruleReturns? rulePrequel* altListAsBlock exceptionGroup
|
||||
)
|
||||
;
|
||||
|
||||
exceptionGroup
|
||||
: exceptionHandler* finallyClause?
|
||||
: exceptionHandler* finallyClause?
|
||||
;
|
||||
|
||||
exceptionHandler
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,98 +1,99 @@
|
|||
COMBINED=90
|
||||
LT=43
|
||||
STAR=48
|
||||
BACKTRACK_SEMPRED=95
|
||||
COMBINED=91
|
||||
LT=44
|
||||
STAR=49
|
||||
BACKTRACK_SEMPRED=96
|
||||
DOUBLE_ANGLE_STRING_LITERAL=11
|
||||
FORCED_ACTION=5
|
||||
ARGLIST=88
|
||||
ALTLIST=85
|
||||
NOT=60
|
||||
ARGLIST=89
|
||||
ALTLIST=86
|
||||
NOT=61
|
||||
SEMPRED=4
|
||||
ACTION=16
|
||||
TOKEN_REF=62
|
||||
RULEMODIFIERS=74
|
||||
ST_RESULT=99
|
||||
RPAREN=41
|
||||
RET=89
|
||||
TOKEN_REF=63
|
||||
RULEMODIFIERS=75
|
||||
ST_RESULT=100
|
||||
RPAREN=42
|
||||
RET=90
|
||||
IMPORT=22
|
||||
STRING_LITERAL=67
|
||||
ARG=87
|
||||
STRING_LITERAL=68
|
||||
ARG=88
|
||||
ARG_ACTION=14
|
||||
DOUBLE_QUOTE_STRING_LITERAL=10
|
||||
COMMENT=9
|
||||
ACTION_CHAR_LITERAL=13
|
||||
GRAMMAR=27
|
||||
RULEACTIONS=75
|
||||
WSCHARS=65
|
||||
INITACTION=91
|
||||
ALT_REWRITE=101
|
||||
IMPLIES=42
|
||||
RULE=72
|
||||
RBRACE=61
|
||||
RULEACTIONS=76
|
||||
WSCHARS=66
|
||||
INITACTION=92
|
||||
ALT_REWRITE=102
|
||||
IMPLIES=43
|
||||
RULE=73
|
||||
RBRACE=62
|
||||
ACTION_ESC=17
|
||||
PRIVATE=30
|
||||
SRC=7
|
||||
THROWS=32
|
||||
CHAR_RANGE=82
|
||||
INT=64
|
||||
EPSILON=83
|
||||
LIST=97
|
||||
COLONCOLON=37
|
||||
CHAR_RANGE=83
|
||||
INT=65
|
||||
EPSILON=84
|
||||
LIST=98
|
||||
COLONCOLON=38
|
||||
WSNLCHARS=18
|
||||
WS=70
|
||||
WS=71
|
||||
LEXER=24
|
||||
OR=51
|
||||
GT=44
|
||||
OR=52
|
||||
GT=45
|
||||
CATCH=33
|
||||
CLOSURE=79
|
||||
CLOSURE=80
|
||||
PARSER=25
|
||||
DOLLAR=53
|
||||
DOLLAR=54
|
||||
PROTECTED=28
|
||||
ELEMENT_OPTIONS=98
|
||||
ELEMENT_OPTIONS=99
|
||||
NESTED_ACTION=15
|
||||
FRAGMENT=23
|
||||
ID=86
|
||||
TREE_BEGIN=58
|
||||
LPAREN=40
|
||||
AT=59
|
||||
ESC_SEQ=66
|
||||
ALT=84
|
||||
ID=87
|
||||
TREE_BEGIN=59
|
||||
LPAREN=41
|
||||
AT=60
|
||||
ESC_SEQ=67
|
||||
ALT=85
|
||||
TREE=26
|
||||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=96
|
||||
ETC=57
|
||||
COMMA=39
|
||||
WILDCARD=97
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=54
|
||||
PLUS=50
|
||||
REWRITE_BLOCK=78
|
||||
DOT=55
|
||||
MODE=36
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
UNICODE_ESC=69
|
||||
HEX_DIGIT=68
|
||||
RANGE=55
|
||||
RULES=74
|
||||
RARROW=58
|
||||
UNICODE_ESC=70
|
||||
HEX_DIGIT=69
|
||||
RANGE=56
|
||||
TOKENS=20
|
||||
RESULT=100
|
||||
GATED_SEMPRED=93
|
||||
BANG=47
|
||||
RESULT=101
|
||||
GATED_SEMPRED=94
|
||||
BANG=48
|
||||
ACTION_STRING_LITERAL=12
|
||||
ROOT=52
|
||||
SEMI=39
|
||||
RULE_REF=63
|
||||
ROOT=53
|
||||
SEMI=40
|
||||
RULE_REF=64
|
||||
NLCHARS=8
|
||||
OPTIONAL=78
|
||||
SYNPRED=81
|
||||
COLON=36
|
||||
QUESTION=46
|
||||
OPTIONAL=79
|
||||
SYNPRED=82
|
||||
COLON=37
|
||||
QUESTION=47
|
||||
FINALLY=34
|
||||
TEMPLATE=35
|
||||
LABEL=92
|
||||
SYN_SEMPRED=94
|
||||
ERRCHAR=71
|
||||
BLOCK=76
|
||||
ASSIGN=45
|
||||
PLUS_ASSIGN=50
|
||||
LABEL=93
|
||||
SYN_SEMPRED=95
|
||||
ERRCHAR=72
|
||||
BLOCK=77
|
||||
ASSIGN=46
|
||||
PLUS_ASSIGN=51
|
||||
PUBLIC=29
|
||||
POSITIVE_CLOSURE=80
|
||||
POSITIVE_CLOSURE=81
|
||||
OPTIONS=19
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR ${project.version} ${buildNumber} ActionSplitter.g 2010-04-02 12:57:46
|
||||
// $ANTLR ${project.version} ${buildNumber} ActionSplitter.g 2010-04-19 15:55:56
|
||||
|
||||
package org.antlr.v4.parse;
|
||||
|
||||
|
@ -2175,20 +2175,6 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred12_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
try {
|
||||
synpred12_ActionSplitter_fragment(); // can never throw exception
|
||||
} catch (RecognitionException re) {
|
||||
System.err.println("impossible: "+re);
|
||||
}
|
||||
boolean success = !state.failed;
|
||||
input.rewind(start);
|
||||
state.backtracking--;
|
||||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred17_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
|
@ -2217,6 +2203,20 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred12_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
try {
|
||||
synpred12_ActionSplitter_fragment(); // can never throw exception
|
||||
} catch (RecognitionException re) {
|
||||
System.err.println("impossible: "+re);
|
||||
}
|
||||
boolean success = !state.failed;
|
||||
input.rewind(start);
|
||||
state.backtracking--;
|
||||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred9_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
|
@ -2301,20 +2301,6 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred1_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
try {
|
||||
synpred1_ActionSplitter_fragment(); // can never throw exception
|
||||
} catch (RecognitionException re) {
|
||||
System.err.println("impossible: "+re);
|
||||
}
|
||||
boolean success = !state.failed;
|
||||
input.rewind(start);
|
||||
state.backtracking--;
|
||||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred18_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
|
@ -2329,11 +2315,11 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred2_ActionSplitter() {
|
||||
public final boolean synpred1_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
try {
|
||||
synpred2_ActionSplitter_fragment(); // can never throw exception
|
||||
synpred1_ActionSplitter_fragment(); // can never throw exception
|
||||
} catch (RecognitionException re) {
|
||||
System.err.println("impossible: "+re);
|
||||
}
|
||||
|
@ -2357,6 +2343,20 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred2_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
try {
|
||||
synpred2_ActionSplitter_fragment(); // can never throw exception
|
||||
} catch (RecognitionException re) {
|
||||
System.err.println("impossible: "+re);
|
||||
}
|
||||
boolean success = !state.failed;
|
||||
input.rewind(start);
|
||||
state.backtracking--;
|
||||
state.failed=false;
|
||||
return success;
|
||||
}
|
||||
public final boolean synpred6_ActionSplitter() {
|
||||
state.backtracking++;
|
||||
int start = input.mark();
|
||||
|
@ -2495,24 +2495,17 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
static final String DFA29_eofS =
|
||||
"\32\uffff";
|
||||
static final String DFA29_minS =
|
||||
"\2\0\6\uffff\1\0\12\uffff\1\0\2\uffff\1\0\3\uffff";
|
||||
"\2\0\12\uffff\1\0\3\uffff\1\0\6\uffff\1\0\2\uffff";
|
||||
static final String DFA29_maxS =
|
||||
"\1\uffff\1\0\6\uffff\1\0\12\uffff\1\0\2\uffff\1\0\3\uffff";
|
||||
"\1\uffff\1\0\12\uffff\1\0\3\uffff\1\0\6\uffff\1\0\2\uffff";
|
||||
static final String DFA29_acceptS =
|
||||
"\2\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\4\1\5\1\6\1\7\1"+
|
||||
"\10\1\11\1\12\1\13\1\14\1\15\1\uffff\1\3\1\24\1\uffff\1\1\1\2\1"+
|
||||
"\2\uffff\1\4\1\5\1\6\1\7\1\10\1\11\1\12\1\13\1\14\1\15\1\uffff\1"+
|
||||
"\1\1\2\1\24\1\uffff\1\16\1\17\1\20\1\21\1\22\1\23\1\uffff\1\3\1"+
|
||||
"\24";
|
||||
static final String DFA29_specialS =
|
||||
"\1\0\1\1\6\uffff\1\2\12\uffff\1\3\2\uffff\1\4\3\uffff}>";
|
||||
"\1\0\1\1\12\uffff\1\2\3\uffff\1\3\6\uffff\1\4\2\uffff}>";
|
||||
static final String[] DFA29_transitionS = {
|
||||
"\44\31\1\10\1\1\11\31\1\26\54\31\1\23\uffa3\31",
|
||||
"\1\uffff",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\44\31\1\1\1\20\11\31\1\14\54\31\1\27\uffa3\31",
|
||||
"\1\uffff",
|
||||
"",
|
||||
"",
|
||||
|
@ -2527,9 +2520,16 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
"\1\uffff",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\uffff",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\uffff",
|
||||
"",
|
||||
""
|
||||
};
|
||||
|
||||
|
@ -2573,13 +2573,13 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
int LA29_0 = input.LA(1);
|
||||
|
||||
s = -1;
|
||||
if ( (LA29_0=='%') ) {s = 1;}
|
||||
if ( (LA29_0=='$') ) {s = 1;}
|
||||
|
||||
else if ( (LA29_0=='$') ) {s = 8;}
|
||||
else if ( (LA29_0=='/') ) {s = 12;}
|
||||
|
||||
else if ( (LA29_0=='\\') ) {s = 19;}
|
||||
else if ( (LA29_0=='%') ) {s = 16;}
|
||||
|
||||
else if ( (LA29_0=='/') ) {s = 22;}
|
||||
else if ( (LA29_0=='\\') ) {s = 23;}
|
||||
|
||||
else if ( ((LA29_0>='\u0000' && LA29_0<='#')||(LA29_0>='&' && LA29_0<='.')||(LA29_0>='0' && LA29_0<='[')||(LA29_0>=']' && LA29_0<='\uFFFF')) ) {s = 25;}
|
||||
|
||||
|
@ -2592,83 +2592,83 @@ public class ActionSplitter extends org.antlr.v4.runtime.Lexer {
|
|||
int index29_1 = input.index();
|
||||
input.rewind();
|
||||
s = -1;
|
||||
if ( (synpred14_ActionSplitter()) ) {s = 2;}
|
||||
if ( (synpred4_ActionSplitter()) ) {s = 2;}
|
||||
|
||||
else if ( (synpred15_ActionSplitter()) ) {s = 3;}
|
||||
else if ( (synpred5_ActionSplitter()) ) {s = 3;}
|
||||
|
||||
else if ( (synpred16_ActionSplitter()) ) {s = 4;}
|
||||
else if ( (synpred6_ActionSplitter()) ) {s = 4;}
|
||||
|
||||
else if ( (synpred17_ActionSplitter()) ) {s = 5;}
|
||||
else if ( (synpred7_ActionSplitter()) ) {s = 5;}
|
||||
|
||||
else if ( (synpred18_ActionSplitter()) ) {s = 6;}
|
||||
else if ( (synpred8_ActionSplitter()) ) {s = 6;}
|
||||
|
||||
else if ( (synpred19_ActionSplitter()) ) {s = 7;}
|
||||
else if ( (synpred9_ActionSplitter()) ) {s = 7;}
|
||||
|
||||
else if ( (synpred10_ActionSplitter()) ) {s = 8;}
|
||||
|
||||
else if ( (synpred11_ActionSplitter()) ) {s = 9;}
|
||||
|
||||
else if ( (synpred12_ActionSplitter()) ) {s = 10;}
|
||||
|
||||
else if ( (synpred13_ActionSplitter()) ) {s = 11;}
|
||||
|
||||
|
||||
input.seek(index29_1);
|
||||
if ( s>=0 ) return s;
|
||||
break;
|
||||
case 2 :
|
||||
int LA29_8 = input.LA(1);
|
||||
int LA29_12 = input.LA(1);
|
||||
|
||||
|
||||
int index29_8 = input.index();
|
||||
int index29_12 = input.index();
|
||||
input.rewind();
|
||||
s = -1;
|
||||
if ( (synpred4_ActionSplitter()) ) {s = 9;}
|
||||
if ( (synpred1_ActionSplitter()) ) {s = 13;}
|
||||
|
||||
else if ( (synpred5_ActionSplitter()) ) {s = 10;}
|
||||
else if ( (synpred2_ActionSplitter()) ) {s = 14;}
|
||||
|
||||
else if ( (synpred6_ActionSplitter()) ) {s = 11;}
|
||||
|
||||
else if ( (synpred7_ActionSplitter()) ) {s = 12;}
|
||||
|
||||
else if ( (synpred8_ActionSplitter()) ) {s = 13;}
|
||||
|
||||
else if ( (synpred9_ActionSplitter()) ) {s = 14;}
|
||||
|
||||
else if ( (synpred10_ActionSplitter()) ) {s = 15;}
|
||||
|
||||
else if ( (synpred11_ActionSplitter()) ) {s = 16;}
|
||||
|
||||
else if ( (synpred12_ActionSplitter()) ) {s = 17;}
|
||||
|
||||
else if ( (synpred13_ActionSplitter()) ) {s = 18;}
|
||||
else if ( (true) ) {s = 15;}
|
||||
|
||||
|
||||
input.seek(index29_8);
|
||||
input.seek(index29_12);
|
||||
if ( s>=0 ) return s;
|
||||
break;
|
||||
case 3 :
|
||||
int LA29_19 = input.LA(1);
|
||||
int LA29_16 = input.LA(1);
|
||||
|
||||
|
||||
int index29_19 = input.index();
|
||||
int index29_16 = input.index();
|
||||
input.rewind();
|
||||
s = -1;
|
||||
if ( (synpred3_ActionSplitter()) ) {s = 20;}
|
||||
if ( (synpred14_ActionSplitter()) ) {s = 17;}
|
||||
|
||||
else if ( (true) ) {s = 21;}
|
||||
else if ( (synpred15_ActionSplitter()) ) {s = 18;}
|
||||
|
||||
else if ( (synpred16_ActionSplitter()) ) {s = 19;}
|
||||
|
||||
else if ( (synpred17_ActionSplitter()) ) {s = 20;}
|
||||
|
||||
else if ( (synpred18_ActionSplitter()) ) {s = 21;}
|
||||
|
||||
else if ( (synpred19_ActionSplitter()) ) {s = 22;}
|
||||
|
||||
|
||||
input.seek(index29_19);
|
||||
input.seek(index29_16);
|
||||
if ( s>=0 ) return s;
|
||||
break;
|
||||
case 4 :
|
||||
int LA29_22 = input.LA(1);
|
||||
int LA29_23 = input.LA(1);
|
||||
|
||||
|
||||
int index29_22 = input.index();
|
||||
int index29_23 = input.index();
|
||||
input.rewind();
|
||||
s = -1;
|
||||
if ( (synpred1_ActionSplitter()) ) {s = 23;}
|
||||
if ( (synpred3_ActionSplitter()) ) {s = 24;}
|
||||
|
||||
else if ( (synpred2_ActionSplitter()) ) {s = 24;}
|
||||
|
||||
else if ( (true) ) {s = 21;}
|
||||
else if ( (true) ) {s = 15;}
|
||||
|
||||
|
||||
input.seek(index29_22);
|
||||
input.seek(index29_23);
|
||||
if ( s>=0 ) return s;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR ${project.version} ${buildNumber} NFABuilder.g 2010-04-02 12:57:46
|
||||
// $ANTLR ${project.version} ${buildNumber} NFABuilder.g 2010-04-19 15:55:56
|
||||
|
||||
/*
|
||||
[The "BSD license"]
|
||||
|
@ -40,106 +40,107 @@ import java.util.List;
|
|||
|
||||
public class NFABuilder 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", "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", "ID", "ARG", "ARGLIST", "RET", "COMBINED", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "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", "MODE", "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", "ID", "ARG", "ARGLIST", "RET", "COMBINED", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "RESULT", "ALT_REWRITE"
|
||||
};
|
||||
public static final int COMBINED=90;
|
||||
public static final int LT=43;
|
||||
public static final int STAR=48;
|
||||
public static final int BACKTRACK_SEMPRED=95;
|
||||
public static final int COMBINED=91;
|
||||
public static final int LT=44;
|
||||
public static final int STAR=49;
|
||||
public static final int BACKTRACK_SEMPRED=96;
|
||||
public static final int DOUBLE_ANGLE_STRING_LITERAL=11;
|
||||
public static final int FORCED_ACTION=5;
|
||||
public static final int ARGLIST=88;
|
||||
public static final int ALTLIST=85;
|
||||
public static final int NOT=60;
|
||||
public static final int ARGLIST=89;
|
||||
public static final int ALTLIST=86;
|
||||
public static final int NOT=61;
|
||||
public static final int EOF=-1;
|
||||
public static final int SEMPRED=4;
|
||||
public static final int ACTION=16;
|
||||
public static final int TOKEN_REF=62;
|
||||
public static final int RULEMODIFIERS=74;
|
||||
public static final int ST_RESULT=99;
|
||||
public static final int RPAREN=41;
|
||||
public static final int RET=89;
|
||||
public static final int TOKEN_REF=63;
|
||||
public static final int RULEMODIFIERS=75;
|
||||
public static final int ST_RESULT=100;
|
||||
public static final int RPAREN=42;
|
||||
public static final int RET=90;
|
||||
public static final int IMPORT=22;
|
||||
public static final int STRING_LITERAL=67;
|
||||
public static final int ARG=87;
|
||||
public static final int STRING_LITERAL=68;
|
||||
public static final int ARG=88;
|
||||
public static final int ARG_ACTION=14;
|
||||
public static final int DOUBLE_QUOTE_STRING_LITERAL=10;
|
||||
public static final int COMMENT=9;
|
||||
public static final int ACTION_CHAR_LITERAL=13;
|
||||
public static final int GRAMMAR=27;
|
||||
public static final int RULEACTIONS=75;
|
||||
public static final int WSCHARS=65;
|
||||
public static final int INITACTION=91;
|
||||
public static final int ALT_REWRITE=101;
|
||||
public static final int IMPLIES=42;
|
||||
public static final int RULE=72;
|
||||
public static final int RBRACE=61;
|
||||
public static final int RULEACTIONS=76;
|
||||
public static final int WSCHARS=66;
|
||||
public static final int INITACTION=92;
|
||||
public static final int ALT_REWRITE=102;
|
||||
public static final int IMPLIES=43;
|
||||
public static final int RULE=73;
|
||||
public static final int RBRACE=62;
|
||||
public static final int ACTION_ESC=17;
|
||||
public static final int PRIVATE=30;
|
||||
public static final int SRC=7;
|
||||
public static final int THROWS=32;
|
||||
public static final int CHAR_RANGE=82;
|
||||
public static final int INT=64;
|
||||
public static final int EPSILON=83;
|
||||
public static final int LIST=97;
|
||||
public static final int COLONCOLON=37;
|
||||
public static final int CHAR_RANGE=83;
|
||||
public static final int INT=65;
|
||||
public static final int EPSILON=84;
|
||||
public static final int LIST=98;
|
||||
public static final int COLONCOLON=38;
|
||||
public static final int WSNLCHARS=18;
|
||||
public static final int WS=70;
|
||||
public static final int WS=71;
|
||||
public static final int LEXER=24;
|
||||
public static final int OR=51;
|
||||
public static final int GT=44;
|
||||
public static final int OR=52;
|
||||
public static final int GT=45;
|
||||
public static final int CATCH=33;
|
||||
public static final int CLOSURE=79;
|
||||
public static final int CLOSURE=80;
|
||||
public static final int PARSER=25;
|
||||
public static final int DOLLAR=53;
|
||||
public static final int DOLLAR=54;
|
||||
public static final int PROTECTED=28;
|
||||
public static final int ELEMENT_OPTIONS=98;
|
||||
public static final int ELEMENT_OPTIONS=99;
|
||||
public static final int NESTED_ACTION=15;
|
||||
public static final int FRAGMENT=23;
|
||||
public static final int ID=86;
|
||||
public static final int TREE_BEGIN=58;
|
||||
public static final int LPAREN=40;
|
||||
public static final int AT=59;
|
||||
public static final int ESC_SEQ=66;
|
||||
public static final int ALT=84;
|
||||
public static final int ID=87;
|
||||
public static final int TREE_BEGIN=59;
|
||||
public static final int LPAREN=41;
|
||||
public static final int AT=60;
|
||||
public static final int ESC_SEQ=67;
|
||||
public static final int ALT=85;
|
||||
public static final int TREE=26;
|
||||
public static final int SCOPE=21;
|
||||
public static final int ETC=56;
|
||||
public static final int COMMA=38;
|
||||
public static final int WILDCARD=96;
|
||||
public static final int ETC=57;
|
||||
public static final int COMMA=39;
|
||||
public static final int WILDCARD=97;
|
||||
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=54;
|
||||
public static final int PLUS=50;
|
||||
public static final int REWRITE_BLOCK=78;
|
||||
public static final int DOT=55;
|
||||
public static final int MODE=36;
|
||||
public static final int RETURNS=31;
|
||||
public static final int RULES=73;
|
||||
public static final int RARROW=57;
|
||||
public static final int UNICODE_ESC=69;
|
||||
public static final int HEX_DIGIT=68;
|
||||
public static final int RANGE=55;
|
||||
public static final int RULES=74;
|
||||
public static final int RARROW=58;
|
||||
public static final int UNICODE_ESC=70;
|
||||
public static final int HEX_DIGIT=69;
|
||||
public static final int RANGE=56;
|
||||
public static final int TOKENS=20;
|
||||
public static final int RESULT=100;
|
||||
public static final int GATED_SEMPRED=93;
|
||||
public static final int BANG=47;
|
||||
public static final int RESULT=101;
|
||||
public static final int GATED_SEMPRED=94;
|
||||
public static final int BANG=48;
|
||||
public static final int ACTION_STRING_LITERAL=12;
|
||||
public static final int ROOT=52;
|
||||
public static final int SEMI=39;
|
||||
public static final int RULE_REF=63;
|
||||
public static final int ROOT=53;
|
||||
public static final int SEMI=40;
|
||||
public static final int RULE_REF=64;
|
||||
public static final int NLCHARS=8;
|
||||
public static final int OPTIONAL=78;
|
||||
public static final int SYNPRED=81;
|
||||
public static final int COLON=36;
|
||||
public static final int QUESTION=46;
|
||||
public static final int OPTIONAL=79;
|
||||
public static final int SYNPRED=82;
|
||||
public static final int COLON=37;
|
||||
public static final int QUESTION=47;
|
||||
public static final int FINALLY=34;
|
||||
public static final int TEMPLATE=35;
|
||||
public static final int LABEL=92;
|
||||
public static final int SYN_SEMPRED=94;
|
||||
public static final int ERRCHAR=71;
|
||||
public static final int BLOCK=76;
|
||||
public static final int ASSIGN=45;
|
||||
public static final int PLUS_ASSIGN=50;
|
||||
public static final int LABEL=93;
|
||||
public static final int SYN_SEMPRED=95;
|
||||
public static final int ERRCHAR=72;
|
||||
public static final int BLOCK=77;
|
||||
public static final int ASSIGN=46;
|
||||
public static final int PLUS_ASSIGN=51;
|
||||
public static final int PUBLIC=29;
|
||||
public static final int POSITIVE_CLOSURE=80;
|
||||
public static final int POSITIVE_CLOSURE=81;
|
||||
public static final int OPTIONS=19;
|
||||
|
||||
// delegates
|
||||
|
@ -1550,15 +1551,15 @@ public class NFABuilder extends TreeParser {
|
|||
static final String DFA6_eofS =
|
||||
"\14\uffff";
|
||||
static final String DFA6_minS =
|
||||
"\1\4\1\uffff\2\2\6\uffff\2\57";
|
||||
"\1\4\1\uffff\2\2\6\uffff\2\60";
|
||||
static final String DFA6_maxS =
|
||||
"\1\140\1\uffff\2\2\6\uffff\2\114";
|
||||
"\1\141\1\uffff\2\2\6\uffff\2\115";
|
||||
static final String DFA6_acceptS =
|
||||
"\1\uffff\1\1\2\uffff\1\2\1\3\1\4\1\5\1\6\1\7\2\uffff";
|
||||
static final String DFA6_specialS =
|
||||
"\14\uffff}>";
|
||||
static final String[] DFA6_transitionS = {
|
||||
"\1\7\13\uffff\1\6\31\uffff\1\5\2\uffff\1\1\1\uffff\1\3\2\uffff"+
|
||||
"\1\7\13\uffff\1\6\32\uffff\1\5\2\uffff\1\1\1\uffff\1\3\2\uffff"+
|
||||
"\1\1\1\uffff\1\2\1\uffff\2\4\2\uffff\1\11\1\uffff\1\4\1\uffff"+
|
||||
"\2\4\3\uffff\1\4\10\uffff\1\5\1\uffff\3\5\14\uffff\1\10\2\uffff"+
|
||||
"\1\4",
|
||||
|
@ -1615,9 +1616,9 @@ public class NFABuilder extends TreeParser {
|
|||
static final String DFA7_eofS =
|
||||
"\13\uffff";
|
||||
static final String DFA7_minS =
|
||||
"\1\55\2\2\2\126\2\57\4\uffff";
|
||||
"\1\56\2\2\2\127\2\60\4\uffff";
|
||||
static final String DFA7_maxS =
|
||||
"\1\62\2\2\2\126\2\140\4\uffff";
|
||||
"\1\63\2\2\2\127\2\141\4\uffff";
|
||||
static final String DFA7_acceptS =
|
||||
"\7\uffff\1\2\1\1\1\4\1\3";
|
||||
static final String DFA7_specialS =
|
||||
|
@ -1676,11 +1677,11 @@ public class NFABuilder extends TreeParser {
|
|||
static final String DFA10_eofS =
|
||||
"\31\uffff";
|
||||
static final String DFA10_minS =
|
||||
"\1\57\2\2\2\uffff\2\2\2\uffff\2\57\1\126\6\uffff\1\57\1\uffff\2"+
|
||||
"\2\1\uffff\2\57";
|
||||
"\1\60\2\2\2\uffff\2\2\2\uffff\2\60\1\127\6\uffff\1\60\1\uffff\2"+
|
||||
"\2\1\uffff\2\60";
|
||||
static final String DFA10_maxS =
|
||||
"\1\140\2\2\2\uffff\1\2\1\140\2\uffff\2\103\1\126\6\uffff\1\103\1"+
|
||||
"\uffff\2\2\1\uffff\2\103";
|
||||
"\1\141\2\2\2\uffff\1\2\1\141\2\uffff\2\104\1\127\6\uffff\1\104\1"+
|
||||
"\uffff\2\2\1\uffff\2\104";
|
||||
static final String DFA10_acceptS =
|
||||
"\3\uffff\1\5\1\6\2\uffff\1\13\1\14\3\uffff\1\11\1\12\1\1\1\3\1\4"+
|
||||
"\1\2\1\uffff\1\7\2\uffff\1\10\2\uffff";
|
||||
|
@ -1694,7 +1695,7 @@ public class NFABuilder extends TreeParser {
|
|||
"",
|
||||
"",
|
||||
"\1\13",
|
||||
"\1\14\2\15\13\uffff\1\15\31\uffff\1\15\2\uffff\1\15\1\uffff"+
|
||||
"\1\14\2\15\13\uffff\1\15\32\uffff\1\15\2\uffff\1\15\1\uffff"+
|
||||
"\1\15\2\uffff\1\15\1\uffff\1\15\1\uffff\2\15\2\uffff\1\15\1"+
|
||||
"\uffff\1\15\1\uffff\2\15\3\uffff\1\15\10\uffff\1\15\1\uffff"+
|
||||
"\3\15\14\uffff\1\15\2\uffff\1\15",
|
||||
|
@ -1758,20 +1759,20 @@ public class NFABuilder extends TreeParser {
|
|||
static final String DFA16_eofS =
|
||||
"\14\uffff";
|
||||
static final String DFA16_minS =
|
||||
"\1\57\2\2\4\uffff\1\4\1\uffff\1\2\2\uffff";
|
||||
"\1\60\2\2\4\uffff\1\4\1\uffff\1\2\2\uffff";
|
||||
static final String DFA16_maxS =
|
||||
"\1\103\2\140\4\uffff\1\145\1\uffff\1\145\2\uffff";
|
||||
"\1\104\2\141\4\uffff\1\146\1\uffff\1\146\2\uffff";
|
||||
static final String DFA16_acceptS =
|
||||
"\3\uffff\1\6\1\7\1\1\1\2\1\uffff\1\5\1\uffff\1\4\1\3";
|
||||
static final String DFA16_specialS =
|
||||
"\14\uffff}>";
|
||||
static final String[] DFA16_transitionS = {
|
||||
"\1\4\4\uffff\1\3\11\uffff\1\2\4\uffff\1\1",
|
||||
"\1\5\2\6\13\uffff\1\6\31\uffff\1\6\2\uffff\1\6\1\uffff\1\6"+
|
||||
"\1\5\2\6\13\uffff\1\6\32\uffff\1\6\2\uffff\1\6\1\uffff\1\6"+
|
||||
"\2\uffff\1\6\1\uffff\1\6\1\uffff\2\6\2\uffff\1\6\1\uffff\1\6"+
|
||||
"\1\uffff\2\6\3\uffff\1\6\10\uffff\1\6\1\uffff\3\6\14\uffff\1"+
|
||||
"\6\2\uffff\1\6",
|
||||
"\1\7\2\10\13\uffff\1\10\31\uffff\1\10\2\uffff\1\10\1\uffff"+
|
||||
"\1\7\2\10\13\uffff\1\10\32\uffff\1\10\2\uffff\1\10\1\uffff"+
|
||||
"\1\10\2\uffff\1\10\1\uffff\1\10\1\uffff\2\10\2\uffff\1\10\1"+
|
||||
"\uffff\1\10\1\uffff\2\10\3\uffff\1\10\10\uffff\1\10\1\uffff"+
|
||||
"\3\10\14\uffff\1\10\2\uffff\1\10",
|
||||
|
@ -1779,9 +1780,9 @@ public class NFABuilder extends TreeParser {
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"\12\12\1\11\127\12",
|
||||
"\12\12\1\11\130\12",
|
||||
"",
|
||||
"\2\12\142\13",
|
||||
"\2\12\143\13",
|
||||
"",
|
||||
""
|
||||
};
|
||||
|
@ -1823,13 +1824,13 @@ public class NFABuilder extends TreeParser {
|
|||
|
||||
public static final BitSet FOLLOW_BLOCK_in_block77 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_OPTIONS_in_block81 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_alternative_in_block92 = new BitSet(new long[]{0x0000000000000008L,0x0000002000100000L});
|
||||
public static final BitSet FOLLOW_alternative_in_block92 = new BitSet(new long[]{0x0000000000000008L,0x0000004000200000L});
|
||||
public static final BitSet FOLLOW_ALT_REWRITE_in_alternative131 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_alternative_in_alternative135 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_alternative_in_alternative135 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ALT_in_alternative149 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_EPSILON_in_alternative151 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ALT_in_alternative169 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_element_in_alternative174 = new BitSet(new long[]{0xD4D4A40000010018L,0x000000012001D008L});
|
||||
public static final BitSet FOLLOW_element_in_alternative174 = new BitSet(new long[]{0xA9A9480000010018L,0x000000024003A011L});
|
||||
public static final BitSet FOLLOW_labeledElement_in_element212 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_atom_in_element222 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ebnf_in_element234 = new BitSet(new long[]{0x0000000000000002L});
|
||||
|
@ -1838,19 +1839,19 @@ public class NFABuilder extends TreeParser {
|
|||
public static final BitSet FOLLOW_GATED_SEMPRED_in_element274 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_treeSpec_in_element284 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_labeledElement307 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement309 = new BitSet(new long[]{0xD0D0800000000000L,0x0000000100000008L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement309 = new BitSet(new long[]{0xA1A1000000000000L,0x0000000200000011L});
|
||||
public static final BitSet FOLLOW_atom_in_labeledElement311 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_labeledElement322 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement324 = new BitSet(new long[]{0x0010840000000000L,0x000000000001D000L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement324 = new BitSet(new long[]{0x0021080000000000L,0x000000000003A000L});
|
||||
public static final BitSet FOLLOW_block_in_labeledElement326 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_PLUS_ASSIGN_in_labeledElement337 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement339 = new BitSet(new long[]{0xD0D0800000000000L,0x0000000100000008L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement339 = new BitSet(new long[]{0xA1A1000000000000L,0x0000000200000011L});
|
||||
public static final BitSet FOLLOW_atom_in_labeledElement341 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_PLUS_ASSIGN_in_labeledElement351 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement353 = new BitSet(new long[]{0x0010840000000000L,0x000000000001D000L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement353 = new BitSet(new long[]{0x0021080000000000L,0x000000000003A000L});
|
||||
public static final BitSet FOLLOW_block_in_labeledElement355 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_TREE_BEGIN_in_treeSpec383 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_element_in_treeSpec389 = new BitSet(new long[]{0xD4D4A40000010018L,0x000000012001D008L});
|
||||
public static final BitSet FOLLOW_element_in_treeSpec389 = new BitSet(new long[]{0xA9A9480000010018L,0x000000024003A011L});
|
||||
public static final BitSet FOLLOW_astBlockSuffix_in_ebnf415 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_block_in_ebnf417 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_OPTIONAL_in_ebnf427 = new BitSet(new long[]{0x0000000000000004L});
|
||||
|
@ -1872,10 +1873,10 @@ public class NFABuilder extends TreeParser {
|
|||
public static final BitSet FOLLOW_notSet_in_atom575 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_range_in_atom586 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_DOT_in_atom598 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_atom600 = new BitSet(new long[]{0x4010800000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_atom600 = new BitSet(new long[]{0x8021000000000000L,0x0000000000000010L});
|
||||
public static final BitSet FOLLOW_terminal_in_atom602 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_DOT_in_atom612 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_atom614 = new BitSet(new long[]{0xD0D0800000000000L,0x0000000100000008L});
|
||||
public static final BitSet FOLLOW_ID_in_atom614 = new BitSet(new long[]{0xA1A1000000000000L,0x0000000200000011L});
|
||||
public static final BitSet FOLLOW_ruleref_in_atom616 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_WILDCARD_in_atom629 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_WILDCARD_in_atom644 = new BitSet(new long[]{0x0000000000000002L});
|
||||
|
@ -1894,12 +1895,12 @@ public class NFABuilder extends TreeParser {
|
|||
public static final BitSet FOLLOW_RULE_REF_in_ruleref784 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ARG_ACTION_in_ruleref786 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_RANGE_in_range814 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_range818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_range818 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_range822 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_terminal848 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_terminal863 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_terminal877 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ARG_ACTION_in_terminal879 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ARG_ACTION_in_terminal879 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_terminal893 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_terminal909 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ROOT_in_terminal924 = new BitSet(new long[]{0x0000000000000004L});
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR ${project.version} ${buildNumber} BasicSemanticTriggers.g 2010-04-12 12:06:05
|
||||
// $ANTLR ${project.version} ${buildNumber} BasicSemanticTriggers.g 2010-04-19 15:55:58
|
||||
|
||||
/*
|
||||
[The "BSD license"]
|
||||
|
@ -40,106 +40,107 @@ import java.util.List;
|
|||
*/
|
||||
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", "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", "ID", "ARG", "ARGLIST", "RET", "COMBINED", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "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", "MODE", "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", "ID", "ARG", "ARGLIST", "RET", "COMBINED", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "RESULT", "ALT_REWRITE"
|
||||
};
|
||||
public static final int COMBINED=90;
|
||||
public static final int LT=43;
|
||||
public static final int STAR=48;
|
||||
public static final int BACKTRACK_SEMPRED=95;
|
||||
public static final int COMBINED=91;
|
||||
public static final int LT=44;
|
||||
public static final int STAR=49;
|
||||
public static final int BACKTRACK_SEMPRED=96;
|
||||
public static final int DOUBLE_ANGLE_STRING_LITERAL=11;
|
||||
public static final int FORCED_ACTION=5;
|
||||
public static final int ARGLIST=88;
|
||||
public static final int ALTLIST=85;
|
||||
public static final int NOT=60;
|
||||
public static final int ARGLIST=89;
|
||||
public static final int ALTLIST=86;
|
||||
public static final int NOT=61;
|
||||
public static final int EOF=-1;
|
||||
public static final int SEMPRED=4;
|
||||
public static final int ACTION=16;
|
||||
public static final int TOKEN_REF=62;
|
||||
public static final int RULEMODIFIERS=74;
|
||||
public static final int ST_RESULT=99;
|
||||
public static final int RPAREN=41;
|
||||
public static final int RET=89;
|
||||
public static final int TOKEN_REF=63;
|
||||
public static final int RULEMODIFIERS=75;
|
||||
public static final int ST_RESULT=100;
|
||||
public static final int RPAREN=42;
|
||||
public static final int RET=90;
|
||||
public static final int IMPORT=22;
|
||||
public static final int STRING_LITERAL=67;
|
||||
public static final int ARG=87;
|
||||
public static final int STRING_LITERAL=68;
|
||||
public static final int ARG=88;
|
||||
public static final int ARG_ACTION=14;
|
||||
public static final int DOUBLE_QUOTE_STRING_LITERAL=10;
|
||||
public static final int COMMENT=9;
|
||||
public static final int ACTION_CHAR_LITERAL=13;
|
||||
public static final int GRAMMAR=27;
|
||||
public static final int RULEACTIONS=75;
|
||||
public static final int WSCHARS=65;
|
||||
public static final int INITACTION=91;
|
||||
public static final int ALT_REWRITE=101;
|
||||
public static final int IMPLIES=42;
|
||||
public static final int RULE=72;
|
||||
public static final int RBRACE=61;
|
||||
public static final int RULEACTIONS=76;
|
||||
public static final int WSCHARS=66;
|
||||
public static final int INITACTION=92;
|
||||
public static final int ALT_REWRITE=102;
|
||||
public static final int IMPLIES=43;
|
||||
public static final int RULE=73;
|
||||
public static final int RBRACE=62;
|
||||
public static final int ACTION_ESC=17;
|
||||
public static final int PRIVATE=30;
|
||||
public static final int SRC=7;
|
||||
public static final int THROWS=32;
|
||||
public static final int CHAR_RANGE=82;
|
||||
public static final int INT=64;
|
||||
public static final int EPSILON=83;
|
||||
public static final int LIST=97;
|
||||
public static final int COLONCOLON=37;
|
||||
public static final int CHAR_RANGE=83;
|
||||
public static final int INT=65;
|
||||
public static final int EPSILON=84;
|
||||
public static final int LIST=98;
|
||||
public static final int COLONCOLON=38;
|
||||
public static final int WSNLCHARS=18;
|
||||
public static final int WS=70;
|
||||
public static final int WS=71;
|
||||
public static final int LEXER=24;
|
||||
public static final int OR=51;
|
||||
public static final int GT=44;
|
||||
public static final int OR=52;
|
||||
public static final int GT=45;
|
||||
public static final int CATCH=33;
|
||||
public static final int CLOSURE=79;
|
||||
public static final int CLOSURE=80;
|
||||
public static final int PARSER=25;
|
||||
public static final int DOLLAR=53;
|
||||
public static final int DOLLAR=54;
|
||||
public static final int PROTECTED=28;
|
||||
public static final int ELEMENT_OPTIONS=98;
|
||||
public static final int ELEMENT_OPTIONS=99;
|
||||
public static final int NESTED_ACTION=15;
|
||||
public static final int FRAGMENT=23;
|
||||
public static final int ID=86;
|
||||
public static final int TREE_BEGIN=58;
|
||||
public static final int LPAREN=40;
|
||||
public static final int AT=59;
|
||||
public static final int ESC_SEQ=66;
|
||||
public static final int ALT=84;
|
||||
public static final int ID=87;
|
||||
public static final int TREE_BEGIN=59;
|
||||
public static final int LPAREN=41;
|
||||
public static final int AT=60;
|
||||
public static final int ESC_SEQ=67;
|
||||
public static final int ALT=85;
|
||||
public static final int TREE=26;
|
||||
public static final int SCOPE=21;
|
||||
public static final int ETC=56;
|
||||
public static final int COMMA=38;
|
||||
public static final int WILDCARD=96;
|
||||
public static final int ETC=57;
|
||||
public static final int COMMA=39;
|
||||
public static final int WILDCARD=97;
|
||||
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=54;
|
||||
public static final int PLUS=50;
|
||||
public static final int REWRITE_BLOCK=78;
|
||||
public static final int DOT=55;
|
||||
public static final int MODE=36;
|
||||
public static final int RETURNS=31;
|
||||
public static final int RULES=73;
|
||||
public static final int RARROW=57;
|
||||
public static final int UNICODE_ESC=69;
|
||||
public static final int HEX_DIGIT=68;
|
||||
public static final int RANGE=55;
|
||||
public static final int RULES=74;
|
||||
public static final int RARROW=58;
|
||||
public static final int UNICODE_ESC=70;
|
||||
public static final int HEX_DIGIT=69;
|
||||
public static final int RANGE=56;
|
||||
public static final int TOKENS=20;
|
||||
public static final int RESULT=100;
|
||||
public static final int GATED_SEMPRED=93;
|
||||
public static final int BANG=47;
|
||||
public static final int RESULT=101;
|
||||
public static final int GATED_SEMPRED=94;
|
||||
public static final int BANG=48;
|
||||
public static final int ACTION_STRING_LITERAL=12;
|
||||
public static final int ROOT=52;
|
||||
public static final int SEMI=39;
|
||||
public static final int RULE_REF=63;
|
||||
public static final int ROOT=53;
|
||||
public static final int SEMI=40;
|
||||
public static final int RULE_REF=64;
|
||||
public static final int NLCHARS=8;
|
||||
public static final int OPTIONAL=78;
|
||||
public static final int SYNPRED=81;
|
||||
public static final int COLON=36;
|
||||
public static final int QUESTION=46;
|
||||
public static final int OPTIONAL=79;
|
||||
public static final int SYNPRED=82;
|
||||
public static final int COLON=37;
|
||||
public static final int QUESTION=47;
|
||||
public static final int FINALLY=34;
|
||||
public static final int TEMPLATE=35;
|
||||
public static final int LABEL=92;
|
||||
public static final int SYN_SEMPRED=94;
|
||||
public static final int ERRCHAR=71;
|
||||
public static final int BLOCK=76;
|
||||
public static final int ASSIGN=45;
|
||||
public static final int PLUS_ASSIGN=50;
|
||||
public static final int LABEL=93;
|
||||
public static final int SYN_SEMPRED=95;
|
||||
public static final int ERRCHAR=72;
|
||||
public static final int BLOCK=77;
|
||||
public static final int ASSIGN=46;
|
||||
public static final int PLUS_ASSIGN=51;
|
||||
public static final int PUBLIC=29;
|
||||
public static final int POSITIVE_CLOSURE=80;
|
||||
public static final int POSITIVE_CLOSURE=81;
|
||||
public static final int OPTIONS=19;
|
||||
|
||||
// delegates
|
||||
|
@ -1522,15 +1523,15 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
static final String DFA1_eofS =
|
||||
"\14\uffff";
|
||||
static final String DFA1_minS =
|
||||
"\1\33\2\uffff\1\2\2\uffff\1\126\1\60\1\3\1\uffff\1\0\1\uffff";
|
||||
"\1\33\2\uffff\1\2\2\uffff\1\127\1\61\1\3\1\uffff\1\0\1\uffff";
|
||||
static final String DFA1_maxS =
|
||||
"\1\144\2\uffff\1\2\2\uffff\2\126\1\3\1\uffff\1\0\1\uffff";
|
||||
"\1\145\2\uffff\1\2\2\uffff\2\127\1\3\1\uffff\1\0\1\uffff";
|
||||
static final String DFA1_acceptS =
|
||||
"\1\uffff\1\1\1\2\1\uffff\1\4\1\6\3\uffff\1\3\1\uffff\1\5";
|
||||
static final String DFA1_specialS =
|
||||
"\12\uffff\1\0\1\uffff}>";
|
||||
static final String[] DFA1_transitionS = {
|
||||
"\1\1\21\uffff\1\3\32\uffff\1\4\1\2\31\uffff\2\5",
|
||||
"\1\1\22\uffff\1\3\32\uffff\1\4\1\2\31\uffff\2\5",
|
||||
"",
|
||||
"",
|
||||
"\1\6",
|
||||
|
@ -1619,47 +1620,47 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
|||
public static final BitSet FOLLOW_checkGrammarOptions_in_bottomup158 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_wildcardRoot_in_bottomup164 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_GRAMMAR_in_grammarSpec182 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_grammarSpec184 = new BitSet(new long[]{0x0000000000580040L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_DOC_COMMENT_in_grammarSpec186 = new BitSet(new long[]{0x0000000000580000L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_prequelConstructs_in_grammarSpec204 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000200L});
|
||||
public static final BitSet FOLLOW_ID_in_grammarSpec184 = new BitSet(new long[]{0x0000000000580040L,0x0000000000000400L});
|
||||
public static final BitSet FOLLOW_DOC_COMMENT_in_grammarSpec186 = new BitSet(new long[]{0x0000000000580000L,0x0000000000000400L});
|
||||
public static final BitSet FOLLOW_prequelConstructs_in_grammarSpec204 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
|
||||
public static final BitSet FOLLOW_RULES_in_grammarSpec207 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_GRAMMAR_in_checkGrammarOptions230 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_OPTIONS_in_prequelConstructs253 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_IMPORT_in_prequelConstructs266 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_delegateGrammar_in_prequelConstructs268 = new BitSet(new long[]{0x0000200000000008L,0x0000000000400000L});
|
||||
public static final BitSet FOLLOW_delegateGrammar_in_prequelConstructs268 = new BitSet(new long[]{0x0000400000000008L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_TOKENS_in_prequelConstructs279 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_delegateGrammar312 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_delegateGrammar314 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
|
||||
public static final BitSet FOLLOW_ID_in_delegateGrammar314 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_ID_in_delegateGrammar318 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_delegateGrammar332 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_RULES_in_rules359 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_option380 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_option384 = new BitSet(new long[]{0x0001000000000000L,0x0000000000400009L});
|
||||
public static final BitSet FOLLOW_ID_in_option384 = new BitSet(new long[]{0x0002000000000000L,0x0000000000800012L});
|
||||
public static final BitSet FOLLOW_optionValue_in_option386 = 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_rule468 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_rule472 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ID_in_rule472 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_RULE_REF_in_ruleref495 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_tokenAlias514 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_tokenAlias516 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_tokenAlias516 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_tokenAlias518 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_tokenRefWithArgs543 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ARG_ACTION_in_tokenRefWithArgs545 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOption575 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption586 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption590 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption590 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption594 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption608 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption612 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption612 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_elementOption616 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_elementOption630 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ALT_in_multiElementAltInTreeGrammar670 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar672 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE0L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar679 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE8L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar672 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE0L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar679 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE8L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ROOT_in_astOps705 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_BANG_in_astOps718 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_set_in_rewrite736 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_TREE_BEGIN_in_wildcardRoot760 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_WILDCARD_in_wildcardRoot762 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_WILDCARD_in_wildcardRoot762 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000007FFFFFFFFFL});
|
||||
|
||||
}
|
|
@ -1,98 +1,99 @@
|
|||
COMBINED=90
|
||||
LT=43
|
||||
STAR=48
|
||||
BACKTRACK_SEMPRED=95
|
||||
COMBINED=91
|
||||
LT=44
|
||||
STAR=49
|
||||
BACKTRACK_SEMPRED=96
|
||||
DOUBLE_ANGLE_STRING_LITERAL=11
|
||||
FORCED_ACTION=5
|
||||
ARGLIST=88
|
||||
ALTLIST=85
|
||||
NOT=60
|
||||
ARGLIST=89
|
||||
ALTLIST=86
|
||||
NOT=61
|
||||
SEMPRED=4
|
||||
ACTION=16
|
||||
TOKEN_REF=62
|
||||
RULEMODIFIERS=74
|
||||
ST_RESULT=99
|
||||
RPAREN=41
|
||||
RET=89
|
||||
TOKEN_REF=63
|
||||
RULEMODIFIERS=75
|
||||
ST_RESULT=100
|
||||
RPAREN=42
|
||||
RET=90
|
||||
IMPORT=22
|
||||
STRING_LITERAL=67
|
||||
ARG=87
|
||||
STRING_LITERAL=68
|
||||
ARG=88
|
||||
ARG_ACTION=14
|
||||
DOUBLE_QUOTE_STRING_LITERAL=10
|
||||
COMMENT=9
|
||||
ACTION_CHAR_LITERAL=13
|
||||
GRAMMAR=27
|
||||
RULEACTIONS=75
|
||||
WSCHARS=65
|
||||
INITACTION=91
|
||||
ALT_REWRITE=101
|
||||
IMPLIES=42
|
||||
RULE=72
|
||||
RBRACE=61
|
||||
RULEACTIONS=76
|
||||
WSCHARS=66
|
||||
INITACTION=92
|
||||
ALT_REWRITE=102
|
||||
IMPLIES=43
|
||||
RULE=73
|
||||
RBRACE=62
|
||||
ACTION_ESC=17
|
||||
PRIVATE=30
|
||||
SRC=7
|
||||
THROWS=32
|
||||
CHAR_RANGE=82
|
||||
INT=64
|
||||
EPSILON=83
|
||||
LIST=97
|
||||
COLONCOLON=37
|
||||
CHAR_RANGE=83
|
||||
INT=65
|
||||
EPSILON=84
|
||||
LIST=98
|
||||
COLONCOLON=38
|
||||
WSNLCHARS=18
|
||||
WS=70
|
||||
WS=71
|
||||
LEXER=24
|
||||
OR=51
|
||||
GT=44
|
||||
OR=52
|
||||
GT=45
|
||||
CATCH=33
|
||||
CLOSURE=79
|
||||
CLOSURE=80
|
||||
PARSER=25
|
||||
DOLLAR=53
|
||||
DOLLAR=54
|
||||
PROTECTED=28
|
||||
ELEMENT_OPTIONS=98
|
||||
ELEMENT_OPTIONS=99
|
||||
NESTED_ACTION=15
|
||||
FRAGMENT=23
|
||||
ID=86
|
||||
TREE_BEGIN=58
|
||||
LPAREN=40
|
||||
AT=59
|
||||
ESC_SEQ=66
|
||||
ALT=84
|
||||
ID=87
|
||||
TREE_BEGIN=59
|
||||
LPAREN=41
|
||||
AT=60
|
||||
ESC_SEQ=67
|
||||
ALT=85
|
||||
TREE=26
|
||||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=96
|
||||
ETC=57
|
||||
COMMA=39
|
||||
WILDCARD=97
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=54
|
||||
PLUS=50
|
||||
REWRITE_BLOCK=78
|
||||
DOT=55
|
||||
MODE=36
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
UNICODE_ESC=69
|
||||
HEX_DIGIT=68
|
||||
RANGE=55
|
||||
RULES=74
|
||||
RARROW=58
|
||||
UNICODE_ESC=70
|
||||
HEX_DIGIT=69
|
||||
RANGE=56
|
||||
TOKENS=20
|
||||
RESULT=100
|
||||
GATED_SEMPRED=93
|
||||
BANG=47
|
||||
RESULT=101
|
||||
GATED_SEMPRED=94
|
||||
BANG=48
|
||||
ACTION_STRING_LITERAL=12
|
||||
ROOT=52
|
||||
SEMI=39
|
||||
RULE_REF=63
|
||||
ROOT=53
|
||||
SEMI=40
|
||||
RULE_REF=64
|
||||
NLCHARS=8
|
||||
OPTIONAL=78
|
||||
SYNPRED=81
|
||||
COLON=36
|
||||
QUESTION=46
|
||||
OPTIONAL=79
|
||||
SYNPRED=82
|
||||
COLON=37
|
||||
QUESTION=47
|
||||
FINALLY=34
|
||||
TEMPLATE=35
|
||||
LABEL=92
|
||||
SYN_SEMPRED=94
|
||||
ERRCHAR=71
|
||||
BLOCK=76
|
||||
ASSIGN=45
|
||||
PLUS_ASSIGN=50
|
||||
LABEL=93
|
||||
SYN_SEMPRED=95
|
||||
ERRCHAR=72
|
||||
BLOCK=77
|
||||
ASSIGN=46
|
||||
PLUS_ASSIGN=51
|
||||
PUBLIC=29
|
||||
POSITIVE_CLOSURE=80
|
||||
POSITIVE_CLOSURE=81
|
||||
OPTIONS=19
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
// $ANTLR ${project.version} ${buildNumber} CollectSymbols.g 2010-04-02 12:57:47
|
||||
// $ANTLR ${project.version} ${buildNumber} CollectSymbols.g 2010-04-19 15:55:57
|
||||
|
||||
/*
|
||||
[The "BSD license"]
|
||||
|
@ -42,106 +42,107 @@ import java.util.Set;
|
|||
*/
|
||||
public class CollectSymbols 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", "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", "ID", "ARG", "ARGLIST", "RET", "COMBINED", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "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", "MODE", "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", "ID", "ARG", "ARGLIST", "RET", "COMBINED", "INITACTION", "LABEL", "GATED_SEMPRED", "SYN_SEMPRED", "BACKTRACK_SEMPRED", "WILDCARD", "LIST", "ELEMENT_OPTIONS", "ST_RESULT", "RESULT", "ALT_REWRITE"
|
||||
};
|
||||
public static final int COMBINED=90;
|
||||
public static final int LT=43;
|
||||
public static final int STAR=48;
|
||||
public static final int BACKTRACK_SEMPRED=95;
|
||||
public static final int COMBINED=91;
|
||||
public static final int LT=44;
|
||||
public static final int STAR=49;
|
||||
public static final int BACKTRACK_SEMPRED=96;
|
||||
public static final int DOUBLE_ANGLE_STRING_LITERAL=11;
|
||||
public static final int FORCED_ACTION=5;
|
||||
public static final int ARGLIST=88;
|
||||
public static final int ALTLIST=85;
|
||||
public static final int NOT=60;
|
||||
public static final int ARGLIST=89;
|
||||
public static final int ALTLIST=86;
|
||||
public static final int NOT=61;
|
||||
public static final int EOF=-1;
|
||||
public static final int SEMPRED=4;
|
||||
public static final int ACTION=16;
|
||||
public static final int TOKEN_REF=62;
|
||||
public static final int RULEMODIFIERS=74;
|
||||
public static final int ST_RESULT=99;
|
||||
public static final int RPAREN=41;
|
||||
public static final int RET=89;
|
||||
public static final int TOKEN_REF=63;
|
||||
public static final int RULEMODIFIERS=75;
|
||||
public static final int ST_RESULT=100;
|
||||
public static final int RPAREN=42;
|
||||
public static final int RET=90;
|
||||
public static final int IMPORT=22;
|
||||
public static final int STRING_LITERAL=67;
|
||||
public static final int ARG=87;
|
||||
public static final int STRING_LITERAL=68;
|
||||
public static final int ARG=88;
|
||||
public static final int ARG_ACTION=14;
|
||||
public static final int DOUBLE_QUOTE_STRING_LITERAL=10;
|
||||
public static final int COMMENT=9;
|
||||
public static final int ACTION_CHAR_LITERAL=13;
|
||||
public static final int GRAMMAR=27;
|
||||
public static final int RULEACTIONS=75;
|
||||
public static final int WSCHARS=65;
|
||||
public static final int INITACTION=91;
|
||||
public static final int ALT_REWRITE=101;
|
||||
public static final int IMPLIES=42;
|
||||
public static final int RULE=72;
|
||||
public static final int RBRACE=61;
|
||||
public static final int RULEACTIONS=76;
|
||||
public static final int WSCHARS=66;
|
||||
public static final int INITACTION=92;
|
||||
public static final int ALT_REWRITE=102;
|
||||
public static final int IMPLIES=43;
|
||||
public static final int RULE=73;
|
||||
public static final int RBRACE=62;
|
||||
public static final int ACTION_ESC=17;
|
||||
public static final int PRIVATE=30;
|
||||
public static final int SRC=7;
|
||||
public static final int THROWS=32;
|
||||
public static final int CHAR_RANGE=82;
|
||||
public static final int INT=64;
|
||||
public static final int EPSILON=83;
|
||||
public static final int LIST=97;
|
||||
public static final int COLONCOLON=37;
|
||||
public static final int CHAR_RANGE=83;
|
||||
public static final int INT=65;
|
||||
public static final int EPSILON=84;
|
||||
public static final int LIST=98;
|
||||
public static final int COLONCOLON=38;
|
||||
public static final int WSNLCHARS=18;
|
||||
public static final int WS=70;
|
||||
public static final int WS=71;
|
||||
public static final int LEXER=24;
|
||||
public static final int OR=51;
|
||||
public static final int GT=44;
|
||||
public static final int OR=52;
|
||||
public static final int GT=45;
|
||||
public static final int CATCH=33;
|
||||
public static final int CLOSURE=79;
|
||||
public static final int CLOSURE=80;
|
||||
public static final int PARSER=25;
|
||||
public static final int DOLLAR=53;
|
||||
public static final int DOLLAR=54;
|
||||
public static final int PROTECTED=28;
|
||||
public static final int ELEMENT_OPTIONS=98;
|
||||
public static final int ELEMENT_OPTIONS=99;
|
||||
public static final int NESTED_ACTION=15;
|
||||
public static final int FRAGMENT=23;
|
||||
public static final int ID=86;
|
||||
public static final int TREE_BEGIN=58;
|
||||
public static final int LPAREN=40;
|
||||
public static final int AT=59;
|
||||
public static final int ESC_SEQ=66;
|
||||
public static final int ALT=84;
|
||||
public static final int ID=87;
|
||||
public static final int TREE_BEGIN=59;
|
||||
public static final int LPAREN=41;
|
||||
public static final int AT=60;
|
||||
public static final int ESC_SEQ=67;
|
||||
public static final int ALT=85;
|
||||
public static final int TREE=26;
|
||||
public static final int SCOPE=21;
|
||||
public static final int ETC=56;
|
||||
public static final int COMMA=38;
|
||||
public static final int WILDCARD=96;
|
||||
public static final int ETC=57;
|
||||
public static final int COMMA=39;
|
||||
public static final int WILDCARD=97;
|
||||
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=54;
|
||||
public static final int PLUS=50;
|
||||
public static final int REWRITE_BLOCK=78;
|
||||
public static final int DOT=55;
|
||||
public static final int MODE=36;
|
||||
public static final int RETURNS=31;
|
||||
public static final int RULES=73;
|
||||
public static final int RARROW=57;
|
||||
public static final int UNICODE_ESC=69;
|
||||
public static final int HEX_DIGIT=68;
|
||||
public static final int RANGE=55;
|
||||
public static final int RULES=74;
|
||||
public static final int RARROW=58;
|
||||
public static final int UNICODE_ESC=70;
|
||||
public static final int HEX_DIGIT=69;
|
||||
public static final int RANGE=56;
|
||||
public static final int TOKENS=20;
|
||||
public static final int RESULT=100;
|
||||
public static final int GATED_SEMPRED=93;
|
||||
public static final int BANG=47;
|
||||
public static final int RESULT=101;
|
||||
public static final int GATED_SEMPRED=94;
|
||||
public static final int BANG=48;
|
||||
public static final int ACTION_STRING_LITERAL=12;
|
||||
public static final int ROOT=52;
|
||||
public static final int SEMI=39;
|
||||
public static final int RULE_REF=63;
|
||||
public static final int ROOT=53;
|
||||
public static final int SEMI=40;
|
||||
public static final int RULE_REF=64;
|
||||
public static final int NLCHARS=8;
|
||||
public static final int OPTIONAL=78;
|
||||
public static final int SYNPRED=81;
|
||||
public static final int COLON=36;
|
||||
public static final int QUESTION=46;
|
||||
public static final int OPTIONAL=79;
|
||||
public static final int SYNPRED=82;
|
||||
public static final int COLON=37;
|
||||
public static final int QUESTION=47;
|
||||
public static final int FINALLY=34;
|
||||
public static final int TEMPLATE=35;
|
||||
public static final int LABEL=92;
|
||||
public static final int SYN_SEMPRED=94;
|
||||
public static final int ERRCHAR=71;
|
||||
public static final int BLOCK=76;
|
||||
public static final int ASSIGN=45;
|
||||
public static final int PLUS_ASSIGN=50;
|
||||
public static final int LABEL=93;
|
||||
public static final int SYN_SEMPRED=95;
|
||||
public static final int ERRCHAR=72;
|
||||
public static final int BLOCK=77;
|
||||
public static final int ASSIGN=46;
|
||||
public static final int PLUS_ASSIGN=51;
|
||||
public static final int PUBLIC=29;
|
||||
public static final int POSITIVE_CLOSURE=80;
|
||||
public static final int POSITIVE_CLOSURE=81;
|
||||
public static final int OPTIONS=19;
|
||||
|
||||
// delegates
|
||||
|
@ -1514,11 +1515,11 @@ public class CollectSymbols extends org.antlr.v4.runtime.tree.TreeFilter {
|
|||
static final String DFA1_eofS =
|
||||
"\41\uffff";
|
||||
static final String DFA1_minS =
|
||||
"\1\16\3\2\4\uffff\3\0\6\uffff\1\20\2\126\2\uffff\1\3\1\uffff\1\20"+
|
||||
"\1\16\3\2\4\uffff\3\0\6\uffff\1\20\2\127\2\uffff\1\3\1\uffff\1\20"+
|
||||
"\1\4\1\uffff\1\3\1\uffff\1\2\2\0\1\uffff";
|
||||
static final String DFA1_maxS =
|
||||
"\1\145\3\2\4\uffff\3\0\6\uffff\3\126\2\uffff\1\126\1\uffff\1\126"+
|
||||
"\1\145\1\uffff\1\3\1\uffff\1\3\2\0\1\uffff";
|
||||
"\1\146\3\2\4\uffff\3\0\6\uffff\3\127\2\uffff\1\127\1\uffff\1\127"+
|
||||
"\1\146\1\uffff\1\3\1\uffff\1\3\2\0\1\uffff";
|
||||
static final String DFA1_acceptS =
|
||||
"\4\uffff\1\3\1\4\1\5\1\6\3\uffff\1\12\1\14\1\15\1\16\1\17\1\20\3"+
|
||||
"\uffff\1\11\1\13\1\uffff\1\10\2\uffff\1\1\1\uffff\1\2\3\uffff\1"+
|
||||
|
@ -1527,7 +1528,7 @@ public class CollectSymbols extends org.antlr.v4.runtime.tree.TreeFilter {
|
|||
"\10\uffff\1\4\1\2\1\0\23\uffff\1\1\1\3\1\uffff}>";
|
||||
static final String[] DFA1_transitionS = {
|
||||
"\1\6\1\uffff\1\16\4\uffff\1\1\11\uffff\1\7\1\uffff\1\20\1\17"+
|
||||
"\12\uffff\1\3\4\uffff\1\14\10\uffff\1\2\2\uffff\1\12\1\10\3"+
|
||||
"\13\uffff\1\3\4\uffff\1\14\10\uffff\1\2\2\uffff\1\12\1\10\3"+
|
||||
"\uffff\1\11\4\uffff\1\5\13\uffff\1\15\1\uffff\1\4\5\uffff\1"+
|
||||
"\13\10\uffff\1\15",
|
||||
"\1\21",
|
||||
|
@ -1546,15 +1547,15 @@ public class CollectSymbols extends org.antlr.v4.runtime.tree.TreeFilter {
|
|||
"",
|
||||
"",
|
||||
"",
|
||||
"\1\27\105\uffff\1\26",
|
||||
"\1\27\106\uffff\1\26",
|
||||
"\1\30",
|
||||
"\1\31",
|
||||
"",
|
||||
"",
|
||||
"\1\27\14\uffff\1\32\105\uffff\1\27",
|
||||
"\1\27\14\uffff\1\32\106\uffff\1\27",
|
||||
"",
|
||||
"\1\33\105\uffff\1\34",
|
||||
"\77\14\1\35\42\14",
|
||||
"\1\33\106\uffff\1\34",
|
||||
"\100\14\1\35\42\14",
|
||||
"",
|
||||
"\1\36",
|
||||
"",
|
||||
|
@ -1690,34 +1691,34 @@ public class CollectSymbols extends org.antlr.v4.runtime.tree.TreeFilter {
|
|||
static final String DFA4_minS =
|
||||
"\1\4\2\2\1\uffff\2\4\2\2\1\uffff\1\3\3\2\3\4\2\2\2\3\1\uffff\1\3";
|
||||
static final String DFA4_maxS =
|
||||
"\3\145\1\uffff\4\145\1\uffff\13\145\1\uffff\1\145";
|
||||
"\3\146\1\uffff\4\146\1\uffff\13\146\1\uffff\1\146";
|
||||
static final String DFA4_acceptS =
|
||||
"\3\uffff\1\1\4\uffff\1\2\13\uffff\1\2\1\uffff";
|
||||
static final String DFA4_specialS =
|
||||
"\26\uffff}>";
|
||||
static final String[] DFA4_transitionS = {
|
||||
"\106\3\1\1\1\3\1\2\31\3",
|
||||
"\1\4\1\uffff\142\3",
|
||||
"\1\5\1\uffff\142\3",
|
||||
"\107\3\1\1\1\3\1\2\31\3",
|
||||
"\1\4\1\uffff\143\3",
|
||||
"\1\5\1\uffff\143\3",
|
||||
"",
|
||||
"\142\6",
|
||||
"\142\7",
|
||||
"\2\10\142\6",
|
||||
"\1\10\1\11\142\7",
|
||||
"\143\6",
|
||||
"\143\7",
|
||||
"\2\10\143\6",
|
||||
"\1\10\1\11\143\7",
|
||||
"",
|
||||
"\1\10\106\14\1\12\1\14\1\13\31\14",
|
||||
"\1\15\1\10\106\14\1\12\1\14\1\13\31\14",
|
||||
"\1\16\1\10\106\14\1\12\1\14\1\13\31\14",
|
||||
"\1\17\1\10\106\14\1\12\1\14\1\13\31\14",
|
||||
"\142\20",
|
||||
"\142\21",
|
||||
"\142\22",
|
||||
"\1\3\1\23\142\20",
|
||||
"\1\3\1\24\142\21",
|
||||
"\1\25\142\22",
|
||||
"\1\24\106\14\1\12\1\14\1\13\31\14",
|
||||
"\1\10\107\14\1\12\1\14\1\13\31\14",
|
||||
"\1\15\1\10\107\14\1\12\1\14\1\13\31\14",
|
||||
"\1\16\1\10\107\14\1\12\1\14\1\13\31\14",
|
||||
"\1\17\1\10\107\14\1\12\1\14\1\13\31\14",
|
||||
"\143\20",
|
||||
"\143\21",
|
||||
"\143\22",
|
||||
"\1\3\1\23\143\20",
|
||||
"\1\3\1\24\143\21",
|
||||
"\1\25\143\22",
|
||||
"\1\24\107\14\1\12\1\14\1\13\31\14",
|
||||
"",
|
||||
"\1\24\106\14\1\12\1\14\1\13\31\14"
|
||||
"\1\24\107\14\1\12\1\14\1\13\31\14"
|
||||
};
|
||||
|
||||
static final short[] DFA4_eot = DFA.unpackEncodedString(DFA4_eotS);
|
||||
|
@ -1776,15 +1777,15 @@ public class CollectSymbols extends org.antlr.v4.runtime.tree.TreeFilter {
|
|||
public static final BitSet FOLLOW_ID_in_globalScope257 = new BitSet(new long[]{0x0000000000010000L});
|
||||
public static final BitSet FOLLOW_ACTION_in_globalScope259 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_AT_in_globalNamedAction278 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_globalNamedAction280 = new BitSet(new long[]{0x0000000000000000L,0x0000000000400000L});
|
||||
public static final BitSet FOLLOW_ID_in_globalNamedAction280 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_ID_in_globalNamedAction283 = new BitSet(new long[]{0x0000000000010000L});
|
||||
public static final BitSet FOLLOW_ACTION_in_globalNamedAction285 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_tokensSection308 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_tokensSection312 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_tokensSection312 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_tokensSection314 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_ID_in_tokensSection328 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_RULE_in_rule357 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_rule369 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ID_in_rule369 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_RULEMODIFIERS_in_rule393 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_BLOCK_in_rule416 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_set_in_setAlt460 = new BitSet(new long[]{0x0000000000000002L});
|
||||
|
@ -1804,12 +1805,12 @@ public class CollectSymbols extends org.antlr.v4.runtime.tree.TreeFilter {
|
|||
public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec625 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ACTION_in_ruleScopeSpec627 = new BitSet(new long[]{0x0000000000000008L});
|
||||
public static final BitSet FOLLOW_SCOPE_in_ruleScopeSpec640 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_ruleScopeSpec644 = new BitSet(new long[]{0x0000000000000008L,0x0000000000400000L});
|
||||
public static final BitSet FOLLOW_ID_in_ruleScopeSpec644 = new BitSet(new long[]{0x0000000000000008L,0x0000000000800000L});
|
||||
public static final BitSet FOLLOW_set_in_rewriteElement672 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_ASSIGN_in_labeledElement708 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement712 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement712 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_PLUS_ASSIGN_in_labeledElement724 = new BitSet(new long[]{0x0000000000000004L});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement728 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000003FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_ID_in_labeledElement728 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF0L,0x0000007FFFFFFFFFL});
|
||||
public static final BitSet FOLLOW_STRING_LITERAL_in_terminal754 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_TOKEN_REF_in_terminal769 = new BitSet(new long[]{0x0000000000000002L});
|
||||
public static final BitSet FOLLOW_RULE_REF_in_ruleref806 = new BitSet(new long[]{0x0000000000000002L});
|
||||
|
|
|
@ -1,98 +1,99 @@
|
|||
COMBINED=90
|
||||
LT=43
|
||||
STAR=48
|
||||
BACKTRACK_SEMPRED=95
|
||||
COMBINED=91
|
||||
LT=44
|
||||
STAR=49
|
||||
BACKTRACK_SEMPRED=96
|
||||
DOUBLE_ANGLE_STRING_LITERAL=11
|
||||
FORCED_ACTION=5
|
||||
ARGLIST=88
|
||||
ALTLIST=85
|
||||
NOT=60
|
||||
ARGLIST=89
|
||||
ALTLIST=86
|
||||
NOT=61
|
||||
SEMPRED=4
|
||||
ACTION=16
|
||||
TOKEN_REF=62
|
||||
RULEMODIFIERS=74
|
||||
ST_RESULT=99
|
||||
RPAREN=41
|
||||
RET=89
|
||||
TOKEN_REF=63
|
||||
RULEMODIFIERS=75
|
||||
ST_RESULT=100
|
||||
RPAREN=42
|
||||
RET=90
|
||||
IMPORT=22
|
||||
STRING_LITERAL=67
|
||||
ARG=87
|
||||
STRING_LITERAL=68
|
||||
ARG=88
|
||||
ARG_ACTION=14
|
||||
DOUBLE_QUOTE_STRING_LITERAL=10
|
||||
COMMENT=9
|
||||
ACTION_CHAR_LITERAL=13
|
||||
GRAMMAR=27
|
||||
RULEACTIONS=75
|
||||
WSCHARS=65
|
||||
INITACTION=91
|
||||
ALT_REWRITE=101
|
||||
IMPLIES=42
|
||||
RULE=72
|
||||
RBRACE=61
|
||||
RULEACTIONS=76
|
||||
WSCHARS=66
|
||||
INITACTION=92
|
||||
ALT_REWRITE=102
|
||||
IMPLIES=43
|
||||
RULE=73
|
||||
RBRACE=62
|
||||
ACTION_ESC=17
|
||||
PRIVATE=30
|
||||
SRC=7
|
||||
THROWS=32
|
||||
CHAR_RANGE=82
|
||||
INT=64
|
||||
EPSILON=83
|
||||
LIST=97
|
||||
COLONCOLON=37
|
||||
CHAR_RANGE=83
|
||||
INT=65
|
||||
EPSILON=84
|
||||
LIST=98
|
||||
COLONCOLON=38
|
||||
WSNLCHARS=18
|
||||
WS=70
|
||||
WS=71
|
||||
LEXER=24
|
||||
OR=51
|
||||
GT=44
|
||||
OR=52
|
||||
GT=45
|
||||
CATCH=33
|
||||
CLOSURE=79
|
||||
CLOSURE=80
|
||||
PARSER=25
|
||||
DOLLAR=53
|
||||
DOLLAR=54
|
||||
PROTECTED=28
|
||||
ELEMENT_OPTIONS=98
|
||||
ELEMENT_OPTIONS=99
|
||||
NESTED_ACTION=15
|
||||
FRAGMENT=23
|
||||
ID=86
|
||||
TREE_BEGIN=58
|
||||
LPAREN=40
|
||||
AT=59
|
||||
ESC_SEQ=66
|
||||
ALT=84
|
||||
ID=87
|
||||
TREE_BEGIN=59
|
||||
LPAREN=41
|
||||
AT=60
|
||||
ESC_SEQ=67
|
||||
ALT=85
|
||||
TREE=26
|
||||
SCOPE=21
|
||||
ETC=56
|
||||
COMMA=38
|
||||
WILDCARD=96
|
||||
ETC=57
|
||||
COMMA=39
|
||||
WILDCARD=97
|
||||
DOC_COMMENT=6
|
||||
PLUS=49
|
||||
REWRITE_BLOCK=77
|
||||
DOT=54
|
||||
PLUS=50
|
||||
REWRITE_BLOCK=78
|
||||
DOT=55
|
||||
MODE=36
|
||||
RETURNS=31
|
||||
RULES=73
|
||||
RARROW=57
|
||||
UNICODE_ESC=69
|
||||
HEX_DIGIT=68
|
||||
RANGE=55
|
||||
RULES=74
|
||||
RARROW=58
|
||||
UNICODE_ESC=70
|
||||
HEX_DIGIT=69
|
||||
RANGE=56
|
||||
TOKENS=20
|
||||
RESULT=100
|
||||
GATED_SEMPRED=93
|
||||
BANG=47
|
||||
RESULT=101
|
||||
GATED_SEMPRED=94
|
||||
BANG=48
|
||||
ACTION_STRING_LITERAL=12
|
||||
ROOT=52
|
||||
SEMI=39
|
||||
RULE_REF=63
|
||||
ROOT=53
|
||||
SEMI=40
|
||||
RULE_REF=64
|
||||
NLCHARS=8
|
||||
OPTIONAL=78
|
||||
SYNPRED=81
|
||||
COLON=36
|
||||
QUESTION=46
|
||||
OPTIONAL=79
|
||||
SYNPRED=82
|
||||
COLON=37
|
||||
QUESTION=47
|
||||
FINALLY=34
|
||||
TEMPLATE=35
|
||||
LABEL=92
|
||||
SYN_SEMPRED=94
|
||||
ERRCHAR=71
|
||||
BLOCK=76
|
||||
ASSIGN=45
|
||||
PLUS_ASSIGN=50
|
||||
LABEL=93
|
||||
SYN_SEMPRED=95
|
||||
ERRCHAR=72
|
||||
BLOCK=77
|
||||
ASSIGN=46
|
||||
PLUS_ASSIGN=51
|
||||
PUBLIC=29
|
||||
POSITIVE_CLOSURE=80
|
||||
POSITIVE_CLOSURE=81
|
||||
OPTIONS=19
|
||||
|
|
|
@ -68,6 +68,26 @@ public class TestLexerDFAConstruction extends BaseTest {
|
|||
checkLexerDFA(g, expecting);
|
||||
}
|
||||
|
||||
@Test public void testAplusNonGreedy() throws Exception {
|
||||
String g =
|
||||
"lexer grammar t;\n"+
|
||||
"A : (options {greedy=false;}:'0'..'9')+ '000' ;\n";
|
||||
String expecting =
|
||||
"\n";
|
||||
checkLexerDFA(g, expecting);
|
||||
}
|
||||
|
||||
@Test public void testDotNonGreedy() throws Exception {
|
||||
String g =
|
||||
"lexer grammar t;\n"+
|
||||
"A : (options {greedy=false;}:.)+ '000' ;\n";
|
||||
String expecting =
|
||||
"\n";
|
||||
checkLexerDFA(g, expecting);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void _template() throws Exception {
|
||||
String g =
|
||||
"";
|
||||
|
|
|
@ -272,9 +272,15 @@ public class TestNFAConstruction extends BaseTest {
|
|||
@Test public void testAplusNonGreedy() throws Exception {
|
||||
Grammar g = new Grammar(
|
||||
"lexer grammar t;\n"+
|
||||
"A : (options {greedy=false;}:'0'..'9')+ ;\n"); // TODO: check after doing greedy
|
||||
"A : (options {greedy=false;}:'0'..'9')+ ;\n");
|
||||
String expecting =
|
||||
"\n";
|
||||
"RuleStart_A_1->PlusBlockStart_5\n" +
|
||||
"PlusBlockStart_5->s3\n" +
|
||||
"s3-'0'..'9'->s4\n" +
|
||||
"s4->LoopBack_6\n" +
|
||||
"LoopBack_6->BlockEnd_7\n" +
|
||||
"LoopBack_6->s3\n" +
|
||||
"BlockEnd_7->RuleStop_A_2\n";
|
||||
checkRule(g, "A", expecting);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue