Babel 0.6.x Command Line

Name

    babel - Babel compiler
 

Synopsis

    babel  [-h  |  --help ]
             |  [ -v |  --version ]
             |  [  [  -ctargetlanguage    |  --client=targetlanguage
                      |  -stargetlanguage   |  --server=targetlanguage
                      |  -x                               |  --xml
                      |  -p                               |  --parse-check
                      |  --generate-sidl-stdlib  ]
                    [ -ooutputdirectory    |  --output-directory=outputdirectory  ]
                    [ -g                                 | -- generate-subdirs  ]
                    [ -Rurlpath                   |  --repository-path=urlpath  ]
                    [ --suppress-timestamp]
                    [ --no-default-repository ]  sidlfilename1 [, sidlfilename2, ... ]  ]
 

Description

    Babel is a language interoperability tool intended for use by the high-
    performance scientific computing community.  Developed by the
    Components project at Lawrence Livermore National Laboratory,
    Babel supports the Scientific Interface Definition Language (SIDL)
    for the language-independent declaration of interfaces associated with
    scientific software packages.

    The Babel tool, applied to a SIDL file, results in the automatic
    generation of the associated skeleton and/or stub source files.  The
    Babel user then need only add the necessary code to the impl source
    files to complete the provision of a language-independent interface
    to the package described by the SIDL file.  The languages currently
    supported by Babel on the server-side are C, C++, and F77.  On the
    client-side, Babel supports C, C++, F77, and Python.
 

Options

    -ctargetlanguage    |  --client=targetlanguage
        Generate, in the specified language, only the client code (i.e., the stubs and ior
         headers).  The targetlanguage can be one of C, C++, F77, Java, and Python.

    -g    |  --generate-subdirs
        Place the generated code in subdirectories matching the package hierarchy rather
        than in the current directory.

   --generate-sidl-stdlib
        Generate skeleton and impl files for the SIDL base classes.  It is used by Babel
        developers to regenerate the SIDL base classes in the runtime directory after
        a change has been made to sidl.sidl.

    -h    |  --help
        Default option.  Display the command line options before exiting.

    --no-repository-default
        Prohibit the use of the repositoryDefault in finding repositories to resolve symbols.

    -ooutputdirectory    |  --output-directory=outputdirectory
        Identify the output directory to be used as the root of the distribution.  By default,
        the output directory is '.'.

    -p    |  --parse-check
        Only parse the specified SIDL file.  That is, do not generate the associated code.

    -Rurlpath    |  --repository-path=urlpath
        Set the search path for symbol repositories to the specified,  semicolon-separated
        list of URLs.  The urlpath is used to search for repositories to resolve symbols.

    -stargetlanguage    |  --server=targetlanguage
        Generate, in the specified language, the server code (i.e., the stubs, iors, skeletons,
        and impls).  The targetlanguage can be one of C, C++, F77, and Python.

    --suppressTimestamp
        Suppress timestamps on the generated files.  This feature is useful for avoiding
        revisions based solely on changes to the file generation timestamp embedded
        within the generated source codes.

    -v    |  --version
        Display the Babel compiler version before exiting.

    -x    |  --xml
        Generate SIDL's XML.  This is used to update the XML in the repository.
 

Note:  One and only one of the following options can be specified on a given command line:
    -c, --client, -s, --server, --generate-sidl-stdlib, -x, --xml, -p, --parse-check,
    -h, --help, -v, --version.
 
 

Examples

    The examples included here are taken from the Babel 101 tutorial and assume
    BABEL_HOME points to the directory into which you installed the Babel
    distribution.

        % $BABEL_HOME/babel/bin/babel -sC++ ../hello.sidl
            This generates the C++ server sources (i.e., -sC++)  along with the associated
             makefile fragment, called babel.make, placing all of the generated  files in the
             current directory.  The SIDL file, called hello.sidl, is assumed to be in  the directory
             immediately above the current one.

        % $BABEL_HOME/babel/bin/babel -cc hello.sidl
            This generates the C client bindings (i.e., -cc) and the makefile fragment, called
             babel.make, associated with the C stub for the interface defined in hello.sidl.

See Also

    A tutorial on the use of Babel to create a "Hello World!" program using SIDL can be
    found in  Babel 101.  An example of a more involved SIDL file illustrating the interface
    for the hypre library is also available along with the SIDL grammar.  Crash courses
    are also available on SIDL Arrays and Fortran 77.