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