Skip to content
Extraits de code Groupes Projets
Valider 44c8aa39 rédigé par esj's avatar esj
Parcourir les fichiers

Il faut sauvegarer manuellement les compteurs de boucles quand elles sont...

Il faut sauvegarer manuellement les compteurs de boucles quand elles sont récurisves (Aurélien et Stéphane).
parent ee6256d7
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -112,7 +112,7 @@ function calculer_inclure($struct, $descr, &$boucles, $id_boucle) {
function calculer_boucle($id_boucle, &$boucles) {
if ($boucles[$id_boucle]->type_requete == 'boucle') {
$corps = ( "\n \$t0 = " . $boucles[$id_boucle]->return . ";");
$corps = calculer_boucle_rec($id_boucle, $boucles);
$req = "";
} else {
$corps = calculer_boucle_nonrec($id_boucle, $boucles);
......@@ -129,6 +129,17 @@ function calculer_boucle($id_boucle, &$boucles) {
. "\n return \$t0;";
}
// compil d'un boucle non recursive.
// il suffit (ET IL FAUT) sauvegarder les valeurs des arguments passes par
// reference, car par definition un tel passage ne les sauvegarde pas
function calculer_boucle_rec($id_boucle, &$boucles) {
$nom = $boucles[$id_boucle]->param[0];
return "\n\t\$save_numrows = (\$Numrows['$nom']);"
. "\n\t\$t0 = " . $boucles[$id_boucle]->return . ";"
. "\n\t\$Numrows['$nom'] = (\$save_numrows);";
}
// compil d'un boucle non recursive.
// c'est un "while (fetch_sql)" dans le cas général,
// qu'on essaye d'optimiser un max.
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter