Abstract: | In preparing a revision of XRAY, a large scientific crystallographic software package, it was decided to use a structured language as the primary coding language. RATFOR was chosen as the most appropriate preprocessor. Initial implementation experience showed that while RATFOR improved the quality of the coding it did little to ease the problems of portability. By augmenting RATFOR with a powerful macro processor, a versatile tool for generating portable scientific software was developed. The resulting preprocessor, RATMAC, is portable and can be optimized, via macros, to a local operating environment. Its characteristics, strengths and weaknesses are described. |