File:  [local] / rpl / LIMITATIONS
Revision 1.1: download - view: text, annotated - select for diffs - revision graph
Tue Jan 26 15:22:44 2010 UTC (14 years, 3 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Initial revision

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

CVSweb interface <joel.bertrand@systella.fr>