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

Message passing model, In the message-passing model, there exists a set of ...

In the message-passing model, there exists a set of tasks that use their own local memories during computation. Multiple tasks can reside on the similar physical machine as well ac

Terminates a particular pvm process, Q. Terminates a particular PVM process...

Q. Terminates a particular PVM process? int pvm_kill( int tid ) Terminates a particular PVM process. tid Integer task identifier of PVM process to be killed (not itself).

Designing logic circuits, When designing a logic circuit with multipleoutpu...

When designing a logic circuit with multipleoutputs it is usual to treat it as several circuitseach with one output. So for our example wewould design three circuits; one with outp

What is the different between index and subscript, Subscript refers to the ...

Subscript refers to the array of occurrence, whereas Index shown an occurrence of a table element. An index can only modified using perform, search & set. Require to have an index

Working of compact disk - computer architecture, Working of compact disk: ...

Working of compact disk: A CD is built from 1.2 mm thick, approximately all-pure polycarbonate plastic and its weighs is approximately 15-20 grams. From the core outward compo

What is the use of urgent pointer in tcp segment, What is the use of urgent...

What is the use of urgent pointer in TCP segment? For accommodation out of band signaling, TCP permits the sender to identify data as urgent, implies that the receiving program

Real life decoding, We have not considered the time element in our decoding...

We have not considered the time element in our decoding. An important time for decoding is the time from the address strobe (AS) to when the data is required in a read.   Time

Copy machine problem, We are trying to figure out how many copy machines we...

We are trying to figure out how many copy machines we should install in the basement of Stranahan Hall.  Copy machines should be available 24/7.  Students may walk up at any time o

Explain keyboard input and video output, Q. Explain Keyboard Input and Vide...

Q. Explain Keyboard Input and Video output ? A Keystroke read from keyboard is termed as a console input and a character displayed on the video screen is known as a console out

Explain addressing modes in risc, Q. Explain Addressing modes in RISC? ...

Q. Explain Addressing modes in RISC? Simple addressing modes: Another benefit is the use of simple addressing modes. RISC machines employ simple register addressing having disp

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