EFL(1)
НАЗВАНИЕ
efl - препроцессор для расширенного Фортрана
СИНТАКСИС
efl [-w] [-#] [-C] [файл ...]
ОПИСАНИЕ
Команда efl компилирует программы, написанные на языке
EFL, в чистый Фортран и направляет результат на стандартный вывод. EFL предоставляет C-подобные управляющие
конструкции ratfor'а(1):
- Группировка операторов посредством скобок { }.
- Ветвление: if, if-else, select-case (последнюю конструкцию иногда называют switch-case).
- Циклы while, for, do, repeat и repeat ... until.
- Многоуровневые 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 также предоставляет некоторый синтаксический "сахар":
- Свободный формат исходного текста: несколько операторов на одной строке; один оператор на нескольких строках; имена (а не только числа) в качестве меток операторов.
- Комментарии: # - это комментарий.
- Трансляция операций сравнения и логических операций: >, >=, & и т.д. преобразуются в .GT., .GE., .AND. и т.д.
- Возврат выражения в качестве результата функции: return (выражение)
- Макроопределения: define имя замена
- Вставка файлов: include файл
Допускается использование следующих опций:
-w | Не выдавать предупреждения.
|
---|
-# | Не включать в порождаемую программу комментарии.
|
---|
-C | Включать в порождаемую программу комментарии (режим по умолчанию).
|
---|
Аргумент с предшествующим знаком равенства определяет опцию EFL, как если бы она встретилась в начале программы в операторе option. Значение опций по умолчанию для конкретной машины может быть выбрано из следующих вариантов: system=unix, system=gcos, или system=cray. Если значение system не задано явно, оно определяется
машиной, на которой работает препроцессор. Другие специфические опции определяют стиль ввода/вывода, обработку ошибок, соглашения о символах продолжения, число символов, пакуемых в слово, а также форматы, установленные по умолчанию.
Препроцессор efl лучше всего использовать с компилятором f77(1).
СМ. ТАКЖЕ
cc(1), f77(1), ratfor(1).