Thinking about adding the road map files is useful for focusing some
attention on the code tree.  In generally, I'm fairly happy with how
the code is structured, but there's one notable exception.  That's the
kernel\runtime directory.  That was sort of a catchall directory when
the initial code contribution was made, and it's had a lot of recent
additions to it with this release.  It might be time to do a split of
this into a number of smaller, more targeted subsystems.   Looking at
the files in that directory, here's a first pass on rearranging this.
Having done this, there are a number of obvious categories, and only a
few files without an obvious home.  This does complicate the make
files a little more, but I think we gain enough from this to make that
cost worthwhile.  Comments, as always, welcome.

Rick

activity (threading?)
    ActivationApiContexts.hpp
    ActivityDispatcher.cpp
    ActivityDispatcher.hpp
    ActivityManager.cpp
    ActivityManager.hpp
    CallbackDispatcher.cpp
    CallbackDispatcher.hpp
    ExitHandler.cpp
    ExitHandler.hpp
    MessageDispatcher.cpp
    MessageDispatcher.hpp
    RexxActivity.cpp
    RexxActivity.hpp
    RexxStartDispatcher.cpp
    RexxStartDispatcher.hpp

objectmodel (behaviour?)
    ClassTypeCodes.h
    ClassTypeCodes.xsl
    PrimitiveBehaviourNames.h
    PrimitiveBehaviourNames.xsl
    PrimitiveBehaviours.cpp
    PrimitiveBehaviours.xsl
    PrimitiveClasses.xml
    RexxBehaviour.cpp
    RexxBehaviour.hpp
    VirtualFunctionTable.cpp
    VirtualFunctionTable.xsl

execution
    CppCode.cpp
    CppCode.hpp
    RexxActivation.cpp
    RexxActivation.hpp
    RexxActivationStack.cpp
    RexxActivationStack.hpp
    RexxCode.cpp
    RexxCode.hpp
    RexxLocalVariables.cpp
    RexxLocalVariables.hpp
    RexxNativeActivation.cpp
    RexxNativeActivation.hpp
    RexxNativeCode.cpp
    RexxNativeCode.hpp
    RexxVariable.cpp
    RexxVariable.hpp
    RexxVariableDictionary.cpp
    RexxVariableDictionary.hpp
    SecurityManager.cpp
    SecurityManager.hpp


memory
    DeadObject.cpp
    DeadObject.hpp
    MemorySegment.cpp
    MemorySegment.hpp
    MemoryStats.cpp
    MemoryStats.hpp
    ProtectedObject.hpp
    ProtectedObject.cpp
    RexxEnvelope.cpp
    RexxEnvelope.hpp
    RexxInternalStack.cpp
    RexxInternalStack.hpp
    RexxMemory.cpp
    RexxMemory.hpp

runtime
    GlobalData.cpp
    GlobalNames.h
    InternalPackage.cpp
    Interpreter.cpp
    Interpreter.hpp
    InterpreterInstance.cpp
    InterpreterInstance.hpp
    NativeFunctions.h
    NativeMethods.h
    RexxConstants.hpp
    RexxCore.h
    RexxMisc.cpp
    RexxMisc.hpp
    Version.cpp

package
    LibraryPackage.cpp
    LibraryPackage.hpp
    PackageManager.cpp
    PackageManager.hpp

other
     ProgramMetaData.cpp    -- Grouped with the classes support stuff
might make sense.
     ProgramMetaData.hpp
     RexxBuiltinFunctions.h   -- Not really oriented toward builtin
functions....probably should have the stuff in here redistributed.

     RexxDateTime.cpp         -- could belong with the classes support stuff.
     RexxDateTime.hpp

moved to classes (or maybe a new catetory.  These are not exported
classes, but are classes used internally by the exported classes.  A
subdirectory under classes might be the best place).
     RexxCollection.cpp
     RexxCollection.hpp
     RexxCompoundElement.cpp
     RexxCompoundElement.hpp
     RexxCompoundTable.cpp
     RexxCompoundTable.hpp
     RexxCompoundTail.cpp
     RexxCompoundTail.hpp
     RexxHashTable.cpp
     RexxHashTable.hpp
     RexxListTable.cpp
     RexxListTable.hpp

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Oorexx-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/oorexx-devel

Reply via email to