File:  [local] / rpl / LIMITATIONS
Revision 1.7: download - view: text, annotated - select for diffs - revision graph
Sat Feb 13 14:13:35 2010 UTC (14 years, 2 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Commit avant d'attaquer OpenVMS

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

CVSweb interface <joel.bertrand@systella.fr>