private string _readIdentifierString()
{
Func<Char, bool> isIdentifierChar = (c => Char.IsLetter(c) || Char.IsDigit(c) || c == '-' || c == '&' || c == '.');
string s = string.Empty;
while(!_eof() && isIdentifierChar(_peekChar()))
{
s += _readChar();
}
if(_line != null && _line.Length >= _column + " STRING".Length && _line.Substring(_column, " STRING".Length) == " STRING")
{
// BIT STRING or OCTET STRING or CHAR STRING
s += " STRING";
for (int i = 0; i < " STRING".Length; i++)
_readChar();
}
return s;
}