(libIDL2.info.gz) Functions
Info Catalog
(libIDL2.info.gz) Data Types
(libIDL2.info.gz) Reference
(libIDL2.info.gz) Extensions
5 Functions
***********
* Function: int IDL_parse_filename (const char *NAME, const char
*CPP_ARGS, IDL_msg_callback CALLBACK, IDL_tree *TREE, IDL_ns *NS,
unsigned long FLAGS, int MAX_MESSAGE_LEVEL)
Parse an file containing an IDL definition into a parse tree.
Returns IDL_SUCCESS if successful, or IDL_ERROR if there was a
parse error. If -1 is returned, errno will be set accordingly.
Usually, if IDL_ERROR is returned, all one needs to do is exit
with a non-zero status, since libIDL will probably have made the
reason for failure explictly known.
- NAME: required, specifies the filename to be parsed.
- CPP_ARGS: optional, if non-NULL, specifies extra arguments to
pass to the C preprocessor. The most common type of string
would be in the form of -I<dir> to include additional
directories for file inclusion search, or defines in the form
of -D<define>=<value>.
- CALLBACK: optional, if non-NULL, this function will be called
when a warning or error is generated ( Data Types).
If not given, warnings and errors will be sent to stderr.
All errors and warning, including callbacks, are subject to
MAX_MESSAGE_LEVEL as described below.
- TREE: optional, if non-NULL, points to an IDL_tree * to
return the generated tree which must be freed with
IDL_tree_free. If NULL, the tree is freed and not returned.
- NS: optional, if non-NULL, points to an IDL_ns * to return
the namespace tree which must be freed with IDL_ns_free. If
NULL, the tree is freed and not returned. If TREE is NULL,
then NS must also be NULL, since the namespace is created as
the AST is generated.
- FLAGS: optional, specifies extra flags for parsing or 0. The
various flags are described here.
- General Parse Flags
- IDLF_NO_EVAL_CONST: instructs the parser not to evaluate
constant expressions.
- IDLF_COMBINE_REOPENED_MODULES: instructs the parser to
combine modules defined later in the IDL code in the
first module node in the tree.
- IDLF_PREFIX_FILENAME: instructs the parser to prefix the
filename to the namespace.
- IDLF_IGNORE_FORWARDS: instructs the parser to not try to
resolve and print messages for unresovled forward
declarations.
- IDLF_PEDANTIC: instructs the parser to display stricter
errors and warnings.
- IDLF_INHIBIT_TAG_ONLY: only tag inhibited nodes, do not
remove them. Use IDL_tree_remove_inhibits to remove
them at a later time.
- IDLF_INHIBIT_INCLUDES: causes libIDL to automatically
inhibit IDL trees in included files.
- Syntax Extension Flags
- IDLF_TYPECODES: understand the `TypeCode' keyword
extension.
- IDLF_XPIDL: enable XPIDL syntax.
- IDLF_PROPERTIES: enable support for node properties.
- IDLF_CODEFRAGS: enable support for embedded code
fragments.
- MAX_MESSAGE_LEVEL:
This specifies the maximum message level to display.
Possible values are -1 for no messages, IDL_ERROR for errors
only, or IDL_WARNING1, IDL_WARNING2 and IDL_WARNING3. A
typical value is IDL_WARNING1, which will limit verbosity.
IDL_WARNINGMAX is defined as the value in which all messages
will be displayed.
* Function: void IDL_tree_walk_in_order (IDL_tree ROOT, IDL_tree_func
FUNC, gpointer DATA)
Walks an IDL_tree, calling FUNC for every node. If the FUNC
returns TRUE for a particular node, that particular node will also
be traversed, if FALSE is returned, that particular node will be
skipped, in the assumption that the function has taken care of it.
- ROOT: required, specifies the IDL_tree to traverse.
- FUNC: required, specifies the callback function ( Data
Types).
- DATA: optional, specifies the callback data.
* Function: void IDL_tree_free (IDL_tree TREE)
Frees the memory associated with TREE.
* Function: void IDL_ns_free (IDL_ns NS)
Frees the memory associated with NS.
Info Catalog
(libIDL2.info.gz) Data Types
(libIDL2.info.gz) Reference
(libIDL2.info.gz) Extensions
automatically generated byinfo2html