home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #1 / monster.zip / monster / PROG_BAS / PRO98SRC.ZIP / CALC.CMD < prev    next >
OS/2 REXX Batch file  |  1994-01-15  |  1KB  |  41 lines

  1. 'calc commands
  2. GOTO EXITSELECT
  3. PtrINCR:'        CASE "INCR"
  4.                 v%=ArgPtr%
  5.             A!=VAL(POPARG$)
  6.                 INCR A!
  7.         VSET2 LITERAL$(v%),STR$(A!)
  8.  
  9. GOTO EXITSELECT
  10. PtrDECR:'        CASE "DECR"
  11.                 v%=ArgPtr%
  12.             A!=VAL(POPARG$)
  13.                 DECR A!
  14.         VSET2 LITERAL$(v%),STR$(A!)
  15.  
  16.  
  17. GOTO EXITSELECT
  18. PtrCALC:'        CASE "CALC","EVAL","WHAT", "DOES"
  19.                 ' Build an expression to calculate by stringing together
  20.                 ' all pushed arguments that may constitute an arithmetic
  21.                 ' expression.  When we come to a non arithmetic symbol or
  22.                 ' bit of text, push it back and calculate what we have.
  23.                 A$=""
  24.                 DO
  25.                     B$=POPARG$
  26.                         IF B$="" THEN B$="0"
  27.                         IF VERIFY(B$,"01234567890 .+-/\*^()><=") THEN
  28.                             PUSHARG B$
  29.                                 EXIT LOOP
  30.                         END IF
  31.                 A$=A$+B$
  32.                 LOOP WHILE ArgPtr%>0
  33.                 PUSHARG STR$(CALC(A$))
  34.  
  35. GOTO EXITSELECT
  36. PtrMathSym:'        CASE "+","-","/","*","(",")",">","<","=","&","0"
  37.                 INCR ArgPtr%
  38.                 ARG$(ArgPtr%)=Prg$
  39.                 'PUSHARG PRG$
  40.  
  41.