File:  [local] / rpl / LIMITATIONS
Revision 1.3: download - view: text, annotated - select for diffs - revision graph
Mon Feb 8 19:26:31 2010 UTC (14 years, 2 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Correction d'un problème d'affichage dans le mode STD.

    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: Ajouter un support sqlite.
   14: 
   15: L'assembleur VAX peut lire des listes chaînées
   16: 
   17: Assembleur sparc
   18: 
   19: SPARC:ROUTINE
   20: <<
   21:     .level v8
   22: 
   23:     // Arguments d'entrée : 
   24: -> fonctionne pour INT, REL, CPL, CHN
   25:     label1: sethi $g1,$hi(12524)
   26: 
   27:     call next // fournit le prochain élément de la liste
   28: 
   29: $g1 contient la base de la pile
   30:     La question est : comment charger des objets ?
   31: 
   32:     .pull   $l0
   33: >>
   34: 
   35: Dessiner les niveaux sur les graphes
   36: { "main" { "default" } { "automatic" 10 } } axes redraw 
   37: Ne fonctionne pas...
   38: 
   39: // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction
   40: // peut avoir plusieurs interfaces.
   41: ROUTINE
   42:   INTERFACE fonction
   43:     ALTERN
   44:         integer
   45:         real matrix
   46:         integer/real/complex vector
   47:         table
   48:         list
   49:     RESULT
   50:         type
   51:     END
   52:   END
   53: REQUIRES
   54: PROVIDES
   55: CONTAINS
   56: <<
   57: >>
   58: 
   59: ROUTINE
   60: <<
   61:     -> I
   62:     <<
   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
   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>