162
|
1 using System;
|
|
2
|
|
3 namespace Implab.Automaton.RegularExpressions {
|
|
4 public class CatToken<TTag> : BinaryToken<TTag> {
|
|
5 public CatToken(Token<TTag> left, Token<TTag> right)
|
|
6 : base(left, right) {
|
|
7 }
|
|
8
|
|
9 public override void Accept(IVisitor<TTag> visitor) {
|
|
10 Safe.ArgumentNotNull(visitor, "visitor");
|
|
11 visitor.Visit(this);
|
|
12 }
|
|
13
|
|
14 public override string ToString() {
|
|
15 return String.Format("{0}{1}", FormatToken(Left), FormatToken(Right));
|
|
16 }
|
|
17
|
|
18 static string FormatToken(Token<TTag> token) {
|
|
19 return String.Format(token is AltToken<TTag> ? "({0})" : "{0}", token);
|
|
20 }
|
|
21 }
|
|
22 }
|