⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mkcollections.pl.in

📁 gcc的组建
💻 IN
字号:
#!@PERL@## mkcollections.pl - small perl script to convert GNU Classpath's#                    Collection classes into its own package for java 1.1## USAGE: mkcollections.pl <Destination-Path>## Copyright (C) 2000 Free Software Foundation, Inc.## This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2, or (at your option)# any later version.## This program is distributed in the hope that it will be useful,# but WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the# GNU General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; see the file COPYING.  If not, write to# the Free Software Foundation, 51 Franklin St, Fifth Floor,# Boston, MA  02110-1301  USAmy $destpath=pop || "gnu/java/util/collections";my $classpath="..";my @javalangclasses=qw(UnsupportedOperationException		       Comparable);my @javautilclasses=qw(AbstractCollection		       AbstractList		       AbstractMap		       AbstractSequentialList		       AbstractSet		       ArrayList		       Arrays		       BasicMapEntry		       List		       Collection		       Collections		       Comparator		       ConcurrentModificationException		       HashMap		       HashSet		       Hashtable		       Iterator		       LinkedList		       ListIterator		       Map		       NoSuchElementException		       Random		       Set		       SortedMap		       SortedSet		       TreeMap		       TreeSet		       Vector);my $destPkg = $destpath;$destPkg  =~ s!/!.!g;my %imports = ( "Collections" => [ "Enumeration" ],		"Hashtable" => [ "Dictionary", "Enumeration" ],		"Vector" => [ "Enumeration" ]);sub mymkdir ($)  {    my ($dir) = @_;    if ($dir =~ /^(.*)\/\w+$/)      {	$parentdir = "$1";	if (! (-d $parentdir))	  { 	    mymkdir ($parentdir);	  }      }    print "$dir";    mkdir ($dir, 0777);  }sub convert($$$) {    my ($file, $infile, $outfile) = @_;    open (INPUT, "<$infile") || die "Could not open ", $infile, " for reading\n";    my $dir = "$outfile";    $dir =~ /^(.*)\/\S+\.java$/ and	$dir = "$1";    if (! (-d $dir)) { 	mymkdir ($dir);     }     open (OUTPUT, ">$outfile") || die "Could not open ", $outfile, " for writing\n";    print OUTPUT <<'EOF';/* This file was converted from the GNU Classpath Project by a * perl script, written by Jochen Hoenicke <jochen\@gnu.org>. */EOF    while (<INPUT>) {	$_ = "package $destPkg;\n" if ($_ =~ /^package java.(lang|util);$/);	next if $_ =~ /^import java.io.Object.*putStream.*Field;$/;	next if $_ =~ /^import java.io.ObjectStreamField;$/;	for $clazz (@javalangclasses) {	    $_ =~ s/java.lang.$clazz/$clazz/g;	}	for $clazz (@javautilclasses) {	    $_ =~ s/java.util.$clazz/$clazz/g;	}	$_ =~ s/abstract (interface)/$1/g;	print OUTPUT $_;	if ($_ =~ /^package $destPkg;$/	    && exists $imports{$file}) {	    for $imp (@{$imports{$file}}) {		print OUTPUT "import java.util.$imp;\n";	    }	}    }    close (OUTPUT);    close (INPUT);}my $file;for $file (@javalangclasses) {    my $infile = "$classpath/java/lang/$file.java";    my $outfile = "$destpath/$file.java";    print "$outfile\n";    convert ($file, $infile, $outfile);}for $file (@javautilclasses) {    my $infile = "$classpath/java/util/$file.java";    my $outfile = "$destpath/$file.java";    print "$outfile\n";    convert ($file, $infile, $outfile);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -