/** if the token just parsed was a NAME or STRING, this is the string value */
protected String string = null;
- /** the line number of the current token */
- protected int line = 0;
+ /** the line number of the most recently <i>lexed</i> token */
+ private int line = 0;
+
+ /** the line number of the most recently <i>parsed</i> token */
+ protected int parserLine = 0;
/** the column number of the current token */
protected int col = 0;
public Lexer(Reader r, String sourceName, int line) throws IOException {
this.sourceName = sourceName;
this.line = line;
+ this.parserLine = line;
in = new SmartReader(r);
}
lastread = reader.read();
if (accumulator != null) accumulator.append((char)lastread);
if (lastread != '\n' && lastread != '\r') col++;
- if (lastread == '\n') { line++; col = 0; }
+ if (lastread == '\n') { parserLine = ++line; col = 0; }
return lastread;
}