Software that translates and executes a high level language program one line at a time is known as a

Try the new Google Books

Índice

  • What is Interpreter?
  • Difference Between Compiler and Interpreter
  • Role of Compiler
  • Role of Interpreter
  • HIGH-LEVEL LANGUAGES
  • MACHINE CODE
  • OBJECT CODE
  • Java is both Compiled and Interpreted.
  • Interpreter
  • Summary of translators
  • Related Theory
  • Related Quizzes

Check out the new look and enjoy easier access to your favorite features

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 can not 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 converts 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.

  • Compiler transforms code written in a high-level programming language into the machine code, at once, before program runs, whereas an Interpreter converts each high-level program statement, one by one, into the machine code, during program run.
  • Compiled code runs faster while interpreted code runs slower.
  • Compiler displays all errors after compilation, on the other hand, the Interpreter displays errors of each line one by one.
  • Compiler is based on translation linking-loading model, whereas Interpreter is based on Interpretation Method.
  • Compiler takes an entire program whereas the Interpreter takes a single line of code.

Difference Between Compiler and Interpreter

Basis of differenceCompilerInterpreter
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 translation linking-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 of Interpretation process, so it is performed line by line.
Memory requirement Target program execute independently 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 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 development environment.
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.
Input It takes an entire program It takes a single line of code.
Output Compliers generates intermediate machine code. Interpreter never generate any intermediate machine code.
Errors Display all errors after, compilation, all at the same time. Displays all errors of each line one by one.
Pertaining Programming
languages
C, C++, C#, Scala, Java all use complier. PHP, Perl, Ruby uses an interpreter.

Role of Compiler

  • Compliers reads the source code, outputs executable code
  • Translates software written in a higher-level language into instructions that computer can understand. It converts the text that a programmer writes into a format the CPU can understand.
  • The process of compilation is relatively complicated. It spends a lot of time analyzing and processing the program.
  • The executable result is some form of machine-specific binary code.

Also Check:- Compiler Design Tutorial for Beginners

Role of Interpreter

  • The interpreter converts the source code line-by-line during RUN Time.
  • Interpret completely translates a program written in a high-level language into machine level language.
  • Interpreter allows evaluation and modification of the program while it is executing.
  • Relatively less time spent for analyzing and processing the program
  • Program execution is relatively slow compared to compiler

HIGH-LEVEL LANGUAGES

High-level languages, like C, C++, JAVA, etc., are very near to English. It makes programming process easy. However, it must be translated into machine language before execution. This translation process is either conducted by either a compiler or an interpreter. Also known as source code.

MACHINE CODE

Machine languages are very close to the hardware. Every computer has its machine language. A machine language programs are made up of series of binary pattern. (Eg. 110110) It represents the simple operations which should be performed by the computer. Machine language programs are executable so that they can be run directly.

OBJECT CODE

On compilation of source code, the machine code generated for different processors like Intel, AMD, and ARM is different. To make code portable, the source code is first converted to Object Code. It is an intermediary code (similar to machine code) that no processor will understand. At run time, the object code is converted to the machine code of the underlying platform.

Java is both Compiled and Interpreted.

To exploit relative advantages of compilers are interpreters some programming language like Java are both compiled and interpreted. The Java code itself is compiled into Object Code. At run time, the JVM interprets the Object code into machine code of the target computer.

Also Check:- Java Tutorial for Beginners: Learn Core Java Programming

In order to continue enjoying our site, we ask that you confirm your identity as a human. Thank you very much for your cooperation.

Computers only understand machine code (binary), this is an issue because programmers prefer to use a variety of high and low-level programming languages instead.

To get around the issue, the high-level and low-level program code (source code) needs to pass through a translator.

A translator will convert the source code into machine code (object code).

There are several types of translator programs, each able to perform different tasks.

Compiler

Compilers are used to translate a program written in a high-level language into machine code (object code).

Once compiled (all in one go), the translated program file can then be directly used by the computer and is independently executable.

Compiling may take some time but the translated program can be used again and again without the need for recompilation.

An error report is often produced after the full program has been translated.  Errors in the program code may cause a computer to crash.  These errors can only be fixed by changing the original source code and compiling the program again.

If you need to learn more about high-level languages, visit our Languages page.

Interpreter

Interpreter programs are able to read, translate and execute one statement at a time from a high-level language program.

The interpreter stops when a line of code is reached that contains an error.

Interpreters are often used during the development of a program.  They make debugging easier as each line of code is analysed and checked before execution.

Interpreted programs will launch immediately, but your program may run slower then a complied file.

No executable file is produced.  The program is interpreted again from scratch every time you launch it.

If you need to learn more about high-level languages, visit our Languages page.

Assembler

Assemblers are used to translate a program written in a low-level assembly language into a machine code (object code) file so it can be used and executed by the computer.

Once assembled, the program file can be used again and again without re-assembly.

If you need to learn more about low-level languages, visit our Languages page.

Summary of translators

CompilerInterpreterAssembler
Translates high-level languages into machine code Temporarily executes high-level languages, one statement at a time Translates low-level assembly code into machine code
An executable file of machine code is produced (object code) No executable file of machine code is produced (no object code) An executable file of machine code is produced (object code)
Compiled programs no longer need the compiler Interpreted programs cannot be used without the interpreter Assembled programs no longer need the assembler
Error report produced once entire program is compiled.  These errors may cause your program to crash Error message produced immediately (and program stops at that point) One low-level language statement is usually translated into one machine code instruction
Compiling may be slow, but the resulting program code will run quick (directly on the processor) Interpreted code is run through the interpreter (IDE), so it may be slow, e.g. to execute program loops
One high-level language statement may be several lines of machine code when compiled
  • There are no related quizzes

Which is the software that translates and executes a high

The language processor that reads the complete source program written in high-level language as a whole in one go and translates it into an equivalent program in machine language is called a Compiler.

What translates and executes high

Interpreter translates and executes program at run time line by line..
an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program..

What do you call a program that translates high

To execute a program in a high-level language, it can be compiled or interpreted. A compiler translates the entire program written in a high-level language to machine language prior to execution. An interpreter translates a program line by line during execution.

What is translate and execute program at run time line by line?

Answer. Answer: Interpreter translates and executes program at run time line by line. an interpreter is a computer program that directly executes, i.e. performs, instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program.