Cos’è un compilatore? Un compilatore riformatta del codice ad alto livello in basso livello e viceversa