[antlr-interest] [v3] parser rules are final

Terence Parr parrt at cs.usfca.edu
Fri Jun 8 09:03:41 PDT 2007


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



More information about the antlr-interest mailing list