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

Registers used in IA-64 architecture, Q. Registers used in IA-64 architectu...

Q. Registers used in IA-64 architecture ? Registers: The IA-64 architecture comprises a very generous set of registers. It has an 82-bit floating point as well as 64-bit inte

Explain non-adapting routing, Explain non-adapting routing. Systems whi...

Explain non-adapting routing. Systems which do not implement adaptive routing are explained as using non-adapting or static routing, which routes by a network are explained by

States briefly the generic framework for e-commerce, States briefly the gen...

States briefly the generic framework for e-commerce. Generic framework of e-commerce comprises the Applications of e-commerce (as like banking, shopping within online stores an

Describe the operation of parallel in parallel out, Describe the operation ...

Describe the operation of parallel in parallel out (PIPO) shift register. Ans:  Parallel In Parallel Out: By the name suggests, in parallel in parallel out that is a

Define class np, Define class NP. Problems that can be solved in polyn...

Define class NP. Problems that can be solved in polynomial time by a nondeterministic TM. Contains all problems   in P and some problems possibly outside P.

What do you mean by embedded system, It is a mixture of hardware and softwa...

It is a mixture of hardware and software to perform needed task

Extjs, tell some thing about htmleditor in extjs whether it contains attach...

tell some thing about htmleditor in extjs whether it contains attachment button or not

Effect of is on humans - information system, Effect of IS on Humans - Infor...

Effect of IS on Humans - Information System We have concentrated in this chapter on the ways that IS has evolved making it more useful and more user-friendly. This proliferat

Find the magnetic declination, Question Use the National Geophysical Da...

Question Use the National Geophysical Data Center software tool to find the magnetic declination. The link to the web site is in Useful Links on the course Blackboard home page

Time slice, The Linux Process Scheduler uses time slice to prevent a single...

The Linux Process Scheduler uses time slice to prevent a single process from using the CPU for too long. A time slice specifies how long the process can use the CPU. In our simulat

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