babel120

Langue: en

Version: 250761 (debian - 07/07/09)

Section: 1 (Commandes utilisateur)

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.