Software that takes in some well-structured input format, usually in the form of text and outputs another format, usually executable by a real or abstract *machine*. # Resources [Max Bernstein's PL Resources](https://bernsteinbear.com/pl-resources/) [Jared Forsyth's Let's Build a Compiler](https://compiler.jaredforsyth.com/)