.\" Page de manuel du langage RPL/2 par joel.k.bertrand@free.fr .TH RPL/2 1 "@DATE_FR@" JKB-Labs "Manuel de l'utilisateur RPL/2" .SH NOM Reverse Polish Lisp/2 version @VERSION@, .br langage de haut niveau semi-compilé extensible par des bibliothèques partagées et destiné principalement aux calculs scientifiques et algorithmes complexes. .SH SYNOPSIS .B rpl [\-acdDhilnpPsv] [\-A données] [\-S script] [\-t niveau] [programme] .SH DESCRIPTION Le séquenceur .B rpl permet l'exécution d'un programme RPL/2 ou l'ouverture d'une session permettant d'utiliser ce langage en mode interactif grâce à une ligne de commande. .SS OPTIONS .TP .B -a analyse un programme et renvoie la sortie du préprocesseur sur la sortie standard .br .TP .B -A envoie des paramètres de la ligne de commande au programme principal .br .TP .B -c autorise la génération d'un fichier .I rpl-core à fin de débogage dans le cas d'une erreur lors de l'exécution d'un programme; .br .TP .B -d permet de déverminer les allocations mémoire internes au RPL/2. Ne pas utiliser si vous ne savez pas ce que vous faites ! .br .TP .B -D bascule le fonctionnement en daemon; .br .TP .B -h présente brièvement les différentes options de la ligne de commande; .br .TP .B -i lance le séquenceur RPL/2 en mode interactif. Cette option est incompatible avec la présence sur la ligne de commande d'un nom de programme à exécuter; .br .TP .B -l rappelle la licence d'utilisation du séquenceur; .br .TP .B -n ignore le signal HUP; .br .TP .B -p précompile les scripts avant leur exécution; .br .TP .B -P profilage; .br .TP .B -s empêche l'ouverture de l'écran initial; .br .TP .B -S exécute le script passé sur la ligne de commande; .br .TP .B -t passe le séquenceur en mode « trace ». Toutes les opérations internes sont retranscrites sur la sortie standard; .br .TP .B -v donne la version du séquenceur. .br .RE .SH "VALEUR RENVOYÉE" Le séquenceur retourne une valeur nulle si l'exécution du fichier ne provoque aucune erreur, et une valeur non nulle dans le cas contraire. .SH "PRÉREQUIS ET RECOMMANDATIONS" La variable d'environnement RPL_TMP_PATH permet de specifier l'emplacement des fichiers temporaires. Si cette dernière n'est pas positionnée, les répertoires suivants seront utilisés: /tmp, /var/tmp, ./. Il est recommandé d'utiliser ce langage avec \fIgnuplot\fR, \fITeX/LaTeX\fR, \fIdvips\fR et \fIgv\fR pour tirer le maximum de ses possibilités graphiques. .SH "CONFORMITÉ" Le séquenceur RPL/2 est conforme au manuel corrigé du calculateur HP-28S de Hewlett-Packard et au calculateur HP-28S version 2BB (C) 1986-1987. Il faut noter que certaines définitions intrinsèques manipulant des grandeurs complexes ne suivent pas les spécifications écrites par Hewlett-Packard. Il s'agit principalement de la transposition (retournant la transposée conjuguée de la matrice argument) et du produit scalaire (le premier vecteur étant conjugué avant de calculer la somme des produits terme à terme). .SH "DÉLIMITEURS" .br .TP .B "aucun" scalaire, entier ou réel, codé sur un minimum de soixante-quatre bits; .br .TP .B "( )" nombre complexe représenté sur un minimum de cent vingt-huit bits; .br .TP .B "#" entier binaire comptant soixante-quatre bits; .TP .B "<< >>" définition utilisateur ou équation en notation polonaise inverse; .br .TP .B "' '" équation algébrique ou nom; .br .TP .B "[ ]" vecteur de scalaires; .br .TP .B "[[ ]]" matrice de scalaires; .br .TP .B "<[ ]>" table; .br .TP .B """ """ chaîne de caractères; .br .TP .B "{ }" liste regroupant plusieurs objets de types divers. Une liste est un objet récursif pouvant contenir d'autres listes; .TP .br .B "/* */" commentaire; .br .TP .B "//" commentaire du délimiteur jusques à la fin de la ligne. .br .SH "INSTRUCTIONS" Cette section contient les différentes définitions intrinsèques du langage. Certaines d'entre elles possèdent plusieurs écritures, les écritures alternatives figurant entre parenthèses. Les définitions apparaissant entre parenthèses dans une structure sont quant à elles optionnelles. Les instructions écrites en majuscules ne sont pas sensibles à la casse. .br .TP .B "STRUCTURES DE CONTRÔLE" IF/THEN/(ELSEIF/THEN)/(ELSE)/END, IFT, IFTE, SELECT/CASE/THEN/END/(DEFAULT)/END .br .TP .B "REPRISE SUR ERREUR" CLRERR, ERRM, ERRN, IFERR/THEN/(ELSE)/END .br .TP .B "BOUCLES DÉFINIES AVEC COMPTEUR" FOR/(CYCLE)/(EXIT)/NEXT, FOR/(CYCLE)/(EXIT)/STEP .br .TP .B "BOUCLES DÉFINIES SANS COMPTEUR" START/(CYCLE)/(EXIT)/NEXT, START/(CYCLE)/(EXIT)/STEP .br .TP .B "BOUCLES INDÉFINIES" DO/(EXIT)/UNTIL/(EXIT)/END, WHILE/(EXIT)/REPEAT/(EXIT)/END .br .TP .B "INSTRUCTIONS D'ENTRÉE/SORTIE" BEEP, CLMF, DISP, INPUT, KEY, PROMPT .br .TP .B "DÉBOGAGE" CONT, HALT, SST .br .TP .B "MANIPULATION DE LA PILE OPÉRATIONNELLE" CLEAR, COPY, DEPTH, DROP, DROP2, DROPN, DUP, DUP2, DUPN, EDIT, OVER, PICK, ROLL, ROLLD, ROT, SWAP .br .TP .B "MANIPULATION DES VARIABLES" ->, CLUSR, PARAMETER, PRIVATE, PROTECT, PURGE, RCEQ, RCL, RECALL, SAVE, SCONJ, SHARED, SINV, SNEG, STATIC, STEQ, STO, STO+, STO-, STO*, STO/, STORE, UNPROTECT, VARIABLE, VARS, VISIT, VOLATILE .br .TP .B "ARITHMÉRIQUES RÉELLE ET COMPLEXE ET CALCULS ÉLÉMENTAIRES" +, -, *, /, ^ (**), =, ABS, ARG, C->R, CEIL, CONJ, DECR, DER, DFT, EVAL, EXP, EXPM, FACT, FFT, FLOOR, FP, IDFT, IFFT, IM, INCR, INT, INV, IP, MANT, MAX, MCLRIN, MIN, MOD, NEG, ->NUM, P->R, ->Q, R->C, R->P, RE, RELAX, SIGN, SQ, SQRT, TAYLR, XPON, XROOT .br .TP .B "CONSTANTES" e, FALSE, i, infinity, PI, TRUE .br .TP .B "FORMATS" ENG, FIX, RND, SCI, STD, TRNC .br .TP .B "FONCTIONS LOGIQUES ET ARITHMÉTIQUE BINAIRE" <, <= (=<), <>, >, >= (=>), ==, %, %CH, %T, AND, ASL, ASR, B->R, BIN, CF, DEC, FC?, FC?C, FC?S, FS?, FS?C, FS?S, HEX, IN, NOT, OCT, OR, R->B, RCLF, RCWS, RL, RLB, RR, RRB, SAME, SF, SL, SLB, SR, SRB, STOF, STWS, XOR .br .TP .B "FONCTIONS TRIGONOMÉTRIQUES" ACOS, ASIN, ATAN, COS, D->R, DEG, ->HMS, HMS->, HMS-, HMS+, R->D, RAD, SIN, TAN .br .TP .B "FONCTIONS LOGARITHMIQUES" ACOSH, ALOG, ASINH, ATANH, COSH, LN, LNP1, LOG, SINH, TANH .br .TP .B "FONCTIONS SPÉCIALES" BESSEL, GAMMA .br .TP .B "STATISTIQUES" CLS, COLS, COMB, CORR, COV, DRWS, MAXS, MEAN, MINS, NRAND, NS, PCOV, PERM, PSDEV, PVAR, RAND, RCLS, RDGN, RDZ, S-, S+, SCLS, SDEV, SPAR, STOS, SX, SX2, SXY, SY, SY2, TOT, UTPC, UTPF, UTPN, UTPT, VAR, XCOL, YCOL .br .TP .B "MANIPULATION DES VECTEURS ET MATRICES" ->ARRAY (->ARRY), ARRAY-> (ARRY->), CNRM, COL+, COL-, COL->, ->COL, CON, COND, CROSS, CSWP, DET, DIAG->, ->DIAG, DOT, EGV, EGVL, GEGV, GEGVL, GET, GETC, GETI, GETR, GLEGV, GREGV, IDN, LCHOL, LEGV, LQ, LSQ, LU, MAX, MIN, PUT, PUTC, PUTI, PUTR, QR, RANK, RCI, RCIJ, RDM, REGV, RNRM, ROW+, ROW-, ROW->, ->ROW, RSD, RSWP, SCHUR, SIZE, SQ, SVD, SVL, TRN, UCHOL .br .TP .B "MANIPULATION DES TABLES" CRTAB, GET, L->T, PUT, T->L, ->TABLE, TABLE-> .br .TP .B "MANIPULATION DES LISTES" GET, GETI, HEAD, L->T, ->LIST, LIST->, POS, PUT, PUTI, REPL, REVLIST, SIZE, SORT, SUB, T->L, TAIL .br .TP .B "CHAÎNES DE CARACTÈRES" CHR, CURRENC, LCASE, NUM, POS, RECODE, REGEX, REPL, SIZE, SREV, ->STR, STR->, SUB, TOKENIZE, TRIM, UCASE .br .TP .B "MANIPULATION DES EXPRESSIONS" OBGET, OBSUB, EXGET, EXSUB .br .TP .B "GESTION DES FICHIERS ET DES SOCKETS" APPEND, BACKSPACE, CLOSE, CREATE, DELETE, FORMAT, INQUIRE, LOCK, OPEN, READ, REWIND, SYNC, TARGET, UNLOCK, WFLOCK, WFSOCK, WRITE .br .TP .B "SORTIES GRAPHIQUES ET PAPIER" *D, *H, *S, *W, AUTOSCALE, AXES, CENTR, CLLCD, CR, DEPND, DGTIZ, DRAW, DRAX, ERASE, EYEPT, FUNCTION, HISTOGRAM, INDEP, LABEL, LCD->, ->LCD, LINE, LOGSCALE, MARK, NEWPLANE, PAPER, PARAMETRIC, PERSIST, PLOT, PLOTTER, PMAX, PMIN, POLAR, PPAR, PR1, PRINT, PRLCD, PRMD, PRST, PRSTC, PRUSR, PRVAR, REDRAW, RES, SCATTER, SCALE, SLICE, SLICESCALE, TITLE, WIREFRAME .br .TP .B "BIBLIOTHÈQUES" EXTERNALS, REMOVE, USE .br .TP .B "GESTION DES PROCESSUS" ATEXIT, ATPOKE, CLRATEXIT, CLRATPOKE, CLRFUSE, CLRMTX, CLRSMPHR, CLRSWI, CONTINUE, CRMTX, CRSMPHR, CSTOP, DAEMONIZE, DETACH, FUSE, ISWI, MTXLOCK, MTXSTATUS, MTXTRYLOCK, MTXUNLOCK, NRPROC, PEEK, POKE, PROCID, RCLSWI, RECV, RFUSE, RSTOP, SCHED, SEND, SMPHRDECR, SMPHRGETV, SMPHRINCR, SMPHRTRYDECR, SPAWN, STOP, STOSWI, SUSPEND, SWI, SWILOCK, SWIQUEUE, SWISTATUS, SWIUNLOCK, WFACK, WFDATA, WFPOKE, WFPROC, YIELD .br .TP .B "INSTRUCTIONS DIVERSES" <<, >>, ABORT, ALARM, BACKTRACE, CLRCNTXT, CONVERT, COPYRIGHT, DATE, DROPCNTXT, DUPCNTXT, HELP, IMPLICIT, ITRACE, JDATE, KILL, KIND, LAST, LOCALIZATION, LOGGER, MEM, MEMLOCK, MEMUNLOCK, PSHCNTXT, PSHPRFL, PULCNTXT, PULPRFL, RDATE, RESTART, RETURN, SPLASH, SWAPCNTXT, SYSEVAL, TIME, TYPE, VERIFY, VERSION, WAIT, WARRANTY, WORKDIR .br .TP .B "BASES DE DONNÉES" SQLCONNECT, SQLDISCONNECT, SQLQUERY .br .TP .B "INSTRUCTIONS DU PRÉPROCESSEUR" #date, #define, #defeval, #else, #endif, #error, #eval, #file, #if, #ifdef, #ifeq, #ifndef, #ifneq, #include, #line, #mode, #undef, #warning .br .RE .SH "ADRESSES UTILES" .TP .B http://www.rpl2.fr page officielle du RPL/2; .br .TP .B jkb@systella.fr adresse de l'auteur; .br .TP .B rpl2@rayleigh.systella.fr liste de diffusion du langage RPL/2 permettant de demander des conseils, de proposer de nouvelles fontionnalités, de rapporter des dysfonctionnements...