Результаты поиска по запросу "dcg"

3 ответа

Разбор выражения в Прологе и возврат абстрактного синтаксиса

Я должен написать parse (Tkns, T), который принимает математическое выражение в виде списка токенов и находит T, и возвращает инструкцию, представляющую абстрактный синтаксис, соблюдая порядок операций и ассоциативность. Например, ?- parse( [ ...

2 ответа

Чтение файла в прологе [дубликат]

Возможный дубликат: Читайте файл построчно в Прологе [https://stackoverflow.com/questions/4805601/read-a-file-line-by-line-in-prolog] Я нашел следующий код пролога, который читает по одному символу за один раз и печатает. process(File) :- ...

3 ответа

Что не так с моей программой пролога для решения 3 кувшинов с водой?

Может кто-нибудь узнать, почему у меня не может быть никаких истинных ответов с моим «go» в этом коде? Например, я пишуgo(7,3,l) и я предполагаю, что он должен переместить 3 литра воды во второй кувшин, но это неверно в соответствии с прологом. В ...

ТОП публикаций

5 ответов

Пролог Список Плато

Просто познакомился с прологом, пытаясь выполнить несколько простых упражнений, но я застрял на этом. Я пытаюсь написать программу, которая выводит все подсписки списка ввода, где каждый подсписок имеет длину> 1, и его нельзя расширить до ...

3 ответа

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

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

2 ответа

Удалите Неоднозначность в абстрактном синтаксисе, чтобы написать DCG-парсер Prolog

P => Программа K => Блок S => одиночная команда C => Команды E => Выражение B => Boolean-expr I => Идентификатор N> цифра P :: = K. K :: = начало C конец C :: = C1; С2 | S S :: = I: = E | если (B), то S | если (B), то S1 еще S2 | в то ...

1 ответ

Расширение DCG: Стойкость игнорируется?

Предположим, у меня есть следующее правило DCG: factor(X) --> "(", expr(X), ")".Обычно это будет переведено на: factor(X, A, B) :- [40|C] = A, expr(X, C, D), [41|B] = D.Разрешено ли системе Пролога переводить ее следующим образом, ...

1 ответ

Пролог - перевод с английского на C

У нас есть относительно простое задание, которое я понимаю в теории, но я думаю, что просто не совсем понимаю синтаксис Пролога, чтобы включить его в код. По сути, у нас есть список английских обозначений, которые представляют операции в C. Они ...

2 ответа

Очень простой синтаксис пролога dcg

Я пытаюсь понять пролог и грамматику определенного предложения, но мне очень трудно понять их оба. Я действительно пытаюсь понять, как использовать синтаксис DCG ... Здесь у меня есть два примера: Первый на самом деле код из другого вопроса на ...

7 ответов

Раскрась список в Прологе

Я работаю с Прологом всего пару дней. Я понимаю некоторые вещи, но это меня действительно смущает. Я предполагаю написать функцию, которая берет список и выравнивает его. ?- flatten([a,[b,c],[[d],[],[e]]],Xs). Xs = [a,b,c,d,e]. % expected ...