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]