Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Лексический анализатор выражения

20K
12 января 2007 года
lnkgyv3
17 / / 12.01.2007
Есть такое задание - пускай есть некоторое арифметическое выражение с участием 4 основных арифметических операции, которое записано без пробелов. Например a*(b-c+(e/d))+3. Необходимо проанализировать это выражение и разложить его на комманды, причём согласно приоритетам. К примеру предыдущее выражение будет разбито на комманды и на экран будет выведено следующее:
sub b,c
div e,d
add b,e
mul a,b
add a,3
Я не прошу детального алгоритма, поскольку я сложил свой, но он в некоторых выражениях даёт пробой. Учтите выражение может быть различно: различное количество операций и скобок. За ранее спасибо откликнувшимся.
63
12 января 2007 года
Zorkus
2.6K / / 04.11.2006
Ну, думаю, обратная польская запись как движок:) А уж потом можно ее стек операторов/операндов как угодно парсить.
http://algolist.manual.ru/syntax/revpn.php
20K
12 января 2007 года
lnkgyv3
17 / / 12.01.2007
Цитата: Zorkus
Ну, думаю, обратная польская запись как движок:) А уж потом можно ее стек операторов/операндов как угодно парсить.
http://algolist.manual.ru/syntax/revpn.php



Спасибо, очень интересная статья, должна мне помочь.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог