--- rpl/src/instructions_t1.c 2010/07/13 09:39:14 1.12 +++ rpl/src/instructions_t1.c 2014/07/17 08:07:24 1.53 @@ -1,7 +1,7 @@ /* ================================================================================ - RPL/2 (R) version 4.0.17 - Copyright (C) 1989-2010 Dr. BERTRAND Joël + RPL/2 (R) version 4.1.19 + Copyright (C) 1989-2014 Dr. BERTRAND Joël This file is part of RPL/2. @@ -20,7 +20,7 @@ */ -#include "rpl.conv.h" +#include "rpl-conv.h" /* @@ -59,12 +59,61 @@ instruction_type(struct_processus *s_eta 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\n", + " %s, %s, %s, %s,\n" + " %s, %s, %s\n", 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_PRC); - printf("-> 1: %s\n", d_INT); + d_PRC, d_TAB, d_SQL, d_MTX, d_SPH); + 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"); + } + 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"); + } return; } @@ -168,6 +217,18 @@ instruction_type(struct_processus *s_eta { (*((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 { /* @@ -221,7 +282,7 @@ instruction_then(struct_processus *s_eta unsigned char *instruction_majuscule; unsigned char *tampon; - unsigned long niveau; + integer8 niveau; void (*fonction)(); @@ -470,7 +531,8 @@ instruction_then(struct_processus *s_eta "ELSEIF") == 0)) { (*s_etat_processus).position_courante - -= (strlen(instruction_majuscule) + 1); + -= (integer8) (strlen( + instruction_majuscule) + 1); drapeau_fin = d_vrai; } else