Часть 3. Приложения 250
ПРИЛОЖЕНИЕ А. ВВЕДЕНИЕ В DOS 250
Что такое DOS 250
Как загрузить программу? 251
Каталоги 251
Подкаталоги 252
Где я нахожусь? Подсказка $p $g 252
AVTOEXEC.BAT-файл 253
Команда PATH 253
Смена каталогов 254
ПРИЛОЖЕНИЕ B. ИНТЕРАКТИВНЫЙ РЕДАКТОР ТУРБО ПРОЛОГА 256
Быстрый вход, быстрый выход 256
Служебная строка окна редактора 256
Основные команды редактора 257
Команды Редактора, совпадающие с командами WordStar 259
Основные команды работы с курсором 259
Команды быстрого движения курсора 259
Команды вставки и удаления 259
Команды работы с блоками 260
Остальные команды редактора 262
Старые команды 263
Поиск 264
Поиск и замена 264
Редактор Турбо Пролога по сравнению с WordStar 264
Корректировка файла на диске. 265
ПРИЛОЖЕНИЕ C. СООБЩЕНИЯ ОБ ОШИБКАХ 266
ПРИЛОЖЕНИЕ D. РАЗЛИЧИЯ МЕЖДУ ВЕРСИЯМИ 1.1 и 2.0 280
Внешние Базы Данных: 280
BGI Графика: 280
Улучшенный Пользовательский Интерфейс: 280
Компиляция программ 1.x в 2.0 280
GLOBAL раздел программы 280
Global Database 281
Файл определения проекта 281
Новые ограничения по именам 281
Новые предопределенные домены 282
Контроль состава параметров шаблона (flow pattern) 282
Поддержка старых командных клавиш редактора 282
Ошибочные ситуации в стандартных предикатах 282
Расширение Турбо Пролога 2.0 283
Системные расширения 283
ПРИЛОЖЕНИЕ E. СЛОВАРЬ СПЕЦИАЛЬНЫХ ТЕРМИНОВ 290
ПРИЛОЖЕНИЕ F. Географическая база данных (Geobase) 294
Использование Geobase 294
Системы с 2-мя флоппи-дисковыми устройствами 294
Компиляция Geobase 294
Создание автономной программы 295
Главное меню Geobase 295
Справка 295
Команды DOS 296
Редактор 296
Запросы к базе данных 296
Просмотр языка 296
Корректировка языка 297
Принципы Geobase 297
Использование принципа Geobase 298
Создание вашей базы данных 298
Преобразование Geobase 299
Предикат "ent" 299
Предикат "db" 300
Трансляция запросов на естественном языке 300
Внутренние имена объектов 301
Внутренние имена связей 302
Определение структуры предложений 302
База данных языка 303
Грамматический разбор с помощью разделения списков 303
Заключение 304
ПРИЛОЖЕНИЕ G. АНАЛИЗАТОР ПРЕДЛОЖЕНИЙ НА ТУРБО ПРОЛОГЕ 305
Использование анализатора предложений 305
Помощь пользователя 305
Операционная система 305
Редактирование базы данных 306
Загрузка базы данных из файла 306
Сохранение базы данных 306
Анализ предложений 306
«Показать/изменить словарь» 307
ПРИЛОЖЕНИЕ H. GENI: ОБОЛОЧКА ЭКСПЕРТНОЙ СИСТЕМЫ 308
Использование GENI 308
Запросы GENI 309
Просмотр знаний 309
Корректировка базы знаний 310
Сохранение базы знаний 311
Создание новой базы знаний 311
Чистка текущей базы знаний 311
Проектирование новой базы знаний 311
ПРИЛОЖЕНИЕ I. TLIB: БИБЛИОТЕКА ТУРБО 313
Компоненты командной строки TLIB 313
Компонент «описание» 314
Список операций 314
Имена файла и модуля 315
Операции TLIB 316
Создание библиотеки 317
Использование файла ответа 317
Расширенные возможности: опция /С 317
Примеры 318
ПРИЛОЖЕНИЕ J. TLINK: КОМПОНОВЩИК ТУРБО 319
Активизация TLINK 319
Использование ответных файлов 321
Компоновка модулей Турбо Пролога и Турбо Си. 321
Модуль инициализации 322
Таблица идентефикаторов 322
Библиотеки 323
Опции TLINK 323
Опция /c 323
Опция /d 323
Опция /i 324
Опция /l 324
Опции /m, /s, /x 324
Опция /m 324
Опция /s 324
Опция /x 326
Опция /n 326
Ограничения 326
Сообщения об ошибках 327
Предупреждения 327
Нефатальные ошибки 328
Фатальные ошибки 328
ПРИЛОЖЕНИЕ K. МЕТАПРОГРАММИРОВАНИЕ 331
Введение 331
Пролог/Турбо: развитие и философские установки 331
Конструкторские решения в Турбо Прологе 332
Чем Турбо зарядило Турбо Пролог 333
Интерпретатор правил с обратной цепочкой рассуждений 334
Термы (горючее для интерпретатора правил) 335
Статические термы: область sTerm (статических термов) 335
Интерпретирование области термов. 337
Что такое интерпретатор? 337
Интерпретация правил в Прологе 337
Использование sTerm и aTerm для моделирования интерпретатора правил 339
Переменные и среда 340
Процесс унификации 341
Унификация статических и действительных термов 342
Интерпретация тела правила 345
Выполнение выполняемых термов: предикат call. 346
Встроенные предикаты 348
Сканнер и транслятор 351
Операторы традиционного Пролога 352
Использование операторов в Турбо Прологе 353
Интерпретатор Пролога 354
UNIFY_TERM 354
UNIFY_BODY 357
CALL 359
Реализация трассировки 366
Теперь объединим все вместе 367
Расширения экспертной системы 369
Цепочка с прямым порядком рассуждений 372
Стандартные предикаты, реализованные в PIE 374
Заключение 375
- Справочное руководство по турбо прологу 2.0
- Глава 2. Элементы языка 50
- Глава 3. Интерфейс с другими языками 75
- Часть 2. Стандартные предикаты 91
- Часть 3. Приложения 250
- Введение
- Дистрибутивные диски
- Рекомендуемая литература:
- Часть 1. Руководство программиста по турбо прологу глава 1. Система меню турбо пролога
- Пользователям Турбо Пролога 1.X
- Структура меню Турбо Пролога
- Выбор элементов меню.
- "Горячие" клавиши.
- Системные окна и строки помощи
- Окно редактирования.
- Как войти в окно редактирования
- Компоненты окна редактирования
- Как выйти из окна редактирования.
- Окно трассировки
- Окно сообщений
- Диалоговое окно
- Строка помощи
- Главное меню.
- Окно редактирования.
- Окно вспомогательного редактирования (Xedit).
- Окно просмотра.
- Изменение размера окон.
- Просмотр окон
- Создание нового файла.
- Загрузка существующего файла.
- Команды редактора.
- Сохранение исходного текста в файле.
- Запись исходного текста на диск
- Вспомогательный редактор
- Меню и команды
- Меню файлов (Files)
- Загрузка файлов (Load)
- "Указка" (Pick)
- Новый (New)
- Выход (Quit)
- Команда редактирования (Edit)
- Команда запуска (Run)
- Меню компиляции (Compile)
- Память (Memory)
- Меню опций (Options)
- Опции компоновки (Link Options)
- Стек (Stack)
- Область ссылок (Trail Array)
- "Куча" (Heap)
- Контроль во время исполнения (Run-time check)
- Цвета (Colors)
- Размер окна (Window size)
- Каталоги
- Текущий каталог (Current directory)
- Авто-загрузка сообщений (Avto-Load Message)
- Режим экрана (Screen mode)
- Конфигурация клавиатуры (Keyboard Configuration)
- Перемещение курсора (Cursor movement)
- Глава 2. Элементы языка
- Ключевые слова.
- Специальные предикаты.
- Разделы программы.
- Раздел доменов (domains).
- Стандартные домены.
- Списковые домены.
- Домены составных объектов.
- Файловый домен.
- Специально заданные предопределенные домены.
- Сокращение объявлений доменов.
- Объявление ссылочных доменов.
- Раздел предикатов (predicates).
- Раздел базы данных (database).
- Раздел предложений (clauses).
- Простые константы.
- Переменные.
- Составные объекты.
- Списки - Специальный вид составных объектов.
- Раздел констант.
- Условная компиляция.
- Включение файлов в вашу программу.
- Директивы компилятора.
- Управление памятью в Турбо Прологе.
- Экономия ресурсов памяти.
- Управление распределением памяти.
- Генерирование выполняемых программ.
- Модульное программирование.
- Проекты.
- Глобальные объявления.
- Глобальные домены.
- Глобальная база данных.
- Глобальные предикаты.
- Компиляция и компоновка модулей.
- Пример.
- Глава 3. Интерфейс с другими языками
- Вызов других языков из Турбо Пролога.
- Что делать перед вызовом.
- Объявление внешних предикатов.
- Вызов соглашений и передача параметров.
- Соглашение об обозначениях
- Использование ключевого слова as
- Вызов процедуры, написанной на Си из Пролога.
- Опции компилятора Турбо Си и компоновка.
- Вызов программ на языке ассемблера из Турбо Пролога.
- Использование внутреннего ассемблера Турбо Си.
- Вызов Турбо Пролога из других языков.
- Динамическое распределение памяти.
- Передача составных объектов в другие языки.
- Передача списков.
- Передача структур.
- Примеры.
- Обработка списков.
- Программирование на низком уровне.
- Часть 2. Стандартные предикаты
- Arc/5 Графика
- Bar/4 Графика
- Bt_close/2 Внешняя База Данных
- Bt_create/5 Внешняя База Данных
- Bt_delete/2 Внешняя База Данных
- Bt_open/3 Внешняя База Данных
- Bt_statistics/8 Внешняя База Данных
- Chain_delete/2 Внешняя База Данных
- Chain_first/3 Внешняя База Данных
- Chain_inserta/5 Внешняя База Данных
- Chain_insertafter/5 Внешняя База Данных
- Chain_insertz/5 Внешняя База Данных
- Chain_last/3 Внешняя База Данных
- Chain_next/3 Внешняя База Данных
- Chain_prev/3 Внешняя База Данных
- Chain_terms/5 Внешняя База Данных
- Circle/3 Графика
- Cleardevice/0 Графика
- Clearviewport/0 Графика
- Closegraph/0 Графика
- Db_btrees/2 Внешняя База Данных
- Db_chains/2 Внешняя База Данных
- Db_close/1 Внешняя База Данных
- Db_create/3 Внешняя База Данных
- Db_delete/2 Внешняя База Данных
- Db_flush/1 Внешняя База Данных
- Db_garbagecollect/1 Внешняя База Данных
- Db_open/3 Внешняя База Данных
- Db_openinvalid/3 Внешняя База Данных
- Db_statistics/5 Внешняя База Данных
- Detectgraph/2 Графика
- Drawpoly/1 Графика
- Ellipse/6 Графика
- Fillellipse/4 Графика
- Fillpoly/1 Графика
- Floodfill/3 Графика
- Getarccoords/6 Графика
- Getaspectratio/2 Графика
- Getbkcolor/1 Графика
- Getcolor/1 Графика
- Getdefaultpalette/1 Графика
- Getdrivername/1 Графика
- Getfillpattern/1 Графика
- Getfillsettings/2 Графика
- Getgraphmode/1 Графика
- Getimage/6 Графика
- Getlinesettings/3 Графика
- Getmaxcolor/1 Графика
- Getmaxx/1 Графика
- Getmaxy/1 Графика
- Getmaxmode/1 Графика
- Getmodename/2 Графика
- Getmoderange/3 Графика
- Getpalette/1 Графика
- Getpalettesize/1 Графика
- Getpixel/3 Графика
- Gettextsettings/5 Графика
- Getviewsettings/5 Графика
- Getx/1 Графика
- Gety/1 Графика
- Graphdefaults/0 Графика
- Graphresult/1 Графика
- Imagesize/5 Графика
- Initgraph/5 Графика
- Key_current/4 Внешняя База Данных
- Key_delete/4 Внешняя База Данных
- Key_first/3 Внешняя База Данных
- Key_insert/4 Внешняя База Данных
- Key_last/3 Внешняя База Данных
- Key_next/3 Внешняя База Данных
- Key_prev/3 Внешняя База Данных
- Key_search/4 Внешняя База Данных
- Line/4 Графика
- Linerel/2 Графика
- Lineto/2 Графика
- Moverel/2 Графика
- Moveto/2 Графика
- Outtext/1 Графика
- Outtextxy/3 Графика
- Pieslice/5 Графика
- Pieslicexy/6 Графика
- Putimage/4 Графика
- Putpixel/3 Графика
- Rectangle/4 Графика
- Restorecrtmode/0 Графика
- Setactivepage/1 Графика
- Setallpalette/1 Графика
- Setaspectratio/2 Графика
- Setbkcolor/1 Графика
- Setcolor/1 Графика
- Setfillpattern/2 Графика
- Setfillstyle/2 Графика
- Setgraphmode/1 Графика
- Setgraphbufsize/1 Графика
- Setlinestyle/3 Графика
- Setpalette/2 Графика
- Setrgbcolor/4 Графика
- Settextjustify/2 Графика
- Settextstyle/3 Графика
- Setusercharsize/4 Графика
- Setviewport/5 Графика
- Setvisualpage/1 Графика
- Setwritemode/1 Графика
- Term_delete/3 Внешняя База Данных
- Term_replace/4 Внешняя База Данных
- Textheight/2 Графика
- Textwidth/2 Графика
- Часть 3. Приложения приложение а. Введение вdos
- Что такое dos
- Как загрузить программу?
- Каталоги
- Подкаталоги
- Avtoexec.Bat-файл
- Команда path
- Смена каталогов
- Приложениеb. Интерактивный редактор турбо пролога
- Быстрый вход, быстрый выход
- Служебная строка окна редактора
- Основные команды редактора
- Команды Редактора, совпадающие с командами WordStar Основные команды работы с курсором
- Команды быстрого движения курсора
- Команды вставки и удаления
- Команды работы с блоками
- Остальные команды редактора
- Старые команды
- Поиск и замена
- Редактор Турбо Пролога по сравнению с WordStar
- Корректировка файла на диске.
- Приложение c. Сообщения об ошибках
- Приложение d. Различия между версиями 1.1 и 2.0
- Файл определения проекта
- Новые ограничения по именам
- Новые предопределенные домены
- Контроль состава параметров шаблона (flow pattern)
- Поддержка старых командных клавиш редактора
- Ошибочные ситуации в стандартных предикатах
- Расширение Турбо Пролога 2.0
- Системные расширения
- Приложениеe. Словарь специальных терминов
- Приложение f. Географическая база данных (Geobase)
- Использование Geobase
- Системы с 2-мя флоппи-дисковыми устройствами
- Компиляция Geobase
- Создание автономной программы
- Главное меню Geobase
- Справка
- Команды dos
- Редактор
- Запросы к базе данных
- Просмотр языка
- Корректировка языка
- Принципы Geobase
- Использование принципа Geobase
- Создание вашей базы данных
- Преобразование Geobase
- Предикат "ent"
- Предикат "db"
- Трансляция запросов на естественном языке
- Внутренние имена объектов
- Внутренние имена связей
- Определение структуры предложений
- База данных языка
- Грамматический разбор с помощью разделения списков
- Заключение
- Приложение g. Анализатор предложений на турбо прологе
- Использование анализатора предложений
- Помощь пользователя
- Операционная система
- Редактирование базы данных
- Загрузка базы данных из файла
- Сохранение базы данных
- Анализ предложений
- «Показать/изменить словарь»
- Приложениеh.Geni: оболочка экспертной системы
- Использование geni
- Запросы geni
- Просмотр знаний
- Корректировка базы знаний
- Сохранение базы знаний
- Создание новой базы знаний
- Чистка текущей базы знаний
- Проектирование новой базы знаний
- Приложение I. Tlib: библиотека турбо
- Компоненты командной строки tlib
- Компонент «описание»
- Список операций
- Имена файла и модуля
- Операции tlib
- Создание библиотеки
- Использование файла ответа
- Расширенные возможности: опция /с
- Примеры
- Приложение j. Tlink: компоновщик турбо
- Активизация tlink
- Использование ответных файлов
- Компоновка модулей Турбо Пролога и Турбо Си.
- Модуль инициализации
- Библиотеки
- Опции tlink
- Опция /c
- Опция /d
- Опция /I
- Опция /l
- Опции /m, /s, /X
- Опция /m
- Опция /s
- Опция /X
- Опция /n
- Ограничения
- Сообщения об ошибках
- Предупреждения
- Нефатальные ошибки
- Фатальные ошибки
- Приложение k. Метапрограммирование Введение
- Пролог/Турбо: развитие и философские установки
- Конструкторские решения в Турбо Прологе
- Чем Турбо зарядило Турбо Пролог
- Интерпретатор правил с обратной цепочкой рассуждений
- Термы (горючее для интерпретатора правил)
- Статические термы: область sTerm (статических термов)
- Интерпретирование области термов.
- Что такое интерпретатор?
- Интерпретация правил в Прологе
- Использование sTerm и aTerm для моделирования интерпретатора правил
- Переменные и среда
- Процесс унификации
- Унификация статических и действительных термов
- Интерпретация тела правила
- Выполнение выполняемых термов: предикат call.
- Встроенные предикаты
- Сканнер и транслятор
- Операторы традиционного Пролога
- Использование операторов в Турбо Прологе
- Интерпретатор Пролога
- Реализация трассировки
- Теперь объединим все вместе
- Расширения экспертной системы
- Цепочка с прямым порядком рассуждений
- Стандартные предикаты, реализованные в pie
- Заключение