Made parseProgram() take filenames rather than file handles, to make it work as a top-level predicate for the parsing.
Fixed an out-of-date comment.