EFL(1)

НАЗВАНИЕ
efl - препроцессор для расширенного Фортрана

СИНТАКСИС


 efl  [-w] [-#] [-C] [файл ...]

ОПИСАНИЕ
Команда efl компилирует программы, написанные на языке EFL, в чистый Фортран и направляет результат на стандартный вывод. EFL предоставляет C-подобные управляющие конструкции ratfor'а(1):

  1. Группировка операторов посредством скобок { }.
  2. Ветвление: if, if-else, select-case (последнюю конструкцию иногда называют switch-case).
  3. Циклы while, for, do, repeat и repeat ... until.
  4. Многоуровневые break и next.

В EFL есть C-подобные структуры данных, например:


  struct {

     integer flags(3)

     character(8) name

     long real coords(2)

  } table(100)

Можно употреблять родовые имена функций, операторы присваивания +=, &=, и т.д., а также последовательно выполняемые логические операции && и ||. Принят унифицированный синтаксис ввода/вывода:


  write(6,x,y:f(7,2), do i=1,10 { a(i,j),z.b(i) })

Язык EFL также предоставляет некоторый синтаксический "сахар":

  1. Свободный формат исходного текста: несколько операторов на одной строке; один оператор на нескольких строках; имена (а не только числа) в качестве меток операторов.
  2. Комментарии: # - это комментарий.
  3. Трансляция операций сравнения и логических операций: >, >=, & и т.д. преобразуются в .GT., .GE., .AND. и т.д.
  4. Возврат выражения в качестве результата функции: return (выражение)
  5. Макроопределения: define имя замена
  6. Вставка файлов: include файл

Допускается использование следующих опций:

-w Не выдавать предупреждения.
-# Не включать в порождаемую программу комментарии.
-C Включать в порождаемую программу комментарии (режим по умолчанию).

Аргумент с предшествующим знаком равенства определяет опцию EFL, как если бы она встретилась в начале программы в операторе option. Значение опций по умолчанию для конкретной машины может быть выбрано из следующих вариантов: system=unix, system=gcos, или system=cray. Если значение system не задано явно, оно определяется машиной, на которой работает препроцессор. Другие специфические опции определяют стиль ввода/вывода, обработку ошибок, соглашения о символах продолжения, число символов, пакуемых в слово, а также форматы, установленные по умолчанию.

Препроцессор efl лучше всего использовать с компилятором f77(1).

СМ. ТАКЖЕ
cc(1), f77(1), ratfor(1).