The built in return type $st has only a single template, but: a returns [StringTemplate x, StringTemplate y ....
Is basically the same thing done manually. Jim > -----Original Message----- > From: [email protected] [mailto:antlr-interest- > [email protected]] On Behalf Of Voelkel, Andy > Sent: Friday, October 28, 2011 7:48 AM > To: Eric; ANTLR interest > Subject: Re: [antlr-interest] Producing multiple output file (at the > same time) from a single AST - best strategy? > > I think maybe my original post was confusing. What I meant was is that > I need to produce multiple output files from a single AST, not > alternative output formats like in cminus. That is, I need to generate > a structure definition header file, a structure initialization C file, > etc. So ideally, a single run through a single tree grammar would > produce multiple string template "streams". > > I had one more thought. Is it possible to use ANTLR StringTemplate > integration and produce more than one StringTemplate from a rule, if I > explicitly declare the rule to have multiple StringValues as the rule > return type? > > > - Andy > > From: Eric [mailto:[email protected]] > Sent: Friday, October 28, 2011 4:13 AM > To: Voelkel, Andy; ANTLR interest > Subject: Re: [antlr-interest] Producing multiple output file from a > single AST - best strategy? > > > On Fri, Oct 28, 2011 at 1:50 AM, Voelkel, Andy > <[email protected]<mailto:[email protected]>> > wrote: > Hi, > > I have a project where I have to produce multiple output files (C > source files) from a single AST. It seems clear at this point that > using StringTemplate to produce the output files makes the most sense. > So how do I get multiple StringTemplate "streams" from a single AST? I > can think two ways: > > > 1. Write separate tree grammars to produce the separate outputs, > using built-in ANTLR-to-StringTemplate integration. > > 2. Write one tree grammar, and use helper functions to build the > separate outputs using manual creation of StringTemplates. > > 3. Or is there another way? > > Approach #1 has the advantage of being able to use the built in > integration between ANTLR and StringTemplate. But the disadvantage is > that if I change the AST structure, I have to change all the tree > grammar files, rerun the code generation, etc. Right now I'm leaning > towards the helper functions which construct StringTemplates manually. > Does anyone have any advice? I'm assuming that I can't use ANTLR- > StringTemplate integration and also produce multiple StringTemplates > with a single tree grammar. Do I have this right? > > > - Andy > > Hi Andy, > > Take a look at the cminus example in > http://www.antlr.org/download/examples-v3.tar.gz. Cminus demonstrates > String Templates by emitting source code for Python, Java, and > Bytecode. > > > > Hope that helps, Eric > > > ________________________________ > > CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, > files or previous e-mail messages attached to it, may contain > information that is confidential and/or legally privileged. If you are > not the intended recipient, or a person responsible for delivering it > to the intended recipient, please DO NOT disclose the contents to > another person, store or copy the information in any medium, or use any > of the information contained in or attached to this transmission for > any purpose. If you have received this transmission in error, please > immediately notify the sender by reply email or at > [email protected]<mailto:[email protected]>, and destroy > the original transmission and its attachments without reading or saving > in any manner. > > For further information about Plantronics - the Company, its products, > brands, partners, please visit our website > www.plantronics.com<http://www.plantronics.com>. > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your- > email-address > > > ________________________________ > > CONFIDENTIALITY NOTICE: This e-mail transmission, and any documents, > files or previous e-mail messages attached to it, may contain > information that is confidential and/or legally privileged. If you are > not the intended recipient, or a person responsible for delivering it > to the intended recipient, please DO NOT disclose the contents to > another person, store or copy the information in any medium, or use any > of the information contained in or attached to this transmission for > any purpose. If you have received this transmission in error, please > immediately notify the sender by reply email or at > [email protected], and destroy the original transmission and its > attachments without reading or saving in any manner. > > For further information about Plantronics - the Company, its products, > brands, partners, please visit our website www.plantronics.com. > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your- > email-address List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address -- You received this message because you are subscribed to the Google Groups "il-antlr-interest" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.
