public PrintStmt(Expression expr, Token token) : base(token) { this.expr = expr; }
public ForStmt(string identifier, Expression startVal, Expression endVal, IEnumerable<Statement> block, Token token) : base(token) { this.identifier = identifier; this.startVal = startVal; this.endVal = endVal; this.block = block; }
public DeclarationStmt(string identifier, ValueType type, Token token, Expression initialValue) : this(identifier, type, token) { this.initialValue = initialValue; }
public AssignStmt(string identifier, Expression expr, Token token) : base(token) { this.identifier = identifier; this.expr = expr; }
public UnaryOp(char op, Expression expr, Token token) : base(token) { this.op = op; this.expr = expr; }
public BinaryOp(Expression lhs, char op, Expression rhs, Token token) : base(token) { this.op = op; this.lhs = lhs; this.rhs = rhs; }