CodeTools::AST << {
# TODO: consider moving out of the AST namespace - or maybe collapse into FileToplevel Script < Node { node_type script field file, field body var variable_scope # TODO: remove? nest_scope: |scope| scope.parent = self search_local: null # TODO: revisit and possibly implement for nested evals bytecode: |g| { g.name = :__script__ g.file = self.file.to_sym g.push_state(self) self.body.bytecode(g) g.ret g.pop_state } }
}