C and C++

Programming Language Translators

As you know that high-level language is machine-independent and assembly language though it is machine-dependent yet mnemonics that are being used to represent instructions are not directly understandable by the machine. Hence to make the machine understand the instructions provided by both languages, programming language instructors are used. They transform the instruction prepared by programmers into a form that can be interpreted & executed by the computer. Flowing are the various tools to achieve this purpose:
Compiler: The software that reads a program written in high level language and translates it into an equivalent program in machine language is called as compiler. The program written by the programmer in high level language is called source program and the program generated by the compiler after translation is called as object program.
Interpreter: it also executes instructions written in a high level language. Both complier & interpreter have the same goal i.e. to convert high level language into binary instructions,
but their method of execution is different. The complier converts the entire source code into machine level program, while the interpreter takes 1 statement, translates it, executes it & then again takes the next statement.
Assembler: The software that reads a program written in assembly language and translates it into an equivalent program in machine language is called as assembler.
Linker: A linker or link editor is a computer program that takes one or more object files generated by a compiler and combines them into a single executable file, library file, or another object file.