diff --git a/src/org/nwapw/abacus/lexing/Lexer.java b/src/org/nwapw/abacus/lexing/Lexer.java index 2813061..1a3cab8 100644 --- a/src/org/nwapw/abacus/lexing/Lexer.java +++ b/src/org/nwapw/abacus/lexing/Lexer.java @@ -87,11 +87,12 @@ public class Lexer { int index = startAt; ArrayList> matches = new ArrayList<>(); Match lastMatch = null; - while((lastMatch = lexOne(from, index, compare)) != null && index < from.length()){ + while(index < from.length() && (lastMatch = lexOne(from, index, compare)) != null){ if(lastMatch.getTo() == lastMatch.getFrom()) return null; matches.add(lastMatch); index += lastMatch.getTo() - lastMatch.getFrom(); } + if(lastMatch == null) return null; return matches; }