[prev in list] [next in list] [prev in thread] [next in thread] 

List:       midgard-dev
Subject:    [midgard-cvs] cvs: midgard /php4/Zend zend-parser.y zend-scanner.l zend.c zend_globals.h
From:       emile <cvslog () midgard-project ! org>
Date:       2000-10-30 12:39:47
[Download RAW message or body]

emile		Mon Oct 30 13:39:47 2000 EDT

  Modified files:
    /midgard/php4/Zend	zend-parser.y zend-scanner.l zend.c 
                      	zend_globals.h 
  Log:
  Attempt at seamless legacy support
  
  
Index: midgard/php4/Zend/zend-parser.y
diff -u midgard/php4/Zend/zend-parser.y:1.4 midgard/php4/Zend/zend-parser.y:1.5
--- midgard/php4/Zend/zend-parser.y:1.4	Thu Oct 19 23:01:15 2000
+++ midgard/php4/Zend/zend-parser.y	Mon Oct 30 13:39:47 2000
@@ -731,6 +731,7 @@
 	|	T_REQUIRE_ONCE expr		{ do_include_or_eval(ZEND_REQUIRE_ONCE, &$$, &$2 CLS_CC); }
 ;
 
+/* T_TEMPLATE encaps_list 	{ do_include_or_eval(ZEND_TEMPLATE, &$$, &$2 CLS_CC); } */
 
 %%
 
Index: midgard/php4/Zend/zend-scanner.l
diff -u midgard/php4/Zend/zend-scanner.l:1.5 midgard/php4/Zend/zend-scanner.l:1.6
--- midgard/php4/Zend/zend-scanner.l:1.5	Mon Oct 23 16:00:14 2000
+++ midgard/php4/Zend/zend-scanner.l	Mon Oct 30 13:39:47 2000
@@ -1051,16 +1051,6 @@
 	return T_FILE;
 }
 
-
-<INITIAL>"&<" {
-	yy_push_state(ST_FORMAT_AND_ECHO);
-	return T_FORMAT_AND_ECHO;
-}
-
-<ST_FORMAT_AND_ECHO>">;" {
-	yy_pop_state();
-}
-
 <INITIAL>(([^<]|"<"[^?%s<]){1,400})|"<s"|"<" {
 	zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
 	zendlval->value.str.len = yyleng;
@@ -1102,8 +1092,24 @@
 	}
 }
 
-<INITIAL>"<[" {
-	if (CG(midgard_tags)) {
+<INITIAL,ST_HEREDOC>"&"[<(] {
+   if (yytext[1] == '<' || CG(legacy_midgard)) {
+	   yy_push_state(ST_FORMAT_AND_ECHO);
+	   return T_FORMAT_AND_ECHO;
+	} else {
+		zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
+		zendlval->value.str.len = yyleng;
+		zendlval->type = IS_STRING;
+		return T_INLINE_HTML;
+   }
+}
+
+<ST_FORMAT_AND_ECHO>[)>]";" {
+	yy_pop_state();
+}
+
+<INITIAL,ST_HEREDOC>"<"[(\[] {
+	if (CG(midgard_tags) && (yytext[1] == '[' || CG(legacy_midgard))) {
 		zendlval->value.str.val = yytext; /* no copying - intentional */
 		zendlval->value.str.len = yyleng;
 		zendlval->type = IS_STRING;
@@ -1117,7 +1123,7 @@
 	}
 }
 
-<ST_IN_TEMPLATE>"]>" {
+<ST_IN_TEMPLATE>[(\]]">" {
 	zendlval->value.str.len = yyleng;
 	zendlval->type = IS_STRING;
 	HANDLE_NEWLINES(yytext,yyleng);
@@ -1126,7 +1132,7 @@
 		zendlval->value.str.val = yytext; /* no copying - intentional */
 		return T_CLOSE_TAG;  /* implicit ';' at php-end tag */
 	} else {
-	        zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
+      zendlval->value.str.val = (char *) estrndup(yytext, yyleng);
 		return T_INLINE_HTML;
 	}
 }
Index: midgard/php4/Zend/zend.c
diff -u midgard/php4/Zend/zend.c:1.4 midgard/php4/Zend/zend.c:1.5
--- midgard/php4/Zend/zend.c:1.4	Mon Oct 23 16:00:14 2000
+++ midgard/php4/Zend/zend.c	Mon Oct 30 13:39:47 2000
@@ -242,6 +242,7 @@
 	/* default compile-time values */
 	CG(asp_tags) = 0;
 	CG(midgard_tags) = 0;
+	CG(legacy_midgard) = 0;
 	CG(short_tags) = 1;
 	CG(allow_call_time_pass_reference) = 1;
 	CG(extended_info) = 0;
Index: midgard/php4/Zend/zend_globals.h
diff -u midgard/php4/Zend/zend_globals.h:1.4 midgard/php4/Zend/zend_globals.h:1.5
--- midgard/php4/Zend/zend_globals.h:1.4	Mon Oct 23 16:00:14 2000
+++ midgard/php4/Zend/zend_globals.h	Mon Oct 30 13:39:47 2000
@@ -97,6 +97,7 @@
 	zend_bool short_tags;
 	zend_bool asp_tags;
 	zend_bool midgard_tags;
+	zend_bool legacy_midgard;
 	zend_bool allow_call_time_pass_reference;
 
 	zend_declarables declarables;



---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@midgard-project.org
For additional commands, e-mail: cvs-help@midgard-project.org

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic