package cobalt; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import static cobalt.TokenType.*; class Scanner { private final String source; private final List tokens = new ArrayList<>(); private int start = 0; private int current = 0; private int line = 0; Scanner(String source) { this.source = source; } List scanTokens() { while (!isAtEnd()) { start = current; scanTokens(); } tokens.add(new Token(EOF, "", null, line)); return tokens; } private boolean isAtEnd() { return current >= source.length(); } }