protected IEnumerable <EntityTag> ParseEntityTags(Tokenizer tokenizer)
        {
            tokenizer.SkipWhiteSpaces();
            yield return(entityTagParser.Parse(tokenizer));

            while (!tokenizer.IsAtEnd())
            {
                tokenizer.SkipWhiteSpaces();
                tokenizer.Read(COMMA);
                tokenizer.SkipWhiteSpaces();
                yield return(entityTagParser.Parse(tokenizer));
            }
        }
 protected EntityTag TryParseEntityTag(Tokenizer tokenizer)
 {
     try
     {
         return(entityTagParser.Parse(tokenizer));
     }
     catch (ParsingException)
     {
         return(null);
     }
 }
        public T Read(string value)
        {
            if (value == null)
            {
                throw new ArgumentNullException("value");
            }

            var tokenizer = new Tokenizer(value);
            var result    = parser.Parse(tokenizer);

            if (!tokenizer.IsAtEnd())
            {
                tokenizer.Throw("End of string expected");
            }
            return(result);
        }
Пример #4
0
        public IHeader Parse(string name, string value)
        {
            _logger.Trace("Parsing [" + name + "] " + value);
            IHeaderParser parser = GetParser(name);
            StringReader  reader = _readers.Dequeue();

            try
            {
                if (parser == null)
                {
                    return(CreateDefaultHeader(name, value));
                }

                reader.Assign(value);
                return(parser.Parse(name, reader));
            }
            finally
            {
                _readers.Enqueue(reader);
            }
        }