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.
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"
$ 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