public UnaryNode(Node target, UnaryOperator operation) { this.target = target; this.operation = operation; }
public WhileStatement(Node condition, Routine suite) { this.condition = condition; this.suite = suite; this.elseSuite = null; }
public ReturnStatement(Node returnValue) { this.returnValue = returnValue; }
public TernaryNode(Node x, Node y, Node z, TernaryOperator operation) { this.x = x; this.y = y; this.z = z; this.operation = operation; }
public IfStatement(Node condition, Routine suite) { this.condition = condition; this.suite = suite; this.nextIf = null; }
public BinaryAssignNode(Node lvalue, Node rvalue, BinaryAssignOperator operation) { this.lvalue = lvalue; this.rvalue = rvalue; this.operation = operation; }
public IfStatement(Routine elseSuite) { this.condition = null; this.suite = elseSuite; this.nextIf = null; }
public ExpressionStatement(Node expression) { this.expression = expression; }
public CallNode(Node function) { this.function = function; this.param = Enumerable.Empty<Node>(); }
public CallNode(Node function, IEnumerable<Node> param) { this.function = function; this.param = param; }
public BinaryNode(Node x, Node y, BinaryOperator operation) { this.x = x; this.y = y; this.operation = operation; }