private string buildLogicChain(LogicChain chain) { string text = buildLogicExpr(chain.nodes[0]); for (int i = 1; i < chain.nodes.Count; i++) { LogicChain.Node node = chain.nodes[i]; text += " " + lgop(chain.op) + " " + buildLogicExpr(node); } return(text); }
private string buildLogicExpr(LogicChain.Node node) { if (node.isSubChain) { string text = buildLogicChain(node.subChain); if (node.subChain.nodes.Count == 1) { return(text); } return("(" + text + ")"); } return(buildExpression(node.expression)); }