You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

6443 lines
190 KiB

/* Generated By:JavaCC: Do not edit this line. PrismParser.java */
package parser;
import java.io.*;
import java.util.Vector;
import java.util.ArrayList;
import java.util.Stack;
import prism.PrismException;
public class PrismParser implements PrismParserConstants {
// formulas
private static FormulaList formulaList;
// labels
private static LabelList labelList;
// constants
private static ConstantList constantList;
// stacks
private static Stack stack = new Stack();
private static Stack reverseStack = new Stack();
// temp store for modules file associated with properties file
private static ModulesFile modulesFile;
// list of keyword strings
private static ArrayList keywordList = new ArrayList();
//-----------------------------------------------------------------------------------
// main method for testing purposes
//-----------------------------------------------------------------------------------
public static void main(String[] args) throws ParseException
{
if (args.length == 0) {
System.out.println("Usage: java parser.PrismParser <switch>");
System.out.println("Where: <switch> = -modulesfile or -f");
System.out.println(" -propertiesfile or -pf");
System.out.println(" -expression or -e");
System.exit(1);
}
else if (args[0].equals("-modulesfile") || args[0].equals("-mf")) {
ModulesFile mf = null;
try {
PrismParser p = new PrismParser();
mf = p.parseModulesFile(System.in);
System.out.println("Modules file:\n=============\n");
System.out.print(mf);
}
catch (ParseException e) {
System.out.println("Syntax error:\n" + e.getShortMessage());
System.exit(0);
}
System.out.println("\nAnd after expansion:\n====================\n");
try {
// sort out some things in the ModulesFile
mf.tidyUp();
// print out again
System.out.print(mf);
}
catch (PrismException e) {
System.out.println("Error:\n" + e.getMessage());
System.exit(0);
}
}
else if (args[0].equals("-propertiesfile") || args[0].equals("-pf")) {
PropertiesFile pf = null;
try {
// create empty modules file
ModulesFile mf = new ModulesFile();
mf.setFormulaList(new FormulaList());
mf.setConstantList(new ConstantList());
// parse
PrismParser p = new PrismParser();
pf = p.parsePropertiesFile(mf, System.in);
System.out.println("Properties file:\n===============\n");
System.out.print(pf);
System.out.print(pf.toTreeString());
}
catch (ParseException e) {
System.out.println("Syntax error:\n" + e.getShortMessage());
System.exit(0);
}
try {
// sort out some things in the Properties
pf.tidyUp();
// print out again
System.out.println("\nAnd after expansion:\n====================\n");
System.out.print(pf);
}
catch (PrismException e) {
System.out.println("Error:\n" + e.getMessage());
System.exit(0);
}
}
else if (args[0].equals("-expression") || args[0].equals("-e")) {
Expression expr = null;
try {
PrismParser p = new PrismParser();
expr = p.parseSingleExpression(System.in);
System.out.println("Expression: " + expr.toString());
System.out.print("Tree:\n" + expr.toTreeString(0));
expr.check();
System.out.println("Type: " + Expression.getTypeString(expr.getType()));
System.out.println("Eval: " + expr.evaluate(null, null));
}
catch (ParseException e) {
System.out.println("Syntax error:\n" + e.getShortMessage());
System.exit(0);
}
catch (PrismException e) {
System.out.println("Error:\n" + e.getMessage());
System.exit(0);
}
}
}
//-----------------------------------------------------------------------------------
// methods called by Prism
//-----------------------------------------------------------------------------------
// constructor
public PrismParser()
{
// Call default constructor
this(System.in);
// Build a list of strings for keywords
keywordList.clear();
for (int i = PrismParserConstants.COMMENT+1; i < PrismParserConstants.NOT; i++) {
keywordList.add(PrismParserConstants.tokenImage[i].replaceAll("\"", ""));
}
}
// parse modules file
public ModulesFile parseModulesFile(InputStream str) throws ParseException { return parseModulesFile(str, 0); }
public ModulesFile parseModulesFile(InputStream str, int typeOverride) throws ParseException
{
ModulesFile mf = null;
// restart parser
ReInit(str);
// clear all vectors/stacks
formulaList = new FormulaList();
constantList = new ConstantList();
stack.clear();
reverseStack.clear();
// do parse
try {
mf = ModulesFile();
}
catch (TokenMgrError e) {
throw new ParseException(e.getMessage());
}
// override type of model if requested
if (typeOverride != 0) {
mf.setType(typeOverride);
}
return mf;
}
// properties file
// nb: pass ModulesFile in to get at its constants
public PropertiesFile parsePropertiesFile(ModulesFile mf, InputStream str) throws ParseException
{
PropertiesFile pf = null;
// start parser again
ReInit(str);
// clear all vectors/stacks
labelList = new LabelList();
constantList = new ConstantList();
stack.clear();
reverseStack.clear();
// store modules file
modulesFile = mf;
// do parse
try {
pf = PropertiesFile();
}
catch (TokenMgrError e) {
throw new ParseException(e.getMessage());
}
return pf;
}
// a single expression
public Expression parseSingleExpression(InputStream str) throws ParseException
{
Expression expr = null;
// restart parser
ReInit(str);
// clear all stacks
stack.clear();
reverseStack.clear();
// do parse
try {
expr = SingleExpression();
}
catch (TokenMgrError e) {
throw new ParseException(e.getMessage());
}
return expr;
}
// a for loop
public ForLoop parseForLoop(InputStream str) throws ParseException
{
ForLoop fl = null;
// restart parser
ReInit(str);
// clear all stacks
stack.clear();
reverseStack.clear();
// do parse
try {
fl = ForLoop();
}
catch (TokenMgrError e) {
throw new ParseException(e.getMessage());
}
return fl;
}
//-----------------------------------------------------------------------------------
// some utility methods
//-----------------------------------------------------------------------------------
// get comment block (including white space)
// preceding a token and remove "//" characters
public static String getPrecedingCommentBlock(Token firstToken)
{
String comment = "", s;
Token t = firstToken;
// extract any comment from the previous lines of the file
if (t.specialToken != null) {
// trace back thru special tokens
t = t.specialToken;
while (t.specialToken != null) t = t.specialToken;
// ignore initial white space
while (t != null && t.kind == PrismParserConstants.WHITESPACE) t = t.next;
// concatenate special tokens
while (t != null) {
s = t.image;
// strip any nasty carriage returns
s = s.replaceAll("\r", "");
// remove "//" and preceding/subsequent spaces/tabs from comments
if (t.kind == PrismParserConstants.COMMENT) {
while (comment.length() > 0 && (""+comment.charAt(comment.length()-1)).matches("[ \t]"))
comment = comment.substring(0,comment.length()-1);
s = s.substring(2);
s = s.replaceFirst("[ \t]*", "");
}
comment += s;
t = t.next;
}
}
// remove final new line (if present)
if (comment.length() > 0 && (comment.charAt(comment.length()-1) == '\n'))
comment = comment.substring(0,comment.length()-1);
return comment;
}
// add "//"s into comment block
public static String slashCommentBlock(String comment)
{
int i;
String s, res = "";
// break into lines
while ((i = comment.indexOf("\n")) != -1) {
s = comment.substring(0, i);
comment = comment.substring(i+1);
// add "//" to non-empty lines
if (s.trim().length()>0) res += "// " + s;
res += "\n";
}
// deal with any trailing characters (with no new line ending them)
if (comment.trim().length()>0) res += "// " + comment + "\n";
return res;
}
// Test a string to see if it is a PRISM language keyword
public static boolean isKeyword(String s)
{
return keywordList.contains(s);
}
//-----------------------------------------------------------------------------------
// top-level stuff
//-----------------------------------------------------------------------------------
// modules file
static final public ModulesFile ModulesFile() throws ParseException {
int type = 0;
int typeSpecs = 0;
label_1:
while (true) {
if (jj_2_1(2147483647)) {
;
} else {
break label_1;
}
if (jj_2_2(2147483647)) {
type = ModulesFileType();
typeSpecs++;
} else if (jj_2_3(2147483647)) {
FormulaDef();
} else if (jj_2_4(2147483647)) {
ConstantDef();
} else if (jj_2_5(2147483647)) {
GlobalDecl();
} else if (jj_2_6(2147483647)) {
Module();
} else if (jj_2_7(2147483647)) {
RenamedModule();
} else if (jj_2_8(2147483647)) {
SystemComp();
} else if (jj_2_9(2147483647)) {
RewardStruct();
} else if (jj_2_10(2147483647)) {
Init();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
jj_consume_token(0);
if (typeSpecs > 1) {if (true) throw new ParseException("There were multiple type declarations");}
// create new ModulesFile object
ModulesFile modulesFile = new ModulesFile();
// pass lists of formulas, constants to ModulesFile
modulesFile.setFormulaList(formulaList);
modulesFile.setConstantList(constantList);
// set type (default is nondeterministic)
switch (type) {
case PROBABILISTIC:
case DTMC:
modulesFile.setType(ModulesFile.PROBABILISTIC); break;
case NONDETERMINISTIC:
case MDP:
modulesFile.setType(ModulesFile.NONDETERMINISTIC); break;
case STOCHASTIC:
case CTMC:
modulesFile.setType(ModulesFile.STOCHASTIC); break;
default : modulesFile.setType(ModulesFile.NONDETERMINISTIC); break;
}
// get all modules/globals off stack
// and put them on reverse stack
while (!stack.empty()) {
if (stack.peek() instanceof Declaration ||
stack.peek() instanceof Module ||
stack.peek() instanceof RenamedModule ||
stack.peek() instanceof SystemDefn ||
stack.peek() instanceof RewardStruct ||
stack.peek() instanceof Expression) {
reverseStack.push(stack.pop());
}
else {
break;
}
}
// take all globals/modules/etc from reverse stack
// and add to ModulesFile object
// (everything now in correct order)
while (!reverseStack.empty()) {
if (reverseStack.peek() instanceof Declaration) {
modulesFile.addGlobal((Declaration)reverseStack.pop());
}
else if (reverseStack.peek() instanceof Module) {
modulesFile.addModule((Module)reverseStack.pop());
}
else if (reverseStack.peek() instanceof RenamedModule) {
modulesFile.addRenamedModule((RenamedModule)reverseStack.pop());
}
else if (reverseStack.peek() instanceof SystemDefn) {
modulesFile.setSystemDefn((SystemDefn)reverseStack.pop());
}
else if (reverseStack.peek() instanceof RewardStruct) {
modulesFile.addRewardStruct((RewardStruct)reverseStack.pop());
}
else if (reverseStack.peek() instanceof Expression) {
modulesFile.setInitialStates((Expression)reverseStack.pop());
}
}
// return completed ModulesFile object
{if (true) return modulesFile;}
throw new Error("Missing return statement in function");
}
// properties file
static final public PropertiesFile PropertiesFile() throws ParseException {
label_2:
while (true) {
if (jj_2_11(2147483647)) {
;
} else {
break label_2;
}
if (jj_2_12(2147483647)) {
LabelDef();
} else if (jj_2_13(2147483647)) {
ConstantDef();
} else if (jj_2_14(2147483647)) {
SinglePCTLFormula();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
jj_consume_token(0);
// create new PropertiesFile object
// (pass in associated ModulesFile)
PropertiesFile propertiesFile = new PropertiesFile(modulesFile);
// pass lists of labels, constants to PropertiesFile
propertiesFile.setLabelList(labelList);
propertiesFile.setConstantList(constantList);
// get properties off stack and reverse their order
while (!(stack.empty())) {
reverseStack.push(stack.pop());
}
// add properties to list
while (!(reverseStack.empty())) {
// get property
PCTLFormula f = (PCTLFormula)reverseStack.pop();
// check for any comment
String comment = "";
if (!reverseStack.empty()) if (reverseStack.peek() instanceof String) {
comment = (String)reverseStack.pop();
}
// add to PropertiesFile object
propertiesFile.addProperty(f, comment);
}
{if (true) return propertiesFile;}
throw new Error("Missing return statement in function");
}
// a single expression
static final public Expression SingleExpression() throws ParseException {
Expression();
jj_consume_token(0);
{if (true) return (Expression)stack.pop();}
throw new Error("Missing return statement in function");
}
//-----------------------------------------------------------------------------------
// modules file stuff
//-----------------------------------------------------------------------------------
// keyword denoting module type (nondeterministic, probabilistic, ...)
static final public int ModulesFileType() throws ParseException {
if (jj_2_15(2147483647)) {
jj_consume_token(PROBABILISTIC);
} else if (jj_2_16(2147483647)) {
jj_consume_token(NONDETERMINISTIC);
} else if (jj_2_17(2147483647)) {
jj_consume_token(STOCHASTIC);
} else if (jj_2_18(2147483647)) {
jj_consume_token(DTMC);
} else if (jj_2_19(2147483647)) {
jj_consume_token(MDP);
} else if (jj_2_20(2147483647)) {
jj_consume_token(CTMC);
} else {
jj_consume_token(-1);
throw new ParseException();
}
{if (true) return token.kind;}
throw new Error("Missing return statement in function");
}
// formula definition
static final public void FormulaDef() throws ParseException {
String s;
jj_consume_token(FORMULA);
s = Identifier();
jj_consume_token(EQ);
Expression();
jj_consume_token(SEMICOLON);
// store formula
formulaList.addFormula(s, (Expression)stack.pop());
}
// label definition
static final public void LabelDef() throws ParseException {
String s;
jj_consume_token(LABEL);
jj_consume_token(DQUOTE);
s = Identifier();
jj_consume_token(DQUOTE);
jj_consume_token(EQ);
Expression();
jj_consume_token(SEMICOLON);
// store label
labelList.addLabel(s, (Expression)stack.pop());
}
// constant definition
static final public void ConstantDef() throws ParseException {
String s;
Token t = null;
if (jj_2_28(2147483647)) {
jj_consume_token(CONST);
jj_consume_token(INT);
s = Identifier();
if (jj_2_21(2147483647)) {
t = jj_consume_token(EQ);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
// case where constant is defined
if (t != null) {
constantList.addConstant(s, (Expression)stack.pop(), Expression.INT);
}
// and case where it is left undefined
else {
constantList.addConstant(s, null, Expression.INT);
}
} else if (jj_2_29(2147483647)) {
jj_consume_token(CONST);
jj_consume_token(DOUBLE);
s = Identifier();
if (jj_2_22(2147483647)) {
t = jj_consume_token(EQ);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
// case where constant is defined
if (t != null) {
constantList.addConstant(s, (Expression)stack.pop(), Expression.DOUBLE);
}
// and case where it is left undefined
else {
constantList.addConstant(s, null, Expression.DOUBLE);
}
} else if (jj_2_30(2147483647)) {
jj_consume_token(CONST);
jj_consume_token(BOOL);
s = Identifier();
if (jj_2_23(2147483647)) {
t = jj_consume_token(EQ);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
// case where constant is defined
if (t != null) {
constantList.addConstant(s, (Expression)stack.pop(), Expression.BOOLEAN);
}
// and case where it is left undefined
else {
constantList.addConstant(s, null, Expression.BOOLEAN);
}
} else if (jj_2_31(2147483647)) {
jj_consume_token(CONST);
s = Identifier();
if (jj_2_24(2147483647)) {
t = jj_consume_token(EQ);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
// case where constant value is defined
if (t != null) {
constantList.addConstant(s, (Expression)stack.pop(), Expression.INT);
}
// and case where it is left undefined
else {
constantList.addConstant(s, null, Expression.INT);
}
} else if (jj_2_32(2147483647)) {
if (jj_2_25(2147483647)) {
jj_consume_token(RATE);
} else if (jj_2_26(2147483647)) {
jj_consume_token(PROB);
} else {
jj_consume_token(-1);
throw new ParseException();
}
s = Identifier();
if (jj_2_27(2147483647)) {
t = jj_consume_token(EQ);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
// case where constant is defined
if (t != null) {
constantList.addConstant(s, (Expression)stack.pop(), Expression.DOUBLE);
}
// and case where it is left undefined
else {
constantList.addConstant(s, null, Expression.DOUBLE);
}
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// global variable declaration
static final public void GlobalDecl() throws ParseException {
jj_consume_token(GLOBAL);
Declaration();
}
// module definition
static final public void Module() throws ParseException {
String name;
// put '*' marker on stack to indicate where this Module started
// (otherwise global/local declarations may be confused)
stack.push(new Character('*'));
jj_consume_token(MODULE);
name = Identifier();
label_3:
while (true) {
if (jj_2_33(2147483647)) {
;
} else {
break label_3;
}
Declaration();
}
label_4:
while (true) {
if (jj_2_34(2147483647)) {
;
} else {
break label_4;
}
Command();
}
jj_consume_token(ENDMODULE);
// create new Module object
Module m = new Module(name);
// get all commands off stack
// and put them on the reverse stack
while (!stack.empty()) {
if (stack.peek() instanceof Command) {
reverseStack.push(stack.pop());
}
else {
break;
}
}
// get all commands off reverse stack
// and add them to the Module object
// (now in correct order)
while (!reverseStack.empty()) {
m.addCommand((Command)reverseStack.pop());
}
// get all declarations off stack
// and put them on the reverse stack
while (!stack.empty()) {
if (stack.peek() instanceof Declaration) {
reverseStack.push(stack.pop());
}
else {
break;
}
}
// get all declarations off reverse stack
// and add them to the Module object
// (now in correct order)
while (!reverseStack.empty()) {
m.addDeclaration((Declaration)reverseStack.pop());
}
// get marker off stack
stack.pop();
// put completed Module object back on stack
stack.push(m);
}
// variable declaration
static final public void Declaration() throws ParseException {
String name; // name
Token t = null;
// put '*' marker on stack
stack.push(new Character('*'));
if (jj_2_37(2147483647)) {
name = Identifier();
jj_consume_token(COLON);
jj_consume_token(LBRACKET);
Expression();
jj_consume_token(DOTS);
Expression();
jj_consume_token(RBRACKET);
if (jj_2_35(2147483647)) {
jj_consume_token(INIT);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
Expression e1, e2, l, h, s;
// get Expressions off stack
e1 = (Expression)stack.pop();
e2 = (Expression)stack.pop();
// if there are three expressions, an initial value was specified
if (stack.peek() instanceof Expression) {
l = (Expression)stack.pop();
h = e2;
s = e1;
}
// otherwise, no default value given
else {
l = e2;
h = e1;
s = null;
}
// get marker off stack
stack.pop();
// put Declaration object back on stack
stack.push(new Declaration(name, l, h, s));
} else if (jj_2_38(2147483647)) {
name = Identifier();
jj_consume_token(COLON);
jj_consume_token(BOOL);
if (jj_2_36(2147483647)) {
jj_consume_token(INIT);
Expression();
} else {
;
}
jj_consume_token(SEMICOLON);
Expression s;
// get the initial value expression, if there was one
if (stack.peek() instanceof Expression) {
s = (Expression)stack.pop();
}
else {
s = null;
}
// get marker off stack
stack.pop();
// put Declaration object back on stack
stack.push(new Declaration(name, s));
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// command definition
static final public void Command() throws ParseException {
String s = null;
Token t = null;
jj_consume_token(LBRACKET);
if (jj_2_39(2147483647)) {
s = Identifier();
} else {
;
}
jj_consume_token(RBRACKET);
Expression();
jj_consume_token(RARROW);
Updates();
jj_consume_token(SEMICOLON);
// create new Command object
Command c = new Command();
// get synchronisation (if any)
if (s != null) {
c.setSynch(s);
}
// get updates part
Updates u = (Updates)stack.pop();
c.setUpdates(u);
// get guard part
Expression g = (Expression)stack.pop();
c.setGuard(g);
// get reward (if any)
// if (t != null) {
// Expression r = (Expression)stack.pop();
// c.setReward(r);
// }
// push Line onto stack
stack.push(c);
}
static final public void Updates() throws ParseException {
// put '*' marker on stack
stack.push(new Character('*'));
if (jj_2_41(2147483647)) {
Update();
// create new Updates object
Updates u = new Updates();
u.addUpdate(new ExpressionDouble(1), (Update)stack.pop());
// remove '*' marker
stack.pop();
// put updates on to stack
stack.push(u);
} else if (jj_2_42(2147483647)) {
ProbUpdate();
label_5:
while (true) {
if (jj_2_40(2147483647)) {
;
} else {
break label_5;
}
jj_consume_token(PLUS);
ProbUpdate();
}
// create new Updates object
// take all probability/Update pairs off stack
// and put them on the reverse stack
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// then add them to an Updates object
// (updates now in correct order)
Updates us = new Updates();
while (!reverseStack.empty()) {
Expression p = (Expression)reverseStack.pop();
Update u = (Update)reverseStack.pop();
us.addUpdate(p, u);
}
// push complete Updates object back on stack
stack.push(us);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
static final public void ProbUpdate() throws ParseException {
Expression();
jj_consume_token(COLON);
Update();
}
static final public void Update() throws ParseException {
// put '*' marker on stack
stack.push(new Character('*'));
if (jj_2_44(2147483647)) {
UpdateElement();
label_6:
while (true) {
if (jj_2_43(2147483647)) {
;
} else {
break label_6;
}
jj_consume_token(AND);
UpdateElement();
}
// create new Update object
Update u = new Update();
// take all var/expr pairs off the stack
// and put them on the reverse stack
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
reverseStack.push(stack.pop());
}
// then add to Update object
// (pairs now in correct order)
while (!reverseStack.empty()) {
Expression e = (Expression)reverseStack.pop();
u.addElement((String)reverseStack.pop(), e);
}
// get marker off stack
stack.pop();
// push completed Update object back on stack
stack.push(u);
} else if (jj_2_45(2147483647)) {
jj_consume_token(TRUE);
// create new (empty) Update object
Update u = new Update();
// get marker off stack
stack.pop();
// push Update object onto stack
stack.push(u);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
static final public void UpdateElement() throws ParseException {
String var="";
if (jj_2_46(2147483647)) {
jj_consume_token(LPARENTH);
var = IdentifierPrime();
jj_consume_token(EQ);
Expression();
jj_consume_token(RPARENTH);
// expression is now already on stack
// put variable identifier String on too
stack.push(var);
} else if (jj_2_47(2147483647)) {
var = IdentifierPrime();
jj_consume_token(EQ);
Expression();
// expression is now already on stack
// put variable identifier String on too
stack.push(var);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// module definition (by renaming)
static final public void RenamedModule() throws ParseException {
String name, base;
jj_consume_token(MODULE);
name = Identifier();
jj_consume_token(EQ);
base = Identifier();
jj_consume_token(LBRACKET);
Renames();
jj_consume_token(RBRACKET);
jj_consume_token(ENDMODULE);
RenamedModule m = new RenamedModule(name, base);
// get Rename's off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// store renames in RenamedModule
while (!reverseStack.empty()) {
m.addRename((String)reverseStack.pop(), (String)reverseStack.pop());
}
// push the completed RenamedModule on to the stack
stack.push(m);
}
static final public void Renames() throws ParseException {
// put '*' marker on stack to indicate where this Renames started
stack.push(new Character('*'));
Rename();
label_7:
while (true) {
if (jj_2_48(2147483647)) {
;
} else {
break label_7;
}
jj_consume_token(COMMA);
Rename();
}
}
static final public void Rename() throws ParseException {
String id1, id2;
if (jj_2_49(2147483647)) {
id1 = Identifier();
} else if (jj_2_50(2147483647)) {
jj_consume_token(MIN);
id1="min";
} else if (jj_2_51(2147483647)) {
jj_consume_token(MAX);
id1="max";
} else if (jj_2_52(2147483647)) {
jj_consume_token(FLOOR);
id1="floor";
} else if (jj_2_53(2147483647)) {
jj_consume_token(CEIL);
id1="ceil";
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(EQ);
if (jj_2_54(2147483647)) {
id2 = Identifier();
} else if (jj_2_55(2147483647)) {
jj_consume_token(MIN);
id2="min";
} else if (jj_2_56(2147483647)) {
jj_consume_token(MAX);
id2="max";
} else if (jj_2_57(2147483647)) {
jj_consume_token(FLOOR);
id2="floor";
} else if (jj_2_58(2147483647)) {
jj_consume_token(CEIL);
id2="ceil";
} else {
jj_consume_token(-1);
throw new ParseException();
}
stack.push(id1);
stack.push(id2);
}
// system composition definition
static final public void SystemComp() throws ParseException {
jj_consume_token(SYSTEM);
SystemParallels();
jj_consume_token(ENDSYSTEM);
}
// system definition component
static final public void SystemParallels() throws ParseException {
if (jj_2_59(2147483647)) {
SystemFullParallel();
} else if (jj_2_60(2147483647)) {
SystemInterleaved();
} else if (jj_2_61(2147483647)) {
SystemParallel();
} else if (jj_2_62(2147483647)) {
SystemHideRename();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// system definition component (full parallel)
static final public void SystemFullParallel() throws ParseException {
// put '*' marker on stack
stack.push(new Character('*'));
SystemHideRename();
label_8:
while (true) {
jj_consume_token(OR);
jj_consume_token(OR);
SystemHideRename();
if (jj_2_63(2147483647)) {
;
} else {
break label_8;
}
}
// get SystemDefns off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// construct SystemFullParallel object and add operands
SystemFullParallel s = new SystemFullParallel();
while (!reverseStack.empty()) {
s.addOperand((SystemDefn)reverseStack.pop());
}
// put the SystemFullParallel on the stack
stack.push(s);
}
// system definition component (interleaved parallel)
static final public void SystemInterleaved() throws ParseException {
// put '*' marker on stack
stack.push(new Character('*'));
SystemHideRename();
label_9:
while (true) {
jj_consume_token(OR);
jj_consume_token(OR);
jj_consume_token(OR);
SystemHideRename();
if (jj_2_64(2147483647)) {
;
} else {
break label_9;
}
}
// get SystemDefns off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// construct SystemInterleaved object and add operands
SystemInterleaved s = new SystemInterleaved();
while (!reverseStack.empty()) {
s.addOperand((SystemDefn)reverseStack.pop());
}
// put the SystemInterleaved on the stack
stack.push(s);
}
// system definition component (parallel over set of actions)
static final public void SystemParallel() throws ParseException {
SystemHideRename();
jj_consume_token(OR);
jj_consume_token(LBRACKET);
SystemAction();
label_10:
while (true) {
if (jj_2_65(2147483647)) {
;
} else {
break label_10;
}
jj_consume_token(COMMA);
SystemAction();
}
jj_consume_token(RBRACKET);
jj_consume_token(OR);
SystemHideRename();
SystemDefn s1, s2;
// get first (second) SystemDefn off stack
s2 = (SystemDefn)stack.pop();
// get actions off stack and reverse their order
while (stack.peek() instanceof String) {
reverseStack.push(stack.pop());
}
// get second (first) SystemDefn off stack
s1 = (SystemDefn)stack.pop();
// construct SystemParallel object and add operands/actions
SystemParallel s = new SystemParallel();
s.setOperand1(s1);
s.setOperand2(s2);
while (!reverseStack.empty()) {
s.addAction((String)reverseStack.pop());
}
// put the SystemParallel on the stack
stack.push(s);
}
// system definition component (hiding and renaming)
static final public void SystemHideRename() throws ParseException {
SystemAtomic();
label_11:
while (true) {
if (jj_2_66(2147483647)) {
;
} else {
break label_11;
}
if (jj_2_69(2147483647)) {
jj_consume_token(DIVIDE);
jj_consume_token(LBRACE);
SystemAction();
label_12:
while (true) {
if (jj_2_67(2147483647)) {
;
} else {
break label_12;
}
jj_consume_token(COMMA);
SystemAction();
}
jj_consume_token(RBRACE);
SystemDefn s1;
// get actions off stack and reverse their order
while (stack.peek() instanceof String) {
reverseStack.push(stack.pop());
}
// get SystemDefn off stack
s1 = (SystemDefn)stack.pop();
// construct SystemHide object and add operands/actions
SystemHide s = new SystemHide(s1);
while (!reverseStack.empty()) {
s.addAction((String)reverseStack.pop());
}
// put the SystemHide on the stack
stack.push(s);
} else if (jj_2_70(2147483647)) {
jj_consume_token(LBRACE);
SystemAction();
jj_consume_token(RENAME);
SystemAction();
label_13:
while (true) {
if (jj_2_68(2147483647)) {
;
} else {
break label_13;
}
jj_consume_token(COMMA);
SystemAction();
jj_consume_token(RENAME);
SystemAction();
}
jj_consume_token(RBRACE);
SystemDefn sd;
// get actions off stack and reverse their order
while (stack.peek() instanceof String) {
reverseStack.push(stack.pop());
}
// get SystemDefn off stack
sd = (SystemDefn)stack.pop();
// construct SystemRename object and add operands/action pairs
SystemRename sr = new SystemRename(sd);
while (!reverseStack.empty()) {
sr.addRename((String)reverseStack.pop(), (String)reverseStack.pop());
}
// put the SystemRename on the stack
stack.push(sr);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
}
// system definition component (bottom level)
static final public void SystemAtomic() throws ParseException {
if (jj_2_71(2147483647)) {
SystemModule();
} else if (jj_2_72(2147483647)) {
SystemBrackets();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// system definition component (action identifier)
static final public void SystemAction() throws ParseException {
String id;
id = Identifier();
stack.push(id);
}
// system definition component (module identifier)
static final public void SystemModule() throws ParseException {
String id;
id = Identifier();
// create new SystemModule object with this identifier
SystemModule s = new SystemModule(id);
// put it on the stack
stack.push(s);
}
// system definition component (brackets)
static final public void SystemBrackets() throws ParseException {
jj_consume_token(LPARENTH);
SystemParallels();
jj_consume_token(RPARENTH);
SystemBrackets s = new SystemBrackets();
s.setOperand((SystemDefn)stack.pop());
stack.push(s);
}
// reward structure
static final public void RewardStruct() throws ParseException {
String s = null;
// put '*' marker on stack
stack.push(new Character('*'));
jj_consume_token(REWARDS);
if (jj_2_73(2147483647)) {
jj_consume_token(DQUOTE);
s = Identifier();
jj_consume_token(DQUOTE);
} else {
;
}
label_14:
while (true) {
if (jj_2_74(2147483647)) {
;
} else {
break label_14;
}
RewardStructItem();
}
jj_consume_token(ENDREWARDS);
// get RewardStructItems off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// add the RewardStructItems to a RewardStruct object
RewardStruct rs = new RewardStruct();
if (s != null) rs.setName(s);
while (!reverseStack.empty()) {
rs.addItem((RewardStructItem)reverseStack.pop());
}
// and put it on the stack
stack.push(rs);
}
// single line (item) of state-based rewards structure
static final public void RewardStructItem() throws ParseException {
double d;
String s = "";
Token t = null;
if (jj_2_76(2147483647)) {
t = jj_consume_token(LBRACKET);
if (jj_2_75(2147483647)) {
s = Identifier();
} else {
;
}
jj_consume_token(RBRACKET);
} else {
;
}
Expression();
jj_consume_token(COLON);
Expression();
jj_consume_token(SEMICOLON);
// create RewardStructItem and put on stack
Expression reward = (Expression)stack.pop();
Expression states = (Expression)stack.pop();
stack.push(new RewardStructItem((t == null)?null:s, states, reward));
}
// multiple initial states
static final public void Init() throws ParseException {
jj_consume_token(INIT);
Expression();
jj_consume_token(ENDINIT);
}
//-----------------------------------------------------------------------------------
// properties file stuff
//-----------------------------------------------------------------------------------
// pctl formula
static final public void SinglePCTLFormula() throws ParseException {
// store the first token of this formula
Token t = getToken(1);
PCTLFormula();
// get any preceding comment and put onto stack
String comment = getPrecedingCommentBlock(t);
if (comment.length() > 0) stack.push(comment);
}
static final public void PCTLFormula() throws ParseException {
PCTLImplies();
}
static final public void PCTLImplies() throws ParseException {
Token t = null;
PCTLOr();
if (jj_2_77(2147483647)) {
t = jj_consume_token(IMPLIES);
PCTLOr();
} else {
;
}
if (t != null) {
PCTLFormula f1, f2;
f2 = (PCTLFormula)stack.pop();
f1 = (PCTLFormula)stack.pop();
stack.push(new PCTLImplies(f1, f2));
}
}
static final public void PCTLOr() throws ParseException {
// put *' marker on stack
stack.push(new Character('*'));
PCTLAnd();
label_15:
while (true) {
if (jj_2_78(2147483647)) {
;
} else {
break label_15;
}
jj_consume_token(OR);
PCTLAnd();
}
// get operands off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// if there is only one operand, just put it back on the stack
if (reverseStack.size() == 1) {
stack.push(reverseStack.pop());
}
// otherwise, add the operands to a PCTLOr in the correct order
else {
PCTLOr p = new PCTLOr();
while (!reverseStack.empty()) {
p.addOperand((PCTLFormula)reverseStack.pop());
}
// put the PCTLOr on the stack
stack.push(p);
}
}
static final public void PCTLAnd() throws ParseException {
// put *' marker on stack
stack.push(new Character('*'));
PCTLNot();
label_16:
while (true) {
if (jj_2_79(2147483647)) {
;
} else {
break label_16;
}
jj_consume_token(AND);
PCTLNot();
}
// get operands off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// if there is only one operand, just put it back on the stack
if (reverseStack.size() == 1) {
stack.push(reverseStack.pop());
}
// otherwise, add the operands to a PCTLAnd in the correct order
else {
PCTLAnd p = new PCTLAnd();
while (!reverseStack.empty()) {
p.addOperand((PCTLFormula)reverseStack.pop());
}
// put the PCTLAnd on the stack
stack.push(p);
}
}
static final public void PCTLNot() throws ParseException {
Token t = null;
if (jj_2_80(2147483647)) {
t = jj_consume_token(NOT);
} else {
;
}
PCTLProb();
if (t != null) {
// pop the formula off the stack
// and put it in an PCTLNot
stack.push(new PCTLNot((PCTLFormula)stack.pop()));
}
}
// pctl prob operator
static final public void PCTLProb() throws ParseException {
String relOp = null;
Token tf = null; // detects if a filter is included
Token tfmin = null; // detects if min of filter requested
Token tfmax = null;
if (jj_2_96(2147483647)) {
if (jj_2_81(2147483647)) {
jj_consume_token(P);
relOp = LtGt();
Expression();
} else if (jj_2_82(2147483647)) {
jj_consume_token(P);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="=";
} else if (jj_2_83(2147483647)) {
jj_consume_token(P);
jj_consume_token(MIN);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="min=";
} else if (jj_2_84(2147483647)) {
jj_consume_token(P);
jj_consume_token(MAX);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="max=";
} else if (jj_2_85(2147483647)) {
jj_consume_token(PMIN);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="min=";
} else if (jj_2_86(2147483647)) {
jj_consume_token(PMAX);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="max=";
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(LBRACKET);
if (jj_2_87(2147483647)) {
PCTLProbNext();
} else if (jj_2_88(2147483647)) {
PCTLProbBoundedUntil();
} else if (jj_2_89(2147483647)) {
PCTLProbUntil();
} else if (jj_2_90(2147483647)) {
PCTLProbBoundedFutureGlobal();
} else if (jj_2_91(2147483647)) {
PCTLProbFutureGlobal();
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (jj_2_95(2147483647)) {
tf = jj_consume_token(LBRACE);
PCTLFormula();
jj_consume_token(RBRACE);
label_17:
while (true) {
if (jj_2_92(2147483647)) {
;
} else {
break label_17;
}
if (jj_2_93(2147483647)) {
tfmin = jj_consume_token(LBRACE);
jj_consume_token(MIN);
jj_consume_token(RBRACE);
} else if (jj_2_94(2147483647)) {
tfmax = jj_consume_token(LBRACE);
jj_consume_token(MAX);
jj_consume_token(RBRACE);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
} else {
;
}
jj_consume_token(RBRACKET);
PCTLFormula f, filter = null;
Expression prob;
PCTLProb pp;
// tf is non-null if there is a filter included
if (tf != null) {
filter = (PCTLFormula)stack.pop();
}
// create PCTLProb object
f = (PCTLFormula)stack.pop();
prob = (relOp.equals("=") || relOp.equals("min=") || relOp.equals("max=")) ? null : (Expression)stack.pop();
pp = new PCTLProb(f, relOp, prob);
// add filter if present
if (tf != null) {
pp.setFilter(filter);
// and register any requests
if (tfmin != null) pp.setFilterMinRequested(true);
if (tfmax != null) pp.setFilterMaxRequested(true);
}
// push result onto stack
stack.push(pp);
} else if (jj_2_97(2147483647)) {
PCTLSS();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// pctl next
static final public void PCTLProbNext() throws ParseException {
jj_consume_token(NEXT);
PCTLFormula();
PCTLProbNext n;
// create PCTLProbNext object
n = new PCTLProbNext((PCTLFormula)stack.pop());
// push result onto stack
stack.push(n);
}
// pctl bounded until
static final public void PCTLProbBoundedUntil() throws ParseException {
Token tle = null; // detects if a <= time bound is used
Token tge = null; // detects if a >= time bound is used
Token tr = null;
PCTLFormula();
jj_consume_token(UNTIL);
if (jj_2_98(2147483647)) {
tle = jj_consume_token(LE);
Expression();
} else if (jj_2_99(2147483647)) {
tge = jj_consume_token(GE);
Expression();
} else if (jj_2_100(2147483647)) {
tr = jj_consume_token(LBRACKET);
Expression();
jj_consume_token(COMMA);
Expression();
jj_consume_token(RBRACKET);
} else {
jj_consume_token(-1);
throw new ParseException();
}
PCTLFormula();
PCTLFormula f1, f2 = null;
Expression lb, ub;
PCTLProbBoundedUntil u;
// pop second until operand off stack
f2 = (PCTLFormula)stack.pop();
// creation of PCTLProbBoundedUntil object depends on type of time bound
// U<=ub
if (tle != null) {
ub = (Expression)stack.pop();
f1 = (PCTLFormula)stack.pop();
u = new PCTLProbBoundedUntil(f1, f2, null, ub);
}
// U>=lb
else if (tge != null) {
lb = (Expression)stack.pop();
f1 = (PCTLFormula)stack.pop();
u = new PCTLProbBoundedUntil(f1, f2, lb, null);
}
// U[lb,ub]
else {
ub = (Expression)stack.pop();
lb = (Expression)stack.pop();
f1 = (PCTLFormula)stack.pop();
u = new PCTLProbBoundedUntil(f1, f2, lb, ub);
}
// push result onto stack
stack.push(u);
}
// pctl until (unbounded)
static final public void PCTLProbUntil() throws ParseException {
PCTLFormula();
jj_consume_token(UNTIL);
PCTLFormula();
PCTLFormula f1, f2;
PCTLProbUntil u;
// create PCTLProbUntil object
f2 = (PCTLFormula)stack.pop();
f1 = (PCTLFormula)stack.pop();
u = new PCTLProbUntil(f1, f2);
// push result onto stack
stack.push(u);
}
// pctl bounded future (eventually) or global
static final public void PCTLProbBoundedFutureGlobal() throws ParseException {
Token tfuture = null; // detects if a future formula is used
Token tglobal = null; // detects if a global formula is used
Token tle = null; // detects if a <= time bound is used
Token tge = null; // detects if a >= time bound is used
Token tr = null;
if (jj_2_101(2147483647)) {
tfuture = jj_consume_token(FUTURE);
} else if (jj_2_102(2147483647)) {
tglobal = jj_consume_token(GLOB);
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (jj_2_103(2147483647)) {
tle = jj_consume_token(LE);
Expression();
} else if (jj_2_104(2147483647)) {
tge = jj_consume_token(GE);
Expression();
} else if (jj_2_105(2147483647)) {
tr = jj_consume_token(LBRACKET);
Expression();
jj_consume_token(COMMA);
Expression();
jj_consume_token(RBRACKET);
} else {
jj_consume_token(-1);
throw new ParseException();
}
PCTLFormula();
PCTLFormula f = null;
Expression lb, ub;
PCTLFormula u;
// pop operand off stack
f = (PCTLFormula)stack.pop();
// U<=ub
if (tle != null) {
ub = (Expression)stack.pop();
if (tfuture != null) u = new PCTLProbBoundedFuture(f, null, ub);
else u = new PCTLProbBoundedGlobal(f, null, ub);
}
// U>=lb
else if (tge != null) {
lb = (Expression)stack.pop();
if (tfuture != null) u = new PCTLProbBoundedFuture(f, lb, null);
else u = new PCTLProbBoundedGlobal(f, lb, null);
}
// U[lb,ub]
else {
ub = (Expression)stack.pop();
lb = (Expression)stack.pop();
if (tfuture != null) u = new PCTLProbBoundedFuture(f, lb, ub);
else u = new PCTLProbBoundedGlobal(f, lb, ub);
}
// push result onto stack
stack.push(u);
}
// pctl future (eventually) or globally
static final public void PCTLProbFutureGlobal() throws ParseException {
Token tfuture = null; // detects if a future formula is used
Token tglobal = null;
if (jj_2_106(2147483647)) {
tfuture = jj_consume_token(FUTURE);
} else if (jj_2_107(2147483647)) {
tglobal = jj_consume_token(GLOB);
} else {
jj_consume_token(-1);
throw new ParseException();
}
PCTLFormula();
PCTLFormula f;
PCTLFormula u;
// create PCTLProbFuture/PCTLProbGlobal object
f = (PCTLFormula)stack.pop();
if (tfuture != null) u = new PCTLProbFuture(f);
else u = new PCTLProbGlobal(f);
// push result onto stack
stack.push(u);
}
// pctl steady state (actually only csl - not pctl at all)
static final public void PCTLSS() throws ParseException {
String relOp;
Token tf = null;
if (jj_2_111(2147483647)) {
if (jj_2_108(2147483647)) {
jj_consume_token(S);
relOp = LtGt();
Expression();
} else if (jj_2_109(2147483647)) {
jj_consume_token(S);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="=";
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(LBRACKET);
PCTLFormula();
if (jj_2_110(2147483647)) {
tf = jj_consume_token(LBRACE);
PCTLFormula();
jj_consume_token(RBRACE);
} else {
;
}
jj_consume_token(RBRACKET);
PCTLFormula f, filter = null;
Expression p;
PCTLSS ss;
// tf is non-null if there is a filter included
if (tf != null) {
filter = (PCTLFormula)stack.pop();
}
// create PCTLSS object
f = (PCTLFormula)stack.pop();
p = (relOp.equals("=")) ? null : (Expression)stack.pop();
ss = new PCTLSS(f, relOp, p);
// add filter if present
if (tf != null) {
ss.setFilter(filter);
}
// push result onto stack
stack.push(ss);
} else if (jj_2_112(2147483647)) {
PCTLReward();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// pctl reward operator
static final public void PCTLReward() throws ParseException {
String relOp = null;
Token tf = null; // detects if a filter is included
Token tfmin = null; // detects if min of filter requested
Token tfmax = null; // detects if max of filter requested
boolean b = false; // detects if a reward struct index (expression) is included
String s = null;
if (jj_2_131(2147483647)) {
if (jj_2_120(2147483647)) {
jj_consume_token(R);
if (jj_2_115(2147483647)) {
jj_consume_token(LBRACE);
if (jj_2_113(2147483647)) {
jj_consume_token(DQUOTE);
s = Identifier();
jj_consume_token(DQUOTE);
} else if (jj_2_114(2147483647)) {
Expression();
b=true;
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(RBRACE);
} else {
;
}
if (jj_2_116(2147483647)) {
relOp = LtGt();
Expression();
} else if (jj_2_117(2147483647)) {
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="=";
} else if (jj_2_118(2147483647)) {
jj_consume_token(MIN);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="min=";
} else if (jj_2_119(2147483647)) {
jj_consume_token(MAX);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="max=";
} else {
jj_consume_token(-1);
throw new ParseException();
}
} else if (jj_2_121(2147483647)) {
jj_consume_token(RMIN);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="min=";
} else if (jj_2_122(2147483647)) {
jj_consume_token(RMAX);
jj_consume_token(EQ);
jj_consume_token(QMARK);
relOp="max=";
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(LBRACKET);
if (jj_2_123(2147483647)) {
PCTLRewardCumul();
} else if (jj_2_124(2147483647)) {
PCTLRewardInst();
} else if (jj_2_125(2147483647)) {
PCTLRewardReach();
} else if (jj_2_126(2147483647)) {
PCTLRewardSS();
} else {
jj_consume_token(-1);
throw new ParseException();
}
if (jj_2_130(2147483647)) {
tf = jj_consume_token(LBRACE);
PCTLFormula();
jj_consume_token(RBRACE);
label_18:
while (true) {
if (jj_2_127(2147483647)) {
;
} else {
break label_18;
}
if (jj_2_128(2147483647)) {
tfmin = jj_consume_token(LBRACE);
jj_consume_token(MIN);
jj_consume_token(RBRACE);
} else if (jj_2_129(2147483647)) {
tfmax = jj_consume_token(LBRACE);
jj_consume_token(MAX);
jj_consume_token(RBRACE);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
} else {
;
}
jj_consume_token(RBRACKET);
PCTLFormula f, filter = null;
Expression rew;
PCTLReward pr;
// tf is non-null if there is a filter included
if (tf != null) {
filter = (PCTLFormula)stack.pop();
}
// create PCTLReward object
f = (PCTLFormula)stack.pop();
rew = (relOp.equals("=") || relOp.equals("min=") || relOp.equals("max=")) ? null : (Expression)stack.pop();
pr = new PCTLReward(f, relOp, rew);
// get and add reward struct index if present
if (s != null) pr.setRewardStructIndex(s);
else if (b) pr.setRewardStructIndex((Expression)stack.pop());
// add filter if present
if (tf != null) {
pr.setFilter(filter);
// and register any requests
if (tfmin != null) pr.setFilterMinRequested(true);
if (tfmax != null) pr.setFilterMaxRequested(true);
}
// push result onto stack
stack.push(pr);
} else if (jj_2_132(2147483647)) {
PCTLInit();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// cumulative reward
static final public void PCTLRewardCumul() throws ParseException {
jj_consume_token(CUMUL);
jj_consume_token(LE);
Expression();
Expression b;
PCTLRewardCumul rc;
// create PCTLRewardCumul object
b = (Expression)stack.pop();
rc = new PCTLRewardCumul(b);
// push result onto stack
stack.push(rc);
}
// instantaneous reward
static final public void PCTLRewardInst() throws ParseException {
jj_consume_token(INST);
jj_consume_token(EQ);
Expression();
Expression t;
PCTLRewardInst ri;
// create PCTLRewardInst object
t = (Expression)stack.pop();
ri = new PCTLRewardInst(t);
// push result onto stack
stack.push(ri);
}
// reach reward
static final public void PCTLRewardReach() throws ParseException {
jj_consume_token(FUTURE);
PCTLFormula();
PCTLFormula f;
PCTLRewardReach rr;
// create PCTLRewardInst object
f = (PCTLFormula)stack.pop();
rr = new PCTLRewardReach(f);
// push result onto stack
stack.push(rr);
}
// steady-state reward
static final public void PCTLRewardSS() throws ParseException {
jj_consume_token(S);
PCTLRewardSS rs;
// create PCTLRewardSS object
rs = new PCTLRewardSS();
// push result onto stack
stack.push(rs);
}
// init
static final public void PCTLInit() throws ParseException {
if (jj_2_133(2147483647)) {
jj_consume_token(DQUOTE);
jj_consume_token(INIT);
jj_consume_token(DQUOTE);
stack.push(new PCTLInit());
} else if (jj_2_134(2147483647)) {
PCTLLabel();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// label
static final public void PCTLLabel() throws ParseException {
String s;
if (jj_2_135(2147483647)) {
jj_consume_token(DQUOTE);
s = Identifier();
jj_consume_token(DQUOTE);
stack.push(new PCTLLabel(s));
} else if (jj_2_136(2147483647)) {
PCTLBrackets();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// brackets
static final public void PCTLBrackets() throws ParseException {
if (jj_2_137(2147483647)) {
jj_consume_token(LPARENTH);
PCTLFormula();
jj_consume_token(RPARENTH);
PCTLBrackets e = new PCTLBrackets();
e.setOperand((PCTLFormula)stack.pop());
stack.push(e);
} else if (jj_2_138(2147483647)) {
PCTLExpression();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// pctl expression
static final public void PCTLExpression() throws ParseException {
ExpressionRelOpRange();
PCTLFormula f;
f = new PCTLExpression((Expression)stack.pop());
stack.push(f);
}
//-----------------------------------------------------------------------------------
// for loop
//-----------------------------------------------------------------------------------
static final public ForLoop ForLoop() throws ParseException {
String s;
Token t = null;
s = Identifier();
jj_consume_token(EQ);
Expression();
jj_consume_token(COLON);
Expression();
if (jj_2_139(2147483647)) {
t = jj_consume_token(COLON);
Expression();
} else {
;
}
jj_consume_token(0);
ForLoop fl = new ForLoop();
fl.setLHS(s);
if (t != null) {
fl.setTo((Expression)stack.pop());
fl.setStep((Expression)stack.pop());
}
else {
fl.setTo((Expression)stack.pop());
}
fl.setFrom((Expression)stack.pop());
{if (true) return fl;}
throw new Error("Missing return statement in function");
}
//-----------------------------------------------------------------------------------
// expression stuff
//-----------------------------------------------------------------------------------
// expression
static final public void Expression() throws ParseException {
ExpressionITE();
}
// expression (if-then-else)
static final public void ExpressionITE() throws ParseException {
if (jj_2_140(2147483647)) {
ExpressionOr();
jj_consume_token(QMARK);
ExpressionOr();
jj_consume_token(COLON);
ExpressionITE();
Expression c, t, e;
e = (Expression)stack.pop();
t = (Expression)stack.pop();
c = (Expression)stack.pop();
stack.push(new ExpressionITE(c, t, e));
} else if (jj_2_141(2147483647)) {
ExpressionOr();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// expression (or)
static final public void ExpressionOr() throws ParseException {
// put '*' marker on stack
stack.push(new Character('*'));
ExpressionAnd();
if (jj_2_142(2147483647)) {
jj_consume_token(OR);
ExpressionOr();
} else {
;
}
// get Expressions off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// if there is only one Expression, just put it back on the stack
if (reverseStack.size() == 1) {
stack.push(reverseStack.pop());
}
// otherwise, add the Expressions to an ExpressionOr in the correct order
else {
ExpressionOr e = new ExpressionOr();
while (!reverseStack.empty()) {
e.addOperand((Expression)reverseStack.pop());
}
// put the ExpressionOr on the stack
stack.push(e);
}
}
// expression (and)
static final public void ExpressionAnd() throws ParseException {
// put '*' marker on stack
stack.push(new Character('*'));
ExpressionNot();
label_19:
while (true) {
if (jj_2_143(2147483647)) {
;
} else {
break label_19;
}
jj_consume_token(AND);
ExpressionNot();
}
// get Expressions off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// if there is only one Expression, just put it back on the stack
if (reverseStack.size() == 1) {
stack.push(reverseStack.pop());
}
// otherwise, add the Expressions to an ExpressionAnd in the correct order
else {
ExpressionAnd e = new ExpressionAnd();
while (!reverseStack.empty()) {
e.addOperand((Expression)reverseStack.pop());
}
// put the ExpressionAnd on the stack
stack.push(e);
}
}
// expression (not)
static final public void ExpressionNot() throws ParseException {
Token t = null;
if (jj_2_144(2147483647)) {
t = jj_consume_token(NOT);
} else {
;
}
ExpressionRelOpRange();
if (t != null) {
// pop the Expression off the stack
// and put it in an ExpressionNot
ExpressionNot e = new ExpressionNot();
e.setOperand((Expression)stack.pop());
// then put that back on the stack
stack.push(e);
}
}
// expression: relational operators/ranges
static final public void ExpressionRelOpRange() throws ParseException {
String relOp = null;
Expression e, e1, e2;
// put '*' marker on stack
stack.push(new Character('*'));
if (jj_2_148(2147483647)) {
ExpressionPlusMinus();
relOp = LtGt();
ExpressionPlusMinus();
// create ExpressionRelOp and add operands from stack
ExpressionRelOp ero = new ExpressionRelOp();
ero.setRelOp(relOp);
ero.setOperand2((Expression)stack.pop());
ero.setOperand1((Expression)stack.pop());
// pop marker off stack
stack.pop();
// push the ExpressionRelOp on to the stack
stack.push(ero);
} else if (jj_2_149(2147483647)) {
ExpressionPlusMinus();
relOp = EqNeq();
// store the left hand side expression so that it
// doesn't get mixed up with those on the right hand side
e = (Expression)stack.pop();
ExpressionPlusMinus();
if (jj_2_145(2147483647)) {
jj_consume_token(DOTS);
// push a "2" on to the stack to indicate there are a pair of expressions here
// (it is sandwiched between pair in stack)
stack.push(new Integer(2));
ExpressionPlusMinus();
} else {
;
}
label_20:
while (true) {
if (jj_2_146(2147483647)) {
;
} else {
break label_20;
}
jj_consume_token(COMMA);
ExpressionPlusMinus();
if (jj_2_147(2147483647)) {
jj_consume_token(DOTS);
// push a "2" on to the stack to indicate there are a pair of expressions here
// (it is sandwiched between pair in stack)
stack.push(new Integer(2));
ExpressionPlusMinus();
} else {
;
}
}
// get Expressions/etc. off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// if there is a just a single item on the stack,
// it's a simple case and we can use an ExpressionRelOp for efficiency
if (reverseStack.size() == 1) {
// create ExpressionRelOp and get single operand from stack
ExpressionRelOp ero = new ExpressionRelOp();
ero.setRelOp(relOp);
ero.setOperand1(e);
ero.setOperand2((Expression)reverseStack.pop());
// push the ExpressionRelOp on to the stack
stack.push(ero);
}
// otherwise use an ExpressionRange
else {
// create ExpressionRange and add operands from stack in order
ExpressionRange er = new ExpressionRange();
er.setOperand(e);
er.setRelOp(relOp);
while (!reverseStack.empty()) {
// get an expression
e1 = (Expression)reverseStack.pop();
// is it part of a pair?
if (!reverseStack.empty()) {
if (reverseStack.peek() instanceof Integer) {
// pop "2" off
reverseStack.pop();
// pop second expression off
e2 = (Expression)reverseStack.pop();
// add range
er.addRangeOperandPair(e1, e2);
}
else {
// add range
er.addRangeOperand(e1);
}
}
else {
// add range
er.addRangeOperand(e1);
}
}
// push the ExpressionRange on to the stack
stack.push(er);
}
} else if (jj_2_150(2147483647)) {
ExpressionPlusMinus();
// but still pop marker off stack
e = (Expression)stack.pop();
stack.pop();
stack.push(e);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// expression: plus/minus - binary, left associative
static final public void ExpressionPlusMinus() throws ParseException {
Token t;
ExpressionTimesDivide();
label_21:
while (true) {
if (jj_2_151(2147483647)) {
;
} else {
break label_21;
}
if (jj_2_152(2147483647)) {
t = jj_consume_token(PLUS);
} else if (jj_2_153(2147483647)) {
t = jj_consume_token(MINUS);
} else {
jj_consume_token(-1);
throw new ParseException();
}
ExpressionTimesDivide();
// pop expression operands off stack
Expression e1, e2;
e2 = (Expression)stack.pop();
e1 = (Expression)stack.pop();
// create new expression and push to stack
if (t.kind == PLUS) {
ExpressionPlus e = new ExpressionPlus();
e.setOperand1(e1);
e.setOperand2(e2);
stack.push(e);
}
else {
ExpressionMinus e = new ExpressionMinus();
e.setOperand1(e1);
e.setOperand2(e2);
stack.push(e);
}
}
}
// expression: times/divide - binary, left associative
static final public void ExpressionTimesDivide() throws ParseException {
Token t;
ExpressionUnaryMinus();
label_22:
while (true) {
if (jj_2_154(2147483647)) {
;
} else {
break label_22;
}
if (jj_2_155(2147483647)) {
t = jj_consume_token(TIMES);
} else if (jj_2_156(2147483647)) {
t = jj_consume_token(DIVIDE);
} else {
jj_consume_token(-1);
throw new ParseException();
}
ExpressionUnaryMinus();
// pop expression operands off stack
Expression e1, e2;
e2 = (Expression)stack.pop();
e1 = (Expression)stack.pop();
// create new expression and push to stack
if (t.kind == TIMES) {
ExpressionTimes e = new ExpressionTimes();
e.setOperand1(e1);
e.setOperand2(e2);
stack.push(e);
}
else {
ExpressionDivide e = new ExpressionDivide();
e.setOperand1(e1);
e.setOperand2(e2);
stack.push(e);
}
}
}
// expression: unary minus (right associative)
static final public void ExpressionUnaryMinus() throws ParseException {
if (jj_2_157(2147483647)) {
jj_consume_token(MINUS);
ExpressionFunc();
// create new expression and push to stack
ExpressionUnaryMinus e = new ExpressionUnaryMinus();
e.setOperand((Expression)stack.pop());
stack.push(e);
} else if (jj_2_158(2147483647)) {
ExpressionFunc();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// expression (function)
static final public void ExpressionFunc() throws ParseException {
Token tFunc = null;
String s = null;
// put '*' marker on stack
stack.push(new Character('*'));
if (jj_2_171(2147483647)) {
if (jj_2_168(2147483647)) {
if (jj_2_159(2147483647)) {
jj_consume_token(MIN);
s="min";
} else if (jj_2_160(2147483647)) {
jj_consume_token(MAX);
s="max";
} else if (jj_2_161(2147483647)) {
jj_consume_token(FLOOR);
s="floor";
} else if (jj_2_162(2147483647)) {
jj_consume_token(CEIL);
s="ceil";
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(LPARENTH);
} else if (jj_2_169(2147483647)) {
tFunc = jj_consume_token(FUNC);
jj_consume_token(LPARENTH);
if (jj_2_163(2147483647)) {
s = Identifier();
} else if (jj_2_164(2147483647)) {
jj_consume_token(MIN);
s="min";
} else if (jj_2_165(2147483647)) {
jj_consume_token(MAX);
s="max";
} else if (jj_2_166(2147483647)) {
jj_consume_token(FLOOR);
s="floor";
} else if (jj_2_167(2147483647)) {
jj_consume_token(CEIL);
s="ceil";
} else {
jj_consume_token(-1);
throw new ParseException();
}
jj_consume_token(COMMA);
} else {
jj_consume_token(-1);
throw new ParseException();
}
Expression();
label_23:
while (true) {
if (jj_2_170(2147483647)) {
;
} else {
break label_23;
}
jj_consume_token(COMMA);
Expression();
}
jj_consume_token(RPARENTH);
// get Expressions off stack and reverse their order
while (!(stack.peek() instanceof Character)) {
reverseStack.push(stack.pop());
}
// remove '*' marker
stack.pop();
// add the Expressions to an ExpressionFunc in the correct order
ExpressionFunc e = new ExpressionFunc();
while (!reverseStack.empty()) {
e.addOperand((Expression)reverseStack.pop());
}
// set name of function
e.setName(s);
// record which notation was used
e.setOldStyle(tFunc == null);
// put the ExpressionFunc on the stack
stack.push(e);
} else if (jj_2_172(2147483647)) {
ExpressionIdent();
// remove '*' marker
Expression e = (Expression)stack.pop();
stack.pop();
stack.push(e);
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// expression (identifier)
static final public void ExpressionIdent() throws ParseException {
String ident;
if (jj_2_173(2147483647)) {
ident = Identifier();
ExpressionIdent e = new ExpressionIdent();
e.setName(ident);
stack.push(e);
} else if (jj_2_174(2147483647)) {
ExpressionLiteral();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// expression (literal)
static final public void ExpressionLiteral() throws ParseException {
int i;
String d;
if (jj_2_175(2147483647)) {
i = Int();
ExpressionInt e = new ExpressionInt();
e.setValue(i);
stack.push(e);
} else if (jj_2_176(2147483647)) {
d = Double();
ExpressionDouble e = new ExpressionDouble();
e.setValue(d);
stack.push(e);
} else if (jj_2_177(2147483647)) {
jj_consume_token(TRUE);
ExpressionTrue e = new ExpressionTrue();
stack.push(e);
} else if (jj_2_178(2147483647)) {
jj_consume_token(FALSE);
ExpressionFalse e = new ExpressionFalse();
stack.push(e);
} else if (jj_2_179(2147483647)) {
ExpressionBrackets();
} else {
jj_consume_token(-1);
throw new ParseException();
}
}
// expression (brackets)
static final public void ExpressionBrackets() throws ParseException {
jj_consume_token(LPARENTH);
Expression();
jj_consume_token(RPARENTH);
ExpressionBrackets e = new ExpressionBrackets();
e.setOperand((Expression)stack.pop());
stack.push(e);
}
//-----------------------------------------------------------------------------------
// miscellaneous stuff
//-----------------------------------------------------------------------------------
// identifier
static final public String Identifier() throws ParseException {
jj_consume_token(REG_IDENT);
{if (true) return token.image;}
throw new Error("Missing return statement in function");
}
// identifier with a prime
static final public String IdentifierPrime() throws ParseException {
jj_consume_token(REG_IDENTPRIME);
// remove prime and return
String s = token.image;
s = s.substring(0, s.length()-1);
{if (true) return s;}
throw new Error("Missing return statement in function");
}
// one of the relational operators: =, !=
static final public String EqNeq() throws ParseException {
if (jj_2_180(2147483647)) {
jj_consume_token(EQ);
} else if (jj_2_181(2147483647)) {
jj_consume_token(NE);
} else {
jj_consume_token(-1);
throw new ParseException();
}
{if (true) return token.image;}
throw new Error("Missing return statement in function");
}
// one of the relational operators: >, <, >=, <=
static final public String LtGt() throws ParseException {
if (jj_2_182(2147483647)) {
jj_consume_token(GT);
} else if (jj_2_183(2147483647)) {
jj_consume_token(LT);
} else if (jj_2_184(2147483647)) {
jj_consume_token(GE);
} else if (jj_2_185(2147483647)) {
jj_consume_token(LE);
} else {
jj_consume_token(-1);
throw new ParseException();
}
{if (true) return token.image;}
throw new Error("Missing return statement in function");
}
// integer
static final public int Int() throws ParseException {
int i;
jj_consume_token(REG_INT);
i = Integer.parseInt(token.image);
{if (true) return i;}
throw new Error("Missing return statement in function");
}
// double
static final public String Double() throws ParseException {
jj_consume_token(REG_DOUBLE);
//return Double.valueOf(token.image).doubleValue();
{if (true) return token.image;}
throw new Error("Missing return statement in function");
}
static final private boolean jj_2_1(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_1(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(0, xla); }
}
static final private boolean jj_2_2(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_2(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(1, xla); }
}
static final private boolean jj_2_3(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_3(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(2, xla); }
}
static final private boolean jj_2_4(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_4(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(3, xla); }
}
static final private boolean jj_2_5(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_5(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(4, xla); }
}
static final private boolean jj_2_6(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_6(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(5, xla); }
}
static final private boolean jj_2_7(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_7(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(6, xla); }
}
static final private boolean jj_2_8(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_8(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(7, xla); }
}
static final private boolean jj_2_9(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_9(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(8, xla); }
}
static final private boolean jj_2_10(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_10(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(9, xla); }
}
static final private boolean jj_2_11(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_11(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(10, xla); }
}
static final private boolean jj_2_12(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_12(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(11, xla); }
}
static final private boolean jj_2_13(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_13(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(12, xla); }
}
static final private boolean jj_2_14(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_14(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(13, xla); }
}
static final private boolean jj_2_15(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_15(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(14, xla); }
}
static final private boolean jj_2_16(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_16(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(15, xla); }
}
static final private boolean jj_2_17(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_17(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(16, xla); }
}
static final private boolean jj_2_18(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_18(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(17, xla); }
}
static final private boolean jj_2_19(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_19(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(18, xla); }
}
static final private boolean jj_2_20(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_20(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(19, xla); }
}
static final private boolean jj_2_21(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_21(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(20, xla); }
}
static final private boolean jj_2_22(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_22(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(21, xla); }
}
static final private boolean jj_2_23(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_23(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(22, xla); }
}
static final private boolean jj_2_24(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_24(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(23, xla); }
}
static final private boolean jj_2_25(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_25(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(24, xla); }
}
static final private boolean jj_2_26(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_26(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(25, xla); }
}
static final private boolean jj_2_27(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_27(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(26, xla); }
}
static final private boolean jj_2_28(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_28(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(27, xla); }
}
static final private boolean jj_2_29(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_29(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(28, xla); }
}
static final private boolean jj_2_30(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_30(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(29, xla); }
}
static final private boolean jj_2_31(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_31(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(30, xla); }
}
static final private boolean jj_2_32(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_32(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(31, xla); }
}
static final private boolean jj_2_33(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_33(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(32, xla); }
}
static final private boolean jj_2_34(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_34(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(33, xla); }
}
static final private boolean jj_2_35(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_35(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(34, xla); }
}
static final private boolean jj_2_36(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_36(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(35, xla); }
}
static final private boolean jj_2_37(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_37(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(36, xla); }
}
static final private boolean jj_2_38(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_38(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(37, xla); }
}
static final private boolean jj_2_39(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_39(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(38, xla); }
}
static final private boolean jj_2_40(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_40(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(39, xla); }
}
static final private boolean jj_2_41(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_41(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(40, xla); }
}
static final private boolean jj_2_42(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_42(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(41, xla); }
}
static final private boolean jj_2_43(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_43(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(42, xla); }
}
static final private boolean jj_2_44(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_44(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(43, xla); }
}
static final private boolean jj_2_45(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_45(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(44, xla); }
}
static final private boolean jj_2_46(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_46(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(45, xla); }
}
static final private boolean jj_2_47(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_47(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(46, xla); }
}
static final private boolean jj_2_48(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_48(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(47, xla); }
}
static final private boolean jj_2_49(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_49(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(48, xla); }
}
static final private boolean jj_2_50(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_50(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(49, xla); }
}
static final private boolean jj_2_51(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_51(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(50, xla); }
}
static final private boolean jj_2_52(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_52(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(51, xla); }
}
static final private boolean jj_2_53(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_53(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(52, xla); }
}
static final private boolean jj_2_54(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_54(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(53, xla); }
}
static final private boolean jj_2_55(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_55(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(54, xla); }
}
static final private boolean jj_2_56(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_56(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(55, xla); }
}
static final private boolean jj_2_57(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_57(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(56, xla); }
}
static final private boolean jj_2_58(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_58(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(57, xla); }
}
static final private boolean jj_2_59(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_59(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(58, xla); }
}
static final private boolean jj_2_60(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_60(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(59, xla); }
}
static final private boolean jj_2_61(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_61(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(60, xla); }
}
static final private boolean jj_2_62(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_62(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(61, xla); }
}
static final private boolean jj_2_63(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_63(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(62, xla); }
}
static final private boolean jj_2_64(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_64(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(63, xla); }
}
static final private boolean jj_2_65(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_65(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(64, xla); }
}
static final private boolean jj_2_66(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_66(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(65, xla); }
}
static final private boolean jj_2_67(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_67(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(66, xla); }
}
static final private boolean jj_2_68(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_68(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(67, xla); }
}
static final private boolean jj_2_69(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_69(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(68, xla); }
}
static final private boolean jj_2_70(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_70(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(69, xla); }
}
static final private boolean jj_2_71(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_71(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(70, xla); }
}
static final private boolean jj_2_72(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_72(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(71, xla); }
}
static final private boolean jj_2_73(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_73(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(72, xla); }
}
static final private boolean jj_2_74(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_74(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(73, xla); }
}
static final private boolean jj_2_75(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_75(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(74, xla); }
}
static final private boolean jj_2_76(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_76(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(75, xla); }
}
static final private boolean jj_2_77(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_77(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(76, xla); }
}
static final private boolean jj_2_78(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_78(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(77, xla); }
}
static final private boolean jj_2_79(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_79(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(78, xla); }
}
static final private boolean jj_2_80(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_80(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(79, xla); }
}
static final private boolean jj_2_81(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_81(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(80, xla); }
}
static final private boolean jj_2_82(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_82(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(81, xla); }
}
static final private boolean jj_2_83(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_83(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(82, xla); }
}
static final private boolean jj_2_84(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_84(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(83, xla); }
}
static final private boolean jj_2_85(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_85(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(84, xla); }
}
static final private boolean jj_2_86(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_86(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(85, xla); }
}
static final private boolean jj_2_87(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_87(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(86, xla); }
}
static final private boolean jj_2_88(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_88(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(87, xla); }
}
static final private boolean jj_2_89(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_89(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(88, xla); }
}
static final private boolean jj_2_90(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_90(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(89, xla); }
}
static final private boolean jj_2_91(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_91(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(90, xla); }
}
static final private boolean jj_2_92(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_92(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(91, xla); }
}
static final private boolean jj_2_93(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_93(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(92, xla); }
}
static final private boolean jj_2_94(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_94(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(93, xla); }
}
static final private boolean jj_2_95(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_95(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(94, xla); }
}
static final private boolean jj_2_96(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_96(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(95, xla); }
}
static final private boolean jj_2_97(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_97(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(96, xla); }
}
static final private boolean jj_2_98(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_98(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(97, xla); }
}
static final private boolean jj_2_99(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_99(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(98, xla); }
}
static final private boolean jj_2_100(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_100(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(99, xla); }
}
static final private boolean jj_2_101(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_101(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(100, xla); }
}
static final private boolean jj_2_102(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_102(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(101, xla); }
}
static final private boolean jj_2_103(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_103(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(102, xla); }
}
static final private boolean jj_2_104(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_104(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(103, xla); }
}
static final private boolean jj_2_105(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_105(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(104, xla); }
}
static final private boolean jj_2_106(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_106(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(105, xla); }
}
static final private boolean jj_2_107(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_107(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(106, xla); }
}
static final private boolean jj_2_108(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_108(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(107, xla); }
}
static final private boolean jj_2_109(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_109(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(108, xla); }
}
static final private boolean jj_2_110(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_110(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(109, xla); }
}
static final private boolean jj_2_111(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_111(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(110, xla); }
}
static final private boolean jj_2_112(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_112(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(111, xla); }
}
static final private boolean jj_2_113(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_113(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(112, xla); }
}
static final private boolean jj_2_114(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_114(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(113, xla); }
}
static final private boolean jj_2_115(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_115(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(114, xla); }
}
static final private boolean jj_2_116(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_116(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(115, xla); }
}
static final private boolean jj_2_117(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_117(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(116, xla); }
}
static final private boolean jj_2_118(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_118(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(117, xla); }
}
static final private boolean jj_2_119(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_119(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(118, xla); }
}
static final private boolean jj_2_120(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_120(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(119, xla); }
}
static final private boolean jj_2_121(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_121(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(120, xla); }
}
static final private boolean jj_2_122(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_122(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(121, xla); }
}
static final private boolean jj_2_123(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_123(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(122, xla); }
}
static final private boolean jj_2_124(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_124(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(123, xla); }
}
static final private boolean jj_2_125(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_125(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(124, xla); }
}
static final private boolean jj_2_126(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_126(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(125, xla); }
}
static final private boolean jj_2_127(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_127(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(126, xla); }
}
static final private boolean jj_2_128(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_128(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(127, xla); }
}
static final private boolean jj_2_129(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_129(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(128, xla); }
}
static final private boolean jj_2_130(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_130(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(129, xla); }
}
static final private boolean jj_2_131(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_131(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(130, xla); }
}
static final private boolean jj_2_132(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_132(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(131, xla); }
}
static final private boolean jj_2_133(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_133(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(132, xla); }
}
static final private boolean jj_2_134(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_134(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(133, xla); }
}
static final private boolean jj_2_135(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_135(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(134, xla); }
}
static final private boolean jj_2_136(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_136(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(135, xla); }
}
static final private boolean jj_2_137(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_137(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(136, xla); }
}
static final private boolean jj_2_138(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_138(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(137, xla); }
}
static final private boolean jj_2_139(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_139(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(138, xla); }
}
static final private boolean jj_2_140(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_140(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(139, xla); }
}
static final private boolean jj_2_141(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_141(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(140, xla); }
}
static final private boolean jj_2_142(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_142(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(141, xla); }
}
static final private boolean jj_2_143(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_143(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(142, xla); }
}
static final private boolean jj_2_144(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_144(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(143, xla); }
}
static final private boolean jj_2_145(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_145(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(144, xla); }
}
static final private boolean jj_2_146(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_146(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(145, xla); }
}
static final private boolean jj_2_147(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_147(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(146, xla); }
}
static final private boolean jj_2_148(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_148(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(147, xla); }
}
static final private boolean jj_2_149(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_149(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(148, xla); }
}
static final private boolean jj_2_150(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_150(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(149, xla); }
}
static final private boolean jj_2_151(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_151(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(150, xla); }
}
static final private boolean jj_2_152(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_152(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(151, xla); }
}
static final private boolean jj_2_153(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_153(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(152, xla); }
}
static final private boolean jj_2_154(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_154(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(153, xla); }
}
static final private boolean jj_2_155(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_155(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(154, xla); }
}
static final private boolean jj_2_156(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_156(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(155, xla); }
}
static final private boolean jj_2_157(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_157(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(156, xla); }
}
static final private boolean jj_2_158(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_158(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(157, xla); }
}
static final private boolean jj_2_159(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_159(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(158, xla); }
}
static final private boolean jj_2_160(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_160(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(159, xla); }
}
static final private boolean jj_2_161(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_161(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(160, xla); }
}
static final private boolean jj_2_162(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_162(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(161, xla); }
}
static final private boolean jj_2_163(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_163(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(162, xla); }
}
static final private boolean jj_2_164(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_164(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(163, xla); }
}
static final private boolean jj_2_165(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_165(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(164, xla); }
}
static final private boolean jj_2_166(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_166(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(165, xla); }
}
static final private boolean jj_2_167(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_167(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(166, xla); }
}
static final private boolean jj_2_168(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_168(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(167, xla); }
}
static final private boolean jj_2_169(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_169(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(168, xla); }
}
static final private boolean jj_2_170(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_170(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(169, xla); }
}
static final private boolean jj_2_171(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_171(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(170, xla); }
}
static final private boolean jj_2_172(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_172(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(171, xla); }
}
static final private boolean jj_2_173(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_173(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(172, xla); }
}
static final private boolean jj_2_174(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_174(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(173, xla); }
}
static final private boolean jj_2_175(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_175(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(174, xla); }
}
static final private boolean jj_2_176(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_176(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(175, xla); }
}
static final private boolean jj_2_177(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_177(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(176, xla); }
}
static final private boolean jj_2_178(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_178(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(177, xla); }
}
static final private boolean jj_2_179(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_179(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(178, xla); }
}
static final private boolean jj_2_180(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_180(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(179, xla); }
}
static final private boolean jj_2_181(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_181(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(180, xla); }
}
static final private boolean jj_2_182(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_182(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(181, xla); }
}
static final private boolean jj_2_183(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_183(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(182, xla); }
}
static final private boolean jj_2_184(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_184(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(183, xla); }
}
static final private boolean jj_2_185(int xla) {
jj_la = xla; jj_lastpos = jj_scanpos = token;
try { return !jj_3_185(); }
catch(LookaheadSuccess ls) { return true; }
finally { jj_save(184, xla); }
}
static final private boolean jj_3_98() {
if (jj_scan_token(LE)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_73() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_140()) {
jj_scanpos = xsp;
if (jj_3_141()) return true;
}
return false;
}
static final private boolean jj_3_179() {
if (jj_3R_84()) return true;
return false;
}
static final private boolean jj_3_140() {
if (jj_3R_72()) return true;
if (jj_scan_token(QMARK)) return true;
if (jj_3R_72()) return true;
if (jj_scan_token(COLON)) return true;
if (jj_3R_73()) return true;
return false;
}
static final private boolean jj_3_162() {
if (jj_scan_token(CEIL)) return true;
return false;
}
static final private boolean jj_3_178() {
if (jj_scan_token(FALSE)) return true;
return false;
}
static final private boolean jj_3_165() {
if (jj_scan_token(MAX)) return true;
return false;
}
static final private boolean jj_3_58() {
if (jj_scan_token(CEIL)) return true;
return false;
}
static final private boolean jj_3_53() {
if (jj_scan_token(CEIL)) return true;
return false;
}
static final private boolean jj_3R_35() {
if (jj_3R_73()) return true;
return false;
}
static final private boolean jj_3_177() {
if (jj_scan_token(TRUE)) return true;
return false;
}
static final private boolean jj_3_90() {
if (jj_3R_59()) return true;
return false;
}
static final private boolean jj_3_176() {
if (jj_3R_83()) return true;
return false;
}
static final private boolean jj_3_27() {
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_57() {
if (jj_3R_61()) return true;
if (jj_scan_token(UNTIL)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_98()) {
jj_scanpos = xsp;
if (jj_3_99()) {
jj_scanpos = xsp;
if (jj_3_100()) return true;
}
}
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3R_46() {
if (jj_3R_47()) return true;
if (jj_scan_token(OR)) return true;
if (jj_scan_token(LBRACKET)) return true;
if (jj_3R_48()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_65()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RBRACKET)) return true;
if (jj_scan_token(OR)) return true;
if (jj_3R_47()) return true;
return false;
}
static final private boolean jj_3_64() {
if (jj_scan_token(OR)) return true;
if (jj_scan_token(OR)) return true;
if (jj_scan_token(OR)) return true;
if (jj_3R_47()) return true;
return false;
}
static final private boolean jj_3R_81() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_175()) {
jj_scanpos = xsp;
if (jj_3_176()) {
jj_scanpos = xsp;
if (jj_3_177()) {
jj_scanpos = xsp;
if (jj_3_178()) {
jj_scanpos = xsp;
if (jj_3_179()) return true;
}
}
}
}
return false;
}
static final private boolean jj_3R_28() {
if (jj_scan_token(MODULE)) return true;
if (jj_3R_36()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_33()) { jj_scanpos = xsp; break; }
}
while (true) {
xsp = jj_scanpos;
if (jj_3_34()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(ENDMODULE)) return true;
return false;
}
static final private boolean jj_3_175() {
if (jj_3R_82()) return true;
return false;
}
static final private boolean jj_3_161() {
if (jj_scan_token(FLOOR)) return true;
return false;
}
static final private boolean jj_3_164() {
if (jj_scan_token(MIN)) return true;
return false;
}
static final private boolean jj_3_89() {
if (jj_3R_58()) return true;
return false;
}
static final private boolean jj_3_174() {
if (jj_3R_81()) return true;
return false;
}
static final private boolean jj_3_57() {
if (jj_scan_token(FLOOR)) return true;
return false;
}
static final private boolean jj_3_52() {
if (jj_scan_token(FLOOR)) return true;
return false;
}
static final private boolean jj_3_94() {
if (jj_scan_token(LBRACE)) return true;
if (jj_scan_token(MAX)) return true;
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3R_27() {
if (jj_scan_token(GLOBAL)) return true;
if (jj_3R_37()) return true;
return false;
}
static final private boolean jj_3R_56() {
if (jj_scan_token(NEXT)) return true;
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3R_80() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_173()) {
jj_scanpos = xsp;
if (jj_3_174()) return true;
}
return false;
}
static final private boolean jj_3_173() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3_24() {
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_26() {
if (jj_scan_token(PROB)) return true;
return false;
}
static final private boolean jj_3R_45() {
if (jj_3R_47()) return true;
Token xsp;
if (jj_3_64()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_64()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_97() {
if (jj_3R_62()) return true;
return false;
}
static final private boolean jj_3_23() {
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_63() {
if (jj_scan_token(OR)) return true;
if (jj_scan_token(OR)) return true;
if (jj_3R_47()) return true;
return false;
}
static final private boolean jj_3_163() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3_25() {
if (jj_scan_token(RATE)) return true;
return false;
}
static final private boolean jj_3_160() {
if (jj_scan_token(MAX)) return true;
return false;
}
static final private boolean jj_3R_71() {
if (jj_3R_91()) return true;
return false;
}
static final private boolean jj_3_172() {
if (jj_3R_80()) return true;
return false;
}
static final private boolean jj_3_32() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_25()) {
jj_scanpos = xsp;
if (jj_3_26()) return true;
}
if (jj_3R_36()) return true;
xsp = jj_scanpos;
if (jj_3_27()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_88() {
if (jj_3R_57()) return true;
return false;
}
static final private boolean jj_3_22() {
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_170() {
if (jj_scan_token(COMMA)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_56() {
if (jj_scan_token(MAX)) return true;
return false;
}
static final private boolean jj_3_51() {
if (jj_scan_token(MAX)) return true;
return false;
}
static final private boolean jj_3_31() {
if (jj_scan_token(CONST)) return true;
if (jj_3R_36()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_24()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_138() {
if (jj_3R_71()) return true;
return false;
}
static final private boolean jj_3R_44() {
if (jj_3R_47()) return true;
Token xsp;
if (jj_3_63()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_63()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_92() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_93()) {
jj_scanpos = xsp;
if (jj_3_94()) return true;
}
return false;
}
static final private boolean jj_3_93() {
if (jj_scan_token(LBRACE)) return true;
if (jj_scan_token(MIN)) return true;
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3_95() {
if (jj_scan_token(LBRACE)) return true;
if (jj_3R_61()) return true;
if (jj_scan_token(RBRACE)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_92()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_87() {
if (jj_3R_56()) return true;
return false;
}
static final private boolean jj_3_21() {
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_70() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_137()) {
jj_scanpos = xsp;
if (jj_3_138()) return true;
}
return false;
}
static final private boolean jj_3_169() {
if (jj_scan_token(FUNC)) return true;
if (jj_scan_token(LPARENTH)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_163()) {
jj_scanpos = xsp;
if (jj_3_164()) {
jj_scanpos = xsp;
if (jj_3_165()) {
jj_scanpos = xsp;
if (jj_3_166()) {
jj_scanpos = xsp;
if (jj_3_167()) return true;
}
}
}
}
if (jj_scan_token(COMMA)) return true;
return false;
}
static final private boolean jj_3_159() {
if (jj_scan_token(MIN)) return true;
return false;
}
static final private boolean jj_3_137() {
if (jj_scan_token(LPARENTH)) return true;
if (jj_3R_61()) return true;
if (jj_scan_token(RPARENTH)) return true;
return false;
}
static final private boolean jj_3_20() {
if (jj_scan_token(CTMC)) return true;
return false;
}
static final private boolean jj_3_86() {
if (jj_scan_token(PMAX)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_168() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_159()) {
jj_scanpos = xsp;
if (jj_3_160()) {
jj_scanpos = xsp;
if (jj_3_161()) {
jj_scanpos = xsp;
if (jj_3_162()) return true;
}
}
}
if (jj_scan_token(LPARENTH)) return true;
return false;
}
static final private boolean jj_3_85() {
if (jj_scan_token(PMIN)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3R_79() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_171()) {
jj_scanpos = xsp;
if (jj_3_172()) return true;
}
return false;
}
static final private boolean jj_3_171() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_168()) {
jj_scanpos = xsp;
if (jj_3_169()) return true;
}
if (jj_3R_35()) return true;
while (true) {
xsp = jj_scanpos;
if (jj_3_170()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RPARENTH)) return true;
return false;
}
static final private boolean jj_3_84() {
if (jj_scan_token(P)) return true;
if (jj_scan_token(MAX)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_30() {
if (jj_scan_token(CONST)) return true;
if (jj_scan_token(BOOL)) return true;
if (jj_3R_36()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_23()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_83() {
if (jj_scan_token(P)) return true;
if (jj_scan_token(MIN)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_62() {
if (jj_3R_47()) return true;
return false;
}
static final private boolean jj_3_82() {
if (jj_scan_token(P)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_81() {
if (jj_scan_token(P)) return true;
if (jj_3R_55()) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_136() {
if (jj_3R_70()) return true;
return false;
}
static final private boolean jj_3_61() {
if (jj_3R_46()) return true;
return false;
}
static final private boolean jj_3R_89() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_96()) {
jj_scanpos = xsp;
if (jj_3_97()) return true;
}
return false;
}
static final private boolean jj_3_19() {
if (jj_scan_token(MDP)) return true;
return false;
}
static final private boolean jj_3_96() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_81()) {
jj_scanpos = xsp;
if (jj_3_82()) {
jj_scanpos = xsp;
if (jj_3_83()) {
jj_scanpos = xsp;
if (jj_3_84()) {
jj_scanpos = xsp;
if (jj_3_85()) {
jj_scanpos = xsp;
if (jj_3_86()) return true;
}
}
}
}
}
if (jj_scan_token(LBRACKET)) return true;
xsp = jj_scanpos;
if (jj_3_87()) {
jj_scanpos = xsp;
if (jj_3_88()) {
jj_scanpos = xsp;
if (jj_3_89()) {
jj_scanpos = xsp;
if (jj_3_90()) {
jj_scanpos = xsp;
if (jj_3_91()) return true;
}
}
}
}
xsp = jj_scanpos;
if (jj_3_95()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
static final private boolean jj_3_60() {
if (jj_3R_45()) return true;
return false;
}
static final private boolean jj_3R_86() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_59()) {
jj_scanpos = xsp;
if (jj_3_60()) {
jj_scanpos = xsp;
if (jj_3_61()) {
jj_scanpos = xsp;
if (jj_3_62()) return true;
}
}
}
return false;
}
static final private boolean jj_3_59() {
if (jj_3R_44()) return true;
return false;
}
static final private boolean jj_3_55() {
if (jj_scan_token(MIN)) return true;
return false;
}
static final private boolean jj_3R_69() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_135()) {
jj_scanpos = xsp;
if (jj_3_136()) return true;
}
return false;
}
static final private boolean jj_3_50() {
if (jj_scan_token(MIN)) return true;
return false;
}
static final private boolean jj_3_135() {
if (jj_scan_token(DQUOTE)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(DQUOTE)) return true;
return false;
}
static final private boolean jj_3_156() {
if (jj_scan_token(DIVIDE)) return true;
return false;
}
static final private boolean jj_3_158() {
if (jj_3R_79()) return true;
return false;
}
static final private boolean jj_3_29() {
if (jj_scan_token(CONST)) return true;
if (jj_scan_token(DOUBLE)) return true;
if (jj_3R_36()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_22()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_18() {
if (jj_scan_token(DTMC)) return true;
return false;
}
static final private boolean jj_3_134() {
if (jj_3R_69()) return true;
return false;
}
static final private boolean jj_3R_30() {
if (jj_scan_token(SYSTEM)) return true;
if (jj_3R_86()) return true;
if (jj_scan_token(ENDSYSTEM)) return true;
return false;
}
static final private boolean jj_3R_78() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_157()) {
jj_scanpos = xsp;
if (jj_3_158()) return true;
}
return false;
}
static final private boolean jj_3_157() {
if (jj_scan_token(MINUS)) return true;
if (jj_3R_79()) return true;
return false;
}
static final private boolean jj_3_155() {
if (jj_scan_token(TIMES)) return true;
return false;
}
static final private boolean jj_3_80() {
if (jj_scan_token(NOT)) return true;
return false;
}
static final private boolean jj_3R_68() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_133()) {
jj_scanpos = xsp;
if (jj_3_134()) return true;
}
return false;
}
static final private boolean jj_3_133() {
if (jj_scan_token(DQUOTE)) return true;
if (jj_scan_token(INIT)) return true;
if (jj_scan_token(DQUOTE)) return true;
return false;
}
static final private boolean jj_3_154() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_155()) {
jj_scanpos = xsp;
if (jj_3_156()) return true;
}
if (jj_3R_78()) return true;
return false;
}
static final private boolean jj_3R_54() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_80()) jj_scanpos = xsp;
if (jj_3R_89()) return true;
return false;
}
static final private boolean jj_3R_26() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_28()) {
jj_scanpos = xsp;
if (jj_3_29()) {
jj_scanpos = xsp;
if (jj_3_30()) {
jj_scanpos = xsp;
if (jj_3_31()) {
jj_scanpos = xsp;
if (jj_3_32()) return true;
}
}
}
}
return false;
}
static final private boolean jj_3_28() {
if (jj_scan_token(CONST)) return true;
if (jj_scan_token(INT)) return true;
if (jj_3R_36()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_21()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_17() {
if (jj_scan_token(STOCHASTIC)) return true;
return false;
}
static final private boolean jj_3_48() {
if (jj_scan_token(COMMA)) return true;
if (jj_3R_43()) return true;
return false;
}
static final private boolean jj_3_54() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3_49() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3R_43() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_49()) {
jj_scanpos = xsp;
if (jj_3_50()) {
jj_scanpos = xsp;
if (jj_3_51()) {
jj_scanpos = xsp;
if (jj_3_52()) {
jj_scanpos = xsp;
if (jj_3_53()) return true;
}
}
}
}
if (jj_scan_token(EQ)) return true;
xsp = jj_scanpos;
if (jj_3_54()) {
jj_scanpos = xsp;
if (jj_3_55()) {
jj_scanpos = xsp;
if (jj_3_56()) {
jj_scanpos = xsp;
if (jj_3_57()) {
jj_scanpos = xsp;
if (jj_3_58()) return true;
}
}
}
}
return false;
}
static final private boolean jj_3R_67() {
if (jj_scan_token(S)) return true;
return false;
}
static final private boolean jj_3_153() {
if (jj_scan_token(MINUS)) return true;
return false;
}
static final private boolean jj_3_79() {
if (jj_scan_token(AND)) return true;
if (jj_3R_54()) return true;
return false;
}
static final private boolean jj_3R_85() {
if (jj_3R_43()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_48()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3R_33() {
if (jj_scan_token(LABEL)) return true;
if (jj_scan_token(DQUOTE)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(DQUOTE)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_10() {
if (jj_3R_32()) return true;
return false;
}
static final private boolean jj_3_16() {
if (jj_scan_token(NONDETERMINISTIC)) return true;
return false;
}
static final private boolean jj_3R_77() {
if (jj_3R_78()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_154()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_152() {
if (jj_scan_token(PLUS)) return true;
return false;
}
static final private boolean jj_3_151() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_152()) {
jj_scanpos = xsp;
if (jj_3_153()) return true;
}
if (jj_3R_77()) return true;
return false;
}
static final private boolean jj_3R_53() {
if (jj_3R_54()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_79()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3R_25() {
if (jj_scan_token(FORMULA)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3R_66() {
if (jj_scan_token(FUTURE)) return true;
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3_9() {
if (jj_3R_31()) return true;
return false;
}
static final private boolean jj_3R_29() {
if (jj_scan_token(MODULE)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(LBRACKET)) return true;
if (jj_3R_85()) return true;
if (jj_scan_token(RBRACKET)) return true;
if (jj_scan_token(ENDMODULE)) return true;
return false;
}
static final private boolean jj_3_15() {
if (jj_scan_token(PROBABILISTIC)) return true;
return false;
}
static final private boolean jj_3R_24() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_15()) {
jj_scanpos = xsp;
if (jj_3_16()) {
jj_scanpos = xsp;
if (jj_3_17()) {
jj_scanpos = xsp;
if (jj_3_18()) {
jj_scanpos = xsp;
if (jj_3_19()) {
jj_scanpos = xsp;
if (jj_3_20()) return true;
}
}
}
}
}
return false;
}
static final private boolean jj_3_78() {
if (jj_scan_token(OR)) return true;
if (jj_3R_53()) return true;
return false;
}
static final private boolean jj_3_126() {
if (jj_3R_67()) return true;
return false;
}
static final private boolean jj_3R_65() {
if (jj_scan_token(INST)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_8() {
if (jj_3R_30()) return true;
return false;
}
static final private boolean jj_3R_75() {
if (jj_3R_77()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_151()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_47() {
if (jj_3R_42()) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_52() {
if (jj_3R_53()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_78()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_77() {
if (jj_scan_token(IMPLIES)) return true;
if (jj_3R_52()) return true;
return false;
}
static final private boolean jj_3R_41() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_46()) {
jj_scanpos = xsp;
if (jj_3_47()) return true;
}
return false;
}
static final private boolean jj_3_46() {
if (jj_scan_token(LPARENTH)) return true;
if (jj_3R_42()) return true;
if (jj_scan_token(EQ)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(RPARENTH)) return true;
return false;
}
static final private boolean jj_3_14() {
if (jj_3R_34()) return true;
return false;
}
static final private boolean jj_3_125() {
if (jj_3R_66()) return true;
return false;
}
static final private boolean jj_3R_64() {
if (jj_scan_token(CUMUL)) return true;
if (jj_scan_token(LE)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_150() {
if (jj_3R_75()) return true;
return false;
}
static final private boolean jj_3_7() {
if (jj_3R_29()) return true;
return false;
}
static final private boolean jj_3_129() {
if (jj_scan_token(LBRACE)) return true;
if (jj_scan_token(MAX)) return true;
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3_114() {
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_90() {
if (jj_3R_52()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_77()) jj_scanpos = xsp;
return false;
}
static final private boolean jj_3_132() {
if (jj_3R_68()) return true;
return false;
}
static final private boolean jj_3_13() {
if (jj_3R_26()) return true;
return false;
}
static final private boolean jj_3_6() {
if (jj_3R_28()) return true;
return false;
}
static final private boolean jj_3R_61() {
if (jj_3R_90()) return true;
return false;
}
static final private boolean jj_3_45() {
if (jj_scan_token(TRUE)) return true;
return false;
}
static final private boolean jj_3_43() {
if (jj_scan_token(AND)) return true;
if (jj_3R_41()) return true;
return false;
}
static final private boolean jj_3_124() {
if (jj_3R_65()) return true;
return false;
}
static final private boolean jj_3_12() {
if (jj_3R_33()) return true;
return false;
}
static final private boolean jj_3_11() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_12()) {
jj_scanpos = xsp;
if (jj_3_13()) {
jj_scanpos = xsp;
if (jj_3_14()) return true;
}
}
return false;
}
static final private boolean jj_3R_34() {
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3_147() {
if (jj_scan_token(DOTS)) return true;
if (jj_3R_75()) return true;
return false;
}
static final private boolean jj_3_5() {
if (jj_3R_27()) return true;
return false;
}
static final private boolean jj_3_74() {
if (jj_3R_51()) return true;
return false;
}
static final private boolean jj_3R_40() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_44()) {
jj_scanpos = xsp;
if (jj_3_45()) return true;
}
return false;
}
static final private boolean jj_3_44() {
if (jj_3R_41()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_43()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_127() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_128()) {
jj_scanpos = xsp;
if (jj_3_129()) return true;
}
return false;
}
static final private boolean jj_3_128() {
if (jj_scan_token(LBRACE)) return true;
if (jj_scan_token(MIN)) return true;
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3_130() {
if (jj_scan_token(LBRACE)) return true;
if (jj_3R_61()) return true;
if (jj_scan_token(RBRACE)) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_127()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_123() {
if (jj_3R_64()) return true;
return false;
}
static final private boolean jj_3_113() {
if (jj_scan_token(DQUOTE)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(DQUOTE)) return true;
return false;
}
static final private boolean jj_3_75() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3_4() {
if (jj_3R_26()) return true;
return false;
}
static final private boolean jj_3_122() {
if (jj_scan_token(RMAX)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_145() {
if (jj_scan_token(DOTS)) return true;
if (jj_3R_75()) return true;
return false;
}
static final private boolean jj_3_121() {
if (jj_scan_token(RMIN)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3R_32() {
if (jj_scan_token(INIT)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(ENDINIT)) return true;
return false;
}
static final private boolean jj_3_119() {
if (jj_scan_token(MAX)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_118() {
if (jj_scan_token(MIN)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3R_39() {
if (jj_3R_35()) return true;
if (jj_scan_token(COLON)) return true;
if (jj_3R_40()) return true;
return false;
}
static final private boolean jj_3_116() {
if (jj_3R_55()) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_117() {
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_115() {
if (jj_scan_token(LBRACE)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_113()) {
jj_scanpos = xsp;
if (jj_3_114()) return true;
}
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3_120() {
if (jj_scan_token(R)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_115()) jj_scanpos = xsp;
xsp = jj_scanpos;
if (jj_3_116()) {
jj_scanpos = xsp;
if (jj_3_117()) {
jj_scanpos = xsp;
if (jj_3_118()) {
jj_scanpos = xsp;
if (jj_3_119()) return true;
}
}
}
return false;
}
static final private boolean jj_3R_63() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_131()) {
jj_scanpos = xsp;
if (jj_3_132()) return true;
}
return false;
}
static final private boolean jj_3_76() {
if (jj_scan_token(LBRACKET)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_75()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
static final private boolean jj_3_131() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_120()) {
jj_scanpos = xsp;
if (jj_3_121()) {
jj_scanpos = xsp;
if (jj_3_122()) return true;
}
}
if (jj_scan_token(LBRACKET)) return true;
xsp = jj_scanpos;
if (jj_3_123()) {
jj_scanpos = xsp;
if (jj_3_124()) {
jj_scanpos = xsp;
if (jj_3_125()) {
jj_scanpos = xsp;
if (jj_3_126()) return true;
}
}
}
xsp = jj_scanpos;
if (jj_3_130()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
static final private boolean jj_3_3() {
if (jj_3R_25()) return true;
return false;
}
static final private boolean jj_3_110() {
if (jj_scan_token(LBRACE)) return true;
if (jj_3R_61()) return true;
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3R_51() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_76()) jj_scanpos = xsp;
if (jj_3R_35()) return true;
if (jj_scan_token(COLON)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_40() {
if (jj_scan_token(PLUS)) return true;
if (jj_3R_39()) return true;
return false;
}
static final private boolean jj_3_146() {
if (jj_scan_token(COMMA)) return true;
if (jj_3R_75()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_147()) jj_scanpos = xsp;
return false;
}
static final private boolean jj_3_73() {
if (jj_scan_token(DQUOTE)) return true;
if (jj_3R_36()) return true;
if (jj_scan_token(DQUOTE)) return true;
return false;
}
static final private boolean jj_3_112() {
if (jj_3R_63()) return true;
return false;
}
static final private boolean jj_3_105() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(COMMA)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
static final private boolean jj_3_42() {
if (jj_3R_39()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_40()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_149() {
if (jj_3R_75()) return true;
if (jj_3R_76()) return true;
if (jj_3R_75()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_145()) jj_scanpos = xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_146()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_109() {
if (jj_scan_token(S)) return true;
if (jj_scan_token(EQ)) return true;
if (jj_scan_token(QMARK)) return true;
return false;
}
static final private boolean jj_3_108() {
if (jj_scan_token(S)) return true;
if (jj_3R_55()) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_31() {
if (jj_scan_token(REWARDS)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_73()) jj_scanpos = xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_74()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(ENDREWARDS)) return true;
return false;
}
static final private boolean jj_3R_87() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_41()) {
jj_scanpos = xsp;
if (jj_3_42()) return true;
}
return false;
}
static final private boolean jj_3_41() {
if (jj_3R_40()) return true;
return false;
}
static final private boolean jj_3R_91() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_148()) {
jj_scanpos = xsp;
if (jj_3_149()) {
jj_scanpos = xsp;
if (jj_3_150()) return true;
}
}
return false;
}
static final private boolean jj_3_148() {
if (jj_3R_75()) return true;
if (jj_3R_55()) return true;
if (jj_3R_75()) return true;
return false;
}
static final private boolean jj_3_104() {
if (jj_scan_token(GE)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_62() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_111()) {
jj_scanpos = xsp;
if (jj_3_112()) return true;
}
return false;
}
static final private boolean jj_3_111() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_108()) {
jj_scanpos = xsp;
if (jj_3_109()) return true;
}
if (jj_scan_token(LBRACKET)) return true;
if (jj_3R_61()) return true;
xsp = jj_scanpos;
if (jj_3_110()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
static final private boolean jj_3_107() {
if (jj_scan_token(GLOB)) return true;
return false;
}
static final private boolean jj_3_1() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_2()) {
jj_scanpos = xsp;
if (jj_3_3()) {
jj_scanpos = xsp;
if (jj_3_4()) {
jj_scanpos = xsp;
if (jj_3_5()) {
jj_scanpos = xsp;
if (jj_3_6()) {
jj_scanpos = xsp;
if (jj_3_7()) {
jj_scanpos = xsp;
if (jj_3_8()) {
jj_scanpos = xsp;
if (jj_3_9()) {
jj_scanpos = xsp;
if (jj_3_10()) return true;
}
}
}
}
}
}
}
}
return false;
}
static final private boolean jj_3_2() {
if (jj_3R_24()) return true;
return false;
}
static final private boolean jj_3R_50() {
if (jj_scan_token(LPARENTH)) return true;
if (jj_3R_86()) return true;
if (jj_scan_token(RPARENTH)) return true;
return false;
}
static final private boolean jj_3_39() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3R_83() {
if (jj_scan_token(REG_DOUBLE)) return true;
return false;
}
static final private boolean jj_3_185() {
if (jj_scan_token(LE)) return true;
return false;
}
static final private boolean jj_3_144() {
if (jj_scan_token(NOT)) return true;
return false;
}
static final private boolean jj_3_106() {
if (jj_scan_token(FUTURE)) return true;
return false;
}
static final private boolean jj_3R_74() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_144()) jj_scanpos = xsp;
if (jj_3R_91()) return true;
return false;
}
static final private boolean jj_3R_60() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_106()) {
jj_scanpos = xsp;
if (jj_3_107()) return true;
}
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3R_49() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3_68() {
if (jj_scan_token(COMMA)) return true;
if (jj_3R_48()) return true;
if (jj_scan_token(RENAME)) return true;
if (jj_3R_48()) return true;
return false;
}
static final private boolean jj_3R_38() {
if (jj_scan_token(LBRACKET)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_39()) jj_scanpos = xsp;
if (jj_scan_token(RBRACKET)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(RARROW)) return true;
if (jj_3R_87()) return true;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_184() {
if (jj_scan_token(GE)) return true;
return false;
}
static final private boolean jj_3_103() {
if (jj_scan_token(LE)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_82() {
if (jj_scan_token(REG_INT)) return true;
return false;
}
static final private boolean jj_3_183() {
if (jj_scan_token(LT)) return true;
return false;
}
static final private boolean jj_3_143() {
if (jj_scan_token(AND)) return true;
if (jj_3R_74()) return true;
return false;
}
static final private boolean jj_3R_48() {
if (jj_3R_36()) return true;
return false;
}
static final private boolean jj_3_182() {
if (jj_scan_token(GT)) return true;
return false;
}
static final private boolean jj_3R_55() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_182()) {
jj_scanpos = xsp;
if (jj_3_183()) {
jj_scanpos = xsp;
if (jj_3_184()) {
jj_scanpos = xsp;
if (jj_3_185()) return true;
}
}
}
return false;
}
static final private boolean jj_3_102() {
if (jj_scan_token(GLOB)) return true;
return false;
}
static final private boolean jj_3_181() {
if (jj_scan_token(NE)) return true;
return false;
}
static final private boolean jj_3_72() {
if (jj_3R_50()) return true;
return false;
}
static final private boolean jj_3_36() {
if (jj_scan_token(INIT)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_88() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_71()) {
jj_scanpos = xsp;
if (jj_3_72()) return true;
}
return false;
}
static final private boolean jj_3_38() {
if (jj_3R_36()) return true;
if (jj_scan_token(COLON)) return true;
if (jj_scan_token(BOOL)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_36()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_71() {
if (jj_3R_49()) return true;
return false;
}
static final private boolean jj_3_100() {
if (jj_scan_token(LBRACKET)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(COMMA)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(RBRACKET)) return true;
return false;
}
static final private boolean jj_3_180() {
if (jj_scan_token(EQ)) return true;
return false;
}
static final private boolean jj_3R_76() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_180()) {
jj_scanpos = xsp;
if (jj_3_181()) return true;
}
return false;
}
static final private boolean jj_3R_92() {
if (jj_3R_74()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_143()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_67() {
if (jj_scan_token(COMMA)) return true;
if (jj_3R_48()) return true;
return false;
}
static final private boolean jj_3_167() {
if (jj_scan_token(CEIL)) return true;
return false;
}
static final private boolean jj_3_101() {
if (jj_scan_token(FUTURE)) return true;
return false;
}
static final private boolean jj_3R_59() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_101()) {
jj_scanpos = xsp;
if (jj_3_102()) return true;
}
xsp = jj_scanpos;
if (jj_3_103()) {
jj_scanpos = xsp;
if (jj_3_104()) {
jj_scanpos = xsp;
if (jj_3_105()) return true;
}
}
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3_142() {
if (jj_scan_token(OR)) return true;
if (jj_3R_72()) return true;
return false;
}
static final private boolean jj_3R_42() {
if (jj_scan_token(REG_IDENTPRIME)) return true;
return false;
}
static final private boolean jj_3_35() {
if (jj_scan_token(INIT)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3_65() {
if (jj_scan_token(COMMA)) return true;
if (jj_3R_48()) return true;
return false;
}
static final private boolean jj_3R_37() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_37()) {
jj_scanpos = xsp;
if (jj_3_38()) return true;
}
return false;
}
static final private boolean jj_3_37() {
if (jj_3R_36()) return true;
if (jj_scan_token(COLON)) return true;
if (jj_scan_token(LBRACKET)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(DOTS)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(RBRACKET)) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_35()) jj_scanpos = xsp;
if (jj_scan_token(SEMICOLON)) return true;
return false;
}
static final private boolean jj_3_70() {
if (jj_scan_token(LBRACE)) return true;
if (jj_3R_48()) return true;
if (jj_scan_token(RENAME)) return true;
if (jj_3R_48()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_68()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3_99() {
if (jj_scan_token(GE)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_36() {
if (jj_scan_token(REG_IDENT)) return true;
return false;
}
static final private boolean jj_3_66() {
Token xsp;
xsp = jj_scanpos;
if (jj_3_69()) {
jj_scanpos = xsp;
if (jj_3_70()) return true;
}
return false;
}
static final private boolean jj_3_34() {
if (jj_3R_38()) return true;
return false;
}
static final private boolean jj_3_139() {
if (jj_scan_token(COLON)) return true;
if (jj_3R_35()) return true;
return false;
}
static final private boolean jj_3R_72() {
if (jj_3R_92()) return true;
Token xsp;
xsp = jj_scanpos;
if (jj_3_142()) jj_scanpos = xsp;
return false;
}
static final private boolean jj_3_166() {
if (jj_scan_token(FLOOR)) return true;
return false;
}
static final private boolean jj_3R_58() {
if (jj_3R_61()) return true;
if (jj_scan_token(UNTIL)) return true;
if (jj_3R_61()) return true;
return false;
}
static final private boolean jj_3_91() {
if (jj_3R_60()) return true;
return false;
}
static final private boolean jj_3_141() {
if (jj_3R_72()) return true;
return false;
}
static final private boolean jj_3_69() {
if (jj_scan_token(DIVIDE)) return true;
if (jj_scan_token(LBRACE)) return true;
if (jj_3R_48()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_67()) { jj_scanpos = xsp; break; }
}
if (jj_scan_token(RBRACE)) return true;
return false;
}
static final private boolean jj_3R_84() {
if (jj_scan_token(LPARENTH)) return true;
if (jj_3R_35()) return true;
if (jj_scan_token(RPARENTH)) return true;
return false;
}
static final private boolean jj_3R_47() {
if (jj_3R_88()) return true;
Token xsp;
while (true) {
xsp = jj_scanpos;
if (jj_3_66()) { jj_scanpos = xsp; break; }
}
return false;
}
static final private boolean jj_3_33() {
if (jj_3R_37()) return true;
return false;
}
static private boolean jj_initialized_once = false;
static public PrismParserTokenManager token_source;
static SimpleCharStream jj_input_stream;
static public Token token, jj_nt;
static private int jj_ntk;
static private Token jj_scanpos, jj_lastpos;
static private int jj_la;
static public boolean lookingAhead = false;
static private boolean jj_semLA;
static private int jj_gen;
static final private int[] jj_la1 = new int[0];
static private int[] jj_la1_0;
static private int[] jj_la1_1;
static private int[] jj_la1_2;
static {
jj_la1_0();
jj_la1_1();
jj_la1_2();
}
private static void jj_la1_0() {
jj_la1_0 = new int[] {};
}
private static void jj_la1_1() {
jj_la1_1 = new int[] {};
}
private static void jj_la1_2() {
jj_la1_2 = new int[] {};
}
static final private JJCalls[] jj_2_rtns = new JJCalls[185];
static private boolean jj_rescan = false;
static private int jj_gc = 0;
public PrismParser(java.io.InputStream stream) {
this(stream, null);
}
public PrismParser(java.io.InputStream stream, String encoding) {
if (jj_initialized_once) {
System.out.println("ERROR: Second call to constructor of static parser. You must");
System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
System.out.println(" during parser generation.");
throw new Error();
}
jj_initialized_once = true;
try { jj_input_stream = new SimpleCharStream(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
token_source = new PrismParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 0; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
static public void ReInit(java.io.InputStream stream) {
ReInit(stream, null);
}
static public void ReInit(java.io.InputStream stream, String encoding) {
try { jj_input_stream.ReInit(stream, encoding, 1, 1); } catch(java.io.UnsupportedEncodingException e) { throw new RuntimeException(e); }
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 0; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public PrismParser(java.io.Reader stream) {
if (jj_initialized_once) {
System.out.println("ERROR: Second call to constructor of static parser. You must");
System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
System.out.println(" during parser generation.");
throw new Error();
}
jj_initialized_once = true;
jj_input_stream = new SimpleCharStream(stream, 1, 1);
token_source = new PrismParserTokenManager(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 0; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
static public void ReInit(java.io.Reader stream) {
jj_input_stream.ReInit(stream, 1, 1);
token_source.ReInit(jj_input_stream);
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 0; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public PrismParser(PrismParserTokenManager tm) {
if (jj_initialized_once) {
System.out.println("ERROR: Second call to constructor of static parser. You must");
System.out.println(" either use ReInit() or set the JavaCC option STATIC to false");
System.out.println(" during parser generation.");
throw new Error();
}
jj_initialized_once = true;
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 0; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
public void ReInit(PrismParserTokenManager tm) {
token_source = tm;
token = new Token();
jj_ntk = -1;
jj_gen = 0;
for (int i = 0; i < 0; i++) jj_la1[i] = -1;
for (int i = 0; i < jj_2_rtns.length; i++) jj_2_rtns[i] = new JJCalls();
}
static final private Token jj_consume_token(int kind) throws ParseException {
Token oldToken;
if ((oldToken = token).next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
if (token.kind == kind) {
jj_gen++;
if (++jj_gc > 100) {
jj_gc = 0;
for (int i = 0; i < jj_2_rtns.length; i++) {
JJCalls c = jj_2_rtns[i];
while (c != null) {
if (c.gen < jj_gen) c.first = null;
c = c.next;
}
}
}
return token;
}
token = oldToken;
jj_kind = kind;
throw generateParseException();
}
static private final class LookaheadSuccess extends java.lang.Error { }
static final private LookaheadSuccess jj_ls = new LookaheadSuccess();
static final private boolean jj_scan_token(int kind) {
if (jj_scanpos == jj_lastpos) {
jj_la--;
if (jj_scanpos.next == null) {
jj_lastpos = jj_scanpos = jj_scanpos.next = token_source.getNextToken();
} else {
jj_lastpos = jj_scanpos = jj_scanpos.next;
}
} else {
jj_scanpos = jj_scanpos.next;
}
if (jj_rescan) {
int i = 0; Token tok = token;
while (tok != null && tok != jj_scanpos) { i++; tok = tok.next; }
if (tok != null) jj_add_error_token(kind, i);
}
if (jj_scanpos.kind != kind) return true;
if (jj_la == 0 && jj_scanpos == jj_lastpos) throw jj_ls;
return false;
}
static final public Token getNextToken() {
if (token.next != null) token = token.next;
else token = token.next = token_source.getNextToken();
jj_ntk = -1;
jj_gen++;
return token;
}
static final public Token getToken(int index) {
Token t = lookingAhead ? jj_scanpos : token;
for (int i = 0; i < index; i++) {
if (t.next != null) t = t.next;
else t = t.next = token_source.getNextToken();
}
return t;
}
static final private int jj_ntk() {
if ((jj_nt=token.next) == null)
return (jj_ntk = (token.next=token_source.getNextToken()).kind);
else
return (jj_ntk = jj_nt.kind);
}
static private java.util.Vector jj_expentries = new java.util.Vector();
static private int[] jj_expentry;
static private int jj_kind = -1;
static private int[] jj_lasttokens = new int[100];
static private int jj_endpos;
static private void jj_add_error_token(int kind, int pos) {
if (pos >= 100) return;
if (pos == jj_endpos + 1) {
jj_lasttokens[jj_endpos++] = kind;
} else if (jj_endpos != 0) {
jj_expentry = new int[jj_endpos];
for (int i = 0; i < jj_endpos; i++) {
jj_expentry[i] = jj_lasttokens[i];
}
boolean exists = false;
for (java.util.Enumeration e = jj_expentries.elements(); e.hasMoreElements();) {
int[] oldentry = (int[])(e.nextElement());
if (oldentry.length == jj_expentry.length) {
exists = true;
for (int i = 0; i < jj_expentry.length; i++) {
if (oldentry[i] != jj_expentry[i]) {
exists = false;
break;
}
}
if (exists) break;
}
}
if (!exists) jj_expentries.addElement(jj_expentry);
if (pos != 0) jj_lasttokens[(jj_endpos = pos) - 1] = kind;
}
}
static public ParseException generateParseException() {
jj_expentries.removeAllElements();
boolean[] la1tokens = new boolean[79];
for (int i = 0; i < 79; i++) {
la1tokens[i] = false;
}
if (jj_kind >= 0) {
la1tokens[jj_kind] = true;
jj_kind = -1;
}
for (int i = 0; i < 0; i++) {
if (jj_la1[i] == jj_gen) {
for (int j = 0; j < 32; j++) {
if ((jj_la1_0[i] & (1<<j)) != 0) {
la1tokens[j] = true;
}
if ((jj_la1_1[i] & (1<<j)) != 0) {
la1tokens[32+j] = true;
}
if ((jj_la1_2[i] & (1<<j)) != 0) {
la1tokens[64+j] = true;
}
}
}
}
for (int i = 0; i < 79; i++) {
if (la1tokens[i]) {
jj_expentry = new int[1];
jj_expentry[0] = i;
jj_expentries.addElement(jj_expentry);
}
}
jj_endpos = 0;
jj_rescan_token();
jj_add_error_token(0, 0);
int[][] exptokseq = new int[jj_expentries.size()][];
for (int i = 0; i < jj_expentries.size(); i++) {
exptokseq[i] = (int[])jj_expentries.elementAt(i);
}
return new ParseException(token, exptokseq, tokenImage);
}
static final public void enable_tracing() {
}
static final public void disable_tracing() {
}
static final private void jj_rescan_token() {
jj_rescan = true;
for (int i = 0; i < 185; i++) {
try {
JJCalls p = jj_2_rtns[i];
do {
if (p.gen > jj_gen) {
jj_la = p.arg; jj_lastpos = jj_scanpos = p.first;
switch (i) {
case 0: jj_3_1(); break;
case 1: jj_3_2(); break;
case 2: jj_3_3(); break;
case 3: jj_3_4(); break;
case 4: jj_3_5(); break;
case 5: jj_3_6(); break;
case 6: jj_3_7(); break;
case 7: jj_3_8(); break;
case 8: jj_3_9(); break;
case 9: jj_3_10(); break;
case 10: jj_3_11(); break;
case 11: jj_3_12(); break;
case 12: jj_3_13(); break;
case 13: jj_3_14(); break;
case 14: jj_3_15(); break;
case 15: jj_3_16(); break;
case 16: jj_3_17(); break;
case 17: jj_3_18(); break;
case 18: jj_3_19(); break;
case 19: jj_3_20(); break;
case 20: jj_3_21(); break;
case 21: jj_3_22(); break;
case 22: jj_3_23(); break;
case 23: jj_3_24(); break;
case 24: jj_3_25(); break;
case 25: jj_3_26(); break;
case 26: jj_3_27(); break;
case 27: jj_3_28(); break;
case 28: jj_3_29(); break;
case 29: jj_3_30(); break;
case 30: jj_3_31(); break;
case 31: jj_3_32(); break;
case 32: jj_3_33(); break;
case 33: jj_3_34(); break;
case 34: jj_3_35(); break;
case 35: jj_3_36(); break;
case 36: jj_3_37(); break;
case 37: jj_3_38(); break;
case 38: jj_3_39(); break;
case 39: jj_3_40(); break;
case 40: jj_3_41(); break;
case 41: jj_3_42(); break;
case 42: jj_3_43(); break;
case 43: jj_3_44(); break;
case 44: jj_3_45(); break;
case 45: jj_3_46(); break;
case 46: jj_3_47(); break;
case 47: jj_3_48(); break;
case 48: jj_3_49(); break;
case 49: jj_3_50(); break;
case 50: jj_3_51(); break;
case 51: jj_3_52(); break;
case 52: jj_3_53(); break;
case 53: jj_3_54(); break;
case 54: jj_3_55(); break;
case 55: jj_3_56(); break;
case 56: jj_3_57(); break;
case 57: jj_3_58(); break;
case 58: jj_3_59(); break;
case 59: jj_3_60(); break;
case 60: jj_3_61(); break;
case 61: jj_3_62(); break;
case 62: jj_3_63(); break;
case 63: jj_3_64(); break;
case 64: jj_3_65(); break;
case 65: jj_3_66(); break;
case 66: jj_3_67(); break;
case 67: jj_3_68(); break;
case 68: jj_3_69(); break;
case 69: jj_3_70(); break;
case 70: jj_3_71(); break;
case 71: jj_3_72(); break;
case 72: jj_3_73(); break;
case 73: jj_3_74(); break;
case 74: jj_3_75(); break;
case 75: jj_3_76(); break;
case 76: jj_3_77(); break;
case 77: jj_3_78(); break;
case 78: jj_3_79(); break;
case 79: jj_3_80(); break;
case 80: jj_3_81(); break;
case 81: jj_3_82(); break;
case 82: jj_3_83(); break;
case 83: jj_3_84(); break;
case 84: jj_3_85(); break;
case 85: jj_3_86(); break;
case 86: jj_3_87(); break;
case 87: jj_3_88(); break;
case 88: jj_3_89(); break;
case 89: jj_3_90(); break;
case 90: jj_3_91(); break;
case 91: jj_3_92(); break;
case 92: jj_3_93(); break;
case 93: jj_3_94(); break;
case 94: jj_3_95(); break;
case 95: jj_3_96(); break;
case 96: jj_3_97(); break;
case 97: jj_3_98(); break;
case 98: jj_3_99(); break;
case 99: jj_3_100(); break;
case 100: jj_3_101(); break;
case 101: jj_3_102(); break;
case 102: jj_3_103(); break;
case 103: jj_3_104(); break;
case 104: jj_3_105(); break;
case 105: jj_3_106(); break;
case 106: jj_3_107(); break;
case 107: jj_3_108(); break;
case 108: jj_3_109(); break;
case 109: jj_3_110(); break;
case 110: jj_3_111(); break;
case 111: jj_3_112(); break;
case 112: jj_3_113(); break;
case 113: jj_3_114(); break;
case 114: jj_3_115(); break;
case 115: jj_3_116(); break;
case 116: jj_3_117(); break;
case 117: jj_3_118(); break;
case 118: jj_3_119(); break;
case 119: jj_3_120(); break;
case 120: jj_3_121(); break;
case 121: jj_3_122(); break;
case 122: jj_3_123(); break;
case 123: jj_3_124(); break;
case 124: jj_3_125(); break;
case 125: jj_3_126(); break;
case 126: jj_3_127(); break;
case 127: jj_3_128(); break;
case 128: jj_3_129(); break;
case 129: jj_3_130(); break;
case 130: jj_3_131(); break;
case 131: jj_3_132(); break;
case 132: jj_3_133(); break;
case 133: jj_3_134(); break;
case 134: jj_3_135(); break;
case 135: jj_3_136(); break;
case 136: jj_3_137(); break;
case 137: jj_3_138(); break;
case 138: jj_3_139(); break;
case 139: jj_3_140(); break;
case 140: jj_3_141(); break;
case 141: jj_3_142(); break;
case 142: jj_3_143(); break;
case 143: jj_3_144(); break;
case 144: jj_3_145(); break;
case 145: jj_3_146(); break;
case 146: jj_3_147(); break;
case 147: jj_3_148(); break;
case 148: jj_3_149(); break;
case 149: jj_3_150(); break;
case 150: jj_3_151(); break;
case 151: jj_3_152(); break;
case 152: jj_3_153(); break;
case 153: jj_3_154(); break;
case 154: jj_3_155(); break;
case 155: jj_3_156(); break;
case 156: jj_3_157(); break;
case 157: jj_3_158(); break;
case 158: jj_3_159(); break;
case 159: jj_3_160(); break;
case 160: jj_3_161(); break;
case 161: jj_3_162(); break;
case 162: jj_3_163(); break;
case 163: jj_3_164(); break;
case 164: jj_3_165(); break;
case 165: jj_3_166(); break;
case 166: jj_3_167(); break;
case 167: jj_3_168(); break;
case 168: jj_3_169(); break;
case 169: jj_3_170(); break;
case 170: jj_3_171(); break;
case 171: jj_3_172(); break;
case 172: jj_3_173(); break;
case 173: jj_3_174(); break;
case 174: jj_3_175(); break;
case 175: jj_3_176(); break;
case 176: jj_3_177(); break;
case 177: jj_3_178(); break;
case 178: jj_3_179(); break;
case 179: jj_3_180(); break;
case 180: jj_3_181(); break;
case 181: jj_3_182(); break;
case 182: jj_3_183(); break;
case 183: jj_3_184(); break;
case 184: jj_3_185(); break;
}
}
p = p.next;
} while (p != null);
} catch(LookaheadSuccess ls) { }
}
jj_rescan = false;
}
static final private void jj_save(int index, int xla) {
JJCalls p = jj_2_rtns[index];
while (p.gen > jj_gen) {
if (p.next == null) { p = p.next = new JJCalls(); break; }
p = p.next;
}
p.gen = jj_gen + xla - jj_la; p.first = token; p.arg = xla;
}
static final class JJCalls {
int gen;
Token first;
int arg;
JJCalls next;
}
}