File:  [local] / rpl / LIMITATIONS
Revision 1.23: download - view: text, annotated - select for diffs - revision graph
Sun Jun 20 17:06:25 2010 UTC (13 years, 10 months ago) by bertrand
Branches: MAIN
CVS tags: rpl-4_0_16, HEAD
Cohérence

    1: RESTRICTIONS
    2:     Only sequential formatted files are supported.
    3: 
    4: Voir test15.rpl
    5: 
    6: Économisons notre mépris eut égard au nombre de nécessiteux.
    7: Chateaubriand.
    8: 
    9: Mettre les variables dans un arbre avec une liste chaîne des niveaux dans
   10: chaque maillon de la pile système. -> version 4.1
   11: 
   12: Mettre les variables dans un arbre mis à plat :
   13: [ niveau 1 ][ niveau 2,1 ][ niveau 2,5 ][ niveau 3,1 ]...
   14: avec des pointeur relatifs pour pouvoir copier rapidement par un
   15: memcpy() l'ensemble de la structure de description des variables lors
   16: d'un spawn.
   17: 
   18: Empêcher les interruptions ctrlC dans les appels récursifs (evaluation et
   19: sequenceur)
   20: Connexion au terminal de contrôle perdue !
   21: 
   22: Routing library unloaded.
   23: 
   24: +++Erreur : Type d'argument invalide pour la commande SWAP [27630]
   25: 
   26: +++Information : Génération du fichier rpl-core [27630]
   27: +++Erreur : Type d'argument invalide pour la commande GET [27630]
   28: 
   29: +++Erreur : Type d'argument invalide pour la commande >> [27630]
   30: +++Information : Génération du fichier rpl-core [27630]
   31: 
   32: +++Erreur : Type d'argument invalide pour la commande > [27630]
   33: +++Information : Génération du fichier rpl-core [27630]
   34: 
   35: +++Information : Génération du fichier rpl-core [27630]
   36: tchaikovski:[~/rpl/cvs/optimisation] > ./serveur.rpl
   37: 
   38: -> toujours une erreur de type _type d'argument invalide_ !
   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: FONCTION
   47: <<
   48:     INTERFACE
   49:         ALTERN
   50:         RESULT
   51:         REQUIRES
   52:         END
   53:     END
   54: >>
   55: 
   56: fonction
   57:   INTERFACE
   58:     generic
   59:     integer scalar
   60:     real matrix
   61:     complex vector
   62:     table
   63:     list
   64:     binary
   65:     name
   66:     string
   67:     algebraic
   68:     expression
   69:     file
   70:     socket
   71:     library
   72:     process
   73:     sql
   74:     mutex
   75:     semaphore
   76:   CONSTRAINED
   77:     4 pick size 6 pick size same
   78:   RESULT
   79:     type
   80:   END
   81: 
   82:   INTERFACE
   83:     integer
   84:     real matrix
   85:     integer/real/complex vector
   86:     table
   87:     list
   88:   RESULT
   89:     type
   90:   END
   91: REQUIRES
   92:   variables globales ou définitions
   93: PROVIDES
   94: <<
   95: >>
   96: 
   97: Traiter les expressions et les noms dans les fichiers. Rajouter un
   98: type de format pour les binaires non formatés (LOGICAL)
   99: 
  100: IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes
  101: si nécessaire.
  102: 
  103: Prévoir un drapeau pour tester les interfaces (34)
  104: -> désarmé : test des interfaces
  105: -> armé : on ne teste rien
  106: 
  107: colorspec pour les couleurs des graphiques de gnuplot
  108: 
  109: TRIGGER attaché à un objet (fonction appelée dès la modification de l'objet)
  110: -> vérification de contrainte...
  111: 
  112: Decomposition de Hessenberg dgehrd, zgehrd; dorghr, zunghr for computing P
  113: dgehd2.f+dgebal.f
  114: 
  115: Pseudo inverse dgelss, zgelss
  116: 
  117: Tables dans interface_tex
  118: 
  119: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
  120: Les enregistrements sont de la forme :
  121: [Position enregistrement suivant][enregistrement]
  122: ADDNODE
  123: DELNODE
  124: 
  125: { arguments } << programme >> << interruption >> SUBMIT
  126: arg1 ... argn n << programme >> << interruption >> SUBMIT
  127: n BATCH (lance N threads simultanés en boucle) Arrêt lorsque DELNODE est
  128: appelé du noeud maître
  129: 
  130: FOREIGN (pour les variables)
  131: 
  132: FOREIGN permet à un esclave d'accéder à une variable partagée
  133: du maître.
  134: 
  135: ADDNOTE envoie les variables de niveau 0 au noeud client.
  136: SUBMIT envoie l'adresse de création des variables 'foreign' au client
  137: // Maître
  138: << foreign 1 -> X
  139:     <<
  140:         << foreign -> X << 'X' incr >> >> << >> submit
  141:     >>
  142: >>
  143: 
  144: ================================================================================
  145: 
  146: Compilation -> faire un exécutable qui appelle rpl par rpl -S
  147: 
  148: Verification des erreurs mémoire dans le cas d'erreur avant l'appel au
  149: séquenceur dans rpl.c
  150: 
  151: Coller un fichier ~/.rpl qui contient les valeurs par défaut des drapeaux
  152: 
  153: 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table.
  154: Si a est une liste ou une table : une seule dimension possible !
  155: 
  156: [[ 1 2 ]]3 est valide !
  157: 
  158: Evaluation symbolique des fonction ?
  159: 
  160: SQL sur des données binaires
  161: 
  162: La manière standard de faire est d'utiliser des wchar_t pour représenter les
  163: caractères (à distinguer des bytes).
  164: Il y a plein de choses dans la bibliothèque standard :
  165: - mbtowc et compagnie, et aussi mbrtowc et compagnie, une variante
  166: probablement identique dans ton cas
  167: - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties
  168: - wcs*() qui remplace les fonctions en str*()
  169: 
  170: FLOW (utilise en lecture FORMAT)
  171: 
  172: Vérifier la cohérence des arguments de OPEN
  173: 
  174: TO DO
  175:     File support : SEEK, SUPPRESS, REWRITE
  176: 
  177: Mettre des tableaux dans les formats binaires
  178: 
  179: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
  180: Fichiers flow
  181: 
  182: SLOPEFIELD
  183: 
  184: Simplification des expressions : convertir la notation polonaise en
  185: arbre.
  186: 
  187: Problème d'indentation de
  188: select
  189:     case then end <- sur la même ligne

CVSweb interface <joel.bertrand@systella.fr>