From bb6693f43df5ecdb83819b6723b104d387d0fabc Mon Sep 17 00:00:00 2001 From: Dave Parker Date: Tue, 19 May 2015 10:06:41 +0000 Subject: [PATCH] Allow comments to have no trailing new-line (e.g. when occurring at very end of file) - cannot see a good reason not to allow this. git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@9851 bbc10eb1-c90d-0410-af57-cb519fbb1720 --- prism/src/parser/PrismParser.jj | 2 +- prism/src/parser/PrismParserTokenManager.java | 23 ++++++++++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/prism/src/parser/PrismParser.jj b/prism/src/parser/PrismParser.jj index 814b631c..9d7c4e65 100644 --- a/prism/src/parser/PrismParser.jj +++ b/prism/src/parser/PrismParser.jj @@ -361,7 +361,7 @@ SPECIAL_TOKEN : SPECIAL_TOKEN : { - + } // Tokens diff --git a/prism/src/parser/PrismParserTokenManager.java b/prism/src/parser/PrismParserTokenManager.java index 39cb6f8f..72a27f88 100644 --- a/prism/src/parser/PrismParserTokenManager.java +++ b/prism/src/parser/PrismParserTokenManager.java @@ -922,12 +922,18 @@ static private int jjMoveNfa_0(int startState, int curPos) } break; case 1: - if (curChar == 47) - jjCheckNAddStates(4, 6); + if (curChar != 47) + break; + if (kind > 2) + kind = 2; + jjCheckNAddStates(4, 6); break; case 2: - if ((0xffffffffffffdbffL & l) != 0L) - jjCheckNAddStates(4, 6); + if ((0xffffffffffffdbffL & l) == 0L) + break; + if (kind > 2) + kind = 2; + jjCheckNAddStates(4, 6); break; case 3: if ((0x2400L & l) != 0L && kind > 2) @@ -1048,6 +1054,8 @@ static private int jjMoveNfa_0(int startState, int curPos) jjCheckNAddStates(7, 9); break; case 2: + if (kind > 2) + kind = 2; jjAddStates(4, 6); break; case 12: @@ -1084,8 +1092,11 @@ static private int jjMoveNfa_0(int startState, int curPos) switch(jjstateSet[--i]) { case 2: - if (jjCanMove_0(hiByte, i1, i2, l1, l2)) - jjAddStates(4, 6); + if (!jjCanMove_0(hiByte, i1, i2, l1, l2)) + break; + if (kind > 2) + kind = 2; + jjAddStates(4, 6); break; case 16: if (jjCanMove_0(hiByte, i1, i2, l1, l2))