DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ T y

⟦73385d133⟧ TextFile

    Length: 1839 (0x72f)
    Types: TextFile
    Names: »yacpps.1«

Derivation

└─⟦a0efdde77⟧ Bits:30001252 EUUGD11 Tape, 1987 Spring Conference Helsinki
    └─ ⟦this⟧ »EUUGD11/euug-87hel/sec1/yacpps/yacpps.1« 

TextFile


.TH YACPPS 1 "Edinburgh Univ, June 6 1986"
.SH NAME
yacpps - yet another C pre-processor simulator
.SH SYNOPSIS
.B yacpps [-i] [-Dlabel] ... [-Ulabel] ... [source]
.SH DESCRIPTION
.I Yacpps
simulates the C pre-processor in its action of
removing dependant code between
.I #ifdef/#ifndef
and
.I #endif
pairs.
Each pre-processor label it encounters is given one of the
values
.I Defined, Undefined or Unknown.
.PP
A
.I #ifdef
directive will be
.TP
.B 1.
Left complete, with the
.I #ifdef-#endif
labels removed, if the variable is
.I Defined.
.TP 
.B 2.
Removed entirely, with its #ifdef-#endif labels,
if it is
.I Undefined.
.TP
.B 3
Left alone, if it is
.I Unknown.
.PP
A
.I #ifndef
directive will be similar, with reversed effects
for
.I Defined
and 
.I Undefined
variables.
.PP
A
.I #if
directive is always treated as though its parameter were
.I unknown.
.PP
Options understood are
.TP
.B -i
This causes `implicit'
definition of variables;
if a
.I #define
of a previously
.I unknown
variable
occurs
in the scope of an
.I undefined
.I #ifdef
or
.I #ifndef,
or in comments within a
.I defined
.I #ifdef
or
.I #ifndef,
then it is set as being
.I undefined.
.br
This causes lots of junk to be removed, though its
safety is not totally guarenteed.
.TP
.B -Dlabel
This sets the variable
.I label
to be
.I defined.
.TP
.B -Ulabel
This sets the variable named to be
.I undefined.
.PP
If no source file is given on the command line,
then the standard input file is used instead.
.SH "STATUS RETURNS"
Return status is non-zero if anything went wrong,
otherwise 0.
.SH "SEE ALSO"
cpp(1).
.SH BUGS
It doesn't understand comments very well.
.br
Any Control-G's in the input are converted into
newlines on output.
.br
It fails to remove
.I unknown
#ifdef/#endif pairs with null bodies.
.br
It is implemented as a shell-script.
.SH AUTHOR
Simon Brown