Diff for /rpl/LIMITATIONS between versions 1.95 and 1.164

version 1.95, 2012/12/14 14:20:32 version 1.164, 2015/02/01 09:47:18
Line 1 Line 1
 RESTRICTIONS  RESTRICTIONS
     Only formatted and flow files are supported.  
   
 recherche_variable_partagee doit positionner le mutex !  1 -> Y 'Z' ne renvoie pas 'nom implicite indéfini'
 Cette fonction verrouille l'objet qu'il a trouvé.  
 Rajouter une fonction de libération des variables partagées.  
 Vérifier que liste_variables() renvoie bien les variables partagées. Idem pour  
 nombre_variables  
   
 vérifier la pérsence de yacc dans configure.  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.)
   
 Utiliser Frama-c + why + alt-argo pour rechercher les erreurs.  Mettre un allocateur pour les chaînes. Ne pas oublier de le modifier aussi
   dans rplexternals.h
   
   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.
   
   É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.
   
 EMSGSIZE dans les send() !  { <[ { "character*(*)" } 2 ]> } = { <[ "character*(*)" "character*(*)" ]> }
   { <[ { <[ "character*(*)" "standard*(*)" ]> 2 } ]> } =
           { <[ <[ "character*(*)" "standard*(*)" ]> <[ "character*(*)"
           "standard*(*)" ]> ]> }
   
 recherche_variable_partagee() doit renvoyer l'objet 'variable_partagee'  Utiliser Frama-c + why + alt-argo pour rechercher les erreurs.
 en verrouillant le mutex associé  
 ou un NULL en cas d'erreur car le verrou est maintenant dans la liste  Ajouter la translitération dans l'écriture des fichiers.
 chaînée et non sur le tableau.  
 Le balayage de la liste est protégé par un mutex global sur la liste  
 et l'accès à une variable par un mutex propre à cette variable.  
   
 À FAIRE : SOCKET DE TYPE FLOW (LENGTH*(*) ET LENGTH*(N))  À FAIRE : SOCKET DE TYPE FLOW (LENGTH*(*) ET LENGTH*(N))
 SOCKET NON FORMATÉS  
   
 Pour OpenVMS :  Ajouter une évaluation des listes.
 Trouver les includes pour :  
 syslog.h  
 sys/select.h  
 sys/un.h  
 regex.h  
 termios.h  
   
 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  Ajouter STOSIG CLRSIG SIGLOCK SIGUNLOCK SIGQUEUE ISIG WFSIG RCLSIG SIGSTATUS
 Mettre un masque des signaux dans structure_processus et les  Mettre un masque des signaux dans structure_processus et les
Line 40  avec un trylock()). Line 51  avec un trylock()).
   
 rplss signal processus  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.  Économisons notre mépris eut égard au nombre de nécessiteux.
 Chateaubriand.  Chateaubriand.
   
Line 49  Translitération des fichiers (avec un p Line 58  Translitération des fichiers (avec un p
 dans la structure du fichier).  dans la structure du fichier).
   
 Fichiers non formatés : restent à coder pour les écritures :  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 00 00               vecteur integer*1 (dimensions integer*1)
          * 0010 01 00               vecteur integer*1 (dimensions integer*2)           * 0010 01 00               vecteur integer*1 (dimensions integer*2)
          * 0010 10 00               vecteur integer*1 (dimensions integer*4)           * 0010 10 00               vecteur integer*1 (dimensions integer*4)
Line 82  Fichiers non formatés : restent à code Line 90  Fichiers non formatés : restent à code
          * 0011 01 11               matrice integer*8 (dimensions integer*2)           * 0011 01 11               matrice integer*8 (dimensions integer*2)
          * 0011 10 11               matrice integer*8 (dimensions integer*4)           * 0011 10 11               matrice integer*8 (dimensions integer*4)
          * 0011 11 11               matrice integer*8 (dimensions integer*8)           * 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 0 XXX               table de longueur XXX
          * 1001 10 00               table de longueur integer*1           * 1001 10 00               table de longueur integer*1
          * 1001 10 01               table de longueur integer*2           * 1001 10 01               table de longueur integer*2
Line 271  Coller un fichier ~/.rpl qui contient le Line 272  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.  '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 !  Si a est une liste ou une table : une seule dimension possible !
   
 [[ 1 2 ]]3 est valide !  
   
 Evaluation symbolique des fonction ?  Evaluation symbolique des fonction ?
   
 SQL sur des données binaires  SQL sur des données binaires
Line 292  TO DO Line 291  TO DO
   
 Mettre des tableaux dans les formats binaires  Mettre des tableaux dans les formats binaires
   
 Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.  
 Fichiers flow  
   
 SLOPEFIELD  SLOPEFIELD
   
 Simplification des expressions : convertir la notation polonaise en  Simplification des expressions : convertir la notation polonaise en

Removed from v.1.95  
changed lines
  Added in v.1.164


CVSweb interface <joel.bertrand@systella.fr>