They are the software program that translates the program code in the binary form or other form varies according to the system. They are used for the high lever programming languages that needed to be converted in to machine language code that a system can understand. A complier performs various operations like lexical analysis, optimization and code generation. When we compile the program it checks for the error and if it found then it return the error and details about the error whether it syntax or logical error and line number where it is found. 

Complier construction is not the easy job. We need to check the price of project development, total man power required and in what time it will be developed. Documentation of the project is also the important part. It is called SRS of the project. In this we need to mention the software used, application can be used on the software and the proper specification. Mentioning the list of all interfaces including system interface and hardware interfaces are necessary. Define the memory constraints, how much memory it will require.

We need to make the entire organization model that will be used in the compiler. There are different types of models used like repository model: this manage the symbol table of the program, check and update it if necessary. Layered model: it manages the whole function of the program. It has too many functions like lexical analyzer, semantic analyzer. Their main function is to check the program code and find for the error and put the details of them.

We also have to determine the domain of the model of the compiler. This is the important step is design of any software. it should have good features and previous version features should be also kept.

Download  Computer Science Final Year Project Report on Compilers .