Method cpp()
- Method
cpp
string
cpp(string
data
,mapping
|string
|void
current_file
,int
|string
|void
charset
,object
|void
handler
,void
|int
compat_major
,void
|int
compat_minor
,void
|int
picky_cpp
)- Description
Run a string through the preprocessor.
Preprocesses the string
data
with Pike's builtin ANSI-C look-alike preprocessor. If thecurrent_file
argument has not been specified, it will default to"-"
.charset
defaults to"ISO-10646"
.If the second argument is a mapping, no other arguments may follow. Instead, they have to be given as members of the mapping (if wanted). The following members are recognized:
"current_file"
:string
Name of the current file. It is used for generating #line directives and for locating include files.
"charset"
:int
|string
Charset to use when processing
data
."handler"
:object
Compilation handler.
"compat_major"
:int
Sets the major pike version used for compat handling.
"compat_minor"
:int
Sets the minor pike version used for compat handling.
"picky_cpp"
:int
Generate more warnings.
"keep_comments"
:int
This option keeps cpp() from removing comments. Useful in combination with the prefix feature below.
"prefix"
:string
If a prefix is given, only prefixed directives will be processed. For example, if the prefix is
"foo"
, then#foo_ifdef COND
andfoo___LINE__
would be processed,#ifdef COND
and__LINE__
would not."predefines"
:mapping
(string
:mixed
)Mapping of predefined macros in addition to those returned by
CPP()->get_predefines()
.- See also