Поиск:

Ответ в темуСоздание новой темы Создание опроса
> список неограниченной вложенности, как будет выглядеть domain 
V
    Опции темы
skyboy
Дата 21.11.2006, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



в соседней теме при попытке помочь товарищу наткнулся на пробелему: не смог описать список неограниченной глубины вложенности без использования функторов(как требовалось). Единственное, что попробовал, это:
Код

domains
 elementList= integer*
 element= integer
 list= element;elementList;list* 

на что(вполне ожидаемо) услышал мат компилятора. Какой же выход? И есть ли он, этот выход?
PM MAIL   Вверх
Guedda
Дата 21.11.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 2
Всего: 78



Только что пытался пошаманить с твоим примером... Долго запаривался, и наконец понял:
Рекурсия в списке... Неограниченная. Вот интерпретатор и ругается, так как явно вызывать из списка список без использования функторов нельзя

Добавлено @ 16:44 
И я думаю, что выхода без функторного вообще здесь нет. smile


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
skyboy
Дата 21.11.2006, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Guedda, в таком варианте указанная задача товарища не может быть решена на уровне предикатов, если они требуют указания типов аргументов(а у меня компилятор требует smile). Хм...
Цитата(Guedda @  21.11.2006,  15:43 Найти цитируемый пост)
Рекурсия в списке... Неограниченная

А что тут плохого? smile список же будет обладать конечной рекурсией, это домен обеспечивает обработку любой глубины... А реальные данные - это реальные данные smile 
И синтаксическую обработку вполне представляю: только, как и в рекурсивных предикатах, нерекурсивные варианты должны стоять впереди - тогда на реальных данных рано или поздно вышли бы из рекурсии при синтаксическом анализе smile
PM MAIL   Вверх
Artemios
Дата 21.11.2006, 19:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 405
Регистрация: 14.8.2006
Где: Саратов, Россия

Репутация: 6
Всего: 50



Цитата(skyboy @  21.11.2006,  17:59 Найти цитируемый пост)
а у меня компилятор требует smile). Хм...


Пора менять компилятор smile


--------------------
fib = 1: 1: [ x+y | (x,y) <- zip fib (tail fib) ]
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума Prolog
Void
  • Пожалуйста, создавайте темы с содержательными названиями.
  • Уважаемые учащиеся, здесь всегда рады помочь Вам, но не делать за Вас вашу работу. У вас гораздо больше шансов получить помощь, если Вы приложите усилия и поделитесь с нами проблемами и результатами. В противном случае добро пожаловать в раздел Центр Помощи.
  • Получив ответ на интересующий Вас вопрос, не забудьте пометить его как решённый.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Prolog | Следующая тема »


 




[ Время генерации скрипта: 0.0633 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.