diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt index 3e9a5b324273688d3dcd9bf71322abe45849b6a5..12b4cdf02702829924d7db9dd3c24224b4524db1 100644 --- a/src/main/resources/org/sablecc/sablecc/lexer.txt +++ b/src/main/resources/org/sablecc/sablecc/lexer.txt @@ -179,7 +179,7 @@ public class Lexer implements ITokenListContainer // an entry {Low, Up, Id} -> means if Low <= c <= Up -> goto state Id while(low <= high) { - int middle = (low + high) / 2; + int middle = (low + high) >>> 1; int[] tmp2 = tmp1[middle]; if(c < tmp2[0]) diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index 82ef6f2445421f70a5864d0435545ad227907bf4..eef5e452c3b3b3541084ea87f5fd07b4175c5c05 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -236,7 +236,7 @@ Macro:ParserCommon while(low <= high) { - int middle = (low + high) / 2; + int middle = (low + high) >>> 1; if(state < gotoTable[index][middle][0]) { @@ -308,7 +308,7 @@ Macro:ParserCommon while(low <= high) { - int middle = (low + high) / 2; + int middle = (low + high) >>> 1; if(index < Parser.actionTable[state()][middle][0]) {