private static JsonToken GetUnquotedStringToken(JsonBuffer buffer)
{
// opening letter or $ has already been read
var start = buffer.Position - 1;
var c = buffer.Read();
while (c == '$' || c == '_' || char.IsLetterOrDigit((char)c))
{
c = buffer.Read();
}
buffer.UnRead(c);
var lexeme = buffer.Substring(start, buffer.Position - start);
return new StringJsonToken(JsonTokenType.UnquotedString, lexeme, lexeme);
}