File:  [local] / rpl / LIMITATIONS
Revision 1.13: download - view: text, annotated - select for diffs - revision graph
Wed Apr 7 07:16:10 2010 UTC (14 years ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Point de sauvegarde avant rajout des fonctions implicit none et implicit all.

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

CVSweb interface <joel.bertrand@systella.fr>