5b9aef78
by Francis De Brabandere at 2026-03-19T18:13:17+01:00
vbscript: Fix ElseIf and Else handling for inline and multi-line forms.
Split ElseIf into multi-line (requires statement separator after Then)
and inline (allows trailing End If) forms, and split Else into separator
and inline forms so that "Else End If" without a body is naturally
rejected by the grammar instead of requiring a semantic check.
This is achieved by introducing StatementsBody, InlineStatements and
InlineStatements_opt non-terminals whose FIRST sets do not overlap
with StSep, replacing the previous StSep_opt usage that caused
reduce/reduce conflicts.
No new parser conflicts are introduced.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=55196