File:
[local] /
rpl /
LIMITATIONS
Revision
1.40:
download - view:
text,
annotated -
select for diffs -
revision graph
Tue Jun 21 15:26:26 2011 UTC (13 years ago) by
bertrand
Branches:
MAIN
CVS tags:
HEAD
Correction d'une réinitialisation sauvage de la pile des variables par niveau
dans la copie de la structure de description du processus. Cela corrige
la fonction SPAWN qui échouait sur un segmentation fault car la pile des
variables par niveau était vide alors même que l'arbre des variables contenait
bien les variables. Passage à la prerelease 2.
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: Convertir avec le nouveau système de la gestion de la mémoire :
8: - READ FLOW (longueur_effective ligne 2815)
9: rpl/src/'`instructions_w1-conv.c
10: instructions_w1-conv.c: In function ‘librpl_instruction_write’:
11: instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this
12: function
13: instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this
14: function
15:
16: Traiter SIGTERM
17: RUN
18: Ajouter MULTICAST (pour les sockets)
19: Rajouter le test des dépassements pour INCR et DECR
20:
21: Ajouter TeXmacs
22: Ajouter giac$fonction
23:
24: Dessiner les niveaux sur les graphes
25: { "main" { "default" } { "automatic" 10 } } axes redraw
26: Ne fonctionne pas...
27:
28: // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction
29: // peut avoir plusieurs interfaces.
30: FONCTION
31: <<
32: INTERFACE
33: ALTERN
34: RESULT
35: REQUIRES
36: END
37: END
38: >>
39:
40: fonction
41: INTERFACE
42: generic
43: integer scalar
44: real matrix
45: complex vector
46: table
47: list
48: binary
49: name
50: string
51: algebraic
52: expression
53: file
54: socket
55: library
56: process
57: sql
58: mutex
59: semaphore
60: CONSTRAINED
61: 4 pick size 6 pick size same
62: RESULT
63: type
64: END
65:
66: INTERFACE
67: integer
68: real matrix
69: integer/real/complex vector
70: table
71: list
72: RESULT
73: type
74: END
75: REQUIRES
76: variables globales ou définitions
77: PROVIDES
78: <<
79: >>
80:
81: Traiter les expressions et les noms dans les fichiers. Rajouter un
82: type de format pour les binaires non formatés (LOGICAL)
83:
84: IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes
85: si nécessaire.
86:
87: Prévoir un drapeau pour tester les interfaces (34)
88: -> désarmé : test des interfaces
89: -> armé : on ne teste rien
90:
91: colorspec pour les couleurs des graphiques de gnuplot
92:
93: TRIGGER attaché à un objet (fonction appelée dès la modification de l'objet)
94: -> vérification de contrainte...
95:
96: Decomposition de Hessenberg dgehrd, zgehrd; dorghr, zunghr for computing P
97: dgehd2.f+dgebal.f
98:
99: Pseudo inverse dgelss, zgelss
100:
101: Tables dans interface_tex
102:
103: Fichiers à accès direct -> entretenir une table en mémoire (hsearch())
104: Les enregistrements sont de la forme :
105: [Position enregistrement suivant][enregistrement]
106: ADDNODE
107: DELNODE
108:
109: { arguments } << programme >> << interruption >> SUBMIT
110: arg1 ... argn n << programme >> << interruption >> SUBMIT
111:
112: rpl -b (batch) 32 (nombre de threads)
113:
114: FOREIGN (pour les variables)
115:
116: Côté esclave
117: foreign -> X Y Z << >>
118: FVARLOCK
119: FVARUNLOCK
120:
121: Côté maître
122: foreign -> X Y Z << >> (il faut savoir si on est sur le mêtre ou sur un esclave)
123:
124: FOREIGN permet à un esclave d'accéder à une variable partagée
125: du maître.
126:
127: ADDNOTE envoie les variables de niveau 0 au noeud client.
128: SUBMIT envoie l'adresse de création des variables 'foreign' au client
129: // Maître
130: << foreign 1 -> X
131: <<
132: << foreign -> X << 'X' incr >> >> << >> submit
133: >>
134: >>
135:
136: ================================================================================
137:
138: Compilation -> faire un exécutable qui appelle rpl par rpl -S
139:
140: Verification des erreurs mémoire dans le cas d'erreur avant l'appel au
141: séquenceur dans rpl.c
142:
143: Coller un fichier ~/.rpl qui contient les valeurs par défaut des drapeaux
144:
145: 'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table.
146: Si a est une liste ou une table : une seule dimension possible !
147:
148: [[ 1 2 ]]3 est valide !
149:
150: Evaluation symbolique des fonction ?
151:
152: SQL sur des données binaires
153:
154: La manière standard de faire est d'utiliser des wchar_t pour représenter les
155: caractères (à distinguer des bytes).
156: Il y a plein de choses dans la bibliothèque standard :
157: - mbtowc et compagnie, et aussi mbrtowc et compagnie, une variante
158: probablement identique dans ton cas
159: - fgetwc, fputwc, fwprintf etc. pour les entrées-sorties
160: - wcs*() qui remplace les fonctions en str*()
161:
162: Vérifier la cohérence des arguments de OPEN
163:
164: TO DO
165: File support : SEEK, SUPPRESS, REWRITE
166:
167: Mettre des tableaux dans les formats binaires
168:
169: Fichier en accès direct -> 12 {} puis entretenir un fichier d'index.
170: Fichiers flow
171:
172: SLOPEFIELD
173:
174: Simplification des expressions : convertir la notation polonaise en
175: arbre.
176:
177: Problème d'indentation de
178: select
179: case then end <- sur la même ligne
CVSweb interface <joel.bertrand@systella.fr>