您的位置:首页 > 编程语言 > C语言/C++

一个自动剔除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的方式,好久没翻阅编译原理的书了,对表达式的规约也许是个很不错的方法.得好好再学习了.另外,只能较笨挫的完成程序了事,学无止境啊.

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c++ string 编译器 微软