The details of all external symbols and relocation formation (relocation list or map) is provided to linker by A. Macro processor B. Translator C. Loader D. Editor E. None of the above

Macro processor
Translator
Loader
Editor E. None of the above

The correct answer is: B. Translator

A translator is a program that converts source code written in one programming language into another programming language. In the context of linking, the translator converts the object code generated by the compiler into machine code. The translator also provides the linker with the details of all external symbols and relocation formation (relocation list or map).

A macro processor is a program that expands macros into their expanded form. Macros are used to define frequently used code fragments. The macro processor does not provide the linker with any information about external symbols or relocation formation.

A loader is a program that loads a program into memory and prepares it for execution. The loader does not provide the linker with any information about external symbols or relocation formation.

An editor is a program that is used to create and edit source code. The editor does not provide the linker with any information about external symbols or relocation formation.

Therefore, the correct answer is: B. Translator