public virtual string[] GetTokenNames() { int numTokens = GetMaxTokenType(); string[] tokenNames = new string[numTokens + 1]; for (int i = 0; i < tokenNames.Length; i++) { tokenNames[i] = GetTokenName(i); } return tokenNames; }