Next:
Introduction
Up:
Babel Users' Guide
Previous:
Software Notices
Index
Contents
Preface
Introduction
Babel Facilitates Language Interoperability
Scientific Interface Definition Language (SIDL)
Benefits to Customers
Beyond Babel's Scope
Summary
Organization
Foundations
Installation
Simple Installation
Configure
Make
Make Check (Optional)
Make Install
Make Installcheck (Optional)
External Software Requirements
Required & Included
Required but Separate
Recommended
Optional
Basic Babel Code Generation
Babel is a Compiler
Command Line Options
Hello World Tutorial
Introduction
Minimal Makefiles
Writing the C++ Implementation
Writing the Fortran 90 Implementation
Writing the C Client
Portable Makefiles: using babel-config
Final Remarks
SIDL Basics
Introduction
SIDL Files
Fundamental Types
Arrays
Interface Contracts
SIDL Runtime
Objects
XML Repositories
Supported Language Bindings
C Bindings
Introduction
Basics
Name space
Method signatures
Data types
Type casting
Client-side
Bindings generation
Header files
Object management
Static methods
Overloaded methods
Exception catching
Hooks execution
Contract enforcement
Implementation-side
Bindings generation
Bindings implementation
Private data
Exception throwing
Hooks implementation
C++ Bindings
Introduction
Basics
Name space
Method signatures
Data types
Type casting
Client-side
Bindings generation
Header files
Object management
Static methods
Overloaded methods
Exception catching
Hooks execution
Contract enforcement
Implementation-side
Bindings generation
Bindings implementation
Private data
Exception throwing
Hooks implementation
FORTRAN 77 Bindings
Introduction
Basics
Name space
Method signatures
Data types
Type casting
Client-side
Bindings generation
Object management
Static methods
Overloaded methods
Exception catching
Hooks execution
Contract enforcement
Implementation-side
Bindings generation
Bindings implementation
Private data
Exception throwing
Hooks implementation
Fortran 90 Bindings
Introduction
Basics
Name space
Method signatures
Data types
Type casting
Client-side
Bindings generation
Object management
Static methods
Overloaded methods
Exception catching
Hooks execution
Contract enforcement
Implementation-side
Bindings generation
Bindings implementation
Private data
Exception throwing
Hooks implementation
Java Bindings
Introduction
Basics
Name space
Method signatures
Data types
Type casting
Client-side
Bindings generation
Environment variables
Imports
Object management
Static methods
Overloaded methods
Exception catching
Hooks execution
Contract enforcement
Implementation-side
Bindings generation
Bindings implementation
Private data
Exception throwing
Hooks implementation
Python Bindings
Introduction
Basics
Name space
Method signatures
Data types
Type casting
Client-side
Bindings generation
Environment variables
Imports
Object management
Static methods
Overloaded methods
Exception catching
Hooks execution
Contract enforcement
Implementation-side
Bindings generation
Bindings implementation
Python Extension Modules
Private data
Exception throwing
Hooks implementation
SIDL Backend
Introduction
Purpose
Generated versus Original SIDL files
XML File Comparison
Babel Command Line Options
XML Backend
Introduction
Purpose
Basic Structure
Command Line Options
HTML Interface Documentation
Introduction
Advanced Topics
Remote Method Invocation
What is RMI?
Babel RMI Concepts
RMI Protocols
Babel Object Server
Object Creation and Connection
RMI Arguments
Casting Remote Objects
Babel RMI Usage
Adding Protocols
Built-in Functions
Passing Objects from a client
Babel Object Servers
Starting up a Babel Object Server
Publishing Babel Objects
De-publishing Babel Objects
Non-Blocking Babel RMI
Protocols
Nonblocking SIDL
Tickets
Non-blocking Usage
Building Portable Polyglot Software
Layout of Generated Files
Grouping compiled assets into Libraries
Basics of Compilation and Linkage
Circular Dependencies and Single-Pass Linkers
IOR as single point of access
Dynamic vs. Static Linking
Linkers and Position Independent Code (PIC)
Tracking Down Problems
SIDL Library Issues
Language Bindings for the sidl Package
SCL Files for Dynamic Loading
Deployment of Babel-Enabled Libraries
Creating Objects with Pre-Initialized State
Introduction to the Backdoor Initializer
Motivation
Example
The Backdoor Initializer in C
The Backdoor Initializer in FORTRAN 77
The Backdoor Initializer in Fortran 90
The Backdoor Initializer in C++
The Backdoor Initializer in Java
The Backdoor Initializer in Python
Interface Contracts
Introduction
Specifications
Format
Built-in Functions
Enforcement
Enforcement Options
Enforcement Policy
Summary
Troubleshooting
Introduction
Common Errors
Common Warnings
Lessons Learned
Introduction
Compilation Consistency is Key
Appendices
Reserved Words
Introduction
Reserved Words
Suggested Things To Avoid
SIDL Grammar
Introduction
Backus-Naur Form
Extensible Markup Language (XML)
Introduction
SIDL Document Type Declaration (DTD)
Glossary
Bibliography
Index
Subsections
Introduction
Babel Facilitates Language Interoperability
Scientific Interface Definition Language (SIDL)
Benefits to Customers
Beyond Babel's Scope
Summary
Organization
babel-1.4.0
users_guide Last Modified 2008-10-16
http://www.llnl.gov/CASC/components
components@llnl.gov