EFL(1) 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).