For the construction of a compiler, the compiler writer uses different types of software tools that are known as compiler construction tools.
Compiler-construction tools are,
- Parser generators
- Scanner generators
- Syntax-directed translation engines
- Automatic code generators
- Data-flow engines
Scanner generators: They automatically produce lexical analyzers or scanners.
Parser generators: They produce syntax analyzers or parsers.
Syntax-directed translation engines: They produce a collection of routines, which traverses the parse tree and generates the intermediate code.
Code generators:
They produce a code generator from a set of rules that translates the
intermediate language instructions into the equivalent machine language
instructions for the target machine.
Data-flow analysis engines:
They gather the information about how the data is transmitted from one
part of the program to another. For code optimization, data-flow
analysis is a key part.
Compiler-construction toolkits: They provide an integrated set of routines for construction of the different phases of a compiler.