forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Определение функции (http://forum.boolean.name/showthread.php?t=13275)

den 02.09.2010 18:51

Определение функции
 
Вот делаю программульку для построения графиков функции:)
Впринцепе сделал, но остало сь одно большая проблема:(
Как сделать чтобы юзер мог вводить формулу?
Например он вводит "(x+5)*x" а моя программа смогла вставить эту функцию в метод рисования?
Короче вы меня поняли:)

Dream 02.09.2010 19:38

Ответ: Определение функции
 
вариантов множество
например - компиляция на лету
http://outcoldman.livejournal.com/33779.html
или ручной парсинг
или ещё десяток способов, на которые хватит фантазии

P.S. чёж так тормозит инет, ппц

pax 02.09.2010 20:44

Ответ: Определение функции
 
Компиляция на лету проще всего. Я вот писал свой парсер/интерпретатор когда-то на основе обратной польской нотации.

h1dd3n 02.09.2010 21:08

Ответ: Определение функции
 
Имхо, нафиг здесь не нужна компиляция на лету. Уже есть готовые нативные парсеры мат выражений на шарпе. Обычно они распостраняются в dll, но если тебя авторские права не волнуют то открой dll рефлектором и сохрани в исходники. А вообще написать такую программу - это очень просто (если свой парсер писать не будешь, тогда это задача на пару дней).
P.S. Вот например этот парсер легко декомпилируется рефлектором.
P.P.S А вообще лучше все таки напиши свой - так хоть опыта наберешься.
P.P.P.S Как доделаешь выкладывай - посмотрим =)

pax 02.09.2010 21:19

Ответ: Определение функции
 
Вот написанное мной когда-то. Мне кажется декомпилируется без проблем. На самом деле я вообще не знаю теории компиляторов и интерпретаторов. Писал только изучив ОПН.

http://forum.boolean.name/showthread.php?t=7723


Часовой пояс GMT +4, время: 08:10.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot