How can I automatically replace all C style comments (/* comment */
) by C++ style comments (// comment
)?
This has to be done automatically in several files. Any solution is okay, as long as it works.
How can I automatically replace all C style comments (/* comment */
) by C++ style comments (// comment
)?
This has to be done automatically in several files. Any solution is okay, as long as it works.
There are a few suggestions that you might like to try out:
a)Write your own code (C/ Python/ any language you like) to replace the comments. Something along the lines of what regex said or this naive solution 'might' work: [Barring cases like the one rmeador, Darron posted]
b)Find a tool to do it. (I'll look up some and post, if I find them.)
c)Almost all modern IDE's (if you are using one) or text editors have an auto comment feature. You can then manually open up each file, select comment lines, decide how to handle the situation and comment C++ style using an accelerator (say Ctrl + M). Then, you can simply 'Find and Replace' all "/*" and "*/", again using your judgment. I have Gedit configured to do this using the "Code Comment' plugin. I don't remember the way I did it in Vim off hand. I am sure this one can be found easily.
How do you intend to handle situations like this:
Note the comment inside the parens... this is a common way of documenting things in generated code, or mentioning default parameter values in the implementation of a class, etc. I'm usually not a fan of such uses of comments, but they are common and need to be considered. I don't think you can convert them to C++ style comments without doing some heavy thinking.
If you write an application/script to process the C source files, here are some things to be careful of:
You might be better off trying to find an application that understands how to actually parse the code as code.
This tool does the job: http://people.sc.fsu.edu/~burkardt/cpp_src/recomment/recomment.html
It also handles all the non-trivial cases mentioned by other people:
from PHP team convention... some reasonning has to exist if the question was asked. Just answer if you know.
I'm with the people who commented in your question. Why do it? Just leave it.
it wastes time, adds useless commits to version control, risk of screwing up
EDIT: Adding details from the comments from the OP
that might be a fair/ok thing to want to do, but I have two comments about that:
It also appears that you want to use the c-style comments to block out a section of code? Or are you going to use the // to block out many lines?
One alternative is a preprocessor #ifdef for that situation. I cringe at that but it is just as bad as commenting out lines/blocks. Neither should be left in the production code.