protected override void WriteToInternal(RichTextWriter writer) { this.Inner.WriteTo(writer, this.EvaluationPrecedence); writer.Write("√"); writer.Write("("); writer.Write(this.Symbol); writer.Write(")"); }
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('}'); } } }
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); }