--- rpl/LIMITATIONS 2012/05/21 17:12:10 1.81 +++ rpl/LIMITATIONS 2015/03/25 14:45:07 1.168 @@ -1,12 +1,46 @@ RESTRICTIONS - Only sequential formatted files are supported. -typedef MY_TYPE... -MY_TYPE a = { .flag = true, .value = 123, .stuff = 0.456 }; +Rajouter un type pour les entier, réels et complexes longs +123~ -> entier long INL +123.34E2~53 -> flottant long (avec sa précision) RLL +(123.42E~253, 14~) -> complexe long CXL -Ajouter { } FORALL/NEXT et <[ ]> FORALL/NEXT +Mettre un allocateur dans lib$motif +(tableau avec une liste chaînée des éléments disponibles, si liste vide, on +réalloue et on maintient la liste triée.) -Ajouter une évaluation dans GET et PUT 'X' { I } get +Vérifier les __CATCH_SYSTEM_ERROR__ dans rplexternals.h + +Ne passe pas sur une socket. +{ "STAT" 0 { { } { 5 55 } { 4 51 } { 3 50 } { 3 51 } { 3 50 } { 17 78 } { 4 52 +} { 3 50 } { 3 50 } } # 257B521B6513F2h } +Idem avec une table. + +Réduire le nombre de pipes entre deux processus. +Remonter une erreur de format en cas de lecture sur un fichier ou une socket +formatée ou non formatée. + +Virer mutex_sections_critiques _avant_ l'exécution de AT_EXIT. +Faut-il tuer les processus fils avant l'exécution de AT_EXIT ? +ABORT ne lance pas ATEXIT. + +{ <[ { "character*(*)" } 2 ]> } = { <[ "character*(*)" "character*(*)" ]> } +{ <[ { <[ "character*(*)" "standard*(*)" ]> 2 } ]> } = + { <[ <[ "character*(*)" "standard*(*)" ]> <[ "character*(*)" + "standard*(*)" ]> ]> } + +Utiliser Frama-c + why + alt-argo pour rechercher les erreurs. + +Ajouter la translitération dans l'écriture des fichiers. + +À FAIRE : SOCKET DE TYPE FLOW (LENGTH*(*) ET LENGTH*(N)) + +Ajouter une évaluation des listes. + +3 'D(4)' sto/save +<< 4 D >> L'avant dernier token est un tableau, une liste, un vecteur ou une +matrice. On teste pour savoir si l'élément existe avec un coup d'évaluation() +puis on l'enregistre. Ajouter STOSIG CLRSIG SIGLOCK SIGUNLOCK SIGQUEUE ISIG WFSIG RCLSIG SIGSTATUS Mettre un masque des signaux dans structure_processus et les @@ -15,8 +49,6 @@ avec un trylock()). rplss signal processus -Rajouter le format dans formateur_flux() (pour les fichiers de type flow). - Économisons notre mépris eut égard au nombre de nécessiteux. Chateaubriand. @@ -24,7 +56,6 @@ Translitération des fichiers (avec un p dans la structure du fichier). Fichiers non formatés : restent à coder pour les écritures : - * 0000 XXXX Binaire sur XXXX octets * 0010 00 00 vecteur integer*1 (dimensions integer*1) * 0010 01 00 vecteur integer*1 (dimensions integer*2) * 0010 10 00 vecteur integer*1 (dimensions integer*4) @@ -57,14 +88,7 @@ Fichiers non formatés : restent à code * 0011 01 11 matrice integer*8 (dimensions integer*2) * 0011 10 11 matrice integer*8 (dimensions integer*4) * 0011 11 11 matrice integer*8 (dimensions integer*8) - * 0101 0 XXX nom de longueur XXX - * 0101 10 LL nom de longueur integer*LL - * 0110 0 XXX expression RPN - * 0110 10 LL - * 0111 0 XXX expression algébrique - * 0111 10 LL - * 1000 0 XXX chaîne de caractères - * 1000 10 LL + * 1001 0 XXX table de longueur XXX * 1001 10 00 table de longueur integer*1 * 1001 10 01 table de longueur integer*2 @@ -111,15 +135,6 @@ Regarder les d_ep_division_par_zero pour ->TAG TAG-> DTAG ->UNIT UNIT-> DUNIT -Convertir avec le nouveau système de la gestion de la mémoire : -- 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 - Traiter SIGTERM RUN Ajouter MULTICAST (pour les sockets) @@ -157,31 +172,6 @@ provides << >> -Ajouter un champs dans RPN et ADR pour pointer vers une liste. - -Types : -generic -scalar (integer/real/complex) -vector (integer/real/complex) -matrix (integer/real/complex) -table -list -binary -name -string -algebraic -expression -file -socket -library -process -sql -mutex -semaphore - -Traiter les expressions et les noms dans les fichiers. Rajouter un -type de format pour les binaires non formatés (LOGICAL) - IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes si nécessaire. @@ -201,9 +191,7 @@ Pseudo inverse dgelss, zgelss Tables dans interface_tex -Fichiers à accès direct -> entretenir une table en mémoire (hsearch()) -Les enregistrements sont de la forme : -[Position enregistrement suivant][enregistrement] +Pour le fonctionnement en cluster ADDNODE DELNODE @@ -246,8 +234,6 @@ Coller un fichier ~/.rpl qui contient le 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table. Si a est une liste ou une table : une seule dimension possible ! -[[ 1 2 ]]3 est valide ! - Evaluation symbolique des fonction ? SQL sur des données binaires @@ -267,9 +253,6 @@ TO DO Mettre des tableaux dans les formats binaires -Fichier en accès direct -> 12 {} puis entretenir un fichier d'index. -Fichiers flow - SLOPEFIELD Simplification des expressions : convertir la notation polonaise en