RE: [Introspector-developers] Deployment Diagram
Status: Beta
Brought to you by:
mdupont
|
From: Dupont, M. <mic...@mc...> - 2002-11-06 13:29:43
|
ok, Looks good. I think i owe you some explainations. > Here is my first attempt at a Introspector deployment diagram. Please > bear with me because I am just starting to understand Introspector. The only thing is that we need to revist are the treecc generatorm,and the threelayers of the intrspector, the meta-level, the compiler level, and the runtime. The treecc generation is on the meta-programming level, based on the introspector class model that I have shown you. This is dealing with the types of tree nodes. This .tc files fed to the treecc will generate a set of classes for using in the compiler. These c bindings that get later linked into the gcc compiler. That will be used for writing trees back intot the compiler, otherwise, an XML reader would work as well. So we have two levels right now : THe meta-level with the descriptions of the classs, this is part of the introspector.pl/intrspctr.pl, here the framwork classes are outputted. Later the classes are used for reading an XML stream. that is the compiler level. so we have : 1. definition of tree classes fed into the introspector 2. introspector creates all types of classes for holding these objects 3. The user installs callbacks into these classes for specializing the introspector. 4. gcc dumps xml --- here are the future steps : 5. the c_files/process.pl reads in stream and instanciates objects that were defined in step 2 the callbacks from step 3 are executed. 6. The user defined code and that could be generated from 5 will be linked into the final executable program, this would then be called and executed by the user. 7. Some functions of the itrospector are embedded directly into the gcc, by the creating of built in functions we can provide access to the trees to the users of the compiler! This will allow very very interesting programs to be written. I hope that I have explained things a bit better. mike |