views:

316

answers:

2

I have been using the same version of bison++ (1.21-8) and flex++ (2.3.8-7) since 2002.

I'm not looking for an alternative to LALR(1) or GLR at this time, just looking for the most current options. Is anyone aware of any later ports of these than the original that aren't Cygwin dependent?

What are other folks using in Windows environments for C++ compiler development (besides ANTLR or Boost.spirit)? Commercial options are ok, if you have firsthand experience. I do need to compile on Linux as well.

EDIT: Since my original question said "besides ANTLR" and I am still getting arguments for ANTLR, please educate me on moving to ANTLR with C++. I'm here to learn, not to be stubborn or argumentative. I'm open to ANTLR, but just have been using Yacc/Bison for 18 years and may be a bit set. Thanks guys.

EDIT: At the risk of changing the whole thread of my question, I looked at ANTLR's site, and the front page still does not mention C++, but http://www.antlr.org/why.html does mention C++, so I've been unaware of C++ as a target. Curious why C++ isn't listed up front.

+1  A: 

You can try Elsa (now it is a part of Oink project). But it is almost dead now. The only attractive feature of it is that there is a complete and robust C and C++ parser is written on top of it.

LLVM contains a reasonably modern parsing framework. And there is a C++ parser as well (see clang project).

Some Packrat implementations for C++ are available, sort of the most trendy thing in parsing.

SK-logic
None of the answers were specific to my question, but helped nonetheless.
mrjoltcola
+1  A: 

I like ANTLR a lot. Boost Spirit is a bit "out there" for serious production applications.

John Zwinck
Sorry for the downvote, but any reasons why you suggest ANTLR even though I said "besides ANTLR". Last time I looked, ANTLR did not have a C++ target, but its been 4-5 years. If you suggest ANTLR, why?
mrjoltcola
@mrjoltcola: ANTLR has a C target and is completely usable in C++. There's no separate C++ target because it would be redundant -- most of the C components are only used by ANTLR itself. You can use C++ in the semantic actions as much as you like.
Billy ONeal
Ok, +1 to your followup as it is helpful.
mrjoltcola