StarToken.cs
31 lines
| 766 B
| text/x-csharp
|
CSharpLexer
|
|
r162 | using Implab; | ||
| using System; | ||||
|
|
r177 | |||
|
|
r162 | |||
| namespace Implab.Automaton.RegularExpressions { | ||||
| /// <summary> | ||||
| /// Замыкание выражения с 0 и более повторов. | ||||
| /// </summary> | ||||
|
|
r177 | public class StarToken: Token { | ||
|
|
r162 | |||
|
|
r177 | Token m_token; | ||
|
|
r162 | |||
|
|
r177 | public Token Token { | ||
|
|
r162 | get { return m_token; } | ||
| } | ||||
|
|
r177 | public StarToken(Token token) { | ||
|
|
r162 | Safe.ArgumentNotNull(token, "token"); | ||
| m_token = token; | ||||
| } | ||||
|
|
r177 | public override void Accept(IVisitor visitor) { | ||
|
|
r162 | Safe.ArgumentNotNull(visitor, "visitor"); | ||
| visitor.Visit(this); | ||||
| } | ||||
| public override string ToString() { | ||||
| return String.Format("({0})*", Token); | ||||
| } | ||||
| } | ||||
| } | ||||
