cvs: ZendEngine2 / zend_language_parser.y zend_language_scanner.l
| From: | Jani Taskinen | 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;