Newbie python design question

Bruno Desthuilliers bdesth.quelquechose at free.quelquepart.fr
Mon May 23 16:18:30 EDT 2005


Michael a écrit :
> Hi,
> I'm trying to write a script to parse a .cpp file and begin to create a
> 'translational unit'.
> To do this i need to:
> 
> Go through the file and remove all 'C' comments as
> /* Comment 1*/
> (can be on multiple lines)
> 
> Go through and remove all 'C++' comments, anything between // and '\n' char.
> 
> The start at the top, and work the way through, with the following valid
> terms:
> 
> #include <filename>
> #include "filename"
>     - copy the contents of filename to this point in the file and continue.
> 
> #define X Y
>     -Store the term X,Y in DefineDictionary, then later if X is encountered,
> substitute Y.
> 
> namespace n
> {
> 
> };
>     -a  namespace, can contain classes, functions and sub-namespaces
> 
> class c
> {
> 
> 
> };
>     -a class.
> 
> 
> If i were to process this in C++, i would create some form of statemachine,
> similar to a regex engine... I would just like some ideas on the easiest way
> to implment this in python!!

I have no real answer, but well:
- there's a regexp module in the stdlib
- there's a quite nice FSM implementation on the Python Cookbook
- there are many Python-based parser generators

And I would of course recommand the reading of "Text Processing in 
Python"...

HTH
Bruno



More information about the Python-list mailing list