Reimplementing compiler