At which stage of compilation will errors (a) and (b) be detected:
Error (a): the name of a variable has more characters than are permitted
Error (b): a closing parenthesis (bracket) is omitted from an arithmetic expression.
A (a) syntax. (b) lexical
B (a) lexical. (b) syntax
C (u) semantic. (b) code generation
D (a) lexical, (b) semantic