SPL,L,O   
!     NAME:   IF..
!     SOURCE: 92067-18214 
!     RELOC:  92067-16185 
!     PGMR:   A.M.G.
! 
!  ***************************************************************
!  * (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979.  ALL RIGHTS     *
!  * RESERVED.  NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED,      *
!  * REPRODUCED OR TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT*
!  * THE PRIOR WRITTEN CONSENT OF HEWLETT-PACKARD COMPANY.       *
!  ***************************************************************
! 
       NAME IF..(8) "92067-16185 REV.2001 791015" 
! 
       LET READF,POSNT,IER. BE SUBROUTINE,EXTERNAL
       LET C.BUF BE REAL,EXTERNAL 
       LET CAM.I,NO.RD,TTY. BE INTEGER,EXTERNAL 
       LET .E.R.,CAD. BE INTEGER,EXTERNAL 
! 
       LET ETAB BE CONSTANT (43K) 
       LET LTAB BE CONSTANT (31K) 
       LET GTAB BE CONSTANT (26K) 
       LET FTR BE INTEGER (2) 
       LET DIF,NCOM,P1,P2,MASK,RTABP,REL BE INTEGER 
       LET RTAB BE INTEGER (7)
       INITIALIZE FTR TO "TR",0 
       INITIALIZE RTAB TO "LEGEGTLTNEEQ",0
! 
! 
IF..: SUBROUTINE(N,PLIST,ERR) GLOBAL
       LET N,PLIST,ERR BE INTEGER 
       IF TTY. THEN [ERR _ 10;  RETURN]     !IF TTY, REJECT REQ.
       NCOM _ [P2 _ [REL _ [P1 _            \SET UP POINTERS. 
          @PLIST - 1] + 6] + 2] + 6 
       FOR I _ 1 TO 4 DO [                  \COMPARE P1 AND P2. 
          IF [DIF _ $[P1 _ P1 + 1]          \ 
             - $[P2 _ P2 + 1]] THEN         \ 
             GOTO COMP] 
COMP:  DIF _ [IF DIF < 0 THEN               \GET APPROPRIATE
          LTAB, ELSE [IF DIF THEN GTAB,     \MASK WORD. 
          ELSE ETAB]] 
       RTABP _ @REL;  MASK _ 1
CLOOP: IFNOT $[RTABP _ RTABP + 1]           \MATCH RELATION 
          THEN [ERR _ 56;  RETURN]          !USED IN COMMAND. 
       IFNOT $RTABP = $REL THEN [           \ 
          MASK _ MASK <- 1;  GOTO CLOOP]
       IFNOT (MASK AND DIF) THEN RETURN 
       IF $(NCOM-1)=3 THEN [ERR_56;RETURN]  !IF ASCII, ERROR
       IFNOT $NCOM THEN $NCOM _ 1           !DEFAULT SKIP 
       CALL POSNT(CAM.I,.E.R.,$NCOM)        !SKIP INDICATED 
       IF .E.R.= -12 THEN [                 \ 
          IF $NCOM<0 THEN RETURN;           \ 
          N,$(@PLIST+1)_0;                  \ 
          CAD.,NO.RD _ 1 ;                  \ 
          RETURN ]
       IER. 
       RETURN 
       END
       END
       END$ 
                                                                                                                                                        