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); }
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); } }