
org.btrplace.btrpsl.antlr.ANTLRBtrplaceSL2Parser Maven / Gradle / Ivy
// $ANTLR 3.5.2 org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g 2019-12-17 10:07:52
package org.btrplace.btrpsl.antlr;
import java.util.LinkedList;
import java.util.List;
import org.btrplace.btrpsl.ErrorReporter;
import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;
import org.antlr.runtime.tree.*;
@SuppressWarnings("all")
public class ANTLRBtrplaceSL2Parser extends Parser {
public static final String[] tokenNames = new String[] {
"", "", "", "", "AND", "BLANK", "BLOCK", "CARDINALITY",
"CName", "COMMENT", "CONSTRAINTIDENTIFIER", "DECIMAL", "DISCRETE", "DIV",
"DIV_EQUALS", "Digit", "Digits", "ENUM_FQDN", "ENUM_ID", "ENUM_VAR", "EQ",
"EQUALS", "ESC_SEQ", "EXPLODED_SET", "EXPORT", "FLOAT", "FOR", "GEQ",
"GT", "HEXA", "HEX_DIGIT", "Hex_Content", "Hostname", "IDENTIFIER", "IF",
"INT_OR_FLOAT_OR_RANGE_OR_HEXA", "LEFTFQDN", "LEFTIDENTIFIER", "LEFTVAR",
"LEQ", "LT", "LblTail", "LeftFQDN", "LeftIdentifier", "Letter", "MINUS",
"MINUS_EQUALS", "NAMESPACE", "NEQ", "NODE_NAME", "NOT", "OCTAL", "ONETONIME",
"OR", "PLUS", "PLUS_EQUALS", "POWER", "PkgTail", "RANGE", "REMAINDER",
"REMAINDER_EQUALS", "RIGHT", "STRING", "TEMPLATE_OPTION", "TIMES", "TIMES_EQUALS",
"TYPE_DEFINITION", "USE", "VARIABLE", "WS", "'#'", "'('", "')'", "','",
"';'", "'else'", "'export'", "'for'", "'if'", "'import'", "'in'", "'namespace'",
"'to'", "'{'", "'}'"
};
public static final int EOF=-1;
public static final int T__70=70;
public static final int T__71=71;
public static final int T__72=72;
public static final int T__73=73;
public static final int T__74=74;
public static final int T__75=75;
public static final int T__76=76;
public static final int T__77=77;
public static final int T__78=78;
public static final int T__79=79;
public static final int T__80=80;
public static final int T__81=81;
public static final int T__82=82;
public static final int T__83=83;
public static final int T__84=84;
public static final int AND=4;
public static final int BLANK=5;
public static final int BLOCK=6;
public static final int CARDINALITY=7;
public static final int CName=8;
public static final int COMMENT=9;
public static final int CONSTRAINTIDENTIFIER=10;
public static final int DECIMAL=11;
public static final int DISCRETE=12;
public static final int DIV=13;
public static final int DIV_EQUALS=14;
public static final int Digit=15;
public static final int Digits=16;
public static final int ENUM_FQDN=17;
public static final int ENUM_ID=18;
public static final int ENUM_VAR=19;
public static final int EQ=20;
public static final int EQUALS=21;
public static final int ESC_SEQ=22;
public static final int EXPLODED_SET=23;
public static final int EXPORT=24;
public static final int FLOAT=25;
public static final int FOR=26;
public static final int GEQ=27;
public static final int GT=28;
public static final int HEXA=29;
public static final int HEX_DIGIT=30;
public static final int Hex_Content=31;
public static final int Hostname=32;
public static final int IDENTIFIER=33;
public static final int IF=34;
public static final int INT_OR_FLOAT_OR_RANGE_OR_HEXA=35;
public static final int LEFTFQDN=36;
public static final int LEFTIDENTIFIER=37;
public static final int LEFTVAR=38;
public static final int LEQ=39;
public static final int LT=40;
public static final int LblTail=41;
public static final int LeftFQDN=42;
public static final int LeftIdentifier=43;
public static final int Letter=44;
public static final int MINUS=45;
public static final int MINUS_EQUALS=46;
public static final int NAMESPACE=47;
public static final int NEQ=48;
public static final int NODE_NAME=49;
public static final int NOT=50;
public static final int OCTAL=51;
public static final int ONETONIME=52;
public static final int OR=53;
public static final int PLUS=54;
public static final int PLUS_EQUALS=55;
public static final int POWER=56;
public static final int PkgTail=57;
public static final int RANGE=58;
public static final int REMAINDER=59;
public static final int REMAINDER_EQUALS=60;
public static final int RIGHT=61;
public static final int STRING=62;
public static final int TEMPLATE_OPTION=63;
public static final int TIMES=64;
public static final int TIMES_EQUALS=65;
public static final int TYPE_DEFINITION=66;
public static final int USE=67;
public static final int VARIABLE=68;
public static final int WS=69;
// delegates
public Parser[] getDelegates() {
return new Parser[] {};
}
// delegators
public ANTLRBtrplaceSL2Parser(TokenStream input) {
this(input, new RecognizerSharedState());
}
public ANTLRBtrplaceSL2Parser(TokenStream input, RecognizerSharedState state) {
super(input, state);
}
protected TreeAdaptor adaptor = new CommonTreeAdaptor();
public void setTreeAdaptor(TreeAdaptor adaptor) {
this.adaptor = adaptor;
}
public TreeAdaptor getTreeAdaptor() {
return adaptor;
}
@Override public String[] getTokenNames() { return ANTLRBtrplaceSL2Parser.tokenNames; }
@Override public String getGrammarFileName() { return "org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g"; }
private ErrorReporter errReporter;
public void setErrorReporter(ErrorReporter errReporter) {
this.errReporter = errReporter;
}
public void displayRecognitionError(String[] tokenNames,
RecognitionException e) {
if (errReporter != null) {
int lineNo = e.line;
int colNo = e.charPositionInLine;
if (lineNo == 0) { //EOF ?
for (int i = e.token.getTokenIndex(); i >= 0; i--) {
Token t = input.get(i);
if (t.getLine() != 0) {
lineNo = t.getLine();
colNo = t.getCharPositionInLine();
break;
}
}
}
errReporter.append(lineNo, colNo, getErrorMessage(e, tokenNames));
}
}
public static class cardinality_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "cardinality"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:225:1: cardinality : x= '#' powerable -> ^( CARDINALITY[$x] powerable ) ;
public final ANTLRBtrplaceSL2Parser.cardinality_return cardinality() throws RecognitionException {
ANTLRBtrplaceSL2Parser.cardinality_return retval = new ANTLRBtrplaceSL2Parser.cardinality_return();
retval.start = input.LT(1);
Object root_0 = null;
Token x=null;
ParserRuleReturnScope powerable1 =null;
Object x_tree=null;
RewriteRuleTokenStream stream_70=new RewriteRuleTokenStream(adaptor,"token 70");
RewriteRuleSubtreeStream stream_powerable=new RewriteRuleSubtreeStream(adaptor,"rule powerable");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:225:12: (x= '#' powerable -> ^( CARDINALITY[$x] powerable ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:225:14: x= '#' powerable
{
x=(Token)match(input,70,FOLLOW_70_in_cardinality976);
stream_70.add(x);
pushFollow(FOLLOW_powerable_in_cardinality978);
powerable1=powerable();
state._fsp--;
stream_powerable.add(powerable1.getTree());
// AST REWRITE
// elements: powerable
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 225:30: -> ^( CARDINALITY[$x] powerable )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:225:33: ^( CARDINALITY[$x] powerable )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(CARDINALITY, x), root_1);
adaptor.addChild(root_1, stream_powerable.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "cardinality"
public static class number_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "number"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:227:1: number : ( DECIMAL | OCTAL | HEXA | FLOAT );
public final ANTLRBtrplaceSL2Parser.number_return number() throws RecognitionException {
ANTLRBtrplaceSL2Parser.number_return retval = new ANTLRBtrplaceSL2Parser.number_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set2=null;
Object set2_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:227:7: ( DECIMAL | OCTAL | HEXA | FLOAT )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:
{
root_0 = (Object)adaptor.nil();
set2=input.LT(1);
if ( input.LA(1)==DECIMAL||input.LA(1)==FLOAT||input.LA(1)==HEXA||input.LA(1)==OCTAL ) {
input.consume();
adaptor.addChild(root_0, (Object)adaptor.create(set2));
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "number"
public static class set_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "set"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:232:1: set : ( explodedSet | rangeVar | rangeFqdn | rangeIdentifier );
public final ANTLRBtrplaceSL2Parser.set_return set() throws RecognitionException {
ANTLRBtrplaceSL2Parser.set_return retval = new ANTLRBtrplaceSL2Parser.set_return();
retval.start = input.LT(1);
Object root_0 = null;
ParserRuleReturnScope explodedSet3 =null;
ParserRuleReturnScope rangeVar4 =null;
ParserRuleReturnScope rangeFqdn5 =null;
ParserRuleReturnScope rangeIdentifier6 =null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:232:5: ( explodedSet | rangeVar | rangeFqdn | rangeIdentifier )
int alt1=4;
switch ( input.LA(1) ) {
case 83:
{
alt1=1;
}
break;
case LEFTVAR:
{
alt1=2;
}
break;
case LEFTFQDN:
{
alt1=3;
}
break;
case LEFTIDENTIFIER:
{
alt1=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 1, 0, input);
throw nvae;
}
switch (alt1) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:232:7: explodedSet
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_explodedSet_in_set1015);
explodedSet3=explodedSet();
state._fsp--;
adaptor.addChild(root_0, explodedSet3.getTree());
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:233:3: rangeVar
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_rangeVar_in_set1019);
rangeVar4=rangeVar();
state._fsp--;
adaptor.addChild(root_0, rangeVar4.getTree());
}
break;
case 3 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:234:3: rangeFqdn
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_rangeFqdn_in_set1023);
rangeFqdn5=rangeFqdn();
state._fsp--;
adaptor.addChild(root_0, rangeFqdn5.getTree());
}
break;
case 4 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:235:3: rangeIdentifier
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_rangeIdentifier_in_set1027);
rangeIdentifier6=rangeIdentifier();
state._fsp--;
adaptor.addChild(root_0, rangeIdentifier6.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "set"
public static class explodedSet_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "explodedSet"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:1: explodedSet : x= '{' ( setContent ( ',' setContent )* )? '}' -> ^( EXPLODED_SET[$x] ( setContent )* ) ;
public final ANTLRBtrplaceSL2Parser.explodedSet_return explodedSet() throws RecognitionException {
ANTLRBtrplaceSL2Parser.explodedSet_return retval = new ANTLRBtrplaceSL2Parser.explodedSet_return();
retval.start = input.LT(1);
Object root_0 = null;
Token x=null;
Token char_literal8=null;
Token char_literal10=null;
ParserRuleReturnScope setContent7 =null;
ParserRuleReturnScope setContent9 =null;
Object x_tree=null;
Object char_literal8_tree=null;
Object char_literal10_tree=null;
RewriteRuleTokenStream stream_83=new RewriteRuleTokenStream(adaptor,"token 83");
RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
RewriteRuleSubtreeStream stream_setContent=new RewriteRuleSubtreeStream(adaptor,"rule setContent");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:12: (x= '{' ( setContent ( ',' setContent )* )? '}' -> ^( EXPLODED_SET[$x] ( setContent )* ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:14: x= '{' ( setContent ( ',' setContent )* )? '}'
{
x=(Token)match(input,83,FOLLOW_83_in_explodedSet1036);
stream_83.add(x);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:20: ( setContent ( ',' setContent )* )?
int alt3=2;
int LA3_0 = input.LA(1);
if ( (LA3_0==BLANK||LA3_0==DECIMAL||LA3_0==FLOAT||LA3_0==HEXA||LA3_0==IDENTIFIER||(LA3_0 >= LEFTFQDN && LA3_0 <= LEFTVAR)||LA3_0==MINUS||(LA3_0 >= NODE_NAME && LA3_0 <= OCTAL)||LA3_0==STRING||LA3_0==VARIABLE||(LA3_0 >= 70 && LA3_0 <= 71)||LA3_0==83) ) {
alt3=1;
}
switch (alt3) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:21: setContent ( ',' setContent )*
{
pushFollow(FOLLOW_setContent_in_explodedSet1039);
setContent7=setContent();
state._fsp--;
stream_setContent.add(setContent7.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:32: ( ',' setContent )*
loop2:
while (true) {
int alt2=2;
int LA2_0 = input.LA(1);
if ( (LA2_0==73) ) {
alt2=1;
}
switch (alt2) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:33: ',' setContent
{
char_literal8=(Token)match(input,73,FOLLOW_73_in_explodedSet1042);
stream_73.add(char_literal8);
pushFollow(FOLLOW_setContent_in_explodedSet1044);
setContent9=setContent();
state._fsp--;
stream_setContent.add(setContent9.getTree());
}
break;
default :
break loop2;
}
}
}
break;
}
char_literal10=(Token)match(input,84,FOLLOW_84_in_explodedSet1050);
stream_84.add(char_literal10);
// AST REWRITE
// elements: setContent
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 237:56: -> ^( EXPLODED_SET[$x] ( setContent )* )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:59: ^( EXPLODED_SET[$x] ( setContent )* )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(EXPLODED_SET, x), root_1);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:237:78: ( setContent )*
while ( stream_setContent.hasNext() ) {
adaptor.addChild(root_1, stream_setContent.nextTree());
}
stream_setContent.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "explodedSet"
public static class rangeVar_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "rangeVar"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:243:1: rangeVar : LEFTVAR r1= braceContent ( ',' r2= braceContent )* RIGHT -> ^( ENUM_VAR LEFTVAR ( braceContent )+ RIGHT ) ;
public final ANTLRBtrplaceSL2Parser.rangeVar_return rangeVar() throws RecognitionException {
ANTLRBtrplaceSL2Parser.rangeVar_return retval = new ANTLRBtrplaceSL2Parser.rangeVar_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LEFTVAR11=null;
Token char_literal12=null;
Token RIGHT13=null;
ParserRuleReturnScope r1 =null;
ParserRuleReturnScope r2 =null;
Object LEFTVAR11_tree=null;
Object char_literal12_tree=null;
Object RIGHT13_tree=null;
RewriteRuleTokenStream stream_LEFTVAR=new RewriteRuleTokenStream(adaptor,"token LEFTVAR");
RewriteRuleTokenStream stream_RIGHT=new RewriteRuleTokenStream(adaptor,"token RIGHT");
RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
RewriteRuleSubtreeStream stream_braceContent=new RewriteRuleSubtreeStream(adaptor,"rule braceContent");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:243:9: ( LEFTVAR r1= braceContent ( ',' r2= braceContent )* RIGHT -> ^( ENUM_VAR LEFTVAR ( braceContent )+ RIGHT ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:243:11: LEFTVAR r1= braceContent ( ',' r2= braceContent )* RIGHT
{
LEFTVAR11=(Token)match(input,LEFTVAR,FOLLOW_LEFTVAR_in_rangeVar1098);
stream_LEFTVAR.add(LEFTVAR11);
pushFollow(FOLLOW_braceContent_in_rangeVar1102);
r1=braceContent();
state._fsp--;
stream_braceContent.add(r1.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:243:35: ( ',' r2= braceContent )*
loop4:
while (true) {
int alt4=2;
int LA4_0 = input.LA(1);
if ( (LA4_0==73) ) {
alt4=1;
}
switch (alt4) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:243:36: ',' r2= braceContent
{
char_literal12=(Token)match(input,73,FOLLOW_73_in_rangeVar1105);
stream_73.add(char_literal12);
pushFollow(FOLLOW_braceContent_in_rangeVar1109);
r2=braceContent();
state._fsp--;
stream_braceContent.add(r2.getTree());
}
break;
default :
break loop4;
}
}
RIGHT13=(Token)match(input,RIGHT,FOLLOW_RIGHT_in_rangeVar1113);
stream_RIGHT.add(RIGHT13);
// AST REWRITE
// elements: RIGHT, braceContent, LEFTVAR
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 243:64: -> ^( ENUM_VAR LEFTVAR ( braceContent )+ RIGHT )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:243:67: ^( ENUM_VAR LEFTVAR ( braceContent )+ RIGHT )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ENUM_VAR, "ENUM_VAR"), root_1);
adaptor.addChild(root_1, stream_LEFTVAR.nextNode());
if ( !(stream_braceContent.hasNext()) ) {
throw new RewriteEarlyExitException();
}
while ( stream_braceContent.hasNext() ) {
adaptor.addChild(root_1, stream_braceContent.nextTree());
}
stream_braceContent.reset();
adaptor.addChild(root_1, stream_RIGHT.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "rangeVar"
public static class rangeFqdn_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "rangeFqdn"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:246:1: rangeFqdn : LEFTFQDN r1= braceContent ( ',' r2= braceContent )* RIGHT -> ^( ENUM_FQDN LEFTFQDN ( braceContent )+ RIGHT ) ;
public final ANTLRBtrplaceSL2Parser.rangeFqdn_return rangeFqdn() throws RecognitionException {
ANTLRBtrplaceSL2Parser.rangeFqdn_return retval = new ANTLRBtrplaceSL2Parser.rangeFqdn_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LEFTFQDN14=null;
Token char_literal15=null;
Token RIGHT16=null;
ParserRuleReturnScope r1 =null;
ParserRuleReturnScope r2 =null;
Object LEFTFQDN14_tree=null;
Object char_literal15_tree=null;
Object RIGHT16_tree=null;
RewriteRuleTokenStream stream_LEFTFQDN=new RewriteRuleTokenStream(adaptor,"token LEFTFQDN");
RewriteRuleTokenStream stream_RIGHT=new RewriteRuleTokenStream(adaptor,"token RIGHT");
RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
RewriteRuleSubtreeStream stream_braceContent=new RewriteRuleSubtreeStream(adaptor,"rule braceContent");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:246:10: ( LEFTFQDN r1= braceContent ( ',' r2= braceContent )* RIGHT -> ^( ENUM_FQDN LEFTFQDN ( braceContent )+ RIGHT ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:246:13: LEFTFQDN r1= braceContent ( ',' r2= braceContent )* RIGHT
{
LEFTFQDN14=(Token)match(input,LEFTFQDN,FOLLOW_LEFTFQDN_in_rangeFqdn1140);
stream_LEFTFQDN.add(LEFTFQDN14);
pushFollow(FOLLOW_braceContent_in_rangeFqdn1144);
r1=braceContent();
state._fsp--;
stream_braceContent.add(r1.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:246:38: ( ',' r2= braceContent )*
loop5:
while (true) {
int alt5=2;
int LA5_0 = input.LA(1);
if ( (LA5_0==73) ) {
alt5=1;
}
switch (alt5) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:246:39: ',' r2= braceContent
{
char_literal15=(Token)match(input,73,FOLLOW_73_in_rangeFqdn1147);
stream_73.add(char_literal15);
pushFollow(FOLLOW_braceContent_in_rangeFqdn1151);
r2=braceContent();
state._fsp--;
stream_braceContent.add(r2.getTree());
}
break;
default :
break loop5;
}
}
RIGHT16=(Token)match(input,RIGHT,FOLLOW_RIGHT_in_rangeFqdn1155);
stream_RIGHT.add(RIGHT16);
// AST REWRITE
// elements: braceContent, RIGHT, LEFTFQDN
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 246:67: -> ^( ENUM_FQDN LEFTFQDN ( braceContent )+ RIGHT )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:246:70: ^( ENUM_FQDN LEFTFQDN ( braceContent )+ RIGHT )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ENUM_FQDN, "ENUM_FQDN"), root_1);
adaptor.addChild(root_1, stream_LEFTFQDN.nextNode());
if ( !(stream_braceContent.hasNext()) ) {
throw new RewriteEarlyExitException();
}
while ( stream_braceContent.hasNext() ) {
adaptor.addChild(root_1, stream_braceContent.nextTree());
}
stream_braceContent.reset();
adaptor.addChild(root_1, stream_RIGHT.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "rangeFqdn"
public static class rangeIdentifier_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "rangeIdentifier"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:249:1: rangeIdentifier : LEFTIDENTIFIER r1= braceContent ( ',' r2= braceContent )* RIGHT -> ^( ENUM_ID LEFTIDENTIFIER ( braceContent )+ RIGHT ) ;
public final ANTLRBtrplaceSL2Parser.rangeIdentifier_return rangeIdentifier() throws RecognitionException {
ANTLRBtrplaceSL2Parser.rangeIdentifier_return retval = new ANTLRBtrplaceSL2Parser.rangeIdentifier_return();
retval.start = input.LT(1);
Object root_0 = null;
Token LEFTIDENTIFIER17=null;
Token char_literal18=null;
Token RIGHT19=null;
ParserRuleReturnScope r1 =null;
ParserRuleReturnScope r2 =null;
Object LEFTIDENTIFIER17_tree=null;
Object char_literal18_tree=null;
Object RIGHT19_tree=null;
RewriteRuleTokenStream stream_LEFTIDENTIFIER=new RewriteRuleTokenStream(adaptor,"token LEFTIDENTIFIER");
RewriteRuleTokenStream stream_RIGHT=new RewriteRuleTokenStream(adaptor,"token RIGHT");
RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
RewriteRuleSubtreeStream stream_braceContent=new RewriteRuleSubtreeStream(adaptor,"rule braceContent");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:249:16: ( LEFTIDENTIFIER r1= braceContent ( ',' r2= braceContent )* RIGHT -> ^( ENUM_ID LEFTIDENTIFIER ( braceContent )+ RIGHT ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:249:20: LEFTIDENTIFIER r1= braceContent ( ',' r2= braceContent )* RIGHT
{
LEFTIDENTIFIER17=(Token)match(input,LEFTIDENTIFIER,FOLLOW_LEFTIDENTIFIER_in_rangeIdentifier1189);
stream_LEFTIDENTIFIER.add(LEFTIDENTIFIER17);
pushFollow(FOLLOW_braceContent_in_rangeIdentifier1193);
r1=braceContent();
state._fsp--;
stream_braceContent.add(r1.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:249:51: ( ',' r2= braceContent )*
loop6:
while (true) {
int alt6=2;
int LA6_0 = input.LA(1);
if ( (LA6_0==73) ) {
alt6=1;
}
switch (alt6) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:249:52: ',' r2= braceContent
{
char_literal18=(Token)match(input,73,FOLLOW_73_in_rangeIdentifier1196);
stream_73.add(char_literal18);
pushFollow(FOLLOW_braceContent_in_rangeIdentifier1200);
r2=braceContent();
state._fsp--;
stream_braceContent.add(r2.getTree());
}
break;
default :
break loop6;
}
}
RIGHT19=(Token)match(input,RIGHT,FOLLOW_RIGHT_in_rangeIdentifier1204);
stream_RIGHT.add(RIGHT19);
// AST REWRITE
// elements: braceContent, RIGHT, LEFTIDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 249:80: -> ^( ENUM_ID LEFTIDENTIFIER ( braceContent )+ RIGHT )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:249:83: ^( ENUM_ID LEFTIDENTIFIER ( braceContent )+ RIGHT )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(ENUM_ID, "ENUM_ID"), root_1);
adaptor.addChild(root_1, stream_LEFTIDENTIFIER.nextNode());
if ( !(stream_braceContent.hasNext()) ) {
throw new RewriteEarlyExitException();
}
while ( stream_braceContent.hasNext() ) {
adaptor.addChild(root_1, stream_braceContent.nextTree());
}
stream_braceContent.reset();
adaptor.addChild(root_1, stream_RIGHT.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "rangeIdentifier"
public static class braceContent_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "braceContent"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:251:1: braceContent : range -> ^( RANGE range ) ;
public final ANTLRBtrplaceSL2Parser.braceContent_return braceContent() throws RecognitionException {
ANTLRBtrplaceSL2Parser.braceContent_return retval = new ANTLRBtrplaceSL2Parser.braceContent_return();
retval.start = input.LT(1);
Object root_0 = null;
ParserRuleReturnScope range20 =null;
RewriteRuleSubtreeStream stream_range=new RewriteRuleSubtreeStream(adaptor,"rule range");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:251:14: ( range -> ^( RANGE range ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:251:16: range
{
pushFollow(FOLLOW_range_in_braceContent1225);
range20=range();
state._fsp--;
stream_range.add(range20.getTree());
// AST REWRITE
// elements: range
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 251:22: -> ^( RANGE range )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:251:25: ^( RANGE range )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(RANGE, "RANGE"), root_1);
adaptor.addChild(root_1, stream_range.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "braceContent"
public static class range_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "range"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:253:1: range : term ( RANGE ! term )? ;
public final ANTLRBtrplaceSL2Parser.range_return range() throws RecognitionException {
ANTLRBtrplaceSL2Parser.range_return retval = new ANTLRBtrplaceSL2Parser.range_return();
retval.start = input.LT(1);
Object root_0 = null;
Token RANGE22=null;
ParserRuleReturnScope term21 =null;
ParserRuleReturnScope term23 =null;
Object RANGE22_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:253:8: ( term ( RANGE ! term )? )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:253:10: term ( RANGE ! term )?
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_term_in_range1242);
term21=term();
state._fsp--;
adaptor.addChild(root_0, term21.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:253:15: ( RANGE ! term )?
int alt7=2;
int LA7_0 = input.LA(1);
if ( (LA7_0==RANGE) ) {
alt7=1;
}
switch (alt7) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:253:16: RANGE ! term
{
RANGE22=(Token)match(input,RANGE,FOLLOW_RANGE_in_range1245);
pushFollow(FOLLOW_term_in_range1248);
term23=term();
state._fsp--;
adaptor.addChild(root_0, term23.getTree());
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "range"
public static class setContent_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "setContent"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:255:1: setContent : ( expression | BLANK );
public final ANTLRBtrplaceSL2Parser.setContent_return setContent() throws RecognitionException {
ANTLRBtrplaceSL2Parser.setContent_return retval = new ANTLRBtrplaceSL2Parser.setContent_return();
retval.start = input.LT(1);
Object root_0 = null;
Token BLANK25=null;
ParserRuleReturnScope expression24 =null;
Object BLANK25_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:255:11: ( expression | BLANK )
int alt8=2;
int LA8_0 = input.LA(1);
if ( (LA8_0==DECIMAL||LA8_0==FLOAT||LA8_0==HEXA||LA8_0==IDENTIFIER||(LA8_0 >= LEFTFQDN && LA8_0 <= LEFTVAR)||LA8_0==MINUS||(LA8_0 >= NODE_NAME && LA8_0 <= OCTAL)||LA8_0==STRING||LA8_0==VARIABLE||(LA8_0 >= 70 && LA8_0 <= 71)||LA8_0==83) ) {
alt8=1;
}
else if ( (LA8_0==BLANK) ) {
alt8=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 8, 0, input);
throw nvae;
}
switch (alt8) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:255:13: expression
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_expression_in_setContent1261);
expression24=expression();
state._fsp--;
adaptor.addChild(root_0, expression24.getTree());
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:256:8: BLANK
{
root_0 = (Object)adaptor.nil();
BLANK25=(Token)match(input,BLANK,FOLLOW_BLANK_in_setContent1270);
BLANK25_tree = (Object)adaptor.create(BLANK25);
adaptor.addChild(root_0, BLANK25_tree);
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "setContent"
public static class term_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "term"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:258:1: term : ( '(' expression ')' -> expression | IDENTIFIER | NODE_NAME | number | VARIABLE | STRING | set );
public final ANTLRBtrplaceSL2Parser.term_return term() throws RecognitionException {
ANTLRBtrplaceSL2Parser.term_return retval = new ANTLRBtrplaceSL2Parser.term_return();
retval.start = input.LT(1);
Object root_0 = null;
Token char_literal26=null;
Token char_literal28=null;
Token IDENTIFIER29=null;
Token NODE_NAME30=null;
Token VARIABLE32=null;
Token STRING33=null;
ParserRuleReturnScope expression27 =null;
ParserRuleReturnScope number31 =null;
ParserRuleReturnScope set34 =null;
Object char_literal26_tree=null;
Object char_literal28_tree=null;
Object IDENTIFIER29_tree=null;
Object NODE_NAME30_tree=null;
Object VARIABLE32_tree=null;
Object STRING33_tree=null;
RewriteRuleTokenStream stream_71=new RewriteRuleTokenStream(adaptor,"token 71");
RewriteRuleTokenStream stream_72=new RewriteRuleTokenStream(adaptor,"token 72");
RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:258:6: ( '(' expression ')' -> expression | IDENTIFIER | NODE_NAME | number | VARIABLE | STRING | set )
int alt9=7;
switch ( input.LA(1) ) {
case 71:
{
alt9=1;
}
break;
case IDENTIFIER:
{
alt9=2;
}
break;
case NODE_NAME:
{
alt9=3;
}
break;
case DECIMAL:
case FLOAT:
case HEXA:
case OCTAL:
{
alt9=4;
}
break;
case VARIABLE:
{
alt9=5;
}
break;
case STRING:
{
alt9=6;
}
break;
case LEFTFQDN:
case LEFTIDENTIFIER:
case LEFTVAR:
case 83:
{
alt9=7;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 9, 0, input);
throw nvae;
}
switch (alt9) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:258:8: '(' expression ')'
{
char_literal26=(Token)match(input,71,FOLLOW_71_in_term1283);
stream_71.add(char_literal26);
pushFollow(FOLLOW_expression_in_term1285);
expression27=expression();
state._fsp--;
stream_expression.add(expression27.getTree());
char_literal28=(Token)match(input,72,FOLLOW_72_in_term1287);
stream_72.add(char_literal28);
// AST REWRITE
// elements: expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 258:27: -> expression
{
adaptor.addChild(root_0, stream_expression.nextTree());
}
retval.tree = root_0;
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:259:4: IDENTIFIER
{
root_0 = (Object)adaptor.nil();
IDENTIFIER29=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_term1296);
IDENTIFIER29_tree = (Object)adaptor.create(IDENTIFIER29);
adaptor.addChild(root_0, IDENTIFIER29_tree);
}
break;
case 3 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:260:4: NODE_NAME
{
root_0 = (Object)adaptor.nil();
NODE_NAME30=(Token)match(input,NODE_NAME,FOLLOW_NODE_NAME_in_term1301);
NODE_NAME30_tree = (Object)adaptor.create(NODE_NAME30);
adaptor.addChild(root_0, NODE_NAME30_tree);
}
break;
case 4 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:261:4: number
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_number_in_term1306);
number31=number();
state._fsp--;
adaptor.addChild(root_0, number31.getTree());
}
break;
case 5 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:262:4: VARIABLE
{
root_0 = (Object)adaptor.nil();
VARIABLE32=(Token)match(input,VARIABLE,FOLLOW_VARIABLE_in_term1311);
VARIABLE32_tree = (Object)adaptor.create(VARIABLE32);
adaptor.addChild(root_0, VARIABLE32_tree);
}
break;
case 6 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:263:4: STRING
{
root_0 = (Object)adaptor.nil();
STRING33=(Token)match(input,STRING,FOLLOW_STRING_in_term1318);
STRING33_tree = (Object)adaptor.create(STRING33);
adaptor.addChild(root_0, STRING33_tree);
}
break;
case 7 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:264:4: set
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_set_in_term1323);
set34=set();
state._fsp--;
adaptor.addChild(root_0, set34.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "term"
public static class powerable_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "powerable"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:267:1: powerable : term ( POWER ^ term )? ;
public final ANTLRBtrplaceSL2Parser.powerable_return powerable() throws RecognitionException {
ANTLRBtrplaceSL2Parser.powerable_return retval = new ANTLRBtrplaceSL2Parser.powerable_return();
retval.start = input.LT(1);
Object root_0 = null;
Token POWER36=null;
ParserRuleReturnScope term35 =null;
ParserRuleReturnScope term37 =null;
Object POWER36_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:267:10: ( term ( POWER ^ term )? )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:267:12: term ( POWER ^ term )?
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_term_in_powerable1331);
term35=term();
state._fsp--;
adaptor.addChild(root_0, term35.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:267:17: ( POWER ^ term )?
int alt10=2;
int LA10_0 = input.LA(1);
if ( (LA10_0==POWER) ) {
alt10=1;
}
switch (alt10) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:267:18: POWER ^ term
{
POWER36=(Token)match(input,POWER,FOLLOW_POWER_in_powerable1334);
POWER36_tree = (Object)adaptor.create(POWER36);
root_0 = (Object)adaptor.becomeRoot(POWER36_tree, root_0);
pushFollow(FOLLOW_term_in_powerable1337);
term37=term();
state._fsp--;
adaptor.addChild(root_0, term37.getTree());
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "powerable"
public static class negation_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "negation"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:268:1: negation : ( NOT ^ powerable | cardinality | powerable );
public final ANTLRBtrplaceSL2Parser.negation_return negation() throws RecognitionException {
ANTLRBtrplaceSL2Parser.negation_return retval = new ANTLRBtrplaceSL2Parser.negation_return();
retval.start = input.LT(1);
Object root_0 = null;
Token NOT38=null;
ParserRuleReturnScope powerable39 =null;
ParserRuleReturnScope cardinality40 =null;
ParserRuleReturnScope powerable41 =null;
Object NOT38_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:268:9: ( NOT ^ powerable | cardinality | powerable )
int alt11=3;
switch ( input.LA(1) ) {
case NOT:
{
alt11=1;
}
break;
case 70:
{
alt11=2;
}
break;
case DECIMAL:
case FLOAT:
case HEXA:
case IDENTIFIER:
case LEFTFQDN:
case LEFTIDENTIFIER:
case LEFTVAR:
case NODE_NAME:
case OCTAL:
case STRING:
case VARIABLE:
case 71:
case 83:
{
alt11=3;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 11, 0, input);
throw nvae;
}
switch (alt11) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:268:11: NOT ^ powerable
{
root_0 = (Object)adaptor.nil();
NOT38=(Token)match(input,NOT,FOLLOW_NOT_in_negation1349);
NOT38_tree = (Object)adaptor.create(NOT38);
root_0 = (Object)adaptor.becomeRoot(NOT38_tree, root_0);
pushFollow(FOLLOW_powerable_in_negation1352);
powerable39=powerable();
state._fsp--;
adaptor.addChild(root_0, powerable39.getTree());
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:269:4: cardinality
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_cardinality_in_negation1357);
cardinality40=cardinality();
state._fsp--;
adaptor.addChild(root_0, cardinality40.getTree());
}
break;
case 3 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:270:4: powerable
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_powerable_in_negation1362);
powerable41=powerable();
state._fsp--;
adaptor.addChild(root_0, powerable41.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "negation"
public static class unary_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "unary"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:271:1: unary : ( MINUS negation -> ^( MINUS negation ) | negation -> negation );
public final ANTLRBtrplaceSL2Parser.unary_return unary() throws RecognitionException {
ANTLRBtrplaceSL2Parser.unary_return retval = new ANTLRBtrplaceSL2Parser.unary_return();
retval.start = input.LT(1);
Object root_0 = null;
Token MINUS42=null;
ParserRuleReturnScope negation43 =null;
ParserRuleReturnScope negation44 =null;
Object MINUS42_tree=null;
RewriteRuleTokenStream stream_MINUS=new RewriteRuleTokenStream(adaptor,"token MINUS");
RewriteRuleSubtreeStream stream_negation=new RewriteRuleSubtreeStream(adaptor,"rule negation");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:271:6: ( MINUS negation -> ^( MINUS negation ) | negation -> negation )
int alt12=2;
int LA12_0 = input.LA(1);
if ( (LA12_0==MINUS) ) {
alt12=1;
}
else if ( (LA12_0==DECIMAL||LA12_0==FLOAT||LA12_0==HEXA||LA12_0==IDENTIFIER||(LA12_0 >= LEFTFQDN && LA12_0 <= LEFTVAR)||(LA12_0 >= NODE_NAME && LA12_0 <= OCTAL)||LA12_0==STRING||LA12_0==VARIABLE||(LA12_0 >= 70 && LA12_0 <= 71)||LA12_0==83) ) {
alt12=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 12, 0, input);
throw nvae;
}
switch (alt12) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:271:8: MINUS negation
{
MINUS42=(Token)match(input,MINUS,FOLLOW_MINUS_in_unary1368);
stream_MINUS.add(MINUS42);
pushFollow(FOLLOW_negation_in_unary1370);
negation43=negation();
state._fsp--;
stream_negation.add(negation43.getTree());
// AST REWRITE
// elements: MINUS, negation
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 271:23: -> ^( MINUS negation )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:271:26: ^( MINUS negation )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_MINUS.nextNode(), root_1);
adaptor.addChild(root_1, stream_negation.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:272:9: negation
{
pushFollow(FOLLOW_negation_in_unary1388);
negation44=negation();
state._fsp--;
stream_negation.add(negation44.getTree());
// AST REWRITE
// elements: negation
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 272:18: -> negation
{
adaptor.addChild(root_0, stream_negation.nextTree());
}
retval.tree = root_0;
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "unary"
public static class mult_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "mult"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:273:1: mult : unary ( ( TIMES | DIV | REMAINDER ) ^ unary )* ;
public final ANTLRBtrplaceSL2Parser.mult_return mult() throws RecognitionException {
ANTLRBtrplaceSL2Parser.mult_return retval = new ANTLRBtrplaceSL2Parser.mult_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set46=null;
ParserRuleReturnScope unary45 =null;
ParserRuleReturnScope unary47 =null;
Object set46_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:273:5: ( unary ( ( TIMES | DIV | REMAINDER ) ^ unary )* )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:273:7: unary ( ( TIMES | DIV | REMAINDER ) ^ unary )*
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_unary_in_mult1398);
unary45=unary();
state._fsp--;
adaptor.addChild(root_0, unary45.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:273:13: ( ( TIMES | DIV | REMAINDER ) ^ unary )*
loop13:
while (true) {
int alt13=2;
int LA13_0 = input.LA(1);
if ( (LA13_0==DIV||LA13_0==REMAINDER||LA13_0==TIMES) ) {
alt13=1;
}
switch (alt13) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:273:14: ( TIMES | DIV | REMAINDER ) ^ unary
{
set46=input.LT(1);
set46=input.LT(1);
if ( input.LA(1)==DIV||input.LA(1)==REMAINDER||input.LA(1)==TIMES ) {
input.consume();
root_0 = (Object)adaptor.becomeRoot((Object)adaptor.create(set46), root_0);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_unary_in_mult1410);
unary47=unary();
state._fsp--;
adaptor.addChild(root_0, unary47.getTree());
}
break;
default :
break loop13;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "mult"
public static class add_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "add"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:275:1: add : mult ( ( PLUS | MINUS ) ^ mult )* ;
public final ANTLRBtrplaceSL2Parser.add_return add() throws RecognitionException {
ANTLRBtrplaceSL2Parser.add_return retval = new ANTLRBtrplaceSL2Parser.add_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set49=null;
ParserRuleReturnScope mult48 =null;
ParserRuleReturnScope mult50 =null;
Object set49_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:275:4: ( mult ( ( PLUS | MINUS ) ^ mult )* )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:275:6: mult ( ( PLUS | MINUS ) ^ mult )*
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_mult_in_add1419);
mult48=mult();
state._fsp--;
adaptor.addChild(root_0, mult48.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:275:11: ( ( PLUS | MINUS ) ^ mult )*
loop14:
while (true) {
int alt14=2;
int LA14_0 = input.LA(1);
if ( (LA14_0==MINUS||LA14_0==PLUS) ) {
alt14=1;
}
switch (alt14) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:275:12: ( PLUS | MINUS ) ^ mult
{
set49=input.LT(1);
set49=input.LT(1);
if ( input.LA(1)==MINUS||input.LA(1)==PLUS ) {
input.consume();
root_0 = (Object)adaptor.becomeRoot((Object)adaptor.create(set49), root_0);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_mult_in_add1429);
mult50=mult();
state._fsp--;
adaptor.addChild(root_0, mult50.getTree());
}
break;
default :
break loop14;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "add"
public static class relation_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "relation"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:277:1: relation : add ( ( EQ | NEQ | LT | LEQ | GT | GEQ ) ^ add )* ;
public final ANTLRBtrplaceSL2Parser.relation_return relation() throws RecognitionException {
ANTLRBtrplaceSL2Parser.relation_return retval = new ANTLRBtrplaceSL2Parser.relation_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set52=null;
ParserRuleReturnScope add51 =null;
ParserRuleReturnScope add53 =null;
Object set52_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:277:9: ( add ( ( EQ | NEQ | LT | LEQ | GT | GEQ ) ^ add )* )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:277:11: add ( ( EQ | NEQ | LT | LEQ | GT | GEQ ) ^ add )*
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_add_in_relation1438);
add51=add();
state._fsp--;
adaptor.addChild(root_0, add51.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:277:15: ( ( EQ | NEQ | LT | LEQ | GT | GEQ ) ^ add )*
loop15:
while (true) {
int alt15=2;
int LA15_0 = input.LA(1);
if ( (LA15_0==EQ||(LA15_0 >= GEQ && LA15_0 <= GT)||(LA15_0 >= LEQ && LA15_0 <= LT)||LA15_0==NEQ) ) {
alt15=1;
}
switch (alt15) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:277:16: ( EQ | NEQ | LT | LEQ | GT | GEQ ) ^ add
{
set52=input.LT(1);
set52=input.LT(1);
if ( input.LA(1)==EQ||(input.LA(1) >= GEQ && input.LA(1) <= GT)||(input.LA(1) >= LEQ && input.LA(1) <= LT)||input.LA(1)==NEQ ) {
input.consume();
root_0 = (Object)adaptor.becomeRoot((Object)adaptor.create(set52), root_0);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_add_in_relation1466);
add53=add();
state._fsp--;
adaptor.addChild(root_0, add53.getTree());
}
break;
default :
break loop15;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "relation"
public static class expression_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "expression"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:278:1: expression : relation ( ( AND | OR ) ^ relation )* ;
public final ANTLRBtrplaceSL2Parser.expression_return expression() throws RecognitionException {
ANTLRBtrplaceSL2Parser.expression_return retval = new ANTLRBtrplaceSL2Parser.expression_return();
retval.start = input.LT(1);
Object root_0 = null;
Token set55=null;
ParserRuleReturnScope relation54 =null;
ParserRuleReturnScope relation56 =null;
Object set55_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:278:11: ( relation ( ( AND | OR ) ^ relation )* )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:278:13: relation ( ( AND | OR ) ^ relation )*
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_relation_in_expression1474);
relation54=relation();
state._fsp--;
adaptor.addChild(root_0, relation54.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:278:22: ( ( AND | OR ) ^ relation )*
loop16:
while (true) {
int alt16=2;
int LA16_0 = input.LA(1);
if ( (LA16_0==AND||LA16_0==OR) ) {
alt16=1;
}
switch (alt16) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:278:23: ( AND | OR ) ^ relation
{
set55=input.LT(1);
set55=input.LT(1);
if ( input.LA(1)==AND||input.LA(1)==OR ) {
input.consume();
root_0 = (Object)adaptor.becomeRoot((Object)adaptor.create(set55), root_0);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_relation_in_expression1486);
relation56=relation();
state._fsp--;
adaptor.addChild(root_0, relation56.getTree());
}
break;
default :
break loop16;
}
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "expression"
public static class forEachStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "forEachStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:281:1: forEachStatement : x= 'for' VARIABLE 'in' expression '{' bloc '}' -> ^( FOR[x] VARIABLE expression bloc ) ;
public final ANTLRBtrplaceSL2Parser.forEachStatement_return forEachStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.forEachStatement_return retval = new ANTLRBtrplaceSL2Parser.forEachStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token x=null;
Token VARIABLE57=null;
Token string_literal58=null;
Token char_literal60=null;
Token char_literal62=null;
ParserRuleReturnScope expression59 =null;
ParserRuleReturnScope bloc61 =null;
Object x_tree=null;
Object VARIABLE57_tree=null;
Object string_literal58_tree=null;
Object char_literal60_tree=null;
Object char_literal62_tree=null;
RewriteRuleTokenStream stream_77=new RewriteRuleTokenStream(adaptor,"token 77");
RewriteRuleTokenStream stream_VARIABLE=new RewriteRuleTokenStream(adaptor,"token VARIABLE");
RewriteRuleTokenStream stream_80=new RewriteRuleTokenStream(adaptor,"token 80");
RewriteRuleTokenStream stream_83=new RewriteRuleTokenStream(adaptor,"token 83");
RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
RewriteRuleSubtreeStream stream_bloc=new RewriteRuleSubtreeStream(adaptor,"rule bloc");
RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:281:17: (x= 'for' VARIABLE 'in' expression '{' bloc '}' -> ^( FOR[x] VARIABLE expression bloc ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:281:19: x= 'for' VARIABLE 'in' expression '{' bloc '}'
{
x=(Token)match(input,77,FOLLOW_77_in_forEachStatement1498);
stream_77.add(x);
VARIABLE57=(Token)match(input,VARIABLE,FOLLOW_VARIABLE_in_forEachStatement1500);
stream_VARIABLE.add(VARIABLE57);
string_literal58=(Token)match(input,80,FOLLOW_80_in_forEachStatement1502);
stream_80.add(string_literal58);
pushFollow(FOLLOW_expression_in_forEachStatement1504);
expression59=expression();
state._fsp--;
stream_expression.add(expression59.getTree());
char_literal60=(Token)match(input,83,FOLLOW_83_in_forEachStatement1506);
stream_83.add(char_literal60);
pushFollow(FOLLOW_bloc_in_forEachStatement1508);
bloc61=bloc();
state._fsp--;
stream_bloc.add(bloc61.getTree());
char_literal62=(Token)match(input,84,FOLLOW_84_in_forEachStatement1510);
stream_84.add(char_literal62);
// AST REWRITE
// elements: bloc, VARIABLE, expression
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 281:65: -> ^( FOR[x] VARIABLE expression bloc )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:281:68: ^( FOR[x] VARIABLE expression bloc )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(FOR, x), root_1);
adaptor.addChild(root_1, stream_VARIABLE.nextNode());
adaptor.addChild(root_1, stream_expression.nextTree());
adaptor.addChild(root_1, stream_bloc.nextTree());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "forEachStatement"
public static class constraintCallStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "constraintCallStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:1: constraintCallStatement : (d= '>>' )? CONSTRAINTIDENTIFIER expression ( ',' expression )* ')' ';' -> ^( CONSTRAINTIDENTIFIER ( $d)? ( expression )+ ) ;
public final ANTLRBtrplaceSL2Parser.constraintCallStatement_return constraintCallStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.constraintCallStatement_return retval = new ANTLRBtrplaceSL2Parser.constraintCallStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token d=null;
Token CONSTRAINTIDENTIFIER63=null;
Token char_literal65=null;
Token char_literal67=null;
Token char_literal68=null;
ParserRuleReturnScope expression64 =null;
ParserRuleReturnScope expression66 =null;
Object d_tree=null;
Object CONSTRAINTIDENTIFIER63_tree=null;
Object char_literal65_tree=null;
Object char_literal67_tree=null;
Object char_literal68_tree=null;
RewriteRuleTokenStream stream_CONSTRAINTIDENTIFIER=new RewriteRuleTokenStream(adaptor,"token CONSTRAINTIDENTIFIER");
RewriteRuleTokenStream stream_DISCRETE=new RewriteRuleTokenStream(adaptor,"token DISCRETE");
RewriteRuleTokenStream stream_72=new RewriteRuleTokenStream(adaptor,"token 72");
RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:24: ( (d= '>>' )? CONSTRAINTIDENTIFIER expression ( ',' expression )* ')' ';' -> ^( CONSTRAINTIDENTIFIER ( $d)? ( expression )+ ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:26: (d= '>>' )? CONSTRAINTIDENTIFIER expression ( ',' expression )* ')' ';'
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:27: (d= '>>' )?
int alt17=2;
int LA17_0 = input.LA(1);
if ( (LA17_0==DISCRETE) ) {
alt17=1;
}
switch (alt17) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:27: d= '>>'
{
d=(Token)match(input,DISCRETE,FOLLOW_DISCRETE_in_constraintCallStatement1532);
stream_DISCRETE.add(d);
}
break;
}
CONSTRAINTIDENTIFIER63=(Token)match(input,CONSTRAINTIDENTIFIER,FOLLOW_CONSTRAINTIDENTIFIER_in_constraintCallStatement1535);
stream_CONSTRAINTIDENTIFIER.add(CONSTRAINTIDENTIFIER63);
pushFollow(FOLLOW_expression_in_constraintCallStatement1537);
expression64=expression();
state._fsp--;
stream_expression.add(expression64.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:66: ( ',' expression )*
loop18:
while (true) {
int alt18=2;
int LA18_0 = input.LA(1);
if ( (LA18_0==73) ) {
alt18=1;
}
switch (alt18) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:67: ',' expression
{
char_literal65=(Token)match(input,73,FOLLOW_73_in_constraintCallStatement1540);
stream_73.add(char_literal65);
pushFollow(FOLLOW_expression_in_constraintCallStatement1542);
expression66=expression();
state._fsp--;
stream_expression.add(expression66.getTree());
}
break;
default :
break loop18;
}
}
char_literal67=(Token)match(input,72,FOLLOW_72_in_constraintCallStatement1546);
stream_72.add(char_literal67);
char_literal68=(Token)match(input,74,FOLLOW_74_in_constraintCallStatement1548);
stream_74.add(char_literal68);
// AST REWRITE
// elements: d, CONSTRAINTIDENTIFIER, expression
// token labels: d
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleTokenStream stream_d=new RewriteRuleTokenStream(adaptor,"token d",d);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 283:92: -> ^( CONSTRAINTIDENTIFIER ( $d)? ( expression )+ )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:95: ^( CONSTRAINTIDENTIFIER ( $d)? ( expression )+ )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot(stream_CONSTRAINTIDENTIFIER.nextNode(), root_1);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:283:119: ( $d)?
if ( stream_d.hasNext() ) {
adaptor.addChild(root_1, stream_d.nextNode());
}
stream_d.reset();
if ( !(stream_expression.hasNext()) ) {
throw new RewriteEarlyExitException();
}
while ( stream_expression.hasNext() ) {
adaptor.addChild(root_1, stream_expression.nextTree());
}
stream_expression.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "constraintCallStatement"
public static class instruction_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "instruction"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:284:1: instruction : ( definitionStatement | forEachStatement | ifStatement | constraintCallStatement | exportStatement );
public final ANTLRBtrplaceSL2Parser.instruction_return instruction() throws RecognitionException {
ANTLRBtrplaceSL2Parser.instruction_return retval = new ANTLRBtrplaceSL2Parser.instruction_return();
retval.start = input.LT(1);
Object root_0 = null;
ParserRuleReturnScope definitionStatement69 =null;
ParserRuleReturnScope forEachStatement70 =null;
ParserRuleReturnScope ifStatement71 =null;
ParserRuleReturnScope constraintCallStatement72 =null;
ParserRuleReturnScope exportStatement73 =null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:284:12: ( definitionStatement | forEachStatement | ifStatement | constraintCallStatement | exportStatement )
int alt19=5;
switch ( input.LA(1) ) {
case IDENTIFIER:
case LEFTFQDN:
case LEFTIDENTIFIER:
case LEFTVAR:
case NODE_NAME:
case VARIABLE:
case 83:
{
alt19=1;
}
break;
case 77:
{
alt19=2;
}
break;
case 78:
{
alt19=3;
}
break;
case CONSTRAINTIDENTIFIER:
case DISCRETE:
{
alt19=4;
}
break;
case 76:
{
alt19=5;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 19, 0, input);
throw nvae;
}
switch (alt19) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:284:14: definitionStatement
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_definitionStatement_in_instruction1568);
definitionStatement69=definitionStatement();
state._fsp--;
adaptor.addChild(root_0, definitionStatement69.getTree());
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:285:4: forEachStatement
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_forEachStatement_in_instruction1575);
forEachStatement70=forEachStatement();
state._fsp--;
adaptor.addChild(root_0, forEachStatement70.getTree());
}
break;
case 3 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:286:4: ifStatement
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_ifStatement_in_instruction1580);
ifStatement71=ifStatement();
state._fsp--;
adaptor.addChild(root_0, ifStatement71.getTree());
}
break;
case 4 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:287:4: constraintCallStatement
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_constraintCallStatement_in_instruction1585);
constraintCallStatement72=constraintCallStatement();
state._fsp--;
adaptor.addChild(root_0, constraintCallStatement72.getTree());
}
break;
case 5 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:288:4: exportStatement
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_exportStatement_in_instruction1590);
exportStatement73=exportStatement();
state._fsp--;
adaptor.addChild(root_0, exportStatement73.getTree());
}
break;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "instruction"
public static class definitionStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "definitionStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:1: definitionStatement : ( VARIABLE | set | IDENTIFIER | NODE_NAME ) ( ( EQUALS | PLUS_EQUALS | MINUS_EQUALS | TIMES_EQUALS | DIV_EQUALS | REMAINDER_EQUALS ) ^ expression | TYPE_DEFINITION ^ typeSpec ) ';' !;
public final ANTLRBtrplaceSL2Parser.definitionStatement_return definitionStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.definitionStatement_return retval = new ANTLRBtrplaceSL2Parser.definitionStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token VARIABLE74=null;
Token IDENTIFIER76=null;
Token NODE_NAME77=null;
Token set78=null;
Token TYPE_DEFINITION80=null;
Token char_literal82=null;
ParserRuleReturnScope set75 =null;
ParserRuleReturnScope expression79 =null;
ParserRuleReturnScope typeSpec81 =null;
Object VARIABLE74_tree=null;
Object IDENTIFIER76_tree=null;
Object NODE_NAME77_tree=null;
Object set78_tree=null;
Object TYPE_DEFINITION80_tree=null;
Object char_literal82_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:20: ( ( VARIABLE | set | IDENTIFIER | NODE_NAME ) ( ( EQUALS | PLUS_EQUALS | MINUS_EQUALS | TIMES_EQUALS | DIV_EQUALS | REMAINDER_EQUALS ) ^ expression | TYPE_DEFINITION ^ typeSpec ) ';' !)
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:22: ( VARIABLE | set | IDENTIFIER | NODE_NAME ) ( ( EQUALS | PLUS_EQUALS | MINUS_EQUALS | TIMES_EQUALS | DIV_EQUALS | REMAINDER_EQUALS ) ^ expression | TYPE_DEFINITION ^ typeSpec ) ';' !
{
root_0 = (Object)adaptor.nil();
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:22: ( VARIABLE | set | IDENTIFIER | NODE_NAME )
int alt20=4;
switch ( input.LA(1) ) {
case VARIABLE:
{
alt20=1;
}
break;
case LEFTFQDN:
case LEFTIDENTIFIER:
case LEFTVAR:
case 83:
{
alt20=2;
}
break;
case IDENTIFIER:
{
alt20=3;
}
break;
case NODE_NAME:
{
alt20=4;
}
break;
default:
NoViableAltException nvae =
new NoViableAltException("", 20, 0, input);
throw nvae;
}
switch (alt20) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:23: VARIABLE
{
VARIABLE74=(Token)match(input,VARIABLE,FOLLOW_VARIABLE_in_definitionStatement1605);
VARIABLE74_tree = (Object)adaptor.create(VARIABLE74);
adaptor.addChild(root_0, VARIABLE74_tree);
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:34: set
{
pushFollow(FOLLOW_set_in_definitionStatement1609);
set75=set();
state._fsp--;
adaptor.addChild(root_0, set75.getTree());
}
break;
case 3 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:39: IDENTIFIER
{
IDENTIFIER76=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_definitionStatement1612);
IDENTIFIER76_tree = (Object)adaptor.create(IDENTIFIER76);
adaptor.addChild(root_0, IDENTIFIER76_tree);
}
break;
case 4 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:291:52: NODE_NAME
{
NODE_NAME77=(Token)match(input,NODE_NAME,FOLLOW_NODE_NAME_in_definitionStatement1616);
NODE_NAME77_tree = (Object)adaptor.create(NODE_NAME77);
adaptor.addChild(root_0, NODE_NAME77_tree);
}
break;
}
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:292:75: ( ( EQUALS | PLUS_EQUALS | MINUS_EQUALS | TIMES_EQUALS | DIV_EQUALS | REMAINDER_EQUALS ) ^ expression | TYPE_DEFINITION ^ typeSpec )
int alt21=2;
int LA21_0 = input.LA(1);
if ( (LA21_0==DIV_EQUALS||LA21_0==EQUALS||LA21_0==MINUS_EQUALS||LA21_0==PLUS_EQUALS||LA21_0==REMAINDER_EQUALS||LA21_0==TIMES_EQUALS) ) {
alt21=1;
}
else if ( (LA21_0==TYPE_DEFINITION) ) {
alt21=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 21, 0, input);
throw nvae;
}
switch (alt21) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:293:75: ( EQUALS | PLUS_EQUALS | MINUS_EQUALS | TIMES_EQUALS | DIV_EQUALS | REMAINDER_EQUALS ) ^ expression
{
set78=input.LT(1);
set78=input.LT(1);
if ( input.LA(1)==DIV_EQUALS||input.LA(1)==EQUALS||input.LA(1)==MINUS_EQUALS||input.LA(1)==PLUS_EQUALS||input.LA(1)==REMAINDER_EQUALS||input.LA(1)==TIMES_EQUALS ) {
input.consume();
root_0 = (Object)adaptor.becomeRoot((Object)adaptor.create(set78), root_0);
state.errorRecovery=false;
}
else {
MismatchedSetException mse = new MismatchedSetException(null,input);
throw mse;
}
pushFollow(FOLLOW_expression_in_definitionStatement1636);
expression79=expression();
state._fsp--;
adaptor.addChild(root_0, expression79.getTree());
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:294:2: TYPE_DEFINITION ^ typeSpec
{
TYPE_DEFINITION80=(Token)match(input,TYPE_DEFINITION,FOLLOW_TYPE_DEFINITION_in_definitionStatement1639);
TYPE_DEFINITION80_tree = (Object)adaptor.create(TYPE_DEFINITION80);
root_0 = (Object)adaptor.becomeRoot(TYPE_DEFINITION80_tree, root_0);
pushFollow(FOLLOW_typeSpec_in_definitionStatement1642);
typeSpec81=typeSpec();
state._fsp--;
adaptor.addChild(root_0, typeSpec81.getTree());
}
break;
}
char_literal82=(Token)match(input,74,FOLLOW_74_in_definitionStatement1646);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "definitionStatement"
public static class typeSpec_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "typeSpec"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:1: typeSpec : IDENTIFIER ^ ( '<' ! templateOption ( ',' ! templateOption )* '>' !)? ;
public final ANTLRBtrplaceSL2Parser.typeSpec_return typeSpec() throws RecognitionException {
ANTLRBtrplaceSL2Parser.typeSpec_return retval = new ANTLRBtrplaceSL2Parser.typeSpec_return();
retval.start = input.LT(1);
Object root_0 = null;
Token IDENTIFIER83=null;
Token char_literal84=null;
Token char_literal86=null;
Token char_literal88=null;
ParserRuleReturnScope templateOption85 =null;
ParserRuleReturnScope templateOption87 =null;
Object IDENTIFIER83_tree=null;
Object char_literal84_tree=null;
Object char_literal86_tree=null;
Object char_literal88_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:9: ( IDENTIFIER ^ ( '<' ! templateOption ( ',' ! templateOption )* '>' !)? )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:11: IDENTIFIER ^ ( '<' ! templateOption ( ',' ! templateOption )* '>' !)?
{
root_0 = (Object)adaptor.nil();
IDENTIFIER83=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_typeSpec1654);
IDENTIFIER83_tree = (Object)adaptor.create(IDENTIFIER83);
root_0 = (Object)adaptor.becomeRoot(IDENTIFIER83_tree, root_0);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:23: ( '<' ! templateOption ( ',' ! templateOption )* '>' !)?
int alt23=2;
int LA23_0 = input.LA(1);
if ( (LA23_0==LT) ) {
alt23=1;
}
switch (alt23) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:24: '<' ! templateOption ( ',' ! templateOption )* '>' !
{
char_literal84=(Token)match(input,LT,FOLLOW_LT_in_typeSpec1658);
pushFollow(FOLLOW_templateOption_in_typeSpec1661);
templateOption85=templateOption();
state._fsp--;
adaptor.addChild(root_0, templateOption85.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:44: ( ',' ! templateOption )*
loop22:
while (true) {
int alt22=2;
int LA22_0 = input.LA(1);
if ( (LA22_0==73) ) {
alt22=1;
}
switch (alt22) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:297:45: ',' ! templateOption
{
char_literal86=(Token)match(input,73,FOLLOW_73_in_typeSpec1664);
pushFollow(FOLLOW_templateOption_in_typeSpec1667);
templateOption87=templateOption();
state._fsp--;
adaptor.addChild(root_0, templateOption87.getTree());
}
break;
default :
break loop22;
}
}
char_literal88=(Token)match(input,GT,FOLLOW_GT_in_typeSpec1671);
}
break;
}
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "typeSpec"
public static class templateOption_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "templateOption"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:1: templateOption : i1= IDENTIFIER ( '=' (i2= number |i3= STRING ) )? -> ^( TEMPLATE_OPTION $i1 ( $i2)? ( $i3)? ) ;
public final ANTLRBtrplaceSL2Parser.templateOption_return templateOption() throws RecognitionException {
ANTLRBtrplaceSL2Parser.templateOption_return retval = new ANTLRBtrplaceSL2Parser.templateOption_return();
retval.start = input.LT(1);
Object root_0 = null;
Token i1=null;
Token i3=null;
Token char_literal89=null;
ParserRuleReturnScope i2 =null;
Object i1_tree=null;
Object i3_tree=null;
Object char_literal89_tree=null;
RewriteRuleTokenStream stream_EQUALS=new RewriteRuleTokenStream(adaptor,"token EQUALS");
RewriteRuleTokenStream stream_STRING=new RewriteRuleTokenStream(adaptor,"token STRING");
RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
RewriteRuleSubtreeStream stream_number=new RewriteRuleSubtreeStream(adaptor,"rule number");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:15: (i1= IDENTIFIER ( '=' (i2= number |i3= STRING ) )? -> ^( TEMPLATE_OPTION $i1 ( $i2)? ( $i3)? ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:17: i1= IDENTIFIER ( '=' (i2= number |i3= STRING ) )?
{
i1=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_templateOption1683);
stream_IDENTIFIER.add(i1);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:31: ( '=' (i2= number |i3= STRING ) )?
int alt25=2;
int LA25_0 = input.LA(1);
if ( (LA25_0==EQUALS) ) {
alt25=1;
}
switch (alt25) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:32: '=' (i2= number |i3= STRING )
{
char_literal89=(Token)match(input,EQUALS,FOLLOW_EQUALS_in_templateOption1686);
stream_EQUALS.add(char_literal89);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:36: (i2= number |i3= STRING )
int alt24=2;
int LA24_0 = input.LA(1);
if ( (LA24_0==DECIMAL||LA24_0==FLOAT||LA24_0==HEXA||LA24_0==OCTAL) ) {
alt24=1;
}
else if ( (LA24_0==STRING) ) {
alt24=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 24, 0, input);
throw nvae;
}
switch (alt24) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:37: i2= number
{
pushFollow(FOLLOW_number_in_templateOption1691);
i2=number();
state._fsp--;
stream_number.add(i2.getTree());
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:47: i3= STRING
{
i3=(Token)match(input,STRING,FOLLOW_STRING_in_templateOption1695);
stream_STRING.add(i3);
}
break;
}
}
break;
}
// AST REWRITE
// elements: i1, i3, i2
// token labels: i1, i3
// rule labels: i2, retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleTokenStream stream_i1=new RewriteRuleTokenStream(adaptor,"token i1",i1);
RewriteRuleTokenStream stream_i3=new RewriteRuleTokenStream(adaptor,"token i3",i3);
RewriteRuleSubtreeStream stream_i2=new RewriteRuleSubtreeStream(adaptor,"rule i2",i2!=null?i2.getTree():null);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 299:60: -> ^( TEMPLATE_OPTION $i1 ( $i2)? ( $i3)? )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:63: ^( TEMPLATE_OPTION $i1 ( $i2)? ( $i3)? )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(TEMPLATE_OPTION, "TEMPLATE_OPTION"), root_1);
adaptor.addChild(root_1, stream_i1.nextNode());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:86: ( $i2)?
if ( stream_i2.hasNext() ) {
adaptor.addChild(root_1, stream_i2.nextTree());
}
stream_i2.reset();
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:299:91: ( $i3)?
if ( stream_i3.hasNext() ) {
adaptor.addChild(root_1, stream_i3.nextNode());
}
stream_i3.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "templateOption"
public static class bloc_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "bloc"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:1: bloc : ( instruction )* -> ^( BLOCK ( instruction )* ) ;
public final ANTLRBtrplaceSL2Parser.bloc_return bloc() throws RecognitionException {
ANTLRBtrplaceSL2Parser.bloc_return retval = new ANTLRBtrplaceSL2Parser.bloc_return();
retval.start = input.LT(1);
Object root_0 = null;
ParserRuleReturnScope instruction90 =null;
RewriteRuleSubtreeStream stream_instruction=new RewriteRuleSubtreeStream(adaptor,"rule instruction");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:5: ( ( instruction )* -> ^( BLOCK ( instruction )* ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:7: ( instruction )*
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:7: ( instruction )*
loop26:
while (true) {
int alt26=2;
int LA26_0 = input.LA(1);
if ( (LA26_0==CONSTRAINTIDENTIFIER||LA26_0==DISCRETE||LA26_0==IDENTIFIER||(LA26_0 >= LEFTFQDN && LA26_0 <= LEFTVAR)||LA26_0==NODE_NAME||LA26_0==VARIABLE||(LA26_0 >= 76 && LA26_0 <= 78)||LA26_0==83) ) {
alt26=1;
}
switch (alt26) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:7: instruction
{
pushFollow(FOLLOW_instruction_in_bloc1722);
instruction90=instruction();
state._fsp--;
stream_instruction.add(instruction90.getTree());
}
break;
default :
break loop26;
}
}
// AST REWRITE
// elements: instruction
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 301:20: -> ^( BLOCK ( instruction )* )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:23: ^( BLOCK ( instruction )* )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(BLOCK, "BLOCK"), root_1);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:301:31: ( instruction )*
while ( stream_instruction.hasNext() ) {
adaptor.addChild(root_1, stream_instruction.nextTree());
}
stream_instruction.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "bloc"
public static class script_decl_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "script_decl"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:1: script_decl : nameSpaceStatement ( useStatement )* ( instruction )* EOF !;
public final ANTLRBtrplaceSL2Parser.script_decl_return script_decl() throws RecognitionException {
ANTLRBtrplaceSL2Parser.script_decl_return retval = new ANTLRBtrplaceSL2Parser.script_decl_return();
retval.start = input.LT(1);
Object root_0 = null;
Token EOF94=null;
ParserRuleReturnScope nameSpaceStatement91 =null;
ParserRuleReturnScope useStatement92 =null;
ParserRuleReturnScope instruction93 =null;
Object EOF94_tree=null;
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:12: ( nameSpaceStatement ( useStatement )* ( instruction )* EOF !)
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:14: nameSpaceStatement ( useStatement )* ( instruction )* EOF !
{
root_0 = (Object)adaptor.nil();
pushFollow(FOLLOW_nameSpaceStatement_in_script_decl1739);
nameSpaceStatement91=nameSpaceStatement();
state._fsp--;
adaptor.addChild(root_0, nameSpaceStatement91.getTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:33: ( useStatement )*
loop27:
while (true) {
int alt27=2;
int LA27_0 = input.LA(1);
if ( (LA27_0==79) ) {
alt27=1;
}
switch (alt27) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:33: useStatement
{
pushFollow(FOLLOW_useStatement_in_script_decl1741);
useStatement92=useStatement();
state._fsp--;
adaptor.addChild(root_0, useStatement92.getTree());
}
break;
default :
break loop27;
}
}
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:47: ( instruction )*
loop28:
while (true) {
int alt28=2;
int LA28_0 = input.LA(1);
if ( (LA28_0==CONSTRAINTIDENTIFIER||LA28_0==DISCRETE||LA28_0==IDENTIFIER||(LA28_0 >= LEFTFQDN && LA28_0 <= LEFTVAR)||LA28_0==NODE_NAME||LA28_0==VARIABLE||(LA28_0 >= 76 && LA28_0 <= 78)||LA28_0==83) ) {
alt28=1;
}
switch (alt28) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:303:47: instruction
{
pushFollow(FOLLOW_instruction_in_script_decl1744);
instruction93=instruction();
state._fsp--;
adaptor.addChild(root_0, instruction93.getTree());
}
break;
default :
break loop28;
}
}
EOF94=(Token)match(input,EOF,FOLLOW_EOF_in_script_decl1747);
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "script_decl"
public static class ifStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "ifStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:305:1: ifStatement : 'if' expression '{' i1= bloc '}' ( 'else' ( '{' i2= bloc '}' |if2= ifStatement ) )? -> ^( IF expression $i1 ( $i2)? ( $if2)? ) ;
public final ANTLRBtrplaceSL2Parser.ifStatement_return ifStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.ifStatement_return retval = new ANTLRBtrplaceSL2Parser.ifStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token string_literal95=null;
Token char_literal97=null;
Token char_literal98=null;
Token string_literal99=null;
Token char_literal100=null;
Token char_literal101=null;
ParserRuleReturnScope i1 =null;
ParserRuleReturnScope i2 =null;
ParserRuleReturnScope if2 =null;
ParserRuleReturnScope expression96 =null;
Object string_literal95_tree=null;
Object char_literal97_tree=null;
Object char_literal98_tree=null;
Object string_literal99_tree=null;
Object char_literal100_tree=null;
Object char_literal101_tree=null;
RewriteRuleTokenStream stream_78=new RewriteRuleTokenStream(adaptor,"token 78");
RewriteRuleTokenStream stream_83=new RewriteRuleTokenStream(adaptor,"token 83");
RewriteRuleTokenStream stream_84=new RewriteRuleTokenStream(adaptor,"token 84");
RewriteRuleTokenStream stream_75=new RewriteRuleTokenStream(adaptor,"token 75");
RewriteRuleSubtreeStream stream_bloc=new RewriteRuleSubtreeStream(adaptor,"rule bloc");
RewriteRuleSubtreeStream stream_expression=new RewriteRuleSubtreeStream(adaptor,"rule expression");
RewriteRuleSubtreeStream stream_ifStatement=new RewriteRuleSubtreeStream(adaptor,"rule ifStatement");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:305:12: ( 'if' expression '{' i1= bloc '}' ( 'else' ( '{' i2= bloc '}' |if2= ifStatement ) )? -> ^( IF expression $i1 ( $i2)? ( $if2)? ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:305:14: 'if' expression '{' i1= bloc '}' ( 'else' ( '{' i2= bloc '}' |if2= ifStatement ) )?
{
string_literal95=(Token)match(input,78,FOLLOW_78_in_ifStatement1755);
stream_78.add(string_literal95);
pushFollow(FOLLOW_expression_in_ifStatement1757);
expression96=expression();
state._fsp--;
stream_expression.add(expression96.getTree());
char_literal97=(Token)match(input,83,FOLLOW_83_in_ifStatement1759);
stream_83.add(char_literal97);
pushFollow(FOLLOW_bloc_in_ifStatement1763);
i1=bloc();
state._fsp--;
stream_bloc.add(i1.getTree());
char_literal98=(Token)match(input,84,FOLLOW_84_in_ifStatement1765);
stream_84.add(char_literal98);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:3: ( 'else' ( '{' i2= bloc '}' |if2= ifStatement ) )?
int alt30=2;
int LA30_0 = input.LA(1);
if ( (LA30_0==75) ) {
alt30=1;
}
switch (alt30) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:4: 'else' ( '{' i2= bloc '}' |if2= ifStatement )
{
string_literal99=(Token)match(input,75,FOLLOW_75_in_ifStatement1771);
stream_75.add(string_literal99);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:11: ( '{' i2= bloc '}' |if2= ifStatement )
int alt29=2;
int LA29_0 = input.LA(1);
if ( (LA29_0==83) ) {
alt29=1;
}
else if ( (LA29_0==78) ) {
alt29=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 29, 0, input);
throw nvae;
}
switch (alt29) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:12: '{' i2= bloc '}'
{
char_literal100=(Token)match(input,83,FOLLOW_83_in_ifStatement1774);
stream_83.add(char_literal100);
pushFollow(FOLLOW_bloc_in_ifStatement1778);
i2=bloc();
state._fsp--;
stream_bloc.add(i2.getTree());
char_literal101=(Token)match(input,84,FOLLOW_84_in_ifStatement1780);
stream_84.add(char_literal101);
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:29: if2= ifStatement
{
pushFollow(FOLLOW_ifStatement_in_ifStatement1785);
if2=ifStatement();
state._fsp--;
stream_ifStatement.add(if2.getTree());
}
break;
}
}
break;
}
// AST REWRITE
// elements: i2, i1, if2, expression
// token labels:
// rule labels: if2, i1, i2, retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_if2=new RewriteRuleSubtreeStream(adaptor,"rule if2",if2!=null?if2.getTree():null);
RewriteRuleSubtreeStream stream_i1=new RewriteRuleSubtreeStream(adaptor,"rule i1",i1!=null?i1.getTree():null);
RewriteRuleSubtreeStream stream_i2=new RewriteRuleSubtreeStream(adaptor,"rule i2",i2!=null?i2.getTree():null);
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 306:48: -> ^( IF expression $i1 ( $i2)? ( $if2)? )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:50: ^( IF expression $i1 ( $i2)? ( $if2)? )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(IF, "IF"), root_1);
adaptor.addChild(root_1, stream_expression.nextTree());
adaptor.addChild(root_1, stream_i1.nextTree());
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:71: ( $i2)?
if ( stream_i2.hasNext() ) {
adaptor.addChild(root_1, stream_i2.nextTree());
}
stream_i2.reset();
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:306:76: ( $if2)?
if ( stream_if2.hasNext() ) {
adaptor.addChild(root_1, stream_if2.nextTree());
}
stream_if2.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "ifStatement"
public static class exportStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "exportStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:1: exportStatement : x= 'export' ( VARIABLE | set ) ( ',' ( VARIABLE | set ) )* 'to' ( '*' | IDENTIFIER ( ',' IDENTIFIER )* ) ';' -> ^( EXPORT[$x] ( VARIABLE )* ( set )* ( '*' )? ( IDENTIFIER )* ) ;
public final ANTLRBtrplaceSL2Parser.exportStatement_return exportStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.exportStatement_return retval = new ANTLRBtrplaceSL2Parser.exportStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token x=null;
Token VARIABLE102=null;
Token char_literal104=null;
Token VARIABLE105=null;
Token string_literal107=null;
Token char_literal108=null;
Token IDENTIFIER109=null;
Token char_literal110=null;
Token IDENTIFIER111=null;
Token char_literal112=null;
ParserRuleReturnScope set103 =null;
ParserRuleReturnScope set106 =null;
Object x_tree=null;
Object VARIABLE102_tree=null;
Object char_literal104_tree=null;
Object VARIABLE105_tree=null;
Object string_literal107_tree=null;
Object char_literal108_tree=null;
Object IDENTIFIER109_tree=null;
Object char_literal110_tree=null;
Object IDENTIFIER111_tree=null;
Object char_literal112_tree=null;
RewriteRuleTokenStream stream_TIMES=new RewriteRuleTokenStream(adaptor,"token TIMES");
RewriteRuleTokenStream stream_VARIABLE=new RewriteRuleTokenStream(adaptor,"token VARIABLE");
RewriteRuleTokenStream stream_82=new RewriteRuleTokenStream(adaptor,"token 82");
RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
RewriteRuleTokenStream stream_73=new RewriteRuleTokenStream(adaptor,"token 73");
RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
RewriteRuleTokenStream stream_76=new RewriteRuleTokenStream(adaptor,"token 76");
RewriteRuleSubtreeStream stream_set=new RewriteRuleSubtreeStream(adaptor,"rule set");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:16: (x= 'export' ( VARIABLE | set ) ( ',' ( VARIABLE | set ) )* 'to' ( '*' | IDENTIFIER ( ',' IDENTIFIER )* ) ';' -> ^( EXPORT[$x] ( VARIABLE )* ( set )* ( '*' )? ( IDENTIFIER )* ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:18: x= 'export' ( VARIABLE | set ) ( ',' ( VARIABLE | set ) )* 'to' ( '*' | IDENTIFIER ( ',' IDENTIFIER )* ) ';'
{
x=(Token)match(input,76,FOLLOW_76_in_exportStatement1818);
stream_76.add(x);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:29: ( VARIABLE | set )
int alt31=2;
int LA31_0 = input.LA(1);
if ( (LA31_0==VARIABLE) ) {
alt31=1;
}
else if ( ((LA31_0 >= LEFTFQDN && LA31_0 <= LEFTVAR)||LA31_0==83) ) {
alt31=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 31, 0, input);
throw nvae;
}
switch (alt31) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:30: VARIABLE
{
VARIABLE102=(Token)match(input,VARIABLE,FOLLOW_VARIABLE_in_exportStatement1821);
stream_VARIABLE.add(VARIABLE102);
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:39: set
{
pushFollow(FOLLOW_set_in_exportStatement1823);
set103=set();
state._fsp--;
stream_set.add(set103.getTree());
}
break;
}
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:44: ( ',' ( VARIABLE | set ) )*
loop33:
while (true) {
int alt33=2;
int LA33_0 = input.LA(1);
if ( (LA33_0==73) ) {
alt33=1;
}
switch (alt33) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:45: ',' ( VARIABLE | set )
{
char_literal104=(Token)match(input,73,FOLLOW_73_in_exportStatement1827);
stream_73.add(char_literal104);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:49: ( VARIABLE | set )
int alt32=2;
int LA32_0 = input.LA(1);
if ( (LA32_0==VARIABLE) ) {
alt32=1;
}
else if ( ((LA32_0 >= LEFTFQDN && LA32_0 <= LEFTVAR)||LA32_0==83) ) {
alt32=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 32, 0, input);
throw nvae;
}
switch (alt32) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:50: VARIABLE
{
VARIABLE105=(Token)match(input,VARIABLE,FOLLOW_VARIABLE_in_exportStatement1830);
stream_VARIABLE.add(VARIABLE105);
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:59: set
{
pushFollow(FOLLOW_set_in_exportStatement1832);
set106=set();
state._fsp--;
stream_set.add(set106.getTree());
}
break;
}
}
break;
default :
break loop33;
}
}
string_literal107=(Token)match(input,82,FOLLOW_82_in_exportStatement1837);
stream_82.add(string_literal107);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:71: ( '*' | IDENTIFIER ( ',' IDENTIFIER )* )
int alt35=2;
int LA35_0 = input.LA(1);
if ( (LA35_0==TIMES) ) {
alt35=1;
}
else if ( (LA35_0==IDENTIFIER) ) {
alt35=2;
}
else {
NoViableAltException nvae =
new NoViableAltException("", 35, 0, input);
throw nvae;
}
switch (alt35) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:72: '*'
{
char_literal108=(Token)match(input,TIMES,FOLLOW_TIMES_in_exportStatement1840);
stream_TIMES.add(char_literal108);
}
break;
case 2 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:76: IDENTIFIER ( ',' IDENTIFIER )*
{
IDENTIFIER109=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_exportStatement1842);
stream_IDENTIFIER.add(IDENTIFIER109);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:87: ( ',' IDENTIFIER )*
loop34:
while (true) {
int alt34=2;
int LA34_0 = input.LA(1);
if ( (LA34_0==73) ) {
alt34=1;
}
switch (alt34) {
case 1 :
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:88: ',' IDENTIFIER
{
char_literal110=(Token)match(input,73,FOLLOW_73_in_exportStatement1845);
stream_73.add(char_literal110);
IDENTIFIER111=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_exportStatement1847);
stream_IDENTIFIER.add(IDENTIFIER111);
}
break;
default :
break loop34;
}
}
}
break;
}
char_literal112=(Token)match(input,74,FOLLOW_74_in_exportStatement1852);
stream_74.add(char_literal112);
// AST REWRITE
// elements: TIMES, set, VARIABLE, IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 309:110: -> ^( EXPORT[$x] ( VARIABLE )* ( set )* ( '*' )? ( IDENTIFIER )* )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:112: ^( EXPORT[$x] ( VARIABLE )* ( set )* ( '*' )? ( IDENTIFIER )* )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(EXPORT, x), root_1);
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:125: ( VARIABLE )*
while ( stream_VARIABLE.hasNext() ) {
adaptor.addChild(root_1, stream_VARIABLE.nextNode());
}
stream_VARIABLE.reset();
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:135: ( set )*
while ( stream_set.hasNext() ) {
adaptor.addChild(root_1, stream_set.nextTree());
}
stream_set.reset();
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:140: ( '*' )?
if ( stream_TIMES.hasNext() ) {
adaptor.addChild(root_1, stream_TIMES.nextNode());
}
stream_TIMES.reset();
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:309:145: ( IDENTIFIER )*
while ( stream_IDENTIFIER.hasNext() ) {
adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
}
stream_IDENTIFIER.reset();
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "exportStatement"
public static class nameSpaceStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "nameSpaceStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:311:1: nameSpaceStatement : x= 'namespace' IDENTIFIER ';' -> ^( NAMESPACE[$x] IDENTIFIER ) ;
public final ANTLRBtrplaceSL2Parser.nameSpaceStatement_return nameSpaceStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.nameSpaceStatement_return retval = new ANTLRBtrplaceSL2Parser.nameSpaceStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token x=null;
Token IDENTIFIER113=null;
Token char_literal114=null;
Object x_tree=null;
Object IDENTIFIER113_tree=null;
Object char_literal114_tree=null;
RewriteRuleTokenStream stream_81=new RewriteRuleTokenStream(adaptor,"token 81");
RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:311:19: (x= 'namespace' IDENTIFIER ';' -> ^( NAMESPACE[$x] IDENTIFIER ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:311:21: x= 'namespace' IDENTIFIER ';'
{
x=(Token)match(input,81,FOLLOW_81_in_nameSpaceStatement1879);
stream_81.add(x);
IDENTIFIER113=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_nameSpaceStatement1881);
stream_IDENTIFIER.add(IDENTIFIER113);
char_literal114=(Token)match(input,74,FOLLOW_74_in_nameSpaceStatement1883);
stream_74.add(char_literal114);
// AST REWRITE
// elements: IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 311:50: -> ^( NAMESPACE[$x] IDENTIFIER )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:311:53: ^( NAMESPACE[$x] IDENTIFIER )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(NAMESPACE, x), root_1);
adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "nameSpaceStatement"
public static class useStatement_return extends ParserRuleReturnScope {
Object tree;
@Override
public Object getTree() { return tree; }
};
// $ANTLR start "useStatement"
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:313:1: useStatement : x= 'import' IDENTIFIER ';' -> ^( USE[$x] IDENTIFIER ) ;
public final ANTLRBtrplaceSL2Parser.useStatement_return useStatement() throws RecognitionException {
ANTLRBtrplaceSL2Parser.useStatement_return retval = new ANTLRBtrplaceSL2Parser.useStatement_return();
retval.start = input.LT(1);
Object root_0 = null;
Token x=null;
Token IDENTIFIER115=null;
Token char_literal116=null;
Object x_tree=null;
Object IDENTIFIER115_tree=null;
Object char_literal116_tree=null;
RewriteRuleTokenStream stream_79=new RewriteRuleTokenStream(adaptor,"token 79");
RewriteRuleTokenStream stream_IDENTIFIER=new RewriteRuleTokenStream(adaptor,"token IDENTIFIER");
RewriteRuleTokenStream stream_74=new RewriteRuleTokenStream(adaptor,"token 74");
try {
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:313:13: (x= 'import' IDENTIFIER ';' -> ^( USE[$x] IDENTIFIER ) )
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:313:15: x= 'import' IDENTIFIER ';'
{
x=(Token)match(input,79,FOLLOW_79_in_useStatement1901);
stream_79.add(x);
IDENTIFIER115=(Token)match(input,IDENTIFIER,FOLLOW_IDENTIFIER_in_useStatement1903);
stream_IDENTIFIER.add(IDENTIFIER115);
char_literal116=(Token)match(input,74,FOLLOW_74_in_useStatement1905);
stream_74.add(char_literal116);
// AST REWRITE
// elements: IDENTIFIER
// token labels:
// rule labels: retval
// token list labels:
// rule list labels:
// wildcard labels:
retval.tree = root_0;
RewriteRuleSubtreeStream stream_retval=new RewriteRuleSubtreeStream(adaptor,"rule retval",retval!=null?retval.getTree():null);
root_0 = (Object)adaptor.nil();
// 313:41: -> ^( USE[$x] IDENTIFIER )
{
// org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g:313:44: ^( USE[$x] IDENTIFIER )
{
Object root_1 = (Object)adaptor.nil();
root_1 = (Object)adaptor.becomeRoot((Object)adaptor.create(USE, x), root_1);
adaptor.addChild(root_1, stream_IDENTIFIER.nextNode());
adaptor.addChild(root_0, root_1);
}
}
retval.tree = root_0;
}
retval.stop = input.LT(-1);
retval.tree = (Object)adaptor.rulePostProcessing(root_0);
adaptor.setTokenBoundaries(retval.tree, retval.start, retval.stop);
}
catch (RecognitionException re) {
reportError(re);
recover(input,re);
retval.tree = (Object)adaptor.errorNode(input, retval.start, input.LT(-1), re);
}
finally {
// do for sure before leaving
}
return retval;
}
// $ANTLR end "useStatement"
// Delegated rules
public static final BitSet FOLLOW_70_in_cardinality976 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_powerable_in_cardinality978 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_explodedSet_in_set1015 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rangeVar_in_set1019 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rangeFqdn_in_set1023 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_rangeIdentifier_in_set1027 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_83_in_explodedSet1036 = new BitSet(new long[]{0x400E207222000820L,0x00000000001800D0L});
public static final BitSet FOLLOW_setContent_in_explodedSet1039 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100200L});
public static final BitSet FOLLOW_73_in_explodedSet1042 = new BitSet(new long[]{0x400E207222000820L,0x00000000000800D0L});
public static final BitSet FOLLOW_setContent_in_explodedSet1044 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100200L});
public static final BitSet FOLLOW_84_in_explodedSet1050 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEFTVAR_in_rangeVar1098 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_braceContent_in_rangeVar1102 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_73_in_rangeVar1105 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_braceContent_in_rangeVar1109 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_RIGHT_in_rangeVar1113 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEFTFQDN_in_rangeFqdn1140 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_braceContent_in_rangeFqdn1144 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_73_in_rangeFqdn1147 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_braceContent_in_rangeFqdn1151 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_RIGHT_in_rangeFqdn1155 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_LEFTIDENTIFIER_in_rangeIdentifier1189 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_braceContent_in_rangeIdentifier1193 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_73_in_rangeIdentifier1196 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_braceContent_in_rangeIdentifier1200 = new BitSet(new long[]{0x2000000000000000L,0x0000000000000200L});
public static final BitSet FOLLOW_RIGHT_in_rangeIdentifier1204 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_range_in_braceContent1225 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_term_in_range1242 = new BitSet(new long[]{0x0400000000000002L});
public static final BitSet FOLLOW_RANGE_in_range1245 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_term_in_range1248 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_expression_in_setContent1261 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_BLANK_in_setContent1270 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_71_in_term1283 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_expression_in_term1285 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000100L});
public static final BitSet FOLLOW_72_in_term1287 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_term1296 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NODE_NAME_in_term1301 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_number_in_term1306 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VARIABLE_in_term1311 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_term1318 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_set_in_term1323 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_term_in_powerable1331 = new BitSet(new long[]{0x0100000000000002L});
public static final BitSet FOLLOW_POWER_in_powerable1334 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_term_in_powerable1337 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_NOT_in_negation1349 = new BitSet(new long[]{0x400A007222000800L,0x0000000000080090L});
public static final BitSet FOLLOW_powerable_in_negation1352 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_cardinality_in_negation1357 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_powerable_in_negation1362 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_MINUS_in_unary1368 = new BitSet(new long[]{0x400E007222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_negation_in_unary1370 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_negation_in_unary1388 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_unary_in_mult1398 = new BitSet(new long[]{0x0800000000002002L,0x0000000000000001L});
public static final BitSet FOLLOW_set_in_mult1401 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_unary_in_mult1410 = new BitSet(new long[]{0x0800000000002002L,0x0000000000000001L});
public static final BitSet FOLLOW_mult_in_add1419 = new BitSet(new long[]{0x0040200000000002L});
public static final BitSet FOLLOW_set_in_add1422 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_mult_in_add1429 = new BitSet(new long[]{0x0040200000000002L});
public static final BitSet FOLLOW_add_in_relation1438 = new BitSet(new long[]{0x0001018018100002L});
public static final BitSet FOLLOW_set_in_relation1441 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_add_in_relation1466 = new BitSet(new long[]{0x0001018018100002L});
public static final BitSet FOLLOW_relation_in_expression1474 = new BitSet(new long[]{0x0020000000000012L});
public static final BitSet FOLLOW_set_in_expression1477 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_relation_in_expression1486 = new BitSet(new long[]{0x0020000000000012L});
public static final BitSet FOLLOW_77_in_forEachStatement1498 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000010L});
public static final BitSet FOLLOW_VARIABLE_in_forEachStatement1500 = new BitSet(new long[]{0x0000000000000000L,0x0000000000010000L});
public static final BitSet FOLLOW_80_in_forEachStatement1502 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_expression_in_forEachStatement1504 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
public static final BitSet FOLLOW_83_in_forEachStatement1506 = new BitSet(new long[]{0x0002007200001400L,0x0000000000187010L});
public static final BitSet FOLLOW_bloc_in_forEachStatement1508 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_84_in_forEachStatement1510 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_DISCRETE_in_constraintCallStatement1532 = new BitSet(new long[]{0x0000000000000400L});
public static final BitSet FOLLOW_CONSTRAINTIDENTIFIER_in_constraintCallStatement1535 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_expression_in_constraintCallStatement1537 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
public static final BitSet FOLLOW_73_in_constraintCallStatement1540 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_expression_in_constraintCallStatement1542 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000300L});
public static final BitSet FOLLOW_72_in_constraintCallStatement1546 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_constraintCallStatement1548 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_definitionStatement_in_instruction1568 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_forEachStatement_in_instruction1575 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ifStatement_in_instruction1580 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_constraintCallStatement_in_instruction1585 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_exportStatement_in_instruction1590 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_VARIABLE_in_definitionStatement1605 = new BitSet(new long[]{0x1080400000204000L,0x0000000000000006L});
public static final BitSet FOLLOW_set_in_definitionStatement1609 = new BitSet(new long[]{0x1080400000204000L,0x0000000000000006L});
public static final BitSet FOLLOW_IDENTIFIER_in_definitionStatement1612 = new BitSet(new long[]{0x1080400000204000L,0x0000000000000006L});
public static final BitSet FOLLOW_NODE_NAME_in_definitionStatement1616 = new BitSet(new long[]{0x1080400000204000L,0x0000000000000006L});
public static final BitSet FOLLOW_set_in_definitionStatement1621 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_expression_in_definitionStatement1636 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_TYPE_DEFINITION_in_definitionStatement1639 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_typeSpec_in_definitionStatement1642 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_definitionStatement1646 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_typeSpec1654 = new BitSet(new long[]{0x0000010000000002L});
public static final BitSet FOLLOW_LT_in_typeSpec1658 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_templateOption_in_typeSpec1661 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000200L});
public static final BitSet FOLLOW_73_in_typeSpec1664 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_templateOption_in_typeSpec1667 = new BitSet(new long[]{0x0000000010000000L,0x0000000000000200L});
public static final BitSet FOLLOW_GT_in_typeSpec1671 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_IDENTIFIER_in_templateOption1683 = new BitSet(new long[]{0x0000000000200002L});
public static final BitSet FOLLOW_EQUALS_in_templateOption1686 = new BitSet(new long[]{0x4008000022000800L});
public static final BitSet FOLLOW_number_in_templateOption1691 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_STRING_in_templateOption1695 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_instruction_in_bloc1722 = new BitSet(new long[]{0x0002007200001402L,0x0000000000087010L});
public static final BitSet FOLLOW_nameSpaceStatement_in_script_decl1739 = new BitSet(new long[]{0x0002007200001400L,0x000000000008F010L});
public static final BitSet FOLLOW_useStatement_in_script_decl1741 = new BitSet(new long[]{0x0002007200001400L,0x000000000008F010L});
public static final BitSet FOLLOW_instruction_in_script_decl1744 = new BitSet(new long[]{0x0002007200001400L,0x0000000000087010L});
public static final BitSet FOLLOW_EOF_in_script_decl1747 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_78_in_ifStatement1755 = new BitSet(new long[]{0x400E207222000800L,0x00000000000800D0L});
public static final BitSet FOLLOW_expression_in_ifStatement1757 = new BitSet(new long[]{0x0000000000000000L,0x0000000000080000L});
public static final BitSet FOLLOW_83_in_ifStatement1759 = new BitSet(new long[]{0x0002007200001400L,0x0000000000187010L});
public static final BitSet FOLLOW_bloc_in_ifStatement1763 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_84_in_ifStatement1765 = new BitSet(new long[]{0x0000000000000002L,0x0000000000000800L});
public static final BitSet FOLLOW_75_in_ifStatement1771 = new BitSet(new long[]{0x0000000000000000L,0x0000000000084000L});
public static final BitSet FOLLOW_83_in_ifStatement1774 = new BitSet(new long[]{0x0002007200001400L,0x0000000000187010L});
public static final BitSet FOLLOW_bloc_in_ifStatement1778 = new BitSet(new long[]{0x0000000000000000L,0x0000000000100000L});
public static final BitSet FOLLOW_84_in_ifStatement1780 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_ifStatement_in_ifStatement1785 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_76_in_exportStatement1818 = new BitSet(new long[]{0x0000007000000000L,0x0000000000080010L});
public static final BitSet FOLLOW_VARIABLE_in_exportStatement1821 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040200L});
public static final BitSet FOLLOW_set_in_exportStatement1823 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040200L});
public static final BitSet FOLLOW_73_in_exportStatement1827 = new BitSet(new long[]{0x0000007000000000L,0x0000000000080010L});
public static final BitSet FOLLOW_VARIABLE_in_exportStatement1830 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040200L});
public static final BitSet FOLLOW_set_in_exportStatement1832 = new BitSet(new long[]{0x0000000000000000L,0x0000000000040200L});
public static final BitSet FOLLOW_82_in_exportStatement1837 = new BitSet(new long[]{0x0000000200000000L,0x0000000000000001L});
public static final BitSet FOLLOW_TIMES_in_exportStatement1840 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_IDENTIFIER_in_exportStatement1842 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000600L});
public static final BitSet FOLLOW_73_in_exportStatement1845 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_IDENTIFIER_in_exportStatement1847 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000600L});
public static final BitSet FOLLOW_74_in_exportStatement1852 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_81_in_nameSpaceStatement1879 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_IDENTIFIER_in_nameSpaceStatement1881 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_nameSpaceStatement1883 = new BitSet(new long[]{0x0000000000000002L});
public static final BitSet FOLLOW_79_in_useStatement1901 = new BitSet(new long[]{0x0000000200000000L});
public static final BitSet FOLLOW_IDENTIFIER_in_useStatement1903 = new BitSet(new long[]{0x0000000000000000L,0x0000000000000400L});
public static final BitSet FOLLOW_74_in_useStatement1905 = new BitSet(new long[]{0x0000000000000002L});
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy