Lexing is often the first step of the front end of these programs, which scans and tokenizes the input before syntax analysis results in the creation of a parse tree.
The Sethi-Ullman algorithm can be used in the final steps of one of these to minimize the number of instructions and registers needed, a process which is often preceded by modifications such as inline expansion and application of a sequence of loop transformations to achieve loop optimization. Lexing is often the first step of the front end of these programs, which scans and tokenizes the input before syntax analysis results in the creation of a parse tree. T-diagrams are sometimes used to illustrate how bootstrapping can be used to write one of these programs in its target language. A just-in-time one is used by Java, while interpreted languages do not require one at all. For 10 points, name this type of computer program which translates source code in a programming language to machine code.
The Sethi-Ullman algorithm can be used in the final steps of one of these to minimize the number of instructions and registers needed, a process which is often preceded by modifications such as inline expansion and application of a sequence of loop transformations to achieve loop optimization.
{Compiler}