The implementation of TAC is fully object oriented. This means that for each kind of information type an own VLisp class is defined. Specific methods of these classes are called during language binding between source and target domain. Table 8.3 show the available binding classes. Each parameter, return value, or constant is mapped to one of the classes.
Tabelle 8.3: TAC classes for parameter binding
A specific language dependent type may be associated with a specific TAC
class by using defconversion in a TAC extension file (file
extension ``tac''). The definition is shown in
defconversion.
Three different keys are used to define the conversion classes for the types
listed as strings. The key normal class is used for input
parameters of the basic listed types or for a pointer as output parameter,
the key pointer is used for pointer type parameters, e.g., a
pointer to a C structure is required, and key array is used if
an array of the type is used as parameter. The project
ViennaWidgetSet introduces new classes and VLisp types as
shown in Figure 8.2 (see also example in Section 6.2.2).
Abbildung 8.2: TAC classes introduced by project ViennaWidgetSet
Other types used in the X11 window toolkit are bound to built-in predefined TAC classes listed in Section 6.2.2 in the C to VLisp binding.