Qt и разбор математических выражений |
Здравствуйте, гость ( Вход | Регистрация )
Qt и разбор математических выражений |
AD |
23.9.2008, 12:35
Сообщение
#1
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Может кто-нибудь подскажет, есть ли готовый, разборщик мат. выражений (в смысле, можно взять исходный код и вставить к себе в программу)? Нет желания изобретать велосипед, уверен, что это уже реализовывали. Хотелось бы увидеть такого рода код. Буду благодарен за любые ссылки.
Да, забыл указать: в результате хотелось бы иметь один из следующих вариантов: На входе строка с математическим выражением: На выходе
- массив структур такого рода [1 ОПЕРАНД ОПЕРАЦИЯ 2 ОПЕРАНД] - что-то наподобие первых двух.... |
|
|
fsMark |
23.9.2008, 15:45
Сообщение
#2
|
Студент Группа: Участник Сообщений: 97 Регистрация: 23.4.2008 Из: г. Киров Пользователь №: 155 Спасибо сказали: 10 раз(а) Репутация: 1 |
Лично я не очень понял что ты хочешь получить, точнее как с этим потом ты будешь бороться
Я для работы с математическими выражениями использовал обратную польскую запись, реализуется несложно, а работать с ней одно удовольствие. Может быть тебе поможет. |
|
|
trdm |
24.9.2008, 8:58
Сообщение
#3
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
Как насчет бизончика или QLalr или как там оно называется?
|
|
|
AD |
24.9.2008, 9:00
Сообщение
#4
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
trdm |
24.9.2008, 9:07
Сообщение
#5
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
Ну, это смотря с какой целью тебе разборшик нужен.
кстати чета: http://labs.trolltech.com/blogs/category/l...ompilers/qlalr/ не фига не открывается ((( |
|
|
AD |
24.9.2008, 9:07
Сообщение
#6
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
|
|
|
trdm |
24.9.2008, 9:14
Сообщение
#7
|
Дмитрий Трошин Группа: Участник Сообщений: 575 Регистрация: 12.1.2008 Пользователь №: 68 Спасибо сказали: 21 раз(а) Репутация: 6 |
не, я всетаки добрался
svn://labs.trolltech.com/svn/compilers/qlalr Хоть эта ссылка работает. Буду посмотреть |
|
|
AD |
25.9.2008, 10:43
Сообщение
#8
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
После не очень тщательного, а главное, быстрого анализа всех возможностей, было решено реализовывать разбор самому. С этой задачей уже практически справился.
Сообщение отредактировал AD - 25.9.2008, 10:43 |
|
|
Tonal |
25.9.2008, 13:43
Сообщение
#9
|
Активный участник Группа: Участник Сообщений: 452 Регистрация: 6.12.2007 Из: Новосибирск Пользователь №: 34 Спасибо сказали: 69 раз(а) Репутация: 17 |
А чё ты с этими "массивчиками" делать собираешся?
Может проще QScript использовать? |
|
|
AD |
25.9.2008, 15:17
Сообщение
#10
|
Профессионал Группа: Участник Сообщений: 2003 Регистрация: 4.2.2008 Из: S-Petersburg Пользователь №: 84 Спасибо сказали: 70 раз(а) Репутация: 17 |
Это уже не как массив. Сразу вычисляю. Короче, могу сказать для чего мне это надо! Я выкладывал проект, так там были нарисованы такие красявые графики зависимости одних параметров от времени или от расстояния. Значения параметров брались из лог-файлов. Но хотелось бы еще видеть графики зависимости параметров, которые вычисляются из полученных.
Формулы, как правило, довольно простые. А сложные формулы не пишутся, а пишутся имена функций, которые их вычисляют (таких очень немного, пока 4, но будет не более 8-10). Вот пример формул, которые уже умею разбирать, практически:
|
|
|
Текстовая версия | Сейчас: 14.1.2025, 20:27 |