Simple recursive descent parser written in C++.