From 1e6e8fa0886d355dce352f00a907878609d3d69b Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Sat, 2 Jul 2005 08:22:41 +0000
Subject: [PATCH] =?UTF-8?q?explicitation=20des=20criteres=20dans=20le=20de?=
 =?UTF-8?q?busqueur=20+=20bon=20corps=20des=20r=C3=A9cursives?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/inc_debug_sql.php3 | 17 ++++++++---------
 inc-compilo.php3          | 12 +++++++-----
 inc-html-squel.php3       |  2 +-
 3 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/ecrire/inc_debug_sql.php3 b/ecrire/inc_debug_sql.php3
index 91ea0c02ec..49a04a553a 100644
--- a/ecrire/inc_debug_sql.php3
+++ b/ecrire/inc_debug_sql.php3
@@ -170,11 +170,10 @@ function debug_sequence($id, $nom, $niv, $sequence) {
 }
 
 // appelee a chaque compilation de boucle (inc-compilo)
-function boucle_debug_compile ($id, $nom, $pretty, $sourcefile, $code) {
+function boucle_debug_compile ($id, $nom, $code) {
 	global $debug_objets;
 
 	$debug_objets['code'][$nom.$id] = $code;
-	$debug_objets['pretty'][$nom.$id] = $pretty;
 }
 
 // appelee a chaque compilation de squelette (inc-compilo)
@@ -193,21 +192,21 @@ function squelette_debug_compile($nom, $sourcefile, $code, $squelette) {
 	}
 }
 
-// appelee a chaque analyse syntaxique de squelette (inc-parser)
+// appelee a chaque analyse syntaxique de squelette
 function boucle_debug ($nom, $id_parent, $id, $type, $crit, $avant, $milieu, $apres, $altern) {
 	global $debug_objets;
-
 	$debug_objets['courant'] = $nom;
 	$debug_objets['parent'][$nom.$id] = $id_parent;
+	$debug_objets['pretty'][$nom.$id] = 
+	  "BOUCLE$id($type)" . ereg_replace("[\r\n]", " ", $crit) ;
 	// on synthetise avec la syntaxe standard, mais "<//" pose pb 
 	$debug_objets['boucle'][$nom.$id] = 
-	  "<B$id>" .
-	  $avant . "<BOUCLE$id($type)" . $crit .
-	  '>' .
+	  (!$avant ? "" : "<B$id>$avant") . 
+	  "<BOUCLE$id($type)$crit>" .
 	  $milieu .
 	  "</BOUCLE$id>" .
-	  $apres . "</B$id>" .
-	  $altern . '<//B' . $id . ">";
+	  (!$apres ? "" : "$apres</B$id>") . 
+	  (!$altern ? "" : "$altern<//B$id>");
 }
 
 function trouve_boucle_debug($n, $nom, $debut=0, $boucle = "")
diff --git a/inc-compilo.php3 b/inc-compilo.php3
index c4bc4692be..b53fa8fd62 100644
--- a/inc-compilo.php3
+++ b/inc-compilo.php3
@@ -491,7 +491,7 @@ function compile_cas($tableau, $descr, &$boucles, $id_boucle='') {
 
 // affichage du code produit
 
-function code_boucle(&$boucles, $id, $nom, $sourcefile)
+function code_boucle(&$boucles, $id, $nom)
 {
 	$boucle = &$boucles[$id];
 
@@ -525,8 +525,6 @@ function code_boucle(&$boucles, $id, $nom, $sourcefile)
 	$pretty = "BOUCLE$id(".strtoupper($boucle->type_requete) . ")" .
 		ereg_replace("[\r\n]", " ", $pretty);
 
-	if ($GLOBALS['var_mode'] == 'debug')
-		boucle_debug_compile ($id, $nom, $pretty, $sourcefile,$boucle->return);
 	return $pretty;	
 }
 
@@ -632,12 +630,16 @@ function calculer_squelette($squelette, $nom, $gram, $sourcefile) {
 			'(&$Cache, &$Pile, &$doublons, &$Numrows, $SP) {' .
 			$f($id, $boucles) .
 			"\n}\n\n";
+		if ($GLOBALS['var_mode'] == 'debug')
+		  boucle_debug_compile ($id, $nom, $boucles[$id]->return);
+
 	}
 
 	$code = "";
 	foreach($boucles as $id => $boucle) {
-		$code .= "\n//\n// <" .
-		  code_boucle($boucles, $id, $nom, $sourcefile).
+		$code .= "\n//\n// <BOUCLE " .
+#		  code_boucle($boucles, $id, $nom). # pas au point
+		  $boucle->type_requete .
 		  ">\n//\n" .
 		  $boucle->return;
 	}
diff --git a/inc-html-squel.php3 b/inc-html-squel.php3
index 0dd84265a2..c86aafe32c 100644
--- a/inc-html-squel.php3
+++ b/inc-html-squel.php3
@@ -502,7 +502,7 @@ function phraser($texte, $id_parent, &$boucles, $nom, $ligne=1) {
 		if (substr($soustype, 0, 6) == TYPE_RECURSIF) {
 			$result->type_requete = TYPE_RECURSIF;
 			$result->param[0] = substr($soustype, strlen(TYPE_RECURSIF));
-			$milieu = substr($milieu, strpos($milieu, '>'));
+			$milieu = substr($milieu, strpos($milieu, '>')+1);
 			$params = "";
 		} else {
 			$result->type_requete = $soustype;
-- 
GitLab