File:  [local] / rpl / LIMITATIONS
Revision 1.54: download - view: text, annotated - select for diffs - revision graph
Mon Oct 10 10:58:09 2011 UTC (12 years, 5 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Toute une série de patches pour OS/2 et eComStation.

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

CVSweb interface <joel.bertrand@systella.fr>