diff --git a/prism/src/parser/PrismParser.java b/prism/src/parser/PrismParser.java index 224811fa..04affea0 100644 --- a/prism/src/parser/PrismParser.java +++ b/prism/src/parser/PrismParser.java @@ -411,7 +411,7 @@ public class PrismParser implements PrismParserConstants { } // Return completed ModulesFile object - mf.setPosition(begin, getToken(0)); + mf.setPosition(begin != null? begin: getToken(0), getToken(0)); {if (true) return mf;} throw new Error("Missing return statement in function"); } @@ -1782,8 +1782,8 @@ public class PrismParser implements PrismParserConstants { s = "min"; break; case MAX: - jj_consume_token(MAX); - s = "max"; + begin = jj_consume_token(MAX); + s = "max"; break; default: jj_la1[51] = jj_gen; diff --git a/prism/src/parser/PrismParser.jj b/prism/src/parser/PrismParser.jj index 70d4a3cc..96907b3f 100644 --- a/prism/src/parser/PrismParser.jj +++ b/prism/src/parser/PrismParser.jj @@ -489,7 +489,7 @@ ModulesFile ModulesFile() throws PrismLangException : } // Return completed ModulesFile object - mf.setPosition(begin, getToken(0)); + mf.setPosition(begin != null? begin: getToken(0), getToken(0)); return mf; } } @@ -1154,7 +1154,7 @@ Expression ExpressionFuncMinMax() : Token begin = null; } { - ( begin = { s = "min"; } | { s = "max"; } ) + ( begin = { s = "min"; } | begin = { s = "max"; } ) { func = new ExpressionFunc(s); } ExpressionFuncArgs(func) { func.setPosition(begin, getToken(0)); return func; } }