Table of Contents

Module Package

Synopsis

The Program package of RubyEx is a C++ VM which accepts byte-code generated from the translator and evaluates it.

Interface

Program accepts bytecode on stdin by default, and evaluates the bytecode in the context of a RubyEnvironment (more-or-less equivalent to a cell in module).

Developers

Since all operations requiring reference to `global' objects are actually performed within the context of a RubyEnvironment, a single Program instance could host several separate RubyEnvironments - each has its own globals and constants (ex. true, false, nil, Object, Kernel, …) and is totally separated.