Related articles |
---|
Styles of strings for Fortran coats@cardinal.ncsc.org (1994-07-02) |
Newsgroups: | comp.compilers |
From: | coats@cardinal.ncsc.org (Carlie Coats) |
Keywords: | Fortran, design, comment |
Organization: | North Carolina Supercomputing Center |
Date: | Sat, 2 Jul 1994 16:20:56 GMT |
On a related topic, I'd like to make a plea for those implementing new
Fortran compilers (especially F90):
_Please_ use an implementation of Fortran strings which maps cleanly into
C structs and C++ classes (ideally, implement the data structures and the
operations for them using a C++ class).
That is to say, a Fortran string should probably be a something like:
typedef * struct{ unsigned length; char * value } FString ;
Then you need the following methods (which, as far as I am concerned,
could be implemented with a C++ library--which I'd like to have available
for myself):
length (easy)
concatenate
copy/assign
substring
index of key in string
Note that for Fortran to be happy, you will need to pad with blanks
whenever possible -- for example the following assignment statement
implies a pad with 5 trailing blanks:
CHARACTER*8 FOO
...
FOO = 'foo'
...
If new Fortran compilers could agree with a standard representation of
this sort for character strings, it would make multilanguage
programming--especially portable multilanguage programming--a lot easier.
(And you *need* multilanguage programming in order to do portable data
files from Fortran for real applications!)
Carlie J. Coats, Jr. coats@cardinal.ncsc.org
Environmental Programs phone: (919)248-9241
North Carolina Supercomputing Center fax: (919)248-9245
3021 Cornwallis Road P. O. Box 12889
Research Triangle Park, N. C. 27709-2889 USA
[Don't forget that whatever format you choose has to allow arbitrary string
overlays via equivalence and common. -John]
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.