diff --git a/prism/src/parser/PrismParser.jj b/prism/src/parser/PrismParser.jj index bcfee6d3..68188d93 100644 --- a/prism/src/parser/PrismParser.jj +++ b/prism/src/parser/PrismParser.jj @@ -1350,16 +1350,16 @@ AccumulationFunction ExpressionAccumulationFunction() : } { ( (LOOKAHEAD({ getToken(1).kind==REG_IDENT && getToken(1).image.equals("time") }) - Identifier() {func = AccumulationFunction.ACC_TIME;}) + Identifier() {func = new AccumulationFunction(AccumulationType.ACC_TIME);}) | (LOOKAHEAD({ getToken(1).kind==REG_IDENT && getToken(1).image.equals("steps") }) - Identifier() {func = AccumulationFunction.ACC_STEPS;}) + Identifier() {func = new AccumulationFunction(AccumulationType.ACC_STEPS);}) // SWDO: We also want "weight" here | (LOOKAHEAD({ getToken(1).kind==REG_IDENT && getToken(1).image.equals("reward") }) Identifier() (rewardIndex = RewardIndex())? { - func = AccumulationFunction.ACC_REWARD; + func = new AccumulationFunction(AccumulationType.ACC_REWARD); func.setRewardIndex(rewardIndex); }) ) diff --git a/prism/src/parser/ast/AccumulationFunction.java b/prism/src/parser/ast/AccumulationFunction.java index 53b839a4..209758ae 100644 --- a/prism/src/parser/ast/AccumulationFunction.java +++ b/prism/src/parser/ast/AccumulationFunction.java @@ -1,7 +1,11 @@ package parser.ast; -public enum AccumulationFunction { - ACC_TIME, ACC_STEPS, ACC_REWARD; +public class AccumulationFunction { + public AccumulationFunction(AccumulationType type) { + this.type = type; + } + + public AccumulationType type; private Object rewardIndex = null; @@ -14,7 +18,7 @@ public enum AccumulationFunction { } public String toString() { - switch(this) { + switch(this.type) { case ACC_REWARD: return "reward" + indexString(); case ACC_STEPS: diff --git a/prism/src/parser/ast/AccumulationType.java b/prism/src/parser/ast/AccumulationType.java new file mode 100644 index 00000000..d7822cbc --- /dev/null +++ b/prism/src/parser/ast/AccumulationType.java @@ -0,0 +1,5 @@ +package parser.ast; + +public enum AccumulationType { + ACC_TIME, ACC_STEPS, ACC_REWARD; +}