ACUCOBOL-GT includes a general preprocessor interface that allows you to connect preprocessors to the ACUCOBOL-GT compiler. A preprocessor is a program designed to take application source code and preprocess it before compilation into an executable object. In the case of ACUCOBOL-GT, the conforming preprocessors should be designed to translate source code written in a variety of COBOLs into ACUCOBOL-GT.
The preprocessor interface in ACUCOBOL-GT has two general functions: (1) To invoke a preprocessor from the Compiler and then have the compiler process the resultant expanded COBOL; and (2) to signal the compiler that there are fatal errors in the preprocessor and therefore the compiler should not be run.
The interface is designed to accommodate a wide variety of preprocessors and to work on every platform supported by ACUCOBOL-GT. It is designed to call preprocessors as chained programs (instead of linking them into the ACUCOBOL-GT compiler) for three reasons:
The general preprocessor interface can be used with any preprocessor that conforms to the requirements of the interface. Most preprocessors will be written in ACUCOBOL-GT or C/C++, but preprocessors can be written in any language that produces an executable object file that can read and write text files and accept command-line arguments.
The specific preprocessors that will be used with ACUCOBOL-GT will be written by you, the user. The ACUCOBOL-GT general preprocessor interface supports many features that you can build into your preprocessor to best handle the job at hand. They include:
The use of conforming preprocessors is described in Use of Preprocessors. Writing conforming preprocessors is discussed in Writing a Preprocessor. The use of the AcuSQL pre-compiler is discussed in AcuSQL Pre-compiler.
Source code for a sample preprocessor written in ACUCOBOL-GT is available for your reference at https://supportline.microfocus.com/examplesandutilities/index.aspx, and select .