예제 #1
0
        protected char Read()
        {
            var ch = Peek();

            sourcePosition++;
            if (ch != NullChar)
            {
                CurrentTokenChars.Append(ch);

                if (ch == '\r' && Peek() != '\n')
                {
                    CurrentLine++;
                    PositionOnLine = 0;
                }
                else if (ch == '\n')
                {
                    CurrentLine++;
                    PositionOnLine = 0;
                }
                PositionOnLine++;
                position++;
            }

            return(ch);
        }
예제 #2
0
        /// <summary>
        /// Returns the current char and advances to the next one.
        /// </summary>
        protected char Read()
        {
            var ch = reader.Read();

            if (ch != NullChar)
            {
                CurrentTokenChars.Append(ch);

                if (ch == '\r' && Peek() != '\n')
                {
                    CurrentLine++;
                    PositionOnLine = 0;
                }
                else if (ch == '\n')
                {
                    CurrentLine++;
                    PositionOnLine = 0;
                }
            }

            PositionOnLine++;
            return(ch);
        }