Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2015, 08:11   #1
Екатерина 123
Пользователь
 
Регистрация: 15.05.2013
Сообщений: 33
Восклицание prolog и си#

подскажите пожалуйста, можно ли использовать каким-либо образом вод написанный на SWIprolog в программах на си#???
очень нужна любая информация по этому вопросу, заранее благодарю)))
Екатерина 123 вне форума Ответить с цитированием
Старый 22.05.2015, 08:14   #2
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

http://www.swi-prolog.org/pldoc/man?section=embedded

Официальная документация не отвечает на ваши вопросы?
rrrFer вне форума Ответить с цитированием
Старый 22.05.2015, 08:21   #3
Екатерина 123
Пользователь
 
Регистрация: 15.05.2013
Сообщений: 33
По умолчанию

спасибо, не могла найти эту информацию, сейчас почитаю, благодарю))
Екатерина 123 вне форума Ответить с цитированием
Старый 22.05.2015, 08:24   #4
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Зачем вам пролог в С#?
На соседнем форуме недавно искали (не нашли) инфу по Делфи+SWI Prolog.

Препод где-то завелся что-ли странный такой?
rrrFer вне форума Ответить с цитированием
Старый 22.05.2015, 08:27   #5
Екатерина 123
Пользователь
 
Регистрация: 15.05.2013
Сообщений: 33
По умолчанию

да, это в сгупсе)))
очень странный и сам информации не дает, говорит, что сами мы должны найти

ничего подробного найти не могу, вот и мучаюсь, а курсовой и писать и сдавать еще надо кого ни спрошу, никто ничего не знает и объяснить не может(((

Последний раз редактировалось Stilet; 22.05.2015 в 09:25.
Екатерина 123 вне форума Ответить с цитированием
Старый 22.05.2015, 08:33   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
очень странный и сам информации не дает, говорит, что сами мы должны найти
Странный наверно с точки зрения тех, которые не только сами думать не хотят, но и с поисковиком поработать. Чуть что - на форум, спасите, помогите, тону, препод ни чего не объясняет, короче сделайте за меня, я такой(ая) маленький и несчастненький
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.05.2015, 08:39   #7
rrrFer
Санитар
Старожил
 
Аватар для rrrFer
 
Регистрация: 04.10.2008
Сообщений: 2,577
По умолчанию

Был недавно в вашем сгупсе, когда мнск проходила в нгу ).

Препод говорит "найти", но просто так найти не получится - гарантирую.

Насколько я понимаю, есть swipl-ld, который вам надо использовать вне зависимости от того, на каком языке вы хотите юзать пролог.

swipl-ld позволит собрать толи DLL (или типа того), толи объектный файл, который тоже можно прикрутить к своей программе. С этим проблемы врядли возникнут. Т.е. вы написал на прологе код, собрали из него бинарник, который как-то подключили.

Но вот потом надо использовать. Чтобы например вызвать функцию, вы должны передать аргументы. Но пролог ждет аргументы в каком-нибудь внезапном формате. Вам надо разобраться с тем, как в SWI устроены внутри списки, строки и т.п. Я когда-то делал это для Visual Prolog 5.x, это долго, неинтересно и бесполезно.

Насколько я знаю, есть там какая-то примочка для Си и С++, в которой по крайней мере стандартные типы как-то прописаны. Вы можете взять те исходники, т.к. видимо вам надо будет написать какой-то также велосипед для C#.

Скучно это.

Аватар
Препод не прав, я думаю. Когда я учился - тоже такие были. Грузили всяким шлаком.

Препод наверняка ведет ИИ или хотя бы ФЛП. Какое отношение его задание имеет к предмету? - если какие-то знания полученные при этом им еще могут пригодится (ну допустим, соглашения о вызовах, манглирование имен и т.п.), то другая часть (которая займет почти все время) - никогда. Им надо залезть в дебри конкретной реализации пролога и узнать что там разработчики наколбасили.

Ну например, хочешь ты прологу передать список (функция ожидает список) - тебе надо сформировать точно такой же список на C++ (или C#). Я вот когда ковырял Visual Prolog - то малямс в шоке был как внутри пролога список устроен (там куча служебной инфы, которую. тебе тоже надо заполнить на С++).

И вообще, я не уверен что это возможно вообще сделать на C#. На С++ я делал это, там ведь можно написать низкоуровневые штуки, а суть проблемы в том, что нужно сделать так, чтобы в бинарном представлении данные которые ты хочешь передать в пролог выглядели так, как их хочет SWI. На шарпах я не писал, но там вообще возможен например обычный (неумный) указатель или я могу задать битовые поля и выравнивание в структурах как-то замутить?

Последний раз редактировалось Stilet; 22.05.2015 в 09:37.
rrrFer вне форума Ответить с цитированием
Старый 22.05.2015, 09:17   #8
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Кате может поможет
http://www.lesta.de/prolog/swiplcs/Generated/Index.aspx
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.05.2015, 09:27   #9
Екатерина 123
Пользователь
 
Регистрация: 15.05.2013
Сообщений: 33
По умолчанию

я его уже просто запытала, он единственное, что мне сказал, что я должна открыть ему си#, задать запрос, си# должен обратиться к прологу, пролог должен прорешать, (найти маршрут,по моей задаче), а потом решение вернуть в си#. честно говоря я в шоке, накопала немного информации, например, что пишется DLL и подключается как библиотека, или что собирается исполняемый файл и запускается(создается новый процесс), но я не знаю это то что нужно или нет, может Вы знаете??

Цитата:
Сообщение от Аватар Посмотреть сообщение
спасибо за ссылку, тут есть в чем покопаться)))

Последний раз редактировалось Stilet; 22.05.2015 в 09:38.
Екатерина 123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Prolog igrokk Помощь студентам 1 01.05.2013 11:16
PROLOG!!!! ksu1803 Помощь студентам 5 12.03.2013 20:40
Prolog qip2005 Помощь студентам 0 01.12.2011 02:05
Prolog ankatito Помощь студентам 6 13.11.2011 20:53
Prolog Debro Помощь студентам 2 26.12.2009 10:16