CppJL converts EGCG VMS fortran source code to Unix fortran source code.
CppJL is a C preprocessor utility which converts the "standard" VMS fortran source code for EGCG into the source code for the Unix version.
The main changes are the conversion of VMS-style include syntax, including logical names, to the Unix style.
In addition, lines with the final comment "!CVMS" are commented out, and lines with the initial comment "cunix" are uncommented.
CppJL is used by the utility scripts which maintain the Unix source code when the VMS source is updated. These include "jlfor", "jlinc" and "jlfortof". These are called automatically by the Unix make files.
This program was written by Jack Leunissen (E-mail: jackl@caos.kun.nl Post: CAOS/CAMM Center, University of Nijmegen, Toernooiveld 1, 6525 ED Nijmegen, The Netherlands).
All EGCG programs are supported by the EGCG Support Team, who can be contacted by E-mail (egcg@embnet.org).
Here is a sample session with CppJL .
% cppjl -C -V -E -G `name -f EGenLibVms`/mytrans.for `name -f EGenLibUnix`/mytrans.f %
The typical output from CppJL is a Unix fortran source code file.
!***** MyTrans **************************************************************** !* !* A simple aplication to illustrate the EGCG procedure library !* !* Peter Rice, Sanger Centre, Hinxton, UK, 1994. !* !****************************************************************************** Program MyTrans Implicit None #include "sequence.inc" Record /Sequence/ SQ, Pep Integer InFile, OutFile ///////////////////////////////////////////////////////
The typical input file for CppJL is an EGCG VMS fortran source code file.
!***** MyTrans **************************************************************** !* !* A simple aplication to illustrate the EGCG procedure library !* !* Peter Rice, Sanger Centre, Hinxton, UK, 1994. !* !****************************************************************************** Program MyTrans Implicit None Include 'GenInclude:Sequence.Inc' Record /Sequence/ SQ, Pep Integer InFile, OutFile ///////////////////////////////////////////////////////
All parameters for this program may be put on the command line. Use the option -CHEck to see the summary below and to have a chance to add things to the command line before the program executes. In the summary below, the capitalized letters in the qualifier names are the letters that you must type in order to use the parameter. Square brackets ([ and ]) enclose qualifiers or parameter values that are optional. For more information, see "Using Program Parameters" in Chapter 3, Basic Concepts: Using Programs in the GCG User's Guide.
Minimum syntax: % cppjl [infile [outfile]] Prompted Parameters: None Local Data Files: None Optional Parameters: -C: case-insensitive action (for VMS) -Dstring: define 'string' -I: expand include-files between double quotes -E : expand include "EGenInclude:xxx.inc" to full path -G : replace "GenInclude:xxxx.inc" with "xxxx.inc" -V : convert VMS source to unix (cunix, (!)CVMS comments) -U : convert unix source to VMS (CVMS, (!)cunix comments) -L : log each line as it is read and written -A : fortran code fixes for AIX compilers -: force read from standard input
The parameters and switches listed below can be set from the command line. For more information, see "Using Program Parameters" in Chapter 3, Basic Concepts: Using Programs in the GCG User's Guide.
makes the actions case-insensitive, as for the VMS operating system.
defines "string" for use in ifdef code.
expands GCG include files between double quotes.
expands EGCG include files to their full path.
replaces "GenInclude:xxxx.inc" with "xxxx.inc".
converts VMS source to Unix source (CVMS and !cunix comments).
converts unix source to VMS (CVMS and !cunix comments).
logs each line as it is read and written.
performs aix code fixes for fortran, converting tab-format continuation lines to fixed-column format.
forces the program to read from standard input.
Printed: April 22, 1996 15:52 (1162)