I've always used muParser, written in C++, for parsing. You're not going to get a library which can do integration; simply too difficult without a serious heavyweight library. Open source symbolic integrators like Maxima, Octave, etc. exist, but they are hard to interface with, and that functionality can't easily be separated from the rest of the project.