tags:

views:

354

answers:

4

My knowledge about implementing a parser is a bit rusty.

I have no idea about the current state of research in the area, and could need some links regarding recent advances and their impact on performance.

General resources about writing a parser are also welcome, (tutorials, guides etc.) since much of what I had learned at college I have already forgotten :)

I have the Dragon book, but that's about it.

And does anyone have input on parser generators like ANTLR and their performance? (ie. comparison with other generators)

edit My main target is RDF/OWL/SKOS in N3 notation.

A: 

Hmm … your request is a bit unspecific. While there are many recent developments in this general area, they're all quite specialized (naturally, since the field has matured). The original parsing approaches haven't really changed, though. You might want to read up on changes in parser creation tools (Antlr, Gold Parser, to name but a few).

Konrad Rudolph
+5  A: 

Mentioning the dragon book and antlr means you've answered your own question.

If you're looking for other parser generators you could also check out boost::spirit (http://spirit.sourceforge.net/).

Depending on what you're trying to achieve you might also want to consider a DSL, which you can either parse yourself or write in a scripting language like boo, ruby, python etc...

jonnii
How could I forget Boost.Spirit?
Konrad Rudolph
A: 

You might also want to take a look at SableCC, another parser generator "which generates fully featured object-oriented frameworks for building compilers".

Their is some documentation about basic uses here and here. Since you asked about research papers, SableCC's main developper's master thesis (1998) is available and explains a little more about SableCC advantages.

Although the current stable version is 3.2, the development branch v4 is a complete rewrite and should implement features new to parser generators.

skinp
A: 

If you want to build custom analyzers for complex languages, consider the DMS Software Reengineering Toolkit. See http://www.semanticdesigns.com/Products/DMS/DMSToolkit.html

Ira Baxter