83 lines
2.9 KiB
Plaintext
83 lines
2.9 KiB
Plaintext
This description is VERY incomplete.
|
|
|
|
This module uses Data::Flow interface, thus one uses it in
|
|
the following fashion:
|
|
|
|
$c = new C::Scan(attr1 => $value1, attr2 => $value2);
|
|
$c->set( attr3 => $value3 );
|
|
|
|
$value4 = $c->get('attr4');
|
|
|
|
Attributes are depending on some other attributes. The
|
|
only required attribute, i.e., the attribute which should
|
|
be set, is filename, which denotes which file to parse.
|
|
|
|
All other attributes are either optional, or would be
|
|
calculated basing on values of required and optional
|
|
attributes.
|
|
|
|
Output attributes
|
|
|
|
|
|
includes Value: reference to a list of included
|
|
files.
|
|
|
|
defines_args Value: reference to hash of macros with
|
|
arguments. The values are references to an
|
|
array of length 2, the first element is a
|
|
reference to the list of arguments, the
|
|
second one being the expansion. Newlines
|
|
are not unescaped, thus
|
|
|
|
#define C(x,y) E\
|
|
F
|
|
|
|
will finish with ("C" => [ ["x", "y"],
|
|
"E\nF"]).
|
|
|
|
defines_no_args
|
|
Value: reference to hash of macros without
|
|
arguments. Newlines are not escaped, thus
|
|
|
|
|
|
#define A B
|
|
|
|
will finish with ("A" => "B").
|
|
|
|
fdecls Value: reference to list of declarations of
|
|
functions.
|
|
|
|
inlines Value: reference to list of definitions of
|
|
functions.
|
|
|
|
parsed_fdecls Value: reference to list of parsed
|
|
declarations of functions.
|
|
|
|
A parsed declaration is a reference to a
|
|
list of (rt, nm, args, ft, mod). Here rt is
|
|
return type of a function, nm is the name,
|
|
args is the list of arguments, ft is the
|
|
full text of the declaration, and mod is the
|
|
modifier (which is always undef).
|
|
|
|
Each entry in the list args is of the same
|
|
form (ty, nm, args, ft, mod), here ty is the
|
|
type of an argument, nm is the name (a
|
|
generated one if missing in the
|
|
declaration), args is undef, and mod is the
|
|
string of array modifiers.
|
|
|
|
typedef_hash Value: a reference to a hash which contains
|
|
known typedefs as keys.
|
|
|
|
typedef_texts Value: a reference to a list which contains
|
|
known expansions of typedefs.
|
|
|
|
typedefs_maybe
|
|
Value: a reference to a list of typedefed
|
|
names. (Syncronized with typedef_texts).
|
|
|
|
vdecls Value: a reference to a list of extern
|
|
variable declarations.
|
|
|