УДК 004.43
Переход от эталонного представления языка программирования
к конкретному языку
c
○
В.А. Фисун
1
,
2
1
Институт прикладной математики им. М.В. Келдыша РАН, Москва, 125047, Россия
2
МГТУ им. Н.Э. Баумана, Москва, 105005, Россия
Изложены особенности использования комментариев специального назначения
в алгоритмических языках для адаптации программ к вычислительной среде.
Рассмотрены системы параллельного программирования, основанные на использо-
вании спецкомментариев, языки Фортран HPF, Фортран DVM и система OpenMP.
Ключевые слова
:
псевдокомментарии, Алгол, Фортран HPF, Фортран DVM,
OpenMP.
После появления в 60-х годах прошлого века алгоритмических
языков высокого уровня — Алгол и Фортран — началась эра всеобщей
формализации вычислительных алгоритмов на этих языках. Особенно
удобно это было делать на языке Алгол-60 [1] с его аппаратом рекур-
сивных процедур, динамических массивов и математическим стилем
конструкций языка. Многочисленные периодические журналы выпус-
кали описания программ вычислительных алгоритмов из различных
областей науки и техники, собирались коллекции избранных алго-
ритмов в виде пакетов программ и библиотек. Этот фонд алгоритмов
и программ востребован до сих пор.
Описание вычислительного алгоритма на алгоритмическом язы-
ке должно быть строгим и не допускать двусмысленного толкования.
Эпиграф к описанию языка Алгол-60 гласит: «То, что вообще может
быть сказано, может быть сказано ясно, а о чем невозможно гово-
рить — о том следует молчать». Однако при подготовке программ воз-
никает необходимость в дополнительных языковых средствах для до-
кументирования и редактирования текстов программ. Наконец, при
погружении программы в конкретную вычислительную среду жела-
тельно учитывать особенности архитектуры вычислителя.
В стандарте языка Алгол-60 для таких целей кроме эталонного
представления языка предусмотрены еще две формы: для публика-
ции и конкретное. Для транслитерации различных представлений язы-
ка широко используется концепция уточнения конструкций эталонно-
го языка спецкомментариями, которые позволяют сохранять коррект-
ность программы с точки зрения эталонного стандарта языка и в то
же время расширяют его возможности.
1