162
|
1 using Implab;
|
|
2
|
|
3 namespace Implab.Automaton.RegularExpressions {
|
|
4 /// <summary>
|
|
5 /// Конечный символ расширенного регулярного выражения, при построении ДКА
|
|
6 /// используется для определения конечных состояний.
|
|
7 /// </summary>
|
|
8 public class EndToken<TTag>: Token<TTag> {
|
|
9
|
|
10 TTag m_tag;
|
|
11
|
|
12 public EndToken(TTag tag) {
|
|
13 m_tag = tag;
|
|
14 }
|
|
15
|
|
16 public EndToken()
|
|
17 : this(0) {
|
|
18 }
|
|
19
|
|
20 public TTag Tag {
|
|
21 get { return m_tag; }
|
|
22 }
|
|
23
|
|
24 public override void Accept(IVisitor<TTag> visitor) {
|
|
25 Safe.ArgumentNotNull(visitor, "visitor");
|
|
26 visitor.Visit(this);
|
|
27 }
|
|
28 public override string ToString() {
|
|
29 return "#";
|
|
30 }
|
|
31 }
|
|
32 }
|