efl(1) efl(1)
NAME
efl - Extended FORTRAN Language
SYNOPSIS
efl [-#] [-C] [-w] [files]
DESCRIPTION
efl compiles a program written in the efl language into
clean FORTRAN on the standard output. efl provides the C-
like control constructs similar to RATFOR:
statement grouping with braces.
decision-making:
if, if-else, and select-case (also known as switch-
case);
while, for, FORTRAN do, repeat, and repeat ... until
loops;
multi-level break and next.
efl has C-like data structures, e.g.:
struct
{
integer flags(3)
character(8) name
long real coords(2)
} table(100)
The language offers generic functions, assignment operators
(+=, &=, etc.), and sequentially evaluated logical operators
(&& and ||). There is a uniform input/output syntax:
write(6,x,y:f(7,2), do i=1,10 { a(i,j),z.b(i) })
efl also provides some syntactic sugar:
free-form input:
multiple statements per line; automatic continuation;
statement label names (not just numbers).
comments:
# this is a comment.
translation of relational and logical operators:
>, >=, &, etc., become .GT., .GE., .AND., etc.
return expression to caller from function:
return (expression)
defines:
define name replacement
Page 1 (last mod. 1/16/87)
efl(1) efl(1)
includes:
include file
efl understands several flag option arguments: -w suppresses
warning messages, -# suppresses comments in the generated
program, and the default flag option -C causes comments to
be included in the generated program.
An argument with an embedded = (equal sign) sets an efl flag
option as if it had appeared in an option statement at the
start of the program. Many options are described in the
reference manual. A set of defaults for a particular target
machine may be selected by one of the choices: system=unix,
system=gcos, or system=cray. The default setting of the
system option is the same as the machine the compiler is
running on. Other specific options determine the style of
input/output, error handling, continuation conventions, the
number of characters packed per word, and default formats.
efl is best used with f77(1).
EXAMPLE
efl prog.for | f77 -o prog
will process the program prog.for through efl and then run
the f77(1) compiler on the output from efl, generating an
executable file named prog.
FILES
/usr/bin/efl
SEE ALSO
cc(1), f77(1), ratfor(1).
``efl Reference'' in Oreo Programming Languages and Tools,
Volume 2.
Page 2 (last mod. 1/16/87)