Ellipse/6 Графика
Назначение Рисует сектор эллипса
Обращение ellipse(X,Y,Начугол,Конугол,Xрадиус,Yрадиус)
Домены (integer,integer,integer,integer,integer,integer)
Шаблоны описания (вх,вх,вх,вх,вх,вх)
аргументов
Описание ellipse рисует сектор эллипса текущего цвета с
центром в точке (X,Y) и с горизонтальной и
вертикальной осями, определенными параметром Xрадиус
и Yрадиус, соответственно. Сектор располагается в
углах от Начугол до Конугол. Если Начугол равен 0 и
Конугол равен 360, ellipse нарисует полный эллипс.
Углы в ellipse подобны часовой стрелке, угол в 0
градусов равен 3 часам, угол в 90 градусов равен 12
часам, и т.д..
Смотри arc,circle
envsymbol/2
Назначение Читает значения обозначений 'контекста' операционной
среды
Обращение envsymbol(ОбознКонт,Значен)
Домены (string,string)
Шаблоны описания (вх,вых)
аргументов
Описание envsymbol производит поиск для обозначения ОбознКонст
в области 'контекста' операционной среды. Если
находит, то значение возвращается в Значен; иначе
предикат неудачно завершается.
Неудачное Если обозначение отсутствует в области 'контекста'
завершение операционной среды.
Ошибки Отсутствуют.
Пример
C:\PROLOG >set bgi_path=c:\prolog\bgi
C:\PROLOG >set
COMSPEC=C:\COMMAND.COM
PROSYS=C:\PROLOG\OLD.SYS
PATH=C:\DOS;C:\PROLOG
PROMPT=$p $g
BGI_PATH=c:\prolog\bgi
C:\PROLOG >prolog
+++++++ Диалог +++++++++
Goal: envsymbol(path,PATH)
PATH=C:\DOS;C:\PSYS
1 Решение
Goal: envsymbol(bgi_path,PATH)
PATH=C:\PROLOG\BGI
1 Решение
eof/1
Назначение Контролирует конец файла
Обращение eof(ИмяФайлСимв)
Домены (file)
Шаблоны описания (вх)
аргументов
Описание eof проверяет, не указывает ли указатель текущей
позиции на конец файла. Если да, то eof
согласовывается, иначе предикат дает неудачное
завершение.
Неудачное Не конец файла.
завершение
Ошибки Отсутствуют.
Пример
domains
file = input
predicates
repfile(FILE)
clauses
repfile(_).
repfile(F):-not(eof(F)),repfile(F).
goal
openread(input,"dd.txt"),
readdevice(input),
repfile(input),
readln(L),write(L),nl,
fail.
equals(=)/2
Назначение Оценивает выражения и связывает переменные
Обращение <выражение> = <выражение>
Шаблоны описания (вх,вых)(вых,вх)(вх,вх)(вых,вых)
аргументов
Описание предикат equal всегда пишется ( = ) за исключением
некоторых типов стандартных доменов или структур,
определенных пользователем, включающих функторы или
списки.
(вх,вх)
Проверка на равенство. Если левая часть равна правой,
предикат согласуется.
(вх,вых) (вых,вх)
Если левая и правая части могут быть отождествлены,
происходит связывание и equals согласовывается. Если
отождествление невозможно, то оператор дает неудачное
завершение. В случае арифметической операции
выражения вычисляются и переменные связываются.
(вых,вых)
Если левая и правая части могут быть отождествлены,
происходит связывание и equals согласовывается. Если
объединение невозможно, то equals дает неудачное
завершение.
Пример
domains
dom1 =referencefunci(integer,dom2)
dom2 = string
database
dbPred(dom2, dom1)
goal
asserta(dbpred("November 8 1988", funci(1,"November
8 1988"))),
X = 1,
X1 = X + 7,
S = "November ",
S1 = " 1988 ",
str_int(S2,X1),
concat(S, S2, S3),
concat(S3, S, S4),
DataStruct = funci(_,S4),
Fact = dbPred(S4, DataStruct),
dbpred(_, funci(N, _)),
DataStruct = funci(N, _),
write(Fact).
errormsg/4
Назначение Возвращает две строки по номеру ошибки
Обращение errormsg(ИмяФайл,НомОш,СообщОш,РазъяснОш)
Домены (string,integer,string,string)
Шаблоны описания (вх,вх,вых,вых)
аргументов
Описание errormsg делает доступными файлы со структурой,
подобной структуре файла PROLOG.ERR. Его можно
использовать в предикатах обработки ошибок для
разъяснения причин ошибки.
Неудачное Если номер ошибки не найден.
завершение
Ошибки 1027 Невозможно открыть файл.
Пример
Goal: errormsg("prolog.err",1000,Help,EHelp)
Help=1000 Недопустимый аргумент в 'makewindow'.,
EHelp=Проверьте, чтобы
- номер окна был в пределах от 1 до 127
- НачСтрока + КоличСтр <= количества строк на
экране (обычно 25 или 43)
- НачКолон + КоличКолон <= количества колонок на
экране (обычно 80 или 120)
1 Решение
existfile/1
Назначение Проверяет, существует ли файл в текущем каталоге
Обращение existfile(ИмяФайлDOS)
Домены (string)
Шаблоны описания (вх)
аргументов
Описание existfile согласовывается, если файл ИмяФайлDOS
присутствует в каталоге активного диска (см. disk).
Неудачное Если файл не существует.
завершение
Ошибки Отсутствуют.
Пример
Goal: existfile("dd.txt")
Да
Goal: deletefile("dd.txt")
Да
Goal: existfile("dd.txt")
Нет
existwindow/1
Назначение Проверяет, существует ли окно
Обращение existwindow(НомОк)
Домены (integer)
Шаблоны описания (вх)
аргументов
Описание existwindow согласовывается, если окно, определенное
НомОк, существует.
Неудачное Если окно с номером НомОк не существует.
завершение
Ошибки Отсутствуют.
Пример
Goal: shiftwindow(5)
1005 Означенное окно неизвестно.
Goal: existwindow(5),shiftwindow(5)
Нет
exit/0
Назначение Выполняет exit(0)
Обращение exit
Описание обращение к exit/0 равносильно обращению к exit/1
c КодВых = 0.
Неудачное Действует подобно окончательному неудачному
завершение завершению.
Ошибки Возожны различные ошибки.
exit/1
Назначение Осуществляет выход из программы
Обращение exit(КодВых)
Домены (integer)
Шаблоны описания (вх)
аргументов
Описание Если exit окружена trap, обращение к exit передает
управление этому trap и КодВых передает значение кода
ошибки trap.
Если предикаты trap отсутствуют, выполнение программы
прекращается и управление возвращается в среду Турбо
Пролога или операционной системы. Если программа
запускалась в среде операционной системы, то КодВых
будет иметь значение прерывания операционной системы.
Неудачное Действует подобно окончательному неудачному
завершение завершению.
Ошибки Возможны различные ошибки.
Пример
predicates
readfacts
clauses
readfacts:-consult("mydba.dba"),!.
readfacts:-write("\nОшибка чтения mydba.dba"),
exit(2).
goal
readfacts,
write("База данных загружена").
fail/0
Назначение Всегда вызывает поиск с возвратом
Обращение fail
Описание fail вызывает несогласование предиката и в результате
этого поиск с возвратом.
Неудачное Дает всегда.
завершение
Ошибки Отсутствуют.
Пример
domains
Name,Addr=string
database
person(Name,Addr)
predicates
clear_database
print_all
clauses
clear_database:-retract(person(_,_)),fail.
clear_database.
print_all:-
person(Name,Addr),
write("\nName=",Name,", Adr=",Addr),
fail.
field_attr/4
Назначение Устанавливает или возвращает атрибуты поля
Обращение field_attr(Стр,Кол,Длн,Атр)
Домены (integer,integer,integer,integer)
Шаблоны описания (вх,вх,вх,вх),(вх,вх,вх,вых)
аргументов
Описание (вх,вх,вх,вх)
Если строка Стр и столбец Кол соответствуют позиции в
пределах текущего окна, и поле данной длины Длн,
начинающееся в этой позиции, может быть создано
внутри этого окна, для всех позиций в поле
устанавливается атрибут Атр.
(вх,вх,вх,вых)
field_attr связывает Атр со значением атрибута
первого символа в указанном поле. Количество
символов, занимаемых полем в текущем окне,
определяется аргументом Длн. Как и в случае
(вх,вх,вх,вх), указанное поле должно размещаться в
окне.
Неудачное Никогда не дает.
завершение
Ошибки 1001 Недопустимые значения позиции курсора.
Пример
domains
fname = string
type = int(); str(); real()
row, col, len = integer
database
field(fname,type,row,col,len)
value(fname,string)
predicates
writescr
clauses
writescr:-
field(fname,_,row,col,len),
field_attr(row,col,len,112),
value(fname,str),
field_str(row,col,len,str),
fail.
writescr.
field_str/4
Назначение Пишет или читает строку в поле
Обращение field_str(Стр,Кол,Длн,Строк)
Домены (integer,integer,integer,string)
Шаблоны описания (вх,вх,вх,вх),(вх,вх,вх,вых)
аргументов
Описание (вх,вх,вх,вх)
Записывает значение Строк с позиции, определяемой
координатами Стр,Кол. Эта позиция должна находиться в
пределах текущего окна (см. makewindow и
shiftwindow), и все поле длины Длн, начинающееся в
этой позиции, должно размещаться в пределах текущего
окна. Запись значения зависит от следующих условий:
# Если Строк имеет длину более чем значение Длн, то
будут записаны только первые символы в количестве
Длн.
# Если Строк короче чем значение Длн, то остальные
позиции в поле будут заполнены пробелами.
(вх,вх,вх,вых)
Считывает текст, размещенный в поле Строк. Поле
размером Длн символов начинается в позиции с
координатами Стр и Кол в текущем окне. Как и в случае
(вх,вх,вх,вх), указанное поле должно размещаться в
окне.
Неудачное Никогда не дает.
завершение
Ошибки 1001 Не пpавильное значение куpсоpа.
Пример
goal
field_str(2,5,10,"привет").
filemode/2
Назначение Обеспечивает доступ к двоичным файлам
Обращение filemode(ИмяФайлСимв,РежФайл)
Домены (file,integer)
Шаблоны описания (вх,вх) (вх,вых)
аргументов
Описание filemode выбирает двоичные файлы, в которых РежФайл
определяет режим фаила. (0 = текстовый режим, 1 =
двоичный режим.)
РежФайл = 0 (Текстовый режим)
Символ возврата каретки, CR (ASCII 13) [клавиша ВВОД]
подавляется с помощью программ стандартного ввода
(readchar,readln...). CR помещается перед каждым LF
(переводом строки) предикатами вывода. Символ,
получаемый комбинацией клавиш УПР-Z, и физический
конец файла могут быть признаками конца текстового
файла.
РежФайл = 1 (Двоичный режим)
В этом режиме не производятся никакие преобразования.
В этом режиме для операций ввода может быть
использован только предикат readchar.
(вх,вх)
Устанавливает файлу ИмяФайлСимв режим, указанный в
РежФайл.
(вх,вых)
Возвращает текущий режим файла ИмяФайлСимв в РежФайл.
Неудачное Никогда не дает.
завершение
Ошибки 1018 Файл не откpыт.
1019 Недопустимый режим файла, должен быть 0 или 1.
Пример
domains
FILE = reflexfile
goal
openread(reflexfile,"dd.dba"),
readdevice(reflexfile),
filemode(reflexfile,0),
% Здесь используйте только readchar
closefile(reflexfile).
filepos/3
Назначение Перемещает указатель файла
Обращение filepos(ИмяФайлСимв,ПозФайл,Режим)
Домены (file,real,integer)
Шаблоны описания (вх,вх,вх),(вх,вых,вх)
аргументов
Описание (вх,вх,вх)
filepos выбирает позицию в указанном файле, где будет
иметь место следующая операция обработки файла.
Позиция рассчитывается согласно значению Режим.
--------------------------------------
Режим Позиция
--------------------------------------
0 Относительно начала файла
1 Относительно текущей позиции
2 Относительно конца файла
--------------------------------------
Например, если ПозФайл связан со значением 11 и Режим
связан со значением 0, следующая операция будет в
позиции 11 (относительно начала файла).
(вх,вых,вх)
Возвращает текущую относительную позицию файла от
начала файла. Режим игнорируется при этом Шаблоне
описания аргументов.
При использовании filepos имейте ввиду, что
операционная система при каждом нажатии клавиши ВВОД
в текстовых файлах, генерирует два символа - 'новая
линия' (ASCII 13) и 'перевод строки' (ASCII 10). При
чтении Турбо Прологом строк из таких файлов эти
символы автоматически пропускаются, но их необходимо
учитывать при использовании filepos.
Неудачное Никогда не дает.
завершение
Ошибки 1018 Файл не откpыт.
1070 Невозможно выполнить предикат.
filepos вышел за пределы файла.
Итог: файл расширен за следующую запись.
Пример
domains
file = my_file
predicates
repeat
position
goal
makewindow(2,23,23,"позиция файла",0,40,20,40),
makewindow(1,23,23,"вывод файла",0,0,20,40),
dir("", "*.pro", Filename),
clearwindow,
openread(my_file, Filename),
repeat,
readdevice(my_file),
readchar(Str), position,
write(Str),
eof(my_file).
clauses
repeat.
repeat:-repeat.
position:-
shiftwindow(2),
filepos(my_file, P1, 0),
writef("начальная позиция : %", P1), nl,
shiftwindow(1).
file_str/2
Назначение Записывает из строки или считывает в строку
дисковый файл полностью
Обращение file_str(ИмяФайлDOS,ТекстСтр)
Домены (string,string)
Шаблоны описания (вх,вых),(вх,вх)
аргументов
Описание (вх,вых)
Весь файл ИмяФайлDOS (максимальный размер 64К) будет
считан в строку ТекстСтр.
(вх,вх)
Будет создан новый текстовый файл ИмяФайлDOS,
содержащий текст ТекстСтр.
Неудачное Никогда не дает.
завершение
Ошибки 1026 Размер файла, загружаемого предикатом
file_str, превышает 64К.
1027 Невозможно открыть файл.
1028 Запись в файл невозможна.
Пример
config"old.sys"
predicates
extend(string,string)
getfilename(string,string)
clauses
extend(S,S):-concat(_,".pro",S),!.
extend(S,S1):-concat(S,".pro",S1).
getfilename("",Fname):-dir("","*.pro",Fname),!.
getfilename(X,X1):-extend(X,X1).
goal
comline(X),
getfilename(X,X1),
file_str(X1,S),
textmode(Rows,Cols),
makewindow(1,23,0,"РЕДАКТОР",0,0,Rows,Cols),
editmsg(S,S1,"","","",0,"",Ret),
removewindow,
RET><1,!,
clearwindow,
write("\Введите имя файла для записи: "),readln(NewName),
file_str(NewName,S1).
- Справочное руководство по турбо прологу 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
- Заключение