public override string ToString() { string ret = ""; List <Node> toPrint = TopSort.sort(this); IEnumerable iter = toPrint; foreach (Node node in iter) { if (node is BinExprNode) { BinExprNode b = (BinExprNode)node; if (b.left != null && b.right != null) { ret += b.left.Name + " " + b.Name + " " + b.right.Name; } else { ret += b.Name; } } else { ret += " " + node.ToString(); } } return(ret); }
private void BuildOperatorStatement(Node node, AST statementList) { Operator n = (Operator)node; Expr e1 = null; Expr e2 = null; tguid = GetTempGUID(n.Guid); BinExprNode b = new BinExprNode(e1, n, e2); Assignment a = new Assignment(new IdentNode(n.tempName, tguid), b); statementList.AddNode(a); }