C EDIT DATE 19JUL79 C SOURCE FILE STINIT.FS C AUTHOR B. P. ADLEY 'HEAD' INITIALISATION FOR STRAN 'OUTFILE' INIT.FR SUBROUTINE INIT 'INCLUDE' STRAN.IN, 'INCLUDE' FNAMES.IN, INTEGER GETWRD,GCHAR INTEGER CHARC DATA CHARC/67/ C C C ASSIGN CHANNEL NUMBERS INCHAN = 10 //STRAN SOURCE FILE OUTCHN = -1 //FILE DEFINED BY 'OUTFILE' TTOCHN = 6 //INTERACTIVE OUTPUT TTICHN = 5 //INTERACTIVE INPUT COMCHN = 5 //INTERACTIVE INPUT PROCCN = 4 //COMMAND FILE LPTCHN = 3 //LISTING FILE C C C PROMPT FOR STRAN SOURCE FILENAME &OPEN FILE 'DO' CALL WRLIN(TTOCHN,' INPUT FILE: ',13) LEN=20 CALL SET(BBLANK,BUF,LEN) CALL RDLIN(COMCHN,BUF,LEN,IERR) LEN=GETWRD(BUF,1,LEN,NAME) CALL EST('FS',NAME,LEN+1,LEN+2) CALL PCHAR(NAME,LEN+3,0) CALL MOVE(NAME,SRCEFS(1,1),(LEN+4)/2) CALL OPENF(INCHAN,SRCEFS(1,1),IERR) 'WHILE' (IERR.NE.1) CALL REMARK('SOURCE OPEN ERROR.') 'END' C C C OPEN COMMAND FILE TO PERFORM FORTRAN COMPILATION CALL PCHAR(NAME,LEN+1,CHARC) CALL PCHAR(NAME,LEN+2,0) CALL MOVE(NAME,CMDF,(LEN+3)/2) CALL OPENF(PROCCN,CMDF,IERR) 'IF' (IERR.NE.1) PROCCN=-1 CALL REMARK('COMMAND FILE OPEN ERROR.') 'ENDIF' C C C OPEN LISTING FILE CALL EST('LPT ',LISTF,1,4) CALL OPENF(LPTCHN,LISTF,IERR) C C CALL INITOB FFILE=1 CLINE = 1000 LEVEL = 1 INPTR = 1 INMAX = 0 PAGE = 0 LINENO = 0 ISP = 1 FIRST = .TRUE. SKIPFL = .FALSE. POFF = .FALSE. NEWFIL = .TRUE. TSEEN = .FALSE. CTEMP=BLANK CHAR=BLANK RETURN END 'HEAD' INITIALISE OUTPUT BUFFER 'OUTFILE' INITOB.FR SUBROUTINE INITOB 'INCLUDE' STRAN.IN, CALL SET(BBLANK,OUTBUF,40) OUTPTR=1 RETURN END 'HEAD' STRAN TERMINATION ROUTINE 'OUTFILE' TERM.FR SUBROUTINE TERM 'INCLUDE' STRAN.IN, 'INCLUDE' FNAMES.IN, C C C CLOSE ALL ACTIVE FILES CALL CLOSF(PROCCN,CMDF) CALL CLOSF(LPTCHN,LISTF) CALL CLOSF(OUTCHN,OUTF) RETURN END