cvs: ZendEngine2 / zend_language_parser.y zend_language_scanner.l

From: Date: Wed, 10 Apr 2002 21:23:01 +0000
Subject: cvs: ZendEngine2 / zend_language_parser.y zend_language_scanner.l
Groups: php.zend-engine.cvs 
Request: Send a blank email to php-zend-engine-cvs+get-50@lists.php.net to get a copy of this message
sniper Wed Apr 10 17:23:01 2002 EDT Modified files: /ZendEngine2 zend_language_parser.y zend_language_scanner.l Log: MFZE1 Index: ZendEngine2/zend_language_parser.y diff -u ZendEngine2/zend_language_parser.y:1.55 ZendEngine2/zend_language_parser.y:1.56 --- ZendEngine2/zend_language_parser.y:1.55 Wed Mar 20 23:20:03 2002 +++ ZendEngine2/zend_language_parser.y Wed Apr 10 17:23:01 2002 @@ -122,6 +122,8 @@ %token T_DOUBLE_ARROW %token T_LIST %token T_ARRAY +%token T_CLASS_C +%token T_FUNC_C %token T_LINE %token T_FILE %token T_COMMENT @@ -599,6 +601,8 @@ | T_CONSTANT_ENCAPSED_STRING { $$ = $1; } | T_LINE { $$ = $1; } | T_FILE { $$ = $1; } + | T_CLASS_C { $$ = $1; } + | T_FUNC_C { $$ = $1; } ; Index: ZendEngine2/zend_language_scanner.l diff -u ZendEngine2/zend_language_scanner.l:1.49 ZendEngine2/zend_language_scanner.l:1.50 --- ZendEngine2/zend_language_scanner.l:1.49 Sat Mar 2 15:38:52 2002 +++ ZendEngine2/zend_language_scanner.l Wed Apr 10 17:23:01 2002 @@ -922,6 +922,30 @@ return T_DNUMBER; } +<ST_IN_SCRIPTING>"__CLASS__" { + char *class_name = CG(active_class_entry)->name; + + if (!class_name) { + class_name = ""; + } + zendlval->value.str.len = CG(active_class_entry)->name_length; + zendlval->value.str.val = estrndup(class_name, zendlval->value.str.len); + zendlval->type = IS_STRING; + return T_CLASS_C; +} + +<ST_IN_SCRIPTING>"__FUNCTION__" { + char *func_name = CG(active_op_array)->function_name; + + if (!func_name) { + func_name = ""; + } + zendlval->value.str.len = strlen(func_name); + zendlval->value.str.val = estrndup(func_name, zendlval->value.str.len); + zendlval->type = IS_STRING; + return T_FUNC_C; +} + <ST_IN_SCRIPTING>"__LINE__" { zendlval->value.lval = CG(zend_lineno); zendlval->type = IS_LONG;

« previous php.zend-engine.cvs (#50) next »