diff --git a/ecrire/inc_debug_sql.php3 b/ecrire/inc_debug_sql.php3 index 91ea0c02ecb01f55e359786fa4b0c9eb68e5f427..49a04a553a534f385de35e3f7bbadd7f312f6257 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 c4bc4692be57f5ff5261cc24a8f86069dd2d45cb..b53fa8fd62cccb35254665e6ce0cda8046a7e2f2 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 0dd84265a2cf699bd66cd6a6bbf645a993e9501c..c86aafe32c3b29f06dbf1453fb1e5a6ff88c34fa 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;