one_line_comment_token.cs

来自「csharp-solution,C#高效编程源码」· CS 代码 · 共 38 行

CS
38
字号

namespace CSharp
{
    internal sealed class OneLineComment
    {
        internal static bool Match(Position begin, Position end)
        {
            return end - begin >= 2 && Utility.Equal(begin, begin+2, "//");
        }
        
        internal static Position Eat(Position begin, Position end)
        {
            return Utility.Find(begin, end, '\n');            
        }

        internal static 
        ICommentToken MakeToken(Position begin, Position end) 
        { 
            return new OneLineCommentToken(begin, end); 
        }
        
        private sealed class OneLineCommentToken : Token, ICommentToken
        {
            internal OneLineCommentToken(Position begin, Position end)
              : base(begin, end)
            {
            }

            internal override void Accept(ITokenVisitor visitor)
            {
                visitor.Visit(this);
            }
        }

        private OneLineComment() {}             
    }
}

⌨️ 快捷键说明

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