private void updateCursorPosition(int character) { // see Java Language Specification : http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.4 if (character == LF || (character == CR && peek() != LF)) { cursor.line++; cursor.column = 0; } else if (character == '\t') { cursor.column += tabWidth; } else { cursor.column++; } }
@Override public final String toString() { StringBuilder result = new StringBuilder(); result.append("CodeReader("); result.append("line:").append(cursor.line); result.append("|column:").append(cursor.column); result.append("|cursor value:'").append((char) peek()).append("'"); result.append(")"); return result.toString(); }