Lexical analyser, Computer Engineering

Assignment Help:

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.


Related Discussions:- Lexical analyser

Subprogram to output the result, Input a list of positive numbers (terminat...

Input a list of positive numbers (terminated by 0) into an array. Find the largest number in the array, and into the result. Use a subprogram to input the numbers, a function to fi

Explain the concept behind pre-compositing adobe, Question 1: (a) Expl...

Question 1: (a) Explain the concept behind Pre-Compositing Adobe After Effects. (b) Briefly describe the Wiggler function in Animation help in Adobe After Effects. (c)

Show data representation for computation, Binary codes exist for any fundam...

Binary codes exist for any fundamental representation. Binary codes can be created for any set of discrete elements for example colors, spectrum, musical notes, chessboard position

Effective branching rate - heuristic searches, Effective Branching Rate: ...

Effective Branching Rate: Assessing heuristic functions is an important part of "AI" research: a particular heuristic function may sound such a good idea, but in practice give

Rapid appllication development, Explain clearly the four stages in the Rapi...

Explain clearly the four stages in the Rapid Application Development

How to create a new object order preference, 1. In an ASCII editor, make an...

1. In an ASCII editor, make an empty text file with the extension .ord. 2. Save the file in the Dat folder of the project. 3. Click To o l s > G UI R e c o r d O p t i o n s

Explain how the server control validation controls work, Briefly explain ho...

Briefly explain how the server control validation controls work? A validation control works by evaluating the value of an input server control on the page to see whether it me

Examples of input, (i)  Input a single ASCII character into BL register wit...

(i)  Input a single ASCII character into BL register without echo on screen  CODE SEGMENT  MOV AH, 08H;         Function 08H  INT 21H          ;         the character inpu

Define the analysis that determines the meaning of statement, Analysis whic...

Analysis which determines the meaning of a statement once its grammatical structure becomes known is termed as? Ans. The meaning of a statement when its grammatical structure b

What does the ''suppress dialog'' do, What does the 'SUPPRESS DIALOG' do? ...

What does the 'SUPPRESS DIALOG' do? Suppressing of whole screens is possible with this command.  This command permits us to perform screen processing "in the background".  Sup

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd