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/)