home *** CD-ROM | disk | FTP | other *** search
/ rtsi.com / 2014.01.www.rtsi.com.tar / www.rtsi.com / OS9 / TOP / USR / SRC / scpp.t.Z / scpp.t / scpp.man < prev    next >
Text File  |  2009-11-06  |  5KB  |  133 lines

  1.  
  2.  
  3.  
  4.      SSSSCCCCPPPPPPPP((((1111))))        XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((22228888 SSSSeeeepppptttteeeemmmmbbbbeeeerrrr 1111999988883333))))           SSSSCCCCPPPPPPPP((((1111))))
  5.  
  6.  
  7.  
  8.      NNNNAAAAMMMMEEEE
  9.       scpp - selective C preprocessor
  10.  
  11.      SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.       ssssccccpppppppp [ ----MMMM_m_a_c_r_o ] [ ----DDDD_m_a_c_r_o ] [ ----DDDD_m_a_c_r_o=_d_e_f ] [ ----CCCC ]
  13.            [ ----IIII_i_n_c_d_i_r ] [ _f_i_l_e... ]
  14.  
  15.      DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  16.       SSSSccccpppppppp concatenates the    input _f_i_l_e_s (or    reads standard-in, if
  17.       no _f_i_l_e is given), interprets    all references to given
  18.       macros, leaving the rest of the _f_i_l_e(s) unaltered, then
  19.       writes the result to standard-out.  It is helpful in
  20.       removing conditionally compiled code or misleading macros
  21.       from a file.
  22.  
  23.       The _f_i_l_e name    "----" refers to standard-in.
  24.  
  25.       The following    options    are available.    Each option can    appear
  26.       as frequently    as desired.
  27.  
  28.            -M   Interpret all references to    the given _m_a_c_r_o. _M_a_c_r_o
  29.             can    be either a single macro name or a
  30.             whitespace-separated list of macro names (e.g.
  31.             -MMAXINT or    -M"MAXINT MININT INTWID").  All
  32.             occurrences    of the macro and all instances of the
  33.             intrinsic macro "defined()"    referring to this
  34.             macro are expanded.     All preprocessor directives
  35.             referring to this macro (except ####iiiiffff) perform their
  36.             usual function and do not appear in    the output.
  37.             ####iiiiffff    directives are interpreted only    if their value
  38.             is not dependent on    macros which are not to    be
  39.             interpreted.
  40.  
  41.            -D   Define the _m_a_c_r_o to    have the value _d_e_f, or "1" if
  42.             no _d_e_f is given.  Unlike the C preprocessor, ssssccccpppppppp
  43.             does not implicitly    define certain macros that
  44.             describe the environment in    which the code will be
  45.             running (e.g. "vax"    or "unix").  ----DDDD    implies    ----MMMM....
  46.  
  47.            -C   Preserve comments and whitespace in    interpreted
  48.             macro definitions.    Normally, comments and leading
  49.             and    trailing whitespace are    stripped from
  50.             interpreted    macro definitions.
  51.  
  52.            -I   Add    _i_n_c_d_i_r to the list of directories to be
  53.             searched for include files.     SSSSccccpppppppp searches
  54.             directories    in the same order as the C
  55.             preprocessor: if the include filename is enclosed
  56.             in double-quotes ("...") rather than angle-
  57.             brackets (<...>), the directory containing the
  58.             current file being processed; the directories
  59.             given by -I, left-to-right;    the standard
  60.  
  61.  
  62.  
  63.      Page 1                        (printed 11/28/87)
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.      SSSSCCCCPPPPPPPP((((1111))))        XXXXEEEENNNNIIIIXXXX SSSSyyyysssstttteeeemmmm VVVV ((((22228888 SSSSeeeepppptttteeeemmmmbbbbeeeerrrr 1111999988883333))))           SSSSCCCCPPPPPPPP((((1111))))
  71.  
  72.  
  73.  
  74.             directory, /usr/include.
  75.  
  76.      AAAAUUUUTTTTHHHHOOOORRRR
  77.       Brad Needham,    Tektronix, Inc.
  78.  
  79.      SSSSEEEEEEEE AAAALLLLSSSSOOOO
  80.       cc(1).
  81.  
  82.      BBBBUUUUGGGGSSSS
  83.       Very long identifiers    (those over 100    characters long) will
  84.       crash    ssssccccpppppppp....
  85.  
  86.       Because ssssccccpppppppp interprets only the given macros, the meaning
  87.       of some code will change.  E.g. "scpp    -MBOO" of
  88.            #define BOO hello,there
  89.            #define twopar(a,b) a b
  90.            twopar(BOO,folks)
  91.       will generate
  92.            #define twopar(a,b) a b
  93.            twopar(hello,there,folks)
  94.       causing an argument mismatch when the    output is compiled.
  95.  
  96.       Because uninterpreted    "#if"s,    "ifdef"s, and "ifndef"s, have
  97.       no effect on the output, the following example, when
  98.       processed via    "scpp -MLEFT", will generate an    error message
  99.       complaining about multiple definitions of "LEFT".
  100.            #ifdef ZULU
  101.            #define LEFT 20
  102.            #else
  103.            #define LEFT 347
  104.            #endif
  105.  
  106.       The C    preprocessor macros "________FFFFIIIILLLLEEEE________" and "________LLLLIIIINNNNEEEE________" have no
  107.       special meaning to ssssccccpppppppp....
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.      Page 2                        (printed 11/28/87)
  130.  
  131.  
  132.  
  133.