![]() |
|
|
![]()
|
|
| jingoCSS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.7.2009 Где: Саратов Репутация: нет Всего: нет |
Помогите в написании интерпретатор Basic на Прологе, пока наработок никаких, язык крайне не понятен. Если у кого есть киньте ссылки на нужные темы, если есть исходник будет вообще здорово. Еще если кто может киньте хорошую ссылку или пример кода сюда как обрабатывать списки (и как вообще описать переменную типа список).
И еще хорошо будет если подскажите где лучше делать такое в turbo Prolog, Visual Prolog или в другом ЯП используя файл пролога как БЗ. Я надеюсь на вашу помощь) |
|||
|
||||
| jingoCSS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.7.2009 Где: Саратов Репутация: нет Всего: нет |
Блин, что-то мертвый уже какой-то форум(
Подскажите хотя бы кто может, как мне обработать скажем вот такие конструкции: 1) If (a < 6) then b = 8 else b = 9; 2) b = a*x+4*f; 3) while(a<7) { f = t/3; abs(f); a++; } Это сообщение отредактировал(а) jingoCSS - 2.5.2011, 09:48 |
|||
|
||||
| Фантом |
|
|||
![]() Вы это прекратите! ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1516 Регистрация: 23.3.2008 Репутация: 6 Всего: 49 |
Если Вам надо сделать это в качестве учебного задания - Вам в "Центр помощи". Если же это просто задача - сначала сделайте что-нибудь попроще; пока "язык крайне не понятен", делать что-то нетривиальное бессмысленно. |
|||
|
||||
| jingoCSS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.7.2009 Где: Саратов Репутация: нет Всего: нет |
Это курсовая, а в центре помощи там платно?)) Мне бесплатно надо)
Ну как, я делал простенькие задачки с генеологическим древом, и с графами) про факты и правила я вроде понимаю, со списками беда (там он делится как я понял на верхний элемент и все остальные и как то с помощью этого можно рекурсию организовать для проверки всего списка, а как это сделать я не знаю, книги читал но всё как то не то, нужен живой пример рабочий) |
|||
|
||||
| dorogoyIV |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: нет Всего: 46 |
если я правильно понял... :
(VP)
с третьим лень было возиться... Это сообщение отредактировал(а) dorogoyIV - 6.5.2011, 17:44 |
||||
|
|||||
| jingoCSS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.7.2009 Где: Саратов Репутация: нет Всего: нет |
)) Спасибо за ответ, но к сожалению не правильно поняли)
If (a < 6) then b = 8 else b = 9; , вот эту строку нужно как-то по элементам занести в список и обработать) Я предполагаю должно получиться что то вроде такого: list = "If","(a<6)","then","b=8","else","b=9",";". , и это уже как то я так предполагаю рекурсивно парсить. а как в турбо прологе список задать я толком даже не понял ( list = symbol* << вроде вот так символьный, но я не уверен) |
|||
|
||||
| dorogoyIV |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: нет Всего: 46 |
во блин!
я на Java такое с трудом распарсил (калькулятор написал), а на прологе не хочется даже начинать (распарсить не сложно, сложно потом собрать все в формулу и подсчитать, учитывая приоритеты, отрицательные значения, скобки, ...) применяют алгоритм - точно не помню название - то ли "Польский..." , что то с польским связано... |
|||
|
||||
| jingoCSS |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 17.7.2009 Где: Саратов Репутация: нет Всего: нет |
Да вот говорят что на прологе такие вещи занимают 7 строчек)))
Может и семь конечно, а вот разбираться как их написать к сожалению никакого желание, если б на С++ или дельфи надо было задание сделать думаю было бы проще) |
|||
|
||||
![]()
|
| Правила форума Prolog | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Void. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Prolog | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |