[antlr-interest] Re: ANTLR cpp-generated example crashes on Cygwin

Dario Gonzalez darioglzl at yahoo.com
Sat Dec 20 11:20:11 PST 2003


OK, I know why the snapshot didn't build: There is a bunch of missing
*.class files in the antlr/ dir (among them the antlr.Tool class)
which are present in the 2.7.2 version.

I used "bootstrap" make's target to generate them and now I have the
test-snapshot working in Cygwin. I had to modify script/config.make's
ANTLR_BOOTSTRAP variable (similar to the Cygwin-working-recipe):

ANTLR_BOOSTRAP = $(JAVA) -cp "<windows/path/to/your/antlr.jar>" \ 
       antlr.Tool

Hope this one works... if don't, be sure I'll be here soon.


Thanx


--- In antlr-interest at yahoogroups.com, "Dario Gonzalez"
<darioglzl at y...> wrote:
> 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