comparison Implab/Automaton/RegularExpressions/CatToken.cs @ 162:0526412bbb26 ref20160224

DFA refactoring
author cin
date Wed, 24 Feb 2016 08:39:53 +0300
parents
children a0ff6a0e9c44
comparison
equal deleted inserted replaced
161:2a8466f0cb8a 162:0526412bbb26
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 }