⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 counting_token_visitor.cs

📁 csharp-solution,C#高效编程源码
💻 CS
字号:

namespace CSharp
{
    using System;
    
    sealed class CountingTokenVisitor : ITokenVisitor
    {
        public void Visit(ILineStartToken t) 
        {
            line_count++;
        }
    
        public void Visit(ILineEndToken t) {}
               
        public void Visit(ICommentToken    t) 
        {
            comment_count++;
        }
    
        public void Visit(IDirectiveToken  t) 
        {
            directive_count++;
        }
    
        public void Visit(IIdentifierToken t) 
        {
            identifier_count++;
        }
    
        public void Visit(IKeywordToken    t) 
        {
            keyword_count++;
        }
        
        public void Visit(IWhiteSpaceToken t) 
        {
            whitespace_count++;
        }
 
        public void Visit(IOtherToken t) 
        {
            other_count++;
        }
                
        public void Report()
        {
            Console.WriteLine("Token Counts");
            Console.WriteLine("Lines      : {0}", line_count);
            Console.WriteLine("Comments   : {0}", comment_count);
            Console.WriteLine("Directives : {0}", directive_count);
            Console.WriteLine("Identifiers: {0}", identifier_count);
            Console.WriteLine("Keywords   : {0}", keyword_count);
            Console.WriteLine("Whitespace : {0}", whitespace_count);
            Console.WriteLine("Other      : {0}", other_count);
        }
        
        private int 
            line_count,
            comment_count,
            directive_count,
            identifier_count,
            keyword_count,
            whitespace_count,
            other_count;           
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -