|
Эта публикация цитируется в 1 научной статье (всего в 1 статье)
Theory of computing
A recursive inclusion checker for recursively defined subtypes
[Рекурсивная проверка включения для рекурсивно определенных подтипов]
H. de Nivelle Nazarbayev University
Аннотация:
Мы представляем табличную процедуру, которая проверяет логические отношения между рекурсивно определенными подтипами рекурсивно определенных типов, и применяем эту процедуру к проблеме разрешения неоднозначных имен в языке программирования. Эта работа является частью проекта по разработке нового языка программирования, подходящего для эффективной реализации логики. Логические формулы представляют собой древовидные структуры со множеством конструкторов, имеющих различные свойства и типы аргументов. Алгоритмы, использующие эти структуры, должны выполнять анализ вариантов для конструкторов и получать доступ к поддеревьям, тип и существование которых зависят от используемого конструктора. Во многих языках программирования анализ прецедентов обрабатывается путем сопоставления, но мы хотим использовать другой подход, основанный на рекурсивно определенных подтипах. Вместо сопоставления дерева с различными конструкторами мы будем классифицировать его с помощью набора непересекающихся подтипов. Подтипы являются более общими, чем структурные формы, основанные на конструкторах, мы ожидаем, что они могут быть реализованы более эффективно и, кроме того, могут использоваться при статической проверке типов. Это позволяет использовать рекурсивно определенные подтипы в качестве предварительных условий или постусловий функций. Мы определяем типы и подтипы (которые мы будем называть прилагательными), определяем их семантику и даем проверку включения прилагательных на основе таблиц. Мы показываем, как использовать эту проверку включения для разрешения неоднозначных ссылок на поля в объявлениях прилагательных. Та же процедура может быть использована для разрешения неоднозначных вызовов функций.
Ключевые слова:
проектирование языков программирования, системы типов, доказательство теорем, построение компилятора.
Поступила в редакцию: 15.12.2021 Исправленный вариант: 01.12.2021 Принята в печать: 08.12.2021
Образец цитирования:
H. de Nivelle, “A recursive inclusion checker for recursively defined subtypes”, Модел. и анализ информ. систем, 28:4 (2021), 414–433
Образцы ссылок на эту страницу:
https://www.mathnet.ru/rus/mais760 https://www.mathnet.ru/rus/mais/v28/i4/p414
|
|