示例#1
0
        public virtual void ParseAndRewrite()
        {
            ProcessArgs(args);
            ICharStream input = null;

            if (filename != null)
            {
                input = new ANTLRFileStream(filename);
            }
            else
            {
                input = new ANTLRReaderStream(Console.In, ANTLRReaderStream.InitialBufferSize, ANTLRReaderStream.ReadBufferSize);
            }
            // BUILD AST
            ANTLRLexer lex = new ANTLRLexer(input);

            tokens = new TokenRewriteStream(lex);
            ANTLRParser g       = new ANTLRParser(tokens);
            Grammar     grammar = new Grammar();
            var         r       = g.grammar_(grammar);
            CommonTree  t       = (CommonTree)r.Tree;

            if (tree_option)
            {
                Console.Out.WriteLine(t.ToStringTree());
            }
            Rewrite(g.TreeAdaptor, t, g.TokenNames);
        }
示例#2
0
 public virtual void ParseAndRewrite()
 {
     ProcessArgs( args );
     ICharStream input = null;
     if ( filename != null )
     {
         input = new ANTLRFileStream( filename );
     }
     else
     {
         input = new ANTLRReaderStream( Console.In, ANTLRReaderStream.InitialBufferSize, ANTLRReaderStream.ReadBufferSize );
     }
     // BUILD AST
     ANTLRLexer lex = new ANTLRLexer( input );
     tokens = new TokenRewriteStream( lex );
     ANTLRParser g = new ANTLRParser( tokens );
     Grammar grammar = new Grammar();
     var r = g.grammar_( grammar );
     CommonTree t = (CommonTree)r.Tree;
     if ( tree_option )
         Console.Out.WriteLine( t.ToStringTree() );
     Rewrite( g.TreeAdaptor, t, g.TokenNames );
 }