annotate Implab/Parsing/StarToken.cs @ 89:ce0171cacec4 v2

improved performance of a chained map operation
author cin
date Wed, 08 Oct 2014 02:19:45 +0400
parents c0bf853aa04f
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
55
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
1 using Implab;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
2 using System;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
3 using System.Collections.Generic;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
4 using System.Linq;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
5 using System.Text;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
6 using System.Threading.Tasks;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
7
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
8 namespace Implab.Parsing {
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
9 /// <summary>
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
10 /// Замыкание выражения с 0 и более повторов.
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
11 /// </summary>
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
12 public class StarToken: Token {
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
13
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
14 Token m_token;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
15
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
16 public Token Token {
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
17 get { return m_token; }
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
18 }
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
19
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
20 public StarToken(Token token) {
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
21 Safe.ArgumentNotNull(token, "token");
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
22 m_token = token;
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
23 }
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
24
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
25 public override void Accept(IVisitor visitor) {
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
26 Safe.ArgumentNotNull(visitor, "visitor");
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
27 visitor.Visit(this);
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
28 }
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
29
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
30 public override string ToString() {
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
31 return String.Format("({0})*", Token.ToString());
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
32 }
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
33 }
c0bf853aa04f Added initial JSON support
cin
parents:
diff changeset
34 }