Parses and optimizes VHDL code, generates Java code for simulation, and produces gate diagrams of program.