TACL Reference Manual

Error Messages
HP NonStop TACL Reference Manual429513-018
B-33
TACL Error Messages
The TACL IN file is read into the text buffer until any square brackets have been
balanced.
File or variable macros, when invoked, are read entirely into the text buffer; dummy
arguments are substituted as they are read in.
All other variable types, when invoked, are read entirely into the text buffer.
During execution, the space available in the text buffer diminishes as routines and
macros are nested. Also, TACL can use up to half of the available area of the text
buffer as a scratch area.
Common causes of “Text buffer overflow” are:
Very large macros or routines. As a rule of thumb, macros should never
exceed15,000 bytes after dummy argument substitution; routines should never
exceed15,000 bytes. Nesting reduces these numbers further.
Uncontrolled nesting of macros. (If, however, you construct a recursive macro so
that it invokes itself in its last statement, each instance of the macro vanishes from
the text buffer before the next one begins, and it does not overflow the text buffer).
Routine nesting, on the other hand, more commonly runs out of routine stack
space (“Routine stack overflow”) instead of text buffer space.
Matching too many file names with #FILENAMES
Effect. The requested operation is ignored.
Recovery. Examine your TACL program to look for ways to avoid text buffer overflow:
Decrease the size of macros or routines where possible, avoid excessive nesting of
macros or routines, and structure recursive macros as described above. Use loops to
perform operations on large amounts of data a little at a time. Use options, such as
LOADED in the LOAD command, or other similar means, to direct results to variables
instead of to the text buffer. Use the VOLUME command to reduce the number of
template fields you need to pass to #FILENAMES.
Cause. You indicated an inappropriate type for the variable; for example, it would be
inappropriate to use the DELTA type for any variable other than one that contains
#DELTA commands.
Effect. The requested operation is ignored.
Recovery. Correct the variable type.
*ERROR* This type of variable is inappropriate here