Open Object Rexx - Interpreter Source Files

# Open Object Rexx - Files

# Interpreter Behaviour Source Files

This directory contains files used to implement the underlying ooRexx object behaviour. The behaviour management includes generated class identifiers, tables of statically defined tables, etc. Many of the behaviour files are auto-generated during the build process from a master XML file using XSLT transforms. These auto-generated files are checked in to the SVN source tree, but are not intended to be directly altered.

The following is a partial list of the files to be found in this subdirectory.

PrimitiveClasses.xml
  The master file defining all of the ooRexx classes (both externally available and internal). Each ooRexx class that is allocated from the ooRexx memory heap must be defined in PrimitiveClasses.xml.
ClassTypeCodes.h
  The master header file that assigns numeric type codes to each of the classes defined in PrimitiveClasses.xml. This file is generated by the ClassTypeCodes.xsl transform file.
PrimitiveBehaviourNames.h
  A header file that defines symbol mappings between individual class behaviours and the global primitive behaviour array in PrimitiveBehaviours.cpp. This file is generated by the PrimitiveBehaviourNames.xsl transform file.
PrimitiveBehaviours.cpp
  The master set of primitive behaviour objects that are referenced by created class instances. This file is generated by the PrimitiveBehaviours.xsl transform file.
VirtualFunctionTable.cpp
  A static table of virtual function table pointers for each of the ooRexx classes. This table is used for setting/restoring the C++ VFT pointers in restored class instances. This file is generated by the VirtualFunctionTable.xsl transform file.
RexxBehaviour.*
  The implementation of the class that manages class identifier and behaviour information. All ooRexx classes have an associated behaviour object referenced from the header. For internal classes, this is largely just class identification information. For fully exported ooRexx classes, the behaviour object holds the method dictionary and scope information.