Annotation of rpl/man/rpl.1.in, revision 1.1.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>