File:  [local] / rpl / LIMITATIONS
Revision 1.49: download - view: text, annotated - select for diffs - revision graph
Wed Sep 14 14:34:25 2011 UTC (12 years, 7 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Première série de patches pour rendre la gestion des signaux propre.

    1: RESTRICTIONS
    2:     Only sequential formatted files are supported.
    3: 
    4: --with-mysql
    5: configure:7433: gcc -c -g -O2 -m32 -O3 -Iyes/include  conftest.c >&5
    6: conftest.c:13:19: fatal error: mysql.h: No such file or directory
    7: 
    8: Replacer tous les signaux par un gestionnaire de signal synchrone.
    9: Vecteur en mémoire partagée (un par processus) contenant
   10: n structure { mutex pointeur_lecture pointeur_ecriture [ signal pid_source ] }
   11: 
   12: Économisons notre mépris eut égard au nombre de nécessiteux.
   13: Chateaubriand.
   14: 
   15: Regarder les d_ep_division_par_zero pour coller un undef à la place.
   16: 
   17: Convertir avec le nouveau système de la gestion de la mémoire :
   18: - READ FLOW (longueur_effective ligne 2815)
   19: rpl/src/'`instructions_w1-conv.c
   20: instructions_w1-conv.c: In function ‘librpl_instruction_write’:
   21: instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this
   22: function
   23: instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this
   24: function
   25: 
   26: Traiter SIGTERM
   27: RUN
   28: Ajouter MULTICAST (pour les sockets)
   29: Rajouter le test des dépassements pour INCR et DECR
   30: 
   31: Ajouter TeXmacs
   32: 
   33: Dessiner les niveaux sur les graphes
   34: { "main" { "default" } { "automatic" 10 } } axes redraw 
   35: Ne fonctionne pas...
   36: 
   37: -> I:integer scalar, J:integer scalar << >>
   38: 
   39: // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction
   40: // peut avoir plusieurs interfaces.
   41: 
   42: constrained FONCTION
   43:     interface STANDARD
   44:         integer scalar, generic, real scalar
   45:     returns
   46:         real scalar
   47:     or
   48:         integer scalar
   49:     requires
   50:         VARIABLE FONCTION2
   51:     end
   52: 
   53:     interface SPECIFIQUE
   54:         scalar, ...
   55:     returns
   56:         scalar
   57:     requires
   58:     end
   59: provides
   60: <<
   61: >>
   62: 
   63: Ajouter un champs dans RPN et ADR pour pointer vers une liste.
   64: 
   65: Types :
   66: generic
   67: scalar (integer/real/complex)
   68: vector (integer/real/complex)
   69: matrix (integer/real/complex)
   70: table
   71: list
   72: binary
   73: name
   74: string
   75: algebraic
   76: expression
   77: file
   78: socket
   79: library
   80: process
   81: sql
   82: mutex
   83: semaphore
   84: 
   85: Traiter les expressions et les noms dans les fichiers. Rajouter un
   86: type de format pour les binaires non formatés (LOGICAL)
   87: 
   88: IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes
   89: si nécessaire.
   90: 
   91: Prévoir un drapeau pour tester les interfaces (34)
   92: -> désarmé : test des interfaces
   93: -> armé : on ne teste rien
   94: 
   95: colorspec pour les couleurs des graphiques de gnuplot
   96: 
   97: TRIGGER attaché à un objet (fonction appelée dès la modification de l'objet)
   98: -> vérification de contrainte...
   99: 
  100: Decomposition de Hessenberg dgehrd, zgehrd; dorghr, zunghr for computing P
  101: dgehd2.f+dgebal.f
  102: 
  103: Pseudo inverse dgelss, zgelss
  104: 
  105: Tables dans interface_tex
  106: 
  107: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
  108: Les enregistrements sont de la forme :
  109: [Position enregistrement suivant][enregistrement]
  110: ADDNODE
  111: DELNODE
  112: 
  113: { arguments } << programme >> << interruption >> SUBMIT
  114: arg1 ... argn n << programme >> << interruption >> SUBMIT
  115: 
  116: rpl -b (batch) 32 (nombre de threads)
  117: 
  118: FOREIGN (pour les variables)
  119: 
  120: Côté esclave
  121: foreign -> X Y Z << >>
  122: FVARLOCK
  123: FVARUNLOCK
  124: 
  125: Côté maître
  126: foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave)
  127: 
  128: FOREIGN permet à un esclave d'accéder à une variable partagée
  129: du maître.
  130: 
  131: ADDNOTE envoie les variables de niveau 0 au noeud client.
  132: SUBMIT envoie l'adresse de création des variables 'foreign' au client
  133: // Maître
  134: << foreign 1 -> X
  135:     <<
  136:         << foreign -> X << 'X' incr >> >> << >> submit
  137:     >>
  138: >>
  139: 
  140: ================================================================================
  141: 
  142: Compilation -> faire un exécutable qui appelle rpl par rpl -S
  143: 
  144: Verification des erreurs mémoire dans le cas d'erreur avant l'appel au
  145: séquenceur dans rpl.c
  146: 
  147: Coller un fichier ~/.rpl qui contient les valeurs par défaut des drapeaux
  148: 
  149: 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table.
  150: Si a est une liste ou une table : une seule dimension possible !
  151: 
  152: [[ 1 2 ]]3 est valide !
  153: 
  154: Evaluation symbolique des fonction ?
  155: 
  156: SQL sur des données binaires
  157: 
  158: La manière standard de faire est d'utiliser des wchar_t pour représenter les
  159: caractères (à distinguer des bytes).
  160: Il y a plein de choses dans la bibliothèque standard :
  161: - mbtowc et compagnie, et aussi mbrtowc et compagnie, une variante
  162: probablement identique dans ton cas
  163: - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties
  164: - wcs*() qui remplace les fonctions en str*()
  165: 
  166: Vérifier la cohérence des arguments de OPEN
  167: 
  168: TO DO
  169:     File support : SEEK, SUPPRESS, REWRITE
  170: 
  171: Mettre des tableaux dans les formats binaires
  172: 
  173: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
  174: Fichiers flow
  175: 
  176: SLOPEFIELD
  177: 
  178: Simplification des expressions : convertir la notation polonaise en
  179: arbre.
  180: 
  181: Problème d'indentation de
  182: select
  183:     case then end <- sur la même ligne

CVSweb interface <joel.bertrand@systella.fr>