An overview of the different components of a programming language, including syntax, semantics, and other elements.