File:  [local] / rpl / LIMITATIONS
Revision 1.16: download - view: text, annotated - select for diffs - revision graph
Tue Apr 20 12:49:17 2010 UTC (13 years, 11 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_0_14, HEAD
Correction de fuites mémoire provenant de l'erreur ex_nom_implicite.

    1: RESTRICTIONS
    2:     Only sequential formatted files are supported.
    3: 
    4: Économisons notre mépris eut égard au nombre de nécessiteux.
    5: Chateaubriand.
    6: 
    7: Mettre les variables dans un arbre avec une liste chaîne des niveaux dans
    8: chaque maillon de la pile système. -> version 4.1
    9: 
   10: Dessiner les niveaux sur les graphes
   11: { "main" { "default" } { "automatic" 10 } } axes redraw 
   12: Ne fonctionne pas...
   13: 
   14: // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction
   15: // peut avoir plusieurs interfaces.
   16: FONCTION
   17: <<
   18:     INTERFACE
   19:         ALTERN
   20:         RESULT
   21:         REQUIRES
   22:         END
   23:     END
   24: >>
   25: 
   26: fonction
   27:   INTERFACE
   28:     generic
   29:     integer scalar
   30:     real matrix
   31:     complex vector
   32:     table
   33:     list
   34:     binary
   35:     name
   36:     string
   37:     algebraic
   38:     expression
   39:     file
   40:     socket
   41:     library
   42:     process
   43:     sql
   44:     mutex
   45:     semaphore
   46:   CONSTRAINED
   47:     4 pick size 6 pick size same
   48:   RESULT
   49:     type
   50:   END
   51: 
   52:   INTERFACE
   53:     integer
   54:     real matrix
   55:     integer/real/complex vector
   56:     table
   57:     list
   58:   RESULT
   59:     type
   60:   END
   61: REQUIRES
   62:   variables globales ou définitions
   63: PROVIDES
   64: <<
   65: >>
   66: 
   67: Traiter les expressions et les noms dans les fichiers. Rajouter un
   68: type de format pour les binaires non formatés (LOGICAL)
   69: 
   70: IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes
   71: si nécessaire.
   72: 
   73: Prévoir un drapeau pour tester les interfaces (34)
   74: -> désarmé : test des interfaces
   75: -> armé : on ne teste rien
   76: 
   77: colorspec pour les couleurs des graphiques de gnuplot
   78: 
   79: TRIGGER attaché à un objet (fonction appelée dès la modification de l'objet)
   80: -> vérification de contrainte...
   81: 
   82: Decomposition de Hessenberg dgehrd, zgehrd; dorghr, zunghr for computing P
   83: dgehd2.f+dgebal.f
   84: 
   85: Pseudo inverse dgelss, zgelss
   86: 
   87: Tables dans interface_tex
   88: 
   89: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
   90: Les enregistrements sont de la forme :
   91: [Position enregistrement suivant][enregistrement]
   92: ADDNODE
   93: DELNODE
   94: 
   95: { arguments } << programme >> << interruption >> SUBMIT
   96: arg1 ... argn n << programme >> << interruption >> SUBMIT
   97: n BATCH (lance N threads simultanés en boucle) Arrêt lorsque DELNODE est
   98: appelé du noeud maître
   99: 
  100: FOREIGN (pour les variables)
  101: 
  102: ADDNOTE envoie les variables de niveau 0 au noeud client.
  103: SUBMIT envoie l'adresse de création des variables 'foreign' au client
  104: // Maître
  105: << foreign 1 -> X
  106:     <<
  107:         << foreign -> X << 'X' incr >> >> << >> submit
  108:     >>
  109: >>
  110: 
  111: ================================================================================
  112: 
  113: Compilation -> faire un exécutable qui appelle rpl par rpl -S
  114: 
  115: Verification des erreurs mémoire dans le cas d'erreur avant l'appel au
  116: séquenceur dans rpl.c
  117: 
  118: Coller un fichier ~/.rpl qui contient les valeurs par défaut des drapeaux
  119: 
  120: 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table.
  121: Si a est une liste ou une table : une seule dimension possible !
  122: 
  123: [[ 1 2 ]]3 est valide !
  124: 
  125: Evaluation symbolique des fonction ?
  126: 
  127: SQL sur des données binaires
  128: 
  129: La manière standard de faire est d'utiliser des wchar_t pour représenter les
  130: caractères (à distinguer des bytes).
  131: Il y a plein de choses dans la bibliothèque standard :
  132: - mbtowc et compagnie, et aussi mbrtowc et compagnie, une variante
  133: probablement identique dans ton cas
  134: - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties
  135: - wcs*() qui remplace les fonctions en str*()
  136: 
  137: FLOW (utilise en lecture FORMAT)
  138: 
  139: Vérifier la cohérence des arguments de OPEN
  140: 
  141: TO DO
  142:     File support : SEEK, SUPPRESS, REWRITE
  143: 
  144: Mettre des tableaux dans les formats binaires
  145: 
  146: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
  147: Fichiers flow
  148: 
  149: SLOPEFIELD
  150: 
  151: Simplification des expressions : convertir la notation polonaise en
  152: arbre.
  153: 
  154: Problème d'indentation de
  155: select
  156:     case then end <- sur la même ligne

CVSweb interface <joel.bertrand@systella.fr>