@Override
    public String toString() {
	if (children == null || children.size() == 0) {
	    return this.getText();
	}
	StringBuffer buf = new StringBuffer();
	if (children != null) {
	    buf.append("(");
	    buf.append(this.getText());
	    buf.append(' ');
	}
	for (int i = 0; children != null && i < children.size(); i++) {
	    ASTNode t = children.get(i);
	    if (i > 0) {
		buf.append(' ');
	    }
	    buf.append(t.toString());
	}
	if (children != null) {
	    buf.append(")");
	}
	return buf.toString();
    }