add example for inversion of control (recursive descent parser)