Вопросы по теме 'swi-prolog'

Чтение строки (из файла) в Прологе
Я написал лексер и парсер на Прологе. Он объединяет строку с ее AST. Это часть проекта компилятора/интерпретатора, над которым я работаю. Естественно, теперь я хочу прочитать строку из файла, чтобы проанализировать ее. Однако я нашел для этого...
5581 просмотров
schedule 02.01.2023

Команда XPCE Prolog вызывает ошибку в VS2008 C ++
После загрузки в программу C ++ программы Prolog, содержащей команду send (xpce graphics), я получаю сообщения об ошибках типа: Syntax Error: Operator Expected. Вот пример команды, вызывающей ошибки: send( Dialog, append, button(continue,...
157 просмотров
schedule 24.12.2021

Проверить, является ли атом строчной буквой
Я делаю это так: foo(N) :- name(N, [Code]), name(a, [CodeA]), name(z, [CodeZ]), CodeA =< Code, Code =< CodeZ. Есть ли способ, который не похож на такой обходной путь?
1936 просмотров
schedule 23.03.2023

КАК поймать исключение тайм-аута в Прологе
Я хочу ограничить «выполнение» алгоритма в прологе. Можете подсказать, как это сделать? Я нашел этот предикат: call_with_time_limit Как я могу поймать time_limit_exceeded исключение? Спасибо ОБНОВЛЕНИЕ: Я пытаюсь это сделать следующим...
1866 просмотров
schedule 29.07.2022

Утверждение и отмена для эмуляции глобальных переменных
Я делаю это для эмуляции глобальных переменных: update_queue(NewItem) :- global_queue(Q), retractall(global_queue(Q)), append(Q, [NewItem], NewQ), assert(global_queue(NewQ)). Есть ли другой способ? (Помимо передачи переменных...
503 просмотров

Экспорт предикатов с помощью :- модуля
Я знаю, что могу экспортировать предикаты для модуля, используя стандартное объявление: :- module(my_test, [hello/1]). hello(a). hello(b). Но хотел узнать, есть ли другой способ экспортировать предикат hello в модуль my_test? В приведенном...
421 просмотров
schedule 04.08.2022

SWI-Prolog http_post и http_delete необъяснимо зависают
Когда я пытаюсь использовать http_post/4 SWI-Prolog, следующим образом: :- use_module(library(http/http_client). update(URL, Arg) :- http_post(URL, form([update = Arg), _, [status_code(204)]). Когда я запрашиваю это правило и наблюдаю...
196 просмотров
schedule 15.11.2022

SWI Prolog изменить рабочий каталог/получить текущий рабочий каталог?
в терминале SWI Prolog, как просмотреть текущий рабочий каталог и изменить текущий рабочий каталог? Я нашел: рабочий_каталог (CWD, CWD) но я не думаю, что это то, что мне нужно
26633 просмотров
schedule 18.01.2023

Как отразить истинное/ложное значение, которое Пролог возвращает после запроса
Я хотел бы задать вопрос. Я попытался соединить php с SWI-Prolog с помощью функции exec, и мои усилия увенчались успехом. Мне удалось запросить пролог через php, и я смог повторить ответ Пролога. То, что я хочу сделать, но не могу понять, как это...
518 просмотров
schedule 01.06.2022

Не удается запустить скрипт bash в PHP
Я пытаюсь запустить скрипт bash в PHP, но не могу его запустить. php -v PHP 5.3.10-1ubuntu3.2 with Suhosin-Patch (cli) (built: Jun 13 2012 17:19:58) Copyright (c) 1997-2012 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend...
3231 просмотров
schedule 21.04.2023

Обработка переполнения в GMP pow
(Я являюсь непрямым пользователем библиотеки GMP, главным образом через swi-prolog и yap .Но я очень заинтересован в решении этой проблемы.) При выполнении возведения в степень со смехотворно большими значениями хост-системы или GMP больше не...
1885 просмотров
schedule 03.04.2022

Как подключить кнопку к функции в xpce/prolog
Это кнопка: new(B,button(solve, message(@prolog, solve))), send(D,display,B), send(D, open), Это функция: solve(D, Row, Column) :- assert(path([[0, 0], [-1, 0]])), track(Row, Column), path(P), show_track(D,P)....
940 просмотров
schedule 25.08.2022

Завершение кода консоли SWI-Prolog?
Автозавершение кода отлично работает в окне редактора SWI Prolog: Meta + /. Как я могу вызвать автозавершение кода из окна консоли SWI Prolog (окно, в котором появляется приглашение?)? (выиграть сборку x64) Изменить: как предложено ниже, TAB...
226 просмотров
schedule 19.02.2022

Создание параметризованного запроса SPARQL с использованием предиката append / 3
Относится к моему предыдущему сообщению: Как параметризовать запрос SPARQL в SWI Prolog? В качестве упражнения я пытался реализовать предикат, который создает и выполняет запрос SPARQL, используя только предикат append / 3 (в отличие от...
194 просмотров
schedule 04.07.2022

Производительность библиотеки Prolog CLP по конечным доменам
Я программирую планировщик / планировщик задач на Прологе, и для этого я планирую использовать Библиотека CLPFD (на SWIPL). Мне было интересно, насколько мощным является использование конечных доменов для решения задач планирования и какое влияние...
231 просмотров

Ввод / вывод потока SWI-Prolog и завершение табуляции в swipl-окне
Что я делаю В настоящее время я работаю над созданием модуля SWI-Prolog, который добавляет возможность завершения табуляции в окно swipl-win . Пока что я действительно дошел до того, что он читает по одному символу за раз, не останавливая / не...
341 просмотров
schedule 08.11.2022

как обращаться к файлу как к модулю в jpl
Я пытаюсь обратиться к файлу Prolog как к модулю, поскольку jpl не поддерживает несколько vms prolog. В консоли swipl я могу сделать что-то подобное успешно ?- consult(mod1:'data/load.pro') . В java (ну, на самом деле это scala, но все они...
1104 просмотров
schedule 10.10.2022

Строковый предикат в Swi-Prolog
Я хотел бы знать, для чего именно используется строковый предикат в Swi-прологе? Пример и определение упоминаются здесь: http://www.swi-prolog.org/pldoc/doc_for?object=string/1 Но я никогда не пробовал ничего и не возвращал true, поэтому мне было...
630 просмотров
schedule 13.03.2022

Встраивание движка пролога в dll
В последнее время я работал над приложением C ++, которое включает механизм рассуждений пролога, и, как указано в заголовке, теперь я пытаюсь сгенерировать DLL вместо исполняемого файла, чтобы я мог использовать его в другом проекте. Поскольку я...
548 просмотров
schedule 21.01.2023

Потоковые рассуждения/реактивное программирование в прологе?
Мне было интересно, знаете ли вы какой-либо способ использования пролога для потоковой обработки, то есть какое-то реактивное программирование, или, по крайней мере, чтобы запрос выполнялся в базе знаний, которая постоянно обновляется (фактически...
775 просмотров