based on Paddle2See's project. This project will evaluate a math expression that you type in using normal Infix notation, such as (3+2)*10 + 5^2 - sin 45 and NOW also boolean expressions such as: (cos(7)^2=cos(7)*cos(7)) or (x*5>x+15) It knows the usual math operators (operator precedence is applied): + Addition - Subtraction * Multiplication / Division ^ Raise to a power It also knows parenthesis () and the following functions: sqrt Square Root sin Sine cos Cosine tan Tangent asin Arcsine acos Arccosine atan Arctangent It knows a couple of constants as well: x The result of the last calculation pi Pi e Euler's number phi Golden Ratio Additionally, you can use the logical boolean operators = is equal to > is greater than < is less than and both are true or at least one is true xor ONLY one is true not it is false that- a value of "true" is represented by 1, a value of "false" is represented by 0. Bugs ==== Sadly, due to a bug with the JOIN block, decimal points in numbers DO NOT WORK on the downloaded project. You can work around this by using commas instead of decimal points. This bug does not seem to be present in the online player. The development team is working on this bug and hopefully will have it fixed soon. Technical Notes =========== This evaluator takes the Infix string and first converts it to a list of Infix elements. Next, is uses a modified version of the Shunting Yard Algorithm (see wikipedia) to convert the Infix list to a Postfix list (Reverse Polish Notation) which it finally evaluates. Credits ===== Thanks to wikipedia for the algorithm http://en.wikipedia.org/wiki/Shunting_yard_algorithm Thanks to the Scratch Development team for adding string capabilites to Scratch!