version 1.10, 2010/07/12 15:55:01
|
version 1.73, 2019/02/03 14:41:14
|
Line 1
|
Line 1
|
/* |
/* |
================================================================================ |
================================================================================ |
RPL/2 (R) version 4.0.17 |
RPL/2 (R) version 4.1.31 |
Copyright (C) 1989-2010 Dr. BERTRAND Joël |
Copyright (C) 1989-2019 Dr. BERTRAND Joël |
|
|
This file is part of RPL/2. |
This file is part of RPL/2. |
|
|
Line 20
|
Line 20
|
*/ |
*/ |
|
|
|
|
#include "rpl.conv.h" |
#include "rpl-conv.h" |
|
|
|
|
/* |
/* |
Line 59 instruction_type(struct_processus *s_eta
|
Line 59 instruction_type(struct_processus *s_eta
|
printf(" 1: %s, %s, %s, %s, %s, %s,\n" |
printf(" 1: %s, %s, %s, %s, %s, %s,\n" |
" %s, %s, %s, %s, %s,\n" |
" %s, %s, %s, %s, %s,\n" |
" %s, %s, %s, %s, %s,\n" |
" %s, %s, %s, %s, %s,\n" |
" %s, %s, %s, %s\n", |
" %s, %s, %s, %s,\n" |
|
" %s, %s, %s, %s\n" |
|
" %s\n", |
d_INT, d_REL, d_CPL, d_VIN, d_VRL, d_VCX, d_MIN, d_MRL, d_MCX, |
d_INT, d_REL, d_CPL, d_VIN, d_VRL, d_VCX, d_MIN, d_MRL, d_MCX, |
d_TAB, |
|
d_BIN, d_NOM, d_CHN, d_LST, d_ALG, d_RPN, d_FCH, d_SLB, d_SCK, |
d_BIN, d_NOM, d_CHN, d_LST, d_ALG, d_RPN, d_FCH, d_SLB, d_SCK, |
d_PRC); |
d_PRC, d_TAB, d_SQL, d_MTX, d_SPH, d_REC); |
printf("-> 1: %s\n", d_INT); |
printf("-> 1: %s\n\n", d_INT); |
|
|
|
if ((*s_etat_processus).langue == 'F') |
|
{ |
|
printf(" Valeurs renvoyées : \n\n"); |
|
printf(" 0 : scalaire (entier ou réel)\n"); |
|
printf(" 1 : complexe\n"); |
|
printf(" 2 : chaîne de caractères\n"); |
|
printf(" 3 : vecteur ou matrice de scalaires\n"); |
|
printf(" 4 : vecteur ou matrice de complexes\n"); |
|
printf(" 5 : liste\n"); |
|
printf(" 6 : adresse\n"); |
|
printf(" 7 : nom\n"); |
|
printf(" 8 : expression en notation polonaire inversée\n"); |
|
printf(" 9 : expression algébrique\n"); |
|
printf(" 10 : entier binaire\n"); |
|
printf(" 11 : descripteur de fichier\n"); |
|
printf(" 12 : descripteur de bibliothèque partagée\n"); |
|
printf(" 13 : descripteur de socket\n"); |
|
printf(" 14 : processus\n"); |
|
printf(" 15 : fonction\n"); |
|
printf(" 16 : table\n"); |
|
printf(" 17 : connecteur SQL\n"); |
|
printf(" 18 : mutex\n"); |
|
printf(" 19 : sémaphore\n"); |
|
printf(" 20 : enregistrement\n"); |
|
} |
|
else |
|
{ |
|
printf(" Returned values : \n\n"); |
|
printf(" 0 : scalar, integer or real number\n"); |
|
printf(" 1 : complex\n"); |
|
printf(" 2 : string\n"); |
|
printf(" 3 : scalar vector or scalar matrix\n"); |
|
printf(" 4 : complex vector or complex matrix\n"); |
|
printf(" 5 : list\n"); |
|
printf(" 6 : address\n"); |
|
printf(" 7 : name\n"); |
|
printf(" 8 : RPN expression\n"); |
|
printf(" 9 : algebraic expression\n"); |
|
printf(" 10 : binary integer\n"); |
|
printf(" 11 : file descriptor\n"); |
|
printf(" 12 : shared library descriptor\n"); |
|
printf(" 13 : socket descriptor\n"); |
|
printf(" 14 : process\n"); |
|
printf(" 15 : function\n"); |
|
printf(" 16 : table\n"); |
|
printf(" 17 : SQL connector\n"); |
|
printf(" 18 : mutex\n"); |
|
printf(" 19 : semaphore\n"); |
|
printf(" 20 : record\n"); |
|
} |
|
|
return; |
return; |
} |
} |
Line 168 instruction_type(struct_processus *s_eta
|
Line 220 instruction_type(struct_processus *s_eta
|
{ |
{ |
(*((integer8 *) (*s_objet_resultat).objet)) = 16; |
(*((integer8 *) (*s_objet_resultat).objet)) = 16; |
} |
} |
|
else if ((*s_objet_argument).type == SQL) |
|
{ |
|
(*((integer8 *) (*s_objet_resultat).objet)) = 17; |
|
} |
|
else if ((*s_objet_argument).type == MTX) |
|
{ |
|
(*((integer8 *) (*s_objet_resultat).objet)) = 18; |
|
} |
|
else if ((*s_objet_argument).type == SPH) |
|
{ |
|
(*((integer8 *) (*s_objet_resultat).objet)) = 19; |
|
} |
|
else if ((*s_objet_argument).type == REC) |
|
{ |
|
(*((integer8 *) (*s_objet_resultat).objet)) = 20; |
|
} |
|
else if ((*s_objet_argument).type == EXT) |
|
{ |
|
(*((integer8 *) (*s_objet_resultat).objet)) = 21; |
|
} |
else |
else |
{ |
{ |
/* |
/* |
Line 221 instruction_then(struct_processus *s_eta
|
Line 293 instruction_then(struct_processus *s_eta
|
unsigned char *instruction_majuscule; |
unsigned char *instruction_majuscule; |
unsigned char *tampon; |
unsigned char *tampon; |
|
|
unsigned long niveau; |
integer8 niveau; |
|
|
void (*fonction)(); |
void (*fonction)(); |
|
|
Line 345 instruction_then(struct_processus *s_eta
|
Line 417 instruction_then(struct_processus *s_eta
|
return; |
return; |
} |
} |
|
|
if (((*s_objet).type == INT) || |
if (((*s_objet).type == INT) || ((*s_objet).type == REL)) |
((*s_objet).type == REL)) |
|
{ |
{ |
if ((*s_objet).type == INT) |
if ((*s_objet).type == INT) |
{ |
{ |
Line 367 instruction_then(struct_processus *s_eta
|
Line 438 instruction_then(struct_processus *s_eta
|
* THEN et ELSE ou END. |
* THEN et ELSE ou END. |
*/ |
*/ |
|
|
if ((*(*s_etat_processus).l_base_pile_systeme).clause != |
if (((*(*s_etat_processus).l_base_pile_systeme).clause == |
'K') |
'I') || ((*(*s_etat_processus).l_base_pile_systeme).clause |
|
== 'X')) |
{ |
{ |
(*(*s_etat_processus).l_base_pile_systeme).clause = 'T'; |
(*(*s_etat_processus).l_base_pile_systeme).clause = 'T'; |
} |
} |
Line 442 instruction_then(struct_processus *s_eta
|
Line 514 instruction_then(struct_processus *s_eta
|
} |
} |
|
|
if ((instruction_majuscule = conversion_majuscule( |
if ((instruction_majuscule = conversion_majuscule( |
|
s_etat_processus, |
(*s_etat_processus).instruction_courante)) == NULL) |
(*s_etat_processus).instruction_courante)) == NULL) |
{ |
{ |
liberation(s_etat_processus, s_objet); |
liberation(s_etat_processus, s_objet); |
Line 470 instruction_then(struct_processus *s_eta
|
Line 543 instruction_then(struct_processus *s_eta
|
"ELSEIF") == 0)) |
"ELSEIF") == 0)) |
{ |
{ |
(*s_etat_processus).position_courante |
(*s_etat_processus).position_courante |
-= (strlen(instruction_majuscule) + 1); |
-= (integer8) (strlen( |
|
instruction_majuscule) + 1); |
drapeau_fin = d_vrai; |
drapeau_fin = d_vrai; |
} |
} |
else |
else |