[net.unix-wizards] Make - What is Efl?

bruce@graffiti.UUCP (Bruce Jilek) (03/18/86)

In _Make - A Program for Maintaining Computer Programs_ by S.I. Feldman
(Unix Programmer's Manual 7th ed., vol. 2), a program suffix '.e' is
described.  It means that the source is an Efl source file.

What is 'Efl'.  Sorry if this is old material.  I discovered that I didn't
know 'make' as well as I thought, and studying this paper brought up the
question.

Bruce Jilek

bruce@graffiti.UUCP (Bruce Jilek) (03/19/86)

> In _Make - A Program for Maintaining Computer Programs_ by S.I. Feldman
> (Unix Programmer's Manual 7th ed., vol. 2), a program suffix '.e' is
> described.  It means that the source is an Efl source file.
> 
> What is 'Efl'.  Sorry if this is old material.  I discovered that I didn't
> know 'make' as well as I thought, and studying this paper brought up the
> question.
> 
> Bruce Jilek

I answered my own question by reading through the Berkeley 4.1
Unix Programmer's Manual.  Another article by S.I.Feldman describes
_The Programming Language EFL_.  It stands for 'Extended FORTRAN Language'.

Why doesn't the all world's knowledge come in one handy reference :-).

steve@jplgodo.UUCP (Steve Schlaifer x3171 156/224) (03/21/86)

In article <121@graffiti.UUCP>, bruce@graffiti.UUCP writes:
> In _Make - A Program for Maintaining Computer Programs_ by S.I. Feldman
> (Unix Programmer's Manual 7th ed., vol. 2), a program suffix '.e' is
> described.  It means that the source is an Efl source file.
> 
> What is 'Efl'.
EFL is a pre-processor for Fortran and stands for Extended Fortran Language.
It is a descendant of Ratfor.  It is described in a paper by Stuart I. Feldman
-- 

...smeagol\			Steve Schlaifer
......wlbr->!jplgodo!steve	Advance Projects Group, Jet Propulsion Labs
....group3/			4800 Oak Grove Drive, M/S 156/204
				Pasadena, California, 91109
					+1 818 354 3171

gwyn@brl-smoke.ARPA (Doug Gwyn ) (03/23/86)

In article <121@graffiti.UUCP> bruce@graffiti.UUCP (Bruce Jilek) writes:
>In _Make - A Program for Maintaining Computer Programs_ by S.I. Feldman
>(Unix Programmer's Manual 7th ed., vol. 2), a program suffix '.e' is
>described.  It means that the source is an Efl source file.
>
>What is 'Efl'.

Funny; I thought EFL was also described in the same manual.
EFL is Feldman's Extended Fortran Language, which is somewhat
like RatFor except that it supports data structures and has
to interface with the second-pass code generator instead of
acting as just a preprocessor.

EFL is still distributed with UNIX System V, but some porters
are not porting it, for unknown reasons.  I doubt that it has
many users outside Bell Labs, and perhaps not many even there.

gwyn@brl-smoke.ARPA (Doug Gwyn ) (03/24/86)

Oops!  Donn Seeley has pointed out to me that "efl"
directly produces Fortran and is not interfaced directly
to the code generator.  My mistake.  

Otherwise the description was okay, with the addendum
that some people trying to port "efl" have found it
hard to do.  I don't quite understand this, since I
ported it to the Gould PowerNode series easily enough;
perhaps the Berkeley version is harder to port than
the System V version, or something like that.

ka@hropus.UUCP (Kenneth Almquist) (03/24/86)

EFL stands for "Extended Fortran Language".  It is a translator that
generates Fortran IV code, sort of like Ratfor.  Unlike Ratfor, EFL
parses the entire program which means that EFL can detect most errors
rather than passing them on to the Fortran compiler.  Some EFL features
not present in Ratfor are:
	Structures (implemented as parallel arrays)
	C type assignment operators (+=, -=, etc.)
	&& and ||
	Improved I/O syntax (no format statements)

There are undoubtedly others that I have forgotten.
				Kenneth Almquist
				ihnp4!houxm!hropus!ka	(official name)
				ihnp4!opus!ka		(shorter path)

jsdy@hadron.UUCP (Joseph S. D. Yao) (03/25/86)

In article <745@jplgodo.UUCP> steve@jplgodo.UUCP (Steve Schlaifer x3171 156/224) writes:
>In article <121@graffiti.UUCP>, bruce@graffiti.UUCP writes:
>> What is 'Efl'.
>EFL is a pre-processor for Fortran and stands for Extended Fortran Language.
>It is a descendant of Ratfor.  It is described in a paper by Stuart I. Feldman

Actually, EFL differs from Ratfor in that it is  n o t  a pre-
processor:  although it can produce Fortran (I think), it is a
full compiler in and of itself.  I am not entirely sure that
Ratfor is really an ancestor, but the article is not before me.
-- 

	Joe Yao		hadron!jsdy@seismo.{CSS.GOV,ARPA,UUCP}

steve@jplgodo.UUCP (Steve Schlaifer x3171 156/224) (03/30/86)

In article <332@hadron.UUCP>, jsdy@hadron.UUCP (Joseph S. D. Yao) writes:
> In article <745@jplgodo.UUCP> steve@jplgodo.UUCP (Steve Schlaifer x3171 156/224) writes:
> >In article <121@graffiti.UUCP>, bruce@graffiti.UUCP writes:
> >> What is 'Efl'.
> >EFL is a pre-processor for Fortran and stands for Extended Fortran Language.
> >It is a descendant of Ratfor.  It is described in a paper by Stuart I. Feldman
> 
> Actually, EFL differs from Ratfor in that it is  n o t  a pre-
> processor:  although it can produce Fortran (I think), it is a
> full compiler in and of itself.  

I suppose it depends on what you think of as a pre-processor.  I think of a
compiler as something that either generates very low level code (assembly
language) or the actual object file.  I think of something that translates from
one high level language to another (is Fortran high level? :-)) as a
pre-processor.  I guess you could consider it a compiler if it actually parses
and "understands" all of its input even if it then generates equivalent Fortran
afterwards.

> I am not entirely sure that
> Ratfor is really an ancestor, but the article is not before me.

The statement that EFL was a descendant of Ratfor was taken from the
documentation on EFL provided with my system (Ridge 32C running ROS 3.3).

-- 

...smeagol\			Steve Schlaifer
......wlbr->!jplgodo!steve	Advance Projects Group, Jet Propulsion Labs
....group3/			4800 Oak Grove Drive, M/S 156/204
				Pasadena, California, 91109
					+1 818 354 3171