public virtual void AssignTokenTypes()
{
// ASSIGN TOKEN TYPES for all delegates (same walker)
//System.Console.Out.WriteLine( "### assign types" );
//ttypesWalker.setASTNodeClass( "org.antlr.tool.GrammarAST" );
IList <Grammar> grammars = delegateGrammarTreeRoot.GetPostOrderedGrammarList();
for (int i = 0; grammars != null && i < grammars.Count; i++)
{
Grammar g = (Grammar)grammars[i];
AssignTokenTypesWalker ttypesWalker = new AssignTokenTypesBehavior(new Antlr.Runtime.Tree.CommonTreeNodeStream(g.Tree));
try
{
//System.Console.Out.WriteLine( " walking " + g.name );
ttypesWalker.grammar_(g);
// the walker has filled literals, tokens, and alias tables.
// now tell it to define them in the root grammar
ttypesWalker.DefineTokens(delegateGrammarTreeRoot.grammar);
}
catch (RecognitionException re)
{
ErrorManager.Error(ErrorManager.MSG_BAD_AST_STRUCTURE,
re);
}
}
}