File:  [local] / rpl / LIMITATIONS
Revision 1.4: download - view: text, annotated - select for diffs - revision graph
Wed Feb 10 08:09:29 2010 UTC (14 years, 2 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Modification du traitement des séquences d'échappement dans les chaînes
de caractères.

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

CVSweb interface <joel.bertrand@systella.fr>