Find a file
2015-03-03 22:07:48 +01:00
src auto-eval progs 2015-03-03 22:07:48 +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 Indentation 2015-03-02 21:01:46 +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:

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