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

Hidden input, Yet another type of input is HIDDEN input. A HIDDEN in...

Yet another type of input is HIDDEN input. A HIDDEN input is a value/name pair which is returned to you but doesn

Define the system users, Q. Define the System users? System users are d...

Q. Define the System users? System users are defined as the people who employ information systems or who are affected by information system on a regular basis i.e. validating,

Explain real time operating system, Explain Real Time Operating System? ...

Explain Real Time Operating System? Real time operating System: A real-time operating system has suitably-defined, fixed time constraints. Processing should be done in the d

Categorize the cpu scheduling algorithms, Categorize the CPU scheduling alg...

Categorize the CPU scheduling algorithms? The various CPU scheduling algorithms are categorized as given below:

What do you mean by supercomputers, Q. What do you mean by Supercomputers? ...

Q. What do you mean by Supercomputers? The upper end of state of art mainframe machine is supercomputers. These are among the fastest machines in terms of processing speed and

C++ program, A palindrome is a string that reads the same from both the end...

A palindrome is a string that reads the same from both the ends. Given a string S convert it to a palindrome by doing character replacement. Your task is to convert S to palindrome

What is meant by inferring latches, What is meant by inferring latches, how...

What is meant by inferring latches, how to avoid it? Consider the following: always @(s1 or s0 or i0 or i1 or i2 or i3) case ({s1, s0}) 2'd0: out = i0; 2'd1: out =

Excess 3 codes, Explain Excess 3 Codes Ans. Excess 3 Codes 1....

Explain Excess 3 Codes Ans. Excess 3 Codes 1. This is the other form of BCD code. All decimal digits are coded in 4 bit binary code. 2. The code for all decimal di

What are the methods for handling deadlocks, What are the methods for handl...

What are the methods for handling deadlocks?  The deadlock problem can be dealt with in one of the three ways:  a. Use a protocol to prevent or avoid deadlocks, make sure th

Explain throughput performance and issues in pipelining, Throughput Thr...

Throughput Throughput of a pipeline may be defined as number of results which have been achieved per unit time. It can be referred as: T = n / [m + (n-1)]. c = E / c Th

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