Report unclosed regions with a reference to the openening-statement
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 362
- Forks
- 75
- Avg merge
- 6d 9h
- Merged PRs (30d)
- 35
Description
A missing closing-keyword should also report the location of the starting-keyword.
`PROGRAM foo
WHILE FALSE DO
IF true THEN
g := 3;
END_WHILE
END_PROGRAM`
at the eND_WHILE we gonna report that we expected END_IF, and we should refer to the exact location of the opening if.
should be tested with different embedded regions (ctl-statement, POU, paranthesis, VAR)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in the parser code that reports a missing closing keyword and trace how the opening keyword is tracked. Add coverage for the shown nested IF/WHILE case and the other embedded regions listed in the issue: ctl-statement, POU, parentheses, and VAR. Done means the error reports the exact location of the corresponding opening statement.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- compilers
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100