Stefan Ram <firstname.lastname@example.org> wrote:
| Given a list with infix notation:
| ( 1 + 2 * 3 )
| There are several methods how to convert such a list to
| Cambridge notation with the result:
| ( add 1 ( multiply 2 3 ))
| Beside all of the classical ways to parse a sequence of tokens
| (like a recursively descending parser), I think about of going
| through the list several times with one loop for each level of priority.
It is *MUCH* simpler to use a simple-operator-precedence parser
[see any basic text on parsing], and you can do it in only one pass
through the expression, too, no matter how many levels of operator
priority you have.
Rob Warnock <email@example.com>
627 26th Avenue <URL:http://rpw3.org/>
San Mateo, CA 94403 (650)572-2607