diff --git a/build.gradle b/build.gradle index b59e78174099df6be2934bad69296d754abf358a..4a3549575f489cf610567d629d02c502422f66a4 100644 --- a/build.gradle +++ b/build.gradle @@ -3,7 +3,7 @@ apply plugin: 'eclipse' apply plugin: 'maven' -project.version = '3.2.7-SNAPSHOT' +project.version = '3.2.8' project.group = 'de.stups' repositories { diff --git a/src/main/resources/org/sablecc/sablecc/lexer.txt b/src/main/resources/org/sablecc/sablecc/lexer.txt index 407382717a356c6c6045b656f0f90b10d04dc1c4..e0908c0285386fe1b12e8f3cef6540b705ba7d18 100644 --- a/src/main/resources/org/sablecc/sablecc/lexer.txt +++ b/src/main/resources/org/sablecc/sablecc/lexer.txt @@ -46,9 +46,14 @@ public class Lexer implements ITokenListContainer private final StringBuffer text = new StringBuffer(); private List<IToken> tokenList; + private final Queue<IToken> nextList = new LinkedBlockingQueue<IToken>(); private IToken tok; + public Queue<IToken> getNextList() { + return nextList; + } + public List<IToken> getTokenList() { return tokenList; } @@ -74,6 +79,7 @@ public class Lexer implements ITokenListContainer filter(); if (token != null) { getTokenList().add(token); + nextList.add(token); } } @@ -92,7 +98,7 @@ public class Lexer implements ITokenListContainer filterWrap(); } - return this.token; + return (Token) nextList.peek(); } public Token next() throws LexerException, IOException @@ -103,7 +109,7 @@ public class Lexer implements ITokenListContainer filterWrap(); } - Token result = this.token; + Token result = (Token) nextList.poll(); this.setToken(null); return result; }