char ReadChar()
{
if (EndOfSource)
throw new LexerException("End of source reached.");
char ch = m_listSourceLines[m_iSourceLine][m_iSourceChar++];
if (m_iSourceChar >= m_listSourceLines[m_iSourceLine].Length) {
m_iSourceChar = 0;
++m_iSourceLine;
}
return ch;
}
void UndoChar()