Michael wrote: > I'm fairly new at Python, and have the following code that works but > isn't very concise, is there a better way of writing it?? It seems > much more lengthy than python code i have read..... :-) > (takes a C++ block and extracts the namespaces from it)
Yes, there is a better way to write the code, but I'm afraid that the better way will be much longer rather than shorter. Your code is trying to pick up a complete C++ block by counting the opening and closing braces, but this will break as soon as you have a brace character inside a string or a comment. The better solution would be to use a full blown parser, or at least a lexer which recognises comments and strings. There are several parsing packages for Python, you might like to look at Ply (http://www.dabeaz.com/ply/) since that comes with a sample lexer for Ansi C, and if you added some extra keywords (such as namespace) you could then just treat your input as a token stream. -- http://mail.python.org/mailman/listinfo/python-list