compiler is complex software compounding of scanner,parser,intermediate code generator , object code generator etc.
Actually its tasks is to convert one language to another target language.
then it may be possible that source language may be c# ,java , C source code
and target language one of them or assembly language code.
Language processors are language translation software like assembler, interpreter and compiler
The only program that executes during compilation is the compiler. The compiler produces one object file for each translation unit compiled. When all translation units are compiled, the object files can then be linked together by executing the linker.
Debugging
What i know is java we will use compiler when it want to get class file(file with .class extension) from java file(file with .java extension).
You will have to ask the compiler and interpreter writers that question. What I can tell you with certainty, at one time all programs were hand assembled.
too, also, either; besides
The C compiler works by converting individual translation units into corresponding object code files. The compiler can only process one translation unit at a time however the object files will contain all the information required by the linker to produce an executable. The compiler only needs to perform one complete compilation of all the translation units. After that, only those translation units that have been modified since the last compilation need be re-compiled (assuming the object files are still in place). An object file is essentially the machine code representation of the corresponding translation unit, however memory offsets are symbolised. Some of these symbols will have internal linkage (relative to the object code) while others will have external linkage (relative to the executable). It is the job of the linker to examine the symbol tables produced by the compiler and to replace the symbolic offsets with actual offsets.
Linking comes after compilation. The object files produced by the compiler are essentially linked together to create the final executable. Object files are merely the machine code representations of the translation units processed by the compiler.
cross compiler . hybird compiler . post compiler. ideal compiler. intelligence compiler.
translation
What is difference between Compiler and DML Compiler
Probably because you haven't include the <string> header anywhere in the translation unit.