anchor.diff:        INTEGER I,J,LNGTH,STATE,ACTN,NXTST,IND
         INTEGER STRT,ENDT
   * ----------------------------------------------------------------------
  -      INTEGER    NCLS,     NRWS
  -      PARAMETER (NCLS=5,   NRWS=106)
  +      INTEGER    NCLS,     NRWS,       MTOK
  +      PARAMETER (NCLS=5,   NRWS=106,   MTOK=128)
   *
         INTEGER    UNKN,      WHIT,      IDEN      
         PARAMETER (UNKN=0,    WHIT=101,  IDEN=201)
  
positive.code:       BLOCK DATA ASCTAB
        IMPLICIT NONE
  * ----------------------------------------------------------------------
        INTEGER    NCLS,     NRWS
        PARAMETER (NCLS=5,   NRWS=106)
  *
        INTEGER    UNKN,      WHIT,      IDEN      
        PARAMETER (UNKN=0,    WHIT=101,  IDEN=201)
  
negative.code:       CASE(PUSH)
          ENDT = ENDT + 1
        CASE(FLSH)
          IF (STATE.NE.WHIT) THEN
            NTOK = NTOK + 1
            TOKLST(1,NTOK) = STATE
            TOKLST(2,NTOK) = STRT
            TOKLST(3,NTOK) = ENDT
            WRITE(6,9021)STATE,STRT,ENDT,
       &                 REPEAT(' ',STRT-1)//INP(STRT:ENDT)
          END IF
          STRT = I
          ENDT = STRT
        END SELECT
   1001 STATE = NXTST
  *
        IF (ENDT.GE.STRT.AND.STATE.NE.WHIT) THEN
          NTOK = NTOK + 1
          TOKLST(1,NTOK) = STATE
          TOKLST(2,NTOK) = STRT
          TOKLST(3,NTOK) = ENDT
          WRITE(6,9021)STATE,STRT,ENDT,
       &                 REPEAT(' ',STRT-1)//INP(STRT:ENDT)
        END IF
  *
   8999 RETURN
   9001 FORMAT('     INPUT STRING:',2X,A)
   9011 FORMAT(' STATE START   END')
   9021 FORMAT(3(2X,I4),2X,A)
   9031 FORMAT(3(2X,I4))
        END SUBROUTINE SCAN
  ************************************************************************
        SUBROUTINE SCNERR(INP,IND,STATE)
  