[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