version <2 is only a RPN parser ---------------------------- revision :2.82 Mon Sep 23 17:49:50 CEST 2013 add CATN JOIN JOINN and JOINALL add/update test related ---------------------------- revision :2.81 Sat Sep 14 12:20:19 CEST 2013 Don't use ${^PREMATCH} to cope with perl 5.18 ---------------------------- revision :2.80 Fri Sep 6 11:53:29 CEST 2013 RPN.pm Prevent crash when variable not defined in PERLVAR t/11Perl.t and test for var not defined test returning a hash multikey are most of the time in different order, removing multikey test RPN.pl Use persistent history ( and add flag and command to set another histoty file ) ---------------------------- revision : 2.79 Wed Sep 4 14:09:21 CEST 2013 fix PERLVAR for simple scalar add $scal test variable in RPN.pl ---------------------------- revision : 2.78 Mon Sep 2 12:24:01 2013 +0200 update test with TZ set tp EST to allow make test succeed anywhere ---------------------------- revision : 2.77 Sun Sep 1 18:23:05 2013 +0200 Parse::RPN MOD >> << : Swap arguments REMAIN and REV: remove processed argument PI : better value for COS MINX MAXX SLSLICE N!= UNSET FORGOT UNLINK CHOMP : new words MIN MAX SUM STATS : in section arithmetic >< >=< UNPACK !!!CA ; : typo on pod TRUE and FALSE : check if argument numeric and prevent warning All SLxxx and OIDSEARCHxxx words : correct code to allow structurated string without leading # EQ : correct return value for DICT Better test ( by type of operator ) FIND FINDK fix initial index ( no more warning ) VARIABLE only set variable if variable name defined ; ( word creation ) create private dict and prevent overwriting of native dict fix warning if IF (variable not numeric if uninitialized) LOOP add _T_ variable +LOOP fix error in code + simplification for _T_ PERL push STDOUT on stack TELL fix for unbuffered IO WRITELINE in correct order remove spurious warning in HGTIME fix SLGREP and SLGREPI ending space in SL result RPN.pl add argument -I to put a full path to RPM.pm. In shell mode auto reload of RPN.pm. Add command \c r to force a reload of RPN.pm ( reset all provate dict and vars ) ---------------------------- revision : 2.76 Date: Thu Jul 18 11:27:05 2013 +0200 Add SLITEM ---------------------------- revision : 2. 75 Date: Wed May 22 18:53:55 2013 +0200 funct rpn_separator_out and rpn_separator_in return current value ---------------------------- revision : 2.74 Date: Tue May 14 11:22:08 2013 +0200 use recursion to create SL list from PERLVAR Allow PERLVAR to be inside LOOP or IF ---------------------------- revision : 2.73 Date: Fri May 10 17:49:54 2013 +0200 Replace PERLUNARY by PERLFUNC1 Add PERLFUNCX Add PERLVAR ---------------------------- revision : 2.72 Date: Tue May 7 09:09:08 2013 +0200 Add PERLUNARY Clean PERLFUNC ---------------------------- revision : 2.71 Date: Mon May 6 11:18:06 2013 +0200 Replace rpn_separator by rpn_sseparator_out Add rpn_separator_in ---------------------------- revision : 2.70 Date: Fri May 3 12:09:43 2013 +0200 Add SLGREP, SLGREPI , SLSEARCHALL and SLSEARCHALLI ---------------------------- revision : 2.69 Date: Mon Apr 15 14:00:00 2013 +0200 Add SLSEARCHALLKEYS and SLSEARCHALLKEYSI Some typo in doc ---------------------------- revision : 2.68 Date: Tue Apr 9 12:47:45 2013 +0200 add NXOR ---------------------------- revision : 2.67 Date: Sun Mar 17 17:37:09 2013 +0100 add >< and >=< operator ---------------------------- revision : 2.66 Date: Mon Feb 6 13:37:00 2012 +0100 add case insensitive OIDSEARCHALLVALI and OIDSEARCHLEAFI ( the latest one is not very useful ) ---------------------------- revision : 2.65 Date: Thu Jan 19 13:46:21 2012 +0100 add relational operator staring with N to test th efirst element as numeric ---------------------------- revision : 2.64 Date: Mon Nov 28 14:39:56 2011 +0100 add OIDSEARCHALLVAL and OIDSEARCHALLVAL ---------------------------- revision : 2.63 Date: Thu Apr 14 12:08:06 2011 +0200 add KEEPV and KEEPVV ---------------------------- revision : 2.62 Date: Thu Jan 27 19:04:22 2011 +0100 typo error ---------------------------- revision : 2.61 Date: Thu Jan 27 18:25:09 2011 +0100 fix IF THEN ELSE ( specifically ELSE ) ---------------------------- revision : 2.60 Date: Wed Jan 26 16:14:04 2011 +0100 fix OPEN ( mode ) WRITELINE and WRITE (remove value from the stack) ---------------------------- revision : 2.59 Date: Wed Dec 1 13:26:49 2010 +0100 add POPV, SHIFTV and IND ---------------------------- revision : 2.58 Date: Wed Dec 1 11:34:50 2010 +0100 add SEARCHA and SEARCHI ---------------------------- revision : 2.57 Date: Thu Oct 21 15:32:18 2010 +0200 add SPLIT2 correct LOOKUP and LOOKUPOP ( switch parameter order ) ---------------------------- revision : 2.56 Date: Tue Oct 19 15:01:54 2010 +0200 add SIZE correct variable append code ---------------------------- revision : 2.55 Date: Mon Oct 11 14:10:46 2010 +0200 add HTTP::Date in Makefile.pl ---------------------------- revision : 2.54 Date: Fri Oct 1 15:33:53 2010 +0200 add FILE IO correct ROLL with negative value ( remove undef extra value ) typo in doc ---------------------------- revision : 2.53 Date: Thu Sep 30 13:47:01 2010 +0200 add all append to variable primitives ( !A, !!A, !!!A, !!CA, !!!CA ) ---------------------------- revision : 2.52 Date: Thu Apr 29 18:15:46 2010 +0200 add KEEPR and KEEPRN fix the offset of PUT change ROLL to allow reverse ROLL when value is negative fix ROLL when value are = 0 ---------------------------- revision : 2.51 date : 2010/04/27 08:37:09 UNORM and UNORM2 allow entry in the form 249.12 G some digit, zero or one dot followed by some digit, some space , and a letter as suffix) ---------------------------- revision : 2.50 date : 2010/04/26 14:57:46 add UNORM and UNORM2 ---------------------------- revision : 2.49 date : 2010/04/23 14:08:13 if the only data on the stack is 0, return 0 and not an empty value ---------------------------- revision : 2.48 date : 2010/04/09 14:24:19 add HTTPTIME correct TICK function ( don't remove first elem of the stack ) ---------------------------- revision : 2.47 date : 2009/04/30 18:24:12 add SUM and STATS ---------------------------- revision : 2.46 date : 2009/04/08 11:32:54 bug fix : reverse order for >, >= and < <= ---------------------------- revision : 2.45 date : 2009/03/16 10:37:23 typo error in STR2DDEC ---------------------------- revision : 2.44 date : 2009/03/13 18:14:17 add OCTSTR2HEX, OCTSTR2HEX, DDEC2STR and STR2DDEC ---------------------------- revision : 2.43 date : 2008/11/07 08:53:12 add LOOKUPP and LOOKUPOPP IF THEN and OF THEN ELSE become reentrant ---------------------------- revision : 2.42 date : 2008/8/18 13:22:38 add LOOKUP and LOOKUPOP fix !! and !!C parameter ---------------------------- revision : 2.41 date : 2008/4/15 15:41:38 add SEARCHK and SEARCHKI ---------------------------- revision : 2.39 date : 2008/4/4 11:44:23 correct !!! operators ---------------------------- revision : 2.38 date : 2007/9/25 16:12:30 add ISNUM ISNUMD ISINT ISINTD ISHEX ISHEXD ---------------------------- revision : 2.37 date : 2007/8/8 16:01:37 correct IF ELSE THEN to follow the IF THEN code ---------------------------- revision : 2.36 date : 2007/8/8 11:01:53 remove extra value on the return stack in IF THEN ---------------------------- revision : 2.35 date : 2007/8/8 10:48:11 correct the IF THEN ---------------------------- revision : 2.34 date : 2007/6/7 9:29:40 correct the return from dict (retrun always 3 values) ---------------------------- revision : 2.33 date : 2006/8/23 11:29:40 add CATALL ---------------------------- revision : 2.32 date : 2006/3/16 16:2:41 add KEEPN, COPY, !!, !!C, !!!, !!!C change in PRESERVE INC, DEC, @ ---------------------------- revision : 2.31 date : 2006/3/16 12:11:22 correct +LOOP code ---------------------------- revision : 2.30 date : 2006/3/16 9:41:0 don't execute code in definition when creating new WORD correct code for WHILE ---------------------------- revision : 2.29 date : 2006/3/13 15:27:25 add PRESERVE correct DEL and PRESERVE when length to delete is greater then stack ---------------------------- revision : 2.28 date : 2006/3/13 14:33:55 now xxx,0,KEEP clear the stack ---------------------------- revision : 2.27 date : 2006/3/13 14:24:9 add SEARCH and SEARCHI ---------------------------- revision : 2.26 date : 2006/1/16 15:16:56 the previous PERL for call of a perl function become PERLFUNC PERL become the inline perl code use ---------------------------- revision : 2.25 date : 2006/1/12 13:0:30 add OCT operator correct SPATx operators to allow replacement by capturing parentheses ---------------------------- revision : 2.24 date : 2006/1/6 10:33:2 add a function to modify the separator of the result ---------------------------- revision : 2.23 date : 2006/1/6 9:6:31 add the KEEP function ---------------------------- revision 2.19 date: 2005-10-05 13:53:57 +0000; create name space for PERL function ---------------------------- revision 2.18 date: 2005-10-03 06:58:08 +0000; possibility to call PERL function ---------------------------- revision 2.17 date: 2005-07-20 06:56:17 +0000; correct the SUB creation (don't execute stack when store function) ---------------------------- revision 2.16 date: 2005-06-29 09:15:33 +0000; return '' in case of LN(0) ---------------------------- revision 2.15 date: 2005-06-29 09:06:40 +0000; retrun '' in case of division by null ---------------------------- revision 2.14 date: 2005-04-21 10:51:45 +0000; in IF remove the value on top of the stack before executing the IF code ---------------------------- revision 2.13 date: 2005-04-21 08:14:49 +0000; add logical operators ---------------------------- revision 2.12 date: 2005-04-20 13:36:41 +0000; correct all the loop algo ---------------------------- revision 2.11 date: 2005-04-19 14:31:39 +0000; error in TIF (no stack ) ---------------------------- revision 2.10 date: 2005-04-17 14:27:03 +0000; remove the leading empty string when SPLIT and SPLITI matche the beginning of the string ---------------------------- revision 2.9 date: 2005-04-17 13:44:59 +0000; correct code for IF (use top of stack and not end) ---------------------------- revision 2.8 date: 2004-11-28 17:44:03 +0000; replace \1 by $1 to prevent warning in substitution ---------------------------- revision 2.7 date: 2004-10-12 10:11:27 +0000; clean up code ---------------------------- revision 2.6 date: 2004-10-12 10:09:00 +0000; clean up code ---------------------------- revision 2.5 date: 2004-10-01 06:58:49 +0000; add SPLIT, SPLITI, PATI, TPATI ---------------------------- revision 2.4 date: 2004-09-30 15:38:51 +0000; correct PAT return and LCFIRST return ---------------------------- revision 2.3 date: 2004-08-29 17:43:08 +0000; test if string in VAR or DICT ---------------------------- revision 2.02 date: 2004-08-29 16:48:17 +0000; better use of STRING (when space before and after) ---------------------------- revision 2.01 date: 2004-08-29 11:56:06 +0000; transfert NRPM to RPM ---------------------------- revision 2.00 date: 2004-08-29 10:02:59 +0000; transfert NRPM to RPM ---------------------------- revision 1.24 date: 2004-08-06 10:40:56 +0000; add DEL ---------------------------- revision 1.23 date: 2004-08-06 10:19:19 +0000; correct license text ---------------------------- revision 1.22 date: 2004-08-06 08:41:47 +0000; POPN, PI added ---------------------------- revision 1.21 date: 2004-08-06 07:30:56 +0000; use the same loop in PRINTF to allow any number of field in format ---------------------------- revision 1.20 date: 2004-08-06 07:12:31 +0000; correct REGEX in PACK to allow only 1 letter as format ---------------------------- revision 1.19 date: 2004-08-05 19:03:37 +0000; correct PACK command to allow any number of param ---------------------------- revision 1.18 date: 2004-08-05 15:59:12 +0000; use PACK and check number of variable in format ---------------------------- revision 1.17 date: 2004-08-05 14:25:59 +0000; add PRINTF to convert value to ---------------------------- revision 1.16 date: 2004-08-05 13:18:23 +0000; add synomin of +- to NEG ---------------------------- revision 1.15 date: 2004-08-05 13:11:23 +0000; add +- function to negate a numerical value ---------------------------- revision 1.14 date: 2004-04-27 15:02:11 +0000; swap RROT and ROT ---------------------------- revision 1.13 date: 2004-04-27 14:52:55 +0000; add function RROT, SWAP2, REVERSE, ROT3 ---------------------------- revision 1.12 date: 2003-10-20 10:05:14 +0000; correct typo error in POD for TPAT ---------------------------- revision 1.11 date: 2003-10-20 09:56:25 +0000; add TPAT ---------------------------- revision 1.10 date: 2003-10-20 09:49:55 +0000; TPAT return 0 if not pattern found ---------------------------- revision 1.9 date: 2003-10-20 09:42:27 +0000; add TPAT (test pattern) ---------------------------- revision 1.8 date: 2003-10-20 09:16:12 +0000; add SWAT alias EXCH to keep compatibility with Math::RPN ---------------------------- revision 1.7 date: 2003-10-20 08:20:10 +0000; correct VERSION number for MakeMaker again ---------------------------- revision 1.6 date: 2003-10-20 08:15:32 +0000; correct VERSION number for MakeMaker ---------------------------- revision 1.5 date: 2003-10-19 20:03:20 +0000; correct typo in POD ---------------------------- revision 1.4 date: 2003-10-19 19:59:53 +0000; correct typo in POD ---------------------------- revision 1.3 date: 2003-10-19 19:59:23 +0000; correct typo in POD ---------------------------- revision 1.2 date: 2003-10-19 19:57:41 +0000; Clean code and add POD doc ---------------------------- revision 1.1 date: 2003-10-19 19:50:20 +0000; branches: 1.1.1; Initial revision ---------------------------- revision 1.1.1.2 date: 2004-08-29 11:54:26 +0000; no message ---------------------------- revision 1.1.1.1 date: 2003-10-19 19:50:20 +0000; RPN parser with STRING functions =============================================================================