protected override void WriteToInternal(RichTextWriter writer)
 {
     this.Inner.WriteTo(writer, this.EvaluationPrecedence);
     writer.Write("√");
     writer.Write("(");
     writer.Write(this.Symbol);
     writer.Write(")");
 }
Beispiel #2
0
 public void WriteTo(RichTextWriter writer, int currentPrecedenceLevel)
 {
     if (currentPrecedenceLevel < this.EvaluationPrecedence)
     {
         writer.Write('(');
         this.WriteToInternal(writer);
         writer.Write(')');
     }
     else
     {
         this.WriteToInternal(writer);
     }
 }
 protected override void WriteToInternal(RichTextWriter writer)
 {
     this.Inner.WriteTo(writer, this.EvaluationPrecedence);
     if (this.Max.GetValueOrDefault(int.MaxValue) > 0)
     {
         if ((this.Min == 0) && (this.Max == 1))
         {
             writer.Write("?");
         }
         else if ((this.Min == 0) && !this.Max.HasValue)
         {
             writer.Write("*");
         }
         else if ((this.Min == 1) && !this.Max.HasValue)
         {
             writer.Write("+");
         }
         else
         {
             writer.Write('{');
             writer.Write(this.Min);
             if (this.Min != this.Max)
             {
                 writer.Write(',');
                 if (this.Max.HasValue)
                 {
                     writer.Write(this.Max.Value);
                 }
             }
             writer.Write('}');
         }
     }
 }
Beispiel #4
0
        protected override void WriteToInternal(RichTextWriter writer)
        {
            switch (this.Letters.Expand().Take(2).Count())
            {
            case 0:
                break;

            case 1:
                writer.Write(letterToString(this.Letters.Expand().Single()));
                break;

            default:
                writer.Write('[');
                foreach (var range in this.letters)
                {
                    writer.Write(letterToString(range.From));
                    if (!range.From.Equals(range.To))
                    {
                        writer.Write('-');
                        writer.Write(letterToString(range.To));
                    }
                }
                writer.Write(']');
                break;
            }
        }
 protected override void WriteToInternal(RichTextWriter writer)
 {
     this.Left.WriteTo(writer, this.EvaluationPrecedence);
     writer.Write('|');
     this.Right.WriteTo(writer, this.EvaluationPrecedence);
 }