Re: [java2perl6] r98 committed - Tests pass successfully now....

[email protected] (Tim Bunce) Mon, 28 Sep 2009 10:37:15 +0100
Newsgroups perl.dbdi.dev
Message-ID <[email protected]>
On Sun, Sep 27, 2009 at 07:38:52PM +0000, [email protected] wrote:
> Revision: 98
> Author: cosimo.streppone
> Date: Sun Sep 27 12:37:52 2009
> Log: Tests pass successfully now.
> I think this is a bad hack, and probably doesn't make sense,
> as this file is probably autogenerated (?)

Yeap. It'll get blown away the next time it's rebuilt. That'll happen
if lib/Java/Javap/javap.grammar ever gets touched, because Makefile.PL
adds these rules to the Makefile:

    all :: lib/Java/Javap/Grammar.pm

    lib/Java/Javap/Grammar.pm: lib/Java/Javap/javap.grammar
            cd lib/Java/Javap && perl -MParse::RecDescent - javap.grammar Java::Javap::Grammar

We need to find a fix via the lib/Java/Javap/javap.grammar file.

Tim.

>  use vars qw($skip $AUTOLOAD  );
>  $skip = '\s*';
>
> @@ -3132,9 +3133,16 @@
>  					  q{comp_unit},
>  					  $tracelevel)
>  						if defined $::RD_TRACE;
> -		$item{q{comp_stmt(?)}} = $_tok;
> +
> +		# Not sure why this was failing, but it appears to be matching only 
> arrays
> +		#$item{q{comp_stmt(?)}} = $_tok;
> +
> +		# Assert comp_stmt result is array
> +		if (ref $_tok ne 'ARRAY') {
> +			Carp::croak "comp_stmt should match an array?";
> +		}
> +		$item{q{comp_stmt}} = $_tok->[0];
>  		push @item, $_tok;
> -
>
>
>  		Parse::RecDescent::_trace(q{Trying subrule: [comp_unit_decl]},