[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference vaxaxp::vmsnotes

Title:VAX and Alpha VMS
Notice:This is a new VMSnotes, please read note 2.1
Moderator:VAXAXP::BERNARDO
Created:Wed Jan 22 1997
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:703
Total number of notes:3722

144.0. "Basic Librarian problem..." by PADKOA::COSTEUX (Le Plat Pays qui est le mien...) Wed Feb 05 1997 10:13

    Assume the following file:
c$/member=modul1
	program mul1
	real*4	v1
	real*4	v2	
	real*4	V3
	v1=12976128
	v2=24
	V3=V1*v2
	write (6,*) v3
	end

c$/member=modul2
	program mul2
	real*4	v1
	real*4	v2	
	real*4	V3
	v1=12976128
	v2=24
	V3=V1*v2
	write (6,*) v3
	end

c$/member=modul3
	program mul3
	real*4	v1
	real*4	v2	
	real*4	V3
	v1=12976128
	v2=24
	V3=V1*v2
	write (6,*) v3
	end

c$/member=modul4
	program mul4
	real*4	v1
	real*4	v2	
	real*4	V3
	v1=12976128
	v2=24
	V3=V1*v2
	write (6,*) v3
	end
    
    
    
    ... I create a text library and insert this file in this librray. Doing
    a LIBR/LIST/NAME I get only one module name which corresponds with the
    input file name. This looks normal to me but how can I do to 'see' all
    different modules (here modul1, modul2, modul3, modul4) while doing a
    LIBR/LIST ? 
    
    Thanks for help.
    
    Jean-Pierre
    
T.RTitleUserPersonal
Name
DateLines
144.1QUARK::LIONELFree advice is worth every centWed Feb 05 1997 10:486
You don't.  The text library doesn't know you have "modules" - all it sees is
records of text from a file.  In a text library, the module is the file.
If you want four different modules, then you have to insert them separately
with different names.

				Steve
144.2AUSS::GARSONDECcharity Program OfficeWed Feb 05 1997 22:0411
    re .0
    
    I'm not familiar with that syntax "C$/MEMBER=xxx". Neither is the
    librarian.                   
    
    (I assume it's some new whizz bang feature of FORTRAN that allows
    additional directives to the compiler. If so, only the FORTRAN compiler
    understands it. Going further out on a limb, if it really controls the
    object modules that the compiler produces then, by virtue of the
    compiler having done its job, the librarian in processing the resulting
    object file may well recognise the separate modules.)
144.3QUARK::LIONELFree advice is worth every centThu Feb 06 1997 11:304
Fortran doesn't understand it either - at least not our Fortran.  It looks
like a comment to us.

				Steve
144.4AUSS::GARSONDECcharity Program OfficeThu Feb 06 1997 17:096
    re .3
    
    I thought there was some kind of CDEC$ line beginning that, as you point
    out, can be treated by the compiler as a comment but which can "encode"
    certain additional directives but I have no recollection of what the valid
    directives are. "Is this the real life or is this just fantasy?"
144.5as real as REAL*16 ..COMEUP::SIMMONDSlock (M); while (not *SOMETHING) { Wait(C,M); } unlock(M)Thu Feb 06 1997 20:0148
    Re: .4
    
$ help/noinstr/nopromp fortran state direc

FORTRAN

  Statements

    Directive_Statements

       CDEC$ ALIAS name, external-name
       CDEC$ ASSERT (e)
       CDEC$ END OPTIONS (see CDEC$ OPTIONS)
       CDEC$ IDENT string
       CDEC$ INIT_DEP_FWD
       CDEC$ NOVECTOR
       CDEC$ OPTIONS /qual...
       CDEC$ PSECT /common-name/ attr [,attr,...]
       CDEC$ SUBTITLE string
       CDEC$ TITLE string

       CPAR$ CONTEXT_SHARED var_name[,...,var_name]
       CPAR$ CONTEXT_SHARED_ALL
       CPAR$ DO_PARALLEL [distribution-size]
       CPAR$ LOCKON lock-variable
       CPAR$ LOCKOFF lock-variable
       CPAR$ PRIVATE name[,...,name]
       CPAR$ PRIVATE_ALL
       CPAR$ SHARED common_name[,...,common_name]
       CPAR$ SHARED_ALL

       You can use directives in a Fortran source program to influence
       certain aspects of the compilation process.

       Directives are prefixed, starting in column 1, with a 5-character
       identifier and a space (or tab).  Directives prefixed with CDEC$
       are enabled in all Fortran compilation units, regardless of the
       qualifiers used on the FORTRAN command line.

       Directives may also be prefixed with a first character of ! (!DEC$
       or !PAR$) in any column of a source line as long as only whitespace
       (blanks or tabs) precedes the directive prefix.

       Directives prefixed with CPAR$ are enabled only in Fortran
       compilation units involved in parallel processing (that is, when
       the /PARALLEL qualifier is specified on the FORTRAN command line).
       If the /PARALLEL qualifier is not specified, parallel-processing
    [...]
144.6QUARK::LIONELFree advice is worth every centFri Feb 07 1997 10:226
Re: .4

As .5 indicates, there are indeed comment-like directives understood by
Digital Fortran.  But they don't look like the comments in .0.

				Steve