Open Object Rexx - Files
Interpreter Execution Source Files
This directory contains files used to implement the underlying ooRexx
execution model. This includes elements of the call stack, ooRexx
variable management, and various code objects that implement
method/routine calls.
The following is a partial list of the files to be found in this subdirectory.
- RexxActivation.*
- RexxActivation represents a single stack frame context for running
ooRexx code. The activation is the context in which ooRexx code
executes, holding the ooRexx variables, current settings (digits,
trace, etc.), as well as managing all of the source code functions.
- RexxNativeActivation.*
- RexxNativeActivation represents a native code stack frame. There will
be a RexxNativeActivation at the base of every RexxActivity call stack,
and additional native activations will be created for every call out to
library method or routine code. The native activation acts as the
context used by the different context APIs to retrieve current
execution information. The native activation is also responsible for
releasing exclusive interpreter access before callouts are made and
then reacquiring access upon return.
- RexxCode.*
- RexxCode manages a single routine or method written in ooRexx code.
- CppCode.*
- CppCode manages a methods written as native C++ methods. This handles
the transition from ooRexx method invocations into the backing C++
method.
- NativeCode.*
- NativeCode manages methods and routines written as external library
code. The native code classes work with RexxNativeActivation to
orchestrate library callouts.
- RexxActivationStack.*
- RexxActivationStack manages the execution stack for running ooRexx
code. All operators, functions, etc. push intermediate results on to
the activation stack for the current running ooRexx context.
- RexxLocalVariables.*
- RexxLocalVariables manages the the local variable pool for an active
RexxActivation instance.
- RexxVariableDictionary.*
- RexxVariableDictionary implments a searchable dictionary of variables.
This class is also used by RexxObject to hold the object variables of
an object instance.
- RexxVariable.*
- RexxVariable represents a single instance of an ooRexx variable.