[antlr-interest] Re: ANTLR cpp-generated example crashes on Cygwin
Dario Gonzalez
darioglzl at yahoo.com
Sat Dec 20 10:02:08 PST 2003
Thanks Ric,
In the mean time I happily made ANTLR-cpp-generated files work on
Cygwin (with both MinGW and CygWin)... It seems that the cpp-example I
used is outdated regarding the ASTFactory-initialization-stuff (which
BTW, I've not understood very well, but I'm in the learning process).
Now my concern is with MSVC++ 6.0/SP5(Yes, I need it to work in both
CygWin and MSVC++): The first try of creating the library from
Klaren's snapshot, threw 1042 errs (here's only a taste):
...\lib\cpp\antlr\circularqueue.hpp(23) : error C2039: '_Vector_val' :
is not a member of 'std'
...\lib\cpp\antlr\circularqueue.hpp(23) : error C2143: syntax error :
missing ';' before '<'
...\lib\cpp\antlr\circularqueue.hpp(23) : error C2079: '_Vector_val'
uses undefined class 'std'
...\lib\cpp\antlr\circularqueue.hpp(23) : error C2059: syntax error : '<'
...\lib\cpp\antlr\circularqueue.hpp(23) : error C2027: use of
undefined type 'std'
...\lib\cpp\antlr\circularqueue.hpp(23) : see declaration of 'std'
...\lib\cpp\antlr\circularqueue.hpp(24) : error C2027: use of
undefined type 'std'
...\lib\cpp\antlr\circularqueue.hpp(23) : see declaration of 'std'
...\lib\cpp\antlr\circularqueue.hpp(24) : error C2143: syntax error :
missing ';' before '<'
...\lib\cpp\antlr\circularqueue.hpp(24) : error C2079: 'vector' uses
undefined class 'std'
...\lib\cpp\antlr\circularqueue.hpp(24) : error C2059: syntax error : '<'
Since the source of this errors were #conditional compilation, my
first reaction was to comment out all the lines that caused them. And
surprisingly it worked!, but I couldn't try it because the
ANTLR-generated CPP files had being produced with antlr2.7.2 (Abstract
classes weren't being fully imlplemented according to the headers of
the snapshot). So I tryed to compile the full test snapshot following
the same cygwing-recipe... it didn't work:
=============================
Making antlr ...
=============================
make[1]: Entering directory `/redo/antlr-20031029/antlr'
Makefile:77: warning: overriding commands for target `install'
/redo/antlr-20031029/scripts/Rules.make:383: warning: ignoring old
commands for tar
get `install'
java.exe -cp "C:\cygwin\redo\antlr-20031029" antlr.Tool antlr.g
Exception in thread "main" java.lang.NoClassDefFoundError: antlr/Tool
make[1]: *** [.antlr.g] Error 1
make[1]: Leaving directory `/redo/antlr-20031029/antlr'
make: *** [subdirs] Error 2
Obviously, the work-recipe doesn't apply...
So I'm stuck here. Please advice .
--- In antlr-interest at yahoogroups.com, Ric Klaren <klaren at c...> wrote:
> Hi,
>
> On Thu, Dec 18, 2003 at 05:28:15PM -0000, darioglzl wrote:
> > Sorry if you get this message twice (anyway I've added some comments
> > that missed in the first one).
>
> Only saw this one...
>
> > Since I need to use the cpp option, I followed another of the
> > getting-started examples
> > (http://www.merrells.com/john/blog/archives/000100.html) to see if
> > everithing was set ok. The build-process works fine
> > (cppp/hpp files are generated, compiled, and linked against
> > libantlr.a), but the program crashes with segm-fault when typing a
> > line that matches an expresion defined in the *.g file (If I typed a
> > non-matching expression an error is displayed that looks like
> > normal, but the segm-fault is still present).
> >
> > As a comment, I'm initializing the ASTFactory (there's a similar
> > problem in the group that was solved by inserting such initialization
> > in the main program:
> > http://groups.yahoo.com/group/antlr-interest/message/8322).
>
> What antlr version are you using? 2.7.2 ? If so please try a development
> snapshot first (http://wwwhome.cs.utwente.nl/~klaren/antlr/) Do the
bundled
> examples work ? Could you provide a backtrace of the error (run the
binary
> in gdb make it crash en do a 'bt')
>
> Cheers,
>
> Ric
> --
>
-----+++++*****************************************************+++++++++-------
> ---- Ric Klaren ----- j.klaren at u... ----- +31 53 4893722 ----
>
-----+++++*****************************************************+++++++++-------
> Chaos often breeds life, when order breeds habit.
> --- Henry B. Adams, The Education of Henry Adams
Yahoo! Groups Links
To visit your group on the web, go to:
http://groups.yahoo.com/group/antlr-interest/
To unsubscribe from this group, send an email to:
antlr-interest-unsubscribe at yahoogroups.com
Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/
More information about the antlr-interest
mailing list