Lexical analyser, Computer Engineering

The aim of this project is for you to construct a fully working compiler for a small simple programming language, SPL. The compiler will read in SPL source code and produce ANSI C as output.

A full description of the language is given in this document, from which, over the course of the semester, you will construct a compiler using some of the techniques learnt in the lectures and by using the Unix utilities Lex and Yacc or the Cygwin/linux utilities Flex and Bison.

At this point in the course you will not be able to attempt most of this project. Do not worry. Over the next few weeks you will be given the information necessary to attempt the various stages of the project as they arise.

The project is almost a whole semester long and is split in to five components, with milestones staged throughout the course of the semester. You should aim to show your completed work at each stage to a laboratory demonstrator who can track your progress and offer advice that might help you advance to the next part.

The component stages are as follows

A BNF description of the SPL language described by the roadmaps given in this document. This should be submitted on paper.

A Lexical Analyser file which will enable Flex or Lex to generate a working lexical analyser for the language.

A partially complete Parser file containing all of the code necessary to create a parse tree using the Yacc or Bison tools.

A complete Parser file which also includes a code generation function so that you now have a fully working compiler using the tools Yacc or Bison.

A word-processed report on the complete project. This should include printed examples demonstrating the operation of your compiler on both correct and incorrect code, and listings of the components.

If you are unable to complete any part for the whole SPL language you should reduce the language to a subset so that you can complete the compiler.

Posted Date: 3/9/2013 2:26:43 AM | Location : United States







Related Discussions:- Lexical analyser, Assignment Help, Ask Question on Lexical analyser, Get Answer, Expert's Help, Lexical analyser Discussions

Write discussion on Lexical analyser
Your posts are moderated
Related Questions
What is disk controller The electronic circuit that controls the operation of the disk known as disk controller.  word count The number of words in the block to be tran

Explain the term - Rational Rose and Visio 2000 Enterprise Rational Rose: IBM Rational RequisitePro is a powerful and easy-to-use tool for use case management and requirement

Explain carry save addition (CSA) process. Ans: Instead of allowing the carries ripple along the rows, they can be saved and then introduced into the next roe at the right wei

What is data hazard in pipelining? What are the solutions? A data hazard is a situation in which  the pipeline is stalled due to the data to be operated on are delayed for some

Define cache memory? A special very high speed memory known as a cache is sometimes used to increase the speed of processing by making current programs and data available to th

How to attain 180 degree precise phase shift? Never tell using inverter: a. DCM an inbuilt resource into most of FPGA can be arranged to get 180 degree phase shift. b. BU

Write a program that finds the minimum total number of shelv, C/C++ Programming

A useful exercise in understanding assembly language and its relation to machine language is to take a short assembly language program and translate it to machine language by hand.

Explain Readers-writers problem. Readers-writers problem: Assume that a data object (as a file or record) is to be shared between several concurrent processes. The readers ar

In general what are the two ways in which one can retrieve data from tables? Using Select statements, Database Program.