cvs: php4 /ext/midgard preparser-scanner.l
| From: | David Guerizec | Date: | Tue, 13 Mar 2001 12:19:41 +0000 |
| Subject: | cvs: php4 /ext/midgard preparser-scanner.l | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-4529@lists.php.net to get a copy of this message | ||
davidg Tue Mar 13 04:19:41 2001 EDT
Modified files:
/php4/ext/midgard preparser-scanner.l
Log:
fixed bug http://www.midgard-project.org/bugs/?id=135
Index: php4/ext/midgard/preparser-scanner.l
diff -u php4/ext/midgard/preparser-scanner.l:1.6 php4/ext/midgard/preparser-scanner.l:1.7
--- php4/ext/midgard/preparser-scanner.l:1.6 Tue Mar 13 00:03:08 2001
+++ php4/ext/midgard/preparser-scanner.l Tue Mar 13 04:19:39 2001
@@ -1,6 +1,6 @@
%{
-/* $Id: preparser-scanner.l,v 1.6 2001/03/13 08:03:08 davidg Exp $
+/* $Id: preparser-scanner.l,v 1.7 2001/03/13 12:19:39 davidg Exp $
Copyright (C) 1999 Jukka Zitting <jukka.zitting@iki.fi>
Copyright (C) 2000 The Midgard Project ry
Copyright (C) 2000 Emile Heyns, Aurora SA <emile@iris-advies.com>
@@ -32,6 +32,8 @@
%}
%x IN_PHP
+%x IN_PHPQ
+%x IN_PHPQQ
%x IN_LCOMMENT
%x IN_TEMPLATE
%x IN_FORMAT
@@ -84,6 +86,44 @@
yy_pop_state();
}
+<IN_PHP>{quote} {
+ yy_push_state(IN_PHPQ);
+ in_string = mgdtext[0];
+ mgd_append_output_buffer(yytext);
+}
+
+<IN_PHP>{dquote} {
+ yy_push_state(IN_PHPQQ);
+ in_string = mgdtext[0];
+ mgd_append_output_buffer(yytext);
+}
+
+<IN_PHPQ>[\\]{quote} {
+ mgd_append_output_buffer(yytext);
+}
+
+<IN_PHPQ>{quote} {
+ mgd_append_output_buffer(yytext);
+ yy_pop_state();
+}
+
+<IN_PHPQ>{ANY} {
+ mgd_append_output_buffer(yytext);
+}
+
+<IN_PHPQQ>[\\]{dquote} {
+ mgd_append_output_buffer(yytext);
+}
+
+<IN_PHPQQ>{dquote} {
+ mgd_append_output_buffer(yytext);
+ yy_pop_state();
+}
+
+<IN_PHPQQ>{ANY} {
+ mgd_append_output_buffer(yytext);
+}
+
<IN_PHP>{ANY} {
#ifdef SCANNER_DEBUG
mgd_append_output_buffer_const(" <6: misc char> ");
@@ -109,13 +149,6 @@
yy_pop_state(); // pop IN_PHP
}
-<IN_PHP>{qstring}|{dqstring} {
-#ifdef SCANNER_DEBUG
- mgd_append_output_buffer_const(" <5: String> ");
-#endif
- mgd_append_output_buffer(yytext);
-}
-
<INITIAL>"<"[\[\(]/{MIDGARD_TEMPLATE_NAME}[\]\)]">" {
#ifdef SCANNER_DEBUG
mgd_append_output_buffer_const(" <9: Found start of element> ");
@@ -344,6 +377,15 @@
}
%%
+/*
+<IN_PHP>{qstring}|{dqstring} {
+#ifdef SCANNER_DEBUG
+ mgd_append_output_buffer_const(" <5: String> ");
+#endif
+ mgd_append_output_buffer(yytext);
+}
+
+*/
char * php_eval_midgard(midgard_pool * pool, const char *name, char *value, int exit_php)
{