Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Реализация собственного движка скриптов. Что посоветуете

38K
30 октября 2010 года
EqKeeper
94 / / 19.02.2010
C#, VS2010
Есть объект класса:
 
Код:
public class Test
{
  public double alpha;
  public double beta;
}


Есть многострочный TextBox с содержимым (к примеру):
 
Код:
if [alpha].is_double? then [alpha] = 3.14
if [beta].is_double? then [beta] = 2.0
[alpha] = (([alpha] - [beta]) ^ 4) * (-2)
[beta] = [alpha] % [beta] + 1


При вызове определенной функции, в которую будет передан объект класса, будет считано содержимое TextBox'а и, в соответствии с ним, над соответствующими полями будут проведены указанные операции.

Как подобное реализовать? Желательно без использования SQL (видеть его не могу), но если это будет наиболее простой путь - сойдет и он.
В идеале - интерпретатор C#.

В итоге это будет софтина для массовой правки содержимого двоичных файлов.
297
30 октября 2010 года
koodeer
1.2K / / 02.05.2009
Цитата: EqKeeper
В идеале - интерпретатор C#.


Коротко тут полный ответ не дать. Гугли калькуляторы. Исходников в интернетах полно.
Формат будет именно в таком виде?

 
Код:
if [alpha].is_double? then [alpha] = 3.14
if [beta].is_double? then [beta] = 2.0
[alpha] = (([alpha] - [beta]) ^ 4) * (-2)
[beta] = [alpha] % [beta] + 1

Если да, то придётся самому писать что-то типа парсера. И регулярками здесь не обойтись.

А если задавать выражения в синтаксисе шарпа, то можно использовать компилятор самого шарпа, и не изобретать велосипед.
Compiler Class - is now obsolete (устарел), но с ним можно найти много примеров, даже на коднете вроде были.
CSharpCodeProvider Class - новый рекомендуемый класс.

Цитата: EqKeeper
Желательно без использования SQL


Имеется в виду LINQ?

5
30 октября 2010 года
hardcase
4.5K / / 09.08.2005
Цитата: EqKeeper
При вызове определенной функции, в которую будет передан объект класса, будет считано содержимое TextBox'а и, в соответствии с ним, над соответствующими полями будут проведены указанные операции.


Можно захостить Nemerle, JScript, IronPython, IronRuby или же вообще Lua, как вариант просто компилировать код на C#.

Цитата: EqKeeper

В итоге это будет софтина для массовой правки содержимого двоичных файлов.


Вообще WinHEX умел таковое делать.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог