A three address code compiler for javascript