view Implab/Parsing/StarToken.cs @ 89:ce0171cacec4 v2

improved performance of a chained map operation
author cin
date Wed, 08 Oct 2014 02:19:45 +0400
parents c0bf853aa04f
children
line wrap: on
line source

using Implab;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Implab.Parsing {
    /// <summary>
    /// Замыкание выражения с 0 и более повторов.
    /// </summary>
    public class StarToken: Token {

        Token m_token;

        public Token Token {
            get { return m_token; }
        }

        public StarToken(Token token) {
            Safe.ArgumentNotNull(token, "token");
            m_token = token;
        }

        public override void Accept(IVisitor visitor) {
            Safe.ArgumentNotNull(visitor, "visitor");
            visitor.Visit(this);
        }

        public override string ToString() {
            return String.Format("({0})*", Token.ToString());
        }
    }
}