> алгоритм разбора строки вида
> (a AND b) OR (c AND (NOT d OR e))
Для архиву (прислал один умный коллега):
Само сложное - это распознавать сами tokens - т.е. что это
такое - константа, переменная или оператор или скобка.
1. Считываешь tokenы и помещаешь их в стэк. так читаешь пока
не дойдешь либо до закрытой скобки или до конца.
2. на закрытой скобке снимаешь 3 элемента из стэка и
интерпретируешь их как второй операнд, оператор, первый
операнд. вычисляешь результат.
3. снимаешь из стэка еще один элемент. если это скобка -
пишешь в стэк вычисленный элемент. если это оператор -
снимаешь еще один элемент, интерпретируешь ... (см. 2)
4. если в 1. наткнулся на конец строки - снимаешь из стэка
остаток и вычисляешь.
С уважением, Андрей Новиков
------------------------------------------------------------
Всероссийский Клуб Вебмастеров http://www.webclub.ru/
По официальным вопросам пишите mailto:webclub@webclub.ru
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =