首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

【K&R 练习 1-23】删除C/C++语言中的程序中的所有注释语句

2012-09-16 
【K&R 习题 1-23】删除C/C++语言中的程序中的所有注释语句原题: 编写一个删除C语言程序中所有的注释语句。要

【K&R 习题 1-23】删除C/C++语言中的程序中的所有注释语句

原题: 编写一个删除C语言程序中所有的注释语句。要正确处理带引号的字符串与字符常量。再C语言中,注释不允许嵌套。


        题目的目的是要做一个简单的语法分析器,所使用的工具为状态机。

状态  0  : start 

         输入 /  进入状态1

         输入 "  进入状态4

         输入 '  进入状态8

         输入其他字符进入状态0

状态  1  :  第一个 /

          输入 *  进入状态2 

          输入 /   进入状态6                    【c99 tc3 已经支持c++ style 的注释了 】

          输入其他字符进入错误状态        

状态   2  :  /*                     【注释部分开始】

           输入 * 进入状态 5

           输入其他字符进入状态2         

状态   5  : /*...*                 【注释内容(包含注释符号)】

           输入 / 进入状态7

           输入其他字符进入状态2

状态   7   : 注释部分结束

            输入其他字符进入状态0    

状态   6   :   //                   【注释部分开始】

           输入  回车[\n] 进入状态0

           输入   \  进入状态9  

           输入其他字符进入状态6

状态   9   :  // ... \    

            输入其他状态进入状态6

状态   4    :   "

           输入 " 进入状态0

           输入 \  进入状态3     【转义字符】

           输入其他字符进入状态4

状态    3   :    "....\

           输入其他字符进入状态4

状态    8 :    '

           输入 \ 进入状态11

           输入其他字符进入状态10

状态  10 :   '?

           输入 ' 进入状态 0

           输入其他字符进入错误状态

状态   11 :  '\

           输入其他字符进入状态12

状态   12 :  '\?

           输入 ' 进入状态0;

           输入其他字符进入错误状态          

 

1楼yuezhiren2小时前
哎,csdn 的编辑器真是烂得要死.

热点排行
Bad Request.