Mercurial > pub > ImplabNet
diff Implab/Automaton/RegularExpressions/EndTokenT.cs @ 177:a0ff6a0e9c44 ref20160224
refactoring
author | cin |
---|---|
date | Wed, 23 Mar 2016 01:42:00 +0300 |
parents | |
children | d5c5db0335ee |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab/Automaton/RegularExpressions/EndTokenT.cs Wed Mar 23 01:42:00 2016 +0300 @@ -0,0 +1,33 @@ +using Implab; + +namespace Implab.Automaton.RegularExpressions { + /// <summary> + /// Конечный символ расширенного регулярного выражения, при построении ДКА + /// используется для определения конечных состояний. + /// </summary> + public class EndToken<TTag>: Token { + + TTag m_tag; + + public EndToken(TTag tag) { + m_tag = tag; + } + + public EndToken() + : this(default(TTag)) { + } + + public TTag Tag { + get { return m_tag; } + } + + public override void Accept(IVisitor visitor) { + Safe.ArgumentOfType(visitor, typeof(IVisitor<TTag>), "visitor"); + Safe.ArgumentNotNull(visitor, "visitor"); + ((IVisitor<TTag>)visitor).Visit(this); + } + public override string ToString() { + return "#"; + } + } +}