anchor.diff:        INTEGER TABLE(NCLS,NRWS),NTOK,TOKLST(3,MTOK)
         COMMON /CASTAB/ TABLE,NTOK,TOKLST
   * ----------------------------------------------------------------------
  +      INTEGER I,J,NS,NQ,S(3,MTOK),Q(3,MTOK),IVAL(4)
         DOUBLE PRECISION FVAL(2)
  -      INTEGER IVAL(4)
         EQUIVALENCE (FVAL,IVAL)
  -*
  -      IVAL(3) = IDS(2,NID)
  -      IVAL(4) = IDS(3,NID)
  -      NID = NID - 1
  -      IVAL(1) = IDS(2,NID)
  -      IVAL(2) = IDS(3,NID)
  -*
  -      SELECT CASE (OPS(1,NOP))
  -      CASE(POW)
  -        FVAL(1) = FVAL(1) ** FVAL(2)
  -      CASE(MUL)
  -        FVAL(1) = FVAL(1) * FVAL(2)
  -      CASE(DIV)
  -        FVAL(1) = FVAL(1) / FVAL(2)
  -      CASE(ADD)
  -        FVAL(1) = FVAL(1) + FVAL(2)
  -      CASE(SUB)
  -        FVAL(1) = FVAL(1) - FVAL(2)
  -      CASE DEFAULT
  -        WRITE(0,9901) STR(OPS(2,NOP):OPS(3,NOP))
  -        GOTO 9999
  -      END SELECT
  -*
  -      IDS(2,NID) =  IVAL(1)
  -      IDS(3,NID) =  IVAL(2)
  -*
  -      NOP = NOP - 1
  -*
  - 8999 RETURN
  - 9901 FORMAT('0*** OPERATOR NOT SUPPORTED: ',A)
  - 9999 STOP
  -      END SUBROUTINE DOOPER
  -************************************************************************
  -      SUBROUTINE PARSE(STR)
  -      IMPLICIT NONE
  -      CHARACTER STR*(*)
  -* ----------------------------------------------------------------------
  -      INTEGER    NCLS,     NRWS,       MTOK
  -      PARAMETER (NCLS=5,   NRWS=135,   MTOK=128)
  -*
  -      INTEGER    UNKN,      WHIT,      IDEN      
  -      PARAMETER (UNKN=0,    WHIT=101,  IDEN=201)
  -      INTEGER    INTG,      FLOT,       SCI,      SCIS,      NUMB
  -      PARAMETER (INTG=301,  FLOT=302,   SCI=303,  SCIS=304,  NUMB=300)
  -      INTEGER     POW,       MUL,       DIV,      FDIV,      MODU
  -      PARAMETER ( POW=401,   MUL=402,   DIV=403,  FDIV=404,  MODU=405)
  -      INTEGER     ADD,       SUB,      OPER
  -      PARAMETER ( ADD=406,   SUB=407,  OPER=400)
  -      INTEGER     GRP,      OGRP,      CGRP,      OPAR,      CPAR
  -      PARAMETER ( GRP=500,  OGRP=510,  CGRP=520,  OPAR=511,  CPAR=521)
  -*
  -      INTEGER     ERR,       NEW,      PUSH,      FLSH
  -      PARAMETER ( ERR=0,     NEW=101,  PUSH=102,  FLSH=103)
  -*
  -      INTEGER TABLE(NCLS,NRWS),NTOK,TOKLST(3,MTOK)
  -      COMMON /CASTAB/ TABLE,NTOK,TOKLST
  -* ----------------------------------------------------------------------
  -      INTEGER I,J,NS,NQ,S(3,MTOK),Q(3,MTOK)
  -      DOUBLE PRECISION FVAL
   *
         FVAL = 0D0
         NS   = 0
  
positive.code:             S(3,NS) = TOKLST(3,I)
            ENDIF
          END IF
        CASE (GRP)
        CASE DEFAULT
          WRITE(0,9001) STR(TOKLST(2,I):TOKLST(3,I))
          GOTO 9999
  
negative.code:       PROGRAM EVAL
        IMPLICIT NONE
        CHARACTER*64 RAW
        PARAMETER (RAW=' .314+ 1.40*3/12')
        CALL SCAN(RAW)
        CALL PARSE(RAW)
   8999 GOTO 9999
   9999 STOP
        END PROGRAM EVAL
  ************************************************************************
        SUBROUTINE PARSE(STR)
        IMPLICIT NONE
        CHARACTER STR*(*)
  * ----------------------------------------------------------------------
        INTEGER    NCLS,     NRWS,       MTOK
        PARAMETER (NCLS=5,   NRWS=135,   MTOK=128)
  