C
C This file is issued from the MODULEF library, but has been 
C subsequently modified
C
      INTEGER FUNCTION LIBINQ(CAR)
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C BUT :
C     FORMAT LIBRE
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
C PROGRAMMEUR : F. HECHT - INRIA - AVRIL 86
C ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
      CHARACTER*(*) CAR
      DOUBLE PRECISION RVAL
      INTEGER PTBUF,IVAL,TYPVAL,SIZDEN,CARLUE
C
      INTEGER MXETIQ
      PARAMETER (MXETIQ=20)
      LOGICAL ECHO,SOUFFL
      INTEGER PTETIQ,NUETIQ(MXETIQ),TRACE,LGNETI(MXETIQ),PPILE,KKMODE
C
C     MXID=NOMBRE MAXI D'ID
C     MXVAL=TAILLE DE LA PILE D'EVALUATION DES EXPRESSIONS
C     MXOPER = TAILLE DE LA PILE DES OPERATEURS
C     ID=NOMS DES IDENTIFICATEURS (12 CARAC)
C     VALID= VALEUR DE L'IDENTIFICATEUR
C           C'EST LE NOMBRE D'ELEMENTS DE L'ID
C
      INTEGER MXVAL,MXID,MXOPER
      PARAMETER(MXID=200,MXVAL=100,MXOPER=50)
      DOUBLE PRECISION VALID(MXID)
      INTEGER NBID
      CHARACTER ID(MXID)*12
C
C
      CHARACTER IDENT*256
      CHARACTER IBUF(256)*1,BUF*256,CSTRNG*256
C
       DOUBLE PRECISION RESULT
       INTEGER TYPEAT,LSTRNG
       LOGICAL STRING,ERRLEC,IDEM,ERRSMT
      INTEGER INISCN
      COMMON /LIB001/ RESULT,VALID,RVAL
     +               ,TYPEAT,LSTRNG
     +               ,STRING,ERRLEC,ERRSMT,IDEM
     +               ,INISCN,NBID
     +               ,PTBUF,TYPVAL,IVAL,SIZDEN,CARLUE
     +               ,ECHO,TRACE,PTETIQ,NUETIQ,LGNETI,SOUFFL,PPILE
     +               ,KKMODE
      COMMON /LIB002/ ID, IBUF,BUF,IDENT,CSTRNG
C     FIN DES COMMON  DU FORMAT LIBRE
C ----------------------------------------
C //////////////////////////////////////////////////////////////////////
      INTEGER IM,LM,NOMTAB,NNN,NZ(1020),NTITRE(20),NDATE(2)
     +       ,NOMCRE(6),LONREE,IMPRE,IMPLEC,LECSUI,IFILL
     +       ,LECTEU,IMPRIM,INTERA,IMPFIC,NFSAUV
      COMMON /TRAVAI/ IM,LM,NOMTAB,NNN,NZ
      COMMON /TRAVA1/ NTITRE,NDATE,NOMCRE,LONREE,IMPRE,
     +                IMPLEC,LECSUI,IFILL
      COMMON /UNITES/ LECTEU,IMPRIM,INTERA,IMPFIC,NFSAUV
      LIBINQ=0
      IF    (CAR(1:1).EQ.'E') THEN
        IF(ECHO) LIBINQ=1
      ELSEIF(CAR(1:1).EQ.'SAUVE') THEN
        LIBINQ=NFSAUV
      ELSEIF(CAR(1:1).EQ.'T') THEN
        LIBINQ=TRACE
      ELSEIF(CAR(1:1).EQ.'A') THEN
        LIBINQ=NNN
      ELSEIF(CAR(1:1).EQ.'S') THEN
        IF(SOUFFL) LIBINQ=1
      ELSEIF(CAR(1:1).EQ.'I') THEN
        LIBINQ=IMPRIM
      ELSEIF(CAR(1:1).EQ.'L') THEN
        LIBINQ=LECTEU
      ELSEIF(CAR(1:1).EQ.'B') THEN
        LIBINQ=IMPRE
      ELSEIF(CAR(1:1).EQ.'E') THEN
        IF(ECHO) LIBINQ=1
      ELSEIF(CAR(1:1).EQ.'T') THEN
        LIBINQ=TRACE
      ELSEIF(CAR(1:1).EQ.'A') THEN
        LIBINQ=NNN
      ELSEIF(CAR(1:1).EQ.'S') THEN
        IF(SOUFFL) LIBINQ=1
      ELSEIF(CAR(1:1).EQ.'I') THEN
        LIBINQ=IMPRIM
      ELSEIF(CAR(1:1).EQ.'L') THEN
        LIBINQ=LECTEU
      ELSEIF(CAR(1:1).EQ.'B') THEN
        LIBINQ=IMPRE
      ELSEIF(CAR(1:1).EQ.'M') THEN
        LIBINQ=KKMODE
      ELSE
       PRINT *,'ERREUR LIBINQ ACTION INCONNUE :',CAR
      ENDIF
      END
