home *** CD-ROM | disk | FTP | other *** search
/ Computer Club Elmshorn Atari PD / CCE_PD.iso / mac / 1000 / CCE_1024.ZIP / CCE_1024 / SOZBIN07.LZH / SOZDISTR / DOC / CPP.MAN < prev    next >
Text File  |  1994-02-27  |  12KB  |  331 lines

  1.  
  2.  
  3. CPP (1)                       30 May 1993                        CPP (1)
  4.  
  5.  
  6.  
  7.  
  8. pNAMEq pq pq pq pq pq pq pq pq 
  9.         cpp - a stand-alone C preprocessor 
  10.  
  11. pSYNOPSISq pq pq pq pq pq pq pq pq 
  12.         pcppq [ p-CTVq ] [ p-Pq[012]pqpq ] [ p-Dqnamepqpq ] 
  13.              [ p-Dqnamep=qdefpq ] [ p-Iqdirectorypqpq ] [ p-Uqnamepqpq ] 
  14.              [ p-ansiq ] [ p-fq[no-]pc++-commentsqpq ] [ p-Wq[no-]pbad-charsqpq ] 
  15.              [ p-Wq[no-]pnested-commentsqpq ] [ pinput-fileq [ poutput-fileq ] ] 
  16.  
  17. pDESCRIPTIONq pq pq pq pq pq pq pq pq 
  18.  
  19.         pcppq  is  a  stand-alone  C preprocessor, intended for use with C
  20.         compilers  such  as  HSC  which  do  not  provided   access   to
  21.         preprocessor output.    It  implements as closely as possible an
  22.         ANSI standard C preprocessor, including trigraphs, token pasting 
  23.         and stringizing.  
  24.  
  25.         pcppq optionally accepts two filenames as arguments.    pinput-fileq
  26.         and  poutput-fileq  are,  respectively, the input and output files
  27.         for the preprocessor.  If not specified, or  if  given  as  `-',
  28.         they  default  to  the  standard  input and the standard output,
  29.         respectively.  
  30.  
  31. pOPTIONSq pq pq pq pq pq pq pq pq 
  32.  
  33.         p-Cq  
  34.                 Pass all comments (except those  that  appear  on    pcppq
  35.                 directive lines)  through the preprocessor.  By default,
  36.                 pcppq strips out C-style comments.  
  37.  
  38.         p-Pq[012]  
  39.                 Preprocess the input without producing the line  control
  40.                 information used  by the next pass of the C compiler.  A
  41.                 numeric argument can be passed to -P: 0  specifies  that
  42.                 no line control information control is generated, and is 
  43.                 equivalent  to  -P; 1 specifies that normal line control
  44.                 information is generated, which is the  default;  and  2
  45.                 specifies  that line control information is generated in
  46.                 the form of preprocessor  p#lineq directives.  
  47.  
  48.         p-Tq  
  49.                 Translate trigraphs in the input file.  This behavior is 
  50.                 implied by the p-ansiq option.  
  51.  
  52.         p-Dq name  
  53.                 Define pnameq as 1 (one).   This  is  the  same  as  if  a
  54.                 p-Dqnamep=1qpq option appeared on the  pcppq command line, or as 
  55.                 if a 
  56.  
  57.          
  58.                 p#defineq name p1qpq 
  59.  
  60.          
  61.  
  62.  
  63.  
  64. Sun Feb 27 15:41:03 1994                                          Page 1
  65.  
  66.  
  67.  
  68.  
  69. CPP (1)                       30 May 1993                        CPP (1)
  70.  
  71.  
  72.  
  73.                 line   appeared   in  the  source  file  that    pcppq  is
  74.                 processing.  
  75.  
  76.         p-Dqnamep=qdef  
  77.                 Define pnameq as if by a p#defineq directive.  This  is  the
  78.                 same as if a 
  79.  
  80.          
  81.                 p#defineq name pdefqpq 
  82.  
  83.          
  84.                 line   appeared   in  the  source  file  that    pcppq  is
  85.                 processing.  The p-Dq option has lower precedence than the 
  86.                 p-Uq option; that is, if the same name is used in  both  a
  87.                 p-Uq  option  and  a p-Dq option, the name will be undefined
  88.                 regardless of the order of the options.  
  89.  
  90.         p-Iqdirectory  
  91.                 Insert  pdirectoryq into  the  search  path  for  p#includeq
  92.                 files with names not beginning with q`p/q', `p\q´,pq or a drive 
  93.                 specifier.   pdirectoryq is inserted ahead of the standard
  94.                 list of ``include'' directories.  Thus,  p#includeq  files
  95.                 with  names  enclosed  in double-quotes (p"q) are searched
  96.                 for first in the directory of the file with the p#includeq 
  97.                 line, then in directories named  with  p-Iq  options,  and
  98.                 lastly, in  directories  from  the  standard  list.  For
  99.                 p#includeq files with  names  enclosed  in  angle-brackets
  100.                 q(p<>q),pqpq  the  directory of the file with the p#includeq line
  101.                 is not searched.  See pUSAGEq below for exact  details  of
  102.                 this search order.  
  103.  
  104.         p-Sq[filename]  
  105.                 Specify an alternate configuration file.  If pfilenameq is 
  106.                 present,  the  specified  file  is  read  instead of the
  107.                 default configuration file; if pfilenameq is  absent,  the
  108.                 default configuration  file  is  simply  not  read.  See
  109.                 pUSAGEq below for further details.  
  110.  
  111.         p-Uqname  
  112.                 Remove any initial definition of pnameq,pqpq where pnameq  is  a
  113.                 symbol that is predefined by the preprocessor.  
  114.  
  115.         p-Vq  
  116.                 Print version information to pstderrq.pqpq 
  117.  
  118.         p-ansiq  
  119.                 Define  the preprocessor token p__STDC__q to have value 1,
  120.                 and enable  trigraph  translation.    To  get   p__STDC__q
  121.                 without   trigraph  translation,  you  can  specify  the
  122.                 options p-ansiq p-Tq.pqpq 
  123.  
  124.         The following p-fq and p-Wq options can be negated by adding  a  pno-q
  125.         before the option name.  Some are on by default.  
  126.  
  127.  
  128.  
  129.  
  130. Sun Feb 27 15:41:03 1994                                          Page 2
  131.  
  132.  
  133.  
  134.  
  135. CPP (1)                       30 May 1993                        CPP (1)
  136.  
  137.  
  138.  
  139.         p-fc++-commentsq  
  140.                 Support the C++ comment indicator q`p//q´.pqpq With this option 
  141.                 active,  everything  on the line after the p//q is treated
  142.                 as a comment.  Off by default.  
  143.  
  144.         p-Wbad-charsq  
  145.                 Issue a warning  if  a  character  that  cannot  legally
  146.                 appear in  a  C  program  appears  in  the input.  On by
  147.                 default.  
  148.  
  149.         p-Wnested-commentsq  
  150.                 Issue a warning if a  comment-start  character  sequence
  151.                 q(`p/*q´,pqpq  and q`p//q´pqpq if p-fc++-commentsq is active) appears in
  152.                 a comment.  Off by default.  
  153.  
  154. pUSAGEq pq pq pq pq pq pq pq pq 
  155.         If you are familiar with C, you should already  know  about  the
  156.         basic   workings  of  pcppq.pqpq  We  will  not  go  into  a  detailed
  157.         description here, since any good book  on  C  could  do  better;
  158.         instead,   we   will   describe   details   particular  to  this
  159.         implementation.  
  160.  
  161.         ppDirectory Search Orderqq pq pq pq pq pq pq pq pq 
  162.  
  163.  
  164.         A file specified in an p#includeq directive will be  searched  for
  165.         in the following directories, in order: 
  166.  
  167.         1.  
  168.                 The  directory  of  the file that contains the  p#includeq
  169.                 directive, if the directive is  of  the  form  `p#includeq
  170.                 "filename"'.  
  171.  
  172.         2.  
  173.                 The  directories  specified  by p-Iq options, in the order
  174.                 they were specified.  
  175.  
  176.         3.  
  177.                 The  list  of  directories  specified  in  the   pINCLUDEq
  178.                 environment variable, in order.  
  179.  
  180.         ppSpecial Namesqq pq pq pq pq pq pq pq pq 
  181.  
  182.  
  183.         The following macros are predefined by pcppq:pqpq 
  184.  
  185.         p__STDC__q  
  186.                 Expands to 1 if the p-ansiq option is specified.  
  187.  
  188.         p__LINE__q  
  189.                 Expands  to an integer constant representing the current
  190.                 line number in the current input file.  
  191.  
  192.         p__FILE__q  
  193.  
  194.  
  195.  
  196. Sun Feb 27 15:41:03 1994                                          Page 3
  197.  
  198.  
  199.  
  200.  
  201. CPP (1)                       30 May 1993                        CPP (1)
  202.  
  203.  
  204.  
  205.                 Expands to a string constant representing  the  name  of
  206.                 the current input file.  
  207.  
  208.         p__DATE__q  
  209.                 Expands  to  a string constant of the form "Mmm dd yyyy"
  210.                 representing  the  date  on  which   preprocessing   was
  211.                 initiated.  
  212.  
  213.         p__TIME__q  
  214.                 Expands  to  a  string  constant  of the form "hh:mm:ss"
  215.                 representing the system time at which preprocessing  was
  216.                 initiated.  
  217.  
  218.         p__INCLUDE_LEVEL__q  
  219.                 Expands  to an integer constant representing the current
  220.                 depth of nested p#includeq files.  
  221.  
  222.         ppConfiguration filesqq pq pq pq pq pq pq pq pq 
  223.  
  224.  
  225.         pcppq uses a configuration file to set up site-specific predefined 
  226.         macros.  By  default,  the  directories  specified  in  the  pLIBq
  227.         environment   variable  are  searched  in  order  for  the  file
  228.         pcpp_defs.hq;pqpq an alternate file can be specified from the  command
  229.         line with the p-Sq option.  
  230.  
  231.         The  configuration  file  is read just like a normal input file,
  232.         except that text  other  than  preprocessor  directives  is  not
  233.         passed through  to  the output file.  Normally the configuration
  234.         file will contain only comments and preprocessor directives.  In 
  235.         addition,  two  special  pragmas  are   available   within   the
  236.         configuration file only: 
  237.  
  238.         #pragma CPP_cmdline_arg poptionq  
  239.                 The  single  token  poptionq is processed as though it had
  240.                 appeared as a command-line option.  The  option  may  be
  241.                 undone  from  the  command  line,  except  as  indicated
  242.                 below.  
  243.  
  244.         #pragma CPP_delayed  
  245.                 Normally, the configuration  file  is  processed  before
  246.                 command-line   options   are  processed,  to  allow  the
  247.                 commands  therein  to  be  overridden  by   command-line
  248.                 options.   This  pragma  causes  the  command line to be
  249.                 processed before the remainder  of  the  file,  allowing
  250.                 conditional  setup  based  on  parameters  set  from the
  251.                 command line.    Note   that   macro   definitions   and
  252.                 command-line   specifications  made  after  this  pragma
  253.                 cannot be undone from the command line.  
  254.  
  255.         For example, the  following  configuration  file  activates  C++
  256.         comments  by  default,  and sets the macro p_PROTO()q according to
  257.         the presence of the p-ansiq option: 
  258.         
  259.  
  260.  
  261.  
  262. Sun Feb 27 15:41:03 1994                                          Page 4
  263.  
  264.  
  265.  
  266.  
  267. CPP (1)                       30 May 1993                        CPP (1)
  268.  
  269.  
  270.  
  271.             #pragma CPP_cmdline_arg -fc++-comments
  272.             #pragma CPP_delayed
  273.             #ifdef __STDC__
  274.             #  define _PROTO(x) x
  275.             #else
  276.             #  define _PROTO(x) ()
  277.             #endif
  278.         
  279.  
  280. pSEEq pALSOq pq pq pq pq pq pq pq 
  281.         Documentation for your C compiler 
  282.  
  283.         Any good book on C.  
  284.  
  285. pDIAGNOSTICSq pq pq pq pq pq pq pq pq 
  286.  
  287.         The  error  messages  produced  by  pcppq  are  intended   to   be
  288.         self-explanatory.   The line number and filename where the error
  289.         occurred are printed along with the diagnostic.  
  290.  
  291. pBUGSq pq pq pq pq pq pq pq pq 
  292.         None that I know of, but there's almost always One More Bug(TM). 
  293.         If you should find one, please report it to me, Scott Bigham, at 
  294.         dsb@cs.duke.edu.  
  295.  
  296.  
  297.  
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328. Sun Feb 27 15:41:03 1994                                          Page 5
  329.  
  330.  
  331.