[antlr-interest] ANTLR v3.4 generates compiler errors (that v3.3 doesn't generate)
Pedro Francisco
pedrogfrancisco at gmail.com
Mon Apr 30 10:05:33 PDT 2012
Sorry for the poke but... any news on this? (getting "void =null;")...
On Mon, Oct 24, 2011 at 8:24 PM, Eric <researcher0x00 at gmail.com> wrote:
> On Mon, Oct 24, 2011 at 10:41 AM, Dieter Habelitz <
> dieter.habelitz at habelitz.com> wrote:
>
>> Hi folks,
>>
>> When feeding ANTLR 3.4 with my Java grammars it doesn't generate valid
>> Java sources (26 compiler errors) - with v3.3 everything is okay.
>>
>> Here's a snipped of the grammar that raises one of the problems:
>>
>> statement
>> : block
>> | assertStatement
>> | ifStatement
>> | forStatement
>> | [... and so on ...]
>> ;
>>
>> ifStatement
>> : IF parenthesizedExpression ifStat=statement
>> ( ELSE elseStat=statement -> ^(IF parenthesizedExpression $ifStat
>> $elseStat)
>> | -> ^(IF parenthesizedExpression $ifStat)
>> )
>> ;
>>
>> Amongst other things v3.4 generates the following code for the 'ELSE'
>> branch
>> of the rule 'ifStatement' (have a look at the local 'variable
>> declaration': void =null;):
>>
>> public final void synpred137_Java_fragment() throws RecognitionException
>> {
>> void =null;
>>
>> // [... some comments not relevant here ...]
>> {
>> match(input,ELSE,FOLLOW_ELSE_in_synpred137_Java9244); if
>> (state.failed) return ;
>>
>> pushFollow(FOLLOW_statement_in_synpred137_Java9248);
>> elseStat=statement();
>>
>> state._fsp--;
>> if (state.failed) return ;
>>
>> }
>>
>> }
>>
>> However, v3.3 generates the following code from the same grammar:
>>
>> public final void synpred137_Java_fragment() throws RecognitionException
>> {
>> JavaParser.statement_return elseStat = null;
>>
>>
>> // [... some comments not relevant here ...]
>> {
>> match(input,ELSE,FOLLOW_ELSE_in_synpred137_Java9244); if
>> (state.failed) return ;
>> pushFollow(FOLLOW_statement_in_synpred137_Java9248);
>> elseStat=statement();
>>
>> state._fsp--;
>> if (state.failed) return ;
>>
>> }
>> }
>>
>> The complete grammars can be found at ...
>>
>> http://www.habelitz.com/index.php?option=com_content&task=view&id=12&Itemid=8
>>
>> Any hints? Switch back to org.antlr.Tool 3.3
>
>
>
>
>> A bug within v3.4? Yes
>>
>
> Ter is aware of it but is holding off on fixing the bugs for org.antlr.Tool
> 3.4.
>
>
>>
More information about the antlr-interest
mailing list