File:  [local] / rpl / LIMITATIONS
Revision 1.2: download - view: text, annotated - select for diffs - revision graph
Mon Feb 1 13:56:09 2010 UTC (14 years, 1 month ago) by bertrand
Branches: MAIN
CVS tags: HEAD


Correction de typo.

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

CVSweb interface <joel.bertrand@systella.fr>