The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Раздел полезных советов: Русификация языка построения экспер..."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Русификация языка построения экспер..."  +/
Сообщение от auto_tips (??), 16-Авг-10, 18:35 
Прочитал в википедии, что распространению CLIPS в России мешает то, что он не поддерживает русский язык. Итак спешу опровергнуть это утверждение, по крайней мере для систем UNIX/LINUX

Для русификации CLIPS при генерации из исходных текстов для платформ UNIX/LINUX достаточно в коде функции main файла main.c внести изменения:

   setlocale(LC_ALL, "ru_RU.KOI8-R");
   setlocale(LC_NUMERIC, "C");

и CLIPS будет понимать русскую кодировку koi8r не только в значениях переменных, фактах и комментариях, но и в названиях функций и именах переменных. После чего можно писать простые приложения, выполняемые как обычные приложения UNIX. Вот простой пример:

   #!/u01/bin/clips -f2
   ;;путь где у меня расположен интерпретатор clips
   ;;пример написания и вызова функции на языке CLIPS в обычном процедурном стиле

   (deffunction гипотенуза (?a ?b)
       (sqrt (+ (* ?a ?a) (* ?b ?b)))
   )

   (defrule main
       =>
       (bind ?результат (гипотенуза 3.0 4.0))
       (printout t "гипотенуза = " ?результат crlf)
   )

   (reset)
   (run)
   (exit)


URL:
Обсуждается: https://www.opennet.ru/tips/info/2420.shtml

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

1. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Анонимemail (1), 16-Авг-10, 18:35 
Отлично. Вот только пользуется кто-нибудь этим клипсом ещё?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от chochollemail (??), 16-Авг-10, 19:16 
из практического интереса спрашиваю, не холивара ради...
а что посоветуете?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Sw00p aka Jeromemail (?), 17-Авг-10, 08:54 
ХОП-шники конечно же пользоваться не будут
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Аноним (-), 17-Авг-10, 17:52 
21 век, ГДЕ ЮНИКОД???
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от NuINu (??), 17-Авг-10, 22:34 
так клипсом и не пользуются в россии, потому что про руссификацию нет информации. взять ту же книгу Частикова Разработка экспертных систем. среда CLIPS там тоже прямо говориться что русского языка там нет и не будет.(хотя сама эта книжка на половину это всего лишь перевод документации клипса распространяемой бесплатно )) )

за юникод не возьмусь, попробоовать поддержать можно таким же способом (замените ru_RU.KOI8-R на ru_RU.utf8). но многобайтовый символы, могут вызвать проблему в парсере clipsа. надо тестировать. попробуйте если вы фанат юникода. я и в 21 веке пользуюсь кои8р и никак не страдаю. в данном контексте юникод может пригодиться для разработки ммм... полинациональных правил... хотя данный вопрос обычно решается по другому.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

6. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от fr0ster (ok), 23-Авг-10, 08:55 
Стесняюсь спросить, ХОП-шники это что такое?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Педант (?), 24-Авг-10, 23:25 
Вот только полной русификацией это не назовешь.
(deffunction гипотенуза (?a ?b)
Получив русскую гипотенузу обычно требуют "а почему deffunction, а не ЗадатьФункцию"? Не можешь? Фи...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Раздел полезных советов: Русификация языка построения экспер..."  +/
Сообщение от Anavrinemail (?), 18-Дек-10, 03:43 
>[оверквотинг удален]
>        =>
>        (bind ?результат (гипотенуза 3.0 4.0))
>        (printout t "гипотенуза = "
> ?результат crlf)
>    )
>    (reset)
>    (run)
>    (exit)
> URL:
> Обсуждается: https://www.opennet.ru/tips/info/2420.shtml

Добавить библиотеку надо еще #include <locale.h>

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Раздел полезных советов: Русификация языка построения экспер..."  +/
Сообщение от NuINu (??), 19-Дек-10, 13:42 
>[оверквотинг удален]
>>        (bind ?результат (гипотенуза 3.0 4.0))
>>        (printout t "гипотенуза = "
>> ?результат crlf)
>>    )
>>    (reset)
>>    (run)
>>    (exit)
>> URL:
>> Обсуждается: https://www.opennet.ru/tips/info/2420.shtml
> Добавить библиотеку надо еще #include <locale.h>

странно, у меня этот инклюд делается в setup.h, вероятно разные версии клипса.
но если у кого не будет компилироваться, то да - надо.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Ledi_Jemail (ok), 06-Мрт-11, 12:52 
NuINu, нужна помощь человека разбирающегося в CLIPS.Можно с вами связаться через почту или icq?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

11. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Ledi_J (ok), 06-Мрт-11, 12:54 
NuINu, нужна помощь человека разбирающегося в CLIPS.Можно с вами связаться через почту или icq? моя почта:julya--shka@yandex.ru
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

12. "Раздел полезных советов: Русификация языка построения экспер..."  +/
Сообщение от NuINu (??), 25-Мрт-11, 20:31 
К сожалению когда руссифицировал клипс, я совсем забыл о сортировке, а вернее о сравнении строк. В указанном выше совете клипс учиться воспринимать русские буквы, но сортировать(сравнивать строки) правильно не может.
но исправить это можно весьма просто, заменив функцию сравнения строк strcmp(не работающую с текущей локалью) на функцю strcoll в модуле strngfun.c.

Я это сделал так, добавил после всех #include строку переопределения функции:
#define strcmp(s1, s2)        strcoll((s1), (s2))

проверить можно простой программой:
#!/usr/local/bin/clips -f2
;;протестируем функцию сортировки строк

(deffunction string> (?a ?b)
    (> (str-compare ?a ?b) 0)
)

(defrule main
    =>
    (bind ?list (create$ первый второй а елка ешка ёлка ёмкость третий четвертый аах ха хаа хам пятый шестой седьмой а восьмой восьмоой восьмый амма ам))
    (printout t "Исходный список: " ?list  crlf)
    (bind ?list (sort string> ?list))
    (printout t "Отсортированный список: " ?list  crlf)

)

(reset)
(run)
(exit)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

13. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Parallax (ok), 03-Май-11, 22:04 
Здравствуйте!Добавил код
setlocale(LC_ALL, "ru_RU.KOI8-R");
setlocale(LC_NUMERIC, "C");
в файл в main.c, так же добавил строку #include <locale.h>, но после построения всего проекта запускаю исполняемый файл, а русские символы все равно не печатаются. Где я ошибся?может кто нибудь поправит?Я начинающий программист.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

14. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от NuINu (??), 04-Май-11, 20:44 
> Здравствуйте!Добавил код
> setlocale(LC_ALL, "ru_RU.KOI8-R");
> setlocale(LC_NUMERIC, "C");
> в файл в main.c, так же добавил строку #include <locale.h>, но после
> построения всего проекта запускаю исполняемый файл, а русские символы все равно
> не печатаются. Где я ошибся?может кто нибудь поправит?Я начинающий программист.

А какая у вас локаль в терминале? и в какой кодировке вы пишете программу? проверьте все, в моем варианте все должно быть в кои8
и еще вопрос, пусть русские буквы не печатаются, а программа ругается на плохие символы в программе?

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

15. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Parallax (ok), 05-Май-11, 11:33 
>[оверквотинг удален]
>> setlocale(LC_ALL, "ru_RU.KOI8-R");
>> setlocale(LC_NUMERIC, "C");
>> в файл в main.c, так же добавил строку #include <locale.h>, но после
>> построения всего проекта запускаю исполняемый файл, а русские символы все равно
>> не печатаются. Где я ошибся?может кто нибудь поправит?Я начинающий программист.
> А какая у вас локаль в терминале? и в какой кодировке вы
> пишете программу? проверьте все, в моем варианте все должно быть в
> кои8
> и еще вопрос, пусть русские буквы не печатаются, а программа ругается на
> плохие символы в программе?

Упустил один момент - вы ведь, как я понял, имели ввиду консольную версию, а я ClIPSWin мучаю. Но все же я еще раз перекомпилировал, и теперь интересующий меня исполняемый файл ClIPSWin.exe понимает русские символы локали KOI8-R, но не печатает их. Жаль, приходится редактировать clp файл в текстовом редакторе и только после этого лоадить их в clips Было бы здорово внести изменения в исходный код интерфейса ClIPSWin, чтоб он научился печатать наш великий и могучий)

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

16. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от NuINu (??), 05-Май-11, 18:16 
>[оверквотинг удален]
>> кои8
>> и еще вопрос, пусть русские буквы не печатаются, а программа ругается на
>> плохие символы в программе?
> Упустил один момент - вы ведь, как я понял, имели ввиду консольную
> версию, а я ClIPSWin мучаю. Но все же я еще раз
> перекомпилировал, и теперь интересующий меня исполняемый файл ClIPSWin.exe понимает русские
> символы локали KOI8-R, но не печатает их. Жаль, приходится редактировать clp
> файл в текстовом редакторе и только после этого лоадить их в
> clips Было бы здорово внести изменения в исходный код интерфейса ClIPSWin,
> чтоб он научился печатать наш великий и могучий)

я с виндовсом не работаю, и действительно не знаю как там реализовать поддержку русского языка. насколько я слышал там некорректно работает функция isalpha, что бы она кооректно работала надо преобразовыать char в unsigned char. Но это все слухи, вопросами програмирования в виндовс я не занимаюсь )

буквы в кои8р не печатает не сам клипс а терминал в виндовс, возможно он не знает такой кодировки, возможно он должен печатать билеберду(отчасти)чтобы уж совсем ничего не печатал, сомневаюсь, хотя все может быть.
как я помню тамошний терминал работает в cp866. если есть желание поэксперементируйте поменяйте локаль на ru_RU.CP866 или ru_RU.CP1251(они в виндовсе вроде как то по другому называются)суть в том что бы поставить досовскую или виндосовскую кодировку, в зависимости от того в какой терминал вы хотите выводить результаты работы программ, и в какой кодировке вы собираетесь писать программу,
собственно я не знаю какие в виндовсе имеются локали и как их там вообще посмотреть )
только соотвественно не забудьте менять кодировку текста в самой программе.

Ответить | Правка | ^ к родителю #15 | Наверх | Cообщить модератору

17. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Алексей Винокуровemail (?), 16-Июл-11, 11:18 
Я аналогичным образом модифицировал clipswin, теперь он поддерживает кириллицу в формулировках фактов и правил. Но вообще, более перспективно использовать CLIPS+JNI, там кроме графического интерфейса появляется возможность создания мультиязычных и мультиплатформенных экспертных систем. Кому интересно, пишите.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

18. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от NuINu (??), 16-Июл-11, 23:26 
> Я аналогичным образом модифицировал clipswin, теперь он поддерживает кириллицу в формулировках
> фактов и правил. Но вообще, более перспективно использовать CLIPS+JNI, там кроме
> графического интерфейса появляется возможность создания мультиязычных и мультиплатформенных
> экспертных систем. Кому интересно, пишите.

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

Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

19. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от qqqemail (??), 13-Мрт-12, 12:10 
подскажите все же как сделать руссификацию в виндовс?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Nikphil87email (?), 13-Июл-12, 11:20 
Мне тоже очень нужно разобраться с русификацией в виндоус, может кто-нибудь подскажет ?


Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

21. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Rydo (?), 05-Сен-12, 17:02 
Тема Актуальна) Был бы очень призналетелн, если бы добрый человек выложил пошаговую инструкцию со скриншотами для сбилдера под виндой.

Заранее спасибо!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

22. "Русификация языка построения экспертных систем CLIPS"  +1 +/
Сообщение от renegatoremail (?), 30-Мрт-13, 11:21 
Русификацию выполнял на MS VS2008

1. Файл WinMain.c
добавляем строки:
Хидер #include "locale.h"

Перед вызовом InitializeEnvironment вставляем строку

   setlocale(LC_ALL,"RUS");

2. Файл Display.c
Заменяем все имена шрифтов "Courier New" на "Courier New Cyr"

Здесь же заменяем строки:
char *buffer unsigned на char *buffer
char text[2]  на unsigned char text[2]
text[0] = (char) wParam;  на  text[0] = (unsigned char) wParam;

3. Файл CORE\commline.c - заменяем все переменные типа char на unsigned char

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

24. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Юрий безруков (?), 26-Июн-14, 20:20 
Файл WinMain.c
добавляем строки:
Хидер #include "locale.h"

Перед вызовом InitializeEnvironment вставляем строку

   setlocale(LC_ALL,"RUS");

ЭТОГО ДОСТАТОЧНО)
Вот ссылка https://vk.com/doc96209586_312091944

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

25. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от renegator (?), 27-Июн-16, 13:15 
Недостаточно. Без изменения кода нельзя вводить русские символы в правила - там сломается на вызове макросов из ctype.h
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

26. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Сержemail (??), 21-Мрт-18, 10:39 
Скажите, а почему при русификации CLIPS 6.3 для Windows(проект CLIPSIDE) ругается на мягкий знак?

(bind ?результат (гипотенуза 3.0 4.0))

VVVVV

...резул <<<unprintable char...

Можно это как-то исправить?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

27. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Александрemail (??), 07-Дек-19, 20:45 
https://github.com/novikovag/CLIPSEditor
Features

    Smart bookmarks
    Code folding
    Syntax highlighting
    Brace matching
    Auto completion
    UTF-8
    Multi language GUI (есть русский язык)
    Integrated help for CLIPS
    Cross-platform
Для Windows пока что нашел только старую версию. Написал автору.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

28. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Александрemail (??), 08-Дек-19, 23:15 
Прошу подсказать, если на самом деле проблемы нет или подключиться знающим людям к [URL="https://sourceforge.net/p/clipsrules/discussion/776945/threa...дискуссии с автором языка[/URL].
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

29. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Александрemail (??), 08-Дек-19, 23:18 
Ссылка что то не работает
https://sourceforge.net/p/clipsrules/discussion/776945/threa.../
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

30. "Русификация языка построения экспертных систем CLIPS"  +/
Сообщение от Александрemail (??), 11-Дек-19, 08:15 
Автор собрал CLIPSEditor для Windows. Дистрибутив во вложении на форуме.
http://www.cyberforum.ru/showthread.php?p=14082685
Также у автора есть опыт запуска на Ubuntu.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру