Trivial demo reads source files.

If a filename is passed on the command line then it is parsed instead
of the hardcoded test-data. Added a set of declarations to test against.