For 10 points, name these programs that transform source code from a high-level language into a lower-level language, used to create executables.
Tombstone diagrams were originally created to describe these programs, which are the subject of a classic textbook by Aho, Sethi, and Ullman. Static type checking is often employed by these programs, and several methods for optimizing these programs rely on use-define chains and include jump threading, strength reduction, and loop optimization. A call graph is created during the execution of these programs, and a common instance of Byzantine faulting occurs when syntatic information gets out of phase with one component of these programs. The just-in-time variety operates during runtime, and these programs perform lexical analysis and parsing, followed by code generation. For 10 points, name these programs that transform source code from a high-level language into a lower-level language, used to create executables.
Tombstone diagrams were originally created to describe these programs, which are the subject of a classic textbook by Aho, Sethi, and Ullman.
{compiler}