@Sidewinder
i'm already joined with mattathias group, my yahoo Id is stefano.troncia
About how my extension system work:
The interpreter/(future compiler) had 2 way to take the sources
For native amos sources, the interpreter load a standard configuration file, where inside it, there is a complete list of amos token, the program try to match wich extension comes from original amos it has to use.
All original extension are splitted in many different dynamic library, and when the interepreter need one of those, simply load it.
The extended version (the new project) give to the programmer a new comand (uses like pascal /include like c)..
it's a examples
//
Uses Bobs,sprites,Music
//
in this way the user doesn't configure the "extension file configuration" by himself, this kind of job is done by the precompiler
Now the project can't compile and only the interpreter work just enough, it load at the begin all libraries definition are loaded, but not the code of the libraries.
When the program is tested, and it's free of error, the interpreter collect any call to the external library and load the code that it need.
The managment of extension is not properly done, because for the moment only the amos main library is supported, and all code are loaded when the interpreter is runnig. The plan is to reduce the memory usage, split any library in a series of micro routine, and make the smaller executable.
My c/c++ compiler is Borland C/C++ builder, for the simple reason it's share the same framework of delphi