### 37.7.2 Writing DCL conversion modules

For simple projects, you can use text-processing tools to modify ASCII DCL files. You can search and replace format names, for example, or modify format properties.

For more complex projects, where you need the power and versatility of a full-sized programming language such as perl, Java, or C++, you are better off working with binary DCL. You write a program that reads binary DCL files. Your program reads the eight-byte “controls” in a binary DCL file one at a time; when it has read one control, your program knows immediately how much “external” data follows the control, which tells it where the next control begins. This design makes it simple for a program to step to the specific controls it needs to modify. Once there, your program can replace or delete the control, or add more controls, without concern for side effects elsewhere.

The Omni Systems DCL programs are written in C++, using a portable class library developed by Omni Systems. If you intend to write C++ programs that work with DCL, ask Omni Systems about availability of sample code and development tools.

| 37.7.1 DCL file structure |  | 38 Generating intermediate output |