GNU Info

Info Node: (libIDL.info)Functions

(libIDL.info)Functions


Next: Extensions Prev: Data Types Up: Reference
Enter node , (file) or (file)node

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 (Note: 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 (Note: 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.



automatically generated by info2www version 1.2.2.9