LINUX.ORG.RU

а в чем собственно вопрос? переводишь в польскую нотацию и в secd-машине выполняешь либо стоишь дерево разбора либо еще куча вариантов...

UrbanSerj
()

Блин, ну кто так изучает C++!? У трупострауса в книжке как раз и разбирается пример интерпретатора математического выражения.

gaa ★★
()
Ответ на: комментарий от UrbanSerj

> за такую реализацию надо отрывать руки, чтоб дальше неповадно было

Ну да, реализация там неидеальна. Но топикстартер даже и про неё-то не знает...

gaa ★★
()

Попробуй заюзать boost.spirit - для простого калькулятора ее возможностей вполне должно хватить:). Естественно, перед этим придется почитать о том, что такое лексеры, парсеры и BNF.

V_L_A_D ★★
()

Предлагаю не заниматься хернёй, а заюзать OCaml.

anonymous
()

Элементарно, Ватсон.

popen("/path/to/g++", ...), и скармливаем ему эту строчку.

Потом execve("/path/to/random/temporary/binary", ...);

А чо? Unix way. А то всё rpn, ast... Скучно это!

anonymous
()

Если просто формулы, то рекурсивный анализатор позволяет это считать на лету. Если будет расширяться, я бы взял lua или python и подцепил к программе.

rymis ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.