parsing.c from Chapter 6 added.