On Fri, Nov 11, 2011 at 1:55 PM, Sam Barnett-Cormack < s.barnett-corm...@lancaster.ac.uk> wrote:
> So, in other words, the feature request is that AST-related syntax be > ignored if output!=AST? > > Yeah, I could go for that, though I don't know if there would be > complications deeper in implementation. Any tree-related action code, > for instance, would be broken horribly. However, it would be a useful > thing for very clean, pure lexing and parsing. The only thing I wonder > is, for that not-generating-an-AST-any-more parser, wouldn't it need > some different actions from the original AST-generating version in order > to be any use whatsoever? > > Sam > > On 11/11/2011 17:51, Christian wrote: > > Waoh, your interpretation of my words really shocked me ;) > > > > I just asked if ANTLR could generate the lexer and parser without > > AST-code if the option output=AST is removed. Apparently, it is not > > possible so far. And please believe me, I was at no moment angry. But > > back to the topic: > > > > Feature request for ANTLR v4: > > *Context:* > > If you add AST shaping code to a given grammar and later change the > > grammar itself, too, you cannot directly generate a pure lexer and > > parser without AST shaping code anymore. You have to remove the AST > > shaping code from the grammar to do it. > > *Solution:* > > If a combined grammar contains AST shaping code, it would be more > > flexible if ANTLR is still able to generate non-AST target language code > > when, e.g., the option output=AST is not defined. > > > > I hope, my phrasing is better now ;) > > > > Best regards, > > Christian > > > > Am 11.11.2011 16:33, schrieb Jim Idle: > >> I think it might be the phrasing of your question. It may be a language > >> barrier issue, but it sounds like "You stupid ANTLR asshats, why can't > you > >> do it this way, which is the way I expect it to work and so it must be > the > >> correct way; you are all stupid!" > >> > >> But... > >> > >> Clearly, as you get an error telling you that you have AST shaping code > in > >> there, then you cannot remove that option without removing the AST > shaping > >> directives. Whether or not that can be improved is not very relevant as > >> 3.x is now in maintenance mode while ANTLR 4 is being thrashed in to > >> shape. So, perhaps you can rephrase your statement in to a feature > request > >> for ANTLR v4. It is a reasonable request if a little care is taken over > >> the phrasing. > >> > >> > >> Jim > >> > >>> -----Original Message----- > >>> From: antlr-interest-boun...@antlr.org [mailto:antlr-interest- > >>> boun...@antlr.org] On Behalf Of Christian > >>> Sent: Friday, November 11, 2011 12:15 AM > >>> To: Eric; antlr-interest@antlr.org > >>> Subject: Re: [antlr-interest] Removing output=AST lets ANTLR fail to > >>> generate > >>> > >>>> As I understand it, you are creating a grammar and then remove > >>>> output=AST > >>> I created a combined grammar that contains operators and rewrite rules. > >>> When I then remove the option "output=AST", the grammar is not > >>> generated due to syntax errors. These syntax errors result from the > >>> operators and rewrite rules. You can reproduce it with any > >>> corresponding grammar you like. > >>> > >>> Christian > >>> > >>> Am 10.11.2011 18:33, schrieb Eric: > >>>> I don't believe that anyone here is avoiding your question. I my self > >>>> am unable to directly answer your question because it does not make > >>>> sense to me. As I understand it, you are creating a grammar and then > >>>> remove output=AST. Since you are expecting a lexer and parser as > >>>> output, I must take it that you are using a combined grammar. Based > >>>> on the limited info given I see no reason why you are not getting an > >>>> lexer and parser. If you were to post your grammar and the steps you > >>>> take, someone here might spot something needing advise. > >>>> > >>>> Eric > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > >>>> > Hi community, > >>>> > > >>>> > it seems that ANTLR cannot generate the lexer and parser if > >>>> output=AST > >>>> > is removed, but the operators and rewrite rules are still left > >>>> in the > >>>> > grammar. Am I right? If yes, that's really regrettable...and > >>>> unflexible. > >>>> > You could just ignore rewrite rules and operators, if output > != > >>> AST, > >>>> > couldn't you? > >>>> > > >>>> > Regards, > >>>> > Christian > >>>> > >>>> 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 > >> 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 > > List: http://www.antlr.org/mailman/listinfo/antlr-interest > Unsubscribe: > http://www.antlr.org/mailman/options/antlr-interest/your-email-address > After thinking about it, how I would like to see it implemented would be in ANTLRWorks. If you create a combined grammar that has lexer, parser, and AST rules, you could select an option to refactor the grammar into three separate grammar files. Eric 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 il-antlr-inter...@googlegroups.com. To unsubscribe from this group, send email to il-antlr-interest+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/il-antlr-interest?hl=en.