#8 13.12.05 10:35
Re: [ C ] Парсер формул
даю сцылу, лови:
http://torry.net/pages.php?id=307
Сдавалось мной в свое время на этом:
http://steffen-mueller.net/modules/Math-Symbolic/ (перл)
и не мной:
http://torry.net/vcl/science/expressions/aimcalc.zip (с)
http://www.c-sharpcorner.com/Code/2002/ … Parser.asp (.NET)
Вот еще:
http://muparser.sourceforge.net/
http://www.tomore.com/2/35605.html
http://thecodeproject.com/useritems/MathParser.asp
http://digilander.libero.it/foxes/mathp … Parser.htm (для VB)
парсер USPExpress не качай -- глючное "г"
Offline
#9 13.12.05 20:28
Re: [ C ] Парсер формул
A-Lex,
A-Lex написал(а):
у тебя не остались сырцы?
Сырцы то остались, но не поделюсь :)... слишком уж много сил вложено... :) Да и цель написания была несколько коммерческая (потом, правда, отпала)...
A-Lex написал(а):
как я понимаю всё сводится к распарсиванию формулы в дерево, узлани которого будут действия, а ветвями переменные.
Первая версия у меня просто находила самые вложенные операции в строке, вычисляла их, на их место вставляла значение, потом находила следующую операцию и т.д....
Вторая версия строила дерево объектное, где каждый узел был либо переменной, либо действием, у которого были свои операнды - переменные, либо опять же действия (функции).
Offline
#10 13.12.05 21:47
Re: [ C ] Парсер формул
Andron_ написал(а):
Первая версия у меня просто находила самые вложенные операции в строке, вычисляла их, на их место вставляла значение, потом находила следующую операцию и т.д....
хм интересная идея как интересно я до этого не дошел, надо будет попробовать
Offline
#11 13.12.05 22:48
Re: [ C ] Парсер формул
otaku написал(а):
хм интересная идея как интересно я до этого не дошел, надо будет попробовать
Причем, для упрощения парсинга я использовал массив на 1000 элементов, и каждое цифровое значение из строки заносил в массив, а в строку уже вставлял только индекс ячейки. И использовал только ячейки 3-х значные 100-999 :)
На AnsiString'ах работает жжжуть как медленно... :)
Offline
#12 15.12.05 15:07
Re: [ C ] Парсер формул
Есть такая софтина Bison. Скармливаешь ей грамматику, на выходе получаешь парсер для нее на C
http://www.gnu.org/software/bison/bison.html
Offline
#13 15.12.05 17:47
#14 04.01.06 19:28
#15 07.01.06 15:01
Re: [ C ] Парсер формул
http://www.rsdn.ru/article/files/Classes/tparser.xml
И голову не грей
Offline

