Babel 0.8.x Command Line

Name

    babel - Babel compiler
 

Synopsis

    babel  [-h  |  --help ]
             |  [ -v |  --version ]
             |  [  [  -ctargetlanguage    |  --client=targetlanguage
                      |  -stargetlanguage   |  --server=targetlanguage
                      |  -x                               |  --xml
                      |  -p                               |  --parse-check
                      |  -ttargetform                |  --text=targetform
                      |  --generate-sidl-stdlib  ]
                    [ -ooutputdirectory      |  --output-directory=outputdirectory  ]
                    [ -eregexpression       | --exclude=regexpression  ]
                    [ -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 or the corresponding XML files,
    results in the automatic generation of the associated skeleton, stub, or
    text files.  That is, source files for the client and/or server can be automatically
    generated.  Alternatively, text files containing XML or SIDL can automatically
    be generated.  For server side source code, the Babel user 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++, F77, F90, Java,
    and Python.  On the client-side, Babel supports C, C++, F77, F90, and Python.
    The textual representations that can be generated from SIDL or XML are
    XML and SIDL.
 

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.

    -eregexpression    |  --exclude=regularexpression
        Do not generate code or text corresponding to the symbols matching the regular
        expression.  This option requires JRE 1.4 virtual machine or higher.

   --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.

    -ttargetform    |  --text=targetform
        Generate text in the specified target format.  The targetform can be one of XML
        and SIDL.  If XML, the repository will be updated.

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

    -x    |  --xml
        DEPRECATED.  Use --text=XML or -tXML instead.  Generate SIDL's XML and
        update 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, -t, --text, -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.