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