compiler design synopsis presentation
TRANSCRIPT
-
8/2/2019 Compiler Design Synopsis Presentation
1/11
PROJECT SYNOPSISPRESENTATION
-
8/2/2019 Compiler Design Synopsis Presentation
2/11
Objective/Aim:
This project aims at developing a compiler that will accept high level instructions
from user based on our syntax & semantics, check it for errors(if any) and will compute
the desired output.
Figure 1 : http://www.cs.uaf.edu/~cs631/node4.html
Figure 2:
http://www.math.bas.bg/~nkirov/2004/Horstman/ch01/images/compiler.png
http://www.cs.uaf.edu/~cs631/node4.htmlhttp://www.cs.uaf.edu/~cs631/node4.html -
8/2/2019 Compiler Design Synopsis Presentation
3/11
Technical Details:
The platform for the development is C language and data structure using C.
The underlying principle is boot strapping which is the process of writing a compilerin the target programming language which it is intended to compile.
Applying this technique leads to a self-hosting compiler and newly generated
language.
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.
The three major areas to consider while determining the feasibility of the project are:
-
8/2/2019 Compiler Design Synopsis Presentation
4/11
Technical feasibility:
The compiler can be developed on windows and linux operating system.In windows,we
can develop with the help of turbo c and in linux, we can develop it with the help of
gcc. The symbol table and grammar rules can be easily generated with lex tool andyacc parser respectively. so we are going to develop compiler over linux os.Economical feasibility:
Linux OS is an open source operating system. So it freely available under GNU licence.In case Lex tool and yacc tool are not available freely on the internet.It has to be
purchased.
Operational feasibility:
As per the analyzed requirements and studied feasibilities, the project will be operable in
earlier and recent version of windows operating system.
-
8/2/2019 Compiler Design Synopsis Presentation
5/11
Methodology/ Planning of work
Bootstrapping
(principle behind compiler design)
A compiler is characterized by three languages:1.Source Language
2.Implementation Language
3.Target Language
Notation: represents a compiler for Source, implemented in
. The T-diagram shown above is also used to depict the same compiler., Target
-
8/2/2019 Compiler Design Synopsis Presentation
6/11
To create a new language, L, for machine A:
-
8/2/2019 Compiler Design Synopsis Presentation
7/11
This compiler will likely to perform some or all of the following operations: lexical
analysis, preprocessing, parsing, semantic analysis (Syntax-directed translation), code
generation, and code optimization.(We are not keen to work on code optimization.)LEX tool will be used to generate the Lexical Analyzer and YACC tool for generatingthe parser.
Figure 3: http://www.roma1.infn.it/SIC/_OLD_documentazione/unix/migr/digital-unix-
doc/DOCUMENTATION/HTML/AA-PS32D-TET1_html/zk-0455U.gif
http://www.roma1.infn.it/SIC/_OLD_documentazione/unix/migr/digital-unix-http://www.roma1.infn.it/SIC/_OLD_documentazione/unix/migr/digital-unix-http://www.roma1.infn.it/SIC/_OLD_documentazione/unix/migr/digital-unix-http://www.roma1.infn.it/SIC/_OLD_documentazione/unix/migr/digital-unix-http://www.roma1.infn.it/SIC/_OLD_documentazione/unix/migr/digital-unix- -
8/2/2019 Compiler Design Synopsis Presentation
8/11
Facilities required for proposed work
Hardware requirements:
32 bit machine,800 MHz processor 1.66GHzWindows/Linux OS128 MB RAM
Software requirements:
A lex tool
A yacc parser tool
Turbo C/GCC
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).
Innovativeness and Usefulness:
-
8/2/2019 Compiler Design Synopsis Presentation
9/11
The syntax & semantics of the users instructions will be meaningful, easy to
understand and implement.
It will be useful to write high level user understandable instructions that will be
parsed for errors, will compute target code for the machine and generate the output.
It will consist of in-built multiple arguments type arithmetic functions.
Current Status of Development:
Requirements have been analyzed and the prototype is being prepared.
We are working on lexical analyzer.
We are not keen to work on code optimization.
-
8/2/2019 Compiler Design Synopsis Presentation
10/11
-Allen I. Holub (Prentice-Hall of India Pvt Ltd)
Principles of Compiler Design.-Alfred V. Aho and Jeffrey D. Ullman (Narosa Publishing House)
www.nptel.iitm.ac.in
www.compilerconnection.com
Bibliography:
Compiler Design in C.
-
8/2/2019 Compiler Design Synopsis Presentation
11/11