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? A bug within v3.4?

Ciao
Dieter


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-inter...@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.

Reply via email to