Open Object Rexx - Files

Interpreter Source Files

This is the main subdirectory for the core interpreter source files. These files are used the build the rexx shared library. The interpreter is organized into a a number of different subsystems, each with a unique subdirectory.

The following are the available subdirectories.

api Files related to APIs involving calls into the interpreter functions.
behaviour Source files related to the underlying ooRexx object model. The files in this directory are used to create the object method diectionary and associated type codes.
classes All externally visible ooRexx classes. These are the core classes visible to ooRexx programs.
concurrency Interpreter synchronization and threading support.
execution Classes used to manage the execution state of running ooRexx code. This includes call contexts, variable management, etc.
expression Runtime support for different categories of expression terms (operators, method calls, functions, variables, etc.)
instructions The implementations of the ooRexx keyword instructions and directives.
memory The ooRexx garbage collector and memory manager. The memory management functions include the initial image bootstrap processing.
messages Platform-independent error message files. The error message files are generated from a single source XML file using XSLT transforms.
package Source files for package/external library management subsystem.
parser Files used to translate ooRexx source into an executable format.
platform The portion of the interpreter core that is implemented by platform-specific code. The interface between the portable core is defined in terms of classes that must be implemented by each platform execution layer. Each supported platform environment is contained in a subdirectory of platform.
RexxClasses The portion of the interpreter core that is implemented on ooRexx code. These files are loaded during the rexximage build step, and are saved in ready-to-use form inside the generated rexx.img file.
runtime Core interpreter runtime support. This is the portion of code that defines the core interpreter and manages active interpreter instances. This is also where many of the core interpreter data areas and constant definitions are located.
streamlibrary The native methods that implement the .Stream class. These are implemented as external library methods so that interpreter I/O does not block multi-threaded execution while reading/writing.