Alternative command-line interface

a good excuse to play with parser combinators