Write a program that given an infix arithmetic expression, outputs a prefix version, and send it in with your response to our ad.
For example:
3 becomes 3
1 + 1 becomes (+ 1 1)
2 * 5 + 1 becomes (+ 1 (* 2 5))
2 * ( 5 + 1 ) becomes (* (+ 1 5) 2)
3 * x + ( 9 + y ) / 4 becomes (+ (* 3 x) (/ (+ 9 y) 4))
The format of the input expression is highly restricted. All values are either single alphabetic characters or positive integers. All operators, including ( and ), are always separated by at least one space from other values or operators.
You should respect operator precedence, so 3 + 5 * 4 should always be parsed as 23, not 32.
Your program should be run from the command line as
prefixer FILE_NAME
where FILE_NAME is the name of a file containing an infix expression.
Extra Credit: Reduce all expressions as much as possible before you output them. This behavior should be triggered by a -r flag.
bml is a markup language for animating balls. bml files look like:
giant_red_ball:
color: FF0000
radius: 100
appear:
time: 19
x: 57
y: 52
disappear:
time: 29
x: 107
y: 52
tiny_yellow_ball:
etc. etc.
Write a swf that lets you load BML files from an arbitrary URL, and then plays them back.