File:  [local] / rpl / LIMITATIONS
Revision 1.6: download - view: text, annotated - select for diffs - revision graph
Thu Feb 11 14:18:15 2010 UTC (14 years, 2 months ago) by bertrand
Branches: MAIN
CVS tags: HEAD
Modification des scripts de compilation pour permettre une
compilation parallèle.

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

CVSweb interface <joel.bertrand@systella.fr>