A recursive descent LL(1) parser that generates RISC machine instructions, a utility function to write out a list of RISC machine instructions, and a peephole optimizer for constant propagation using a window of exactly three RISC machine instructions.