--- rpl/LIMITATIONS 2010/02/11 14:18:15 1.6 +++ rpl/LIMITATIONS 2011/06/10 11:35:11 1.37 @@ -1,49 +1,80 @@ RESTRICTIONS Only sequential formatted files are supported. -Rajouter les options de compilation dans mkrplso et les versions et dates dans -les pages de manuel. - Économisons notre mépris eut égard au nombre de nécessiteux. Chateaubriand. -Mettre les variables dans un arbre avec une liste chaîne des niveaux dans -chaque maillon de la pile système. -> version 4.1 - -Vérifier la translitération dans les fichiers graphiques --> utf8 et non l'encodage courant - -CONSTANTES (?) -kb (constante de Boltzmann) 1.3806504*10-23 J.K-1 -ec (charge électrique) 1.602176487*10-19 C -µ0 -e0 -h -c -n - - -Ajouter un support sqlite. - -L'assembleur VAX peut lire des listes chaînées - -Assembleur sparc +Libérer la mémoire (arbre des variables) à la fin d'un processus et d'un thread +Convertir avec le nouveau système de la gestion de la mémoire : +- CLUSR +- MEM +- PRUSR +- VARS + +- READ FLOW (longueur_effective ligne 2815) +rpl/src/'`instructions_w1-conv.c +instructions_w1-conv.c: In function ‘librpl_instruction_write’: +instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this +function +instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this +function + +interruptions-conv.c: In function ‘librpl_liberation_threads’: +interruptions-conv.c:806: error: ‘struct_processus’ has no member named +‘nombre_variables’ +interruptions-conv.c:809: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:811: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:815: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:818: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:821: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +interruptions-conv.c:824: error: ‘struct_processus’ has no member named +‘s_liste_variables’ + + +optimisation-conv.c: In function ‘librpl_sequenceur_optimise’: +optimisation-conv.c:75: error: ‘struct_processus’ has no member named +‘nombre_variables’ +optimisation-conv.c:77: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:82: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:133: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:136: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:151: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:216: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +optimisation-conv.c:234: error: ‘struct_processus’ has no member named +‘s_liste_variables’ + + +rpl-conv.c: In function ‘librpl_rplinit’: +rpl-conv.c:3219: error: ‘struct_processus’ has no member named +‘nombre_variables’ +rpl-conv.c:3222: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +rpl-conv.c:3223: error: ‘struct_processus’ has no member named +‘s_liste_variables’ +rpl-conv.c:3226: error: ‘struct_processus’ has no member named +‘s_liste_variables’ + + +Traiter SIGTERM +RUN +Ajouter MULTICAST (pour les sockets) +Rajouter le test des dépassements pour INCR et DECR -SPARC:ROUTINE -<< - .level v8 - - // Arguments d'entrée : --> fonctionne pour INT, REL, CPL, CHN - label1: sethi $g1,$hi(12524) +4.1 -> nouvelle gestion des variables - call next // fournit le prochain élément de la liste - -$g1 contient la base de la pile - La question est : comment charger des objets ? - - .pull $l0 ->> +Ajouter TeXmacs +Ajouter giac$fonction Dessiner les niveaux sur les graphes { "main" { "default" } { "automatic" 10 } } axes redraw @@ -51,29 +82,55 @@ Ne fonctionne pas... // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction // peut avoir plusieurs interfaces. -ROUTINE - INTERFACE fonction - ALTERN - integer - real matrix - integer/real/complex vector - table - list - RESULT - type - END - END -REQUIRES -PROVIDES -CONTAINS +FONCTION << + INTERFACE + ALTERN + RESULT + REQUIRES + END + END >> -ROUTINE +fonction + INTERFACE + generic + integer scalar + real matrix + complex vector + table + list + binary + name + string + algebraic + expression + file + socket + library + process + sql + mutex + semaphore + CONSTRAINED + 4 pick size 6 pick size same + RESULT + type + END + + INTERFACE + integer + real matrix + integer/real/complex vector + table + list + RESULT + type + END +REQUIRES + variables globales ou définitions +PROVIDES << - -> I - << - >> >> Traiter les expressions et les noms dans les fichiers. Rajouter un @@ -98,7 +155,7 @@ Pseudo inverse dgelss, zgelss Tables dans interface_tex -Fichiers à accès direct -> entretenir une table en mémoire +Fichiers à accès direct -> entretenir une table en mémoire (hsearch()) Les enregistrements sont de la forme : [Position enregistrement suivant][enregistrement] ADDNODE @@ -106,11 +163,22 @@ DELNODE { arguments } << programme >> << interruption >> SUBMIT arg1 ... argn n << programme >> << interruption >> SUBMIT -n BATCH (lance N threads simultanés en boucle) Arrêt lorsque DELNODE est -appelé du noeud maître + +rpl -b (batch) 32 (nombre de threads) FOREIGN (pour les variables) +Côté esclave +foreign -> X Y Z << >> +FVARLOCK +FVARUNLOCK + +Côté maître +foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave) + +FOREIGN permet à un esclave d'accéder à une variable partagée +du maître. + ADDNOTE envoie les variables de niveau 0 au noeud client. SUBMIT envoie l'adresse de création des variables 'foreign' au client // Maître @@ -146,8 +214,6 @@ probablement identique dans ton cas - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties - wcs*() qui remplace les fonctions en str*() -FLOW (utilise en lecture FORMAT) - Vérifier la cohérence des arguments de OPEN TO DO