-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
PL/I syntax error missed on nested blocks #397
Comments
The example provided produces an error on line 1 'The block does not have an END statement'. If you modify the final END statement to be labeled with PROCESS_INPUT_FILE it will multiclose the missing end statement and the syntax error will no longer be shown. The compiler option NOMULTICLOSE is not currently supported in the parser. This is why you are not getting a syntax error where you are expecting. This should be labeled as an enhancement request. |
I actually cleaned up the code a bit too much from details because the PROCESS_INPUT_FILE line is in the original, but yes, it would be nice if the syntax checker enforced the NOMULTICLOSE option since it's a default flag in newer versions of PL/I. |
Development environment used
java -version
and paste the details here):Problem Description
The PL/I block below won't throw a syntax error on the missing END; for the SELECT block below. If I remove any other random END; line it works, but in the example below it doesn't which leads then to a compiler error with the NOMULTICLOSE rule enforced. I'll venture to guess the syntax checker in iDZ is one in the same because it behaves identically with the code below. Just to note, the editor does know what END; belongs to what SELECT, DO, etc. (Click on END;); but then it simply chooses to ignore the fact that one missing below is a problem. Note that you can make the code even more generic to avoid the other 2 syntax error, but it doesn't change the outcome.
Observed behavior
Syntax error ignored for the missing END; for the SELECT block.
Expected behavior
Syntax error flagged for missing END; for the SELECT block.
The text was updated successfully, but these errors were encountered: