Special character controls

Certain characters or digraphs are used to control the preprocessor and are not considered as 'active' ratfor code. They are

  • # (sharp) signals the end of active code on the input line.

  • ; (semicolon) is a delimiter if there is more than one statement on a line.

  • ^ (caret) is converted to a colon : on output and is used mainly for character sub-string notation (e.g. CH(1^2)becomes CH(1:2)).

  • $# signals the end of the current line and that the following line should be concatenated with it. (Note that ,# has the same effect except that the comma is output).

  • $( signals the start of a multi-line statement block. A ratfor control instruction preceding this digraph will refer to this block.

  • $) signals the close of a multi-line statement block.

  • $P signals that the characters following this digraph be output starting in column 1.

  • $B signals the insertion of a blank character in this position. It is useful in 'non-string' situations where blanks are automatically removed. For example, the input line A=5H12 45 would be output as A=5H1245, whereas A=5H12$B45 would be output as A=5H12 45.

  • $L signals the insertion of left parenthesis in this position. This is important in situations, such as a macro definition, where parentheses act as condition or string delimiters and the digraph $( is interpreted as a brace.

  • $R signals the insertion of a right parenthesis in this position.