File:  [local] / rpl / LIMITATIONS
Revision 1.53: download - view: text, annotated - select for diffs - revision graph
Tue Oct 4 19:32:33 2011 UTC (12 years, 6 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Scripts de configuration.

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

CVSweb interface <joel.bertrand@systella.fr>