Exemplo n.º 1
0
        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);
                }
            }
        }
Exemplo n.º 2
0
        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();
            AssignTokenTypesWalker ttypesWalker = new AssignTokenTypesBehavior();
            for (int i = 0; grammars != null && i < grammars.Count; i++)
            {
                Grammar g = (Grammar)grammars[i];
                ttypesWalker.SetTreeNodeStream(new Antlr.Runtime.Tree.CommonTreeNodeStream(g.Tree));
                try
                {
                    //System.Console.Out.WriteLine( "    walking " + g.name );
                    ttypesWalker.grammar_( g );
                }
                catch ( RecognitionException re )
                {
                    ErrorManager.Error( ErrorManager.MSG_BAD_AST_STRUCTURE,
                                       re );
                }
            }

            // the walker has filled literals, tokens, and alias tables.
            // now tell it to define them in the root grammar
            ttypesWalker.DefineTokens(delegateGrammarTreeRoot.Grammar);
        }