PROJECT SYNOPSIS PRESENTATION

png .bas.Objective/Aim: This project aims at developing a compiler that will accept high level instructions from user based on our syntax & semantics.cs.bg/~nkirov/2004/Horstman/ch01/images/compiler. Figure 1 : http://www.uaf.edu/~cs631/node4. check it for errors(if any) and will compute the desired output.html Figure 2: http://www.math.

Feasibility Study Feasibility study is a test of a system proposal according to its workability impact on the organization ability to meet user needs and effective use of resources. •Applying this technique leads to a self-hosting compiler and newly generated language. The three major areas to consider while determining the feasibility of the project are: . •The underlying principle is boot strapping which is the process of writing a compiler in the target programming language which it is intended to compile.Technical Details: •The platform for the development is C language and data structure using C.

so we are going to develop compiler over linux os. In case Lex tool and yacc tool are not available freely on the internet.It has to be purchased. Economical feasibility: Linux OS is an open source operating system. The symbol table and grammar rules can be easily generated with lex tool and yacc parser respectively. we can develop it with the help of gcc. So it freely available under GNU licence. .In windows.we can develop with the help of turbo c and in linux. the project will be operable in earlier and recent version of windows operating system.Technical feasibility: The compiler can be developed on windows and linux operating system. Operational feasibility: As per the analyzed requirements and studied feasibilities.

Source Language 2.Target Language Notation: represents a compiler for Source . The T-diagram shown above is also used to depict the same compiler.Methodology/ Planning of work Bootstrapping (principle behind compiler design) A compiler is characterized by three languages: 1. Target . . implemented in .Implementation Language 3.

L.To create a new language. for machine A: .

roma1. Figure 3: http://www. parsing. semantic analysis (Syntax-directed translation). preprocessing.(We are not keen to work on code optimization. code generation.it/SIC/_OLD_documentazione/unix/migr/digital-unixdoc/DOCUMENTATION/HTML/AA-PS32D-TET1_html/zk-0455U.) •LEX tool will be used to generate the Lexical Analyzer and YACC tool for generating the parser.infn.gif .•This compiler will likely to perform some or all of the following operations: lexical analysis. and code optimization.

.66GHz •Windows/Linux OS •128 MB RAM Software requirements: •A lex tool •A yacc parser tool •Turbo C/GCC Innovativeness and Usefulness: •This software will provide an IDE that will also be compatible with recent versions of windows operating Systems and will provide a friendly GUI (windows based).Facilities required for proposed work Hardware requirements: •32 bit machine.800 MHz processor 1.

easy to understand and implement. . •It will be useful to write high level user understandable instructions that will be parsed for errors. Current Status of Development: •Requirements have been analyzed and the prototype is being prepared. •We are working on lexical analyzer. will compute target code for the machine and generate the output. •We are not keen to work on code optimization. •It will consist of in-built multiple arguments type arithmetic functions.•The syntax & semantics of the users’ instructions will be meaningful.

com .in •www.nptel.ac. Aho and Jeffrey D. Holub (Prentice-Hall of India Pvt Ltd) •Principles of Compiler Design. -Allen I.iitm. -Alfred V.compilerconnection. Ullman (Narosa Publishing House) •www.Bibliography: •Compiler Design in C.