public virtual string GetRecognizerName()
{
string suffix = "";
IList<Grammar> grammarsFromRootToMe = GetOutermostGrammar().GetGrammarAncestors();
string qualifiedName = name;
if (grammarsFromRootToMe != null)
{
StringBuilder buf = new StringBuilder();
foreach (Grammar g in grammarsFromRootToMe)
{
buf.Append(g.name);
buf.Append('_');
}
if (IsAbstract())
{
buf.Append("Abstract");
}
buf.Append(name);
qualifiedName = buf.ToString();
}
else if (IsAbstract())
{
qualifiedName = "Abstract" + name;
}
if (IsCombined() || (IsLexer() && implicitLexer != null))
{
suffix = Grammar.GetGrammarTypeToFileNameSuffix(Type);
}
return qualifiedName + suffix;
}