A statement is similar to that of any imperative programming language; it can change the memory state or the control flow. There are many kinds of statements.
abstract Statement : ExecutionObject
virtual list<Statement* owner> child_statements;
virtual list<VariableSymbol* reference> destination_vars;
|child_statements||Virtual list of statements (control flow objects) nested in this statement.|
|destination_vars||Virtual list of variables that have been written in this statement.|