File:  [local] / rpl / LIMITATIONS
Revision 1.15: download - view: text, annotated - select for diffs - revision graph
Sat Apr 17 18:57:32 2010 UTC (14 years ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Ajout du support pour MacOS X et Windows/Cygwin

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

CVSweb interface <joel.bertrand@systella.fr>