version 1.102, 2013/03/04 13:00:26
|
version 1.188, 2017/06/29 14:54:42
|
Line 1
|
Line 1
|
RESTRICTIONS |
RESTRICTIONS |
Only formatted and flow files are supported. |
|
|
|
Mettre un sémaphore pour sem_wait_SysV() (post dans le gestionnaire de signaux, |
attention : types EXT |
transformer le semop en non bloquant). |
si erreur dans recherche_type, rechercher les fonctions |
|
__type_new() dans les bibliothèques en balayant |
|
(*s_etat_processus).s_bibliotheques. |
|
|
Utiliser Frama-c + why + alt-argo pour rechercher les erreurs. |
([]) -> ensemble |
|
(/ /) -> polynôme |
|
|
|
Rajouter une option -l pour charger des bibliothèques pour la compilation. |
|
Elles sont déchargées juste après. |
|
|
BUG : |
TOKENIZE ne fonctionne pas avec des chaînes qui comportent un \t. |
toto |
Idem pour des arguments contenant des parenthèses. |
<< |
-> normal, les tokens doivent avoir un sens en RPL/2. |
// truc qui fait une erreur |
|
>> |
openmp ? |
|
|
|
rpl_arguments rend rplexternals.h non réentrant. |
|
|
|
Rajouter un type pour les entier, réels et complexes longs |
|
123~ -> entier long INL |
|
123_ |
|
123.34E2_53 |
|
|
|
123.34E2~53 -> flottant long (avec sa précision) RLL |
|
(123.42E~253, 14~) -> complexe long CXL |
|
|
|
Mettre un allocateur dans lib$motif |
|
(tableau avec une liste chaînée des éléments disponibles, si liste vide, on |
|
réalloue et on maintient la liste triée.) |
|
|
|
Vérifier les __CATCH_SYSTEM_ERROR__ dans rplexternals.h |
|
|
|
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. |
|
|
|
|
|
{ 'source' 'deplacement' 'origine' } record |
|
-> création d'un type 'record' |
|
Record { 'source' 'deplacement' 'origine' } |
|
|
|
{ 'nom' } record 'structure' sto |
|
L'évaluation de structure crée une nouvelle structure <[]> contenant un pointeur |
|
vers le type 'record' (arbre). |
|
|
|
Accès : structure 'nom' get |
|
|
{ } forall |
Mettre l'indicateur de debug dans une pile pour ne pas debugguer les fonctions |
'toto' eval |
appelées. |
next |
|
|
|
EMSGSIZE dans les send() ! |
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. |
|
|
|
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*(*)" ]> ]> } |
|
|
|
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)) |
À FAIRE : SOCKET DE TYPE FLOW (LENGTH*(*) ET LENGTH*(N)) |
SOCKET NON FORMATÉS |
|
|
|
Pour OpenVMS : |
Ajouter une évaluation des listes. |
Trouver les includes pour : |
|
syslog.h |
|
sys/select.h |
|
sys/un.h |
|
regex.h |
|
termios.h |
|
|
|
Ajouter une évaluation dans GET et PUT 'X' { I } get |
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 |
Ajouter STOSIG CLRSIG SIGLOCK SIGUNLOCK SIGQUEUE ISIG WFSIG RCLSIG SIGSTATUS |
Mettre un masque des signaux dans structure_processus et les |
Mettre un masque des signaux dans structure_processus et les |
Line 39 avec un trylock()).
|
Line 85 avec un trylock()).
|
|
|
rplss signal processus |
rplss signal processus |
|
|
Rajouter le format dans formateur_flux() (pour les fichiers de type flow). |
|
|
|
Économisons notre mépris eut égard au nombre de nécessiteux. |
Économisons notre mépris eut égard au nombre de nécessiteux. |
Chateaubriand. |
Chateaubriand. |
|
|
Translitération des fichiers (avec un pointeur sur la localisation du fichier |
Translitération des fichiers (avec un pointeur sur la localisation du fichier |
dans la structure du fichier). |
dans la structure du fichier). |
|
|
|
Traiter BACKSPACE pour les fichiers non formatés. |
Fichiers non formatés : restent à coder pour les écritures : |
Fichiers non formatés : restent à coder pour les écritures : |
* 0000 XXXX Binaire sur XXXX octets |
/ * 0010 00 00 vecteur integer*1 (dimensions integer*1) |
* 0010 00 00 vecteur integer*1 (dimensions integer*1) |
/ * 0010 01 00 vecteur integer*1 (dimensions integer*2) |
* 0010 01 00 vecteur integer*1 (dimensions integer*2) |
/ * 0010 10 00 vecteur integer*1 (dimensions integer*4) |
* 0010 10 00 vecteur integer*1 (dimensions integer*4) |
/ * 0010 11 00 vecteur integer*1 (dimensions integer*8) |
* 0010 11 00 vecteur integer*1 (dimensions integer*8) |
/ * 0010 00 01 vecteur integer*2 (dimensions integer*1) |
* 0010 00 01 vecteur integer*2 (dimensions integer*1) |
/ * 0010 01 01 vecteur integer*2 (dimensions integer*2) |
* 0010 01 01 vecteur integer*2 (dimensions integer*2) |
/ * 0010 10 01 vecteur integer*2 (dimensions integer*4) |
* 0010 10 01 vecteur integer*2 (dimensions integer*4) |
/ * 0010 11 01 vecteur integer*2 (dimensions integer*8) |
* 0010 11 01 vecteur integer*2 (dimensions integer*8) |
/ * 0010 00 10 vecteur integer*4 (dimensions integer*1) |
* 0010 00 10 vecteur integer*4 (dimensions integer*1) |
/ * 0010 01 10 vecteur integer*4 (dimensions integer*2) |
* 0010 01 10 vecteur integer*4 (dimensions integer*2) |
/ * 0010 10 10 vecteur integer*4 (dimensions integer*4) |
* 0010 10 10 vecteur integer*4 (dimensions integer*4) |
/ * 0010 11 10 vecteur integer*4 (dimensions integer*8) |
* 0010 11 10 vecteur integer*4 (dimensions integer*8) |
/ * 0010 00 11 vecteur integer*8 (dimensions integer*1) |
* 0010 00 11 vecteur integer*8 (dimensions integer*1) |
/ * 0010 01 11 vecteur integer*8 (dimensions integer*2) |
* 0010 01 11 vecteur integer*8 (dimensions integer*2) |
/ * 0010 10 11 vecteur integer*8 (dimensions integer*4) |
* 0010 10 11 vecteur integer*8 (dimensions integer*4) |
/ * 0010 11 11 vecteur integer*8 (dimensions integer*8) |
* 0010 11 11 vecteur integer*8 (dimensions integer*8) |
/ * 0011 00 00 matrice integer*1 (dimensions integer*1) |
* 0011 00 00 matrice integer*1 (dimensions integer*1) |
/ * 0011 01 00 matrice integer*1 (dimensions integer*2) |
* 0011 01 00 matrice integer*1 (dimensions integer*2) |
/ * 0011 10 00 matrice integer*1 (dimensions integer*4) |
* 0011 10 00 matrice integer*1 (dimensions integer*4) |
/ * 0011 11 00 matrice integer*1 (dimensions integer*8) |
* 0011 11 00 matrice integer*1 (dimensions integer*8) |
/ * 0011 00 01 matrice integer*2 (dimensions integer*1) |
* 0011 00 01 matrice integer*2 (dimensions integer*1) |
/ * 0011 01 01 matrice integer*2 (dimensions integer*2) |
* 0011 01 01 matrice integer*2 (dimensions integer*2) |
/ * 0011 10 01 matrice integer*2 (dimensions integer*4) |
* 0011 10 01 matrice integer*2 (dimensions integer*4) |
/ * 0011 11 01 matrice integer*2 (dimensions integer*8) |
* 0011 11 01 matrice integer*2 (dimensions integer*8) |
/ * 0011 00 10 matrice integer*4 (dimensions integer*1) |
* 0011 00 10 matrice integer*4 (dimensions integer*1) |
/ * 0011 01 10 matrice integer*4 (dimensions integer*2) |
* 0011 01 10 matrice integer*4 (dimensions integer*2) |
/ * 0011 10 10 matrice integer*4 (dimensions integer*4) |
* 0011 10 10 matrice integer*4 (dimensions integer*4) |
/ * 0011 11 10 matrice integer*4 (dimensions integer*8) |
* 0011 11 10 matrice integer*4 (dimensions integer*8) |
/ * 0011 00 11 matrice integer*8 (dimensions integer*1) |
* 0011 00 11 matrice integer*8 (dimensions integer*1) |
/ * 0011 01 11 matrice integer*8 (dimensions integer*2) |
* 0011 01 11 matrice integer*8 (dimensions integer*2) |
/ * 0011 10 11 matrice integer*8 (dimensions integer*4) |
* 0011 10 11 matrice integer*8 (dimensions integer*4) |
/ * 0011 11 11 matrice integer*8 (dimensions integer*8) |
* 0011 11 11 matrice integer*8 (dimensions integer*8) |
|
* 0101 0 XXX nom de longueur XXX |
|
* 0101 10 LL nom de longueur integer*LL |
|
* 0110 0 XXX expression RPN |
|
* 0110 10 LL |
|
* 0111 0 XXX expression algébrique |
|
* 0111 10 LL |
|
* 1000 0 XXX chaîne de caractères |
|
* 1000 10 LL |
|
* 1001 0 XXX table de longueur XXX |
* 1001 0 XXX table de longueur XXX |
* 1001 10 00 table de longueur integer*1 |
* 1001 10 00 table de longueur integer*1 |
* 1001 10 01 table de longueur integer*2 |
* 1001 10 01 table de longueur integer*2 |
* 1001 10 10 table de longueur integer*4 |
* 1001 10 10 table de longueur integer*4 |
* 1001 10 11 table de longueur integer*8 |
* 1001 10 11 table de longueur integer*8 |
* |
* |
* 1010 00 10 vecteur real*4 (dimensions integer*1) |
/ * 1010 00 10 vecteur real*4 (dimensions integer*1) |
* 1010 01 10 vecteur real*4 (dimensions integer*2) |
/ * 1010 01 10 vecteur real*4 (dimensions integer*2) |
* 1010 10 10 vecteur real*4 (dimensions integer*4) |
/ * 1010 10 10 vecteur real*4 (dimensions integer*4) |
* 1010 11 10 vecteur real*4 (dimensions integer*8) |
/ * 1010 11 10 vecteur real*4 (dimensions integer*8) |
* 1010 00 11 vecteur real*8 (dimensions integer*1) |
/ * 1010 00 11 vecteur real*8 (dimensions integer*1) |
* 1010 01 11 vecteur real*8 (dimensions integer*2) |
/ * 1010 01 11 vecteur real*8 (dimensions integer*2) |
* 1010 10 11 vecteur real*8 (dimensions integer*4) |
/ * 1010 10 11 vecteur real*8 (dimensions integer*4) |
* 1010 11 11 vecteur real*8 (dimensions integer*8) |
/ * 1010 11 11 vecteur real*8 (dimensions integer*8) |
* 1011 00 10 vecteur complex*8 (dimensions integer*1) |
/ * 1011 00 10 vecteur complex*8 (dimensions integer*1) |
* 1011 01 10 vecteur complex*8 (dimensions integer*2) |
/ * 1011 01 10 vecteur complex*8 (dimensions integer*2) |
* 1011 10 10 vecteur complex*8 (dimensions integer*4) |
/ * 1011 10 10 vecteur complex*8 (dimensions integer*4) |
* 1011 11 10 vecteur complex*8 (dimensions integer*8) |
/ * 1011 11 10 vecteur complex*8 (dimensions integer*8) |
* 1011 00 11 vecteur complex*16 (dimensions integer*1) |
/ * 1011 00 11 vecteur complex*16 (dimensions integer*1) |
* 1011 01 11 vecteur complex*16 (dimensions integer*2) |
/ * 1011 01 11 vecteur complex*16 (dimensions integer*2) |
* 1011 10 11 vecteur complex*16 (dimensions integer*4) |
/ * 1011 10 11 vecteur complex*16 (dimensions integer*4) |
* 1011 11 11 vecteur complex*16 (dimensions integer*8) |
/ * 1011 11 11 vecteur complex*16 (dimensions integer*8) |
* 1100 00 10 matrice real*4 (dimensions integer*1) |
/ * 1100 00 10 matrice real*4 (dimensions integer*1) |
* 1100 01 10 matrice real*4 (dimensions integer*2) |
/ * 1100 01 10 matrice real*4 (dimensions integer*2) |
* 1100 10 10 matrice real*4 (dimensions integer*4) |
/ * 1100 10 10 matrice real*4 (dimensions integer*4) |
* 1100 11 10 matrice real*4 (dimensions integer*8) |
/ * 1100 11 10 matrice real*4 (dimensions integer*8) |
* 1100 00 11 matrice real*8 (dimensions integer*1) |
/ * 1100 00 11 matrice real*8 (dimensions integer*1) |
* 1100 01 11 matrice real*8 (dimensions integer*2) |
/ * 1100 01 11 matrice real*8 (dimensions integer*2) |
* 1100 10 11 matrice real*8 (dimensions integer*4) |
/ * 1100 10 11 matrice real*8 (dimensions integer*4) |
* 1100 11 11 matrice real*8 (dimensions integer*8) |
/ * 1100 11 11 matrice real*8 (dimensions integer*8) |
* 1101 00 10 matrice complex*8 (dimensions integer*1) |
/ * 1101 00 10 matrice complex*8 (dimensions integer*1) |
* 1101 01 10 matrice complex*8 (dimensions integer*2) |
/ * 1101 01 10 matrice complex*8 (dimensions integer*2) |
* 1101 10 10 matrice complex*8 (dimensions integer*4) |
/ * 1101 10 10 matrice complex*8 (dimensions integer*4) |
* 1101 11 10 matrice complex*8 (dimensions integer*8) |
/ * 1101 11 10 matrice complex*8 (dimensions integer*8) |
* 1101 00 11 matrice complex*16 (dimensions integer*1) |
/ * 1101 00 11 matrice complex*16 (dimensions integer*1) |
* 1101 01 11 matrice complex*16 (dimensions integer*2) |
/ * 1101 01 11 matrice complex*16 (dimensions integer*2) |
* 1101 10 11 matrice complex*16 (dimensions integer*4) |
/ * 1101 10 11 matrice complex*16 (dimensions integer*4) |
* 1101 11 11 matrice complex*16 (dimensions integer*8) |
/ * 1101 11 11 matrice complex*16 (dimensions integer*8) |
|
|
Utiliser clock() et clock_t pour émuler getrusage sous OS/2 |
Utiliser clock() et clock_t pour émuler getrusage sous OS/2 |
|
|
Line 135 Regarder les d_ep_division_par_zero pour
|
Line 172 Regarder les d_ep_division_par_zero pour
|
->TAG TAG-> DTAG |
->TAG TAG-> DTAG |
->UNIT UNIT-> DUNIT |
->UNIT UNIT-> DUNIT |
|
|
Convertir avec le nouveau système de la gestion de la mémoire : |
|
- READ FLOW (longueur_effective ligne 2815) |
|
rpl/src/'`instructions_w1-conv.c |
|
instructions_w1-conv.c: In function ‘librpl_instruction_write’: |
|
instructions_w1-conv.c:1603: warning: ‘ios’ may be used uninitialized in this |
|
function |
|
instructions_w1-conv.c:431: warning: ‘chaine’ may be used uninitialized in this |
|
function |
|
|
|
Traiter SIGTERM |
Traiter SIGTERM |
RUN |
RUN |
Ajouter MULTICAST (pour les sockets) |
Ajouter MULTICAST (pour les sockets) |
Line 181 provides
|
Line 209 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 |
|
type de format pour les binaires non formatés (LOGICAL) |
|
|
|
IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes |
IMPORT -> installe à chaud de nouvelles définitions. Écrase les anciennes |
si nécessaire. |
si nécessaire. |
|
|
Line 225 Pseudo inverse dgelss, zgelss
|
Line 228 Pseudo inverse dgelss, zgelss
|
|
|
Tables dans interface_tex |
Tables dans interface_tex |
|
|
Fichiers à accès direct -> entretenir une table en mémoire (hsearch()) |
Pour le fonctionnement en cluster |
Les enregistrements sont de la forme : |
|
[Position enregistrement suivant][enregistrement] |
|
ADDNODE |
ADDNODE |
DELNODE |
DELNODE |
|
|
Line 270 Coller un fichier ~/.rpl qui contient le
|
Line 271 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 291 TO DO
|
Line 290 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 |