![]() |
Новосибирский государственный университетФакультет информационных технологийСовременные проблемы информатики и вычислительной техники |
![]() А.М.Федотов |
Из анализа общих понятий языков программирования выросла, предложенная А.П.Ершовым фундаментальная идея лексикона программирования как общей среды для разработки, обоснования и документирования программ.
Эта идея в чем-то напоминает идею Дональда Кнута, предложившего инструментальную систему программирования.
Лексикон определяется как "лингвистическая система с фразовой структурой, содержащую в себе формальную нотацию для выражения всех общезначимых конструкций, употребляемых при формулировании условий задач, при синтезе и преобразовании программ".
Лексикон, в отличие от конкретного языка программирования, является открытой системой. Для него в целом не ставится задача трансляции любого его текста в машинную программу, хотя любая машинная программа в случае необходимости может быть выражена в лексиконе. Аналогично естественному языку лексикон обладает способностью описания одной своей части средствами другой своей же части. Это тщательно отобранная, но развивающаяся система удачных обозначений. Степень его успеха определяется степенью общезначимости и общепонятности его нотации.
Идея лексикона является одной из основных, оставленных А.П.Ершовым. Она может служить источником создания научных и методических основ программирования на десятки лет вперед. Идейно к работам по автоматизации программирования примыкают и работы А.П.Ершова по теоретическому программированию. Первой его работой в этой области стала статья об операторных алгоритмах. В ней предлагалась модель программы, которая была одним из источников такой известной модели, как стандартные схемы.
В середине 1980-е годы А.П.Ершов развил эти идеи и предложил создать открытый, то есть развиваемый язык, на котором можно описать будущую программу, конструкции, её образующие, и объекты предметной области задачи. Этот язык получил наименование «Лексикон».
Ключевые термины (головные): Язык программирования; автоматизация программирования; транслятор;
![]() Федотов Анатолий Михайлович |
![]() НГУ ФИТ НГУ ИВТ СО РАН |