


      PPPPPPPP((((1111))))                        ((((RRRRiiiiddddggggeeee))))                        PPPPPPPP((((1111))))



      NNNNAAAAMMMMEEEE
           pp - Pascal invoker

      SSSSYYYYNNNNTTTTAAAAXXXX
           pppppppp [ options ] ... file ...

      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
           _P_p invokes a series of programs that compile and ready a
           Pascal program for execution.

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

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

           Options:  See _l_i_n_k(_1) for link editor options and _c_p_p(1) for
           more preprocessor options.

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

           ----oooo_f_i_l_e_n_a_m_e
                   Name the executable file _f_i_l_e_n_a_m_e, not the default
                   aaaa....oooouuuutttt.

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

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

           ----PPPP      Run only _c_p_p(1) on the named Pascal programs, and
                   leave the result on corresponding files suffixed ....iiii.

           ----WWWW_c,_a_r_g_1[,_a_r_g_2...]
                   Hand off the argument[s] _a_r_g_i to pass _c where _c is
                   one of [pppp0000aaaallll] indicating preprocessor, compiler,
                   ptrans, or link editor, respectively.

           ----mmmm mmmmaaaappppffffiiiilllleeee
                   create a load map file called _m_a_p_f_i_l_e, 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                                                   (9010-E)






      PPPPPPPP((((1111))))                        ((((RRRRiiiiddddggggeeee))))                        PPPPPPPP((((1111))))



           _p_p 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 aaaa....oooouuuutttt.

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

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

           _W_h_a_t _H_a_p_p_e_n_s:

           The C preprocessor cpp(1) ////lllliiiibbbb////ccccpppppppp executes. Its input file
           is ppppggggmmmm....pppp, and its output is a temporary file called
           ////ttttmmmmpppp////ccccttttmmmmaaaabbbbcccc.

           The Pascal compiler pasc(1) ////bbbbiiiinnnn////ppppaaaasssscccc executes.  Its input
           file is ////ttttmmmmpppp////ccccttttmmmmaaaabbbbcccc and its output file is ////ttttmmmmpppp////ccccttttmmmmddddeeeeffff.

           The p-code translator ptrans(1) ////bbbbiiiinnnn////ppppttttrrrraaaannnnssss executes.  Its
           input file is ////ttttmmmmpppp////ccccttttmmmmddddeeeeffff and its output file is
           ////ttttmmmmpppp////ccccttttmmmmgggghhhhiiii.

           The linker link(1) for Pascal and Ridge assembler is
           executed.  Its input files are ////ttttmmmmpppp////ccccttttmmmmgggghhhhiiii and ////lllliiiibbbb////rrrrttttllll....oooo.
           The output file is aaaa....oooouuuutttt, which is a runnable program.


      SSSSEEEEEEEE AAAALLLLSSSSOOOO
           cpp(1), rasm(1), ptrans(1), link(1)


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









      Page 2                                                   (9010-E)



