Annotation of rpl/man/rpl.1.in, revision 1.1
1.1 ! bertrand 1: .\" Manual page for the RPL/2 language
! 2: .\" 04.19.2006
! 3: .TH RPL/2 1 "@DATE@" JKB-Labs "RPL/2 user manual"
! 4: .SH NAME
! 5: Reverse Polish Lisp/2 release @VERSION@,
! 6: .br
! 7: half-compiled high-level language using shared libaries
! 8: and mainly aiming at scientific calculations and complex algorithms
! 9: .SH SYNOPSIS
! 10: .B rpl
! 11: [\-acdDhilnpPsv] [\-A data] [\-S script] [\-t level] [program]
! 12: .SH DESCRIPTION
! 13: The
! 14: .B rpl
! 15: sequencer allows either the execution of a RPL/2 program or the opening
! 16: of an interactive session to enter commands directly
! 17: .SH OPTIONS
! 18: .TP
! 19: .B -a
! 20: displays informations about the author, the RPL/2 mailing-list and the
! 21: official WWW page of the language
! 22: .br
! 23: .TP
! 24: .B -A
! 25: sends parameters to main program
! 26: .br
! 27: .TP
! 28: .B -c
! 29: allows creation of a
! 30: .I rpl-core
! 31: file, providing a way to debug a program
! 32: .br
! 33: .TP
! 34: .B -d
! 35: debugs memory allocations inside RPL/2. Do not use if you do not
! 36: know what you do!
! 37: .br
! 38: .TP
! 39: .B -D
! 40: launches RPL/2 in daemon mode
! 41: .br
! 42: .TP
! 43: .B -h
! 44: shows a summary of available options
! 45: .br
! 46: .TP
! 47: .B -i
! 48: runs the RPL/2 sequencer in interactive mode. This option can't be used
! 49: with a program name as argument
! 50: .br
! 51: .TP
! 52: .B -l
! 53: prints the user licence of the software
! 54: .br
! 55: .TP
! 56: .B -n
! 57: ignores HUP signal
! 58: .br
! 59: .TP
! 60: .B -p
! 61: precompiles scripts before execution
! 62: .br
! 63: .TP
! 64: .B -P
! 65: computes profile data
! 66: .br
! 67: .TP
! 68: .B -s
! 69: disables splash screen
! 70: .br
! 71: .TP
! 72: .B -S
! 73: executes script on command line
! 74: .br
! 75: .TP
! 76: .B -t
! 77: enables tracing mode. Each internal operation is echoed on standard
! 78: output
! 79: .br
! 80: .TP
! 81: .B -v
! 82: prints the version number
! 83: .br
! 84: .RE
! 85: .SH "EXIT STATUS"
! 86: The sequencer returns a value of 0 if no error occurs when running a
! 87: program, else it returns a nonzero value.
! 88: .SH "PREREQUISITES AND VARIOUS ADVICES"
! 89: RPL_TMP_PATH env variable is used to specify the location of tempfiles.
! 90: If this variable is not set, RPL/2 tries to use /tmp, /var/tmp or ./.
! 91: It is also recommended to
! 92: use
! 93: \fIgnuplot\fR,
! 94: \fITeX/LaTeX\fR,
! 95: \fIdvips\fR and
! 96: \fIgv\fR in association with RPL/2, to get advanced graphical
! 97: capabilities
! 98: .SH "RELATED STANDARDS"
! 99: The RPL/2 sequencer is compliant with the HP-28S calculator user manual,
! 100: and with the HP-28S itself, in its 2BB version (C) HP 1986-1987.
! 101: Some operations dealing with complex numbers are not following the
! 102: definitions from HP, because they are bogus. The main such operations
! 103: are transposition and scalar product.
! 104: .SH "DELIMITERS"
! 105: .br
! 106: .TP
! 107: .B "none"
! 108: scalar, integer or real number, coded with at least 64 bits;
! 109: .br
! 110: .TP
! 111: .B "( )"
! 112: complex number, coded with at least 128 bits;
! 113: .br
! 114: .TP
! 115: .B "#"
! 116: binary integer, 64 bits of length;
! 117: .TP
! 118: .B "<< >>"
! 119: user-defined function, or equation (expressed in RPN);
! 120: .br
! 121: .TP
! 122: .B "' '"
! 123: algebraic equation or variable name;
! 124: .br
! 125: .TP
! 126: .B "[ ]"
! 127: scalar vector;
! 128: .br
! 129: .TP
! 130: .B "[[ ]]"
! 131: scalar matrix;
! 132: .br
! 133: .TP
! 134: .B "<[ ]>"
! 135: table;
! 136: .br
! 137: .TP
! 138: .B """ """
! 139: character string;
! 140: .br
! 141: .TP
! 142: .B "{ }"
! 143: list containing various objects. A list might contain other lists;
! 144: .TP
! 145: .br
! 146: .B "/* */"
! 147: comment;
! 148: .br
! 149: .TP
! 150: .B "//"
! 151: comment running to the end of a line;
! 152: .br
! 153: .SH "INSTRUCTIONS"
! 154: We list in this section the build-in instructions of the language. Some
! 155: might be written in several ways; the alternatives ways are listed
! 156: between parenthesis. Definitions between parenthesis in a structure are
! 157: optional. Instructions written in upper case are not case-sensitive.
! 158: .br
! 159: .TP
! 160: .B "CONTROL STRUCTURES"
! 161: IF/THEN/(ELSEIF/THEN)/(ELSE)/END, IFT, IFTE,
! 162: SELECT/CASE/THEN/END/(DEFAULT)/END
! 163: .br
! 164: .TP
! 165: .B "ERROR HANDLING"
! 166: CLRERR, ERRM, ERRN, IFERR/THEN/(ELSE)/END
! 167: .br
! 168: .TP
! 169: .B "LOOPS PROVIDING A COUNT"
! 170: FOR/(CYCLE)/(EXIT)/NEXT, FOR/(CYCLE)/(EXIT)/STEP
! 171: .br
! 172: .TP
! 173: .B "LOOPS WITHOUT COUNT"
! 174: START/(CYCLE)/(EXIT)/NEXT, START/(CYCLE)/(EXIT)/STEP
! 175: .br
! 176: .TP
! 177: .B "UNDEFINED LOOPS"
! 178: DO/(EXIT)/UNTIL/(EXIT)/END, WHILE/(EXIT)/REPEAT/(EXIT)/END
! 179: .br
! 180: .TP
! 181: .B "INPUT/OUTPUT"
! 182: BEEP, CLMF, DISP, INPUT, KEY, PROMPT
! 183: .br
! 184: .TP
! 185: .B "DEBUGGING"
! 186: CONT, HALT, SST
! 187: .br
! 188: .TP
! 189: .B "STACK HANDLING"
! 190: CLEAR, COPY, DEPTH, DROP, DROP2, DROPN, DUP, DUP2, DUPN, EDIT, OVER, PICK,
! 191: ROLL, ROLLD, ROT, SWAP
! 192: .br
! 193: .TP
! 194: .B "WORKING WITH VARIABLES"
! 195: ->, PARAMETER, PRIVATE, PROTECT,
! 196: PURGE, RCEQ, RCL, RECALL, SAVE, SCONJ, SHARED,
! 197: SINV, SNEG, STATIC, STEQ, STO, STO+,
! 198: STO-, STO*, STO/, STORE, UNPROTECT, VARIABLE, VARS, VISIT, VOLATILE
! 199: .br
! 200: .TP
! 201: .B "ARITHMETICAL OPERATIONS AND ELEMENTARY CALCULUS"
! 202: +, -, *, /, ^ (**), =, %, %CH, %T,
! 203: ABS, ARG, C->R, CEIL, CONJ, DECR, DER,
! 204: DFT, EVAL, EXP, EXPM, FACT, FFT, FLOOR,
! 205: FP, IDFT,
! 206: IFFT, IM, INCR, INT, INV, IP, MANT, MAX, MCLRIN, MIN, MOD, NEG,
! 207: P->R, ->Q, R->C, R->P, RE, RELAX, SIGN, SQ, SQRT, TAYLR, XPON, XROOT
! 208: .br
! 209: .TP
! 210: .B "CONSTANTS"
! 211: e, FALSE, i, PI, TRUE
! 212: .br
! 213: .TP
! 214: .B "FORMATTING"
! 215: ENG, FIX, RND, SCI, STD, TRNC
! 216: .br
! 217: .TP
! 218: .B "LOGICAL AND BINARY OPERATIONS"
! 219: <, <= (=<), <>, >, >= (=>), ==,
! 220: AND, ASL, ASR, B->R, BIN, CF, DEC, FC?, FC?C, FC?S, FS?, FS?C, FS?S,
! 221: HEX, IN, NOT, OCT, OR, R->B,
! 222: RCLF, RCWS, RL, RLB, RR, RRB, SAME, SF, SL, SLB, SR, SRB, STOF,
! 223: STWS, XOR
! 224: .br
! 225: .TP
! 226: .B "TRIGONOMETRY"
! 227: ACOS, ASIN, ATAN, COS, D->R, DEG, ->HMS, HMS->,
! 228: HMS-, HMS+, R->D, RAD, SIN, TAN
! 229: .br
! 230: .TP
! 231: .B "LOGARITHMS"
! 232: ACOSH, ALOG, ASINH, ATANH, COSH, LN, LNP1, LOG,
! 233: SINH, TANH
! 234: .br
! 235: .TP
! 236: .B "SPECIAL FUNCTIONS"
! 237: BESSEL, GAMMA
! 238: .br
! 239: .TP
! 240: .B "STATISTICS"
! 241: CLS, COLS, COMB, CORR, COV, DRWS, MAXS, MEAN, MINS, NRAND, NS, PCOV, PERM,
! 242: PSDEV, PVAR, RAND, RCLS, RDGN,
! 243: RDZ, S-, S+, SCLS, SDEV, SPAR, STOS, SX, SX2, SXY, SY,
! 244: SY2, TOT,
! 245: UTPC, UTPF, UTPN, UTPT, VAR, XCOL, YCOL
! 246: .br
! 247: .TP
! 248: .B "DEALING WITH MATRIX AND VECTOR"
! 249: ->ARRAY (->ARRY), ARRAY-> (ARRY->), CNRM, COL+, COL-, COL->, ->COL, CON, COND,
! 250: CROSS, CSWP, DET, DOT, DIAG->, ->DIAG, EGV, EGVL,
! 251: GEGV, GEGVL, GET, GETC, GETI, GETR,
! 252: GLEGV, GREGV, IDN, LCHOL, LEGV, LQ, LSQ, LU, MAX, MIN,
! 253: PUT, PUTC, PUTI, PUTR, QR, RANK,
! 254: RCI, RCIJ, RDM, REGV, RNRM, ROW+, ROW-, ROW->, ->ROW,
! 255: RSD, RSWP, SCHUR, SIZE, SQ, SVD, SVL, TRN, UCHOL
! 256: .br
! 257: .TP
! 258: .B "DEALING WITH TABLES"
! 259: CRTAB, GET, PUT, ->TABLE, TABLE->
! 260: .br
! 261: .TP
! 262: .B "LISTS"
! 263: GET, GETI, HEAD, ->LIST, LIST->, POS, PUT, PUTI, REPL,
! 264: REVLIST, SIZE, SORT, SUB, TAIL
! 265: .br
! 266: .TP
! 267: .B "STRINGS"
! 268: CHR, CURRENC, LCASE, NUM, POS, RECODE, REPL, SIZE, ->STR, STR->, SUB,
! 269: TOKENIZE, TRIM, UCASE
! 270: .br
! 271: .TP
! 272: .B "EXPRESSIONS HANDLING"
! 273: OBGET, OBSUB, EXGET, EXSUB
! 274: .br
! 275: .TP
! 276: .B "FILE AND SOCKET HANDLING"
! 277: APPEND, BACKSPACE, CLOSE, CREATE, DELETE, FORMAT, INQUIRE, LOCK, OPEN,
! 278: READ, REWIND, SEEK, SYNC, TARGET, UNLOCK, WFLOCK, WFSOCK, WRITE
! 279: .br
! 280: .TP
! 281: .B "GRAPHICAL OUTPUT AND PRINTING"
! 282: *D, *H, *S, *W,
! 283: AUTOSCALE, AXES, CENTR, CLLCD, CR, DEPND, DGTIZ, DRAW, DRAX, ERASE, EYEPT,
! 284: FUNCTION, HISTOGRAM, INDEP,
! 285: LABEL, LCD->, ->LCD, LINE,
! 286: LOGSCALE, MARK, NEWPLANE, PAPER,
! 287: PARAMETRIC, PERSIST, PLOT, PLOTTER, PMAX, PMIN, POLAR, PPAR, PR1, PRINT,
! 288: PRLCD,
! 289: PRMD, PRST, PRSTC, PRUSR, PRVAR, REDRAW, RES, SCATTER, SCALE, SLICE,
! 290: SLICESCALE, TITLE,
! 291: WIREFRAME
! 292: .br
! 293: .TP
! 294: .B "LIBRARIES"
! 295: EXTERNALS, REMOVE, USE
! 296: .br
! 297: .TP
! 298: .B "PROCESS"
! 299: CLRFUSE, CLRMTX, CLRSMPHR, CLRSWI, CONTINUE, CRMTX, CRSMPHR, CSTOP, DAEMONIZE,
! 300: DETACH, FUSE, ISWI, MTXLOCK, MTXSTATUS, MTXTRYLOCK, MTXUNLOCK,
! 301: NRPROC, PEEK, POKE, RCLSWI, RECV, RFUSE, RSTOP, SCHED,
! 302: SEND, SMPHRDECR, SMPHRGETV, SMPHRINCR, SMPHRTRYDECR,
! 303: SPAWN, STOP, STOSWI, SUSPEND,
! 304: SWI, SWILOCK, SWIQUEUE, SWISTATUS,
! 305: SWIUNLOCK, WFACK, WFDATA, WFPOKE, WFPROC, WFSWI, YIELD
! 306: .br
! 307: .TP
! 308: .B "MISC"
! 309: <<, >>, ABORT, ALARM, CLRCNTXT, CONVERT, COPYRIGHT, DATE, DROPCNTXT,
! 310: DUPCNTXT, HELP, ITRACE, JDATE, KILL, LAST, LOCALIZATION, LOGGER, MEM,
! 311: PSHCNTXT, PSHPRFL, PULCNTXT, PULPRFL, RDATE, RETURN,
! 312: SPLASH, SWAPCNTXT, SYSEVAL, TIME, TYPE, VERIFY, VERSION, WAIT, WARRANTY, WORKDIR
! 313: .br
! 314: .TP
! 315: .B "DATABASES"
! 316: SQLCONNECT, SQLDISCONNECT, SQLQUERY
! 317: .br
! 318: .TP
! 319: .B "PREPROSSESSING"
! 320: #date, #define, #defeval, #else, #endif, #error, #eval, #file, #if,
! 321: #ifdef, #ifeq, #ifndef, #ifneq, #include, #line, #mode, #undef, #warning
! 322: .br
! 323: .RE
! 324: .SH "USEFUL LINKS"
! 325: .TP
! 326: .B http://www.rpl2.net
! 327: official WWW page of RPL/2;
! 328: .br
! 329: .TP
! 330: .B jkb@systella.fr
! 331: the author's email address;
! 332: .br
! 333: .TP
! 334: .B rpl2@rayleigh.systella.fr
! 335: RPL/2 mailing-list, useful to ask some advice, report bugs and talk
! 336: about new features
CVSweb interface <joel.bertrand@systella.fr>