Languages are either "Compiled languages" or "interpreted languages":
- A compiled language will use a compiler which is another program that checks your code and then converts it to the correct machine code for the machine it is intended to run on. You can only run the program after you have compiled it. A compiler can help spot syntax errors and certain semantic errors and will give you a "compilation error".
- An Interpreted language can be ran directly as long as you have another program called the interpreter which translates your code into machine code whilst it is running. This means certain errors will not be caught before runtime (There is no concept of a compilation error) and so you won't know until runtime if certain errors are present in your code
Both, compiler and assembler, are software tools which translate instructions written in a programming language into executable machine code. (Both will typically require additional tools, such as a linker, in the process.) An assembler recognizes a machine-specific assembly language. This is a low-level language with a one-to-one relationship between language (assembly) instructions and machine code instructions. A compiler recognizes a generally machine-independent language such as the C programming language. These are higher level languages compared to the assembly languages, generally offering a one-to-many relationship between language instructions and expressions, and the resulting machine code instructions.
A machine code program. Machine code is the native language of the machine and the only language actually understood by the machine. However, program instructions can be written using a high-level programming language that the computer can translate into machine code using another machine code program called a compiler.
Assembly langue is translated into machine language by an assembler.
Why would you want to do that? The usual procedure is to translate a high-level language such as Pascal to machine language. If you really want assembly language - perhaps to see how the Pascal compiler does its work - then presumably you can use a disassembler to convert the machine language (the executable file) into assembly language.
An Assembler converts assembly language instructions into machine language.
That sounds like the description of an interpreter.
Both, compiler and assembler, are software tools which translate instructions written in a programming language into executable machine code. (Both will typically require additional tools, such as a linker, in the process.) An assembler recognizes a machine-specific assembly language. This is a low-level language with a one-to-one relationship between language (assembly) instructions and machine code instructions. A compiler recognizes a generally machine-independent language such as the C programming language. These are higher level languages compared to the assembly languages, generally offering a one-to-many relationship between language instructions and expressions, and the resulting machine code instructions.
assembler
A machine code program. Machine code is the native language of the machine and the only language actually understood by the machine. However, program instructions can be written using a high-level programming language that the computer can translate into machine code using another machine code program called a compiler.
Machine language is the computer instructions in memory--the actual bits used by the machine hardware or microcode interpreter. To "look" at it, it has to be converted to a human-readable form. Often, it is printed as a sequence of hexadecimal numbers, usually tagged with the memory address. Sometimes it is processed by a disassembler program, which tries to translate the code into assembly language instructions and data. This is not always successful since in machine architectures that mix data and instructions, it can be difficult to determine which program areas are data and which are instructions.
Assembly langue is translated into machine language by an assembler.
Interpreater translate the high level language into machine level language line by line
Why would you want to do that? The usual procedure is to translate a high-level language such as Pascal to machine language. If you really want assembly language - perhaps to see how the Pascal compiler does its work - then presumably you can use a disassembler to convert the machine language (the executable file) into assembly language.
An Assembler converts assembly language instructions into machine language.
Machine-dependent (generally called "platform-dependent")
Computers use machine language, which are coded instructions in binary.
the reason why we translate is that source code may be in assembly( low level language) or high level language and the only language computer understand is 0s and 1s which is binary code so the program written in either assembly or high level language must be convert or translate to binary and program written in HLL are in English form while the assembly are equivalent machine language.