FM715.f Source File


Contents

Source Code


Source Code

      PROGRAM FM715                                                     00010715
C                                                                       00020715
C     THIS ROUTINE TESTS CHARACTER EXPRESSIONS           ANS REF.       00030715
C     AND CONCATENATION OPERATIONS USING                 6.2, 6.2.1,    00040715
C     ASSIGNMENT STATEMENTS AND RELATIONAL               6.2.2, 6.2.2.2,00050715
C     EXPRESSIONS.                                       6.6.5          00060715
C                                                                       00070715
C     THIS ROUTINE USES ROUTINES CF716-CF717 AS FUNCTION SUBPROGRAMS.   00080715
C                                                                       00090715
C     THE FUNCTION LEN IS ASSUMED WORKING.                              00100715
C                                                                       00110715
CBB** ********************** BBCCOMNT **********************************00120715
C****                                                                   00130715
C****            1978 FORTRAN COMPILER VALIDATION SYSTEM                00140715
C****                          VERSION 2.1                              00150715
C****                                                                   00160715
C****                                                                   00170715
C****           SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO         00180715
C****          NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY           00190715
C****               SOFTWARE STANDARDS VALIDATION GROUP                 00200715
C****                      BUILDING 225  RM A266                        00210715
C****                     GAITHERSBURG, MD  20899                       00220715
C****                                                                   00230715
C****                                                                   00240715
C****                                                                   00250715
CBE** ********************** BBCCOMNT **********************************00260715
           IMPLICIT DOUBLE PRECISION (D), COMPLEX (Z), LOGICAL (L)      00270715
           IMPLICIT CHARACTER*27 (C)                                    00280715
CBB** ********************** BBCINITA **********************************00290715
C**** SPECIFICATION STATEMENTS                                          00300715
C****                                                                   00310715
      CHARACTER ZVERS*13, ZVERSD*17, ZDATE*17, ZPROG*5, ZCOMPL*20,      00320715
     1          ZNAME*20, ZTAPE*10, ZPROJ*13, REMRKS*31, ZTAPED*13      00330715
CBE** ********************** BBCINITA **********************************00340715
C                                                                       00350715
      CHARACTER CVCOMP*65, CVCORR*65, CPN001*5, CPN002*10               00360715
      CHARACTER CVN001*7, CVN002*35, C2N001(2,2)*6, CF716*10            00370715
      CHARACTER*(*) CPN003                                              00380715
      CHARACTER*2 CVN003, CVN004, CVD005, CF717                         00390715
      PARAMETER (CPN001='PQRST', CPN002='EXPRESSION')                   00400715
      PARAMETER (CPN003='NOW IS THE TIME FOR ALL GOOD MEN')             00410715
      DATA CVN001 / 'ONE+TWO' /                                         00420715
      DATA CVN002 / 'THIS-IS-A-LONG-CHARACTER-STRING' /                 00430715
      DATA C2N001 / 'ABCDEF', 'GHIJKL', 'MNOPQR', 'STUVWX' /            00440715
C                                                                       00450715
C                                                                       00460715
CBB** ********************** BBCINITB **********************************00470715
C**** INITIALIZE SECTION                                                00480715
      DATA  ZVERS,                  ZVERSD,             ZDATE           00490715
     1      /'VERSION 2.1  ',  '93/10/21*21.02.00',  '*NO DATE*TIME'/   00500715
      DATA       ZCOMPL,             ZNAME,             ZTAPE           00510715
     1      /'*NONE SPECIFIED*', '*NO COMPANY NAME*', '*NO TAPE*'/      00520715
      DATA       ZPROJ,           ZTAPED,         ZPROG                 00530715
     1      /'*NO PROJECT*',   '*NO TAPE DATE',  'XXXXX'/               00540715
      DATA   REMRKS /'                               '/                 00550715
C**** THE FOLLOWING 9 COMMENT LINES (CZ01, CZ02, ...) CAN BE REPLACED   00560715
C**** FOR IDENTIFYING THE TEST ENVIRONMENT                              00570715
C****                                                                   00580715
CZ01  ZVERS  = 'VERSION OF THE COMPILER VALIDATION SYSTEM'              00590715
CZ02  ZVERSD = 'CREATION DATE/TIME OF THE COMPILER VALIDATION SYSTEM'   00600715
CZ03  ZPROG  = 'PROGRAM NAME'                                           00610715
CZ04  ZDATE  = 'DATE OF TEST'                                           00620715
CZ05  ZCOMPL = 'COMPILER IDENTIFICATION'                                00630715
CZ06  ZPROJ  = 'PROJECT NUMBER/IDENTIFICATION'                          00640715
CZ07  ZNAME  = 'NAME OF USER'                                           00650715
CZ08  ZTAPE  = 'TAPE OWNER/ID'                                          00660715
CZ09  ZTAPED = 'DATE TAPE COPIED'                                       00670715
C                                                                       00680715
      IVPASS = 0                                                        00690715
      IVFAIL = 0                                                        00700715
      IVDELE = 0                                                        00710715
      IVINSP = 0                                                        00720715
      IVTOTL = 0                                                        00730715
      IVTOTN = 0                                                        00740715
      ICZERO = 0                                                        00750715
C                                                                       00760715
C     I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER.         00770715
      I01 = 05                                                          00780715
C     I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER.             00790715
      I02 = 06                                                          00800715
C                                                                       00810715
CX010   REPLACED BY FEXEC X-010 CONTROL CARD (CARD-READER UNIT NUMBER). 00820715
C     THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5      00830715
CX011   REPLACED BY FEXEC X-011 CONTROL CARD.  CX011 IS FOR SYSTEMS     00840715
C     REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX010.  00850715
C                                                                       00860715
CX020   REPLACED BY FEXEC X-020 CONTROL CARD (PRINTER UNIT NUMBER).     00870715
C     THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02= 6       00880715
CX021   REPLACED BY FEXEC X-021 CONTROL CARD.  CX021 IS FOR SYSTEMS     00890715
C     REQUIRING ADDITIONAL STATEMENTS FOR FILES ASSOCIATED WITH CX020.  00900715
C                                                                       00910715
CBE** ********************** BBCINITB **********************************00920715
           ZPROG='FM715'                                                00930715
           IVTOTL =  34                                                 00940715
CBB** ********************** BBCHED0A **********************************00950715
C****                                                                   00960715
C**** WRITE REPORT TITLE                                                00970715
C****                                                                   00980715
      WRITE (I02, 90002)                                                00990715
      WRITE (I02, 90006)                                                01000715
      WRITE (I02, 90007)                                                01010715
      WRITE (I02, 90008)  ZVERS, ZVERSD                                 01020715
      WRITE (I02, 90009)  ZPROG, ZPROG                                  01030715
      WRITE (I02, 90010)  ZDATE, ZCOMPL                                 01040715
CBE** ********************** BBCHED0A **********************************01050715
CBB** ********************** BBCHED0B **********************************01060715
C**** WRITE DETAIL REPORT HEADERS                                       01070715
C****                                                                   01080715
      WRITE (I02,90004)                                                 01090715
      WRITE (I02,90004)                                                 01100715
      WRITE (I02,90013)                                                 01110715
      WRITE (I02,90014)                                                 01120715
      WRITE (I02,90015) IVTOTL                                          01130715
CBE** ********************** BBCHED0B **********************************01140715
C                                                                       01150715
C     TESTS 1-12 - CHARACTER EXPRESSIONS                                01160715
C                                                                       01170715
C                                                                       01180715
CT001*  TEST 001   ****  FCVS PROGRAM 715  ****                         01190715
C                                                                       01200715
C     CHARACTER CONSTANT IN AN ASSIGNMENT STATEMENT                     01210715
C                                                                       01220715
           IVTNUM =   1                                                 01230715
           CVCOMP = ' '                                                 01240715
           IVCOMP = 0                                                   01250715
           CVCORR = 'CONSTANT'                                          01260715
      CVCOMP = 'CONSTANT'                                               01270715
           IF (CVCOMP .EQ. 'CONSTANT') IVCOMP = 1                       01280715
           IF (IVCOMP - 1) 20010, 10010, 20010                          01290715
10010      IVPASS = IVPASS + 1                                          01300715
           WRITE (I02,80002) IVTNUM                                     01310715
           GO TO 0011                                                   01320715
20010      IVFAIL = IVFAIL + 1                                          01330715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     01340715
 0011      CONTINUE                                                     01350715
C                                                                       01360715
CT002*  TEST 002   ****  FCVS PROGRAM 715  ****                         01370715
C                                                                       01380715
C     CHARACTER CONSTANT IN AN IF STATEMENT                             01390715
C                                                                       01400715
           IVTNUM =   2                                                 01410715
           IVCOMP = 0                                                   01420715
           CVCOMP = ' '                                                 01430715
           IVCORR = 1                                                   01440715
      CVCOMP = 'RELATIONAL'                                             01450715
      IF (CVCOMP.EQ.'RELATIONAL') IVCOMP = 1                            01460715
40020      IF (IVCOMP - 1) 20020, 10020, 20020                          01470715
10020      IVPASS = IVPASS + 1                                          01480715
           WRITE (I02,80002) IVTNUM                                     01490715
           GO TO 0021                                                   01500715
20020      IVFAIL = IVFAIL + 1                                          01510715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     01520715
 0021      CONTINUE                                                     01530715
C                                                                       01540715
CT003*  TEST 003   ****  FCVS PROGRAM 715  ****                         01550715
C                                                                       01560715
C     SYMBOLIC NAME OF A CHARACTER CONSTANT IN AN ASSIGNMENT STATEMENT  01570715
C                                                                       01580715
           IVTNUM =   3                                                 01590715
           CVCOMP = ' '                                                 01600715
           IVCOMP = 0                                                   01610715
           CVCORR = 'PQRST'                                             01620715
      CVCOMP = CPN001                                                   01630715
           IF (CVCOMP .EQ. 'PQRST') IVCOMP = 1                          01640715
           IF (IVCOMP - 1) 20030, 10030, 20030                          01650715
10030      IVPASS = IVPASS + 1                                          01660715
           WRITE (I02,80002) IVTNUM                                     01670715
           GO TO 0031                                                   01680715
20030      IVFAIL = IVFAIL + 1                                          01690715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     01700715
 0031      CONTINUE                                                     01710715
C                                                                       01720715
CT004*  TEST 004   ****  FCVS PROGRAM 715  ****                         01730715
C                                                                       01740715
C     SYMBOLIC NAME OF A CHARACTER CONSTANT IN AN IF STATEMENT          01750715
C                                                                       01760715
           IVTNUM =   4                                                 01770715
           IVCOMP = 0                                                   01780715
           CVCOMP = ' '                                                 01790715
           IVCORR = 1                                                   01800715
      CVCOMP = 'EXPRESSION'                                             01810715
      IF (CVCOMP.EQ.CPN002) IVCOMP = 1                                  01820715
40040      IF (IVCOMP - 1) 20040, 10040, 20040                          01830715
10040      IVPASS = IVPASS + 1                                          01840715
           WRITE (I02,80002) IVTNUM                                     01850715
           GO TO 0041                                                   01860715
20040      IVFAIL = IVFAIL + 1                                          01870715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     01880715
 0041      CONTINUE                                                     01890715
C                                                                       01900715
CT005*  TEST 005   ****  FCVS PROGRAM 715  ****                         01910715
C                                                                       01920715
C     CHARACTER VARIABLE IN AN ASSIGNMENT STATEMENT                     01930715
C                                                                       01940715
           IVTNUM =   5                                                 01950715
           CVCOMP = ' '                                                 01960715
           IVCOMP = 0                                                   01970715
           CVCORR = 'ONE+TWO'                                           01980715
      CVCOMP = CVN001                                                   01990715
           IF (CVCOMP .EQ. 'ONE+TWO') IVCOMP = 1                        02000715
           IF (IVCOMP - 1) 20050, 10050, 20050                          02010715
10050      IVPASS = IVPASS + 1                                          02020715
           WRITE (I02,80002) IVTNUM                                     02030715
           GO TO 0051                                                   02040715
20050      IVFAIL = IVFAIL + 1                                          02050715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     02060715
 0051      CONTINUE                                                     02070715
C                                                                       02080715
CT006*  TEST 006   ****  FCVS PROGRAM 715  ****                         02090715
C                                                                       02100715
C     CHARACTER VARIABLE IN AN IF STATEMENT                             02110715
C                                                                       02120715
           IVTNUM =   6                                                 02130715
           IVCOMP = 0                                                   02140715
           CVCOMP = ' '                                                 02150715
           IVCORR = 1                                                   02160715
      CVCOMP = 'THIS-IS-A-LONG-CHARACTER-STRING'                        02170715
      IF (CVCOMP.EQ.CVN002) IVCOMP = 1                                  02180715
40060      IF (IVCOMP - 1) 20060, 10060, 20060                          02190715
10060      IVPASS = IVPASS + 1                                          02200715
           WRITE (I02,80002) IVTNUM                                     02210715
           GO TO 0061                                                   02220715
20060      IVFAIL = IVFAIL + 1                                          02230715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     02240715
 0061      CONTINUE                                                     02250715
C                                                                       02260715
CT007*  TEST 007   ****  FCVS PROGRAM 715  ****                         02270715
C                                                                       02280715
C     CHARACTER ARRAY ELEMENT REFERENCE IN AN ASSIGNMENT STATEMENT      02290715
C                                                                       02300715
           IVTNUM =   7                                                 02310715
           CVCOMP = ' '                                                 02320715
           CVCORR = 'GHIJKL'                                            02330715
           IVCOMP = 0                                                   02340715
      CVCOMP = C2N001(2,1)                                              02350715
           IF (CVCOMP .EQ. 'GHIJKL') IVCOMP = 1                         02360715
           IF (IVCOMP - 1) 20070, 10070, 20070                          02370715
10070      IVPASS = IVPASS + 1                                          02380715
           WRITE (I02,80002) IVTNUM                                     02390715
           GO TO 0071                                                   02400715
20070      IVFAIL = IVFAIL + 1                                          02410715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     02420715
 0071      CONTINUE                                                     02430715
C                                                                       02440715
CT008*  TEST 008   ****  FCVS PROGRAM 715  ****                         02450715
C                                                                       02460715
C     CHARACTER ARRAY ELEMENT REFERENCE IN AN IF STATEMENT              02470715
C                                                                       02480715
           IVTNUM =   8                                                 02490715
           CVCOMP = ' '                                                 02500715
           IVCOMP = 0                                                   02510715
           IVCORR = 1                                                   02520715
      CVCOMP = 'MNOPQR'                                                 02530715
      IF (CVCOMP.EQ.C2N001(1,2)) IVCOMP = 1                             02540715
40080      IF (IVCOMP - 1) 20080, 10080, 20080                          02550715
10080      IVPASS = IVPASS + 1                                          02560715
           WRITE (I02,80002) IVTNUM                                     02570715
           GO TO 0081                                                   02580715
20080      IVFAIL = IVFAIL + 1                                          02590715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     02600715
 0081      CONTINUE                                                     02610715
C                                                                       02620715
CT009*  TEST 009   ****  FCVS PROGRAM 715  ****                         02630715
C                                                                       02640715
C     SUBSTRING REFERENCE IN AN ASSIGNMENT STATEMENT                    02650715
C                                                                       02660715
           IVTNUM =   9                                                 02670715
           CVCOMP = ' '                                                 02680715
           IVCOMP = 0                                                   02690715
           CVCORR = 'CTER-STRIN'                                        02700715
      CVCOMP = CVN002(21:30)                                            02710715
           IF (CVCOMP .EQ. 'CTER-STRIN') IVCOMP = 1                     02720715
           IF (IVCOMP - 1) 20090, 10090, 20090                          02730715
10090      IVPASS = IVPASS + 1                                          02740715
           WRITE (I02,80002) IVTNUM                                     02750715
           GO TO 0091                                                   02760715
20090      IVFAIL = IVFAIL + 1                                          02770715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     02780715
 0091      CONTINUE                                                     02790715
C                                                                       02800715
CT010*  TEST 010   ****  FCVS PROGRAM 715  ****                         02810715
C                                                                       02820715
C     SUBSTRING REFERENCE IN AN IF STATEMENT                            02830715
C                                                                       02840715
           IVTNUM =  10                                                 02850715
           IVCOMP = 0                                                   02860715
           CVCOMP = ' '                                                 02870715
           IVCORR = 1                                                   02880715
      CVCOMP = 'A-LONG-CHA'                                             02890715
      IF (CVCOMP.EQ.CVN002(9:18)) IVCOMP = 1                            02900715
40100      IF (IVCOMP - 1) 20100, 10100, 20100                          02910715
10100      IVPASS = IVPASS + 1                                          02920715
           WRITE (I02,80002) IVTNUM                                     02930715
           GO TO 0101                                                   02940715
20100      IVFAIL = IVFAIL + 1                                          02950715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     02960715
 0101      CONTINUE                                                     02970715
C                                                                       02980715
CT011*  TEST 011   ****  FCVS PROGRAM 715  ****                         02990715
C                                                                       03000715
C     CHARACTER FUNCTION REFERENCE IN AN ASSIGNMENT STATEMENT           03010715
C                                                                       03020715
           IVTNUM =  11                                                 03030715
           CVCOMP = ' '                                                 03040715
           IVCOMP = 0                                                   03050715
           CVCORR = 'FIRST AID'                                         03060715
      CVCOMP = CF716(1)                                                 03070715
           IF (CVCOMP .EQ. 'FIRST AID') IVCOMP = 1                      03080715
           IF (IVCOMP - 1) 20110, 10110, 20110                          03090715
10110      IVPASS = IVPASS + 1                                          03100715
           WRITE (I02,80002) IVTNUM                                     03110715
           GO TO 0111                                                   03120715
20110      IVFAIL = IVFAIL + 1                                          03130715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     03140715
 0111      CONTINUE                                                     03150715
C                                                                       03160715
CT012*  TEST 012   ****  FCVS PROGRAM 715  ****                         03170715
C                                                                       03180715
C     CHARACTER FUNCTION REFERENCE IN AN IF STATEMENT                   03190715
C                                                                       03200715
           IVTNUM =  12                                                 03210715
           IVCOMP = 0                                                   03220715
           CVCOMP = ' '                                                 03230715
           IVCORR = 1                                                   03240715
      CVCOMP = 'SECONDRATE'                                             03250715
      IF (CVCOMP.EQ.CF716(2)) IVCOMP = 1                                03260715
40120      IF (IVCOMP - 1) 20120, 10120, 20120                          03270715
10120      IVPASS = IVPASS + 1                                          03280715
           WRITE (I02,80002) IVTNUM                                     03290715
           GO TO 0121                                                   03300715
20120      IVFAIL = IVFAIL + 1                                          03310715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     03320715
 0121      CONTINUE                                                     03330715
C                                                                       03340715
C     TESTS 13-30 CONCATENATION OPERATIONS                              03350715
C                                                                       03360715
C                                                                       03370715
CT013*  TEST 013   ****  FCVS PROGRAM 715  ****                         03380715
C                                                                       03390715
C     CONCATENATE TWO CHARACTER CONSTANTS IN AN ASSIGNMENT STATEMENT    03400715
C                                                                       03410715
           IVTNUM =  13                                                 03420715
           CVCOMP = ' '                                                 03430715
           IVCOMP = 0                                                   03440715
           CVCORR = 'ABCUVWXYZ'                                         03450715
      CVCOMP = 'ABC'//'UVWXYZ'                                          03460715
           IF (CVCOMP .EQ. 'ABCUVWXYZ') IVCOMP = 1                      03470715
           IF (IVCOMP - 1) 20130, 10130, 20130                          03480715
10130      IVPASS = IVPASS + 1                                          03490715
           WRITE (I02,80002) IVTNUM                                     03500715
           GO TO 0131                                                   03510715
20130      IVFAIL = IVFAIL + 1                                          03520715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     03530715
 0131      CONTINUE                                                     03540715
C                                                                       03550715
CT014*  TEST 014   ****  FCVS PROGRAM 715  ****                         03560715
C                                                                       03570715
C     CONCATENATE TWO CHARACTER CONSTANTS IN AN IF STATEMENT            03580715
C                                                                       03590715
           IVTNUM =  14                                                 03600715
           IVCOMP = 0                                                   03610715
           CVCOMP = ' '                                                 03620715
           IVCORR = 1                                                   03630715
      CVCOMP = 'THIS-IS-IT'                                             03640715
      IF (CVCOMP .EQ.'THIS-I'//'S-IT') IVCOMP = 1                       03650715
40140      IF (IVCOMP - 1) 20140, 10140, 20140                          03660715
10140      IVPASS = IVPASS + 1                                          03670715
           WRITE (I02,80002) IVTNUM                                     03680715
           GO TO 0141                                                   03690715
20140      IVFAIL = IVFAIL + 1                                          03700715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     03710715
 0141      CONTINUE                                                     03720715
C                                                                       03730715
CT015*  TEST 015   ****  FCVS PROGRAM 715  ****                         03740715
C                                                                       03750715
C     CONCATENATE A SYMBOLIC NAME OF A CHARACTER CONSTANT WITH A LITERAL03760715
C     STRING IN AN ASSIGNMENT STATEMENT                                 03770715
C                                                                       03780715
           IVTNUM =  15                                                 03790715
           CVCOMP = ' '                                                 03800715
           IVCOMP = 0                                                   03810715
           CVCORR = 'PQRSTUVWXYZ'                                       03820715
      CVCOMP = CPN001//'UVWXYZ'                                         03830715
           IF (CVCOMP .EQ. 'PQRSTUVWXYZ') IVCOMP = 1                    03840715
           IF (IVCOMP - 1) 20150, 10150, 20150                          03850715
10150      IVPASS = IVPASS + 1                                          03860715
           WRITE (I02,80002) IVTNUM                                     03870715
           GO TO 0151                                                   03880715
20150      IVFAIL = IVFAIL + 1                                          03890715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     03900715
 0151      CONTINUE                                                     03910715
C                                                                       03920715
CT016*  TEST 016   ****  FCVS PROGRAM 715  ****                         03930715
C                                                                       03940715
C     CONCATENATE A SYMBOLIC NAME OF A CHARACTER CONSTANT WITH A LITERAL03950715
C     STRING IN AN IF STATEMENT                                         03960715
C                                                                       03970715
           IVTNUM =  16                                                 03980715
           CVCOMP = ' '                                                 03990715
           IVCOMP = 0                                                   04000715
           IVCORR = 1                                                   04010715
      CVCOMP = 'USEFUL-EXPRESSION'                                      04020715
      IF (CVCOMP.EQ.'USEFUL-'//CPN002) IVCOMP = 1                       04030715
40160      IF (IVCOMP - 1) 20160, 10160, 20160                          04040715
10160      IVPASS = IVPASS + 1                                          04050715
           WRITE (I02,80002) IVTNUM                                     04060715
           GO TO 0161                                                   04070715
20160      IVFAIL = IVFAIL + 1                                          04080715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     04090715
 0161      CONTINUE                                                     04100715
C                                                                       04110715
CT017*  TEST 017   ****  FCVS PROGRAM 715  ****                         04120715
C                                                                       04130715
C     CONCATENATE A CHARACTER VARIABLE WITH A LITERAL STRING IN AN      04140715
C                                      ASSIGNMENT STATEMENT             04150715
C                                                                       04160715
           IVTNUM =  17                                                 04170715
      CVCOMP = ' '                                                      04180715
      IVCOMP = 0                                                        04190715
           CVCORR = 'ONE+TWO+THREE'                                     04200715
      CVCOMP = CVN001//'+THREE'                                         04210715
           IF (CVCOMP .EQ. 'ONE+TWO+THREE') IVCOMP = 1                  04220715
           IF (IVCOMP - 1) 20170, 10170, 20170                          04230715
10170      IVPASS = IVPASS + 1                                          04240715
           WRITE (I02,80002) IVTNUM                                     04250715
           GO TO 0171                                                   04260715
20170      IVFAIL = IVFAIL + 1                                          04270715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     04280715
 0171      CONTINUE                                                     04290715
C                                                                       04300715
CT018*  TEST 018   ****  FCVS PROGRAM 715  ****                         04310715
C                                                                       04320715
C     CONCATENATE A CHARACTER VARIABLE WITH A LITERAL STRING IN AN      04330715
C                                      IF STATEMENT                     04340715
C                                                                       04350715
           IVTNUM =  18                                                 04360715
           CVCOMP = ' '                                                 04370715
           IVCOMP = 0                                                   04380715
           IVCORR = 1                                                   04390715
      CVCOMP = 'ZERO+ONE+TWO'                                           04400715
      IF (CVCOMP.EQ.'ZERO+'//CVN001) IVCOMP = 1                         04410715
40180      IF (IVCOMP - 1) 20180, 10180, 20180                          04420715
10180      IVPASS = IVPASS + 1                                          04430715
           WRITE (I02,80002) IVTNUM                                     04440715
           GO TO 0181                                                   04450715
20180      IVFAIL = IVFAIL + 1                                          04460715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     04470715
 0181      CONTINUE                                                     04480715
C                                                                       04490715
CT019*  TEST 019   ****  FCVS PROGRAM 715  ****                         04500715
C                                                                       04510715
C     CONCATENATE A CHARACTER ARRAY ELEMENT WITH A LITERAL STRING IN AN 04520715
C                                           ASSIGNMENT STATEMENT        04530715
C                                                                       04540715
           IVTNUM =  19                                                 04550715
           CVCOMP = ' '                                                 04560715
           IVCOMP = 0                                                   04570715
           CVCORR = 'STUVWXYZ-END'                                      04580715
      CVCOMP = C2N001(2,2)//'YZ-END'                                    04590715
           IF (CVCOMP .EQ. 'STUVWXYZ-END') IVCOMP = 1                   04600715
           IF (IVCOMP - 1) 20190, 10190, 20190                          04610715
10190      IVPASS = IVPASS + 1                                          04620715
           WRITE (I02,80002) IVTNUM                                     04630715
           GO TO 0191                                                   04640715
20190      IVFAIL = IVFAIL + 1                                          04650715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     04660715
 0191      CONTINUE                                                     04670715
C                                                                       04680715
CT020*  TEST 020   ****  FCVS PROGRAM 715  ****                         04690715
C                                                                       04700715
C     CONCATENATE A CHARACTER ARRAY ELEMENT WITH A LITERAL STRING IN AN 04710715
C                                           IF STATEMENT                04720715
C                                                                       04730715
           IVTNUM =  20                                                 04740715
           CVCOMP = ' '                                                 04750715
           IVCOMP = 0                                                   04760715
           IVCORR = 1                                                   04770715
      CVCOMP = 'BEGIN-ABCDEF'                                           04780715
      IF (CVCOMP.EQ.'BEGIN-'//C2N001(1,1)) IVCOMP = 1                   04790715
40200      IF (IVCOMP - 1) 20200, 10200, 20200                          04800715
10200      IVPASS = IVPASS + 1                                          04810715
           WRITE (I02,80002) IVTNUM                                     04820715
           GO TO 0201                                                   04830715
20200      IVFAIL = IVFAIL + 1                                          04840715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     04850715
 0201      CONTINUE                                                     04860715
C                                                                       04870715
CT021*  TEST 021   ****  FCVS PROGRAM 715  ****                         04880715
C                                                                       04890715
C     CONCATENATE SPECIAL CHARACTERS IN AN ASSIGNMENT STATEMENT         04900715
C                                                                       04910715
           IVTNUM =  21                                                 04920715
           CVCOMP = ' '                                                 04930715
           IVCOMP = 0                                                   04940715
           CVCORR = '=+-*/(),.$'':'                                     04950715
      CVCOMP = '=+-*/('//'),.$'':'                                      04960715
           IF (CVCOMP .EQ. '=+-*/(),.$'':') IVCOMP = 1                  04970715
           IF (IVCOMP - 1) 20210, 10210, 20210                          04980715
10210      IVPASS = IVPASS + 1                                          04990715
           WRITE (I02,80002) IVTNUM                                     05000715
           GO TO 0211                                                   05010715
20210      IVFAIL = IVFAIL + 1                                          05020715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     05030715
 0211      CONTINUE                                                     05040715
C                                                                       05050715
CT022*  TEST 022   ****  FCVS PROGRAM 715  ****                         05060715
C                                                                       05070715
C     CONCATENATE SPECIAL CHARACTERS IN AN IF STATEMENT                 05080715
C                                                                       05090715
           IVTNUM =  22                                                 05100715
           IVCOMP = 0                                                   05110715
           CVCOMP = ' '                                                 05120715
           IVCORR = 1                                                   05130715
      CVCOMP = '$X=(A/B+C):(-''D'')'                                    05140715
      IF (CVCOMP.EQ.'$X=(A/'//'B+C):(-''D'')') IVCOMP = 1               05150715
40220      IF (IVCOMP - 1) 20220, 10220, 20220                          05160715
10220      IVPASS = IVPASS + 1                                          05170715
           WRITE (I02,80002) IVTNUM                                     05180715
           GO TO 0221                                                   05190715
20220      IVFAIL = IVFAIL + 1                                          05200715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     05210715
 0221      CONTINUE                                                     05220715
C                                                                       05230715
C     TESTS 23-24 -  TESTS THE INTRINSIC FUNCTION LEN(E) WHERE THE      05240715
C                    ARGUMENT IS A CHARACTER EXPRESSION                 05250715
C                                                                       05260715
C                                                                       05270715
CT023*  TEST 023   ****  FCVS PROGRAM 715  ****                         05280715
C                                                                       05290715
C                                                                       05300715
           IVTNUM =  23                                                 05310715
           IVCOMP = 0                                                   05320715
           IVCORR = 15                                                  05330715
      IVCOMP = LEN(CVN001//'EIGHTEEN')                                  05340715
40230      IF (IVCOMP - 15) 20230, 10230, 20230                         05350715
10230      IVPASS = IVPASS + 1                                          05360715
           WRITE (I02,80002) IVTNUM                                     05370715
           GO TO 0231                                                   05380715
20230      IVFAIL = IVFAIL + 1                                          05390715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     05400715
 0231      CONTINUE                                                     05410715
C                                                                       05420715
CT024*  TEST 024   ****  FCVS PROGRAM 715  ****                         05430715
C                                                                       05440715
C                                                                       05450715
           IVTNUM =  24                                                 05460715
           IVCOMP = 0                                                   05470715
           IVCORR = 30                                                  05480715
      IVCOMP = LEN('THIS-IS-A-LITERAL-STRING'//C2N001(1,2))             05490715
40240      IF (IVCOMP - 30) 20240, 10240, 20240                         05500715
10240      IVPASS = IVPASS + 1                                          05510715
           WRITE (I02,80002) IVTNUM                                     05520715
           GO TO 0241                                                   05530715
20240      IVFAIL = IVFAIL + 1                                          05540715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     05550715
 0241      CONTINUE                                                     05560715
C                                                                       05570715
CT025*  TEST 025   ****  FCVS PROGRAM 715  ****                         05580715
C                                                                       05590715
C     CONCATENATE A SUBSTRING WITH A LITERAL STRING IN AN ASSIGNMENT    05600715
C                                            STATEMENT                  05610715
C                                                                       05620715
           IVTNUM =  25                                                 05630715
           CVCOMP = ' '                                                 05640715
           IVCOMP = 0                                                   05650715
           CVCORR = 'IS-A-LONG-ARRAY'                                   05660715
      CVCOMP = CVN002(6:15)//'ARRAY'                                    05670715
           IF (CVCOMP .EQ. 'IS-A-LONG-ARRAY') IVCOMP = 1                05680715
           IF (IVCOMP - 1) 20250, 10250, 20250                          05690715
10250      IVPASS = IVPASS + 1                                          05700715
           WRITE (I02,80002) IVTNUM                                     05710715
           GO TO 0251                                                   05720715
20250      IVFAIL = IVFAIL + 1                                          05730715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     05740715
 0251      CONTINUE                                                     05750715
C                                                                       05760715
CT026*  TEST 026   ****  FCVS PROGRAM 715  ****                         05770715
C                                                                       05780715
C     CONCATENATE A SUBSTRING WITH A LITERAL STRING IN AN IF            05790715
C                                            STATEMENT                  05800715
C                                                                       05810715
           IVTNUM =  26                                                 05820715
           IVCOMP = 0                                                   05830715
           CVCOMP = ' '                                                 05840715
           IVCORR = 1                                                   05850715
      CVCOMP = 'A-LONG-CHARTER-PLANE'                                   05860715
      IF (CVCOMP.EQ.CVN002(9:19)//'TER-PLANE') IVCOMP = 1               05870715
40260      IF (IVCOMP - 1) 20260, 10260, 20260                          05880715
10260      IVPASS = IVPASS + 1                                          05890715
           WRITE (I02,80002) IVTNUM                                     05900715
           GO TO 0261                                                   05910715
20260      IVFAIL = IVFAIL + 1                                          05920715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     05930715
 0261      CONTINUE                                                     05940715
C                                                                       05950715
CT027*  TEST 027   ****  FCVS PROGRAM 715  ****                         05960715
C                                                                       05970715
C     CONCATENATE A CHARACTER FUNCTION REFERENCE WITH A LITERAL STRING  05980715
C                                                                       05990715
           IVTNUM =  27                                                 06000715
           CVCOMP = ' '                                                 06010715
           IVCOMP = 0                                                   06020715
           CVCORR = 'THIRDCLASSMAIL'                                    06030715
      CVCOMP = CF716(3)//'MAIL'                                         06040715
           IF (CVCOMP .EQ. 'THIRDCLASSMAIL') IVCOMP = 1                 06050715
           IF (IVCOMP - 1) 20270, 10270, 20270                          06060715
10270      IVPASS = IVPASS + 1                                          06070715
           WRITE (I02,80002) IVTNUM                                     06080715
           GO TO 0271                                                   06090715
20270      IVFAIL = IVFAIL + 1                                          06100715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     06110715
 0271      CONTINUE                                                     06120715
C                                                                       06130715
CT028*  TEST 028   ****  FCVS PROGRAM 715  ****                         06140715
C                                                                       06150715
C     CONCATENATE A CHARACTER ARRAY ELEMENT WITH A CHARACTER FUNCTION RE06160715
C                                                                       06170715
           IVTNUM =  28                                                 06180715
           CVCOMP = ' '                                                 06190715
           IVCOMP = 0                                                   06200715
           CVCORR = 'MNOPQRFIRST AID'                                   06210715
      CVCOMP = C2N001(1,2)//CF716(1)                                    06220715
           IF (CVCOMP .EQ. 'MNOPQRFIRST AID') IVCOMP = 1                06230715
           IF (IVCOMP - 1) 20280, 10280, 20280                          06240715
10280      IVPASS = IVPASS + 1                                          06250715
           WRITE (I02,80002) IVTNUM                                     06260715
           GO TO 0281                                                   06270715
20280      IVFAIL = IVFAIL + 1                                          06280715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     06290715
 0281      CONTINUE                                                     06300715
C                                                                       06310715
CT029*  TEST 029   ****  FCVS PROGRAM 715  ****                         06320715
C                                                                       06330715
C     CONCATENATE A CHARACTER SUBSTRING WITH A CHARACTER FUNCTION REFERE06340715
C                                                                       06350715
           IVTNUM =  29                                                 06360715
           CVCOMP = ' '                                                 06370715
           IVCOMP = 0                                                   06380715
           CVCORR = 'G-CHARACSECONDRATE'                                06390715
      CVCOMP = CVN002(14:21)//CF716(2)                                  06400715
           IF (CVCOMP .EQ. 'G-CHARACSECONDRATE') IVCOMP = 1             06410715
           IF (IVCOMP - 1) 20290, 10290, 20290                          06420715
10290      IVPASS = IVPASS + 1                                          06430715
           WRITE (I02,80002) IVTNUM                                     06440715
           GO TO 0291                                                   06450715
20290      IVFAIL = IVFAIL + 1                                          06460715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     06470715
 0291      CONTINUE                                                     06480715
C                                                                       06490715
CT030*  TEST 030   ****  FCVS PROGRAM 715  ****                         06500715
C                                                                       06510715
C     CONCATENATIONS ON BOTH SIDES OF ".EQ." IN AN IF STATEMENT         06520715
C                                                                       06530715
           IVTNUM =  30                                                 06540715
           IVCOMP = 0                                                   06550715
           IVCORR = 1                                                   06560715
      CVN002 = 'STTHIRDCLASS'                                           06570715
      IF (CPN001//CF716(3).EQ.C2N001(1,2)(4:6)//CVN002) IVCOMP = 1      06580715
40300      IF (IVCOMP - 1) 20300, 10300, 20300                          06590715
10300      IVPASS = IVPASS + 1                                          06600715
           WRITE (I02,80002) IVTNUM                                     06610715
           GO TO 0301                                                   06620715
20300      IVFAIL = IVFAIL + 1                                          06630715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     06640715
 0301      CONTINUE                                                     06650715
C                                                                       06660715
CT031*  TEST 031   ****  FCVS PROGRAM 715  ****                         06670715
C                                                                       06680715
C     CONCATENATE A LITERAL WITH A SYMBOLIC NAME OF A CHARACTER CONSTANT06690715
C     LENGTH IS SPECIFIED BY AN ASTERISK WITH A LITERAL                 06700715
C                                                                       06710715
           IVTNUM =  31                                                 06720715
           IVCOMP = 0                                                   06730715
           CVCOMP = ' '                                                 06740715
           IVCORR = 1                                                   06750715
      CVCOMP = 'NOW IS THE TIME FOR ALL GOOD MENTO COME TO THE AID OF TH06760715
     1EIR PARTY'                                                        06770715
      IF (CVCOMP.EQ.CPN003//'TO COME TO THE AID OF THEIR PARTY')        06780715
     1   IVCOMP = 1                                                     06790715
40310      IF (IVCOMP - 1) 20310, 10310, 20310                          06800715
10310      IVPASS = IVPASS + 1                                          06810715
           WRITE (I02,80002) IVTNUM                                     06820715
           GO TO 0311                                                   06830715
20310      IVFAIL = IVFAIL + 1                                          06840715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     06850715
 0311      CONTINUE                                                     06860715
C                                                                       06870715
CT032*  TEST 032   ****  FCVS PROGRAM 715  ****                         06880715
C                                                                       06890715
C     CHARACTER EXPRESSION CONCATENATED WITH CHARACTER PRIMARY          06900715
C                                                                       06910715
           IVTNUM =  32                                                 06920715
           IVCOMP = 0                                                   06930715
           CVCOMP = ' '                                                 06940715
           CVCORR = ' '                                                 06950715
           IVCORR = 1                                                   06960715
      CVCOMP = ('ONE'//'TWO')//'THREE'                                  06970715
      CVCORR = 'ONE'//'TWO'//'THREE'                                    06980715
      IF (CVCOMP.EQ.CVCORR) IVCOMP = 1                                  06990715
40320      IF (IVCOMP - 1) 20320, 10320, 20320                          07000715
10320      IVPASS = IVPASS + 1                                          07010715
           WRITE (I02,80002) IVTNUM                                     07020715
           GO TO 0321                                                   07030715
20320      IVFAIL = IVFAIL + 1                                          07040715
           WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR                     07050715
 0321      CONTINUE                                                     07060715
C                                                                       07070715
C     TESTS 33-34 - EVALUATION OF CHARACTER EXPRESSIONS                 07080715
C     (PROCESSOR NEEDS TO EVALUATE ONLY AS MUCH OF THE CHARACTER        07090715
C     EXPRESSION AS IS REQUIRED BY THE CONTEXT IN WHICH THE             07100715
C     EXPRESSION APPEARS)                                               07110715
C                                                                       07120715
C                                                                       07130715
CT033*  TEST 033   ****  FCVS PROGRAM 715  ****                         07140715
C                                                                       07150715
C                                                                       07160715
           IVTNUM =  33                                                 07170715
           CVCOMP = ' '                                                 07180715
           IVCOMP = 0                                                   07190715
           CVCORR = 'AB'                                                07200715
      CVN003 = 'ABC'                                                    07210715
      CVCOMP = CVN003                                                   07220715
           IF (CVCOMP .EQ. 'AB') IVCOMP = 1                             07230715
           IF (IVCOMP - 1) 20330, 10330, 20330                          07240715
10330      IVPASS = IVPASS + 1                                          07250715
           WRITE (I02,80002) IVTNUM                                     07260715
           GO TO 0331                                                   07270715
20330      IVFAIL = IVFAIL + 1                                          07280715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     07290715
 0331      CONTINUE                                                     07300715
C                                                                       07310715
CT034*  TEST 034   ****  FCVS PROGRAM 715  ****                         07320715
C                                                                       07330715
C                                                                       07340715
           IVTNUM =  34                                                 07350715
           CVCOMP = ' '                                                 07360715
           IVCOMP = 0                                                   07370715
           CVCORR = 'LO'                                                07380715
      CVN004 = 'LONG'                                                   07390715
      CVD005 = 'SHORT'                                                  07400715
      CVN003 = CVN004//CF717(CVD005)                                    07410715
      CVCOMP = CVN003                                                   07420715
           IF (CVCOMP .EQ. 'LO') IVCOMP = 1                             07430715
           IF (IVCOMP - 1) 20340, 10340, 20340                          07440715
10340      IVPASS = IVPASS + 1                                          07450715
           WRITE (I02,80002) IVTNUM                                     07460715
           GO TO 0341                                                   07470715
20340      IVFAIL = IVFAIL + 1                                          07480715
           WRITE (I02,80018) IVTNUM, CVCOMP, CVCORR                     07490715
 0341      CONTINUE                                                     07500715
C                                                                       07510715
CBB** ********************** BBCSUM0  **********************************07520715
C**** WRITE OUT TEST SUMMARY                                            07530715
C****                                                                   07540715
      IVTOTN = IVPASS + IVFAIL + IVDELE + IVINSP                        07550715
      WRITE (I02, 90004)                                                07560715
      WRITE (I02, 90014)                                                07570715
      WRITE (I02, 90004)                                                07580715
      WRITE (I02, 90020) IVPASS                                         07590715
      WRITE (I02, 90022) IVFAIL                                         07600715
      WRITE (I02, 90024) IVDELE                                         07610715
      WRITE (I02, 90026) IVINSP                                         07620715
      WRITE (I02, 90028) IVTOTN, IVTOTL                                 07630715
CBE** ********************** BBCSUM0  **********************************07640715
CBB** ********************** BBCFOOT0 **********************************07650715
C**** WRITE OUT REPORT FOOTINGS                                         07660715
C****                                                                   07670715
      WRITE (I02,90016) ZPROG, ZPROG                                    07680715
      WRITE (I02,90018) ZPROJ, ZNAME, ZTAPE, ZTAPED                     07690715
      WRITE (I02,90019)                                                 07700715
CBE** ********************** BBCFOOT0 **********************************07710715
90001 FORMAT (" ",56X,"FM715")                                          07720715
90000 FORMAT (" ",50X,"END OF PROGRAM FM715" )                          07730715
CBB** ********************** BBCFMT0A **********************************07740715
C**** FORMATS FOR TEST DETAIL LINES                                     07750715
C****                                                                   07760715
80000 FORMAT (" ",2X,I3,4X,"DELETED",32X,A31)                           07770715
80002 FORMAT (" ",2X,I3,4X," PASS  ",32X,A31)                           07780715
80004 FORMAT (" ",2X,I3,4X,"INSPECT",32X,A31)                           07790715
80008 FORMAT (" ",2X,I3,4X," FAIL  ",32X,A31)                           07800715
80010 FORMAT (" ",2X,I3,4X," FAIL  ",/," ",15X,"COMPUTED= " ,           07810715
     1I6,/," ",15X,"CORRECT=  " ,I6)                                    07820715
80012 FORMAT (" ",2X,I3,4X," FAIL  ",/," ",16X,"COMPUTED= " ,           07830715
     1E12.5,/," ",16X,"CORRECT=  " ,E12.5)                              07840715
80018 FORMAT (" ",2X,I3,4X," FAIL  ",/," ",16X,"COMPUTED= " ,           07850715
     1A21,/," ",16X,"CORRECT=  " ,A21)                                  07860715
80020 FORMAT (" ",16X,"COMPUTED= " ,A21,1X,A31)                         07870715
80022 FORMAT (" ",16X,"CORRECT=  " ,A21,1X,A31)                         07880715
80024 FORMAT (" ",16X,"COMPUTED= " ,I6,16X,A31)                         07890715
80026 FORMAT (" ",16X,"CORRECT=  " ,I6,16X,A31)                         07900715
80028 FORMAT (" ",16X,"COMPUTED= " ,E12.5,10X,A31)                      07910715
80030 FORMAT (" ",16X,"CORRECT=  " ,E12.5,10X,A31)                      07920715
80050 FORMAT (" ",48X,A31)                                              07930715
CBE** ********************** BBCFMT0A **********************************07940715
CBB** ********************** BBCFMAT1 **********************************07950715
C**** FORMATS FOR TEST DETAIL LINES - FULL LANGUAGE                     07960715
C****                                                                   07970715
80031 FORMAT (" ",2X,I3,4X," FAIL  ",/," ",16X,"COMPUTED= " ,           07980715
     1D17.10,/," ",16X,"CORRECT=  " ,D17.10)                            07990715
80033 FORMAT (" ",16X,"COMPUTED= " ,D17.10,10X,A31)                     08000715
80035 FORMAT (" ",16X,"CORRECT=  " ,D17.10,10X,A31)                     08010715
80037 FORMAT (" ",16X,"COMPUTED= " ,"(",E12.5,", ",E12.5,")",6X,A31)    08020715
80039 FORMAT (" ",16X,"CORRECT=  " ,"(",E12.5,", ",E12.5,")",6X,A31)    08030715
80041 FORMAT (" ",16X,"COMPUTED= " ,"(",F12.5,", ",F12.5,")",6X,A31)    08040715
80043 FORMAT (" ",16X,"CORRECT=  " ,"(",F12.5,", ",F12.5,")",6X,A31)    08050715
80045 FORMAT (" ",2X,I3,4X," FAIL  ",/," ",16X,"COMPUTED= " ,           08060715
     1"(",F12.5,", ",F12.5,")"/," ",16X,"CORRECT=  " ,                  08070715
     2"(",F12.5,", ",F12.5,")")                                         08080715
CBE** ********************** BBCFMAT1 **********************************08090715
CBB** ********************** BBCFMT0B **********************************08100715
C**** FORMAT STATEMENTS FOR PAGE HEADERS                                08110715
C****                                                                   08120715
90002 FORMAT ("1")                                                      08130715
90004 FORMAT (" ")                                                      08140715
90006 FORMAT (" ",20X,"NATIONAL INSTITUTE OF STANDARDS AND TECHNOLOGY" )08150715
90007 FORMAT (" ",19X,"FORTRAN COMPILER VALIDATION SYSTEM" )            08160715
90008 FORMAT (" ",21X,A13,A17)                                          08170715
90009 FORMAT (" ",/," *",A5,"BEGIN*",12X,"TEST RESULTS - " ,A5,/)       08180715
90010 FORMAT (" ",8X,"TEST DATE*TIME= " ,A17,"  -  COMPILER= " ,A20)    08190715
90013 FORMAT (" "," TEST   ","PASS/FAIL " ,6X,"DISPLAYED RESULTS" ,     08200715
     1       7X,"REMARKS",24X)                                          08210715
90014 FORMAT (" ","----------------------------------------------" ,    08220715
     1        "---------------------------------" )                     08230715
90015 FORMAT (" ",48X,"THIS PROGRAM HAS " ,I3," TESTS",/)               08240715
C****                                                                   08250715
C**** FORMAT STATEMENTS FOR REPORT FOOTINGS                             08260715
C****                                                                   08270715
90016 FORMAT (" ",/," *",A5,"END*",14X,"END OF TEST - " ,A5,/)          08280715
90018 FORMAT (" ",A13,13X,A20,"   *   ",A10,"/",                        08290715
     1        A13)                                                      08300715
90019 FORMAT (" ","FOR OFFICIAL USE ONLY     " ,35X,"COPYRIGHT  1982" ) 08310715
C****                                                                   08320715
C**** FORMAT STATEMENTS FOR RUN SUMMARY                                 08330715
C****                                                                   08340715
90020 FORMAT (" ",21X,I5," TESTS PASSED" )                              08350715
90022 FORMAT (" ",21X,I5," TESTS FAILED" )                              08360715
90024 FORMAT (" ",21X,I5," TESTS DELETED" )                             08370715
90026 FORMAT (" ",21X,I5," TESTS REQUIRE INSPECTION" )                  08380715
90028 FORMAT (" ",21X,I5," OF ",I3," TESTS EXECUTED" )                  08390715
CBE** ********************** BBCFMT0B **********************************08400715
           END                                                          08410715

C     THIS FUNCTION SUBPROGRAM IS TO BE RUN WITH ROUTINE 715.           00010716
C                                                                       00020716
C     THIS FUNCTION SUBPROGRAM IS USED TO TEST CHARACTER FUNCTION       00030716
C                             REFERENCES IN CHARACTER EXPRESSIONS       00040716
C                                                                       00050716
      CHARACTER*10 FUNCTION CF716(IVD001)                               00060716
      IF (IVD001 - 2) 70010, 70020, 70030                               00070716
70010 CF716 = 'FIRST AID'                                               00080716
      RETURN                                                            00090716
70020 CF716 = 'SECONDRATE'                                              00100716
      RETURN                                                            00110716
70030 CF716 = 'THIRDCLASS'                                              00120716
      RETURN                                                            00130716
      END                                                               00140716

C     THIS FUNCTION SUBPROGRAM IS TO BE RUN WITH ROUTINE 715.           00010717
C                                                                       00020717
C     THIS FUNCTION SUBPROGRAM IS USED TO TEST CHARACTER FUNCTION       00030717
C                             REFERENCES IN CHARACTER EXPRESSIONS       00040717
C                                                                       00050717
      CHARACTER*(*) FUNCTION CF717(CVD001)                              00060717
      CHARACTER*(*) CVD001                                              00070717
      CF717 = CVD001                                                    00080717
      RETURN                                                            00090717
      END                                                               00100717