I have to write a calculator which will be able to calculate expressions similar to ((2+4)*4)/((3+2)-(5*5)) so I need a parser to parse such thing and compute the result. My question is as follows. Is there any built-in class which is able to parse such expression or do I have to use regular expressions to validate the expression and then write a function which perform analysis and returns the result. Or perhaps there is some other way.