C;+
C - L A M P F I
C****NAME:   SUBROUTINE LAMPFI
C    IDENT:  /850228/
C    FILE:   LAMPFI.FLL
C
C****PURPOSE:  INITIALIZE LAMPF VERSION OF FLECS
C
C****RESTRICTIONS:  
C
C SYSTEM:     RSX11M V4.1, VMS V4.0
C LANGUAGE:   FLECS/FORTRAN
C AUTHOR:     M. OOTHOUDT
C DATE:       14-FEB-80
C REVISIONS:
C 09-APR-80 (MAO) CONVERT FROM 11D TO 11M
C 07-MAR-83 (MAO) ADD CODE TO PUT FORT LINE #S IN FLL FILE
C 13-AUG-84 (MAO) USE /CO:VAX/PDP AND /CO:ALECS/FLECS
C 850215mao On the VAX open LUN 2 to TI: for message logging.
C 850228mao NO LONGER NEED LUN 2, SINCE MSGOUT USED FOR TI: MESSAGES.
C
C****CALLING SEQUENCE:  CALL LAMPFI (ALE,CHC,CINLIN)
C
C		INPUT:  NONE
C
C	       OUTPUT:  
C
C ALE	=(L*2) .T. IF ALECS, .F. IF FLECS (USED BY FLERSX, ETC)
C CHC	=(I*2) NUMERIC VALUE FOR COMMENT CHARACTER
C CINLIN=(I*2) NUMERIC VALUE FOR IN-LINE COMMENT CHARACTER
C
C       CMN BLOCK I/O:  /MACVAL/
C
C	    RESOURCES:
C LIBRARIES:   NONE
C OTHER SUBR:  IRAD50
C DISK FILES:  NONE
C DEVICES:     NONE
C SGAS:        NONE
C EVENT FLAGS: NONE
C SYSTEM DIR:  NONE
C
C****NOTES:  
C	1. WARNING--IN SEVERAL PLACES THE OCTAL VALUE OF A CHARACTER IS
C STORED IN AN INTEGER.  IT MIGHT SEEM BETTER TO DO EG. "I=1HC"--THIS
C DOES NOT WORK!!  "I=1HC" PUTS "20103 IN I WHEREAS "I="103" GIVES THE
C VALUE NECESSARY TO BE USED ELSEWHERE IN FLECS.
C
C	2.  The variable CNTALL is set here.  If it is .TRUE., all
C lines in the FORTRAN file should be counted to produce the FORTRAN
C line number in the FLL file.  CNTALL should be true for all MACRO
C cases and for VMS F77.
C;-
	SUBROUTINE LAMPFI (ALE,CHC,CINLIN)
 
	.PASSUNLESS ALECS
	.PASSUNLESS FLECS
	ERROR--YOU MUST SPECIFY EITHER /CO:ALECS OR /CO:FLECS
	.PASSEND
	.PASSEND
 
	.PASSUNLESS PDP
	.PASSUNLESS VAX
	ERROR--YOU MUST SPECIFY EITHER /CO:PDP OR /CO:VAX
	.PASSEND
	.PASSEND
C
C	SUBROUTINE CALL DECLARATIONS
C
	LOGICAL*2 ALE
	INTEGER*2 CHC,CINLIN
 
C	FOLLOWING FOR LAMPF VERSION OF FLECS
 
	INTEGER*2 NUMLIN				!830307 MAO
	LOGICAL*2 CNTALL				!830307 MAO
	COMMON/FLINE/CNTALL,NUMLIN			!830307 MAO
C
	LOGICAL*2 ALECS,LSTFUL
	INTEGER*2 TYPIN,TYPLST,TYPOUT,CHCMNT
	COMMON/MACVAL/ALECS,TYPIN,TYPLST,TYPOUT,CHCMNT,LSTFUL
 
	.PASSIF ALECS
C
C	ALECS
C
	CHCMNT="73		!COMMENT CHARACTER=; (SEE NOTE 1)
	CINLIN="73	!IN-LINE COMMENT CHARACTER=;
	CALL IRAD50(3,3HALX,TYPIN)	!INPUT FILE EXTENSION
	CALL IRAD50(3,3HALL,TYPLST)	!LIST FILE EXTENSION
	CALL IRAD50(3,3HMAC,TYPOUT)	!OUTPUT FILE EXTENSION
	ALECS=.TRUE.
	.PASSEND
	.PASSIF FLECS
C
C	FLECS
C
	CHCMNT="103		!COMMENT CHARACTER=C (SEE NOTE 1)
	CINLIN="41	!IN-LINE COMMENT CHARACTER=!
	CALL IRAD50(3,3HFLX,TYPIN)	!INPUT FILE EXTENSION
	CALL IRAD50(3,3HFLL,TYPLST)	!LIST FILE EXTENSION
	CALL IRAD50(3,3HFTN,TYPOUT)	!OUTPUT FILE EXTENSION
	ALECS=.FALSE.
	.PASSEND
C
	ALE=ALECS
	CHC=CHCMNT
C
	.PASSIF ALECS
	CNTALL=.TRUE.	!COUNT ALL LINES FOR MACRO	!830307
	.PASSEND
	.PASSIF FLECS
	.PASSIF PDP
	CNTALL=.FALSE.	!PDP F4P NO COUNT ALL	!830307
	.PASSEND
	.PASSIF VAX
	CNTALL=.TRUE.	!COUNT ALL LINES FOR VMS FORTRAN	!830307
	.PASSEND
	.PASSEND
C
	RETURN
	END
