Kaleidoscope.Chapter6.Lexer.AdvanceReader C# (CSharp) Method

AdvanceReader() private method

private AdvanceReader ( ) : bool
return bool
        private bool AdvanceReader()
        {
            while(!m_bEof)
            {
                if(m_position == m_line.Length)
                {
                    m_line = m_reader.ReadLine();
                    m_position = 0;

                    if(string.IsNullOrWhiteSpace(m_line))
                    {
                        m_bEof = true;
                        break;
                    }
                }

                // Skip any whitespace.
                while(m_position < m_line.Length && char.IsWhiteSpace(m_line[m_position]))
                {
                    m_position++;
                }

                if(m_position < m_line.Length)
                    break;
            }

            return !m_bEof;
        }
    }