From 8ebd3343632d0c5e8100bc12dd1c2644d60956cb Mon Sep 17 00:00:00 2001 From: Sascha Wunderlich Date: Thu, 20 Feb 2020 20:19:09 +0100 Subject: [PATCH] Fix AccumulationType --- prism/src/parser/PrismParser.jj | 6 +++--- prism/src/parser/ast/AccumulationFunction.java | 10 +++++++--- prism/src/parser/ast/AccumulationType.java | 5 +++++ 3 files changed, 15 insertions(+), 6 deletions(-) create mode 100644 prism/src/parser/ast/AccumulationType.java 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; +}