Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.03.2012, 01:01   #1
Lasur
Форумчанин
 
Аватар для Lasur
 
Регистрация: 13.10.2011
Сообщений: 143
Вопрос Перевод в постфиксную форму в общем случае.

Для тренировочной реализации калькулятора решил использовать перевод мат. выражений из инфиксной формы в постфиксную. Но так как калькулятор планируется расширенный, с возможностью добавления своих операторов, нужен перевод не только обычных бинарных операторов (+, -, /, *), но и n-арных. Например одинарный оператор: sin(x).

Соответственно, прошу знающих указать статьи или литературу, где сие чудо можно вычитать. То бишь мне нужен алгоритм по которому можно перевести строку из одной формы в другую. Или Жирный такой намек, в какую сторону мыслить.

ЗЫ. В гугль не отправлять - был. Нашел:
*)кучу примеров реализации операций в постфиксной форме (что и самому додумать несложно)
**)один алгоритм перевода в случае только бинарных операторов.
***)исторические хроники о возникновении польской формы записи (что, безусловно интересно, но делу не поможет)
Все имена, фамилии, ники, даты и события упоминаемые в моих постах, являются вымышленными. Все совпадения с реально существующими - случайны.

Последний раз редактировалось Lasur; 17.03.2012 в 01:18.
Lasur вне форума Ответить с цитированием
Старый 17.03.2012, 09:16   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,527
По умолчанию

обратная польская запись + google
Цитата:
Например одинарный оператор: sin(x).
sin( единый опрератор обрабатывается как открывающая скобка (занесение в стек операторв)
ну или как два оператора "sin" "F("

x обрабатывается как выражение в скобках (чем оно собственно говоря и является)

) обрабатывается как закрывающая скобка для sin( или "F("

== x sin

мысли всдух для compare(a,b)
compare( скобка
a выражение
, "частичная" скобка
b выражение
) скобка опрератора
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 17.03.2012 в 09:31.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразование арифметического выражения из инфиксной в постфиксную форму записи Nelson1992 Паскаль, Turbo Pascal, PascalABC.NET 2 29.05.2021 18:04
Преобразовать выражение в постфиксную форму Sylar9 Общие вопросы C/C++ 2 12.02.2012 17:53
Перевод в постфиксную форму записи. tgig Помощь студентам 1 08.06.2010 12:01
Выражение в постфиксную форму перевод Toni Milano Помощь студентам 2 01.12.2009 10:57