next up previous contents
Next: References Up: Connecting a Program and Previous: Program Execution

The Foreign Language Interface

  A class declaration which is specified as external constitutes an interface to other programming languages. An external class may define procedures and shared attributes only. The attributes are replaced as described in section 4.5. Private declarations do not contribute to the interface. Procedures may have a body or may be declared as external.

Procedures that are not external are accessible from other programming languages. The implementations of external procedures have to be available at link time and may be given in some foreign programming language. The foreign programming language must support the standard calling conventions of the target machine. The necessary type checking is not done!

The external identifier for an exported or imported procedure is the concatenation of the identifier of the external class and the procedure identifier, unless it is explicitly given. All external identifiers have to be unique at link time. Within an external class identifiers have to be unique; no overloading resolution applies.

There are no objects of an external class. An external class may neither inherit another class, nor is it allowed to inherit an external class.



Martin Trapp
Mon Feb 17 16:49:16 MET 1997