public AppNode(BaseState m, Model.FuncTuple t, Func<Model.Element, string> nameElement) : base(m, t.Func.Name, t.Result) { tupl = t; var sb = new StringBuilder(); sb.Append(t.Func.Name); if (t.Args.Length > 0) { sb.Append("("); for (int i = 0; i < t.Args.Length; ++i) { var n = nameElement(t.Args[i]); if (n == null) sb.AppendFormat("%{0}, ", i); else sb.AppendFormat("{0}, ", n); } sb.Length -= 2; sb.Append(")"); } name = new EdgeName(m.m, sb.ToString(), t.Args); }
public ElementNode(BaseState st, string name, Model.Element elt) : base(st.m, name, elt) { this.st = st; }
public AppNode(BaseState m, Model.FuncTuple t) : this(m, t, _ => null) { }