But in C, you can #if 0 whole blocks out regardless. I'm in favour of a change like this (if not this specific one) in 4.2.
adamw ----- Original Message ----- From: "Andi Gutmans" <[EMAIL PROTECTED]> To: "Anders Johannsen" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]> Sent: Tuesday, November 27, 2001 5:21 PM Subject: Re: [PHP-DEV] Patch: Nested comments > I don't think this should be changed and we should stick to the way it is > in C. (It is also not BC and even if I thought it's a good idea, which I > don't, I don't think it's worth it). > > Andi > > At 11:48 AM 11/27/2001 +0100, Anders Johannsen wrote: > >This patch allows for nested 'C-style' comments, which can be useful > >especially while debugging. > > > > <?php > > /* comments > > /* now /* nest */ */ > > > > /*/*/*/* > > */*/*/*/ > > */ > > ?> > > > >Since comments are handled purely lexical, there should be virtually no > >performance hit. > > > >The following two examples show how errors are handled: > > > >1) > > <?php > > /* > > */ > > */ > > ?> > > > >2) > > <?php > > /* > > /* > > */ > > ?> > > > >Ad 1) This will yield a zend_error(E_COMPILE_ERROR,"Invalid nesting of > >comments") on the > >last line. Unpatched, a parse error is the most likely result. > > > >Ad 2) A zend_error(E_COMPILE_WARNING, "unterminated comment starting line > >%d", CG(comment_start_line)) is raised. > > > >The attached patch is against latest CVS > > > >Best regards, > >Anders Johannsen > >-- > >[EMAIL PROTECTED] > > > >Index: zend_globals.h > >=================================================================== > >RCS file: /repository/Zend/zend_globals.h,v > >retrieving revision 1.80 > >diff -u -r1.80 zend_globals.h > >--- zend_globals.h 2001/10/23 01:19:16 1.80 > >+++ zend_globals.h 2001/11/27 10:08:06 > >@@ -82,6 +82,7 @@ > > int comment_start_line; > > char *heredoc; > > int heredoc_len; > >+ unsigned int comment_nest_level; > > > > zend_op_array *active_op_array; > > > >Index: zend_language_scanner.l > >=================================================================== > >RCS file: /repository/Zend/zend_language_scanner.l,v > >retrieving revision 1.40 > >diff -u -r1.40 zend_language_scanner.l > >--- zend_language_scanner.l 2001/09/22 00:06:27 1.40 > >+++ zend_language_scanner.l 2001/11/27 10:08:07 > >@@ -1,5 +1,4 @@ > > %{ > >- > > /* > > > >+----------------------------------------------------------------------+ > > | Zend > >Engine | > >@@ -125,6 +124,7 @@ > > { > > CG(heredoc) = NULL; > > CG(heredoc_len)=0; > >+ CG(comment_nest_level)=0; > > } > > > > > >@@ -1057,24 +1057,39 @@ > > } > > } > > > >+<ST_IN_SCRIPTING>"*/" { > >+ zend_error(E_COMPILE_ERROR,"Invalid nesting of comments"); > >+} > >+ > > <ST_IN_SCRIPTING>"/*" { > > CG(comment_start_line) = CG(zend_lineno); > > BEGIN(ST_COMMENT); > >+ CG(comment_nest_level) = 1; > > yymore(); > > } > > > >- > >-<ST_COMMENT>[^*]+ { > >+<ST_COMMENT>[^/*]+ { > > yymore(); > > } > > > >+<ST_COMMENT>"/*" { > >+ CG(comment_nest_level)++; > >+ yymore(); > >+} > >+ > > <ST_COMMENT>"*/" { > >- HANDLE_NEWLINES(yytext, yyleng); > >- BEGIN(ST_IN_SCRIPTING); > >- return T_COMMENT; > >+ CG(comment_nest_level)--; > >+ > >+ if (CG(comment_nest_level) == 0) { > >+ HANDLE_NEWLINES(yytext, yyleng); > >+ BEGIN(ST_IN_SCRIPTING); > >+ return T_COMMENT; > >+ } else { > >+ yymore(); > >+ } > > } > > > >-<ST_COMMENT>"*" { > >+<ST_COMMENT>"*"|"/" { > > yymore(); > > } > > > > > > > > > > > >-- > >PHP Development Mailing List <http://www.php.net/> > >To unsubscribe, e-mail: [EMAIL PROTECTED] > >For additional commands, e-mail: [EMAIL PROTECTED] > >To contact the list administrators, e-mail: [EMAIL PROTECTED] > > > -- > PHP Development Mailing List <http://www.php.net/> > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > To contact the list administrators, e-mail: [EMAIL PROTECTED] > > -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] To contact the list administrators, e-mail: [EMAIL PROTECTED]