rfc:improved-parser-error-message
Request for Comments: Improved parser error message
- Version: 1.0
- Date: 2011-05-16
- Author: Felipe Pena felipe@php.net
- Status: Implemented in 5.4
- Discussion: May 16, 2011
Introduction
The purpose of this RFC is to propose a naming of our tokens to have an crypto-less parser error messages. This is simply achieved by using an old Bison feature.
BC
There is no BC break. The token_*() functions aren't affected by the patch.
$ sapi/cli/php -r 'var_dump(token_name(318));' string(6) "T_ECHO"
Examples
$ sapi/cli/php -r 'class abc foo' Patched: Parse error: syntax error, unexpected 'foo' (T_STRING), expecting '{' in Command line code on line 1 Current: Parse error: syntax error, unexpected T_STRING, expecting '{' in Command line code on line 1
$ sapi/cli/php -r 'function ""' Patched: Parse error: syntax error, unexpected '""' (T_CONSTANT_ENCAPSED_STRING), expecting identifier (T_STRING) or '(' in Command line code on line 1 Current: Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING or '(' in Command line code on line 1
$ sapi/cli/php -r 'echo ::a;' Patched: Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM) in Command line code on line 1 nexpected '::' in Command line code on line 1 Current: Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in Command line code on line 1
$ sapi/cli/php -r 'echo <<=' Patched: Parse error: syntax error, unexpected '<<=' (T_SL_EQUAL) in Command line code on line 1 Current: Parse error: syntax error, unexpected T_SL_EQUAL in Command line code on line 1
$ sapi/cli/php -r 'class ' Patched: Parse error: syntax error, unexpected end of file, expecting identifier (T_STRING) in Command line code on line 1 Current: Parse error: syntax error, unexpected $end, expecting T_STRING in Command line code on line 1
Patch
rfc/improved-parser-error-message.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1