设计并实现C语言的词法分析程序,要求如下。(1)可以识别出用C语言编写的源程序中的每个单词符号,并以记号的形式输出每个单词符号。(2)可以识别并读取源程序中的注释。(3)可以统计源程序中的语句行数、单词个数和字符个数,其中标点和空格不计算为单词,并输出统计结果。(4)检查源程序中存在的非法字符错误,并可以报告错误所在的行列位置。(5)发现源程序中存在错误后,进行适当的恢复,使词法分析可以继续进行,通过一次词法分析处理,可以检查并报告源程序中存在的所有词法拼写错误。