Шаг 52.
Продукционная парадигма

    На этом шаге мы рассмотрим продукционную парадигму.

    Вначале, как всегда, информация из толковых словарей [1-4].

    Языки продукционного программирования (Rule-Oriented Programming Languages) - класс декларативных языков программирования, основанных на подходе к программированию, при котором программа задается совокупностью правил (продукций) без явного указания последовательности их применения. Правила содержат либо условие и действия, которые должны быть выполнены в случае истинности этого условия, либо условие и совокупность других условий, достаточных для истинности этого условия.

    Д.Грис [5, с.131] пишет: "Продукционный язык - это язык программирования, предназначенный для написания синтаксических распознавателей. Программа в основном состоит из последовательности продукций. Употребление здесь этого слова надо считать довольно неудачным, так как обычно с этим словом связывают другой смысл, обозначая им правила подстановки в грамматике. Эти новые продукции лучше было бы назвать редукциями, так как они (обычно, но не всегда) используются для приведения предложений к начальному символу грамматики. Не станем, однако, изобретать новый термин и будем придерживаться слова "продукция", которое постоянно употребляется в литературе. Продукционный язык обычно входит в состав системы построения трансляторов (т.е. системы, предназначенной для реализации таких программ, как ассемблеры и компиляторы."

    В.Н.Агафонов в сборнике [6, с.331] использует термины "система подстановок термов", "редукционная система".

    Расскажем об истории развития парадигмы продукционного (редукционного) программирования.

    1948 год. Построение А.А.Марковым теории нормальных алгорифмов, изложенной впоследствии в книге "Теория алгорифмов", 1954.

    1961 год. Р.Флойд впервые описал продукционный язык в статье "A descriptive language for symbol manipulation", JACM, 8 (Oct. 1961), 579-584.

    1964 год. Появление расширенной версии языка SNOBOL.

    1968 год. Создание В.Ф.Турчиным языка Рефал [7,8].


(1)Борковский А.Б. Англо-русский словарь по программированию и информатике (с толкованиями). - М.: Русский язык, 1989. - 335 с.
(2)Заморин А.П., Марков А.С. Толковый словарь по вычислительной технике и программированию: Основные термины. - М.: Русский язык, 1988. - 221 с.
(3)Толковый словарь по вычислительным системам / Под ред. В.Иллингуорта, Э.Л.Глейзера, И.К.Пайла. - М.: Машиностроение, 1989. - 568 с.
(4)Першиков В.И., Савинков В.М. Толковый словарь по информатике. - М.: Финансы и статистика, 1991. - 543 с.
(5)Грис Д. Конструирование компиляторов для цифровых вычислительных машин. - М.: Мир, 1975. Стр. 367-376, гл.16.
(6)Логическое программирование.- М.: Мир, 1988. -368 с.
(7)Базисный Рефал и его реализация на вычислительных машинах. / ЦНИПИАСС. - М., 1977. - 238 с.
(8)Турчин В.Ф. Базисный РЕФАЛ. Описание языка и основные приемы программирования. - М.: ЦНИПИАСС, 1974. - 258 с.


    На следующем шаге мы остановимся на парадигмах программирования, применяемых в задачах искусственного интеллекта.




Предыдущий шаг Содержание Следующий шаг