External.module



--------------------------->  GNU Sather - module  <---------------------------
-- Copyright (C) 2000 by K Hopper, University of Waikato, New Zealand        --
-- This file is part of the GNU Sather package. It is free software; you may --
-- redistribute  and/or modify it under the terms of the  GNU General Public --
-- License (GPL)  as  published  by the  Free  Software  Foundation;  either --
-- version 2 of the license, or (at your option) any later version.          --
-- This  program  is distributed  in the  hope that it will  be  useful, but --
-- WITHOUT ANY WARRANTY without even the implied warranty of MERCHANTABILITY --
-- or FITNESS FOR A PARTICULAR PURPOSE. See Doc/GPL for more details.        --
-- The license text is also available from:  Free Software Foundation, Inc., --
-- 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA                     --
-------------->  Please email comments to   <--------------

(* EXTERNAL INTERFACE TO OTHER LANGUAGES CLASSES

External classes are used to interface with code from other languages
(see the 1.1 Sather spec). In particular, 1.1 spec defines external
interface to C and FORTRAN.

FORTRAN scalar types F_INTEGER, F_REAL, F_LOGICAL, F_CHARACTER,
F_DOUBLE, F_COMPLEX, F_DOUBLE_COMPLEX,  are built in. FORTRAN array
types F_INTEGER_ARR and F_REAL_ARR are currently not built in (may
change).

A complete description of the external Sather types can be found
in the language specification, which is in the Doc directory of
the Sather installation.

*)



fortran.sa         -has fortran.sa F_INTEGER F_REAL F_CHARACTER F_LOGICAL F_DOUBLE F_COMPLEX F_DOUBLE_COMPLEX F_HANDLER F_STRING F_ARRAY F_ARRAY2 F_ARRAY3 
bind_frtrn.sa    -has bind_frtrn.sa BIND_FORTRAN

c.sa               -has c.sa C_CHAR C_UNSIGNED_CHAR C_SIGNED_CHAR C_SHORT C_INT C_LONG C_UNSIGNED_SHORT C_UNSIGNED_INT C_UNSIGNED_LONG C_FLOAT C_DOUBLE C_LONG_DOUBLE C_PTR C_CHAR_PTR C_UNSIGNED_CHAR_PTR C_SIGNED_CHAR_PTR C_SHORT_PTR C_INT_PTR C_LONG_PTR C_UNSIGNED_SHORT_PTR C_UNSIGNED_INT_PTR C_UNSIGNED_LONG_PTR C_FLOAT_PTR C_DOUBLE_PTR C_LONG_DOUBLE_PTR C_SIZE_T C_PTRDIFF_T  CONVERT_FROM_C_PTR