一个自动剔除COMMENT的C++程序
2007-11-16 14:29
260 查看
今天突然有人问我有没有写过自动去除标准C++源文件COMMENT 的程序.这让我一下想起当初面微软的时候现场写的1个程序,当初考虑的实在太不周全,导致直接被BS.如今我可以从容的写这个程序,不过在写完这个程序突然发现1个问题.原来这个貌似简单的程序有这么多的陷阱.
1.COMMENT 有两种形式"//","/*...*/".
对于"//"情况固然简单因为只要单行处理即可.
但是碰到"/*"情况即可分成多行:
/*ddddddd
fffffffff*/
2.这两种形式可能在字符串中显示如
string s = "abcd//";
string s = "/*ddddd*/";
3.即使显示在字符串中也可能出现如下形式:
string s = "/*/*/
////**/";
即是字符串连接的情况.
这些情况都将直接造成程序复杂性.
另外一种想法是按照编译器去检查COMMENT的方式,好久没翻阅编译原理的书了,对表达式的规约也许是个很不错的方法.得好好再学习了.另外,只能较笨挫的完成程序了事,学无止境啊.
1.COMMENT 有两种形式"//","/*...*/".
对于"//"情况固然简单因为只要单行处理即可.
但是碰到"/*"情况即可分成多行:
/*ddddddd
fffffffff*/
2.这两种形式可能在字符串中显示如
string s = "abcd//";
string s = "/*ddddd*/";
3.即使显示在字符串中也可能出现如下形式:
string s = "/*/*/
////**/";
即是字符串连接的情况.
这些情况都将直接造成程序复杂性.
另外一种想法是按照编译器去检查COMMENT的方式,好久没翻阅编译原理的书了,对表达式的规约也许是个很不错的方法.得好好再学习了.另外,只能较笨挫的完成程序了事,学无止境啊.
相关文章推荐
- 一个C++/CLI WinForm程序
- 【c++程序】求一个数的阶乘n!
- 对于刚接触C++来说,如何入手一个陌生的程序
- 每天一个c++小程序(2):二维数组动态创建
- 一个简单的可以运行程序之后自动关闭的批处理命令
- C++输出时指针类型自动转换为bool类型输出的一个小疑问
- 在Java中如何设置一个定时任务,在每天的一个时间点自动执行一个特定的程序
- 第1天:一个通电能自动运行的程序
- 用C++写的一个数单词个数的程序
- C++实现的一个简单两个大数相加程序!
- 做一个用于自动完成数据层的.net外接程序,仅支持C#语言
- 采用C++的ACE库实现的一个通用的C/S架构通信程序
- 采用C++的ACE库实现的一个通用的C/S架构通信程序
- 如何编写一个自动投票程序
- 一个比较有趣的自动生成迷宫程序.
- 一个可以开机后自动和你打招呼的小程序(希望以后可以成为智能的系统)
- (二)一个工作任务引起的乱战——C++程序编译为dll,让C#调用
- c++自己实现的一个程序
- 一个c++小程序
- 实现一个鼠标自动按键程序