summaryrefslogtreecommitdiff
path: root/Zend/zend_language_scanner.l
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2003-04-01 09:22:41 +0000
committerStanislav Malyshev <stas@php.net>2003-04-01 09:22:41 +0000
commit59af205988e439563a8503d168d0abeac7704198 (patch)
tree90923498e4813c8155d8d600f7204097a25b26ef /Zend/zend_language_scanner.l
parentf9fae74ab60005edee5df0fbe8efae4352afe941 (diff)
downloadphp-git-59af205988e439563a8503d168d0abeac7704198.tar.gz
Add __NAMESPACE__ auto-constant.
Diffstat (limited to 'Zend/zend_language_scanner.l')
-rw-r--r--Zend/zend_language_scanner.l13
1 files changed, 13 insertions, 0 deletions
diff --git a/Zend/zend_language_scanner.l b/Zend/zend_language_scanner.l
index 800261580f..30a6c752f8 100644
--- a/Zend/zend_language_scanner.l
+++ b/Zend/zend_language_scanner.l
@@ -1012,6 +1012,19 @@ NAMESPACE_NAME ({LABEL}":")+{LABEL}
return T_FILE;
}
+<ST_IN_SCRIPTING>"__NAMESPACE__" {
+ char *ns_name;
+ if(CG(active_namespace) == &CG(global_namespace)) {
+ ns_name = "";
+ } else {
+ ns_name = CG(active_namespace)->name;
+ }
+
+ zendlval->value.str.len = strlen(ns_name);
+ zendlval->value.str.val = estrndup(ns_name, zendlval->value.str.len);
+ zendlval->type = IS_STRING;
+ return T_NAMESPACE_C;
+}
<INITIAL>(([^<]|"<"[^?%s<]){1,400})|"<s"|"<" {
zendlval->value.str.val = (char *) estrndup(yytext, yyleng);