Synopsis
You put a PROCEDURE keyword in the wrong place. If you use this keyword, it should appear as the first instruction in a subroutine. It's recommended that you place it upon the same line as any label name for your subroutine, as so:
My_Label: PROCEDURECause
Cure
Put the PROCEDURE right after the label, as shown above.
Note: Reginald also allows you to put PROCEDURE EXPOSE at the start of some child script in order to expose variables from your main script (so that the child script can directly access them). If you use this feature, make sure that the PROCEDURE EXPOSE is the first instruction in your child script.
Cause
You did an INTERPRET upon some string that contains a PROCEDURE keyword.
Cure
Either rewrite the INTERPRET string to eliminate the need for PROCEDURE, or use the INTERPRET statement on that string immediately after your subroutine label as so:
My_Label: INTERPRET 'PROCEDURE;SAY "Hello";RETURN'