Re: [pygccxml-development] function transformation - design & implementation
Brought to you by:
mbaas,
roman_yakovenko
From: Matthias B. <ba...@ir...> - 2006-09-05 16:53:00
|
Roman Yakovenko wrote: > Hi. Finally I reviewed Matthias design and implementation. I propose > to make some changes > in its implementation. I described my thoughts in the document. > > http://svn.sourceforge.net/viewvc/pygccxml/pyplusplus_dev/docs/peps/function_transformation.rest?view=markup > > Comments are welcome. I couldn't follow all of the argumentation that is done in the first part, but as it was already your own conclusion that this would lead to a design that is too complicated anyway I don't think we have to discuss this any further, except for the things that also appear in the second part. I don't understand the rationale behind the separation into "transformation" and "function transformation" (by the way, it's also a bit unfortunate that they both use almost the same name. And sometimes the name "transformer" is used). Your definition of "transformation" doesn't separate it from "function transformation", so from reading the definitions it seems that "function transformation" is just a special case of a "transformation", i.e. one that is created by doing a composition of several transformations. But the result of doing this composition is still in compliance with the definition of "transformation". The section about function transformations in the second part of the document suggests that this class is just an internal helper class for the object that manages the application of the individual transformers. It seems that this class is neither directly used by the transformation objects nor by the actual code creators that use this service. The document is not yet detailed enough to get an overview on how the transformation process is done, so I can't comment on that one. From looking at the interface of transformer_t alone I can't see how it works, and the interface of the substitution manager is not given (but obviously it has to be different than in my implementation). Maybe an example would be helpful (e.g. how the "output" transformation would look like). - Matthias - |