


      PP(1)                      (Bull-SPS9)                      PP(1)



      NAME
           pp - Pascal invoker

      SYNTAX
           pp [ options ] ... file ...

      DESCRIPTION
           Pp invokes a series of programs that compile and ready a
           Pascal program for execution.

           File names ending with .p are taken to be Pascal source
           programs.  They are compiled into object files whose names
           are the same as the source, but with . o substituted for the
           .p. The .o file is normally deleted, however, unless an
           option is specified to request that it be kept.

           File names ending with .q are assumed to be pasc(1) output
           files.  Each .q file is passed through ptrans(1), resulting
           in an object file with . o replacing the .q.

           Options:  See link(1) for link editor options and cpp(1) for
           more preprocessor options.

           -c      Suppress the link edit phase of the compilation, and
                   force an object file to be produced even if only one
                   program is compiled.

           -ofilename
                   Name the executable file filename, not the default
                   a.out.

           -S      Compile the named Pascal programs, and leave the
                   ptrans(1) output on corresponding files suffixed .q.

           -E      Run only cpp(1) on the named Pascal programs, and
                   send the result to the standard output.

           -P      Run only cpp(1) on the named Pascal programs, and
                   leave the result on corresponding files suffixed .i.

           -Wc,arg1[,arg2...]
                   Hand off the argument[s] argi to pass c where c is
                   one of [p0al] indicating preprocessor, compiler,
                   ptrans, or link editor, respectively.

           -m mapfile
                   create a load map file called mapfile, like that
                   produced by map(1).

           Other arguments are taken to be either link editor option
           arguments, C preprocessor option arguments, or Pascal-
           compatible object programs, typically produced by an earlier



      Page 1                                          (73 A2 02MT REV1)






      PP(1)                      (Bull-SPS9)                      PP(1)



           pp run, or perhaps libraries of Pascal-compatible routines.
           These programs, together with the results of any
           compilations specified, are linked (in the order given) to
           produce an executable program with the name a.out.

      FILES
           file.p    input file
           file.o    object file
           a.out     linked output
           /tmp/ctm* (a name starting with "ctm") temporary
           /lib/cpp  C preprocessor cpp(1)
           /bin/pasc Bull-SPS9 compiler, pasc(1)
           /bin/ptrans
                     p-code translator
           /bin/link link editor, link(1)
           /lib/rtl.o
                     standard Pascal library

      EXAMPLE
           $ pp pgm.p
           $ a.out      /* executes the program */

           What Happens:

           The C preprocessor cpp(1) /lib/cpp executes. Its input file
           is pgm.p, and its output is a temporary file called
           /tmp/ctmabc.

           The Pascal compiler pasc(1) /bin/pasc executes.  Its input
           file is /tmp/ctmabc and its output file is /tmp/ctmdef.

           The p-code translator ptrans(1) /bin/ptrans executes.  Its
           input file is /tmp/ctmdef and its output file is
           /tmp/ctmghi.

           The linker link(1) for Pascal and Bull-SPS9 assembler is
           executed.  Its input files are /tmp/ctmghi and /lib/rtl.o.
           The output file is a.out, which is a runnable program.


      SEE ALSO
           cpp(1), rasm(1), ptrans(1), link(1)


      BUGS
           Pascal cannot be called from a C or FORTRAN program.









      Page 2                                          (73 A2 02MT REV1)



