public function process(array $statementlist, SymbolTable $table=null) {
        if(is_null($table)) {
            $table = new SymbolTable;
        }
        $statementlist = $this->optimize($statementlist);

        $results = [];
        // Loop over every Statement and execute it.
        foreach($statementlist as $statement) {
            $results = array_merge(
                $results,
                (array) $statement->process($table)
            );
        }

        return $results;
    }