- •Дж. Малпас
- •Предисловие редактора перевода
- •Предисловие Круг читателей, для которого предназначена данная книга
- •Темы, освещаемые в книге
- •Примеры текстов программ
- •Показательный пример
- •Как ориентироваться в материале данной книги
- •Введение Зачем нужно изучать Пролог?
- •Взгляд на мир, навязываемый языком программирования
- •Выражения признательности
Дж. Малпас
РЕЛЯЦИОННЫЙ ЯЗЫК ПРОЛОГ И ЕГО ПРИМЕНЕНИЕ
Перевод с английского А. А. ТИТОВА Под редакцией В Н. СОБОЛЕВА
МОСКВА "НАУКА" ГЛАВНАЯ РЕДАКЦИЯ
ФИЗИКО-МАТЕМАТИЧЕСКОЙ ЛИТЕРАТУРЫ 1990
ОГЛАВЛЕНИЕ
Предисловие редактора перевода. |
Предисловие. |
Введение. |
Глава 0. Логика, логическое программирование и Пролог. |
0.1. Знакомство с логическим программированием. |
0.2. Традиционная логика. |
0.3. Начальный период развития формальной логики. |
0.4. Логика высказываний. |
0.5 Логика предикатов. |
0.6. От формальной логики - к логическому программированию. |
0.7. Развитие языка Пролог. |
0.8. Синтаксис языка Пролог. |
0.9. Фразы Хорна как средство представления знаний. |
0.10. Семантика Пролога. |
0.11. Метаязык / объектный язык. |
0.12. Сферы применения языка Пролог. |
Библиографические заметки. |
Глава 1. Факты и правила. |
1.1. Использование языка Пролог. |
1.2. Факты. |
1.3. Запросы к базе данных. |
1.4. Правила. |
1.5. Процедуры. |
1.6. Рекурсивные процедуры. |
1.7. Типы отношений. |
Библиографические заметки. |
Упражнения. |
Глава 2. Арифметика и структуры данных. |
2.1. Арифметика. |
2.2. Структуры данных. |
2.3. Списки. |
2.4. Процедуры, выполняющие действия со списками. |
2.5. Способы представления базы данных. |
Библиографические заметки. |
Упражнения. |
Глава 3. Управление ходом выполнения программы. |
3.1. Как выполняется запрос в Прологе. |
3.2. Предикат «сократить». |
3.3. Отрицание как неудача запроса. |
3.4. Встроенные предикаты, предназначенные для обеспечения ввода-вывода. |
3.5. Встроенные предикаты, предназначенные для управления файлами. |
3.6. Проверка типа терма. |
3.7. Действия с текущей программой. |
3.8. Компараторы. |
3.9. Прочие встроенные предикаты. |
3.10. Операции. |
3.11. Преобразование процедурного алгоритма в программу на языке Пролог. |
Библиографические заметки. |
Упражнения. |
Глава 4. Подходы к программированию на языке Пролог. |
Введение. |
4.1. Реляционный подход. |
4.2. Взгляд на программу с точки зрения потока данных. |
4.3. Бихевиористический подход. |
Библиографические заметки. |
Упражнения. |
Глава 5. Обработка текста. |
Введение. |
5.1. Лексический анализатор. |
5.2. Система нисходящего грамматического разбора. |
5.3. Система восходящего грамматического разбора. |
5.4. Конвертер программ с DEC-10 Пролога на микро-Пролог. |
5.5. Язык запросов. |
Библиографические заметки. |
Упражнения. |
Глава 6. Представление знаний. |
6.1. Представление знаний при помощи Пролога. |
6.2. Семантические сети. |
6.3. Фреймы. |
6.4. Объектно-ориентированное программирование. |
6.5. Механизм наследования в Прологе. |
6.6. Программа, выполняющая запросы к базе данных. |
6.7. Описание изменений базы данных. |
Библиографические заметки. |
Упражнения. |
Глава 7. Экспертные консультации. |
7.1. Системы экспертных консультаций. |
7.2. Запоминание пути вывода. |
7.3. Видимый Пролог. |
7.4. Интерпретатор, обнаруживающий циклы. |
7.5. Заключение: стиль программирования на Прологе. |
Библиографические заметки. |
Упражнения. |
Приложения. |
I. Основная терминология. |
II. Полезные программы. |
III. Показательный пример. Программа планирования работы завода. |
IV. Версии языка Пролог. |
V. Ответы к упражнениям. |
Дополнение. |
1. Встроенные предикаты, предназначенные для работы с окнами. |
2. Перечень встроенных предикатов, предназначенных для работы с графическим интерфейсом фирмы Борлэнд (BGI). |
Список литературы. |
Предметный указатель. |