JACKL.HAUS

Compilers translate one programming language to another

Thats it. The majority of compilers you will see turn a language into some flavor of assembly (a language very very close to what the computer can understand) which is then turned into machine code, but they dont have to.
There is however another way to evaluate programs

Transpiling

Transpiling is when you compile one not assembly language into another not assembly language.
Many languages do this with javascript to make for web languages with js interop.
I personally am preferential to fennel which is a pretty little lisp which transpiles to lua.