# # $Id: ZZClangOps.pl,v 1.5 2000/11/03 08:25:16 ajk Exp $ # # Generate ZZClangOps.java for clang operations $file = $ARGV[0]; $file = "ZZClangOps.java" if ($file eq ""); open F, ">$file" or die "Can't open file $file"; $rcsid = '$Id: ZZClangOps.pl,v 1.5 2000/11/03 08:25:16 ajk Exp $'; print F <[0]; @pars = split ' ',$_->[2]; $npars = @pars; my $ind = 1; my %pars = map {($_ => $ind++)} @pars; $_->[3] =~ s/\$P\((.*?)\)/(ctxt.paramAsCell(c.s("d.1", $pars{$1}, null)))/g; $_->[3] =~ s/\$CURS/ crs /g; $classes .= " /** $_->[2] */ static class $_->[0] implements ZZClangOp { public String name() { return \"$lcname\"; } $exec { /* if(params.length != $npars) throw new ZZError(\"Wrong number of params for $lcname, got \"+ params.length+\", was expecting $npars\"); */ $_->[3] } } "; push @arrays, " new $_->[0]() "; } $ja = join ",\n",@arrays; print F <