SUBROUTINE CMSKIP(LINE,SCANPT, SCNTRM) NOLINEUP C C SKIP OVER NOISE AND COMMENT FIELD(S), IF ANY, I.E. -- C IF FIRST NON-NOISE CHAR AFTER LINE(SCANPT) IS , RETURN C WITH SCNTRM POINTING AT FIRST NON-NOISE CHAR AFTER CLOSING C OR AT . ELSE SCNTRM=SCANPT. C C INPUTS-- C . LINE() - COMMAND LINE - CHAR*1(N) C . SCANPT - STARTING SCAN POINTER C C OUTPUT-- C . SCNTRM - ENDING SCAN POINTER C INCLUDE (SCANLIB.PARAMS) INCLUDE (SCANLIB.CMTABL) CHARACTER*1 LINE(1) INTEGER SCANPT, SCNTRM C SCAN = SCANPT DO (CHECK FOR PUNCTUATION) DO WHILE (TRMTYP.EQ.NOISE) SCAN = SCAN + 1 DO (CHECK FOR PUNCTUATION) END WHILE C DO WHILE (TRMTYP.EQ.COMENT) SCAN = SCAN + 1 DO (CHECK FOR PUNCTUATION) DO WHILE (SCAN.LT.EOL .AND. TRMTYP.NE.COMENT) SCAN = SCAN + 1 DO (CHECK FOR PUNCTUATION) END WHILE C IF (SCAN.LT.EOL) THEN SCAN = SCAN + 1 DO (CHECK FOR PUNCTUATION) DO WHILE (TRMTYP.EQ.NOISE) SCAN = SCAN + 1 DO (CHECK FOR PUNCTUATION) END WHILE ENDIF END WHILE SCNTRM = SCAN RETURN C C$CCC ---------------------------------- C PROCEDURE (CHECK FOR PUNCTUATION) NDXPUN = 0 DO FOR I=1,PNTBSZ IF (LINE(SCAN).EQ.PUNTBL(I)) NDXPUN = I END FOR IF (NDXPUN.LE.0) THEN TRMTYP = 0 ELSE TRMTYP = PNCODE(NDXPUN) ENDIF IF (SCAN.GE.EOL) TRMTYP = CMTERM END PROCEDURE C END