There are many compiler construction tools available to enhance the compiler performance.Some of them
1.Parser Generators:
These generators produce syntax analyzers (parse tree) normally from input that is based on a context-free grammer.In old compilers,syntax analysis consumed not only a fraction of the running time of a compiler,but a large fraction of the intellectual effort of writing a compiler.
Eg: PIC,EQM
2.Scanner Generators:
These generators automatically generate lexical analyzers (the stream of tokens),normally from a specified based on regular expression.
3.Syntax-directed translation Engines:
These engines produce intermediate code with three-address format,normally from input that is based on the parse tree.
4.Automatic Code Generators:
It takes a collection of rules that define the translation of each operation of the intermediate language for the target machine.
The input specification of the system may contain
*A description of the lexical and syntatic structure of the given sorce language.
*A description of what the output is to be generated for each source language.
*A description of the target machine.
5.Data-flow Engines:
Normally,much more information needed to give a good code optimization involves "data flow analysis",the gathering of information about how values are transmitted from one part of a program to each other part.
These are the various Compiler Construction Tools which was widely used.