ADAS Subroutine xxword
SUBROUTINE XXWORD( CTEXT , CDELIM , NFIRST , & IWORDS , & IFIRST , ILAST , NWORDS & ) C----------------------------------------------------------------------- C C ****************** FORTRAN77 SUBROUTINE: XXWORD ********************* C C PURPOSE: TO EXTRACT THE Nfirst to (Nfirst+IWORDS-1) WORDS FROM AN C INPUT STRING. OUTPUTS THE FIRST AND LAST BYTE INDEXES OF C EACH WORD AS WELL AS THE TOTAL NUMBER OF WORDS FOUND. C C A WORD = A STRING OF CHARACTERS SEPARATED BY ANY CHARACTER C CONTAINED IN THE INPUT STRING CDELIM. C C CALLING PROGRAM: GENERAL USE C C SUBROUTINE: C C INPUT : (C*(*)) CTEXT = INPUT TEXT LINE CONTAINING STRING C INPUT : (C*(*)) CDELIM = INPUT STRING CONTAINING DELIMITER CHARS. C INPUT : (I*4) NFIRST = THE INDEX NO. OF THE FIRST WORD TO EXTRACT. C C I/O : (I*4) IWORDS = INPUT : SIZE OF IFIRST, ILAST(ARRAYS) C (I.E. NUMBER OF WORDS TO EXTRACT) C = OUTPUT: NUMBER OF REQUESTED WORDS FOUND C C OUTPUT: (I*4) IFIRST()= INDEX OF FIRST BYTE OF THE Nth WORD C OUTPUT: (I*4) ILAST() = INDEX OF LAST BYTE OF THE Nth WORD C OUTPUT: (I*4) NWORDS = THE TOTAL NUMBER OF WORDS FOUND IN CTEXT C C (I*4) LENTXT = LENGTH IN BYTES OF 'CTEXT' STRING C (I*4) IDELIM = 0 => CTEXT CHARACTER IS NOT A DELIMITER C > 0 => CTEXT CHARACTER IS A DELIMITER C (I*4) ITOTAL = NUMBER OF WORDS FOUND SO FAR C (I*4) IINDEX = IFIRST()/ILAST() INDEX OF CURRENT WORD C (I*4) NLAST = THE INDEX NO. OF THE LAST WORD TO EXTRACT C (I*4) I = GENERAL USE INDEX C C (L*4) LWORD = .TRUE. - PROCESSING AN IDENTIFIED WORD C .FALSE. - PROCESSING SPACE BETWEEN WORDS C C ROUTINES: NONE C C NOTES: IF THERE IS NO Nfirst WORD OR NO WORDS ARE FOUND C (I.E. INPUT STRING IS BLANK) THEN IWORDS=0 C C AUTHOR: PAUL E. BRIDEN (TESSELLA SUPPORT SERVICES PLC) C K1/0/37 C JET EXT. 5023 C C DATE: 20/05/93 C C----------------------------------------------------------------------- CHARACTER*(*) CDELIM, CTEXT INTEGER IFIRST(IWORDS), ILAST(IWORDS) INTEGER IWORDS, NFIRST, NWORDS