version 1.38, 2011/06/20 17:34:09
|
version 1.153, 2014/07/26 09:58:02
|
Line 1
|
Line 1
|
RESTRICTIONS |
RESTRICTIONS |
Only sequential formatted files are supported. |
|
|
Vérifier les __CATCH_SYSTEM_ERROR__ dans rplexternals.h |
|
|
|
Ajouter EQV |
|
|
|
Ne passe pas sur une socket. |
|
{ "STAT" 0 { { } { 5 55 } { 4 51 } { 3 50 } { 3 51 } { 3 50 } { 17 78 } { 4 52 |
|
} { 3 50 } { 3 50 } } # 257B521B6513F2h } |
|
Idem avec une table. |
|
|
|
Réduire le nombre de pipes entre deux processus. |
|
Remonter une erreur de format en cas de lecture sur un fichier ou une socket |
|
formatée ou non formatée. |
|
|
|
Échapper les caractères dans LOGGER |
|
|
|
Virer mutex_sections_critiques _avant_ l'exécution de AT_EXIT. |
|
Faut-il tuer les processus fils avant l'exécution de AT_EXIT ? |
|
ABORT ne lance pas ATEXIT. |
|
|
|
{ <[ { "character*(*)" } 2 ]> } = { <[ "character*(*)" "character*(*)" ]> } |
|
{ <[ { <[ "character*(*)" "standard*(*)" ]> 2 } ]> } = |
|
{ <[ <[ "character*(*)" "standard*(*)" ]> <[ "character*(*)" |
|
"standard*(*)" ]> ]> } |
|
|
|
[[1 2 ]]3 valide OK |
|
[[ 1 2]] valide OK |
|
{{ 3 }} invalide OK |
|
{ 5} invalide OK |
|
{5 } valide OK |
|
{5} invalide OK |
|
<[5 ]> valide OK |
|
<[ 5]> invalide OK |
|
<[4 ]>5 valide OK |
|
{{ 5 } } valide OK |
|
{ { 5 }} invalide OK |
|
"lkj"4 valide OK |
|
|
|
{<[{5 } ]>} OK |
|
{<[{5 }]> } KO |
|
|
|
[ [ 4 ]] OK |
|
[[ 4 ]] OK |
|
[[ 4 ] ] OK |
|
Utiliser Frama-c + why + alt-argo pour rechercher les erreurs. |
|
|
|
Ajouter la translitération dans l'écriture des fichiers. |
|
|
|
À FAIRE : SOCKET DE TYPE FLOW (LENGTH*(*) ET LENGTH*(N)) |
|
|
|
Ajouter une évaluation des listes. |
|
|
|
3 'D(4)' sto/save |
|
<< 4 D >> L'avant dernier token est un tableau, une liste, un vecteur ou une |
|
matrice. On teste pour savoir si l'élément existe avec un coup d'évaluation() |
|
puis on l'enregistre. |
|
|
|
Ajouter STOSIG CLRSIG SIGLOCK SIGUNLOCK SIGQUEUE ISIG WFSIG RCLSIG SIGSTATUS |
|
Mettre un masque des signaux dans structure_processus et les |
|
tableaux des signaux en variable globale (buffer circulaire protégé par un mutex |
|
avec un trylock()). |
|
|
|
rplss signal processus |
|
|
Économisons notre mépris eut égard au nombre de nécessiteux. |
Économisons notre mépris eut égard au nombre de nécessiteux. |
Chateaubriand. |
Chateaubriand. |
|
|
Virer les cases vides dans la pile des variables par niveau. |
Translitération des fichiers (avec un pointeur sur la localisation du fichier |
|
dans la structure du fichier). |
|
|
Libérer la mémoire (arbre des variables) à la fin d'un processus et d'un thread |
Fichiers non formatés : restent à coder pour les écritures : |
Convertir avec le nouveau système de la gestion de la mémoire : |
* 0010 00 00 vecteur integer*1 (dimensions integer*1) |
- CLUSR |
* 0010 01 00 vecteur integer*1 (dimensions integer*2) |
- MEM |
* 0010 10 00 vecteur integer*1 (dimensions integer*4) |
- PRUSR |
* 0010 11 00 vecteur integer*1 (dimensions integer*8) |
|
* 0010 00 01 vecteur integer*2 (dimensions integer*1) |
|
* 0010 01 01 vecteur integer*2 (dimensions integer*2) |
|
* 0010 10 01 vecteur integer*2 (dimensions integer*4) |
|
* 0010 11 01 vecteur integer*2 (dimensions integer*8) |
|
* 0010 00 10 vecteur integer*4 (dimensions integer*1) |
|
* 0010 01 10 vecteur integer*4 (dimensions integer*2) |
|
* 0010 10 10 vecteur integer*4 (dimensions integer*4) |
|
* 0010 11 10 vecteur integer*4 (dimensions integer*8) |
|
* 0010 00 11 vecteur integer*8 (dimensions integer*1) |
|
* 0010 01 11 vecteur integer*8 (dimensions integer*2) |
|
* 0010 10 11 vecteur integer*8 (dimensions integer*4) |
|
* 0010 11 11 vecteur integer*8 (dimensions integer*8) |
|
* 0011 00 00 matrice integer*1 (dimensions integer*1) |
|
* 0011 01 00 matrice integer*1 (dimensions integer*2) |
|
* 0011 10 00 matrice integer*1 (dimensions integer*4) |
|
* 0011 11 00 matrice integer*1 (dimensions integer*8) |
|
* 0011 00 01 matrice integer*2 (dimensions integer*1) |
|
* 0011 01 01 matrice integer*2 (dimensions integer*2) |
|
* 0011 10 01 matrice integer*2 (dimensions integer*4) |
|
* 0011 11 01 matrice integer*2 (dimensions integer*8) |
|
* 0011 00 10 matrice integer*4 (dimensions integer*1) |
|
* 0011 01 10 matrice integer*4 (dimensions integer*2) |
|
* 0011 10 10 matrice integer*4 (dimensions integer*4) |
|
* 0011 11 10 matrice integer*4 (dimensions integer*8) |
|
* 0011 00 11 matrice integer*8 (dimensions integer*1) |
|
* 0011 01 11 matrice integer*8 (dimensions integer*2) |
|
* 0011 10 11 matrice integer*8 (dimensions integer*4) |
|
* 0011 11 11 matrice integer*8 (dimensions integer*8) |
|
|
|
* 1001 0 XXX table de longueur XXX |
|
* 1001 10 00 table de longueur integer*1 |
|
* 1001 10 01 table de longueur integer*2 |
|
* 1001 10 10 table de longueur integer*4 |
|
* 1001 10 11 table de longueur integer*8 |
|
* |
|
* 1010 00 10 vecteur real*4 (dimensions integer*1) |
|
* 1010 01 10 vecteur real*4 (dimensions integer*2) |
|
* 1010 10 10 vecteur real*4 (dimensions integer*4) |
|
* 1010 11 10 vecteur real*4 (dimensions integer*8) |
|
* 1010 00 11 vecteur real*8 (dimensions integer*1) |
|
* 1010 01 11 vecteur real*8 (dimensions integer*2) |
|
* 1010 10 11 vecteur real*8 (dimensions integer*4) |
|
* 1010 11 11 vecteur real*8 (dimensions integer*8) |
|
* 1011 00 10 vecteur complex*8 (dimensions integer*1) |
|
* 1011 01 10 vecteur complex*8 (dimensions integer*2) |
|
* 1011 10 10 vecteur complex*8 (dimensions integer*4) |
|
* 1011 11 10 vecteur complex*8 (dimensions integer*8) |
|
* 1011 00 11 vecteur complex*16 (dimensions integer*1) |
|
* 1011 01 11 vecteur complex*16 (dimensions integer*2) |
|
* 1011 10 11 vecteur complex*16 (dimensions integer*4) |
|
* 1011 11 11 vecteur complex*16 (dimensions integer*8) |
|
* 1100 00 10 matrice real*4 (dimensions integer*1) |
|
* 1100 01 10 matrice real*4 (dimensions integer*2) |
|
* 1100 10 10 matrice real*4 (dimensions integer*4) |
|
* 1100 11 10 matrice real*4 (dimensions integer*8) |
|
* 1100 00 11 matrice real*8 (dimensions integer*1) |
|
* 1100 01 11 matrice real*8 (dimensions integer*2) |
|
* 1100 10 11 matrice real*8 (dimensions integer*4) |
|
* 1100 11 11 matrice real*8 (dimensions integer*8) |
|
* 1101 00 10 matrice complex*8 (dimensions integer*1) |
|
* 1101 01 10 matrice complex*8 (dimensions integer*2) |
|
* 1101 10 10 matrice complex*8 (dimensions integer*4) |
|
* 1101 11 10 matrice complex*8 (dimensions integer*8) |
|
* 1101 00 11 matrice complex*16 (dimensions integer*1) |
|
* 1101 01 11 matrice complex*16 (dimensions integer*2) |
|
* 1101 10 11 matrice complex*16 (dimensions integer*4) |
|
* 1101 11 11 matrice complex*16 (dimensions integer*8) |
|
|
|
Utiliser clock() et clock_t pour émuler getrusage sous OS/2 |
|
|
|
Regarder les d_ep_division_par_zero pour coller un undef à la place. |
|
|
|
->TAG TAG-> DTAG |
|
->UNIT UNIT-> DUNIT |
|
|
|
Convertir avec le nouveau système de la gestion de la mémoire : |
- READ FLOW (longueur_effective ligne 2815) |
- READ FLOW (longueur_effective ligne 2815) |
rpl/src/'`instructions_w1-conv.c |
rpl/src/'`instructions_w1-conv.c |
instructions_w1-conv.c: In function ‘librpl_instruction_write’: |
instructions_w1-conv.c: In function ‘librpl_instruction_write’: |
Line 20 function
|
Line 158 function
|
instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this |
instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this |
function |
function |
|
|
interruptions-conv.c: In function ‘librpl_liberation_threads’: |
|
interruptions-conv.c:806: error: ‘struct_processus’ has no member named |
|
‘nombre_variables’ |
|
interruptions-conv.c:809: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
interruptions-conv.c:811: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
interruptions-conv.c:815: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
interruptions-conv.c:818: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
interruptions-conv.c:821: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
interruptions-conv.c:824: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
|
|
|
|
optimisation-conv.c: In function ‘librpl_sequenceur_optimise’: |
|
optimisation-conv.c:75: error: ‘struct_processus’ has no member named |
|
‘nombre_variables’ |
|
optimisation-conv.c:77: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
optimisation-conv.c:82: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
optimisation-conv.c:133: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
optimisation-conv.c:136: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
optimisation-conv.c:151: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
optimisation-conv.c:216: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
optimisation-conv.c:234: error: ‘struct_processus’ has no member named |
|
‘s_liste_variables’ |
|
|
|
|
|
Traiter SIGTERM |
Traiter SIGTERM |
RUN |
RUN |
Ajouter MULTICAST (pour les sockets) |
Ajouter MULTICAST (pour les sockets) |
Rajouter le test des dépassements pour INCR et DECR |
Rajouter le test des dépassements pour INCR et DECR |
|
|
4.1 -> nouvelle gestion des variables |
|
|
|
Ajouter TeXmacs |
Ajouter TeXmacs |
Ajouter giac$fonction |
|
|
|
Dessiner les niveaux sur les graphes |
Dessiner les niveaux sur les graphes |
{ "main" { "default" } { "automatic" 10 } } axes redraw |
{ "main" { "default" } { "automatic" 10 } } axes redraw |
Ne fonctionne pas... |
Ne fonctionne pas... |
|
|
|
-> I:integer scalar, J:integer scalar << >> |
|
|
// Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction |
// Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction |
// peut avoir plusieurs interfaces. |
// peut avoir plusieurs interfaces. |
FONCTION |
|
<< |
|
INTERFACE |
|
ALTERN |
|
RESULT |
|
REQUIRES |
|
END |
|
END |
|
>> |
|
|
|
fonction |
constrained FONCTION |
INTERFACE |
interface STANDARD |
generic |
integer scalar, generic, real scalar |
integer scalar |
returns |
real matrix |
real scalar |
complex vector |
or |
table |
integer scalar |
list |
requires |
binary |
VARIABLE FONCTION2 |
name |
end |
string |
|
algebraic |
interface SPECIFIQUE |
expression |
scalar, ... |
file |
returns |
socket |
scalar |
library |
requires |
process |
end |
sql |
provides |
mutex |
|
semaphore |
|
CONSTRAINED |
|
4 pick size 6 pick size same |
|
RESULT |
|
type |
|
END |
|
|
|
INTERFACE |
|
integer |
|
real matrix |
|
integer/real/complex vector |
|
table |
|
list |
|
RESULT |
|
type |
|
END |
|
REQUIRES |
|
variables globales ou définitions |
|
PROVIDES |
|
<< |
<< |
>> |
>> |
|
|
|
Ajouter un champs dans RPN et ADR pour pointer vers une liste. |
|
|
|
Types : |
|
generic |
|
scalar (integer/real/complex) |
|
vector (integer/real/complex) |
|
matrix (integer/real/complex) |
|
table |
|
list |
|
binary |
|
name |
|
string |
|
algebraic |
|
expression |
|
file |
|
socket |
|
library |
|
process |
|
sql |
|
mutex |
|
semaphore |
|
|
Traiter les expressions et les noms dans les fichiers. Rajouter un |
Traiter les expressions et les noms dans les fichiers. Rajouter un |
type de format pour les binaires non formatés (LOGICAL) |
type de format pour les binaires non formatés (LOGICAL) |
|
|
Line 190 Coller un fichier ~/.rpl qui contient le
|
Line 284 Coller un fichier ~/.rpl qui contient le
|
'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table. |
'a(3)+a(3,4)' ne doit pas provoquer d'erreur si a est du type liste ou table. |
Si a est une liste ou une table : une seule dimension possible ! |
Si a est une liste ou une table : une seule dimension possible ! |
|
|
[[ 1 2 ]]3 est valide ! |
|
|
|
Evaluation symbolique des fonction ? |
Evaluation symbolique des fonction ? |
|
|
SQL sur des données binaires |
SQL sur des données binaires |
Line 211 TO DO
|
Line 303 TO DO
|
|
|
Mettre des tableaux dans les formats binaires |
Mettre des tableaux dans les formats binaires |
|
|
Fichier en accès direct -> 12 {} puis entretenir un fichier d'index. |
|
Fichiers flow |
|
|
|
SLOPEFIELD |
SLOPEFIELD |
|
|
Simplification des expressions : convertir la notation polonaise en |
Simplification des expressions : convertir la notation polonaise en |