Explain analysis and synthesis phase of a compiler, Computer Engineering

Assignment Help:

Explain analysis and synthesis phase of a compiler.

The synthesis and analysis phases of a compiler are:

Analysis Phase: In this breaks the source program in constituent pieces and makes intermediate representation. This analysis part can be divided along the phases as follows:

1. Lexical Analysis- The program is seems as a unique sequence of characters. Its analyzer reads the program from left-to-right and then sequence of characters is grouped in tokens-lexical units along with a collective meaning.

2. Syntax Analysis- It is also termed as Parsing. Tokens are grouped in grammatical phrases represented through a Parse Tree that provides a hierarchical structure to the source program.

3. Semantic Analysis- The phase of semantic analysis checks the program for semantic errors (i.e. Type Checking) and then gathers type information for the successive phases.

Type Checking is check types of operands; not any real number as index for array and so on.

Synthesis Phase: Produces the target program from the intermediate representation. The part of synthesis can be divided along the phases as follows:

1. Intermediate Code Generator- An intermediate code is produced as a program for an abstract machine. The code of intermediate must be easy to translate in the target program.

2. Code Optimizer- Such phase attempts to enhance the intermediate code therefore faster-running machine code can be acquired. Various compilers adopt various optimization techniques.

3. Code Generator- In this phase generates the target code containing assembly code. Now

 1. Memory locations are chosen for each variable;

2. Instructions are translated in a sequence of assembly instructions;

3. Intermediate and variables results are allocated to memory registers.


Related Discussions:- Explain analysis and synthesis phase of a compiler

Where does the cpu enhanced mode originate , Intel's 8086 was the first 32-...

Intel's 8086 was the first 32-bit processor, and as the company had to backward-support the 8086. All the modern Intel-based processors will run in the Enhanced mode, capable of sw

When can we see layer groups in gimp, Sometimes it is nice to place layers ...

Sometimes it is nice to place layers in groups. It makes them simple to organize when you have lots of them. It also means you can simply apply the similar effect to lots of layers

Demux., Implement the full substractor using 8:1demux

Implement the full substractor using 8:1demux

Define colgroup tag, COLGROUP defines a group of columns in table and...

COLGROUP defines a group of columns in table and allows you to set properties of those columns. goes immediately after tag and before an

Features of supply chain management, Features of Supply Chain Management ...

Features of Supply Chain Management Supply Chain Management Consultancy's scope is extensive, and typically contains:  1.  Sales order processing and customer service 2.

Two ways for restricting the value range for a domain, What are the two way...

What are the two ways for restricting the value range for a domain? By specifying fixed values. By stipulating a value table.

Internet programming, Futoshiki is a game played on an N by N (usually 5 by...

Futoshiki is a game played on an N by N (usually 5 by 5) grid and uses the symbols 1 .. N. The objective of the game is to place each symbol on the grid so that it only occurs once

Megaflops, Speed in scientific computing is measured in megaflops, gigaflop...

Speed in scientific computing is measured in megaflops, gigaflops, teraflops and petaflops. A megaflop is 10 6 floating point arithmetic operations (+, -, *, /) in one second What

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