Hello friends, in this article we are going to learn about what is assembler? what is a compiler? And what is an interpreter?
So let’s learn everything one by one.
What is Assembler?
Assembler is used to convert programs written in assembly language to machine language. The assembler takes the source code as input which is written in assembly language and converts it into machine level language or machine language. GAS, GNU, etc. are some examples of assemblers.
Features of Assembler
- Assembler converts the source code into machine code and then, this machine code is executed by the computer.
- Assembler first converts the source code into an object, then it converts the object code into Machine Language with the linker program.
- The output of the assembler consists of relocatable machine code that is generated by an assembler represented by binary code.
- The assembler takes the code written in the assembly language as input.
- Assembler converts assembly language into machine language.
- The assembler does not convert the entire code into machine language at once.
- The assembler is less intelligent than the compiler.
- The assembler produces two phases of the given input, the first phase, and the second phase.
- Debugging is difficult in assembler.
- GAS is an example of a GNU assembler.
What is Compiler?
In simple words, compilers are software that transforms programs written in a high-level language, that is called source code, into machine code (0’s and 1’s), or low-level language.
The compiler converts the source code into machine code when there is no error in the source code. If there is an error in the source code, the compiler will not convert the source code into machine code without correcting that error.
Compiler is much more intelligent than assembler. it checks all types of limits, ranges, errors, etc.
But when the compiler runs, then it uses a large part of the memory and the compiler works very slowly because it checks the entire program first and then Translates into machine code (0’s and 1’s) or low-level language if there is no error in the program.
Examples – C, C ++, Java Compilers |
Features of Compiler
- The compiler converts the program code written in high level language into machine language and then the program runs in the computer.
- The compiler scans the entire program before translating the program into machine language and converts the program to machine language only if there is no error.
- The compiler takes the entire source code as input.
- In the case of compiler, object code is generated.
- The compiler takes much less time in execution than the interpreter.
- Through compiler, the code written in the following programming language is converted into machine language -: C, COBOL, C #, C ++, etc.
- The compiler requires much more memory than the interpreter.
- If there is any modification in the program, then the entire program has to be recompiled.
- Compiler is much faster than Interpreter.
- After compiling the program, there is no need to compile it again and again.
- If an error occurs in the program, the compiler provides a list of errors after compiling the program.
- The compiler converts that program into machine code only after correcting the error.
- Debugging in the compiler is a bit slow because the compiler compiles the entire program first and then displays it when there is an error.
What is Interpreter?
Interpreter is a translator that translates and runs the entire statement of a program written in the High-Level Language.
The interpreter does not convert the entire program into machine code simultaneously. It will first convert a line of the program to machine language and run or execute it. Then the second and second to third line of the program will be converted into machine language.
This will work as long as there is no error in any of the lines of that program. If an error is found in any line of the program, then the interpreter will not translate and run any further line when the line containing the error is not corrected.
Interpreter is used to convert programs written in languages like Python, Perl to machine language or binary language.
Features of Interpreter
- The interpreter takes the source code which is written in the high level language and first converts it into intermediate code and then converts that intermediate code into machine language. This intermediate code is similar to the assembler code.
- The interpreter takes the source code and converts it to line by line in machine code.
- The interpreter takes a single instruction as input and converts it into machine code.
- In the case of an interpreter, any kind of object code is not generated.
- The interpreter program takes longer to execute than the compiler.
- Interpreter is used to convert code written in the language of Python, Perl, VB, PostScript, LISP etc. into machine language.
- Interpreter requires much less memory than compiler.
- If there is any modification in the program in the interpreter, then the entire program does not have to be recompiled.
- The interpreter is much slower than the compiler.
- The interpreter has to scan and translate each time when executing of program.
- If an error occurs in any line of the program, then the interpreter stops its work and starts its work again only after that error is corrected.
- The number of times the program executes, the interpreter translates the machine code by checking every line of the program.
- Interpreter is good enough for fast debugging programs.
Friends, after reading this here, you must have understood that what is assembler? What are compilers? And what is interpreter? And why are they used?
Let’s see a brief description of what we read so far -:
- The assembler, compiler, and interpreter all convert the program written by the programmer to the machine language or binary language that is understood by the machine so that the machine (Computer) can execute the instruction given by the program.
- Assembler converts programs written in assembly language into machine code and both compiler and interpreter convert programs written in high level language into machine code.
So friends today we learned what is assembler? what is compiler? And what is an interpreter? And why are they used?
Friends, hope you liked this post and you must have known about “What is Assembler, Compiler, and interpreter”.
However, if you want any information related to this post or related to programming language, computer science, then comment below I will clear your all doubts
Friends, if you liked this post, then definitely share this post with your friends so that they can get information about What is Assembler, Compiler, and interpreter.
To get computer science, Programming Language, Coding, C, C ++, related information subscribe to our website newsletter. So that you will get information about our upcoming new posts soon.