[antlr-interest] Adding state to a TreeParser (C++)

jm_newton jm_newton at yahoo.co.uk
Tue Aug 17 06:15:43 PDT 2004


Hi,
I'm using ANTLR 2.7.4 to generate c++ code. I've managed to generate
an AST tree via Lexer/Parser and now I'm interested in adding some
state information to my TreeParser which I'm using to 'run' the tree.

Assuming I don't want to modify the files generated by ANTLR the
cleanest way of doing this appears to be extending the TreeParser from
my own base class which is derived from the ANTLR TreeParser. I can
find  examples of this in the documentation for Java
(http://www.antlr.org/doc/metalang.html#_bb6) but none for C++. 

I've tried the following in my .g file:

  class MyTreeParser extends "MyTreeParserState";

where MyTreeParserState is defined as:

  class MyTreeParserState : public antlr::TreeParser
  {
  ...

but this results in the following errors:

  BlobManagement.g:129:39: rule classDef trapped:
  BlobManagement.g:129:39: expecting "Parser", found '"BlobManagement"'
  error: aborting grammar 'BlobManagementLexer' due to errors
  Exiting due to errors.

Does anybody have any experience of trying to extend the C++
TreeParser to add state in this way or are there better ways...





 
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