Re: Fwd: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_language_parser.y zend_language_scanner.l

From: Date: Fri, 16 Jul 2004 09:34:18 +0000
Subject: Re: Fwd: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_language_parser.y zend_language_scanner.l
References: 1 2 3 4 5  Groups: php.internals 
Request: Send a blank email to internals+get-11277@lists.php.net to get a copy of this message
Well, the new word "clone" made the same : class a{ function clone() {} } is not working anymore :) andrey Sterling Hughes wrote:
<?php function null() { } null(); ?> <?php class connected { function true() { } } if (connected::true()) { echo "bar"; } ?> On Fri, 16 Jul 2004 09:26:33 +0200, dharana <dharana@dharana.net> wrote:
Excuse my ignorance, but why does this breaks compatibility? Sterling Hughes wrote:
woops, discussion should be on internals@... ---------- Forwarded message ---------- From: Sterling Hughes <sterling.hughes@gmail.com> Date: Fri, 16 Jul 2004 00:11:53 -0700 Subject: Re: [ZEND-ENGINE-CVS] cvs: ZendEngine2 / zend_language_parser.y zend_language_scanner.l To: Marcus Boerger <helly@php.net> Cc: zend-engine-cvs@lists.php.net this breaks bc - it should at least be discussed.... -sterling On Fri, 16 Jul 2004 06:50:58 -0000, Marcus Boerger <helly@php.net> wrote:
helly           Fri Jul 16 02:50:58 2004 EDT
Modified files:
   /ZendEngine2        zend_language_parser.y zend_language_scanner.l
Log: - Speed up by making null/false/true reserved word which allows to drop an opcode (FETCH_CONSTANT) for every usage. http://cvs.php.net/diff.php/ZendEngine2/zend_language_parser.y?r1=1.144&r2=1.145&ty=u Index: ZendEngine2/zend_language_parser.y diff -u ZendEngine2/zend_language_parser.y:1.144
ZendEngine2/zend_language_parser.y:1.145
--- ZendEngine2/zend_language_parser.y:1.144    Tue Apr 20 10:14:55 2004
+++ ZendEngine2/zend_language_parser.y Fri Jul 16 02:50:57 2004 @@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/ -/* $Id: zend_language_parser.y,v 1.144 2004/04/20 14:14:55 andi Exp $ */ +/* $Id: zend_language_parser.y,v 1.145 2004/07/16 06:50:57 helly Exp
$ */
/* * LALR shift/reduce conflicts and how they are resolved: @@ -142,6 +142,9 @@ %token T_DOLLAR_OPEN_CURLY_BRACES %token T_CURLY_OPEN %token T_PAAMAYIM_NEKUDOTAYIM +%token T_NULL +%token T_FALSE +%token T_TRUE %% /* Rules */ @@ -675,6 +678,9 @@
       |       T_CLASS_C                                       { $$
= $1; }
       |       T_METHOD_C                                      { $$
= $1; }
       |       T_FUNC_C                                        { $$
= $1; }
+       |       T_NULL                                          { $$
= $1; }
+       |       T_FALSE                                         { $$
= $1; }
+       |       T_TRUE                                          { $$
= $1; }
; http://cvs.php.net/diff.php/ZendEngine2/zend_language_scanner.l?r1=1.111&r2=1.112&ty=u Index: ZendEngine2/zend_language_scanner.l diff -u ZendEngine2/zend_language_scanner.l:1.111
ZendEngine2/zend_language_scanner.l:1.112
--- ZendEngine2/zend_language_scanner.l:1.111 Mon Jun 14 15:09:42 2004 +++ ZendEngine2/zend_language_scanner.l Fri Jul 16 02:50:57 2004 @@ -19,7 +19,7 @@
+----------------------------------------------------------------------+
*/ -/* $Id: zend_language_scanner.l,v 1.111 2004/06/14 19:09:42 helly
Exp $ */
+/* $Id: zend_language_scanner.l,v 1.112 2004/07/16 06:50:57 helly
Exp $ */
#define yyleng SCNG(yy_leng) #define yytext SCNG(yy_text) @@ -57,6 +57,7 @@ #include "zend_constants.h" #include "zend_variables.h" #include "zend_operators.h" +#include "zend_API.h" #ifdef HAVE_STDARG_H # include <stdarg.h> @@ -1301,6 +1302,21 @@
       zendlval->value.str.val = estrndup(filename,
zendlval->value.str.len);
       zendlval->type = IS_STRING;
       return T_FILE;
+} + +<ST_IN_SCRIPTING>"NULL" {
+       ZVAL_NULL(zendlval);
+       return T_NULL;
+} + +<ST_IN_SCRIPTING>"FALSE" {
+       ZVAL_FALSE(zendlval);
+       return T_FALSE;
+} + +<ST_IN_SCRIPTING>"TRUE" {
+       ZVAL_TRUE(zendlval);
+       return T_TRUE;
} <INITIAL>(([^<]|"<"[^?%s<]){1,400})|"<s"|"<" { -- Zend Engine CVS Mailing List (http://cvs.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
-- Juan Alonso This message represents the official view of the voices in my head -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php


« previous php.internals (#11277) next »