rpn/README
2015-02-24 17:54:17 +01:00

119 lines
3.6 KiB
Text

========================================================================
Reverse Polish Notation language
Inspired by Hewlett-Packard RPL language
HP28S user manual is provided as a reference
========================================================================
This project plans to create a clone of HP RPN calculator language,
including at least stack, store, branch, test, trig and logs commands
of HP28S RPL implementation.
Following objects are managed: scalars, symbols, binaries, strings,
programs.
Scalar are in 128-bit quadruple precision format (long double).
Binaries are 64-bits longwords format (long long int).
An interactive editor with autocompletion is provided (readline-based).
Language extensions will soon be included:
- file objects and functions,
- date and time objects and functions,
- shell-calling objects with return code, stdout and stderr treatment,
- loading and saving stack, variables, programs from / to filesystem
========================================================================
Here is a list of HP28s reserved words.
New commands (nonexistent in RPL) are tagged with (+).
Already implemented commands are tagged with (*).
GENERAL OPERATIONS
+(*), -(*), neg(*), *(*), /(*), inv(*)(+), %(*), %CH(*), ^(*),
sqrt(*)(+), sq(*)(+), test(*)(+)
GENERAL (some are 'CURSOR' commands)
verbose(*)(+), std(*), fix(*), sci(*), version(*)(+), uname(*)(+)
STACK
drop(*), swap(*), roll, dup(*), over, dup2(*), drop2(*), rot(*),
list->, rolld, pick(*), dupn, dropn, depth(*), ->list, load_stack(+),
save_stack(+)
STORE
sto(*), rcl(*), purge(*), sto+, sto-, sto*, sto/, sneg, sinv, sconj,
erase(*)(+), vars(*)(+), include(+), load_vars(+), save_vars(+)
PROGRAM(+)
eval(*), load_prog(+), save_prog(+)
MEMORY
mem, menu, order, path, home, crdir, vars, clusr
ALGEBRA
neg(*)(+), colct, expan, size, form, obsub, exsub, taylr, isol, quad,
show, obget, exget
BINARY
+(*), -(*), *(*), /(*), dec(*), hex(*), oct(*), bin(*), stws, rcws,
rl, rr, rlb, rrb, r->b(*), b->r(*), sl, sr, slb, srb, asr, and, or,
xor, not
STAT
∑dat, ∑par, ∑+, ∑-, n∑, cl∑, sto∑, rcl∑, tot, mean, sdev, var, max∑,
min∑, col∑, corr, cov, lr, predev, utpc, utpf, utpn, utpt, comb, perm
PRINT
pr1, prst, prvar, prlcd, cr, trac, prstc, prusr, prmd
STRING
+(*), ->str, str->, chr, num, ->lcd, lcd->, pos, sub, size, disp
CONTRL
sst, halt, abort, kill, wait, key, bepp, cllcd, disp, clmf, errn,
errm
BRANCH
if(*), iferr, then(*), else(*), end(*), start(*), for(*), next(*),
step(*), ift, ifte, do, until, end, while, repeat, end
TEST
!=(*), >(*), >=(*), <(*), <=(*), sf, cf, fs?, fc?, fs?c, fc?c, and(*),
or(*), xor(*), not(*), same(*), ==(*), stof, rclf, type
CATALOG
next, prev, scan, use, fetch, quit
UNITS
convert
CURSOR (some of these functions can be found in GENERAL)
ins, del, ← → ↑ ↓, std, fix, sci, eng, deg, rad, cmd, undo, last, ml,
rdx, prmd
TRIG
pi(*)(+), sin(*), asin(*), cos(*), acos(*), tan(*), atan(*), p→r, r→p,
r→c, c→r, arg, →hms, hms→, hms+, hms-, (*)d→r, (*)r→d
LOGS
log(*), alog(*), ln(*), exp(*), lnp1, expm, sinh(*), asinh(*), cosh(*),
acosh(*), tanh(*), atanh(*)
SOLV
steq, rceq, isol, quad, show, root,
PLOT
ppar, steq, rceq, pmin, pmax, indep, draw, res, axes, centr, *w, *h,
sto∑, rcl∑, col∑, scl∑, drw∑, cllcd, digtiz
CUSTOM
menu, custom
========================================================================
Other standard files:
README
TODO
========================================================================
Other notes:
========================================================================