idea for a compiler