Computer Science, asked by ishitanath, 1 year ago

How is an
compiler on
enterpaster di
there parameter.
a). Memory required during translation​

Answers

Answered by preetsingh375
0

What is Compiler?

A compiler is a computer program that transforms code written in a high-level programming language into the machine code. It is a program which translates the human-readable code to a language a computer processor understands (binary 1 and 0 bits). The computer processes the machine code to perform the corresponding tasks.

A compiler should comply with the syntax rule of that programming language in which it is written. However, the compiler is only a program and cannot fix errors found in that program. So, if you make a mistake, you need to make changes in the syntax of your program. Otherwise, it will not compile.

What is Interpreter?

An interpreter is a computer program, which coverts each high-level program statement into the machine code. This includes source code, pre-compiled code, and scripts. Both compiler and interpreters do the same job which is converting higher level programming language to machine code. However, a compiler will convert the code into machine code (create an exe) before program run. Interpreters convert code into machine code when the program is run.

Difference Between Compiler and Interpreter

Basis of difference

Compiler

Interpreter

Programming Steps

Create the program.

Compile will parse or analyses all of the language statements for its correctness. If incorrect, throws an error

If no error, the compiler will convert source code to machine code.

It links different code files into a runnable program(know as exe)

Run the Program

Create the Program

No linking of files or machine code generation

Source statements executed line by line DURING Execution

Advantage

The program code is already translated into machine code. Thus, it code execution time is less.

Interpreters are easier to use, especially for beginners.

Disadvantage

You can't change the program without going back to the source code.

Interpreted programs can run on computers that have the corresponding interpreter.

Machine code

Store machine language as machine code on the disk

Not saving machine code at all.

Running time

Compiled code run faster

Interpreted code run slower

Model

It is based on language translationlinking-loading model.

It is based on Interpretation Method.

Program generation

Generates output program (in the form of exe) which can be run independently from the original program.

Do not generate output program. So they evaluate the source program at every time during execution.

Execution

Program execution is separate from the compilation. It performed only after the entire output program is compiled.

Program Execution is a part ofInterpretation process, so it is performed line by line.

Memory requirement

Target program executeindependently and do not require the compiler in the memory.

The interpreter exists in the memory during interpretation.

Best suited for

Bounded to the specific target machine and cannot be ported. C and C++ are a most popular a programming language which uses compilation model.

For web environments, where load times are important. Due to all the exhaustive analysis is done, compiles take relatively larger time to compile even small code that may not be run multiple times. In such cases, interpreters are better.

Code Optimization

The compiler sees the entire code upfront. Hence, they perform lots of optimizations that make code run faster

Interpreters see code line by line, and thus optimizations are not as robust as compilers

Dynamic Typing

Difficult to implement as compilers cannot predict what happens at turn time.

Interpreted languages support Dynamic Typing

Usage

It is best suited for the Production Environment

It is best suited for the program and developmentenvironment.

Error execution

Compiler displays all errors and warning at the compilation time. Therefore, you can't run the program without fixing errors

The interpreter reads a single statement and shows the error if any. You must correct the error to interpret next line.

Similar questions