next up previous contents
Next: D.4 Debugging Features Up: D Examples of External Previous: Definition of Flex-Target

Definition of Voops-Target

This rule provides limited support for object oriented programming style using classes and methods by using the external VOOPS tool in the project PifGridSupport. More information about this tool is given in [Fas94a]. It uses a template approach with an optional tuple file. All code is written in C and no C++ compiler is required.

The Voops-Target implemented by the vm::VoopsFile is subclassed from the built-in vm::UnfugFile used by the Unfug-Target, since it uses UNFUG for automatic code generation. One additional instance variable is required in the class to store the module names to be generated.
 listing5439
Since VOOPS uses an internal save file, only one code generator is allowed to run at each time. This is checked in the multiple-jobs.

The implementation of the rule is shown in Listing D.6. The include file is only generated if the boolean key include is used.
 listing5449

With this definitions the Voops-Target is made available with the syntax given in Voops-Target.
vmrule5457
This rule is a specialized case of the standard VMake CASE tool UNFUG and uses this code generator for generating output files. The key module defines a list of strings which are used for module names. To create the full filename, ``_c.tpl'' is added for the C source file and ``_h.tpl'' for the optional include file. The output files have the extensions ``ac'' and ``h'' respectively. The keys flags and defines are used during compilation of the automatically generated C code. The object file is then associated to the symbolicName. If the key include is given, an additional include file is generated and automatically made available globally (exported from the project by default). The key load can be used to specify additional files to be loaded prior of execution of VOOPS similar to the same key of the Unfug-Target rule (see Unfug-Target).


next up previous contents
Next: D.4 Debugging Features Up: D Examples of External Previous: Definition of Flex-Target

IUE WWW server
Fri Jan 3 17:00:13 MET 1997