[antlr-interest] reusing memory in c/c++

Damir Franusic df at release14.org
Fri Sep 21 12:10:13 PDT 2012


I would like to know if it's possible to reuse streams, parsers, lexers, 
etc. so I don't have to recreate them in every iteration.

*    // input stream
     pANTLR3_INPUT_STREAM input  = antlr3StringStreamNew(...);
     // lexer
     ppminkLexer lexer = pminkLexerNew(input);
     // token stream
     pANTLR3_COMMON_TOKEN_STREAM tstream = 
antlr3CommonTokenStreamSourceNew(...);
     // create parser
     ppminkParser parser = pminkParserNew(tstream);
     // parse and build ast
     pminkParser_lineParser_return ast = parser->lineParser(parser);

     /* do some stuff here */


     // free input stream
     tstream->free(tstream);
     tstream = NULL;

     input->close(input);
     input = NULL;

     lexer->free(lexer);
     lexer = NULL;

     parser->free(parser);
     parser = NULL;*


So I would like to know how to reuse tstream, input, lexer and parser....


Thnx,

*Damir Franusic*
Founder / Lead developer

r14 logo
*Release 14*
e: df at release14.org
p: +385-91-209-1311
w: http://www.release14.org/





More information about the antlr-interest mailing list