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

Write a ''c'' functions to arrange the elements of an integer , Write a 'C'...

Write a 'C' functions to arrange the elements of an integer array in such a way that all the negative elements are before the positive elements. The array is passed to it as an arg

What is a heap, What is a heap? The heap is an area of memory that is ...

What is a heap? The heap is an area of memory that is dynamically allocated. As a stack, this may grow and shrink throughout runtime. Not like a stack, a heap is not LIFO show

Binary resolution - artificial intelligence, Binary Resolution: We look...

Binary Resolution: We looked at unit resolution (a propositional inference law) in the last lecture: A ∨ B,   ¬B /A We may have this a bit further to propositional bin

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

Balanced trees and their operations, what is ment by avl tree n insertion n...

what is ment by avl tree n insertion n deletion ,2-3 tress insertion n deletion

Explain vector processing issues in pipelining, Vector Processing   A...

Vector Processing   A vector is an ordered set of similar type of scalar data items. The scalar tem may be a logical value, an integer or a floating point number. Vector proce

Object oriented systems analysis and design, Analysis and design form the b...

Analysis and design form the basis on any significant software artifact. Analysis is critical in terms of making sure that the final artifact actually meets user requirements (ie b

Advantages and disadvantage of message passage programming, Q. Advantages a...

Q. Advantages and Disadvantage of Message Passage Programming? Advantages of Message Passage Programming     Portable It is less error prone Offers excellent

How to increase simulation speed, How to increase simulation speed     ...

How to increase simulation speed     First figure out what is eating away your CPU cycles. Is it 1. Compile time - Use a Make file to compile only files with changes and not

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