davidg Tue Mar 13 00:03:08 2001 EDT
Modified files:
/php4/ext/midgard preparser-scanner.l
Log:
Fixed a bug that prevented the preparser to expand any Midgard syntax formatter
after a //-style comment anywhere in the page.
Index: php4/ext/midgard/preparser-scanner.l
diff -u php4/ext/midgard/preparser-scanner.l:1.5
php4/ext/midgard/preparser-scanner.l:1.6
--- php4/ext/midgard/preparser-scanner.l:1.5 Fri Feb 23 16:00:59 2001
+++ php4/ext/midgard/preparser-scanner.l Tue Mar 13 00:03:08 2001
@@ -1,6 +1,6 @@
%{
-/* $Id: preparser-scanner.l,v 1.5 2001/02/24 00:00:59 davidg Exp $
+/* $Id: preparser-scanner.l,v 1.6 2001/03/13 08:03:08 davidg Exp $
Copyright (C) 1999 Jukka Zitting <[EMAIL PROTECTED]>
Copyright (C) 2000 The Midgard Project ry
Copyright (C) 2000 Emile Heyns, Aurora SA <[EMAIL PROTECTED]>
@@ -29,17 +29,10 @@
static int par_stack;
static char in_string=0;
-/*
-<IN_PHP>{ANY}|{LCOMMENT} {
-#ifdef SCANNER_DEBUG
- mgd_append_output_buffer_const(" <6: misc char> ");
-#endif
- mgd_append_output_buffer(yytext);
-}
-*/
%}
%x IN_PHP
+%x IN_LCOMMENT
%x IN_TEMPLATE
%x IN_FORMAT
%x IN_SNIPPET
@@ -60,7 +53,7 @@
qstring [\'][^\'\n]*[\']
WHITESPACE [ \n\r\t]
ANY .|{WHITESPACE}
-LCOMMENT "//".*
+LCOMMENT "//"
quote [\']
dquote [\"]
MIDGARD_TEMPLATE_NAME [a-zA-Z0-9_ \x7f-\xff-]+
@@ -90,12 +83,30 @@
mgd_append_output_buffer(yytext);
yy_pop_state();
}
+
+<IN_PHP>{ANY} {
+#ifdef SCANNER_DEBUG
+ mgd_append_output_buffer_const(" <6: misc char> ");
+#endif
+ mgd_append_output_buffer(yytext);
+}
-<IN_PHP>{ANY}|{LCOMMENT} {
+<IN_PHP>{LCOMMENT} {
#ifdef SCANNER_DEBUG
mgd_append_output_buffer_const(" <6: misc char> ");
#endif
mgd_append_output_buffer(yytext);
+ yy_push_state(IN_LCOMMENT);
+}
+
+<IN_LCOMMENT>("\n"|"?>"|"</script"{WHITESPACE}*">") {
+#ifdef SCANNER_DEBUG
+ mgd_append_output_buffer_const(" <4: Found php end> ");
+#endif
+ mgd_append_output_buffer(yytext);
+ yy_pop_state(); // pop IN_LCOMMENT
+ if(*yytext != '\n')
+ yy_pop_state(); // pop IN_PHP
}
<IN_PHP>{qstring}|{dqstring} {
--
PHP CVS 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]