Program takes arguments at command line; changed definition of gen_bytecode to allow buffered line-by-line reading of source files.