Описание тега swi-prolog

SWI-Prolog - это реализация Prolog с открытым исходным кодом, работающая в Unix, Windows и Mac.
1 ответ

JSON получить пролог предикат

Я пытаюсь создать этот предикат в прологе: Предикат json_get/3 можно определить как: json_get(JSON_obj, Fields, Result). что верно, когда Result можно восстановить, следуя цепочке полей в Fields (список), начиная с JSON_obj, Поле, представленное N (…
08 янв '18 в 15:46
1 ответ

Программа сравнения строк в swi-прологе всегда дает сбой

Я пытаюсь написать программу, используя swi-пролог, который случайным образом запрашивает у людей их имя или фамилию и печатает "правильно" или "неправильно" в зависимости от того, что они печатают. Текущие правильные ответы - "Привет" и "Мир", но н…
04 апр '13 в 04:46
3 ответа

Пролог: игнорировать нежелательные переменные в выводе

Есть ли способ заставить CLI пролога возвращать результаты запроса только с интересующими меня переменными? Простой пример будет: ?- mother(M, C1), father(F, C1). который возвращает привязки для всех M, F а также C1, Но меня интересует только M а та…
03 апр '17 в 11:50
0 ответов

Таблица символов Пролог

Я пытаюсь построить таблицу символов в Прологе. До сих пор я определил два предиката, но то, как их использовать или исправить, выходит за рамки моей головы. Я хотел бы немного помочь, как это сделать. Спасибо create_empty_table:- use_module(library…
02 апр '16 в 18:56
1 ответ

Как получить все пункты, определенные / загруженные из файла в Прологе

Я использую SWI Prolog и удивлен, что не нашел очевидного способа сделать это в Prolog. То, что мне нужно, это что-то похожее на предложение /2, но допускает необоснованный первый аргумент (и относится только к предложениям в данном файле, т. Е. Мне…
03 июн '17 в 01:06
1 ответ

Проверьте синтаксис (код C или Java) в прологе

Я работаю над проектом, чтобы проверить синтаксис программы, написанной на C или Java и вернуть синтаксис True или False программа, которая проверит ниже пример. если я напишу это правильно или неправильно Пример: for(x=0;x<10;x++) { print("Hello…
08 май '17 в 13:53
2 ответа

Есть ли проверка алфавита в прологе?

Привет, Был ли какой-то тест или предикат, который я могу использовать в прологе, чтобы проверить, является ли определенный символ алфавитным? Прямо сейчас, что я делаю, это: Список нелегальных символов: \n -> 10, пробел -> 32,!->33, .->46,,->44,:->…
1 ответ

Получить неограниченные границы доменов с C# SWI-Prolog DLL

Я использую Swi-Prolog Csharp DLL и CLP(FD). У меня есть следующий файл Prolog: :- use_module(library(clpfd)). constr(V0,V1,V2,C0,C1,C2) :- ((V0 #= 1901) #\/ (V0 #= 1750)) #<==> C0, ((V1 #= 3) #\/ (5 #= V1)) #<==> C1, ((V2 #>= 1)) #&l…
03 дек '18 в 10:29
1 ответ

Как понять этот make-файл SWI-Prolog - как создается исполняемый файл Linux?

Я пытаюсь скомпилировать анализатор грамматики https://github.com/RichardMoot/Grail в программу Linux в соответствии с инструкциями https://github.com/RichardMoot/Grail/blob/master/README и http://www.labri.fr/perso/moot/tutorial/install.html. Сущес…
10 янв '18 в 21:48
0 ответов

Не может запустить приложение Prolog в ProDT в Eclipse Kepler и Juno

Я установил ProDT плагин для Ide. Он выделяет код, имеет конфигурацию для интерпретатора Prolog. Но нет способа запустить приложение. Также правый клик /ProDT/"Консультация в консоли" ничего не делал. Как это исправить? Запустить как /"Run Swi sessi…
29 авг '13 в 09:11
1 ответ

Использование интерфейса JPL SWI-Prolog для работы

Я хочу использовать JPL для создания графического интерфейса для своего проекта, поэтому я пошел и искал пример кода, чтобы начать работать, я скачал код, но когда я его запускаю, он показывает следующее сообщение: ERROR: c:/program files/swipl/libr…
06 фев '19 в 17:39
1 ответ

Отображение переключателей в прологе xpce

Я создал меню с радио-кнопками в прологе XPCE, но мои радио-кнопки отображаются в одной строке, и я хочу, чтобы каждая из них была в отдельной строке. Мой код следующий: new(D, dialog('title')), send(D, size, size(500,500)), send(D, append,new(Op, m…
05 июн '14 в 15:21
4 ответа

Переполнение стека в правиле грамматики Prolog DCG: как обрабатывать большие списки эффективно или лениво

Я разбираю довольно простой формат файла, состоящий из ряда строк, каждая строка имеет несколько полей, разделенных пробелами, который выглядит следующим образом: l 0x9823 1 s 0x1111 3 l 0x1111 12 ⋮ Я использую SWI-Prolog. Это DCG у меня так далеко:…
17 окт '12 в 17:19
0 ответов

Как написать программу пролога для управления другой программой командной строки?

Я хотел бы узнать, как написать программу на прологе для управления другой программой командной строки. В качестве конкретного примера скажу, что я хочу управлять mps-youtube ( https://github.com/mps-youtube/mps-youtube). Для начала мне нужно иметь …
22 ноя '17 в 14:20
1 ответ

Переменная пролога не существует

Вот моя простая программа для проверки, если еще и вызов функции в swi пролог. Что не так с кодом ниже, который говорит rule не существует call_rule(Roll):- ( member(Roll,[123]), writeln('inside call rule'), nb_getval(rule, 'this is the rule') ). pr…
28 окт '14 в 12:43
1 ответ

Пролог правильно использовать параметр post

Я хочу создать динамический сайт с вопросами, с некоторыми полями прокрутки, проверки и тому подобного. После того, как пользователь отправил форму, я хочу использовать информацию, чтобы динамически создать ответ. Я очень старался, но не мог застави…
13 июл '14 в 08:12
1 ответ

Доступ к буквальному значению объекта Triple

Я работаю над валидатором, который проверяет файлы черепах. Работая над функцией для проверки правильности указанного количества элементов для каждого объекта, я не могу понять, как получить доступ к значению литерала. Буквальное значение Card=liter…
26 апр '17 в 12:54
1 ответ

Написание оболочки для языка программирования

Я хочу написать рубиновую оболочку swi-prolog. Может кто-нибудь сказать, пожалуйста, как приступить к написанию одного? Буду признателен, если кто-нибудь объяснит мне, какие шаги необходимо учитывать при попытке написать такого рода.
1 ответ

Невозможно использовать catch/3 для tcp_connect в прологе

Я хочу проверить, слушает ли сервер или нет, и для этого я использую код, показанный ниже. :- use_module(library(socket)). goal(IP,Port,Sock):- tcp_socket(Sock), tcp_connect(Sock,IP:Port). main(IP,Port):- catch(goal(IP,Port,Sock),error(X,Y),writeln(…
30 апр '16 в 22:44
0 ответов

SWI-Prolog: Не удалось открыть базу данных ресурсов "../../src/swipl.prc"

Я проверил библиотеку SWI-Prolog JPL и пытаюсь добавить некоторые функции. Сейчас я просто пытаюсь заставить тесты работать в тесте TestJUnit. Однако я получаю следующую ошибку: SWI-Prolog: [FATAL ERROR: Could not open resource database "../../src/s…
15 янв '17 в 21:33