--- rpl/LIMITATIONS 2011/07/22 07:38:00 1.44 +++ rpl/LIMITATIONS 2013/03/27 09:14:50 1.129 @@ -1,9 +1,130 @@ RESTRICTIONS - Only sequential formatted files are supported. + Only formatted and flow files are supported. + +Corriger les dépassements dans NEG. +Mettre le drapeau de debug dans la pile système pour pouvoir sauter +les fonctions appelées lors d'un HALT/CONT. +Réduire le nombre de pipes entre deux processus. + +{ <[ 2 { "character*(*)" } ]> } = { <[ "character*(*)" "character*(*)" ]> } +{ <[ 2 { <[ "character*(*)" "standard*(*)" ]> } ]> } = + { <[ <[ "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)) + +Pour OpenVMS : +Trouver les includes pour : +syslog.h +sys/select.h +sys/un.h +regex.h +termios.h + +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. Chateaubriand. +Translitération des fichiers (avec un pointeur sur la localisation du fichier +dans la structure du fichier). + +Fichiers non formatés : restent à coder pour les écritures : + * 0010 00 00 vecteur integer*1 (dimensions integer*1) + * 0010 01 00 vecteur integer*1 (dimensions integer*2) + * 0010 10 00 vecteur integer*1 (dimensions integer*4) + * 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) rpl/src/'`instructions_w1-conv.c @@ -24,38 +145,32 @@ Dessiner les niveaux sur les graphes { "main" { "default" } { "automatic" 10 } } axes redraw Ne fonctionne pas... +-> I:integer scalar, J:integer scalar << >> + // Teste les interfaces d'entrée et de sortie d'une fonction. Une fonction // peut avoir plusieurs interfaces. -FONCTION -constrained - interface - { integer scalar } +constrained FONCTION + interface STANDARD + integer scalar, generic, real scalar returns - { real scalar } - { integer scalar } + real scalar + or + integer scalar requires - { VARIABLE FONCTION2 } + VARIABLE FONCTION2 end - interface + interface SPECIFIQUE + scalar, ... returns + scalar requires end provides << >> -FONCTION -<< - { - <[ { input } { { output1 } { output2 } } { requires } ]> - <[ { input } { { output1 } { output2 } } { requires } ]> - } - << expression >> - CONSTRAINT ->> - Ajouter un champs dans RPN et ADR pour pointer vers une liste. Types :