TAL Reference Manual

Error Messages
Appendix A—526371.001
A-4
2
2
Duplicate identifiers are declared within this scope. Replace one of the identifiers with
an identifier that is unique within this scope. For example, identifier RESULT is
declared twice within a procedure:
PROC p;
BEGIN
LABEL result;
INT result;
!Duplicate identifier
END;
3
A reference to a DEFINE declaration that is recursive appears in your source code.
The message appears when the compiler expands the DEFINE. In the following
example, the compiler expands A, which expands B, which expands A, and so on:
DEFINE a = b#, b = a#;
Rewrite the DEFINE so that it does not call itself.
4
An incorrect move statement or group comparison expression appears, for which the
compiler cannot generate code. Correct the statement or expression.
5
The space required for your global variables exceeds the 256-word global primary
area. The compiler allocates the following kinds of global variables in this area:
Directly addressed simple variables, arrays, and structures
16-bit or 32-bit pointers you declare and initialize yourself
16-bit or 32-bit implicit pointers for indirect arrays and indirect structures
Two 32-bit extended-stack pointers if you declared extended local variables
Identifier declared more than once
Recursive DEFINE invocation
Illegal MOVE statement or group comparison
Global primary area exceeds 256 words