示例#1
0
        public TokenizerResult Parse(string txt)
        {
            var l             = new List <object>();
            var spacerequired = false;
            var txtSpan       = TextSpan.FromString(txt);

            while (txtSpan.Length > 0)
            {
                if (spacerequired)
                {
                    if (!char.IsWhiteSpace(txtSpan[0]))
                    {
                        break;
                    }
                }
                var item = ParseSingleToken(ref txtSpan);
                if (item is null)
                {
                    break;
                }

                l.Add(item);
                spacerequired = true;
            }

            return(new TokenizerResult
            {
                Tokens = l.ToArray(),
                NotParsedEnd = txtSpan
            });
        }