compiler design synopsis presentation

Upload: vision2050

Post on 14-Apr-2018

249 views

Category:

Documents


2 download

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