CLASS X: IMPLEMENTATION DEPENDENT FEATURES
ERROR MESSAGES FOR MAJOR CLASSIFICATION P
CLASSIFICATION “P” ERRORS INDICATE FLOW CONTROL PROBLEMS PA1 - SEVERITY 2
A MEMBER CORRESPONDING TO THE PROGRAM IDENTIFICATION ?? CANNOT BE FOUND IN THE PROGRAM ACCESS FILE. NO ACCESS VALIDATION WILL BE PERFORMED.
SEE PROGRAMMER’S GUIDE-SECTION 30
PA2 - SEVERITY 2
PROCESSING OF THE PROGRAM ACCESS FILE FOR PROGRAM ID ?? HAS CAUSED DETECTION OF ONE OR MORE ERRORS AND/OR INCONSISTENCIES WHICH ARE LISTED BELOW:
SEE PROGRAMMER’S GUIDE-SECTION 30
PC1 - SEVERITY 2
COMPOOL BLOCK CONTAINS STATEMENT(S) OTHER THAN DECLARATIONS
NO STATEMENTS OTHER THAN DECLARATIONS ARE PERMITTED IN A COMPOOL BLOCK. SPEC- SECTION 3.5
PC2 - SEVERITY 2
COMPOOL TEMPLATE CONTAINS STATEMENT(S) OTHER THAN DECLARATIONS
NO STATEMENTS OTHER THAN DECLARATIONS ARE PERMITTED IN A COMPOOL TEMPLATE. SPEC-SECTION 3.6
PE1 - SEVERITY 2
EXTERNAL TEMPLATES MUST NOT APPEAR WITHIN A BLOCK DEFINITION
TEMPLATE DEFINITIONS MUST BE INCLUDED BEFORE MAIN COMPILATION UNIT.
PE100 - SEVERITY 2
ILLEGAL NONHAL FUNCTION TYPE
ONLY INTEGERS AND SCALARS ARE ALLOWABLE. MATRICES, VECTORS, AND STRUCTURES ARE INVALID.
PE101 - SEVERITY 2
ILLEGAL NONHAL FUNCTION INVOCATION
INVOKING ILLEGAL NON-HAL FUNCTIONS IS NOT ALLOWED. HAL/S COMPILER IS UNABLE TO COMPILE THE OUTPUT SUCH FUNCTIONS GENERATE. (ISSUED IN CONJUNCTION WITH PE100).
PE2 - SEVERITY 2
EXTERNAL TEMPLATES MUST NOT BE PLACED AFTER A BLOCK DEFINITION
TEMPLATE DEFINITIONS MUST BE INCLUDED BEFORE MAIN COMPILATION UNIT.
PF1 - SEVERITY 2
RETURN FROM FUNCTION BLOCK MUST BE FOLLOWED BY AN EXPRESSION
FUNCTIONS BY THEIR DEFINITION ARE PROCEDURES WHICH RETURN SOME VALUE, AND THUS THE ‘RETURN’ STATEMENT WITHIN THE FUNCTION MUST CONTAIN A VALUE AS AN ARGUMENT.
PF100 - SEVERITY 2
CANNOT RETURN VALUE FROM NON-FUNCTION
FUNC(X) HAS A VALUE ONLY IF FUNC IS A FUNCTION. IF IT’S A PROCEDURE, CALL FUNC(X) MUST BE USED.
HAL/S-FC User’s Manual USA003090 32.0/17.0
B -50 November 2005
PF2 - SEVERITY 2
RETURN MAY ONLY BE FOLLOWED BY AN EXPRESSION IN A FUNCTION BLOCK
RETURN STATEMENTS IN PROCEDURE BLOCKS SIMPLY RETURN CONTROL TO THE CALLING PROGRAM, AND MUST BE CODED AS A SINGLE WORD. FUNCTION BLOCKS REQUIRE, E.G., RETURN X OR RETURN P+Q, CAUSING THE VALUE SPECIFIED TO BE SUBSTITUTED FOR THE FUNCTION INVOCATION.
PF3 - SEVERITY 2
EXPRESSION TO BE RETURNED MAY NOT POSSESS ARRAYNESS
FUNCTIONS MAY NOT RETURN ARRAYS AS VALUES (ALTHOUGH, IF THE ARGUMENT TO THE FUNCTION IS ARRAYED, ELEMENT BY ELEMENT EVALUATION WILL OCCUR, RESULTING IN AN ARRAY OF SINGLE FUNCTION VALUES).
PF4 - SEVERITY 2
ILLEGAL TYPE CONVERSION OF RETURNED EXPRESSION REQUIRED.
ONLY INTEGER TO SCALAR, SCALAR TO INTEGER, AND INTEGER AND SCALAR TO CHARACTER IMPLICIT CONVERSIONS ARE PERMITTED.
PF5 - SEVERITY 2
MATRIX DIMENSIONS OF FUNCTION DISAGREE WITH THOSE OF RETURN EXPRESSION
THE DIMENSIONS DECLARED IN THE FUNCTION HEADER MUST AGREE PRECISELY WITH THE LENGTH OF ALL VALUES SENT IN RETURN STATEMENTS. SPEC-SECTION 7.5
PF6 - SEVERITY 2
VECTOR LENGTH OF FUNCTION DISAGREES WITH THAT OF RETURN EXPRESSION
THE LENGTH DECLARED IN THE FUNCTION HEADER MUST AGREE PRECISELY WITH THE LENGTH OF ALL VALUES SENT IN RETURN STATEMENTS. SPEC-SECTION 7.5
PF7 - SEVERITY 2
TREE ORGANIZATION OF FUNCTION DOES NOT MATCH THAT OF RETURN EXPRESSION
THE TREE ORGANIZATION IMPLIED BY THE STRUCTURE TEMPLATE REFERRED TO IN THE FUNCTION HEADER MUST BE IDENTICAL TO THAT OF ALL STRUCTURES SENT IN RETURN STATEMENTS.
PF9 - SEVERITY 2
RETURN EXPRESSION MAY NOT BE A NAME PSEUDO-FUNCTION OR NULL.
ARGUMENTS IN A RETURN STATEMENT MAY CONTAIN ONLY A VALUE, AND NOT A NAME PSEUDO-FUNCTION.
PL1 - SEVERITY 2
THE FUNCTION ?? HAS BEEN DECLARED BUT NOT DEFINED
IF “DECLARE F FUNCTION SCALAR” APPEARS IN THE DECLARATION GROUP, A FUNCTION DEFINITION HEADED BY “F: FUNCTION SCALAR” MUST APPEAR SOMEWHERE IN THE CODE BLOCK.
PL10 - SEVERITY 2
THE BLOCK BEING DEFINED IS INVOKED FROM OUTSIDE THE ENCLOSING DO...END GROUP
PL11 - SEVERITY 2
PL2 - SEVERITY 3
?? IS A DUPLICATE LABEL
ALL BLOCK LABELS MUST BE UNIQUE THROUGHOUT A UNIT OF COMPILATION. SPEC-SECTION 3.8
PL3 - SEVERITY 2
LABEL ON CLOSE DOES NOT MATCH BLOCK DEFINITION LABEL: ??
IF A CLOSE STATEMENT HAS CLOSE FOLLOWED BY A LABEL, THE LABEL SPECIFIED MUST BE IDENTICAL TO THE ONE AT THE OPENING OF THE BLOCK. SPEC-SECTION 3.7.4
PL4 - SEVERITY 2
FUNCTION LABEL CONFLICT
THE FUNCTION LABEL OR THE FUNCTION DEFINITION MUST BE DECLARED BEFORE
INVOCATION. TYPE ATTRIBUTES BOTH IN THE DECLARE STATEMENT AND ON THE FUNCTION HEADER MUST AGREE.
PL5 - SEVERITY 2
LABEL ?? IS NOT DEFINED WITHIN THE CURRENT SCOPE
A LABEL IS NOT ACCESSIBLE FROM WITHIN ANY CODE BLOCKS NESTED WITHIN THE BLOCK WHERE IT OCCURS. THIS PREVENTS GO TO STATEMENTS FROM CAUSING A BRANCH OUT OF A CODEBLOCK. SEE SPEC-SECTION 3.8
PL6 - SEVERITY 2
A DEFINITION BLOCK FOR THE PROCEDURE OR TASK ?? IS ABSENT FROM THE COMPILATION
ALL PROCEDURE OR TASK BLOCKS REFERRED TO MUST BE INCLUDED IN THE COMPILATION UNIT, UNLESS THEY HAVE BEEN EXPLICITLY DECLARE’D AS EXTERNAL.
PL7 - SEVERITY 2
USED IN A CALL STATEMENT, PROCEDURE LABEL ?? MAY NOT POSSESS ARRAYNESS.
LABELS MAY NOT POSSESS ARRAYNESS.
PL8 - SEVERITY 2
THE PROCEDURE ?? MAY NOT BE CALLED FROM OUTSIDE THE DO GROUP WITHIN WHICH IT WAS DEFINED
PL9 - SEVERITY 2
THE FUNCTION ?? MAY NOT BE INVOKED FROM OUTSIDE THE DO GROUP WITHIN WHICH IT AS DEFINED
PM1 - SEVERITY 3
DUPLICATE DEFINITION FOR ??
ALL NAMES MUST BE UNIQUE WITHIN THE NAME SCOPE WHERE THEY ARE KNOWN. SEE SPEC- SECTION 3.8 FOR NAME-SCOPING RULES.
PM2 - SEVERITY 3
DUPLICATE DEFINITION OF STRUCTURE TEMPLATE ??
STRUCTURE TEMPLATE NAMES MAY DUPLICATE OTHER KINDS OF NAMES WITHIN THE SAME NAME SCOPE, BUT MUST NOT DUPLICATE OTHER STRUCTURE TEMPLATE NAMES. SEE SPEC- SECTIONS 3.8 AND 4.3 FOR NAME-SCOPING RULES.
HAL/S-FC User’s Manual USA003090 32.0/17.0
B -52 November 2005
PM3 - SEVERITY 2
EARLIER DEFINITION OVERRIDDEN FOR ??
A VARIABLE NAME DECLARED IN AN OUTER SCOPE HAS BEEN REDEFINED AS A LABEL IN THE CURRENT SCOPE, AND THE LATTER DEFINITION OVERRIDES THE PREVIOUS.
PM4 - SEVERITY 1
OUTER DEFINITION OVERRIDDEN FOR ??
A NAME DECLARED IN AN OUTER SCOPE IS BEING ACCESSED AS A STATEMENT LABEL (AS IN ‘GOTO NAME’).
PP1 - SEVERITY 2
A ?? DEFINITION MUST BE THE OUTERMOST BLOCK DEFINITION
COMPOOLS AND PROGRAMS CANNOT BE IMBEDDED IN CODE BLOCKS, BUT MUST BE OUTERMOST COMPILATION UNITS.
PP10 - SEVERITY 3
INLINE FUNCTIONS MAY NOT BE NESTED WITHIN INLINE FUNCTION BLOCKS.
SEE SPEC-SECTION 11.2.1
PP11 - SEVERITY 3
INLINE FUNCTIONS MUST NOT APPEAR IN EXPRESSIONS WHICH ARE REQUIRED TO BE EVALUATED AT COMPILE TIME
PP2 - SEVERITY 2
BLOCK DEFINITION IS NOT THE FIRST OUTERMOST BLOCK DEFINITION
IT IS INVALID TO FOLLOW THE MAIN COMPILATION BODY WITH ANOTHER PROGRAM. FOR INSTANCE: TEST: PROGRAM; CLOSE TEST; TEST1: PROGRAM CLOSE TEST1; IS INCORRECT. PP3 - SEVERITY 2
A ?? DEFINITION CANNOT BE AN OUTERMOST BLOCK DEFINITION
TASK AND UPDATE BLOCKS MUST BE EMBEDDED WITHIN CODE BLOCKS.
PP4 - SEVERITY 3
NO BLOCK DEFINITIONS WERE ENCOUNTERED IN COMPILATION
EVERY COMPILATION MUST CONTAIN A PROGRAM, FUNCTION, PROCEDURE, OR COMPOOL DEFINITION.
PP5 - SEVERITY 2
AN INLINE FUNCTION MAY NOT CONTAIN AN I/O STATEMENT.
SEE SPEC-SECTION 11-3
PP6 - SEVERITY 2
AN INLINE FUNCTION MAY NOT CONTAIN A REAL TIME STATEMENT.
SEE SPEC-SECTION 11.2.1
PP7 - SEVERITY 2
AN INLINE FUNCTION MAY NOT CONTAIN A PROCEDURE CALL.
PP8 - SEVERITY 2
AN INLINE FUNCTION MAY NOT CONTAIN A USER FUNCTION INVOCATION.
SEE SPEC-SECTION 11.2.1
PP9 - SEVERITY 2
AN INLINE FUNCTION MAY NOT CONTAIN A PROCEDURE OR FUNCTION DEFINITION BLOCK
SEE SPEC-SECTION 11.2.1 DEFINITION BLOCK.
PR1 - SEVERITY 1
CLOSE OF TASK OR PROGRAM BLOCK REACHED BUT PREVIOUS STATEMENT IS NOT A %SVCI
PR2 - SEVERITY 1
CLOSE OF TASK OR PROGRAM BLOCK REACHED BUT NO %SVCI MACRO WAS FOUND IN THE BLOCK. A TERMINATE SVC HAS BEEN GENERATED AT THE CLOSE OF THE BLOCK PR3 - SEVERITY 1
THE ON ERROR STATEMENT IS NOT WITHIN A PROGRAM OR TASK BLOCK PR4 - SEVERITY 1
ONLY ONE ON ERROR <STATEMENT> FORM IS ALLOWED PR5 - SEVERITY 1
ONLY ONE <ON ERROR> ALTERNATE ENTRY POINT IS ALLOWED PER TASK OR PROGRAM PR6 - SEVERITY 2
THE NAME ?? DOES NOT SATISFY HAL/S NAME UNIQUENESS CRITERIA FOR TASKS. NAMES OF ALL TASKS AND PROGRAMS MUST BE UNIQUE TO SEVEN CHARACTERS PS1 - SEVERITY 2
EXTERNAL PROCEDURE/FUNCTION TEMPLATE CONTAINS STATEMENT(S) OTHER THAN DECLARATIONS
NO EXECUTABLE STATEMENTS ARE PERMITTED IN AN EXTERNAL PROCEDURE/FUNCTION TEMPLATE, SINCE ITS PURPOSE IS ONLY TO POINT TO A PROCEDURE OR FUNCTION WHICH HAS BEEN INDEPENDENTLY COMPILED. SEE SPEC-SECTION 3.6
PS10 - SEVERITY 2
MULTIPLE APPEARANCE OF ACCESS KEYWORD
THE APPEARANCE OF TWO OR MORE ACCESS KEYWORDS IS INVALID. EXAMPLE: LABEL:COMPOOL ACCESS ACCESS.
PS11 - SEVERITY 2
MULTIPLE APPEARANCE OF RIGID KEYWORD
THE APPEARANCE OF TWO OR MORE RIGID KEYWORDS IS INVALID.
PS12 - SEVERITY 2
RIGID KEYWORD MAY ONLY APPEAR IN A COMPOOL BLOCK OR TEMPLATE
SEE SPEC-SECTION 4.5
PS13 - SEVERITY 2
‘REMOTE’ KEYWORD MAY ONLY BE USED ON EXTERNAL COMPOOL TEMPLATES.
HAL/S-FC User’s Manual USA003090 32.0/17.0
B -54 November 2005
PS2 - SEVERITY 2
ONLY PROCEDURES OR FUNCTIONS MAY BE DESIGNATED ??
ONLY PROCEDURES OR FUNCTIONS MAY BE DESIGNATED EXCLUSIVE OR REENTRANT.
PS3 - SEVERITY 2
ILLEGAL ACCESS ATTRIBUTE OR BLOCK HEADER.
ACCESS BLOCK HEADERS MAY NOT BE APPLIED TO UPDATE OR TASK BLOCKS, NOR TO
PROCEDURES OR FUNCTIONS WHICH ARE NOT EXTERNAL. THE ACCESS ATTRIBUTE MAY ONLY APPLY TO SIMPLE VARIABLE AND MAJOR STRUCTURE NAMES IN A COMPOOL BLOCK OR COMPOOL TEMPLATE. SPEC-SECTIONS 3.7, 4.5
PS4 - SEVERITY 2
THE ACCESS ATTRIBUTE MAY ONLY BE USED ON THE DEFINITION OF AN OUTERMOST BLOCK.
THE ACCESS ATTRIBUTE MAY ONLY BE DESIGNATED IN THE OUTERMOST COMPOOL OR CODE BLOCK. NESTED BLOCKS CANNOT CONTAIN THE ACCESS KEYWORD.
PS5 - SEVERITY 2
THE PROGRAM NAMED ?? IS ACCESS CONTROLLED. THE CURRENT COMPILATION UNIT IS NOT AUTHORIZED TO SCHEDULE THIS PROGRAM.
IN ORDER TO OBTAIN ACCESS TO THE NAMED PROGRAM, A REFERENCE TO IT SHOULD BE INCLUDED IN THE PROGRAM ACCESS FILE. SEE PROGRAMMER’S GUIDE-SECTION 30
PS6 - SEVERITY 2
THE PROCEDURE NAMED ?? IS ACCESS CONTROLLED. THE CURRENT COMPILATION UNIT IS NOT AUTHORIZED TO CALL THIS PROCEDURE.
IN ORDER TO OBTAIN ACCESS TO THE NAMED PROCEDURE, A REFERENCE TO IT SHOULD BE INCLUDED IN THE PROGRAM ACCESS FILE. SEE PROGRAMMER’S GUIDE-SECTION 30
PS7 - SEVERITY 2
THE FUNCTION NAMED ?? IS ACCESS CONTROLLED. THE CURRENT COMPILATION UNIT IS NOT AUTHORIZED TO INVOKE THIS FUNCTION.
IN ORDER TO OBTAIN ACCESS TO THE NAMED PROCEDURE, A REFERENCE TO IT SHOULD BE INCLUDED IN THE PROGRAM ACCESS FILE. SEE PROGRAMMER’S GUIDE-SECTION 30
PS8 - SEVERITY 2
THE VARIABLE NAMED ?? IS ACCESS CONTROLLED. THE CURRENT COMPILATION UNIT IS NOT AUTHORIZED TO CHANGE THE VALUE OF THIS VARIABLE.
IN ORDER TO BE ABLE TO CHANGE THE NAMED VARIABLE, A REFERENCE TO IT SHOULD BE INCLUDED IN THE PROGRAM ACCESS FILE. SEE PROGRAMMER’S GUIDE-SECTION 30
PS9 - SEVERITY 2
VARIABLE ?? IS DEFINED WITHIN A COMPOOL BLOCK WHICH IS ACCESS PROTECTED. THE VARIABLE MAY NOT BE USED BY THIS COMPILATION UNIT.
IN ORDER TO OBTAIN ACCESS TO THE VARIABLES IN THE NAMED COMPOOL, A REFERENCE TO IT SHOULD BE INCLUDED IN THE PROGRAM ACCESS FILE. PROGRAMMER’S GUIDE-SECTION 30
PT1 - SEVERITY 2
TASK DEFINITIONS OR DECLARATIONS MAY ONLY APPEAR IN THE OUTER MOST BLOCK OF A PROGRAM COMPILATION
SEE SPEC-SECTION 3.3
PT2 - SEVERITY 2
PU3 - SEVERITY 2
INVOCATIONS IN AN UPDATE BLOCK OF PROCEDURES OR USER FUNCTIONS DEFINED OUTSIDE THE BLOCK ARE ILLEGAL.
SEE SPEC-SECTION 3.4
P1 - SEVERITY 2
END-OF-FILE AT INVALID POINT IN SOURCE TEXT
EVERY UNIT OF COMPILATION MUST END WITH A CLOSE STATEMENT.
P4 - SEVERITY 3
CONFLICTING USE OF ?? P5 - SEVERITY 2
TOO MANY MACRO EXPANSIONS FOR ?? P6 - SEVERITY 2
PROGRAM LAYOUT TABLE EXCEEDED
THE PROGRAM LAYOUT TABLE CANNOT CONTAIN AN EXCESS OF 255 PROGRAM BLOCKS. A PREVIOUSLY DEFINED VARIABLE HAS BEEN USED AS EITHER A PROCEDURE LABEL OR STATEMENT LABEL.
P8 - SEVERITY 2
THE FOLLOWING SYMBOL IS SYNTACTICALLY ILLEGAL IN THE CONTEXT USED: ?? ERROR RECOVERY MAY CAUSE SUBSEQUENT SPURIOUS ERRORS
CHECK TO MAKE SURE THAT MISTYPING HAS NOT PRODUCED GIBBERISH. ALSO BE SURE THAT A HAL/S RESERVED KEYWORD IS NOT BEING INADVERTENTLY USED AS AN IDENTIFIER OR LABEL. SEE SPEC, APPENDIX B FOR A LIST OF THESE KEYWORDS.
HAL/S-FC User’s Manual USA003090 32.0/17.0
B -56 November 2005
ERROR MESSAGES FOR MAJOR CLASSIFICATION Q