EFL(1) — Series 800 Only
NAME
efl − Extended Fortran Language
SYNOPSIS
efl [ options ] [ 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 of ratfor(1):
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
includes:
include file
Efl understands several option arguments: −w suppresses warning messages, −# suppresses comments in the generated program, and the default option −C causes comments to be included in the generated program.
An argument with an embedded = (equal sign) sets an efl 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).
SEE ALSO
Hewlett-Packard Company — HP-UX Release 7.0: Sept 1989