This is the mail archive of the mailing list for the Archer project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Parser rewritting

There are a couple of antlr C++ parsers available:

as well as a C++ preprocessor:

I don't know how easy/hard they'd be to adapt to use in GDB, but they might be worth looking at. And I'm just about certain it would be easier to use them than to write a whole new parser--antlr is a lot less weird than bison.

There's antlr package in brewroot.

On 03/30/10 14:46, Sergio Durigan Junior wrote:

As you may have noticed, in the last Archer meeting I brought a topic into
discussion: the rewritting of the GDB's parser.  The current parser is written
using Bison, and unfortunately it is insufficient to satisfy our current
needs, especially for C++ productions.

With that in mind, Tom asked me to start this discussion in the mailing-list
to see what you think about it.  We decided to send an e-mail to the archer
list at first; this topic will eventually be discussed at the gdb list as

I am sorry I took so long to send this e-mail, but I was trying to come up
with an initial plan to re-implement the parser.  I've been studying GCC/G++
parsers in order to understand how they work, but I noticed that it would take
some time for me to think in a good plan.  I also noticed that other people
here have (much!!) more experience about parsers than I do, so why not
exposing this idea and see what you think?

The initial idea (by Tom) would be to mimic the current structure of the G++
parser.  There is also another proposal (from Keith), but I don't know if he
wants it to be listed here :-).  Feel free to post it, Keith!

Any more ideas?  Comments about the exinsting ideas are also welcome, of
course.  Meanwhile, I'll continue studying this parser stuff and will try to
propose something useful in some time.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]