Jump to content

Ратфор

Ратфор
Разработчик Брайан Керниган
Впервые появился 1976  ( 1976 )
Веб-сайт sepwww.stanford.edu
Под влиянием
Фортран , С

Ratfor (сокращение от Rational Fortran ) — язык программирования , реализованный как препроцессор для Fortran 66 . Он предоставляет современные структуры управления , недоступные в Fortran 66, для замены GOTO и номеров операторов.

Ratfor предоставляет следующие виды операторов управления потоком, которые Керниган и Плаугер описывают как «бессовестно украденные из языка C , разработанного для UNIX операционной системы Д.М. Ритчи » («Программные инструменты», стр. 318):

  • группировка операторов с помощью фигурных скобок
  • если-иначе , пока , для , делать , повторять-пока , перерыв , следующий
  • операторы «свободной формы», т. е. не ограниченные правилами формата Фортрана.
  • <, >, >=, ... вместо .LT., .GT., .GE., ...
  • включать
  • # комментариев

Например, следующий код

if   (  a   >   b  )   {    max   =   a  }   else   {    max   =   b  } 

можно перевести как

      ЕСЛИ  (.  НЕ  .(  A  .  GT  .  B  ))  ПЕРЕЙТИ   1        МАКС   =   A        ПЕРЕЙДИТЕ   2  1   ПРОДОЛЖИТЬ        МАКС   =   B  2   ПРОДОЛЖИТЬ 

Версия Ratfor в Software Tools написана на Ratfor, как и примеры программ, и, поскольку доступен собственный перевод на Fortran, ее можно портировать на любую систему Fortran. Имена файлов исходного кода Ratfor заканчиваются на .r или .rat.

Ratfor был разработан и реализован Брайаном Керниганом в Bell Telephone Laboratories в 1974 году и описан в книге «Программное обеспечение — практика и опыт » в 1975 году. Он использовался в книге «Программные инструменты» ( Керниган и Плаугер , 1976).

В 1977 году в Университете Пердью была написана улучшенная версия препроцессора Ratfor. Его назвали Mouse4, так как он был меньше и быстрее Ratfor. В опубликованном документе доктора Дугласа Комера , профессора Purdue, сделан вывод, что «вопреки доказательствам, представленным разработчиком Ratfor, последовательный поиск часто неадекватен для производственного программного обеспечения. Более того, в случае лексического анализа хорошо известные методы действительно кажутся обеспечить эффективность, сохраняя при этом простоту, легкость кодирования и модульность специальных методов». (CSD-TR236).

По сравнению с препроцессором Ratfor программа из 3000 исходных строк, работающая в системе CDC 6500, занимала 185,470 процессорных секунд. Это число сократилось на 50%, когда в коде Ratfor использовался двоичный поиск. Переписывание специального лексического сканера с использованием стандартного метода, основанного на конечных автоматах, сократило время работы до 12,723 секунды.

При наличии Fortran 77 преемник с именем Ratfiv (Ratfor=rat4 => rat5=Ratfiv) мог с опцией /f77 выводить более читаемый код Fortran 77:

      IF   (  A   .  GT  .   B  )   THEN          MAX   =   A        ELSE          MAX   =   B        ENDIF 

Первоначальный исходный код Ratfor был портирован на C в 1985 году. [1] и улучшен для создания кода Fortran 77. [2] Дерево git было создано в 2010 году, чтобы возродить ratfor.. [3] Хотя компилятор GNU C имел возможность напрямую скомпилировать файл Ratfor (.r) без сохранения бесполезного промежуточного кода Fortran (.f) ( gcc foo.r), эта функциональность была утеряна в версии 4 при переходе в 2005 году с f77 на GNU Fortran . [4]

Первоначальный источник был доступен в формате . деб и . RPM- формы на своем исходном сайте, Mirror.corbina.net/mandriva/, и его архив www.dgate.org/ratfor/ исчезли с апреля 2024 года.

Ratfiv — это расширенная версия языка программирования Ratfor , препроцессора для Fortran, предназначенного для придания ему C -подобных возможностей. Фортран широко использовался для научного программирования, но имел очень простые примитивы потока управления («do» и « goto ») и не имел возможности « макро », что ограничивало его выразительность.

Название языка представляет собой каламбур ( Ratfor (RATional FORtran) -> «Крыса Четыре» -> «Крыса Пять» -> RatFiv ).

Ratfiv был разработан Биллом Вудом в Институте исследования рака , Филадельфия , Пенсильвания, в начале 1980-х годов и выпущен на нескольких лентах DECUS (Группа пользователей цифрового оборудования) SIG (Специальная группа по интересам). Он основан на оригинальном Ratfor Б. Кернигана и П. Дж. Плаугера , с переписанными и усовершенствованными Дэвидом Хэнсоном и его друзьями (Университет Аризоны), Джо Свентеком и Дебби Шеррер ( Национальная лаборатория Лоуренса Беркли ).

Ratfiv V2.1 распространялся на ленте DECUS RSX82a SIG. [5]

См. также

[ редактировать ]
  1. ^ «Реализация Ratfor на C (1985)» .
  2. ^ «Ратфор77» .
  3. ^ «Ratfor Git возродился» .
  4. ^ «gcc потерял связь с препроцессором» .
  5. ^ Архив Ратфив V2.1
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: bcd41dd634982e2a2de8b84e3853212a__1712502720
URL1:https://arc.ask3.ru/arc/aa/bc/2a/bcd41dd634982e2a2de8b84e3853212a.html
Заголовок, (Title) документа по адресу, URL1:
Ratfor - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)