Mercurial > pub > ImplabNet
diff Implab/Automaton/RegularExpressions/StarToken.cs @ 162:0526412bbb26 ref20160224
DFA refactoring
author | cin |
---|---|
date | Wed, 24 Feb 2016 08:39:53 +0300 |
parents | |
children | a0ff6a0e9c44 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab/Automaton/RegularExpressions/StarToken.cs Wed Feb 24 08:39:53 2016 +0300 @@ -0,0 +1,34 @@ +using Implab; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Implab.Automaton.RegularExpressions { + /// <summary> + /// Замыкание выражения с 0 и более повторов. + /// </summary> + public class StarToken<TTag>: Token<TTag> { + + Token<TTag> m_token; + + public Token<TTag> Token { + get { return m_token; } + } + + public StarToken(Token<TTag> token) { + Safe.ArgumentNotNull(token, "token"); + m_token = token; + } + + public override void Accept(IVisitor<TTag> visitor) { + Safe.ArgumentNotNull(visitor, "visitor"); + visitor.Visit(this); + } + + public override string ToString() { + return String.Format("({0})*", Token); + } + } +}