void ParseTag(BibTexDatabase database, Entry entry, string tagName)
{
Consume(TokenType.Equals);
string value = null;
while(true)
{
switch (Current.TokenType)
{
case TokenType.QuotedString:
value += Consume().Data;
break;
case TokenType.BracedString:
value += Consume().Data;
break;
case TokenType.Text:
var token = Consume().Data;
value += database.GetAbbreviation(token, token);
break;
case TokenType.Hash:
break;
default:
throw new NotImplementedException();
}
if (Current.TokenType != TokenType.Hash) break;
Consume();
}
entry.AddTag(new TagEntry(tagName, value));
}