Find a file
2015-03-02 18:26:54 +01:00
src debug too short cmd_type_string 2015-03-02 18:26:54 +01:00
test Passed tests 2015-03-01 16:02:23 +01:00
.gitignore Files management 2014-02-12 13:52:01 +01:00
aclocal.m4 Update for autotools 2015-02-11 11:19:42 +01:00
AUTHORS Linux porting 2014-02-12 11:26:26 +01:00
autogen.sh Going to Linux autoconf 2014-02-12 10:00:24 +01:00
ChangeLog Going to Linux autoconf 2014-02-12 10:00:24 +01:00
config.h.in Autocomplete + history with ReadLine 2015-02-10 18:23:09 +01:00
configure Update for autotools 2015-02-11 11:19:42 +01:00
configure.ac Linux porting 2014-02-12 11:26:26 +01:00
COPYING Adding autoconf files 2014-02-12 10:18:18 +01:00
depcomp Autocomplete + history with ReadLine 2015-02-10 18:23:09 +01:00
HP-28S-Quick-Reference.pdf creation 2014-01-03 23:45:07 +01:00
INSTALL Update for autotools 2015-02-11 11:19:42 +01:00
install-sh Autocomplete + history with ReadLine 2015-02-10 18:23:09 +01:00
Makefile.am Autocompletion and history with ReadLine 2015-02-10 18:20:48 +01:00
Makefile.in Update for autotools 2015-02-11 11:19:42 +01:00
missing Update for autotools 2015-02-11 11:19:42 +01:00
NEWS Going to Linux autoconf 2014-02-12 10:00:24 +01:00
README New form for README 2015-03-01 23:04:45 +01:00
TODO Update TODO 2015-02-23 10:21:22 +01:00

========================================================================
    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 * in column new.
Already implemented commands are tagged with * in column impl.
Tested commands are tagged with * in column tested.

category    command     new     impl.   tested

GENERAL     +                   *
GENERAL     -                   *
GENERAL     neg                 *
GENERAL     *                   *
GENERAL     /                   *
GENERAL     inv                 *
GENERAL     %                   *
GENERAL     %CH                 *
GENERAL     ^                   *
GENERAL     sqrt        *       *
GENERAL     sq          *       *
GENERAL     test        *       *
GENERAL     verbose     *       *
GENERAL     std                 *
GENERAL     fix                 *
GENERAL     sci                 *
GENERAL     version     *       *
GENERAL     uname       *       *

STACK        drop               *
STACK        swap               *
STACK        roll
STACK        dup                *
STACK        over
STACK        dup2               *
STACK        drop2              *
STACK        rot                *
STACK        list->                
STACK        rolld
STACK        pick               *
STACK        dupn
STACK        dropn
STACK        depth              *
STACK        ->list
STACK        load_stack *       *
STACK        save_stack *       *

STORE
STORE         sto               *
STORE         rcl               *
STORE         purge             *
STORE         sto+
STORE         sto-
STORE         sto*
STORE         sto/
STORE         sneg
STORE         sinv
STORE         sconj
STORE         erase     *       *
STORE         vars      *       *
STORE         include   *
STORE         load_vars *
STORE         save_vars *

PROGRAM       eval              *
PROGRAM       load_prog *
PROGRAM       save_prog *

ALGEBRA        neg      *       *
ALGEBRA        colct
ALGEBRA        expan
ALGEBRA        size
ALGEBRA        form
ALGEBRA        obsub
ALGEBRA        exsub
ALGEBRA        taylr
ALGEBRA        isol
ALGEBRA        quad,
ALGEBRA        show
ALGEBRA        obget
ALGEBRA        exget

BINARY        +                 *
BINARY        -                 *
BINARY        *                 *
BINARY        /                 *
BINARY        dec               *
BINARY        hex               *
BINARY        oct               *
BINARY        bin               *
BINARY        stws
BINARY        rcws
BINARY        rl
BINARY        rr
BINARY        rlb
BINARY        rrb
BINARY        r->b              *
BINARY        b->r              *
BINARY        sl
BINARY        sr
BINARY        slb
BINARY        srb
BINARY        asr
BINARY        and
BINARY        or
BINARY        xor
BINARY        not

STRING         +                *
STRING         ->str            *
STRING         str->            *
STRING         chr
STRING         num
STRING         ->lcd
STRING         lcd->
STRING         pos
STRING         sub
STRING         size
STRING         disp

BRANCH
BRANCH         if               *
BRANCH         then             *
BRANCH         else             *
BRANCH         end              *
BRANCH         start            *
BRANCH         for              *
BRANCH         next             *
BRANCH         step             *
BRANCH         ift
BRANCH         ifte
BRANCH         do
BRANCH         until
BRANCH         end
BRANCH         while
BRANCH         repeat
BRANCH         end
 
TEST
TEST         !=                 *
TEST         >                  *
TEST         >=                 *
TEST         <                  *
TEST         <=                 *
TEST         sf
TEST         cf
TEST         fs?
TEST         fc?
TEST         fs?c
TEST         fc?c
TEST         and                *
TEST         or                 *
TEST         xor                *
TEST         not                *
TEST         same               *
TEST         ==                 *
TEST         stof
TEST         rclf
TEST         type

TRIG
TRIG         pi         *       *
TRIG         sin                *
TRIG         asin               *
TRIG         cos                *
TRIG         acos               *
TRIG         tan                *
TRIG         atan               *
TRIG         p→r
TRIG         r→p
TRIG         r→c
TRIG         c→r
TRIG         arg
TRIG         →hms
TRIG         hms→
TRIG         hms+
TRIG         hms-
TRIG         d→r                *
TRIG         r→d                *

LOGS
LOGS         log                *
LOGS         alog               *
LOGS         ln                 *
LOGS         exp                *
LOGS         lnp1
LOGS         expm
LOGS         sinh               *
LOGS         asinh              *
LOGS         cosh               *
LOGS         acosh              *
LOGS         tanh               *
LOGS         atanh              *


Not yet
=======

MEMORY
 mem, menu, order, path, home, crdir, vars, clusr, 

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

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

CURSOR
 ins, del, ← → ↑ ↓, cmd, undo, last, ml, rdx, prmd

CONTRL
 sst, halt, abort, kill, wait, key, bepp,  cllcd,  disp,  clmf, errn,
 errm

CATALOG
 next, prev, scan, use, fetch, quit
 
UNITS
 convert

CUSTOM
 menu, custom

========================================================================
Other standard files:
  README
  TODO

========================================================================
Other notes:

========================================================================