private string _readSymbolString()
{
Func<char, bool> isSymbol = (c => Char.IsSymbol(c) || Char.IsPunctuation(c));
string s = string.Empty;
while(!_eof() && isSymbol(_peekChar()))
{
s += _readChar();
if (_symbolTypes.ContainsKey(s) && (_eof() || !_symbolTypes.ContainsKey(s + _peekChar())))
break;
}
return s;
}