1. Code is in ~htobias/Modula3/CodeGenerator
   You should have permissions. copy the dir when you want to play
   around with it... 

2. I got the more  general parsing scheme for the pragmas
   working, i.e the presented interfaces are all searched for pragmas
   which are then stored in a common data structure.

 The pragmas have to be qualified as in 
 <*SHARED UPDATE METHODS T.set, U.init *>, 
   |_ no blank there! &*^&$%^ library routines
 and the file in which they are stated determines, which Types T and U
 are adressed.
 
--------------------

3. A typical program instantiation looks as follows:

 SOCodeGen -o <OutputBaseName> 
	   -so <list of 'Qualified.Types'>  
           -i <Additional Interfaces>
	   -T <File with Pathnames>
              (normally generated by m3build)

 (look at the (stupid) script ~htobias/Modula3/CodeGenerator/run,
  I didn't bother yet to get the program incorporated into m3build)

--------------------

4.

  So far the program generates Code for:

  CallbackObject.i3
  CallbackObject.m3
  ProxyObject.i3
  ProxyObject.m3  <--- wrong code here. The file TrackerPositionProxy.m3
                       that you gave me was really TrackerPositionF.m3
                       and I just generated the nonsense :-(

All the other files are also _created_ but instead of code there'll be
just a stupid header in it. Look into modules SOxCodeFiles and
StubCode to see how I coordinated generation.
So in order to add code generation for The Shared Object module itself
(e.g. TrackerPositionTstSO.m3) just add a new generation module and hook
it in at SOxCodeFiles.m3 ! Take one of the existing generating modules

SOxIntfCBCode
SOxModuleCBCode
SOxIntfProxyCode
SOxModuleProxyCode
 
or the dummy SOxDummyCode as example for seeing how the interfaces are
defined.
It should be pretty straightforward...

---
