Описание слайда: FLIDE Система функционально-логического программирования на языке S-FLOGOL

Содержание

Слайд 2

Язык S-FLOGOL Основан на теории направленных отношений (НО) (Фальк В.Н., Кутепов

Язык S-FLOGOL

Основан на теории направленных отношений (НО)
(Фальк В.Н., Кутепов В.П.).
Имеет

развитые средства схемного описания НО.
Допускает использование:
индексированных имен НО,
параметризованных НО.
Поддерживает объектно-ориентированный стиль программирования.
Позволяет строить многомодульные программы.
Обладает средствами ограничения области видимости определяемых отношений (Private-домены).
Слайд 3

Среда программирования Проектный подход к организации работы с комплексами программ. Оригинальные

Среда программирования

Проектный подход к организации работы с комплексами программ.
Оригинальные технологии графического

и структурированного текстового построения программ.
Интегрированные средства разработки и отладки.
Собственное сетевое ядро вычислений и компилятор запросов на языке S-FLOGOL.
Возможность ограниченного импорта программ, написанных на языке Пролог.
Реализация в среде C++ Builder 5.0.
Слайд 4

Семантические объекты Функция Предикат Константа НО общего вида

Семантические объекты

Функция
Предикат
Константа
НО общего вида

Слайд 5

Сетевое представление НО Пример: НО (быстрая сортировка)

Сетевое представление НО

Пример: НО

(быстрая сортировка)

Слайд 6

Графическое построение сети

Графическое построение сети

Слайд 7

Текстовое представление НО … QuickSort= {LCons(x,xs):Append(@(ls),Append(LCons(x,Nil),@(bs))) ?Partition(xs,x)=ls,bs}; QuickSort={Nil:Nil}; Пример: НО

Текстовое представление НО


QuickSort=
{LCons(x,xs):Append(@(ls),Append(LCons(x,Nil),@(bs)))
?Partition(xs,x)=ls,bs};
QuickSort={Nil:Nil};

Пример: НО

Слайд 8

Системные типы данных Натуральные числа (0,1,2,…). Списки термов ([ ], [A(B),[D]]).

Системные типы данных

Натуральные числа (0,1,2,…).
Списки термов ([ ], [A(B),[D]]).
Строки (‘Some text’).

Пример

записи списка [A,B,C] в сетевой форме при помощи конструктора списка и системного генератора списков:
Слайд 9

Общий вид интерфейса системы

Общий вид интерфейса системы

Слайд 10

Графический редактор

Графический редактор

Слайд 11

Расстановка объектов сети

Расстановка объектов сети

Слайд 12

Определение свойств НО Пример: конструктор списка

Определение свойств НО

Пример: конструктор списка

Слайд 13

Текстовый редактор

Текстовый редактор

Слайд 14

Инструменты ввода

Инструменты ввода

Слайд 15

Ввод выбором альтернатив MODULE Common= Дом END Определение: Спец [СпИнд]ИдОтн[СпПар]=Рел Конструктор:

Ввод выбором альтернатив

MODULE Common=
Дом
END

Определение:
Спец [СпИнд]ИдОтн[СпПар]=Рел
Конструктор:
Спец [СпИнд]ИдОтн

MODULE Common=

Спец [СпИнд]ИдОтн[СпПар]=Рел
END

Вызов отношения:
ИмяОтн
График:
{Терм:Терм?Формула}

MODULE Common=
Спец [СпИнд]ИдОтн[СпПар]={Терм:Терм?Формула}
END

Текст программы:

Выбор альтернативы:

Слайд 16

Ввод идентификаторов MODULE Common= Спец [СпИнд]ИдОтн[СпПар]=Рел END Текст программы: Раскрыть: Текст

Ввод идентификаторов

MODULE Common=
Спец [СпИнд]ИдОтн[СпПар]=Рел
END

Текст программы:

Раскрыть:
Текст

Действие:

Форма ввода:

MODULE Common=
Спец

[СпИнд]Add[СпПар]=Рел
END
Слайд 17

Ввод выражений: операции ∙ * ∇ → # ∪ ∩ ~

Ввод выражений: операции


*


#


~

MODULE Common=
(0:1)[1]Nat=Рел
END

Текст программы:

Операция:

MODULE Common=
(0:1)[1]Nat=Рел∙Рел
END

MODULE Common=


(0:1)[1]Nat=Null∙Succ
END


Слайд 18

Ввод выражений: IF, Свертка. Условная конструкция IF MODULE Common= (0:1)R=Succ END

Ввод выражений: IF, Свертка.

Условная конструкция IF

MODULE Common=
(0:1)R=Succ
END

Текст программы:

Действие:

MODULE Common=


(0:1)R=IF Лог THEN Рел ELSE Succ
END

MODULE Common=
(0:1)R=(ИдСв=СпЗнач)Succ
END

Свертка

Кнопка:

Кнопка: