DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(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