add def sym; fix errors so they ignore right of ->
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6666]
This commit is contained in:
parent
9b0d27b1b7
commit
ffd60dc26b
|
@ -1,4 +1,4 @@
|
||||||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ANTLRLexer.g 2010-02-03 15:37:27
|
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ANTLRLexer.g 2010-02-04 17:29:59
|
||||||
|
|
||||||
/*
|
/*
|
||||||
[The "BSD licence"]
|
[The "BSD licence"]
|
||||||
|
@ -263,7 +263,7 @@ public class ANTLRLexer extends Lexer {
|
||||||
if ( (( input.LA(2) != '/')) ) {
|
if ( (( input.LA(2) != '/')) ) {
|
||||||
alt3=1;
|
alt3=1;
|
||||||
}
|
}
|
||||||
else if ( (((( true )&&( !(input.LA(1) == '*' && input.LA(2) == '/') ))||( true ))) ) {
|
else if ( ((( true )||(( true )&&( !(input.LA(1) == '*' && input.LA(2) == '/') )))) ) {
|
||||||
alt3=2;
|
alt3=2;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
|
@ -834,8 +834,7 @@ rewriteTreeAlt
|
||||||
|
|
||||||
rewriteTreeElement
|
rewriteTreeElement
|
||||||
: rewriteTreeAtom
|
: rewriteTreeAtom
|
||||||
| rewriteTreeAtom ebnfSuffix
|
| rewriteTreeAtom ebnfSuffix -> ^( ebnfSuffix ^(REWRITE_BLOCK ^(ALT rewriteTreeAtom)) )
|
||||||
-> ^( ebnfSuffix ^(REWRITE_BLOCK ^(ALT rewriteTreeAtom)) )
|
|
||||||
| rewriteTree
|
| rewriteTree
|
||||||
( ebnfSuffix
|
( ebnfSuffix
|
||||||
-> ^(ebnfSuffix ^(REWRITE_BLOCK ^(ALT rewriteTree)) )
|
-> ^(ebnfSuffix ^(REWRITE_BLOCK ^(ALT rewriteTree)) )
|
||||||
|
@ -845,9 +844,9 @@ rewriteTreeElement
|
||||||
;
|
;
|
||||||
|
|
||||||
rewriteTreeAtom
|
rewriteTreeAtom
|
||||||
: TOKEN_REF ARG_ACTION? -> ^(TOKEN_REF<TerminalAST> ARG_ACTION?) // for imaginary nodes
|
: TOKEN_REF elementOptions? ARG_ACTION? -> ^(TOKEN_REF<TerminalAST> elementOptions? ARG_ACTION?) // for imaginary nodes
|
||||||
| RULE_REF
|
| RULE_REF
|
||||||
| STRING_LITERAL<TerminalAST>
|
| STRING_LITERAL elementOptions? -> ^(STRING_LITERAL<TerminalAST> elementOptions?)
|
||||||
| DOLLAR id -> LABEL[$DOLLAR,$id.text] // reference to a label in a rewrite rule
|
| DOLLAR id -> LABEL[$DOLLAR,$id.text] // reference to a label in a rewrite rule
|
||||||
| ACTION
|
| ACTION
|
||||||
;
|
;
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -372,9 +372,12 @@ rewriteTreeElement
|
||||||
;
|
;
|
||||||
|
|
||||||
rewriteTreeAtom
|
rewriteTreeAtom
|
||||||
: ^(TOKEN_REF ARG_ACTION)
|
: ^(TOKEN_REF elementOptions ARG_ACTION)
|
||||||
|
| ^(TOKEN_REF elementOptions)
|
||||||
|
| ^(TOKEN_REF ARG_ACTION)
|
||||||
| TOKEN_REF
|
| TOKEN_REF
|
||||||
| RULE_REF
|
| RULE_REF
|
||||||
|
| ^(STRING_LITERAL elementOptions)
|
||||||
| STRING_LITERAL
|
| STRING_LITERAL
|
||||||
| LABEL
|
| LABEL
|
||||||
| ACTION
|
| ACTION
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ASTVerifier.g 2010-02-03 15:37:30
|
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 ASTVerifier.g 2010-02-04 17:30:02
|
||||||
|
|
||||||
/*
|
/*
|
||||||
[The "BSD license"]
|
[The "BSD license"]
|
||||||
|
@ -3636,102 +3636,106 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTreeAtom"
|
// $ANTLR start "rewriteTreeAtom"
|
||||||
// ASTVerifier.g:374:1: rewriteTreeAtom : ( ^( TOKEN_REF ARG_ACTION ) | TOKEN_REF | RULE_REF | STRING_LITERAL | LABEL | ACTION );
|
// ASTVerifier.g:374:1: rewriteTreeAtom : ( ^( TOKEN_REF elementOptions ARG_ACTION ) | ^( TOKEN_REF elementOptions ) | ^( TOKEN_REF ARG_ACTION ) | TOKEN_REF | RULE_REF | ^( STRING_LITERAL elementOptions ) | STRING_LITERAL | LABEL | ACTION );
|
||||||
public final void rewriteTreeAtom() throws RecognitionException {
|
public final void rewriteTreeAtom() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:375:5: ( ^( TOKEN_REF ARG_ACTION ) | TOKEN_REF | RULE_REF | STRING_LITERAL | LABEL | ACTION )
|
// ASTVerifier.g:375:5: ( ^( TOKEN_REF elementOptions ARG_ACTION ) | ^( TOKEN_REF elementOptions ) | ^( TOKEN_REF ARG_ACTION ) | TOKEN_REF | RULE_REF | ^( STRING_LITERAL elementOptions ) | STRING_LITERAL | LABEL | ACTION )
|
||||||
int alt51=6;
|
int alt51=9;
|
||||||
switch ( input.LA(1) ) {
|
alt51 = dfa51.predict(input);
|
||||||
case TOKEN_REF:
|
|
||||||
{
|
|
||||||
int LA51_1 = input.LA(2);
|
|
||||||
|
|
||||||
if ( (LA51_1==DOWN) ) {
|
|
||||||
alt51=1;
|
|
||||||
}
|
|
||||||
else if ( (LA51_1==UP||LA51_1==ACTION||LA51_1==TREE_BEGIN||(LA51_1>=TOKEN_REF && LA51_1<=RULE_REF)||LA51_1==STRING_LITERAL||(LA51_1>=OPTIONAL && LA51_1<=POSITIVE_CLOSURE)||LA51_1==LABEL) ) {
|
|
||||||
alt51=2;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
NoViableAltException nvae =
|
|
||||||
new NoViableAltException("", 51, 1, input);
|
|
||||||
|
|
||||||
throw nvae;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case RULE_REF:
|
|
||||||
{
|
|
||||||
alt51=3;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case STRING_LITERAL:
|
|
||||||
{
|
|
||||||
alt51=4;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case LABEL:
|
|
||||||
{
|
|
||||||
alt51=5;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case ACTION:
|
|
||||||
{
|
|
||||||
alt51=6;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
NoViableAltException nvae =
|
|
||||||
new NoViableAltException("", 51, 0, input);
|
|
||||||
|
|
||||||
throw nvae;
|
|
||||||
}
|
|
||||||
|
|
||||||
switch (alt51) {
|
switch (alt51) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:375:9: ^( TOKEN_REF ARG_ACTION )
|
// ASTVerifier.g:375:9: ^( TOKEN_REF elementOptions ARG_ACTION )
|
||||||
{
|
{
|
||||||
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewriteTreeAtom1657);
|
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewriteTreeAtom1657);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rewriteTreeAtom1659);
|
pushFollow(FOLLOW_elementOptions_in_rewriteTreeAtom1659);
|
||||||
|
elementOptions();
|
||||||
|
|
||||||
|
state._fsp--;
|
||||||
|
|
||||||
|
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rewriteTreeAtom1661);
|
||||||
|
|
||||||
match(input, Token.UP, null);
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2 :
|
case 2 :
|
||||||
// ASTVerifier.g:376:6: TOKEN_REF
|
// ASTVerifier.g:376:9: ^( TOKEN_REF elementOptions )
|
||||||
{
|
{
|
||||||
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewriteTreeAtom1667);
|
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewriteTreeAtom1673);
|
||||||
|
|
||||||
|
match(input, Token.DOWN, null);
|
||||||
|
pushFollow(FOLLOW_elementOptions_in_rewriteTreeAtom1675);
|
||||||
|
elementOptions();
|
||||||
|
|
||||||
|
state._fsp--;
|
||||||
|
|
||||||
|
|
||||||
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3 :
|
case 3 :
|
||||||
// ASTVerifier.g:377:9: RULE_REF
|
// ASTVerifier.g:377:9: ^( TOKEN_REF ARG_ACTION )
|
||||||
{
|
{
|
||||||
match(input,RULE_REF,FOLLOW_RULE_REF_in_rewriteTreeAtom1677);
|
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewriteTreeAtom1687);
|
||||||
|
|
||||||
|
match(input, Token.DOWN, null);
|
||||||
|
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_rewriteTreeAtom1689);
|
||||||
|
|
||||||
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4 :
|
case 4 :
|
||||||
// ASTVerifier.g:378:6: STRING_LITERAL
|
// ASTVerifier.g:378:6: TOKEN_REF
|
||||||
{
|
{
|
||||||
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_rewriteTreeAtom1684);
|
match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_rewriteTreeAtom1697);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5 :
|
case 5 :
|
||||||
// ASTVerifier.g:379:6: LABEL
|
// ASTVerifier.g:379:9: RULE_REF
|
||||||
{
|
{
|
||||||
match(input,LABEL,FOLLOW_LABEL_in_rewriteTreeAtom1691);
|
match(input,RULE_REF,FOLLOW_RULE_REF_in_rewriteTreeAtom1707);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 6 :
|
case 6 :
|
||||||
// ASTVerifier.g:380:4: ACTION
|
// ASTVerifier.g:380:6: ^( STRING_LITERAL elementOptions )
|
||||||
{
|
{
|
||||||
match(input,ACTION,FOLLOW_ACTION_in_rewriteTreeAtom1696);
|
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_rewriteTreeAtom1715);
|
||||||
|
|
||||||
|
match(input, Token.DOWN, null);
|
||||||
|
pushFollow(FOLLOW_elementOptions_in_rewriteTreeAtom1717);
|
||||||
|
elementOptions();
|
||||||
|
|
||||||
|
state._fsp--;
|
||||||
|
|
||||||
|
|
||||||
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 7 :
|
||||||
|
// ASTVerifier.g:381:6: STRING_LITERAL
|
||||||
|
{
|
||||||
|
match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_rewriteTreeAtom1725);
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 8 :
|
||||||
|
// ASTVerifier.g:382:6: LABEL
|
||||||
|
{
|
||||||
|
match(input,LABEL,FOLLOW_LABEL_in_rewriteTreeAtom1733);
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 9 :
|
||||||
|
// ASTVerifier.g:383:4: ACTION
|
||||||
|
{
|
||||||
|
match(input,ACTION,FOLLOW_ACTION_in_rewriteTreeAtom1738);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3750,23 +3754,23 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTreeEbnf"
|
// $ANTLR start "rewriteTreeEbnf"
|
||||||
// ASTVerifier.g:383:1: rewriteTreeEbnf : ^( ebnfSuffix ^( REWRITE_BLOCK rewriteTreeAlt ) ) ;
|
// ASTVerifier.g:386:1: rewriteTreeEbnf : ^( ebnfSuffix ^( REWRITE_BLOCK rewriteTreeAlt ) ) ;
|
||||||
public final void rewriteTreeEbnf() throws RecognitionException {
|
public final void rewriteTreeEbnf() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:384:2: ( ^( ebnfSuffix ^( REWRITE_BLOCK rewriteTreeAlt ) ) )
|
// ASTVerifier.g:387:2: ( ^( ebnfSuffix ^( REWRITE_BLOCK rewriteTreeAlt ) ) )
|
||||||
// ASTVerifier.g:384:4: ^( ebnfSuffix ^( REWRITE_BLOCK rewriteTreeAlt ) )
|
// ASTVerifier.g:387:4: ^( ebnfSuffix ^( REWRITE_BLOCK rewriteTreeAlt ) )
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_ebnfSuffix_in_rewriteTreeEbnf1708);
|
pushFollow(FOLLOW_ebnfSuffix_in_rewriteTreeEbnf1750);
|
||||||
ebnfSuffix();
|
ebnfSuffix();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
match(input,REWRITE_BLOCK,FOLLOW_REWRITE_BLOCK_in_rewriteTreeEbnf1711);
|
match(input,REWRITE_BLOCK,FOLLOW_REWRITE_BLOCK_in_rewriteTreeEbnf1753);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
pushFollow(FOLLOW_rewriteTreeAlt_in_rewriteTreeEbnf1713);
|
pushFollow(FOLLOW_rewriteTreeAlt_in_rewriteTreeEbnf1755);
|
||||||
rewriteTreeAlt();
|
rewriteTreeAlt();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -3791,21 +3795,21 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTree"
|
// $ANTLR start "rewriteTree"
|
||||||
// ASTVerifier.g:386:1: rewriteTree : ^( TREE_BEGIN rewriteTreeAtom ( rewriteTreeElement )* ) ;
|
// ASTVerifier.g:389:1: rewriteTree : ^( TREE_BEGIN rewriteTreeAtom ( rewriteTreeElement )* ) ;
|
||||||
public final void rewriteTree() throws RecognitionException {
|
public final void rewriteTree() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:387:2: ( ^( TREE_BEGIN rewriteTreeAtom ( rewriteTreeElement )* ) )
|
// ASTVerifier.g:390:2: ( ^( TREE_BEGIN rewriteTreeAtom ( rewriteTreeElement )* ) )
|
||||||
// ASTVerifier.g:387:4: ^( TREE_BEGIN rewriteTreeAtom ( rewriteTreeElement )* )
|
// ASTVerifier.g:390:4: ^( TREE_BEGIN rewriteTreeAtom ( rewriteTreeElement )* )
|
||||||
{
|
{
|
||||||
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_rewriteTree1726);
|
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_rewriteTree1768);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
pushFollow(FOLLOW_rewriteTreeAtom_in_rewriteTree1728);
|
pushFollow(FOLLOW_rewriteTreeAtom_in_rewriteTree1770);
|
||||||
rewriteTreeAtom();
|
rewriteTreeAtom();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
|
||||||
// ASTVerifier.g:387:33: ( rewriteTreeElement )*
|
// ASTVerifier.g:390:33: ( rewriteTreeElement )*
|
||||||
loop52:
|
loop52:
|
||||||
do {
|
do {
|
||||||
int alt52=2;
|
int alt52=2;
|
||||||
|
@ -3818,9 +3822,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
switch (alt52) {
|
switch (alt52) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:387:33: rewriteTreeElement
|
// ASTVerifier.g:390:33: rewriteTreeElement
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTreeElement_in_rewriteTree1730);
|
pushFollow(FOLLOW_rewriteTreeElement_in_rewriteTree1772);
|
||||||
rewriteTreeElement();
|
rewriteTreeElement();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -3852,20 +3856,20 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTemplate"
|
// $ANTLR start "rewriteTemplate"
|
||||||
// ASTVerifier.g:390:1: rewriteTemplate : ( ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL ) | ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL ) | rewriteTemplateRef | rewriteIndirectTemplateHead | ACTION );
|
// ASTVerifier.g:393:1: rewriteTemplate : ( ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL ) | ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL ) | rewriteTemplateRef | rewriteIndirectTemplateHead | ACTION );
|
||||||
public final void rewriteTemplate() throws RecognitionException {
|
public final void rewriteTemplate() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:391:2: ( ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL ) | ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL ) | rewriteTemplateRef | rewriteIndirectTemplateHead | ACTION )
|
// ASTVerifier.g:394:2: ( ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL ) | ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL ) | rewriteTemplateRef | rewriteIndirectTemplateHead | ACTION )
|
||||||
int alt55=5;
|
int alt55=5;
|
||||||
alt55 = dfa55.predict(input);
|
alt55 = dfa55.predict(input);
|
||||||
switch (alt55) {
|
switch (alt55) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:391:4: ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL )
|
// ASTVerifier.g:394:4: ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL )
|
||||||
{
|
{
|
||||||
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteTemplate1745);
|
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteTemplate1787);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
// ASTVerifier.g:391:15: ( rewriteTemplateArgs )?
|
// ASTVerifier.g:394:15: ( rewriteTemplateArgs )?
|
||||||
int alt53=2;
|
int alt53=2;
|
||||||
int LA53_0 = input.LA(1);
|
int LA53_0 = input.LA(1);
|
||||||
|
|
||||||
|
@ -3874,9 +3878,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
}
|
}
|
||||||
switch (alt53) {
|
switch (alt53) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:391:15: rewriteTemplateArgs
|
// ASTVerifier.g:394:15: rewriteTemplateArgs
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1747);
|
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1789);
|
||||||
rewriteTemplateArgs();
|
rewriteTemplateArgs();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -3887,19 +3891,19 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
match(input,DOUBLE_QUOTE_STRING_LITERAL,FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewriteTemplate1750);
|
match(input,DOUBLE_QUOTE_STRING_LITERAL,FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewriteTemplate1792);
|
||||||
|
|
||||||
match(input, Token.UP, null);
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2 :
|
case 2 :
|
||||||
// ASTVerifier.g:392:4: ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL )
|
// ASTVerifier.g:395:4: ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL )
|
||||||
{
|
{
|
||||||
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteTemplate1757);
|
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteTemplate1799);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
// ASTVerifier.g:392:15: ( rewriteTemplateArgs )?
|
// ASTVerifier.g:395:15: ( rewriteTemplateArgs )?
|
||||||
int alt54=2;
|
int alt54=2;
|
||||||
int LA54_0 = input.LA(1);
|
int LA54_0 = input.LA(1);
|
||||||
|
|
||||||
|
@ -3908,9 +3912,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
}
|
}
|
||||||
switch (alt54) {
|
switch (alt54) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:392:15: rewriteTemplateArgs
|
// ASTVerifier.g:395:15: rewriteTemplateArgs
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1759);
|
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1801);
|
||||||
rewriteTemplateArgs();
|
rewriteTemplateArgs();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -3921,16 +3925,16 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
match(input,DOUBLE_ANGLE_STRING_LITERAL,FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewriteTemplate1762);
|
match(input,DOUBLE_ANGLE_STRING_LITERAL,FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewriteTemplate1804);
|
||||||
|
|
||||||
match(input, Token.UP, null);
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3 :
|
case 3 :
|
||||||
// ASTVerifier.g:393:4: rewriteTemplateRef
|
// ASTVerifier.g:396:4: rewriteTemplateRef
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTemplateRef_in_rewriteTemplate1768);
|
pushFollow(FOLLOW_rewriteTemplateRef_in_rewriteTemplate1810);
|
||||||
rewriteTemplateRef();
|
rewriteTemplateRef();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -3939,9 +3943,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 4 :
|
case 4 :
|
||||||
// ASTVerifier.g:394:4: rewriteIndirectTemplateHead
|
// ASTVerifier.g:397:4: rewriteIndirectTemplateHead
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteIndirectTemplateHead_in_rewriteTemplate1773);
|
pushFollow(FOLLOW_rewriteIndirectTemplateHead_in_rewriteTemplate1815);
|
||||||
rewriteIndirectTemplateHead();
|
rewriteIndirectTemplateHead();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -3950,9 +3954,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 5 :
|
case 5 :
|
||||||
// ASTVerifier.g:395:4: ACTION
|
// ASTVerifier.g:398:4: ACTION
|
||||||
{
|
{
|
||||||
match(input,ACTION,FOLLOW_ACTION_in_rewriteTemplate1778);
|
match(input,ACTION,FOLLOW_ACTION_in_rewriteTemplate1820);
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -3971,17 +3975,17 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTemplateRef"
|
// $ANTLR start "rewriteTemplateRef"
|
||||||
// ASTVerifier.g:398:1: rewriteTemplateRef : ^( TEMPLATE ID ( rewriteTemplateArgs )? ) ;
|
// ASTVerifier.g:401:1: rewriteTemplateRef : ^( TEMPLATE ID ( rewriteTemplateArgs )? ) ;
|
||||||
public final void rewriteTemplateRef() throws RecognitionException {
|
public final void rewriteTemplateRef() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:399:2: ( ^( TEMPLATE ID ( rewriteTemplateArgs )? ) )
|
// ASTVerifier.g:402:2: ( ^( TEMPLATE ID ( rewriteTemplateArgs )? ) )
|
||||||
// ASTVerifier.g:399:4: ^( TEMPLATE ID ( rewriteTemplateArgs )? )
|
// ASTVerifier.g:402:4: ^( TEMPLATE ID ( rewriteTemplateArgs )? )
|
||||||
{
|
{
|
||||||
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteTemplateRef1790);
|
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteTemplateRef1832);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
match(input,ID,FOLLOW_ID_in_rewriteTemplateRef1792);
|
match(input,ID,FOLLOW_ID_in_rewriteTemplateRef1834);
|
||||||
// ASTVerifier.g:399:18: ( rewriteTemplateArgs )?
|
// ASTVerifier.g:402:18: ( rewriteTemplateArgs )?
|
||||||
int alt56=2;
|
int alt56=2;
|
||||||
int LA56_0 = input.LA(1);
|
int LA56_0 = input.LA(1);
|
||||||
|
|
||||||
|
@ -3990,9 +3994,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
}
|
}
|
||||||
switch (alt56) {
|
switch (alt56) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:399:18: rewriteTemplateArgs
|
// ASTVerifier.g:402:18: rewriteTemplateArgs
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteTemplateRef1794);
|
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteTemplateRef1836);
|
||||||
rewriteTemplateArgs();
|
rewriteTemplateArgs();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -4021,17 +4025,17 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteIndirectTemplateHead"
|
// $ANTLR start "rewriteIndirectTemplateHead"
|
||||||
// ASTVerifier.g:402:1: rewriteIndirectTemplateHead : ^( TEMPLATE ACTION ( rewriteTemplateArgs )? ) ;
|
// ASTVerifier.g:405:1: rewriteIndirectTemplateHead : ^( TEMPLATE ACTION ( rewriteTemplateArgs )? ) ;
|
||||||
public final void rewriteIndirectTemplateHead() throws RecognitionException {
|
public final void rewriteIndirectTemplateHead() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:403:2: ( ^( TEMPLATE ACTION ( rewriteTemplateArgs )? ) )
|
// ASTVerifier.g:406:2: ( ^( TEMPLATE ACTION ( rewriteTemplateArgs )? ) )
|
||||||
// ASTVerifier.g:403:4: ^( TEMPLATE ACTION ( rewriteTemplateArgs )? )
|
// ASTVerifier.g:406:4: ^( TEMPLATE ACTION ( rewriteTemplateArgs )? )
|
||||||
{
|
{
|
||||||
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteIndirectTemplateHead1808);
|
match(input,TEMPLATE,FOLLOW_TEMPLATE_in_rewriteIndirectTemplateHead1850);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
match(input,ACTION,FOLLOW_ACTION_in_rewriteIndirectTemplateHead1810);
|
match(input,ACTION,FOLLOW_ACTION_in_rewriteIndirectTemplateHead1852);
|
||||||
// ASTVerifier.g:403:22: ( rewriteTemplateArgs )?
|
// ASTVerifier.g:406:22: ( rewriteTemplateArgs )?
|
||||||
int alt57=2;
|
int alt57=2;
|
||||||
int LA57_0 = input.LA(1);
|
int LA57_0 = input.LA(1);
|
||||||
|
|
||||||
|
@ -4040,9 +4044,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
}
|
}
|
||||||
switch (alt57) {
|
switch (alt57) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:403:22: rewriteTemplateArgs
|
// ASTVerifier.g:406:22: rewriteTemplateArgs
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteIndirectTemplateHead1812);
|
pushFollow(FOLLOW_rewriteTemplateArgs_in_rewriteIndirectTemplateHead1854);
|
||||||
rewriteTemplateArgs();
|
rewriteTemplateArgs();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -4071,16 +4075,16 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTemplateArgs"
|
// $ANTLR start "rewriteTemplateArgs"
|
||||||
// ASTVerifier.g:406:1: rewriteTemplateArgs : ^( ARGLIST ( rewriteTemplateArg )+ ) ;
|
// ASTVerifier.g:409:1: rewriteTemplateArgs : ^( ARGLIST ( rewriteTemplateArg )+ ) ;
|
||||||
public final void rewriteTemplateArgs() throws RecognitionException {
|
public final void rewriteTemplateArgs() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:407:2: ( ^( ARGLIST ( rewriteTemplateArg )+ ) )
|
// ASTVerifier.g:410:2: ( ^( ARGLIST ( rewriteTemplateArg )+ ) )
|
||||||
// ASTVerifier.g:407:4: ^( ARGLIST ( rewriteTemplateArg )+ )
|
// ASTVerifier.g:410:4: ^( ARGLIST ( rewriteTemplateArg )+ )
|
||||||
{
|
{
|
||||||
match(input,ARGLIST,FOLLOW_ARGLIST_in_rewriteTemplateArgs1826);
|
match(input,ARGLIST,FOLLOW_ARGLIST_in_rewriteTemplateArgs1868);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
// ASTVerifier.g:407:14: ( rewriteTemplateArg )+
|
// ASTVerifier.g:410:14: ( rewriteTemplateArg )+
|
||||||
int cnt58=0;
|
int cnt58=0;
|
||||||
loop58:
|
loop58:
|
||||||
do {
|
do {
|
||||||
|
@ -4094,9 +4098,9 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
switch (alt58) {
|
switch (alt58) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// ASTVerifier.g:407:14: rewriteTemplateArg
|
// ASTVerifier.g:410:14: rewriteTemplateArg
|
||||||
{
|
{
|
||||||
pushFollow(FOLLOW_rewriteTemplateArg_in_rewriteTemplateArgs1828);
|
pushFollow(FOLLOW_rewriteTemplateArg_in_rewriteTemplateArgs1870);
|
||||||
rewriteTemplateArg();
|
rewriteTemplateArg();
|
||||||
|
|
||||||
state._fsp--;
|
state._fsp--;
|
||||||
|
@ -4132,17 +4136,17 @@ public class ASTVerifier extends TreeParser {
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "rewriteTemplateArg"
|
// $ANTLR start "rewriteTemplateArg"
|
||||||
// ASTVerifier.g:410:1: rewriteTemplateArg : ^( ARG ID ACTION ) ;
|
// ASTVerifier.g:413:1: rewriteTemplateArg : ^( ARG ID ACTION ) ;
|
||||||
public final void rewriteTemplateArg() throws RecognitionException {
|
public final void rewriteTemplateArg() throws RecognitionException {
|
||||||
try {
|
try {
|
||||||
// ASTVerifier.g:411:2: ( ^( ARG ID ACTION ) )
|
// ASTVerifier.g:414:2: ( ^( ARG ID ACTION ) )
|
||||||
// ASTVerifier.g:411:6: ^( ARG ID ACTION )
|
// ASTVerifier.g:414:6: ^( ARG ID ACTION )
|
||||||
{
|
{
|
||||||
match(input,ARG,FOLLOW_ARG_in_rewriteTemplateArg1844);
|
match(input,ARG,FOLLOW_ARG_in_rewriteTemplateArg1886);
|
||||||
|
|
||||||
match(input, Token.DOWN, null);
|
match(input, Token.DOWN, null);
|
||||||
match(input,ID,FOLLOW_ID_in_rewriteTemplateArg1846);
|
match(input,ID,FOLLOW_ID_in_rewriteTemplateArg1888);
|
||||||
match(input,ACTION,FOLLOW_ACTION_in_rewriteTemplateArg1848);
|
match(input,ACTION,FOLLOW_ACTION_in_rewriteTemplateArg1890);
|
||||||
|
|
||||||
match(input, Token.UP, null);
|
match(input, Token.UP, null);
|
||||||
|
|
||||||
|
@ -4165,6 +4169,7 @@ public class ASTVerifier extends TreeParser {
|
||||||
protected DFA26 dfa26 = new DFA26(this);
|
protected DFA26 dfa26 = new DFA26(this);
|
||||||
protected DFA33 dfa33 = new DFA33(this);
|
protected DFA33 dfa33 = new DFA33(this);
|
||||||
protected DFA42 dfa42 = new DFA42(this);
|
protected DFA42 dfa42 = new DFA42(this);
|
||||||
|
protected DFA51 dfa51 = new DFA51(this);
|
||||||
protected DFA55 dfa55 = new DFA55(this);
|
protected DFA55 dfa55 = new DFA55(this);
|
||||||
static final String DFA26_eotS =
|
static final String DFA26_eotS =
|
||||||
"\14\uffff";
|
"\14\uffff";
|
||||||
|
@ -4382,6 +4387,83 @@ public class ASTVerifier extends TreeParser {
|
||||||
return "320:1: terminal : ( ^( STRING_LITERAL elementOptions ) | STRING_LITERAL | ^( TOKEN_REF ARG_ACTION elementOptions ) | ^( TOKEN_REF ARG_ACTION ) | ^( TOKEN_REF elementOptions ) | TOKEN_REF | ^( WILDCARD elementOptions ) | WILDCARD | ^( ROOT terminal ) | ^( BANG terminal ) );";
|
return "320:1: terminal : ( ^( STRING_LITERAL elementOptions ) | STRING_LITERAL | ^( TOKEN_REF ARG_ACTION elementOptions ) | ^( TOKEN_REF ARG_ACTION ) | ^( TOKEN_REF elementOptions ) | TOKEN_REF | ^( WILDCARD elementOptions ) | WILDCARD | ^( ROOT terminal ) | ^( BANG terminal ) );";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
static final String DFA51_eotS =
|
||||||
|
"\30\uffff";
|
||||||
|
static final String DFA51_eofS =
|
||||||
|
"\30\uffff";
|
||||||
|
static final String DFA51_minS =
|
||||||
|
"\1\20\1\2\1\uffff\1\2\2\uffff\1\16\4\uffff\1\2\1\55\1\3\1\2\1\3"+
|
||||||
|
"\1\127\2\uffff\1\103\4\3";
|
||||||
|
static final String DFA51_maxS =
|
||||||
|
"\2\134\1\uffff\1\134\2\uffff\1\142\4\uffff\1\2\2\127\1\2\1\16\1"+
|
||||||
|
"\127\2\uffff\1\127\2\3\2\127";
|
||||||
|
static final String DFA51_acceptS =
|
||||||
|
"\2\uffff\1\5\1\uffff\1\10\1\11\1\uffff\1\4\1\6\1\7\1\3\6\uffff\1"+
|
||||||
|
"\1\1\2\5\uffff";
|
||||||
|
static final String DFA51_specialS =
|
||||||
|
"\30\uffff}>";
|
||||||
|
static final String[] DFA51_transitionS = {
|
||||||
|
"\1\5\55\uffff\1\1\1\2\3\uffff\1\3\30\uffff\1\4",
|
||||||
|
"\1\6\1\7\14\uffff\1\7\51\uffff\1\7\3\uffff\2\7\3\uffff\1\7"+
|
||||||
|
"\12\uffff\3\7\13\uffff\1\7",
|
||||||
|
"",
|
||||||
|
"\1\10\1\11\14\uffff\1\11\51\uffff\1\11\3\uffff\2\11\3\uffff"+
|
||||||
|
"\1\11\12\uffff\3\11\13\uffff\1\11",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"\1\12\123\uffff\1\13",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"\1\14",
|
||||||
|
"\1\16\51\uffff\1\15",
|
||||||
|
"\1\17\51\uffff\1\16\51\uffff\1\15",
|
||||||
|
"\1\20",
|
||||||
|
"\1\22\12\uffff\1\21",
|
||||||
|
"\1\23",
|
||||||
|
"",
|
||||||
|
"",
|
||||||
|
"\1\25\23\uffff\1\24",
|
||||||
|
"\1\26",
|
||||||
|
"\1\27",
|
||||||
|
"\1\17\51\uffff\1\16\51\uffff\1\15",
|
||||||
|
"\1\17\51\uffff\1\16\51\uffff\1\15"
|
||||||
|
};
|
||||||
|
|
||||||
|
static final short[] DFA51_eot = DFA.unpackEncodedString(DFA51_eotS);
|
||||||
|
static final short[] DFA51_eof = DFA.unpackEncodedString(DFA51_eofS);
|
||||||
|
static final char[] DFA51_min = DFA.unpackEncodedStringToUnsignedChars(DFA51_minS);
|
||||||
|
static final char[] DFA51_max = DFA.unpackEncodedStringToUnsignedChars(DFA51_maxS);
|
||||||
|
static final short[] DFA51_accept = DFA.unpackEncodedString(DFA51_acceptS);
|
||||||
|
static final short[] DFA51_special = DFA.unpackEncodedString(DFA51_specialS);
|
||||||
|
static final short[][] DFA51_transition;
|
||||||
|
|
||||||
|
static {
|
||||||
|
int numStates = DFA51_transitionS.length;
|
||||||
|
DFA51_transition = new short[numStates][];
|
||||||
|
for (int i=0; i<numStates; i++) {
|
||||||
|
DFA51_transition[i] = DFA.unpackEncodedString(DFA51_transitionS[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class DFA51 extends DFA {
|
||||||
|
|
||||||
|
public DFA51(BaseRecognizer recognizer) {
|
||||||
|
this.recognizer = recognizer;
|
||||||
|
this.decisionNumber = 51;
|
||||||
|
this.eot = DFA51_eot;
|
||||||
|
this.eof = DFA51_eof;
|
||||||
|
this.min = DFA51_min;
|
||||||
|
this.max = DFA51_max;
|
||||||
|
this.accept = DFA51_accept;
|
||||||
|
this.special = DFA51_special;
|
||||||
|
this.transition = DFA51_transition;
|
||||||
|
}
|
||||||
|
public String getDescription() {
|
||||||
|
return "374:1: rewriteTreeAtom : ( ^( TOKEN_REF elementOptions ARG_ACTION ) | ^( TOKEN_REF elementOptions ) | ^( TOKEN_REF ARG_ACTION ) | TOKEN_REF | RULE_REF | ^( STRING_LITERAL elementOptions ) | STRING_LITERAL | LABEL | ACTION );";
|
||||||
|
}
|
||||||
|
}
|
||||||
static final String DFA55_eotS =
|
static final String DFA55_eotS =
|
||||||
"\20\uffff";
|
"\20\uffff";
|
||||||
static final String DFA55_eofS =
|
static final String DFA55_eofS =
|
||||||
|
@ -4393,14 +4475,14 @@ public class ASTVerifier extends TreeParser {
|
||||||
"\1\43\1\2\1\uffff\1\131\2\uffff\1\2\2\uffff\1\130\1\2\1\127\1\20"+
|
"\1\43\1\2\1\uffff\1\131\2\uffff\1\2\2\uffff\1\130\1\2\1\127\1\20"+
|
||||||
"\1\3\1\130\1\13";
|
"\1\3\1\130\1\13";
|
||||||
static final String DFA55_acceptS =
|
static final String DFA55_acceptS =
|
||||||
"\2\uffff\1\5\1\uffff\1\3\1\4\1\uffff\1\2\1\1\7\uffff";
|
"\2\uffff\1\5\1\uffff\1\3\1\4\1\uffff\1\1\1\2\7\uffff";
|
||||||
static final String DFA55_specialS =
|
static final String DFA55_specialS =
|
||||||
"\20\uffff}>";
|
"\20\uffff}>";
|
||||||
static final String[] DFA55_transitionS = {
|
static final String[] DFA55_transitionS = {
|
||||||
"\1\2\22\uffff\1\1",
|
"\1\2\22\uffff\1\1",
|
||||||
"\1\3",
|
"\1\3",
|
||||||
"",
|
"",
|
||||||
"\1\10\1\7\4\uffff\1\5\106\uffff\1\4\1\uffff\1\6",
|
"\1\7\1\10\4\uffff\1\5\106\uffff\1\4\1\uffff\1\6",
|
||||||
"",
|
"",
|
||||||
"",
|
"",
|
||||||
"\1\11",
|
"\1\11",
|
||||||
|
@ -4412,7 +4494,7 @@ public class ASTVerifier extends TreeParser {
|
||||||
"\1\15",
|
"\1\15",
|
||||||
"\1\16",
|
"\1\16",
|
||||||
"\1\17\124\uffff\1\12",
|
"\1\17\124\uffff\1\12",
|
||||||
"\1\10\1\7"
|
"\1\7\1\10"
|
||||||
};
|
};
|
||||||
|
|
||||||
static final short[] DFA55_eot = DFA.unpackEncodedString(DFA55_eotS);
|
static final short[] DFA55_eot = DFA.unpackEncodedString(DFA55_eotS);
|
||||||
|
@ -4445,7 +4527,7 @@ public class ASTVerifier extends TreeParser {
|
||||||
this.transition = DFA55_transition;
|
this.transition = DFA55_transition;
|
||||||
}
|
}
|
||||||
public String getDescription() {
|
public String getDescription() {
|
||||||
return "390:1: rewriteTemplate : ( ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL ) | ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL ) | rewriteTemplateRef | rewriteIndirectTemplateHead | ACTION );";
|
return "393:1: rewriteTemplate : ( ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_QUOTE_STRING_LITERAL ) | ^( TEMPLATE ( rewriteTemplateArgs )? DOUBLE_ANGLE_STRING_LITERAL ) | rewriteTemplateRef | rewriteIndirectTemplateHead | ACTION );";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4645,37 +4727,44 @@ public class ASTVerifier extends TreeParser {
|
||||||
public static final BitSet FOLLOW_rewriteTree_in_rewriteTreeElement1633 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_rewriteTree_in_rewriteTreeElement1633 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_rewriteTreeEbnf_in_rewriteTreeElement1640 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_rewriteTreeEbnf_in_rewriteTreeElement1640 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_TOKEN_REF_in_rewriteTreeAtom1657 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_TOKEN_REF_in_rewriteTreeAtom1657 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ARG_ACTION_in_rewriteTreeAtom1659 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_elementOptions_in_rewriteTreeAtom1659 = new BitSet(new long[]{0x0000000000004000L});
|
||||||
public static final BitSet FOLLOW_TOKEN_REF_in_rewriteTreeAtom1667 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_ARG_ACTION_in_rewriteTreeAtom1661 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_RULE_REF_in_rewriteTreeAtom1677 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_TOKEN_REF_in_rewriteTreeAtom1673 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_STRING_LITERAL_in_rewriteTreeAtom1684 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_elementOptions_in_rewriteTreeAtom1675 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_LABEL_in_rewriteTreeAtom1691 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_TOKEN_REF_in_rewriteTreeAtom1687 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ACTION_in_rewriteTreeAtom1696 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_ARG_ACTION_in_rewriteTreeAtom1689 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ebnfSuffix_in_rewriteTreeEbnf1708 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_TOKEN_REF_in_rewriteTreeAtom1697 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_REWRITE_BLOCK_in_rewriteTreeEbnf1711 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_RULE_REF_in_rewriteTreeAtom1707 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_rewriteTreeAlt_in_rewriteTreeEbnf1713 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_STRING_LITERAL_in_rewriteTreeAtom1715 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_TREE_BEGIN_in_rewriteTree1726 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_elementOptions_in_rewriteTreeAtom1717 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_rewriteTreeAtom_in_rewriteTree1728 = new BitSet(new long[]{0xC400000000010008L,0x000000001001C008L});
|
public static final BitSet FOLLOW_STRING_LITERAL_in_rewriteTreeAtom1725 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_rewriteTreeElement_in_rewriteTree1730 = new BitSet(new long[]{0xC400000000010008L,0x000000001001C008L});
|
public static final BitSet FOLLOW_LABEL_in_rewriteTreeAtom1733 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_TEMPLATE_in_rewriteTemplate1745 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ACTION_in_rewriteTreeAtom1738 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1747 = new BitSet(new long[]{0x0000000000000400L});
|
public static final BitSet FOLLOW_ebnfSuffix_in_rewriteTreeEbnf1750 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewriteTemplate1750 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_REWRITE_BLOCK_in_rewriteTreeEbnf1753 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_TEMPLATE_in_rewriteTemplate1757 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_rewriteTreeAlt_in_rewriteTreeEbnf1755 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1759 = new BitSet(new long[]{0x0000000000000800L});
|
public static final BitSet FOLLOW_TREE_BEGIN_in_rewriteTree1768 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewriteTemplate1762 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_rewriteTreeAtom_in_rewriteTree1770 = new BitSet(new long[]{0xC400000000010008L,0x000000001001C008L});
|
||||||
public static final BitSet FOLLOW_rewriteTemplateRef_in_rewriteTemplate1768 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_rewriteTreeElement_in_rewriteTree1772 = new BitSet(new long[]{0xC400000000010008L,0x000000001001C008L});
|
||||||
public static final BitSet FOLLOW_rewriteIndirectTemplateHead_in_rewriteTemplate1773 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_TEMPLATE_in_rewriteTemplate1787 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ACTION_in_rewriteTemplate1778 = new BitSet(new long[]{0x0000000000000002L});
|
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1789 = new BitSet(new long[]{0x0000000000000400L});
|
||||||
public static final BitSet FOLLOW_TEMPLATE_in_rewriteTemplateRef1790 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_DOUBLE_QUOTE_STRING_LITERAL_in_rewriteTemplate1792 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ID_in_rewriteTemplateRef1792 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
|
public static final BitSet FOLLOW_TEMPLATE_in_rewriteTemplate1799 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteTemplateRef1794 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteTemplate1801 = new BitSet(new long[]{0x0000000000000800L});
|
||||||
public static final BitSet FOLLOW_TEMPLATE_in_rewriteIndirectTemplateHead1808 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_DOUBLE_ANGLE_STRING_LITERAL_in_rewriteTemplate1804 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ACTION_in_rewriteIndirectTemplateHead1810 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
|
public static final BitSet FOLLOW_rewriteTemplateRef_in_rewriteTemplate1810 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteIndirectTemplateHead1812 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_rewriteIndirectTemplateHead_in_rewriteTemplate1815 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_ARGLIST_in_rewriteTemplateArgs1826 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ACTION_in_rewriteTemplate1820 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
public static final BitSet FOLLOW_rewriteTemplateArg_in_rewriteTemplateArgs1828 = new BitSet(new long[]{0x0000000000000008L,0x0000000001000000L});
|
public static final BitSet FOLLOW_TEMPLATE_in_rewriteTemplateRef1832 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ARG_in_rewriteTemplateArg1844 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ID_in_rewriteTemplateRef1834 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
|
||||||
public static final BitSet FOLLOW_ID_in_rewriteTemplateArg1846 = new BitSet(new long[]{0x0000000000010000L});
|
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteTemplateRef1836 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ACTION_in_rewriteTemplateArg1848 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_TEMPLATE_in_rewriteIndirectTemplateHead1850 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
|
public static final BitSet FOLLOW_ACTION_in_rewriteIndirectTemplateHead1852 = new BitSet(new long[]{0x0000000000000008L,0x0000000002000000L});
|
||||||
|
public static final BitSet FOLLOW_rewriteTemplateArgs_in_rewriteIndirectTemplateHead1854 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
|
public static final BitSet FOLLOW_ARGLIST_in_rewriteTemplateArgs1868 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
|
public static final BitSet FOLLOW_rewriteTemplateArg_in_rewriteTemplateArgs1870 = new BitSet(new long[]{0x0000000000000008L,0x0000000001000000L});
|
||||||
|
public static final BitSet FOLLOW_ARG_in_rewriteTemplateArg1886 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
|
public static final BitSet FOLLOW_ID_in_rewriteTemplateArg1888 = new BitSet(new long[]{0x0000000000010000L});
|
||||||
|
public static final BitSet FOLLOW_ACTION_in_rewriteTemplateArg1890 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
|
|
||||||
}
|
}
|
|
@ -175,12 +175,14 @@ tokenAlias
|
||||||
;
|
;
|
||||||
|
|
||||||
tokenRefWithArgs
|
tokenRefWithArgs
|
||||||
: ^(TOKEN_REF ARG_ACTION)
|
: {!inContext("RESULT ...")}? // if not on right side of ->
|
||||||
|
^(TOKEN_REF ARG_ACTION)
|
||||||
{BasicSemanticChecks.checkTokenArgs(g.getType(), $TOKEN_REF.token);}
|
{BasicSemanticChecks.checkTokenArgs(g.getType(), $TOKEN_REF.token);}
|
||||||
;
|
;
|
||||||
|
|
||||||
elementOption
|
elementOption
|
||||||
: ^( ELEMENT_OPTIONS
|
: {!inContext("RESULT ...")}? // not on right side of ->
|
||||||
|
^( ELEMENT_OPTIONS
|
||||||
( ^(ASSIGN o=ID value=ID)
|
( ^(ASSIGN o=ID value=ID)
|
||||||
| ^(ASSIGN o=ID value=STRING_LITERAL)
|
| ^(ASSIGN o=ID value=STRING_LITERAL)
|
||||||
| o=ID
|
| o=ID
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 BasicSemanticTriggers.g 2010-02-03 15:37:39
|
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 BasicSemanticTriggers.g 2010-02-04 17:59:03
|
||||||
|
|
||||||
/*
|
/*
|
||||||
[The "BSD license"]
|
[The "BSD license"]
|
||||||
|
@ -1048,18 +1048,22 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "tokenRefWithArgs"
|
// $ANTLR start "tokenRefWithArgs"
|
||||||
// BasicSemanticTriggers.g:177:1: tokenRefWithArgs : ^( TOKEN_REF ARG_ACTION ) ;
|
// BasicSemanticTriggers.g:177:1: tokenRefWithArgs : {...}? ^( TOKEN_REF ARG_ACTION ) ;
|
||||||
public final void tokenRefWithArgs() throws RecognitionException {
|
public final void tokenRefWithArgs() throws RecognitionException {
|
||||||
GrammarAST TOKEN_REF7=null;
|
GrammarAST TOKEN_REF7=null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// BasicSemanticTriggers.g:178:2: ( ^( TOKEN_REF ARG_ACTION ) )
|
// BasicSemanticTriggers.g:178:2: ({...}? ^( TOKEN_REF ARG_ACTION ) )
|
||||||
// BasicSemanticTriggers.g:178:4: ^( TOKEN_REF ARG_ACTION )
|
// BasicSemanticTriggers.g:178:4: {...}? ^( TOKEN_REF ARG_ACTION )
|
||||||
{
|
{
|
||||||
TOKEN_REF7=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenRefWithArgs530); if (state.failed) return ;
|
if ( !((!inContext("RESULT ..."))) ) {
|
||||||
|
if (state.backtracking>0) {state.failed=true; return ;}
|
||||||
|
throw new FailedPredicateException(input, "tokenRefWithArgs", "!inContext(\"RESULT ...\")");
|
||||||
|
}
|
||||||
|
TOKEN_REF7=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_tokenRefWithArgs538); if (state.failed) return ;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||||
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_tokenRefWithArgs532); if (state.failed) return ;
|
match(input,ARG_ACTION,FOLLOW_ARG_ACTION_in_tokenRefWithArgs540); if (state.failed) return ;
|
||||||
|
|
||||||
match(input, Token.UP, null); if (state.failed) return ;
|
match(input, Token.UP, null); if (state.failed) return ;
|
||||||
if ( state.backtracking==1 ) {
|
if ( state.backtracking==1 ) {
|
||||||
|
@ -1083,7 +1087,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
};
|
};
|
||||||
|
|
||||||
// $ANTLR start "elementOption"
|
// $ANTLR start "elementOption"
|
||||||
// BasicSemanticTriggers.g:182:1: elementOption : ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) ;
|
// BasicSemanticTriggers.g:183: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 {
|
public final BasicSemanticTriggers.elementOption_return elementOption() throws RecognitionException {
|
||||||
BasicSemanticTriggers.elementOption_return retval = new BasicSemanticTriggers.elementOption_return();
|
BasicSemanticTriggers.elementOption_return retval = new BasicSemanticTriggers.elementOption_return();
|
||||||
retval.start = input.LT(1);
|
retval.start = input.LT(1);
|
||||||
|
@ -1092,13 +1096,17 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
GrammarAST value=null;
|
GrammarAST value=null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// BasicSemanticTriggers.g:183:5: ( ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) )
|
// BasicSemanticTriggers.g:184:5: ({...}? ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) ) )
|
||||||
// BasicSemanticTriggers.g:183:7: ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) )
|
// BasicSemanticTriggers.g:184:7: {...}? ^( ELEMENT_OPTIONS ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID ) )
|
||||||
{
|
{
|
||||||
match(input,ELEMENT_OPTIONS,FOLLOW_ELEMENT_OPTIONS_in_elementOption554); if (state.failed) return retval;
|
if ( !((!inContext("RESULT ..."))) ) {
|
||||||
|
if (state.backtracking>0) {state.failed=true; return retval;}
|
||||||
|
throw new FailedPredicateException(input, "elementOption", "!inContext(\"RESULT ...\")");
|
||||||
|
}
|
||||||
|
match(input,ELEMENT_OPTIONS,FOLLOW_ELEMENT_OPTIONS_in_elementOption570); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||||
// BasicSemanticTriggers.g:184:7: ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID )
|
// BasicSemanticTriggers.g:186:7: ( ^( ASSIGN o= ID value= ID ) | ^( ASSIGN o= ID value= STRING_LITERAL ) | o= ID )
|
||||||
int alt11=3;
|
int alt11=3;
|
||||||
int LA11_0 = input.LA(1);
|
int LA11_0 = input.LA(1);
|
||||||
|
|
||||||
|
@ -1153,35 +1161,35 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
}
|
}
|
||||||
switch (alt11) {
|
switch (alt11) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// BasicSemanticTriggers.g:184:9: ^( ASSIGN o= ID value= ID )
|
// BasicSemanticTriggers.g:186:9: ^( ASSIGN o= ID value= ID )
|
||||||
{
|
{
|
||||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption565); if (state.failed) return retval;
|
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption581); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption569); if (state.failed) return retval;
|
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption585); if (state.failed) return retval;
|
||||||
value=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption573); if (state.failed) return retval;
|
value=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption589); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.UP, null); if (state.failed) return retval;
|
match(input, Token.UP, null); if (state.failed) return retval;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2 :
|
case 2 :
|
||||||
// BasicSemanticTriggers.g:185:11: ^( ASSIGN o= ID value= STRING_LITERAL )
|
// BasicSemanticTriggers.g:187:11: ^( ASSIGN o= ID value= STRING_LITERAL )
|
||||||
{
|
{
|
||||||
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption587); if (state.failed) return retval;
|
match(input,ASSIGN,FOLLOW_ASSIGN_in_elementOption603); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption591); if (state.failed) return retval;
|
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption607); if (state.failed) return retval;
|
||||||
value=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_elementOption595); if (state.failed) return retval;
|
value=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_elementOption611); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.UP, null); if (state.failed) return retval;
|
match(input, Token.UP, null); if (state.failed) return retval;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 3 :
|
case 3 :
|
||||||
// BasicSemanticTriggers.g:186:10: o= ID
|
// BasicSemanticTriggers.g:188:10: o= ID
|
||||||
{
|
{
|
||||||
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption609); if (state.failed) return retval;
|
o=(GrammarAST)match(input,ID,FOLLOW_ID_in_elementOption625); if (state.failed) return retval;
|
||||||
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -1224,21 +1232,21 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
};
|
};
|
||||||
|
|
||||||
// $ANTLR start "multiElementAltInTreeGrammar"
|
// $ANTLR start "multiElementAltInTreeGrammar"
|
||||||
// BasicSemanticTriggers.g:206:1: multiElementAltInTreeGrammar : {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) ;
|
// BasicSemanticTriggers.g:208:1: multiElementAltInTreeGrammar : {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) ;
|
||||||
public final BasicSemanticTriggers.multiElementAltInTreeGrammar_return multiElementAltInTreeGrammar() throws RecognitionException {
|
public final BasicSemanticTriggers.multiElementAltInTreeGrammar_return multiElementAltInTreeGrammar() throws RecognitionException {
|
||||||
BasicSemanticTriggers.multiElementAltInTreeGrammar_return retval = new BasicSemanticTriggers.multiElementAltInTreeGrammar_return();
|
BasicSemanticTriggers.multiElementAltInTreeGrammar_return retval = new BasicSemanticTriggers.multiElementAltInTreeGrammar_return();
|
||||||
retval.start = input.LT(1);
|
retval.start = input.LT(1);
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// BasicSemanticTriggers.g:207:2: ({...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) )
|
// BasicSemanticTriggers.g:209:2: ({...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ ) )
|
||||||
// BasicSemanticTriggers.g:207:4: {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ )
|
// BasicSemanticTriggers.g:209:4: {...}? ^( ALT ~ ( SEMPRED | ACTION ) (~ ( SEMPRED | ACTION ) )+ )
|
||||||
{
|
{
|
||||||
if ( !((inContext("ALT_REWRITE") &&
|
if ( !((inContext("ALT_REWRITE") &&
|
||||||
root.getOption("output")!=null && root.getOption("output").equals("template"))) ) {
|
root.getOption("output")!=null && root.getOption("output").equals("template"))) ) {
|
||||||
if (state.backtracking>0) {state.failed=true; return retval;}
|
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\")");
|
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_multiElementAltInTreeGrammar649); if (state.failed) return retval;
|
match(input,ALT,FOLLOW_ALT_in_multiElementAltInTreeGrammar665); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); 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) ) {
|
if ( (input.LA(1)>=FORCED_ACTION && input.LA(1)<=NESTED_ACTION)||(input.LA(1)>=ACTION_ESC && input.LA(1)<=ALT_REWRITE) ) {
|
||||||
|
@ -1251,7 +1259,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
throw mse;
|
throw mse;
|
||||||
}
|
}
|
||||||
|
|
||||||
// BasicSemanticTriggers.g:209:28: (~ ( SEMPRED | ACTION ) )+
|
// BasicSemanticTriggers.g:211:28: (~ ( SEMPRED | ACTION ) )+
|
||||||
int cnt12=0;
|
int cnt12=0;
|
||||||
loop12:
|
loop12:
|
||||||
do {
|
do {
|
||||||
|
@ -1265,7 +1273,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
|
|
||||||
switch (alt12) {
|
switch (alt12) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// BasicSemanticTriggers.g:209:28: ~ ( SEMPRED | ACTION )
|
// BasicSemanticTriggers.g:211:28: ~ ( SEMPRED | ACTION )
|
||||||
{
|
{
|
||||||
if ( (input.LA(1)>=FORCED_ACTION && input.LA(1)<=NESTED_ACTION)||(input.LA(1)>=ACTION_ESC && input.LA(1)<=ALT_REWRITE) ) {
|
if ( (input.LA(1)>=FORCED_ACTION && input.LA(1)<=NESTED_ACTION)||(input.LA(1)>=ACTION_ESC && input.LA(1)<=ALT_REWRITE) ) {
|
||||||
input.consume();
|
input.consume();
|
||||||
|
@ -1320,7 +1328,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
};
|
};
|
||||||
|
|
||||||
// $ANTLR start "astOps"
|
// $ANTLR start "astOps"
|
||||||
// BasicSemanticTriggers.g:220:1: astOps : ( ^( ROOT el= . ) | ^( BANG el= . ) );
|
// BasicSemanticTriggers.g:222:1: astOps : ( ^( ROOT el= . ) | ^( BANG el= . ) );
|
||||||
public final BasicSemanticTriggers.astOps_return astOps() throws RecognitionException {
|
public final BasicSemanticTriggers.astOps_return astOps() throws RecognitionException {
|
||||||
BasicSemanticTriggers.astOps_return retval = new BasicSemanticTriggers.astOps_return();
|
BasicSemanticTriggers.astOps_return retval = new BasicSemanticTriggers.astOps_return();
|
||||||
retval.start = input.LT(1);
|
retval.start = input.LT(1);
|
||||||
|
@ -1328,7 +1336,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
GrammarAST el=null;
|
GrammarAST el=null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// BasicSemanticTriggers.g:221:2: ( ^( ROOT el= . ) | ^( BANG el= . ) )
|
// BasicSemanticTriggers.g:223:2: ( ^( ROOT el= . ) | ^( BANG el= . ) )
|
||||||
int alt13=2;
|
int alt13=2;
|
||||||
int LA13_0 = input.LA(1);
|
int LA13_0 = input.LA(1);
|
||||||
|
|
||||||
|
@ -1347,9 +1355,9 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
}
|
}
|
||||||
switch (alt13) {
|
switch (alt13) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// BasicSemanticTriggers.g:221:4: ^( ROOT el= . )
|
// BasicSemanticTriggers.g:223:4: ^( ROOT el= . )
|
||||||
{
|
{
|
||||||
match(input,ROOT,FOLLOW_ROOT_in_astOps684); if (state.failed) return retval;
|
match(input,ROOT,FOLLOW_ROOT_in_astOps700); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||||
el=(GrammarAST)input.LT(1);
|
el=(GrammarAST)input.LT(1);
|
||||||
|
@ -1363,9 +1371,9 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 2 :
|
case 2 :
|
||||||
// BasicSemanticTriggers.g:222:4: ^( BANG el= . )
|
// BasicSemanticTriggers.g:224:4: ^( BANG el= . )
|
||||||
{
|
{
|
||||||
match(input,BANG,FOLLOW_BANG_in_astOps697); if (state.failed) return retval;
|
match(input,BANG,FOLLOW_BANG_in_astOps713); if (state.failed) return retval;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return retval;
|
match(input, Token.DOWN, null); if (state.failed) return retval;
|
||||||
el=(GrammarAST)input.LT(1);
|
el=(GrammarAST)input.LT(1);
|
||||||
|
@ -1393,19 +1401,19 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
|
|
||||||
|
|
||||||
// $ANTLR start "wildcardRoot"
|
// $ANTLR start "wildcardRoot"
|
||||||
// BasicSemanticTriggers.g:225:1: wildcardRoot : ^( TREE_BEGIN WILDCARD ( . )* ) ;
|
// BasicSemanticTriggers.g:227:1: wildcardRoot : ^( TREE_BEGIN WILDCARD ( . )* ) ;
|
||||||
public final void wildcardRoot() throws RecognitionException {
|
public final void wildcardRoot() throws RecognitionException {
|
||||||
GrammarAST WILDCARD8=null;
|
GrammarAST WILDCARD8=null;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// BasicSemanticTriggers.g:226:5: ( ^( TREE_BEGIN WILDCARD ( . )* ) )
|
// BasicSemanticTriggers.g:228:5: ( ^( TREE_BEGIN WILDCARD ( . )* ) )
|
||||||
// BasicSemanticTriggers.g:226:7: ^( TREE_BEGIN WILDCARD ( . )* )
|
// BasicSemanticTriggers.g:228:7: ^( TREE_BEGIN WILDCARD ( . )* )
|
||||||
{
|
{
|
||||||
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_wildcardRoot720); if (state.failed) return ;
|
match(input,TREE_BEGIN,FOLLOW_TREE_BEGIN_in_wildcardRoot736); if (state.failed) return ;
|
||||||
|
|
||||||
match(input, Token.DOWN, null); if (state.failed) return ;
|
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||||
WILDCARD8=(GrammarAST)match(input,WILDCARD,FOLLOW_WILDCARD_in_wildcardRoot722); if (state.failed) return ;
|
WILDCARD8=(GrammarAST)match(input,WILDCARD,FOLLOW_WILDCARD_in_wildcardRoot738); if (state.failed) return ;
|
||||||
// BasicSemanticTriggers.g:226:29: ( . )*
|
// BasicSemanticTriggers.g:228:29: ( . )*
|
||||||
loop14:
|
loop14:
|
||||||
do {
|
do {
|
||||||
int alt14=2;
|
int alt14=2;
|
||||||
|
@ -1421,7 +1429,7 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
|
|
||||||
switch (alt14) {
|
switch (alt14) {
|
||||||
case 1 :
|
case 1 :
|
||||||
// BasicSemanticTriggers.g:226:29: .
|
// BasicSemanticTriggers.g:228:29: .
|
||||||
{
|
{
|
||||||
matchAny(input); if (state.failed) return ;
|
matchAny(input); if (state.failed) return ;
|
||||||
|
|
||||||
|
@ -1580,22 +1588,22 @@ public class BasicSemanticTriggers extends org.antlr.v4.runtime.tree.TreeFilter
|
||||||
public static final BitSet FOLLOW_ASSIGN_in_tokenAlias509 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ASSIGN_in_tokenAlias509 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ID_in_tokenAlias511 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
public static final BitSet FOLLOW_ID_in_tokenAlias511 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_STRING_LITERAL_in_tokenAlias513 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_STRING_LITERAL_in_tokenAlias513 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_TOKEN_REF_in_tokenRefWithArgs530 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_TOKEN_REF_in_tokenRefWithArgs538 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ARG_ACTION_in_tokenRefWithArgs532 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_ARG_ACTION_in_tokenRefWithArgs540 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOption554 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ELEMENT_OPTIONS_in_elementOption570 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption565 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ASSIGN_in_elementOption581 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ID_in_elementOption569 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
public static final BitSet FOLLOW_ID_in_elementOption585 = new BitSet(new long[]{0x0000000000000000L,0x0000000000800000L});
|
||||||
public static final BitSet FOLLOW_ID_in_elementOption573 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_ID_in_elementOption589 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ASSIGN_in_elementOption587 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ASSIGN_in_elementOption603 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_ID_in_elementOption591 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
public static final BitSet FOLLOW_ID_in_elementOption607 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_STRING_LITERAL_in_elementOption595 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_STRING_LITERAL_in_elementOption611 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ID_in_elementOption609 = new BitSet(new long[]{0x0000000000000008L});
|
public static final BitSet FOLLOW_ID_in_elementOption625 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
public static final BitSet FOLLOW_ALT_in_multiElementAltInTreeGrammar649 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ALT_in_multiElementAltInTreeGrammar665 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar651 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE0L,0x0000001FFFFFFFFFL});
|
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar667 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE0L,0x0000001FFFFFFFFFL});
|
||||||
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar658 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE8L,0x0000001FFFFFFFFFL});
|
public static final BitSet FOLLOW_set_in_multiElementAltInTreeGrammar674 = new BitSet(new long[]{0xFFFFFFFFFFFEFFE8L,0x0000001FFFFFFFFFL});
|
||||||
public static final BitSet FOLLOW_ROOT_in_astOps684 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_ROOT_in_astOps700 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_BANG_in_astOps697 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_BANG_in_astOps713 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_TREE_BEGIN_in_wildcardRoot720 = new BitSet(new long[]{0x0000000000000004L});
|
public static final BitSet FOLLOW_TREE_BEGIN_in_wildcardRoot736 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
public static final BitSet FOLLOW_WILDCARD_in_wildcardRoot722 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000001FFFFFFFFFL});
|
public static final BitSet FOLLOW_WILDCARD_in_wildcardRoot738 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000001FFFFFFFFFL});
|
||||||
|
|
||||||
}
|
}
|
|
@ -0,0 +1,104 @@
|
||||||
|
/*
|
||||||
|
[The "BSD license"]
|
||||||
|
Copyright (c) 2010 Terence Parr
|
||||||
|
All rights reserved.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. The name of the author may not be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/** Triggers for defining rules, tokens, scopes, and actions.
|
||||||
|
* Side-effects: ...
|
||||||
|
*/
|
||||||
|
tree grammar DefineSymbolTriggers;
|
||||||
|
options {
|
||||||
|
language = Java;
|
||||||
|
tokenVocab = ANTLRParser;
|
||||||
|
ASTLabelType = GrammarAST;
|
||||||
|
filter = true;
|
||||||
|
superClass = 'org.antlr.v4.runtime.tree.TreeFilter';
|
||||||
|
}
|
||||||
|
|
||||||
|
// Include the copyright in this source and also the generated source
|
||||||
|
@header {
|
||||||
|
/*
|
||||||
|
[The "BSD license"]
|
||||||
|
Copyright (c) 2010 Terence Parr
|
||||||
|
All rights reserved.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. The name of the author may not be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
package org.antlr.v4.semantics;
|
||||||
|
import org.antlr.v4.tool.*;
|
||||||
|
}
|
||||||
|
|
||||||
|
@members {
|
||||||
|
Grammar g; // which grammar are we checking
|
||||||
|
public DefineSymbolTriggers(TreeNodeStream input, Grammar g) {
|
||||||
|
this(input);
|
||||||
|
this.g = g;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
topdown
|
||||||
|
: tokenAlias
|
||||||
|
| rule
|
||||||
|
| terminal
|
||||||
|
;
|
||||||
|
|
||||||
|
tokenAlias
|
||||||
|
: {inContext("TOKENS")}? ^(ASSIGN ID STRING_LITERAL)
|
||||||
|
{System.out.println("token alias "+$ID.text+"="+$STRING_LITERAL.token);}
|
||||||
|
;
|
||||||
|
|
||||||
|
rule: ^( RULE r=ID .*) {System.out.println("rule "+$r.token);} //{DefineSymbols.checkInvalidRuleDef(g.getType(), $r.token);}
|
||||||
|
;
|
||||||
|
|
||||||
|
terminal
|
||||||
|
: {!inContext("TOKENS ASSIGN")}? STRING_LITERAL
|
||||||
|
{System.out.println("terminal "+$STRING_LITERAL.token);}
|
||||||
|
| TOKEN_REF {System.out.println("terminal "+$TOKEN_REF.token);}
|
||||||
|
;
|
||||||
|
|
||||||
|
/*
|
||||||
|
ruleref
|
||||||
|
: ^(ROOT RULE_REF ARG_ACTION?)
|
||||||
|
| ^(BANG RULE_REF ARG_ACTION?)
|
||||||
|
| ^(RULE_REF ARG_ACTION?)
|
||||||
|
;
|
||||||
|
*/
|
|
@ -0,0 +1,422 @@
|
||||||
|
// $ANTLR 3.2.1-SNAPSHOT Jan 26, 2010 15:12:28 DefineSymbolTriggers.g 2010-02-04 17:59:03
|
||||||
|
|
||||||
|
/*
|
||||||
|
[The "BSD license"]
|
||||||
|
Copyright (c) 2010 Terence Parr
|
||||||
|
All rights reserved.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions
|
||||||
|
are met:
|
||||||
|
1. Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
2. Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
3. The name of the author may not be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||||
|
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||||
|
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||||
|
IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||||
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||||
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
*/
|
||||||
|
package org.antlr.v4.semantics;
|
||||||
|
|
||||||
|
import org.antlr.runtime.*;
|
||||||
|
import org.antlr.runtime.tree.TreeNodeStream;
|
||||||
|
import org.antlr.v4.tool.Grammar;
|
||||||
|
import org.antlr.v4.tool.GrammarAST;
|
||||||
|
/** Triggers for defining rules, tokens, scopes, and actions.
|
||||||
|
* Side-effects: ...
|
||||||
|
*/
|
||||||
|
public class DefineSymbolTriggers 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", "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;
|
||||||
|
public static final int BACKTRACK_SEMPRED=95;
|
||||||
|
public static final int DOUBLE_ANGLE_STRING_LITERAL=11;
|
||||||
|
public static final int FORCED_ACTION=5;
|
||||||
|
public static final int ARGLIST=89;
|
||||||
|
public static final int ALTLIST=85;
|
||||||
|
public static final int NOT=60;
|
||||||
|
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=90;
|
||||||
|
public static final int IMPORT=22;
|
||||||
|
public static final int STRING_LITERAL=67;
|
||||||
|
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=100;
|
||||||
|
public static final int IMPLIES=42;
|
||||||
|
public static final int RULE=72;
|
||||||
|
public static final int RBRACE=61;
|
||||||
|
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 WSNLCHARS=18;
|
||||||
|
public static final int WS=70;
|
||||||
|
public static final int LEXER=24;
|
||||||
|
public static final int OR=51;
|
||||||
|
public static final int GT=44;
|
||||||
|
public static final int CATCH=33;
|
||||||
|
public static final int CLOSURE=79;
|
||||||
|
public static final int PARSER=25;
|
||||||
|
public static final int DOLLAR=53;
|
||||||
|
public static final int PROTECTED=28;
|
||||||
|
public static final int ELEMENT_OPTIONS=98;
|
||||||
|
public static final int NESTED_ACTION=15;
|
||||||
|
public static final int FRAGMENT=23;
|
||||||
|
public static final int ID=87;
|
||||||
|
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 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 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 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 TOKENS=20;
|
||||||
|
public static final int GATED_SEMPRED=93;
|
||||||
|
public static final int RESULT=86;
|
||||||
|
public static final int BANG=47;
|
||||||
|
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 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 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 PUBLIC=29;
|
||||||
|
public static final int POSITIVE_CLOSURE=80;
|
||||||
|
public static final int OPTIONS=19;
|
||||||
|
|
||||||
|
// delegates
|
||||||
|
// delegators
|
||||||
|
|
||||||
|
|
||||||
|
public DefineSymbolTriggers(TreeNodeStream input) {
|
||||||
|
this(input, new RecognizerSharedState());
|
||||||
|
}
|
||||||
|
public DefineSymbolTriggers(TreeNodeStream input, RecognizerSharedState state) {
|
||||||
|
super(input, state);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public String[] getTokenNames() { return DefineSymbolTriggers.tokenNames; }
|
||||||
|
public String getGrammarFileName() { return "DefineSymbolTriggers.g"; }
|
||||||
|
|
||||||
|
|
||||||
|
Grammar g; // which grammar are we checking
|
||||||
|
public DefineSymbolTriggers(TreeNodeStream input, Grammar g) {
|
||||||
|
this(input);
|
||||||
|
this.g = g;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// $ANTLR start "topdown"
|
||||||
|
// DefineSymbolTriggers.g:78:1: topdown : ( tokenAlias | rule | terminal );
|
||||||
|
public final void topdown() throws RecognitionException {
|
||||||
|
try {
|
||||||
|
// DefineSymbolTriggers.g:79:5: ( tokenAlias | rule | terminal )
|
||||||
|
int alt1=3;
|
||||||
|
switch ( input.LA(1) ) {
|
||||||
|
case ASSIGN:
|
||||||
|
{
|
||||||
|
alt1=1;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case RULE:
|
||||||
|
{
|
||||||
|
alt1=2;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case TOKEN_REF:
|
||||||
|
case STRING_LITERAL:
|
||||||
|
{
|
||||||
|
alt1=3;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
if (state.backtracking>0) {state.failed=true; return ;}
|
||||||
|
NoViableAltException nvae =
|
||||||
|
new NoViableAltException("", 1, 0, input);
|
||||||
|
|
||||||
|
throw nvae;
|
||||||
|
}
|
||||||
|
|
||||||
|
switch (alt1) {
|
||||||
|
case 1 :
|
||||||
|
// DefineSymbolTriggers.g:79:7: tokenAlias
|
||||||
|
{
|
||||||
|
pushFollow(FOLLOW_tokenAlias_in_topdown96);
|
||||||
|
tokenAlias();
|
||||||
|
|
||||||
|
state._fsp--;
|
||||||
|
if (state.failed) return ;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2 :
|
||||||
|
// DefineSymbolTriggers.g:80:7: rule
|
||||||
|
{
|
||||||
|
pushFollow(FOLLOW_rule_in_topdown104);
|
||||||
|
rule();
|
||||||
|
|
||||||
|
state._fsp--;
|
||||||
|
if (state.failed) return ;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 3 :
|
||||||
|
// DefineSymbolTriggers.g:81:7: terminal
|
||||||
|
{
|
||||||
|
pushFollow(FOLLOW_terminal_in_topdown112);
|
||||||
|
terminal();
|
||||||
|
|
||||||
|
state._fsp--;
|
||||||
|
if (state.failed) return ;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (RecognitionException re) {
|
||||||
|
reportError(re);
|
||||||
|
recover(input,re);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
}
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
// $ANTLR end "topdown"
|
||||||
|
|
||||||
|
|
||||||
|
// $ANTLR start "tokenAlias"
|
||||||
|
// DefineSymbolTriggers.g:84:1: tokenAlias : {...}? ^( ASSIGN ID STRING_LITERAL ) ;
|
||||||
|
public final void tokenAlias() throws RecognitionException {
|
||||||
|
GrammarAST ID1=null;
|
||||||
|
GrammarAST STRING_LITERAL2=null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// DefineSymbolTriggers.g:85:2: ({...}? ^( ASSIGN ID STRING_LITERAL ) )
|
||||||
|
// DefineSymbolTriggers.g:85: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_tokenAlias126); if (state.failed) return ;
|
||||||
|
|
||||||
|
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||||
|
ID1=(GrammarAST)match(input,ID,FOLLOW_ID_in_tokenAlias128); if (state.failed) return ;
|
||||||
|
STRING_LITERAL2=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_tokenAlias130); if (state.failed) return ;
|
||||||
|
|
||||||
|
match(input, Token.UP, null); if (state.failed) return ;
|
||||||
|
if ( state.backtracking==1 ) {
|
||||||
|
System.out.println("token alias "+(ID1!=null?ID1.getText():null)+"="+STRING_LITERAL2.token);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (RecognitionException re) {
|
||||||
|
reportError(re);
|
||||||
|
recover(input,re);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
}
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
// $ANTLR end "tokenAlias"
|
||||||
|
|
||||||
|
|
||||||
|
// $ANTLR start "rule"
|
||||||
|
// DefineSymbolTriggers.g:89:1: rule : ^( RULE r= ID ( . )* ) ;
|
||||||
|
public final void rule() throws RecognitionException {
|
||||||
|
GrammarAST r=null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// DefineSymbolTriggers.g:89:5: ( ^( RULE r= ID ( . )* ) )
|
||||||
|
// DefineSymbolTriggers.g:89:9: ^( RULE r= ID ( . )* )
|
||||||
|
{
|
||||||
|
match(input,RULE,FOLLOW_RULE_in_rule148); if (state.failed) return ;
|
||||||
|
|
||||||
|
match(input, Token.DOWN, null); if (state.failed) return ;
|
||||||
|
r=(GrammarAST)match(input,ID,FOLLOW_ID_in_rule152); if (state.failed) return ;
|
||||||
|
// DefineSymbolTriggers.g:89:22: ( . )*
|
||||||
|
loop2:
|
||||||
|
do {
|
||||||
|
int alt2=2;
|
||||||
|
int LA2_0 = input.LA(1);
|
||||||
|
|
||||||
|
if ( ((LA2_0>=SEMPRED && LA2_0<=ALT_REWRITE)) ) {
|
||||||
|
alt2=1;
|
||||||
|
}
|
||||||
|
else if ( (LA2_0==UP) ) {
|
||||||
|
alt2=2;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
switch (alt2) {
|
||||||
|
case 1 :
|
||||||
|
// DefineSymbolTriggers.g:89:22: .
|
||||||
|
{
|
||||||
|
matchAny(input); if (state.failed) return ;
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
default :
|
||||||
|
break loop2;
|
||||||
|
}
|
||||||
|
} while (true);
|
||||||
|
|
||||||
|
|
||||||
|
match(input, Token.UP, null); if (state.failed) return ;
|
||||||
|
if ( state.backtracking==1 ) {
|
||||||
|
System.out.println("rule "+r.token);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (RecognitionException re) {
|
||||||
|
reportError(re);
|
||||||
|
recover(input,re);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
}
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
// $ANTLR end "rule"
|
||||||
|
|
||||||
|
|
||||||
|
// $ANTLR start "terminal"
|
||||||
|
// DefineSymbolTriggers.g:92:1: terminal : ({...}? STRING_LITERAL | TOKEN_REF );
|
||||||
|
public final void terminal() throws RecognitionException {
|
||||||
|
GrammarAST STRING_LITERAL3=null;
|
||||||
|
GrammarAST TOKEN_REF4=null;
|
||||||
|
|
||||||
|
try {
|
||||||
|
// DefineSymbolTriggers.g:93:5: ({...}? STRING_LITERAL | TOKEN_REF )
|
||||||
|
int alt3=2;
|
||||||
|
int LA3_0 = input.LA(1);
|
||||||
|
|
||||||
|
if ( (LA3_0==STRING_LITERAL) ) {
|
||||||
|
alt3=1;
|
||||||
|
}
|
||||||
|
else if ( (LA3_0==TOKEN_REF) ) {
|
||||||
|
alt3=2;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (state.backtracking>0) {state.failed=true; return ;}
|
||||||
|
NoViableAltException nvae =
|
||||||
|
new NoViableAltException("", 3, 0, input);
|
||||||
|
|
||||||
|
throw nvae;
|
||||||
|
}
|
||||||
|
switch (alt3) {
|
||||||
|
case 1 :
|
||||||
|
// DefineSymbolTriggers.g:93:7: {...}? STRING_LITERAL
|
||||||
|
{
|
||||||
|
if ( !((!inContext("TOKENS ASSIGN"))) ) {
|
||||||
|
if (state.backtracking>0) {state.failed=true; return ;}
|
||||||
|
throw new FailedPredicateException(input, "terminal", "!inContext(\"TOKENS ASSIGN\")");
|
||||||
|
}
|
||||||
|
STRING_LITERAL3=(GrammarAST)match(input,STRING_LITERAL,FOLLOW_STRING_LITERAL_in_terminal178); if (state.failed) return ;
|
||||||
|
if ( state.backtracking==1 ) {
|
||||||
|
System.out.println("terminal "+STRING_LITERAL3.token);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2 :
|
||||||
|
// DefineSymbolTriggers.g:95:7: TOKEN_REF
|
||||||
|
{
|
||||||
|
TOKEN_REF4=(GrammarAST)match(input,TOKEN_REF,FOLLOW_TOKEN_REF_in_terminal193); if (state.failed) return ;
|
||||||
|
if ( state.backtracking==1 ) {
|
||||||
|
System.out.println("terminal "+TOKEN_REF4.token);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (RecognitionException re) {
|
||||||
|
reportError(re);
|
||||||
|
recover(input,re);
|
||||||
|
}
|
||||||
|
finally {
|
||||||
|
}
|
||||||
|
return ;
|
||||||
|
}
|
||||||
|
// $ANTLR end "terminal"
|
||||||
|
|
||||||
|
// Delegated rules
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public static final BitSet FOLLOW_tokenAlias_in_topdown96 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
|
public static final BitSet FOLLOW_rule_in_topdown104 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
|
public static final BitSet FOLLOW_terminal_in_topdown112 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
|
public static final BitSet FOLLOW_ASSIGN_in_tokenAlias126 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
|
public static final BitSet FOLLOW_ID_in_tokenAlias128 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000008L});
|
||||||
|
public static final BitSet FOLLOW_STRING_LITERAL_in_tokenAlias130 = new BitSet(new long[]{0x0000000000000008L});
|
||||||
|
public static final BitSet FOLLOW_RULE_in_rule148 = new BitSet(new long[]{0x0000000000000004L});
|
||||||
|
public static final BitSet FOLLOW_ID_in_rule152 = new BitSet(new long[]{0xFFFFFFFFFFFFFFF8L,0x0000001FFFFFFFFFL});
|
||||||
|
public static final BitSet FOLLOW_STRING_LITERAL_in_terminal178 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
|
public static final BitSet FOLLOW_TOKEN_REF_in_terminal193 = new BitSet(new long[]{0x0000000000000002L});
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,97 @@
|
||||||
|
LT=43
|
||||||
|
STAR=48
|
||||||
|
BACKTRACK_SEMPRED=95
|
||||||
|
DOUBLE_ANGLE_STRING_LITERAL=11
|
||||||
|
FORCED_ACTION=5
|
||||||
|
ARGLIST=89
|
||||||
|
ALTLIST=85
|
||||||
|
NOT=60
|
||||||
|
SEMPRED=4
|
||||||
|
ACTION=16
|
||||||
|
TOKEN_REF=62
|
||||||
|
RULEMODIFIERS=74
|
||||||
|
ST_RESULT=99
|
||||||
|
RPAREN=41
|
||||||
|
RET=90
|
||||||
|
IMPORT=22
|
||||||
|
STRING_LITERAL=67
|
||||||
|
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=100
|
||||||
|
IMPLIES=42
|
||||||
|
RULE=72
|
||||||
|
RBRACE=61
|
||||||
|
ACTION_ESC=17
|
||||||
|
PRIVATE=30
|
||||||
|
SRC=7
|
||||||
|
THROWS=32
|
||||||
|
CHAR_RANGE=82
|
||||||
|
INT=64
|
||||||
|
EPSILON=83
|
||||||
|
LIST=97
|
||||||
|
COLONCOLON=37
|
||||||
|
WSNLCHARS=18
|
||||||
|
WS=70
|
||||||
|
LEXER=24
|
||||||
|
OR=51
|
||||||
|
GT=44
|
||||||
|
CATCH=33
|
||||||
|
CLOSURE=79
|
||||||
|
PARSER=25
|
||||||
|
DOLLAR=53
|
||||||
|
PROTECTED=28
|
||||||
|
ELEMENT_OPTIONS=98
|
||||||
|
NESTED_ACTION=15
|
||||||
|
FRAGMENT=23
|
||||||
|
ID=87
|
||||||
|
TREE_BEGIN=58
|
||||||
|
LPAREN=40
|
||||||
|
AT=59
|
||||||
|
ESC_SEQ=66
|
||||||
|
ALT=84
|
||||||
|
TREE=26
|
||||||
|
SCOPE=21
|
||||||
|
ETC=56
|
||||||
|
COMMA=38
|
||||||
|
WILDCARD=96
|
||||||
|
DOC_COMMENT=6
|
||||||
|
PLUS=49
|
||||||
|
REWRITE_BLOCK=77
|
||||||
|
DOT=54
|
||||||
|
RETURNS=31
|
||||||
|
RULES=73
|
||||||
|
RARROW=57
|
||||||
|
UNICODE_ESC=69
|
||||||
|
HEX_DIGIT=68
|
||||||
|
RANGE=55
|
||||||
|
TOKENS=20
|
||||||
|
GATED_SEMPRED=93
|
||||||
|
RESULT=86
|
||||||
|
BANG=47
|
||||||
|
ACTION_STRING_LITERAL=12
|
||||||
|
ROOT=52
|
||||||
|
SEMI=39
|
||||||
|
RULE_REF=63
|
||||||
|
NLCHARS=8
|
||||||
|
OPTIONAL=78
|
||||||
|
SYNPRED=81
|
||||||
|
COLON=36
|
||||||
|
QUESTION=46
|
||||||
|
FINALLY=34
|
||||||
|
TEMPLATE=35
|
||||||
|
LABEL=92
|
||||||
|
SYN_SEMPRED=94
|
||||||
|
ERRCHAR=71
|
||||||
|
BLOCK=76
|
||||||
|
ASSIGN=45
|
||||||
|
PLUS_ASSIGN=50
|
||||||
|
PUBLIC=29
|
||||||
|
POSITIVE_CLOSURE=80
|
||||||
|
OPTIONS=19
|
|
@ -36,6 +36,9 @@ public class SemanticsPipeline {
|
||||||
}
|
}
|
||||||
|
|
||||||
// DEFINE SYMBOLS
|
// DEFINE SYMBOLS
|
||||||
|
nodes.reset();
|
||||||
|
DefineSymbolTriggers sym = new DefineSymbolTriggers(nodes,g);
|
||||||
|
sym.downup(g.ast);
|
||||||
|
|
||||||
// ASSIGN TOKEN TYPES
|
// ASSIGN TOKEN TYPES
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue