Hi David, I think this is possible with rewrite rules, but it depends on how you structure you grammar:
e.g. Have lexer rules for STRING, INT, FLOAT so you could do things like expr: a=STRING '+' b=STRING -> ^(CONCATENATE a b) | a=number '+' b=number -> ^(PLUS a b) ; number: INT | FLOAT ; This is just a quick brain-dump but might give you hints in the right direction. Tilman Bender Student des Software Engineering Hochschule Heilbronn tben...@stud.hs-heilbronn.de Am 15.05.2009 um 05:38 schrieb David Jameson: > Is there any way to control the built-in tree generation (from an > initial parse phase) based on semantics of what is being parsed? > > As a simple example, if I see the expression > a + b > > then I want to produce > (PLUS a b) > or > (CONCATENATE a b) > > depending on whether a and b are numeric or string. > > > How can I do this with rewrite rules (for example)? Or do I have to > construct my own trees? > > > Thanks, > D > > 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-interest@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 -~----------~----~----~----~------~----~------~--~---
List: http://www.antlr.org/mailman/listinfo/antlr-interest Unsubscribe: http://www.antlr.org/mailman/options/antlr-interest/your-email-address