[antlr-interest] [v3] parser rules are final
Sven Efftinge
sven at efftinge.de
Fri Jun 8 13:34:30 PDT 2007
I've patched the template as you recommended.
Terence, maybe you like the idea of having a 'global' @init and @after ?
I mean something like an AOP around, which would be very helpful to
implement generic stuff (e.g. tracing).
thanks,
Sven
On Jun 8, 2007, at 18:03 , Terence Parr wrote:
>
> On Jun 8, 2007, at 2:38 AM, Johannes Luber wrote:
>
>> Wincent Colaiuta wrote:
>>> El 8/6/2007, a las 10:22, Sven Efftinge escribió:
>>>
>>>> 2nd Question:
>>>> Is there a way to say Antlr not to add the final keyword?
>>>
>>> ANTLR's output is generated using StringTemplate. If you dare,
>>> you could
>>> try tweaking the Java template to tailor the output as you
>>> desire, then
>>> rebuilding ANTLR. I believe this is the template that you'd need
>>> to modify:
>>>
>>> <http://fisheye2.cenqua.com/browse/antlr/src/org/antlr/codegen/
>>> templates/Java/Java.stg?r=3682>
>>>
>>>
>>> But I imagine it's a non-trivial task, and any change to the
>>> template
>>> could have unanticipated ripple effects, so is not to be taken
>>> lightly...
>>
>> It isn't necessary to rebuild ANTLR. The StringTemplate files are
>> entirely independent (with the exception of the data model) from
>> ANTLR.
>> I suppose that it is only necessary to find in Java.stg the template
>> which is responsible for the parser code and remove there the final
>> keyword. A simple search for final in Java.stg should show the
>> suitable one.
>
> Yep. Easy. Just delete final in one place and rerun antlr. no need
> to build. :)
>
> All code in antlr is generated with templates.
>
> Ter
>
--
Sven Efftinge
Am Sophienhof 33
24941 Flensburg
mail : sven at efftinge.de
fon : +49 176 21769757
web : http://www.efftinge.de
blog : http://effi-blog.blogspot.com
More information about the antlr-interest
mailing list