Example #1
0
        private static string ScanHexNumber(SlidingTextWindow window)
        {
            var buffer = new StringBuilder();

            while (true)
            {
                if (window.IsAtEnd())
                {
                    return(buffer.ToString());
                }

                char current = window.Peek();
                if (!IsHexDigit(current))
                {
                    return(buffer.ToString());
                }

                buffer.Append(current);
                window.Advance();
            }
        }
Example #2
0
        private IEnumerable <SyntaxTrivia> ScanTrailingTrivia()
        {
            if (IsWhiteSpace(textWindow.Peek()))
            {
                yield return(ScanWhitespace());
            }

            if (textWindow.Peek() == '/' && textWindow.Peek(1) == '/')
            {
                yield return(ScanSingleLineComment());

                yield break;
            }

            if (textWindow.Peek() == '/' && textWindow.Peek(1) == '*')
            {
                yield return(ScanMultiLineComment());

                yield break;
            }
        }