|
From: Joerg F. <jf...@ao...> - 2003-04-29 14:02:07
|
>>>>> "Leif" == Leif Johnson <le...@am...> writes:
Leif> This goes a bit further, because the next question is how to communicate to
Leif> the code generators whether or not to generate code for a given graph node
Leif> in a model. For instance, suppose we have the following IDL :
Leif> // data.idl
Leif> struct Ocean { int depth; }
Leif> // ifaces.idl
Leif> #include "data.idl"
Leif> interface Fisher { double fish_likelihood( in Ocean o ); }
Leif> // boat.idl
Leif> #include "ifaces.idl"
Leif> component Boat { provides Fisher jane; }
Leif> So if data.idl has already been used to generate code and install some
Leif> library, we'd like to not receive a new definition of the Ocean struct in
Leif> our generated code, because we somehow define it as "extern" and tell the
Leif> code generator not to generate the code.
Leif> The problem becomes a question of generating the parameters for the
Leif> generated Fisher interface. If we define the "Ocean" model node as extern
Leif> and tell the code generator to skip extern nodes, the generated
Leif> "fish_likelihood" function might not include the "o" parameter as a result.
How does an extern node behave? I mean, do you still know its
structure and only not generate code for it, or is it more shallow so
that it disappears from parameter lists?
Joerg
|