Re: Парсер математических выражений
- From
- Andrew Ezhguroff ()
- To
- Alexander Kolosov
- Date
- 2002-05-11T17:40:25Z
- Area
- RU.ALGORITHMS
From: "Andrew Ezhguroff" <eandr@com2com.ru>
Привет! "Alexander Kolosov" <Alexander.Kolosov@p12.f14.n5038.z2.fidonet.org>
сообщил(а):
AM>> Обратная польская нотация. Лучше всего имхо делать с ней.
AK> Я, конечно, в инете посмотрю, но можно немного поподробнее о том что
AK> такое польская нотация.
Прямая польская запись - все операции записываются в префиксной форме
(сначала символ операции, потом операнды), обратная польская - в постфиксной
(сначала операнды, потом операция).
Так выражение (a-b)*(c+d) в прямой польской записи выглядит (если не
ошибаюсь):
* - a b + c d
а в обратной польской (это уже точно):
a b - c d + *
Обратная польская запись очень удобна для вычислений (операнды заносятся в
стек, операции извлекают операнды из стека и кладут результат обратно в
стек) и большинство парсеров переводит выражение именно в постфиксную форму.
С уважением, Андрей.
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)