_Core/Lang/Parser/PluginSupport/TokenPlugin.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ComLib.Lang
{
    /// <summary>
    /// A combinator to extend the parser
    /// </summary>
    public class TokenPlugin : ITokenPlugin
    {
        /// <summary>
        /// The starting tokens that are associated w/ the combinator.
        /// </summary>
        protected string[] _tokens;


        /// <summary>
        /// The core parser.
        /// </summary>
        protected Parser _parser;


        /// <summary>
        /// The token iterator
        /// </summary>
        protected TokenIterator _tokenIt;


        /// <summary>
        /// Whether or not this combinator can be made into a statemnt.
        /// </summary>
        protected bool _canHandleToken = false;


        /// <summary>
        /// Initialize the combinator.
        /// </summary>
        /// <param name="parser">The core parser</param>
        /// <param name="tokenIt">The token iterator</param>
        public virtual void Init(Parser parser, TokenIterator tokenIt)
        {
            _parser = parser;
            _tokenIt = tokenIt;
        }


        /// <summary>
        /// The token iterator.
        /// </summary>
        public TokenIterator TokenIt { get { return _tokenIt; } set { _tokenIt = value; } }


        /// <summary>
        /// Precendence
        /// </summary>
        public int Precedence { get; set; }


后面还有 83 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。