Hey all, I am trying to add new opening and closing tags (<?php - ?>) mainly for testing functionality and curiosity. I believe, after 5 hours, that I have tracked down the location of where this is defined, Zend/zend_language_scanner.l. Here is a snippet of what was originally there:
<INITIAL>"<?php"([ \t]|{NEWLINE}) { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } What I have done is simply this: <INITIAL>"<@abc"([ \t]|{NEWLINE}) { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; HANDLE_NEWLINE(yytext[yyleng-1]); BEGIN(ST_IN_SCRIPTING); return T_OPEN_TAG; } As for the closing tag, I have made the appropriate changes shown below. <ST_ONE_LINE_COMMENT>"?>"|"%>"|"@>" { if (CG(asp_tags) || yytext[yyleng-2] != '%') { /* asp comment? */ zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; yyless(yyleng-2); BEGIN(ST_IN_SCRIPTING); return T_COMMENT; } else { yymore(); } } and <ST_IN_SCRIPTING>("?>"|"@>"|"</script"{WHITESPACE}*">"){NEWLINE}? { zendlval->value.str.val = yytext; /* no copying - intentional */ zendlval->value.str.len = yyleng; zendlval->type = IS_STRING; BEGIN(INITIAL); return T_CLOSE_TAG; /* implicit ';' at php-end tag */ } As far as I can tell, it looks like it should. However when I try to compile the code, I receive the following error: "./zend_language_scanner.l", line 973: warning, rule cannot be matched where line 973 is the line that my modification began, or the new opening tag that I have added starts. I am not very well skilled in C, as yet, so any help and/or comments on how I might be able to correct this slight problem would be greatly appreciated. As I mentioned before, at this time I am trying this out to satisfy my curiosity. Please remember this when/if you respond to my inquiry. Thank you ahead of time. Jordan S. Jones Please remove the appropriate information from my email address before sending. -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php