Design and implement a lexical analyzer for C-- as follows: (Steps)
1. List the set of token types to be returned by your lexical analyzer.
2. Define regular expressions for this set of token types.
3. Derive a single DFA from your regular expressions.
4. Implement the DFA using any software you like (recommend in C program). You should implement the lexical analyzer program as an implementation of the DFA where each state in your DFA is a separate function.