This rule defines an action that merges two functions into a single function
class | ArgRule Class that specifies how each resulting attribute should be formed
| ||
class | ArithArgRule : public SimpleArgRule ArgRule to copy one of the args | ||
class | CopyArgRule : public SimpleArgRule ArgRule to copy one of the args | ||
class | SimpleArgRule : public ArgRule / This argrule makes use of no more than one arg from each list |
typedef enum | THISEXP The "Dominator": which of the two expressions "dominates" the result |
This rule defines an action that merges two functions into a single function. For example, X.f().g() --> X.fg(). This is implemented in a pretty complicated fashion, to allow for general kinds of merging. The strategy followed is : 1) the Owner (i.e. "f") structure is always removed 2) either the Owner or This is identified as the "dominator" (i.e., the function which is to be retained). If a totally new merged function is being created, that can be indicated too. 3) in order to construct the arguments of the merged function, individual "ArgRule"s are specified. some simple kinds of ArgRules have been provided. More can be written.
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de