answersLogoWhite

0


Best Answer

When we talk about the phases we talk about the steps compiler should do in order to finish it job. For example phases could be creating local variables symbol table, generating parsing tree, lexical checking, optimization, etc.

When we talk about passes we talk about times some operation was repeated. For example there are 2-passes Assembler compilers. It means that before giving the results it repeats some steps twice, most of time times optimization step. The more passes you put the better quality result you get. The same applies to music and video encoding.

For example:

Source code:

i++;

i++;

i++;

1st step (pass):

i = i + 1;

i = i + 1;

i = i + 1;

2nd step (pass):

i = i + 3;

Most of compiler before generating results converts source code some kind inner language that is easier to parse, check in later steps.

As you can see two-pass compiler would generate better quality code, than one-pass compiler, but the first one would be faster to compile.

User Avatar

Wiki User

15y ago
This answer is:
User Avatar
More answers
User Avatar

Wiki User

15y ago

pass:- it is an logical execution of the compilation process. PHASE:- IT IS AN CHRONOLOGICAL PROCESS OF COMPILATION.

This answer is:
User Avatar

User Avatar

Wiki User

12y ago

-a pass is used to classify compilers according to how they operate where as a phase is used to clasify compilers according to construction.

This answer is:
User Avatar

Add your answer:

Earn +20 pts
Q: What are the differences between pass and phase in compiler?
Write your answer...
Submit
Still have questions?
magnify glass
imp
Continue Learning about Engineering

What are the four types of grammars used in compiler?

-Single pass compiler -Multi pass compiler -Cross compiler -Optimizing compiler


Why single pass compiler are faster than multi pass compiler?

A one-pass compiler is a compiler that passes through the source code of each compilation unit only once. A multi-pass compiler is a type of compiler that processes the source code or abstract syntax tree of a program several times.A one-pass compilers is faster than multi-pass compilersA one-pass compiler has limited scope of passes but multi-pass compiler has wide scope of passes.Multi-pass compilers are sometimes called wide compilers where as one-pass compiler are sometimes called narrow compiler.Many programming languages cannot be represented with a single pass compilers, for example Pascal can be implemented with a single pass compiler where as languages like Java require a multi-pass compiler.


What is difference between Single pass compiler and double pass compiler?

i think a pass is reading the input file, i.e. the file in which the code is written in the source language.so in a single pass compiler, the input file is read only once and in doublepass compiler this is done 2 times .


What is pass in compiler design?

There are two types of compilers one-pass and multi-pass. Pass means that some of inner operations are repeated several times. If we have one-pass compiler and this source code: i++; i++; i++; Inside compiler it would generate: i = i + 1; i = i + 1; i = i + 1; If compiler would be two-pass: i = i + 3; The more passes compiler has, the better optimized code it can generate, but it is slower because it must repeat some steps again.


Difference Between interpreter and compiler in java application?

Due to platform independence, a Java compiler will interpret Java source code into Java Byte Code and pass to the JVM, which will pass machine understandable code through to cpu. (clarification needed).A conventional compiler converts source code directly to machine code.(clarification needed).

Related questions

Whether MS VC is one pass compiler or multi pass compiler?

one pass compiler


What are the four types of grammars used in compiler?

-Single pass compiler -Multi pass compiler -Cross compiler -Optimizing compiler


Advantages and disadvatages of single and multi pass compiler?

Single pass: Adv: More efficient than multi pass compilers in the compiler phase. Smaller compilers than multi pass Dis: Produces less efficient programs. Multi pass: adv: Can be useful when optimizing code. more machine independent Java like variable declaration - it doesn't need to be before the use of it, because Java require multi pass compilers. Dis: Slower at compile time


What is passed on?

A single pass compiler also known as a one-pass compiler is a compiler that only passes through the code once and doesn't go back. They're faster than a multi-pass compiler but they are very limited in what they can do.


Why single pass compiler are faster than multi pass compiler?

A one-pass compiler is a compiler that passes through the source code of each compilation unit only once. A multi-pass compiler is a type of compiler that processes the source code or abstract syntax tree of a program several times.A one-pass compilers is faster than multi-pass compilersA one-pass compiler has limited scope of passes but multi-pass compiler has wide scope of passes.Multi-pass compilers are sometimes called wide compilers where as one-pass compiler are sometimes called narrow compiler.Many programming languages cannot be represented with a single pass compilers, for example Pascal can be implemented with a single pass compiler where as languages like Java require a multi-pass compiler.


What is difference between Single pass compiler and double pass compiler?

i think a pass is reading the input file, i.e. the file in which the code is written in the source language.so in a single pass compiler, the input file is read only once and in doublepass compiler this is done 2 times .


What is pass in compiler design?

There are two types of compilers one-pass and multi-pass. Pass means that some of inner operations are repeated several times. If we have one-pass compiler and this source code: i++; i++; i++; Inside compiler it would generate: i = i + 1; i = i + 1; i = i + 1; If compiler would be two-pass: i = i + 3; The more passes compiler has, the better optimized code it can generate, but it is slower because it must repeat some steps again.


What is difference between phase and pass?

ImproveWhen we talk about the phases we talk about the steps compiler should do in order to finish it job. For example phases could be creating local variables symbol table, generating parsing tree, lexical checking, optimization, etc.When we talk about passes we talk about times some operation was repeated. For example there are 2-passes Assembler compilers. It means that before giving the results it repeats some steps twice, most of time times optimization step. The more passes you put the better quality result you get. The same applies to music and video encoding.For example:Source code:i++;i++;i++;1st step (pass):i = i + 1;i = i + 1;i = i + 1;2nd step (pass):i = i + 3;Most of compiler before generating results converts source code some kind inner language that is easier to parse, check in later steps.As you can see two-pass compiler would generate better quality code, than one-pass compiler, but the first one would be faster to compile.


Which are the factors that decide number of passes for a compiler?

There are many. I have encountered compilers with as few as 2 passes to as many as 63 passes (this number of passes were necessitated by the very tiny magnetic core memory of the machine). I even encountered a compiler that the programmer that wrote it claimed was a 1 pass compiler, but on detailed examination all he had done was "piped" the output of pass 1 to the input of pass 2 (instead of writing it to an intermediate file between passes), so it was actually a 2 pass compiler. I have also encountered a language (the US Navy's CMS-2) that has both syntactic and semantic ambiguities that made it impossible to write a compiler (no matter how many passes) that could reliably compile all code given to it, to do what the programmer intended.


The differences between a forward pass and lateral pass?

A Forward Pass is passing the football to a teammate in front of you. A Lateral Pass is the player carrying the ball passing the football on side or behind him/her.


What are the various types of compilers used in computers?

Compiler can be divided into following four main types. 1. one pass compilers 2. multi pass compilers 3. load and go compiler 4. optimizing compilers


Why there is a difference in phase between sign waves in a low pass filter?

In a low pass filter, higher frequency components are attenuated more than lower frequency components. This results in a phase shift for the different frequency components, causing a difference in the phase between sine waves of different frequencies. This phase shift occurs because the filter delays higher frequency signals more than lower frequency signals.