SPL,L,O,M 
!     NAME:   IF..
!     SOURCE: 92070-18020 
!     RELOC:  92070-16020 
!     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) "  92070-1X020  REV.1941  790803" 
! 
!  EXTERNAL SUBROUTINES 
      LET IER.      BE SUBROUTINE,EXTERNAL,DIRECT 
      LET POSNT     BE SUBROUTINE,EXTERNAL
      LET READF     BE SUBROUTINE,EXTERNAL
!  EXTERNAL INTEGERS
      LET .E.R      BE INTEGER,EXTERNAL 
      LET C.BUF     BE REAL,EXTERNAL
      LET CAD.      BE INTEGER,EXTERNAL 
      LET CAM.I     BE INTEGER,EXTERNAL 
      LET INT.      BE INTEGER,EXTERNAL 
      LET NO.RD     BE INTEGER,EXTERNAL 
!  INTERNAL VARIBLES
       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 INT. 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 [                  \EOF OR SOF ERROR 
          IF $NCOM<0 THEN RETURN;           \ 
          N,$(@PLIST+1)_0;                  \ 
          CAD.,NO.RD _ 1 ;                  \FORCE XFER STACK BACK
          RETURN ]
       IER. 
       RETURN 
       END
       END
       END$ 
                                                                                            