## Selecting the Translation Tools

### Use

Module files can be written in different programming languages. There are special VMAKE tools for translating the PASCAL, C/C++ and Assembler languages; there is also a tool for translating a group of description languages (IDL, Resource, Yak, Lex and so on).

Available tools

| Assembler | PASCAL | C / C++ | Description Language Group
1. Phase 2 | Unpack imported interface | mfainc | mfpinc | mfcinc | mfcinc
Unpack exported interface | mfaexp | mfpexp | mfcexp | mfcexp
Unpack module | mfa | mfp | mfc | mfrc
2. Phase 2 | Translate | compa | comppc | compc | comprc

VMAKE assigns module files to a specific tool on the basis of the file extension. If the file does not have an extension, it is assigned on the basis of the last character in the file name.

| Assembler | PASCAL | C / C++ | Description Language Class
File extension | s | p, t | c, h / cpp, hpp | rc, ico, def, mc, dlg, idl, ycc, lex, rgs
Last character | a | p, t or a number | c / x | r

You can change the assignment of the translation tools on the basis of the file extension or the last character of the file name in the Langextinfo initialization file.