Boost logo

Boost Users :

From: Foster, Gareth (gareth.foster_at_[hidden])
Date: 2004-09-30 03:38:05


Hello,

Thank you Caleb and Hartmut for your replies. You both seem to think regex
is a bad way to go, I will explain better what I want to write just to be
clear.

I want to write a tool (cli probably) where I can say, here you go, here is
a large folder full of code, go and parse it. I will store the results in
XML format somewhere, then, I can do say, "<myapp> class someclass" and the
program will go and find where that class is declared/defined using its
database, saving me headache.

So I thought I could use one of the C++ expat wrappers, and boost regex
looked powerful enough to do the parsing if only I were handy enough with
regular expression syntax.

Anyway, I don't know if that better explanation will make any difference to
you recommendations, I look forward to reading you opinions.

Oh, and the example I looked at is here Hartmut:
http://boost.org/libs/regex/example/snippets/regex_search_example.cpp - that
is what got me thinking I might actually be able to take on this challenge.

Okay lads, thanks again, cheers

Gaz

-----Original Message-----
From: boost-users-bounces_at_[hidden]
[mailto:boost-users-bounces_at_[hidden]] On Behalf Of Hartmut Kaiser
Sent: 29 September 2004 18:41
To: boost-users_at_[hidden]
Subject: RE: [Boost-users] Boost:regex and C++ Parsing

 
Foster, Gareth wrote:

> I have a couple of questions, firstly, how might I extend the
> example for parsing C++ code for class names so that it
> records the line number on which the class is defined? I
> thought maybe I could extend the regular expression so that
> it has "|(\n)" at the end, or maybe there is another way. In
> any case I am not sure if that is the correct way to extend
> the regex and I am unsure how to check the regex_match result
> to see if it was a new line character I encountered or a class name.

Which example you're referring to?

> Secondly, are there any efforts anywhere to parse C++ for
> other keywords by this approach?

I don't know of any efforts going on regarding C++ parsing with the help of
regex (non-authoritative answer). But there is the Wave library (Boost
review is due shortly), which is a C/C++ preprocessor containing different
C++ lexing components, which may be helpful for you during writing a class
name extraction tool.

Regards Hartmut

_______________________________________________
Boost-users mailing list
Boost-users_at_[hidden]
http://lists.boost.org/mailman/listinfo.cgi/boost-users


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net