Req #17101 [Fbk]: Parse errors involving control structures should indicate the start of it
| From: | yohgaki@php.net | Date: | Wed, 16 Jul 2014 00:55:35 +0000 |
| Subject: | Req #17101 [Fbk]: Parse errors involving control structures should indicate the start of it | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-186651@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=17101&edit=1
ID: 17101
Updated by: yohgaki@php.net
Reported by: destes at ix dot netcom dot com
Summary: Parse errors involving control structures should
indicate the start of it
Status: Feedback
Type: Feature/Change Request
Package: *General Issues
Operating System: Irrelevant
PHP Version: Any
Block user comment: N
Private report: N
New Comment:
I think this should be closed as 'wont fix'.
Previous Comments:
------------------------------------------------------------------------
[2014-04-30 23:03:18] levim@php.net
Is there still interest in this?
------------------------------------------------------------------------
[2003-07-13 18:43:37] madsen at sjovedyr dot dk
Just reporting that a } might be missing somewhere would be a great improvement, at least until the
above mentioned solution is implemented...
I've had heaps of ppl asking me what the error in "this line (?>)" was.. :)
------------------------------------------------------------------------
[2002-05-08 18:36:02] destes at ix dot netcom dot com
Reopening issue, see comments.
------------------------------------------------------------------------
[2002-05-08 17:08:41] destes at ix dot netcom dot com
Even providing the start of the If structure that is unclosed - even if it has nested Ifs - would
still provide useful functionality. When in doubt, go with the earliest one. That in itself will
greatly narrow the range of possibilities.
I should also note that in your example, in both possible cases, it is the closing brace for the
FIRST if that is missing. Even if the second one were nested inside the first one, the missing
brace would be for the first If statement, so you could safely report "Parse error: Unclosed If
Structure beginning on line ____" and it would be greatly useful.
I admit that there is no way to determine where the closing brace should go. However, you can (At
the very least) determine the highest level If structure which was never closed - and report that
line.
Please let me know if i'm not making sense, which happens often =)
Thanks for your blindingly-fast reply.
-Steve
------------------------------------------------------------------------
[2002-05-08 14:54:41] sander@php.net
There is no way how PHP can detect it.
Consider the following (bogus) script:
if($foo) {
...
if($bar) {
...
}
How can PHP know which brace is missing?
It can be
if($foo) {
...
}
if($bar) {
...
}
but it can also be
if($foo) {
...
if($bar) {
...
}
}
If you have a good idea how to detect it, please let us hear.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=17101
--
Edit this bug report at https://bugs.php.net/bug.php?id=17101&edit=1