A compiler is a program that translates a programme written in HLL to executable machine language. The
process of transferring HKK source program in to object code is a lengthy and complex process as compared to
assembling. Compliers have diagnostic capabilities and prompt the programmer with appropriate error message
while compiling a HLL program. The corrections are to be incorporated in the program, whenever needed, and
the program has to be recompiled. The process is repeated until the program is mistake free and translated to
an object code. Thus the job of a complier includes the following:
1. To translate HLL source program to machine codes.
2. To trace variables in the program
3. To include linkage for subroutines.
4. To allocate memory for storage of program and variables.
5. To generate error messages, if there are errors in the program.