Answer :
The FALSE statement among the options provided is:
B. Type checking is done before parsing.
Explanation:
1. A. A Context-free grammar can be used to specify both lexical and syntax rules.
- This statement is TRUE. Context-free grammars are often used to define the syntax rules of programming languages.
2. B. Type checking is done before parsing.
- This statement is FALSE. In the typical compilation process, parsing comes before type checking. Parsing involves analyzing the program's structure based on the grammar rules, while type checking verifies that the types of expressions are used correctly within the program.
3. C. High-level language programs can be translated to different Intermediate Representations.
- This statement is TRUE. During the compilation process, high-level language programs are often translated into different intermediate representations to facilitate optimization and generation of the final executable code.
In summary, the false statement is B. Type checking is done before parsing.