anchor.diff:        INTEGER SZ
         PARAMETER (SZ=64)
         CHARACTER*(SZ) RAW
  +      CHARACTER*8 SVAL
         DO 1001 WHILE (.TRUE.)
         READ(5,9001,END=8999)RAW
         CALL UCASE(RAW)
  
positive.code:  9001 FORMAT('0*** ERROR TOKEN: -->',A,'<--')
        END SUBROUTINE INFIX2POSTFIX
  !------------------------------------------------------------------------------+
        SUBROUTINE EVALUATE(STR)
        IMPLICIT NONE
        CHARACTER STR*(*)
        CALL SCAN(STR)
        CALL PARSE(STR)
        END SUBROUTINE EVALUATE
  !------------------------------------------------------------------------------+
        END MODULE MOD_EVALUATE
  !------------------------------------------------------------------------------+
  
negative.code: !         because the parenthesis states are 500 while operator states
  !         are 400.
            IF (S%TOKENS(S%COUNT)%STATE.LE.INFIX%TOKENS(I)%STATE) THEN
              CALL POP_TOKEN(T,S)                   ! POP OP FROM STACK
              CALL PUSH_TOKEN(T,Q)                  !     ONTO QUEUE
              CALL PUSH_TOKEN(INFIX%TOKENS(I),S)    ! PUSH NEXT OP TO STACK
            ELSE
              CALL PUSH_TOKEN(INFIX%TOKENS(I),S)    ! PUSH OP TO STACK
  