--- rpl/LIMITATIONS 2013/03/15 11:37:25 1.112 +++ rpl/LIMITATIONS 2014/07/26 09:58:02 1.153 @@ -1,33 +1,60 @@ RESTRICTIONS - Only formatted and flow files are supported. -Corriger toutes les ABS() sur des entiers pour tester le cas -abs(-128) en 8 bits par exemple... +Vérifier les __CATCH_SYSTEM_ERROR__ dans rplexternals.h -Ajouter le format NATIVE pour les expressions et les fonctions. +Ajouter EQV -{ "character*(*)" } +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. -{ <[ 2 { "character*(*)" } ]> } = { <[ "character*(*)" "character*(*)" ]> } -{ <[ 2 { <[ "character*(*)" "standard*(*)" ]> } ]> } = +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. + +Échapper les caractères dans LOGGER + +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*(*)" ]> ]> } +[[1 2 ]]3 valide OK +[[ 1 2]] valide OK +{{ 3 }} invalide OK +{ 5} invalide OK +{5 } valide OK +{5} invalide OK +<[5 ]> valide OK +<[ 5]> invalide OK +<[4 ]>5 valide OK +{{ 5 } } valide OK +{ { 5 }} invalide OK +"lkj"4 valide OK + +{<[{5 } ]>} OK +{<[{5 }]> } KO + +[ [ 4 ]] OK +[[ 4 ]] OK +[[ 4 ] ] OK 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)) -Pour OpenVMS : -Trouver les includes pour : -syslog.h -sys/select.h -sys/un.h -regex.h -termios.h +Ajouter une évaluation des listes. -Ajouter une évaluation dans GET et PUT 'X' { I } get +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 @@ -75,12 +102,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 + * 1001 0 XXX table de longueur XXX * 1001 10 00 table de longueur integer*1 * 1001 10 01 table de longueur integer*2 @@ -262,8 +284,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 @@ -283,9 +303,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