Recursive descent parsing - a simple example program