
org.btrplace.btrpsl.antlr.ANTLRBtrplaceSL2Parser Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of btrpsl Show documentation
Show all versions of btrpsl Show documentation
The btrplace specification language (btrpsl) allows to express constraints
related to the placement of virtual machines in a datacenters.
This language is dedicated to datacenters administrators and applications administrators
that use Btrplace(http://btrp.inria.fr) to manage their nodes and virtual machines.
// $ANTLR 3.5.2 org/btrplace/btrpsl/antlr/ANTLRBtrplaceSL2.g 2020-12-09 08:09:35
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: LEFTVAR, braceContent, RIGHT
// 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: RIGHT, braceContent, 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: expression, bloc, VARIABLE
// 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: expression, d, CONSTRAINTIDENTIFIER
// 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, i2, i3
// 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: if2, expression, i1, i2
// 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: VARIABLE, set, IDENTIFIER, TIMES
// 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