summaryrefslogtreecommitdiff
path: root/ext/tokenizer/tokenizer_data.c
diff options
context:
space:
mode:
authorNikita Popov <nikita.ppv@gmail.com>2020-06-15 11:50:55 +0200
committerNikita Popov <nikita.ppv@gmail.com>2020-07-22 12:36:05 +0200
commit7a3dcc3e339cde2177ba4fe8fc45f78c94dfbb29 (patch)
tree7750f94dceba15437e3dad497734d3b1d65b4e4b /ext/tokenizer/tokenizer_data.c
parentacbf7802af7b88d16497971494f5dc42c4e08ce6 (diff)
downloadphp-git-7a3dcc3e339cde2177ba4fe8fc45f78c94dfbb29.tar.gz
Treat namespaced names as single token
Namespace names are now lexed as single tokens of type T_NAME_QUALIFIED, T_NAME_FULLY_QUALIFIED or T_NAME_RELATIVE. RFC: https://wiki.php.net/rfc/namespaced_names_as_token Closes GH-5827.
Diffstat (limited to 'ext/tokenizer/tokenizer_data.c')
-rw-r--r--ext/tokenizer/tokenizer_data.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/ext/tokenizer/tokenizer_data.c b/ext/tokenizer/tokenizer_data.c
index 14630cdd40..9ed027920c 100644
--- a/ext/tokenizer/tokenizer_data.c
+++ b/ext/tokenizer/tokenizer_data.c
@@ -77,6 +77,9 @@ void tokenizer_register_constants(INIT_FUNC_ARGS) {
REGISTER_LONG_CONSTANT("T_LNUMBER", T_LNUMBER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_DNUMBER", T_DNUMBER, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_STRING", T_STRING, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("T_NAME_FULLY_QUALIFIED", T_NAME_FULLY_QUALIFIED, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("T_NAME_RELATIVE", T_NAME_RELATIVE, CONST_CS | CONST_PERSISTENT);
+ REGISTER_LONG_CONSTANT("T_NAME_QUALIFIED", T_NAME_QUALIFIED, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_VARIABLE", T_VARIABLE, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_INLINE_HTML", T_INLINE_HTML, CONST_CS | CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("T_ENCAPSED_AND_WHITESPACE", T_ENCAPSED_AND_WHITESPACE, CONST_CS | CONST_PERSISTENT);
@@ -221,6 +224,9 @@ char *get_token_type_name(int token_type)
case T_LNUMBER: return "T_LNUMBER";
case T_DNUMBER: return "T_DNUMBER";
case T_STRING: return "T_STRING";
+ case T_NAME_FULLY_QUALIFIED: return "T_NAME_FULLY_QUALIFIED";
+ case T_NAME_RELATIVE: return "T_NAME_RELATIVE";
+ case T_NAME_QUALIFIED: return "T_NAME_QUALIFIED";
case T_VARIABLE: return "T_VARIABLE";
case T_INLINE_HTML: return "T_INLINE_HTML";
case T_ENCAPSED_AND_WHITESPACE: return "T_ENCAPSED_AND_WHITESPACE";