flagon: and flagoff:

Function:

These instructions are used to control three separate preprocessor functions. The listing of input source code; the listing of macro diagnostic information, and the facility to pass input source code directly to output without preprocessing. These functions are switched on with the invocation of flagon: and switched off with the flagoff: command.

Syntax:

flagon:(function code)
flagoff:(function code)

function code

  • S specifies the output of the ratmac source code onto the 'list' device. The line number of the primary source file; the line number of the output Fortran file and the input source line are listed if flagon:(S) is invoked. The default is flagoff:(S).

  • R specifies the rejection of preprocessing facilities. When flagon:(R) is invoked subsequent input lines are passed directly to output, until a flagoff:(R) is encountered. This is important when Fortran or assembly code is in the same file with ratmac code. It may also be used to prevent the preprocessor from converting code involving special characters. This option is also recognized by RFT to prevent 'tidying' non-ratmac code. The default is flagoff:(R).

  • D specifies the dumping of the macro expansion stack contents onto the list file. This information is output in two stages: as the macro stack is expanded and as it is pushed-back onto the input buffer. In the first stage the stack-level index, the macro name and the macro definition are output. In the second, the stack-level index and the macro arguments (surrounded by <....>) are output. Note that each dump line is marked with '>>>>>>' and is truncated if in excess of 132 characters. The default is flagoff:(D).