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