|
Theory of computing
Расширение языка C для поддержки процедурно-параметрического полиморфизма
А. И. Легалов, П. В. Косов Национальный исследовательский университет «Высшая школа экономики», ул. Мясницкая, д. 20, г. Москва, 101000
Россия
Аннотация:
Разработка программного обеспечения зачастую связана с расширением функциональности. Для повышения надежности в этом случае необходимо минимизировать изменение ранее написанного кода. Для инструментальной поддержки эволюционной разработки программ была предложена процедурно-параметрическая парадигма программирования, что позволило повысить возможности процедурного подхода. Это обеспечивает безболезненное расширение как данных, так функций, используя при этом статическую типизацию. В работе рассматривается включение процедурно-параметрического программирования в язык C. Предлагаются дополнительные синтаксические конструкции, ориентированные на поддержку предлагаемого подхода. К ним относятся: параметрические обобщения, специализации обобщений, обобщающие функции, обработчики специализаций. Описываются их семантика, возможности и особенности технической реализации. Для проверки возможностей использования данного подхода построены модели процедурно-параметрических конструкций на языке программирования C. Приведенный пример демонстрирует гибкое расширение программы и поддержку множественного полиморфизма.
Ключевые слова:
языки программирования, компиляция, процедурно-параметрическое программирование, полиморфизм, множественный полиморфизм, эволюционная разработка программного обеспечения.
Поступила в редакцию: 10.11.2022 Исправленный вариант: 03.02.2023 Принята в печать: 08.02.2023
Образец цитирования:
А. И. Легалов, П. В. Косов, “Расширение языка C для поддержки процедурно-параметрического полиморфизма”, Модел. и анализ информ. систем, 30:1 (2023), 40–62
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mais790 https://www.mathnet.ru/rus/mais/v30/i1/p40
|
|