RFP Error Messages

max <INCLUDE> files exceeded

The maximum number of nested include files has been exceeded. Two courses of action are available to the user. Increase the value of the RFPP macro maxfil: and reprocess/recompile RFPP; or rearrange the way in which the source files are entered to fit within the current limit.

<FOR> must be followed by <(>

The syntax of the FOR command requires that an open and close parentheses be used to contain the initialization, condition and reinitialization parameters.

<NEXT>,<BREAK> not in a loop

NEXT or BREAK commands must be within a statement block executed by a looping command DO, FOR, REPEAT or WHILE.

BRACES are not balanced

Open and closed braces (i.e. $( and $)) are not balanced. Check preceding lines or use RFT to locate the imbalance.

stack overflow - incr. maxstk:

One of the arrays used to store pointers to macros or nested loop conditions has overflowed the current limit. This may be due to an illegal construction in the code. If not it may be necessary to increase the value of maxstk: (standard is 100) and reprocess RFPP.

too many LEFT parentheses

The current or preceding lines contain an illegal construction involving an excess of left parentheses.

too many RIGHT parentheses

The current or preceding lines contain an illegal construction involving an excess of right parentheses.

macro NAME must end in <:>

This usually occurs when a macro name is entered as a macro argument without protecting square brackets. For example, within xmacro:, pmacro: or dmacro: instructions.

macro TABLE has been exceeded

The size of the macro table is set by the RFPP macro maxtab:. It is unusual for the standard value (20000 characters) to be exceeded and this may be due to an incorrectly defined macro. Alternatively, too many temporary macros (such as those generated by chardata:, dbledata:, realdata: and intdata:) may be defined. One solution is to partition this code into two routines. Otherwise increase maxtab: and reprocess RFPP.

max size of TOKEN exceeded

The maximum size of a single token (this is a character string) cannot exceed the value of maxstr: (standard is 100 characters). Check for illegal construction. Otherwise partition string or reprocess RFPP with larger value of maxstr:.

invoked macro not defined

An alphanumeric string ending in a colon has been detected and not identified as a defined macro name. If this is a legitimate macro name it must be defined before it is invoked. If it is not then this message can be avoided by using the caret (^) in place of the colon (see 4.4), or by using $:. Both prevent the string being treated as a macro name.

macro definition incomplete

There is an illegal construction involving a macro definition.

illegal arith: arguments

Check that there are three arguments. Check that the integer arguments are defined at the time the arith: is applied. Use of a variable name is illegal.

unrecognised flagon:/off: code

The only flagon:/flagoff: codes allowed by RFPP are S, R and D. Some control codes of earlier preprocessors are not supported.

quoted string is incomplete

A character string started with a quote or an apostrophe has not been closed correctly. Check for balancing delimiters. Note that an apostrophe within an apostrophe string is entered twice (i.e. '''').

braces are imbalanced at END line

The braces $( and $) are not balanced when an END line is detected. Check preceding code and use RFT to tabulate braces.

illegal <ELSE-IF> construction

A sequence of IF, ELSEIF and ELSE instructions is incorrectly constructed. Check braces and construction rules (see 5.7 and 5.8).

line expansion exceeds maxbuf:

A line containing a macro expansion has exceeded the buffer limit of maxbuf: (usually set at 1000). Check macro definitions for illegal construction. Reduce the definition length or reprocess RFPP with larger maxbuf:.

macro overflow - incr. maxmac:

The maximum number of macros has been exceeded. This is usually due to excessive temporary macro definitions (e.g. from chardata: statements) and can be remedied by partitioning a routine. Otherwise reprocess RFPP with larger value of maxmac: (default 500).

datastuff: missing in program

Data definition information, which has been inserted into the macro table by chardata:, realdata:, dbledata: or intdata: lines remains after the program END statement is encountered. This is illegal and a datastuff: must be used to output the DATA statements to the Fortran source.