Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выполнение пользовательского кода 
:(
    Опции темы
Alix36
Дата 7.9.2009, 15:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 478
Регистрация: 6.11.2006

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



Суть вопроса - найти заменитель eval для с++
---
Вводим в переменную скажем Y=2x^2+72
как сделать так, что бы 2x^2+72 выполнилось?


--------------------
Наши лица как дым, И никто не узнает как мы победим. (С)Пикник.
PM MAIL   Вверх
zim22
Дата 7.9.2009, 15:43 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


depict1
****


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

Репутация: 29
Всего: 69



написать свой парсер синтаксических выражений


--------------------
PM MAIL   Вверх
bsa
Дата 7.9.2009, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 85
Всего: 196



Alix36, boost::spirit тебе поможет - там есть пример калькулятора.
PM   Вверх
jonie
Дата 7.9.2009, 23:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 5613
Регистрация: 21.8.2005
Где: Владимир

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



если бы я выбирал межлу спиритом и подключением perl\php\python\javascript и т.д. я бы выбрал второе)

взгляните на быструю либу javascript-а: http://code.google.com/p/v8/
вот пример использования: http://www.codeproject.com/KB/library/Usin...ascript_VM.aspx
(а в жаб скрипте есть eval)
...


--------------------
Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет...
PM MAIL Jabber   Вверх
shara
Дата 9.9.2009, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



позволю себе одну бредовую идею  smile 

создай екзешник который считает мат выражение с переменной X и возвращает значение. в определенное место (его еще нужно найти) будешь писать свое выражение (в машинных кодах поидее).  потом лишь запусти его (экхешник) на выполнение и читаешь то что вышло =)

З.Ы. можно испоьзовать удаленный запуск  процессов 

Это сообщение отредактировал(а) shara - 9.9.2009, 21:36


--------------------
   с точки зрения аэродинамики шмель не может летать  
PM MAIL   Вверх
xvr
Дата 10.9.2009, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 35
Всего: 223



Цитата(shara @ 9.9.2009,  21:34)
позволю себе одну бредовую идею  smile 

Да уж, воистинну  smile 
Цитата

создай екзешник который считает мат выражение с переменной X и возвращает значение. в определенное место (его еще нужно найти) будешь писать свое выражение (в машинных кодах поидее).  
Нафига ему сторонний exe'ник, если у него будет 'свое выражение (в машинных кодах поидее)'?
Такое 'выражение' можно сразу запустить, как процедуру, без всяких exe'ников
Осталось только написать свой компилятор, что бы из текста выражения получить те самые 'машинные коды'  smile 


PM MAIL   Вверх
ller
Дата 10.9.2009, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

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



В книге Страуструпа, есть пример калькулятора. Он на нем разбирает конструкции языка. Можно посмотреть
PM MAIL   Вверх
andrew_121
Дата 10.9.2009, 19:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


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

Репутация: 10
Всего: 33



Вот: http://rghost.ru/453038
на rsdn-е когда-то нашел.


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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