diff --git a/src/main/java/org/sablecc/sablecc/lexer/Lexer.java b/src/main/java/org/sablecc/sablecc/lexer/Lexer.java index d053187517e7460bfd7e9a24880e1768c0d1fcc9..3eafaec1931e12d2f44e3aae8263f8295de4a35c 100644 --- a/src/main/java/org/sablecc/sablecc/lexer/Lexer.java +++ b/src/main/java/org/sablecc/sablecc/lexer/Lexer.java @@ -19,7 +19,7 @@ public class Lexer implements ITokenListContainer protected int pos; private boolean cr; private boolean eof; - private final StringBuffer text = new StringBuffer(); + private final StringBuilder text = new StringBuilder(); private List<IToken> tokenList; private final Queue<IToken> nextList = new LinkedBlockingQueue<IToken>(); @@ -722,13 +722,7 @@ public class Lexer implements ITokenListContainer private String getText(int acceptLength) { - StringBuffer s = new StringBuffer(acceptLength); - for(int i = 0; i < acceptLength; i++) - { - s.append(this.text.charAt(i)); - } - - return s.toString(); + return this.text.substring(0, acceptLength); } private static int[][][][] gotoTable; diff --git a/src/main/java/org/sablecc/sablecc/parser/Parser.java b/src/main/java/org/sablecc/sablecc/parser/Parser.java index f76e51c6bbbc10ca95dc63718f2602da919fbf2c..aadf7435f6aceccef7955e225392839b594c6d00 100644 --- a/src/main/java/org/sablecc/sablecc/parser/Parser.java +++ b/src/main/java/org/sablecc/sablecc/parser/Parser.java @@ -10688,7 +10688,7 @@ public class Parser implements IParser for(int i = 0; i < errorMessages.length; i++) { length = s.readInt(); - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); for(int j = 0; j < length; j++) { diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt index 2922cf10ee42c337b32f2f01d194648325a5795e..f9ccfb2dc96c980fd734deab2f20a2373e584280 100644 --- a/src/main/resources/org/sablecc/sablecc/lexer.txt +++ b/src/main/resources/org/sablecc/sablecc/lexer.txt @@ -43,7 +43,7 @@ public class Lexer implements ITokenListContainer protected int pos; private boolean cr; private boolean eof; - private final StringBuffer text = new StringBuffer(); + private final StringBuilder text = new StringBuilder(); private List<IToken> tokenList; private final Queue<IToken> nextList = new LinkedBlockingQueue<IToken>(); @@ -350,13 +350,7 @@ Macro:LexerBody2 private String getText(int acceptLength) { - StringBuffer s = new StringBuffer(acceptLength); - for(int i = 0; i < acceptLength; i++) - { - s.append(this.text.charAt(i)); - } - - return s.toString(); + return this.text.substring(0, acceptLength); } private static int[][][][] gotoTable; diff --git a/src/main/resources/org/sablecc/sablecc/parser.txt b/src/main/resources/org/sablecc/sablecc/parser.txt index 862ac91403b9e7959abd031ce47c6b7a343d1e4e..d6d876b18ead8e26bf711fa9d343eb7fc296c64f 100644 --- a/src/main/resources/org/sablecc/sablecc/parser.txt +++ b/src/main/resources/org/sablecc/sablecc/parser.txt @@ -550,7 +550,7 @@ Macro:ParserTail for(int i = 0; i < errorMessages.length; i++) { length = s.readInt(); - StringBuffer buffer = new StringBuffer(); + StringBuilder buffer = new StringBuilder(); for(int j = 0; j < length; j++) {