Which of the following best matches the definition for an Assembler?
A. Translates assembly language code into machine code.
B. Performs program analysis and optimization.
C. Arranges the symbol table in memory and generates final executable machine code.
D. Combines partial programs and libraries into a single executable.
E. Separates the input source code text into tokens.
F. Performs syntax rules checking and constructs a symbol table and abstract syntax tree.