| 162 | 1 using System; | 
|  | 2 | 
|  | 3 namespace Implab.Automaton.RegularExpressions { | 
| 177 | 4     public class CatToken : BinaryToken { | 
|  | 5         public CatToken(Token left, Token right) | 
| 162 | 6             : base(left, right) { | 
|  | 7         } | 
|  | 8 | 
| 177 | 9         public override void Accept(IVisitor visitor) { | 
| 162 | 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 | 
| 177 | 18         static string FormatToken(Token token) { | 
|  | 19             return String.Format(token is AltToken ? "({0})" : "{0}", token); | 
| 162 | 20         } | 
|  | 21     } | 
|  | 22 } |