version 1.42, 2010/06/18 11:54:00
|
version 1.50, 2010/07/31 10:34:18
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.16 |
RPL/2 (R) version 4.0.18 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
Line 1132 typedef struct descripteur_thread
|
Line 1132 typedef struct descripteur_thread
|
pthread_t thread_pere; |
pthread_t thread_pere; |
|
|
pthread_mutex_t mutex; |
pthread_mutex_t mutex; |
|
|
volatile logical1 thread_actif; |
volatile logical1 thread_actif; |
|
|
int pipe_erreurs[2]; |
int pipe_erreurs[2]; |
Line 1212 typedef struct liste_pile_systeme
|
Line 1213 typedef struct liste_pile_systeme
|
|
|
/* |
/* |
type clôture : |
type clôture : |
C CASE : END termine un test SELECT/CASE/THEN/END/DEFAULT/END. |
C SELECT : END termine un test SELECT/DEFAULT/END. |
D DO : END termine une boucle DO/UNTIL/END. |
D DO : END termine une boucle DO/UNTIL/END. |
I IF : END termine un test IF/THEN (ELSE)/END. |
I IF : END termine un test IF/THEN (ELSE)/END. |
J IFERR : END termine un test IFERR/THEN (ELSE)/END. |
J IFERR : END termine un test IFERR/THEN (ELSE)/END. |
W WHILE : END termine une boucle WHILE/REPEAT/END. |
K CASE : END termine un test CASE/THEN/END |
|
W WHILE : END termine une boucle WHILE/REPEAT/END. |
F FOR : NEXT ou STEP termine une boucle avec compteur. |
|
S START : NEXT ou STEP termine une boucle sans compteur. |
F FOR : NEXT ou STEP termine une boucle avec compteur. |
L LOOP : boucle utilisé dans le traitement de l'instruction RETURN. |
S START : NEXT ou STEP termine une boucle sans compteur. |
|
L LOOP : boucle utilisé dans le traitement de l'instruction RETURN. |
Elle correspond à une boucle FOR ou START mais sans son |
Elle correspond à une boucle FOR ou START mais sans son |
initialisation. |
initialisation. |
*/ |
*/ |
|
|
unsigned long adresse_retour; |
unsigned long adresse_retour; |
unsigned long niveau_courant; |
unsigned long niveau_courant; |
|
struct_objet *pointeur_adresse_retour; |
} struct_liste_pile_systeme; |
} struct_liste_pile_systeme; |
#endif |
#endif |
|
|
Line 1790 typedef struct processus
|
Line 1793 typedef struct processus
|
|
|
unsigned char traitement_interruption; /* Y/N */ |
unsigned char traitement_interruption; /* Y/N */ |
unsigned char traitement_interruptible; /* Y/N */ |
unsigned char traitement_interruptible; /* Y/N */ |
|
unsigned char traitement_at_poke; /* Y/N */ |
|
|
struct_objet *at_exit; |
struct_objet *at_exit; |
|
struct_objet *at_poke; |
|
|
/* Variables volatiles */ |
/* Variables volatiles */ |
|
|
Line 1852 typedef struct processus
|
Line 1857 typedef struct processus
|
|
|
// Mutex spécifique au processus et donnant accès à la pile des processus |
// Mutex spécifique au processus et donnant accès à la pile des processus |
pthread_mutex_t mutex; |
pthread_mutex_t mutex; |
|
pthread_mutex_t mutex_allocation; |
|
|
// Sémaphore autorisant les fork() |
// Sémaphore autorisant les fork() |
sem_t |
sem_t |
Line 1987 void instruction_asr(struct_processus *s
|
Line 1993 void instruction_asr(struct_processus *s
|
void instruction_atan(struct_processus *s_etat_processus); |
void instruction_atan(struct_processus *s_etat_processus); |
void instruction_atanh(struct_processus *s_etat_processus); |
void instruction_atanh(struct_processus *s_etat_processus); |
void instruction_atexit(struct_processus *s_etat_processus); |
void instruction_atexit(struct_processus *s_etat_processus); |
|
void instruction_atpoke(struct_processus *s_etat_processus); |
void instruction_autoscale(struct_processus *s_etat_processus); |
void instruction_autoscale(struct_processus *s_etat_processus); |
void instruction_axes(struct_processus *s_etat_processus); |
void instruction_axes(struct_processus *s_etat_processus); |
|
|
void instruction_b_vers_r(struct_processus *s_etat_processus); |
void instruction_b_vers_r(struct_processus *s_etat_processus); |
void instruction_backspace(struct_processus *s_etat_processus); |
void instruction_backspace(struct_processus *s_etat_processus); |
|
void instruction_backtrace(struct_processus *s_etat_processus); |
void instruction_beep(struct_processus *s_etat_processus); |
void instruction_beep(struct_processus *s_etat_processus); |
void instruction_bessel(struct_processus *s_etat_processus); |
void instruction_bessel(struct_processus *s_etat_processus); |
void instruction_bin(struct_processus *s_etat_processus); |
void instruction_bin(struct_processus *s_etat_processus); |
Line 2007 void instruction_cllcd(struct_processus
|
Line 2015 void instruction_cllcd(struct_processus
|
void instruction_clmf(struct_processus *s_etat_processus); |
void instruction_clmf(struct_processus *s_etat_processus); |
void instruction_close(struct_processus *s_etat_processus); |
void instruction_close(struct_processus *s_etat_processus); |
void instruction_clratexit(struct_processus *s_etat_processus); |
void instruction_clratexit(struct_processus *s_etat_processus); |
|
void instruction_clratpoke(struct_processus *s_etat_processus); |
void instruction_clrcntxt(struct_processus *s_etat_processus); |
void instruction_clrcntxt(struct_processus *s_etat_processus); |
void instruction_clrerr(struct_processus *s_etat_processus); |
void instruction_clrerr(struct_processus *s_etat_processus); |
void instruction_clrfuse(struct_processus *s_etat_processus); |
void instruction_clrfuse(struct_processus *s_etat_processus); |
Line 2612 void scrutation_injection(struct_process
|
Line 2621 void scrutation_injection(struct_process
|
void sf(struct_processus *s_etat_processus, unsigned char indice_drapeau); |
void sf(struct_processus *s_etat_processus, unsigned char indice_drapeau); |
void *surveillance_processus(void *argument); |
void *surveillance_processus(void *argument); |
void swap(void *variable_1, void *variable_2, unsigned long taille_octets); |
void swap(void *variable_1, void *variable_2, unsigned long taille_octets); |
|
void trace(struct_processus *s_etat_processus, FILE *flux); |
void traitement_asynchrone_exceptions_gsl(struct_processus *s_etat_processus); |
void traitement_asynchrone_exceptions_gsl(struct_processus *s_etat_processus); |
void traitement_exceptions_gsl(const char *reason, const char *file, |
void traitement_exceptions_gsl(const char *reason, const char *file, |
int line, int gsl_errno); |
int line, int gsl_errno); |