|
4 / 4 / 0
Регистрация: 23.01.2009
Сообщений: 18
|
|
Преобразование строки в исполняемую инструкцию.05.07.2009, 12:05. Показов 10336. Ответов 32
Метки нет (Все метки)
Подскажите, пожалуйста, возможно ли задать строку, к примеру:
string str="sin(x)*log(x)", а затем преобразовать в вид: double f=sin(x)*log(x)?
0
|
|
| 05.07.2009, 12:05 | |
|
Ответы с готовыми решениями:
32
Перевод строки в исполняемую функцию Как вставить ресурсы локализации в исполняемую сборку? Зашить в исполняемую программу дополнительный файл (файлы) |
|
85 / 85 / 6
Регистрация: 13.10.2008
Сообщений: 144
|
|
| 05.07.2009, 13:39 | |
|
Можно, это называется парсингом. копайте в сторону "парсеров". Могу посоветовать книгу "Полный справочник по C#" Г. Шилдта, там предпоследняя глава посвящена созданию синтаксического анализатора (парсера) методом рекурсивного спуска.
1
|
|
|
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
|
|
| 05.07.2009, 14:24 | |
|
не совсем понятно что нужно. Где это будет использоваться?
0
|
|
|
4 / 4 / 0
Регистрация: 23.01.2009
Сообщений: 18
|
|||
| 05.07.2009, 16:31 [ТС] | |||
|
Добавлено через 2 минуты 29 секунд
0
|
|||
|
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
|
|
| 05.07.2009, 17:17 | |
|
можешь впрячь компиллер C# или vb.net которые лежат в папке с фреймворком, а потом подключать скомпиленную сборку динамически
0
|
|
|
68 / 24 / 2
Регистрация: 16.05.2009
Сообщений: 73
|
|
| 10.07.2009, 21:05 | |
|
я кстати сейчас дописываю анализатор формул..... бинарные операторы, скобки, функции, константы, переменные (все можно добавлять своё). для разных значений (числа, вектора, матрицы и тд)..... как закончу - выложу. Естесно бесплатно))) если интересно - пиши в асю 37611678пять. (ответ на анти-спам "М" русская)
0
|
|
|
84 / 83 / 6
Регистрация: 13.07.2009
Сообщений: 107
|
||||||||||||||||
| 14.07.2009, 00:25 | ||||||||||||||||
|
Невик, а вот когда ты разложишь строку на элементы, есть несколько способов, как ты вызовешь функции.
Можно просто писать, что-то примитивное типа:
У любого класса можно получить список методов, полей, свойств. Вот так например получить все методы произвольного класса, например стандартного Math
Короче, отражения мощный инструмент, о котором немнго можно почитать у того же Шилдта.
0
|
||||||||||||||||
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 14.07.2009, 01:12 | |
|
Невик,
Подскажите, пожалуйста, возможно ли задать строку, к примеру: string str="sin(x)*log(x)", а затем преобразовать в вид: double f=sin(x)*log(x)? возможно. гооглить "c# dynamic method" для c# 3.0 и linq может оказаться полезным класс System.Linq.Expression
2
|
|
| 14.07.2009, 12:56 | |
|
Не по теме: Rififi, у меня есть достаточно большая подборка книг по C#, но нигде, даже в достаточно свежей "Pro C# 2008 and the NET 3.5 Platform Fourth Edition" Троэльсена, я не видел упоминания о классе DynamicMethod.
0
|
|
|
MCSD: APP BUILDER
8795 / 1074 / 104
Регистрация: 17.06.2006
Сообщений: 32,602
|
|
| 14.07.2009, 13:02 | |
|
max_cn,
ну да, из-за эмитов оно конечно будет посложнее обычного парсинга да и в msil'е придётся чуток подразобраться, но, в конце концов, комменты в коде рулят, и лишние знания никогда не помешают (:
0
|
|
|
4 / 4 / 0
Регистрация: 23.01.2009
Сообщений: 18
|
|
| 14.07.2009, 22:55 [ТС] | |
|
Спасибо всем за помощь. Я пока дописываю свой парсер, ради тренировки, хотя я понял, что проще всего использовать для этого Excel. В дальнейшем попробую использовать возможности отражения.
0
|
|
|
4 / 4 / 0
Регистрация: 23.01.2009
Сообщений: 18
|
||||||
| 02.08.2009, 12:25 [ТС] | ||||||
|
Вот я набросал небольшой парсер.
2
|
||||||
|
0 / 0 / 0
Регистрация: 25.08.2013
Сообщений: 9
|
|
| 16.09.2013, 15:15 | |
|
Ещё бы комментариев побольше, а то не очень понятно в некоторых местах, что и как делается и с какой целью.
0
|
|
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
||||
| 17.09.2013, 13:09 | ||||
|
Добавлено через 45 секунд PS: Тьфу.. Опять вторую страницу не заметил ![]() Добавлено через 4 минуты ![]()
0
|
||||
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|
| 17.09.2013, 22:33 | |
|
Psilon, тема оказалась на первой странице раздела со вчерашней датой не из-за моего поста
0
|
|
|
835 / 643 / 101
Регистрация: 20.08.2013
Сообщений: 2,524
|
|||
| 18.09.2013, 15:30 | |||
![]() Добавлено через 2 минуты
0
|
|||
|
|
||
| 18.09.2013, 15:33 | ||
|
Есть 3 подхода. 1. Динамическая компиляция (Гуглится по "C# dynamic compilation", CodeDomProvider). Самый быстрый с т.з. выполнения. 2. Использовать интерпретатор. Например, IronPython. 3. Найти-таки готовый парсер, которых в сети есть.
0
|
||
| 18.09.2013, 15:33 | |
|
Помогаю со студенческими работами здесь
20
Как сделать исполняемую программу в планировщике невидимой или невсплываемой Преобразование строки Из AnsiString в Char, и копировие этой строки. Преобразование строки Преобразование строки
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-text-sdl3-c. zip
finish-text-sdl3-cpp. zip
|
|
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
|
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo
Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло.
Но на выплатах по больничным это. . .
|
Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере нетипового документа выдачи шин для спецтехники с табличной частью, разработанного в конфигурации КА2. Данные берутся из. . .
|
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y
Z4Tv2zpXVVo
https:/ / github. com/ shumilovas/ med2. git
|