[UPHPU] Fwd: Shunting Yard to convert from infix to postfix?
nathamberlane at gmail.com
Tue Sep 23 13:35:59 MDT 2008
I have been working on a text mode calculator program for some time, and
have come to the conclusion that my system of objects and classes is too
complex. I want to make this calculator simple in the inner workings. Right
now, I do several passes on an infix-style equation in order to evaluate it.
1. Parse infix-style equation into tokens and define the tokens by type
1. For example, if I find '23' then I save it as a token of type
Number and with a value of 23
2. Also if I see '(' then I save it as a token of type Open
Parenthesis and with a value of '('
2. Convert to polish-postfix-style equation by parsing the tokens using
the Shunting Yard
and changing the order (I use an operator stack to help with this -- see
3. Evaluate the polish-postfix-style equation, which is simple
I just think that my system of object-based conversion is very complex. But
I want to handle everything myself, i.e. not use any language-built-in
evaluate functions. Is there another method aside from the Shunting Yard
Algorithm that anybody has used or heard of for converting from infix to
postfix? Should I just attempt to evaluate the infix equation as is? Does
anybody have any ideas on how to accomplish the task of making this simpler?
More information about the UPHPU