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

Jim Idle jimi at temporal-wave.com
Sun Sep 23 17:11:49 PDT 2012


Not for tree walkers, but everything else has ->reuse()

Jim

-----Original Message-----
From: antlr-interest-bounces at antlr.org
[mailto:antlr-interest-bounces at antlr.org] On Behalf Of Damir Franusic
Sent: Saturday, September 22, 2012 3:10 AM
To: antlr-interest at antlr.org
Subject: [antlr-interest] reusing memory in c/c++

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/




List: http://www.antlr.org/mailman/listinfo/antlr-interest
Unsubscribe:
http://www.antlr.org/mailman/options/antlr-interest/your-email-address


More information about the antlr-interest mailing list